From nobody Sun Feb 8 05:07:39 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 030E333C50F; Mon, 12 Jan 2026 20:36:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768250165; cv=none; b=Fc0q578VY+hQ26okyMZ0JCLnjMh3ogXWbPolEnqOWvAQNhtjdkA0b74ATnO7mUY7va7K1xVA+507ixb2vcvFHo/xZfw8onu44JPadTLrL2ztvh1Mpc+2KjXYkKiu8vDyQEaIyqX90vQgAjg1NKGuXy06pJri9X1XtVo0yXhf5ec= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768250165; c=relaxed/simple; bh=qUj8niNVfX9+vDdYMcQmMtutkkFc8vAbK8eRfRuvapk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=LBFtuJ+a5wThjSovKE7Rax4kS3PErC70nWpKD4ai84j1jzIdaaGzq1Ovt/zf5GOp+B/6AFr8dE0nRXlejvRVKUUcidx22F80gA0/B9Q8jSrh5NuGgy0fEArfG0HSqpSLJ/z4wJwyT5ccZJTnRfbV1BzV0Co5MlYSA3A1LAx9RQs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=ZCUwE37w; arc=none smtp.client-ip=198.175.65.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="ZCUwE37w" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1768250163; x=1799786163; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=qUj8niNVfX9+vDdYMcQmMtutkkFc8vAbK8eRfRuvapk=; b=ZCUwE37w0DyAg6/SuoSndUuDCrdiTEHJ9MfGHuJblFQdhBWxXx8FVSh0 qb/FKGFz0dUUIXy3aP9DUsP4v7fUL5orfnd2+BUgvID8fpeEbdqo21yHT B2hr2hKPZUMOtvhJSxVHfSBYuQtTlCejkNSJ5uCvSBvcs+kW1pF7TzpGK GQj2IoY2oo31fhWxPagCT37+fr3j6G1HhH406TBEEf6d1KB5Ss7B0iyb5 YX/fEhq7ALmrwy2qRCBkigXhJxP1mPQ89TWq2ug2hFXFVZuPi9edXeJkV KQzL1LFX+bu2TbRPXQk2RjMJQVkHfhFPY6eg0hL2ww2nXvXEfgqq1NB/K w==; X-CSE-ConnectionGUID: I6YCc/NMTNqvF3/aMycZBA== X-CSE-MsgGUID: RvC0VqROR7m/nIRUcM/igQ== X-IronPort-AV: E=McAfee;i="6800,10657,11669"; a="69515953" X-IronPort-AV: E=Sophos;i="6.21,221,1763452800"; d="scan'208";a="69515953" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2026 12:36:02 -0800 X-CSE-ConnectionGUID: KbqM50wVTBi9mkZFufPllA== X-CSE-MsgGUID: EmIaMJEFQ0yXjAOlv7xnIQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,221,1763452800"; d="scan'208";a="209262148" Received: from black.igk.intel.com ([10.91.253.5]) by orviesa005.jf.intel.com with ESMTP; 12 Jan 2026 12:35:51 -0800 Received: by black.igk.intel.com (Postfix, from userid 1003) id 8AD1A9D; Mon, 12 Jan 2026 21:35:37 +0100 (CET) From: Andy Shevchenko To: Mark Brown , Varshini Rajendran , Mikhail Kshevetskiy , AngeloGioacchino Del Regno , Haotian Zhang , Sunny Luo , Janne Grunau , Andy Shevchenko , Martin Blumenstingl , Geert Uytterhoeven , Chen-Yu Tsai , Amelie Delaunay , Chin-Ting Kuo , CL Wang , Patrice Chotard , Heiko Stuebner , William Zhang , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Manikandan Muralidharan , David Lechner , Florian Fainelli , Jonas Gorski , Hang Zhou <929513338@qq.com>, Jun Guo , Philipp Stanner , Charles Keepax , Bartosz Golaszewski , =?UTF-8?q?Beno=C3=AEt=20Monin?= , Shiji Yang , James Clark , Jonathan Marek , Carlos Song , Sakari Ailus , Huacai Chen , Xianwei Zhao , Prajna Rajendra Kumar , Sergio Perez Gonzalez , Qianfeng Rong , Haibo Chen , Gabor Juhos , Md Sadre Alam , Rosen Penev , Marek Szyprowski , Luis de Arquer , Cosmin Tanislav , Tudor Ambarus , Krzysztof Kozlowski , Longbin Li , Kunihiko Hayashi , =?UTF-8?q?Cl=C3=A9ment=20Le=20Goffic?= , Alessandro Grassi , Darshan R , Aaron Kling , Vishwaroop A , Haixu Cui , Darshan Rathod , linux-spi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, asahi@lists.linux.dev, linux-aspeed@lists.ozlabs.org, openbmc@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-sound@vger.kernel.org, patches@opensource.cirrus.com, imx@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-riscv@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-renesas-soc@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, virtualization@lists.linux.dev Cc: Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Lorenzo Bianconi , Ray Liu , Sven Peter , Neal Gompa , Joel Stanley , Andrew Jeffery , Ryan Wanner , Michael Hennerich , =?UTF-8?q?Nuno=20S=C3=A1?= , Kamal Dasu , Broadcom internal kernel review list , Ray Jui , Scott Branden , Kursad Oney , Anand Gore , =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= , David Rhodes , Richard Fitzgerald , Vladimir Oltean , Frank Li , Jean-Marie Verdun , Nick Hawkins , Yang Shen , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Yinbo Zhu , Neil Armstrong , Kevin Hilman , Jerome Brunet , Conor Dooley , Daire McNamara , Matthias Brugger , Avi Fishman , Tomer Maimon , Tali Perry , Patrick Venture , Nancy Yuen , Benjamin Fair , Han Xu , Yogesh Gaur , Linus Walleij , Daniel Mack , Haojian Zhuang , Robert Jarzmik , Chris Packham , Fabrizio Castro , Andi Shyti , Alim Akhtar , Paul Walmsley , Samuel Holland , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue , Alain Volmat , Jernej Skrabec , Li-hao Kuo , Masahisa Kojima , Jassi Brar , Laxman Dewangan , Thierry Reding , Jonathan Hunter , Sowjanya Komatineni , Masami Hiramatsu , =?UTF-8?q?Jonathan=20Neusch=C3=A4fer?= , Michal Simek , Max Filippov Subject: [PATCH v2 4/4] spi: Drop duplicate device_set_node() call Date: Mon, 12 Jan 2026 21:21:26 +0100 Message-ID: <20260112203534.4186261-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260112203534.4186261-1-andriy.shevchenko@linux.intel.com> References: <20260112203534.4186261-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable The SPI core provides the default fwnode for the controller, assigned by device_set_node(). No need to repeat it in the driver. Tested-by: Beno=C3=AEt Monin # dw mobileye Reviewed-by: Geert Uytterhoeven # renesas Signed-off-by: Andy Shevchenko --- drivers/spi/spi-airoha-snfi.c | 1 - drivers/spi/spi-dln2.c | 3 --- drivers/spi/spi-dw-core.c | 2 -- drivers/spi/spi-ep93xx.c | 1 - drivers/spi/spi-gpio.c | 1 - drivers/spi/spi-ljca.c | 1 - drivers/spi/spi-loongson-core.c | 1 - drivers/spi/spi-mpc512x-psc.c | 2 -- drivers/spi/spi-mpc52xx-psc.c | 2 -- drivers/spi/spi-nxp-fspi.c | 2 -- drivers/spi/spi-pxa2xx.c | 2 -- drivers/spi/spi-realtek-rtl-snand.c | 1 - drivers/spi/spi-rzv2h-rspi.c | 2 -- drivers/spi/spi-rzv2m-csi.c | 2 -- drivers/spi/spi-sc18is602.c | 2 -- drivers/spi/spi-sunplus-sp7021.c | 1 - drivers/spi/spi-virtio.c | 2 -- 17 files changed, 28 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index 70327aebc26b..7b6c09f91fef 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -1124,7 +1124,6 @@ static int airoha_snand_probe(struct platform_device = *pdev) ctrl->bits_per_word_mask =3D SPI_BPW_MASK(8); ctrl->mode_bits =3D SPI_RX_DUAL; ctrl->setup =3D airoha_snand_setup; - device_set_node(&ctrl->dev, dev_fwnode(dev)); =20 err =3D airoha_snand_nfi_init(as_ctrl); if (err) diff --git a/drivers/spi/spi-dln2.c b/drivers/spi/spi-dln2.c index 2013bc56ded8..d90282960ab6 100644 --- a/drivers/spi/spi-dln2.c +++ b/drivers/spi/spi-dln2.c @@ -682,15 +682,12 @@ static int dln2_spi_probe(struct platform_device *pde= v) struct spi_controller *host; struct dln2_spi *dln2; struct dln2_platform_data *pdata =3D dev_get_platdata(&pdev->dev); - struct device *dev =3D &pdev->dev; int ret; =20 host =3D spi_alloc_host(&pdev->dev, sizeof(*dln2)); if (!host) return -ENOMEM; =20 - device_set_node(&host->dev, dev_fwnode(dev)); - platform_set_drvdata(pdev, host); =20 dln2 =3D spi_controller_get_devdata(host); diff --git a/drivers/spi/spi-dw-core.c b/drivers/spi/spi-dw-core.c index 9ebf244294f8..0d59c141beb0 100644 --- a/drivers/spi/spi-dw-core.c +++ b/drivers/spi/spi-dw-core.c @@ -936,8 +936,6 @@ int dw_spi_add_controller(struct device *dev, struct dw= _spi *dws) if (!ctlr) return -ENOMEM; =20 - device_set_node(&ctlr->dev, dev_fwnode(dev)); - dws->ctlr =3D ctlr; dws->dma_addr =3D (dma_addr_t)(dws->paddr + DW_SPI_DR); =20 diff --git a/drivers/spi/spi-ep93xx.c b/drivers/spi/spi-ep93xx.c index e1d097091925..90d5f3ea6508 100644 --- a/drivers/spi/spi-ep93xx.c +++ b/drivers/spi/spi-ep93xx.c @@ -689,7 +689,6 @@ static int ep93xx_spi_probe(struct platform_device *pde= v) /* make sure that the hardware is disabled */ writel(0, espi->mmio + SSPCR1); =20 - device_set_node(&host->dev, dev_fwnode(&pdev->dev)); error =3D devm_spi_register_controller(&pdev->dev, host); if (error) { dev_err(&pdev->dev, "failed to register SPI host\n"); diff --git a/drivers/spi/spi-gpio.c b/drivers/spi/spi-gpio.c index c8dadb532c40..072127a38fad 100644 --- a/drivers/spi/spi-gpio.c +++ b/drivers/spi/spi-gpio.c @@ -351,7 +351,6 @@ static int spi_gpio_probe(struct platform_device *pdev) return -ENOMEM; =20 if (fwnode) { - device_set_node(&host->dev, fwnode); host->use_gpio_descriptors =3D true; } else { status =3D spi_gpio_probe_pdata(pdev, host); diff --git a/drivers/spi/spi-ljca.c b/drivers/spi/spi-ljca.c index 3f412cf8f1cd..0c6e6248d8ba 100644 --- a/drivers/spi/spi-ljca.c +++ b/drivers/spi/spi-ljca.c @@ -238,7 +238,6 @@ static int ljca_spi_probe(struct auxiliary_device *auxd= ev, controller->auto_runtime_pm =3D false; controller->max_speed_hz =3D LJCA_SPI_BUS_MAX_HZ; =20 - device_set_node(&ljca_spi->controller->dev, dev_fwnode(&auxdev->dev)); auxiliary_set_drvdata(auxdev, controller); =20 ret =3D spi_register_controller(controller); diff --git a/drivers/spi/spi-loongson-core.c b/drivers/spi/spi-loongson-cor= e.c index b46f072a0387..f50423c3db4c 100644 --- a/drivers/spi/spi-loongson-core.c +++ b/drivers/spi/spi-loongson-core.c @@ -210,7 +210,6 @@ int loongson_spi_init_controller(struct device *dev, vo= id __iomem *regs) controller->unprepare_message =3D loongson_spi_unprepare_message; controller->set_cs =3D loongson_spi_set_cs; controller->num_chipselect =3D 4; - device_set_node(&controller->dev, dev_fwnode(dev)); dev_set_drvdata(dev, controller); =20 spi =3D spi_controller_get_devdata(controller); diff --git a/drivers/spi/spi-mpc512x-psc.c b/drivers/spi/spi-mpc512x-psc.c index 3c1638ba5bee..a1aeb5403a74 100644 --- a/drivers/spi/spi-mpc512x-psc.c +++ b/drivers/spi/spi-mpc512x-psc.c @@ -480,8 +480,6 @@ static int mpc512x_psc_spi_of_probe(struct platform_dev= ice *pdev) host->use_gpio_descriptors =3D true; host->cleanup =3D mpc512x_psc_spi_cleanup; =20 - device_set_node(&host->dev, dev_fwnode(dev)); - tempp =3D devm_platform_get_and_ioremap_resource(pdev, 0, NULL); if (IS_ERR(tempp)) return dev_err_probe(dev, PTR_ERR(tempp), "could not ioremap I/O port ra= nge\n"); diff --git a/drivers/spi/spi-mpc52xx-psc.c b/drivers/spi/spi-mpc52xx-psc.c index 3bbeb8d5bfb8..73d2383461ca 100644 --- a/drivers/spi/spi-mpc52xx-psc.c +++ b/drivers/spi/spi-mpc52xx-psc.c @@ -319,8 +319,6 @@ static int mpc52xx_psc_spi_of_probe(struct platform_dev= ice *pdev) host->transfer_one_message =3D mpc52xx_psc_spi_transfer_one_message; host->cleanup =3D mpc52xx_psc_spi_cleanup; =20 - device_set_node(&host->dev, dev_fwnode(dev)); - mps->psc =3D devm_platform_get_and_ioremap_resource(pdev, 0, NULL); if (IS_ERR(mps->psc)) return dev_err_probe(dev, PTR_ERR(mps->psc), "could not ioremap I/O port= range\n"); diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index 50a7e4916a60..320b3d93df57 100644 --- a/drivers/spi/spi-nxp-fspi.c +++ b/drivers/spi/spi-nxp-fspi.c @@ -1383,8 +1383,6 @@ static int nxp_fspi_probe(struct platform_device *pde= v) else ctlr->mem_caps =3D &nxp_fspi_mem_caps; =20 - device_set_node(&ctlr->dev, fwnode); - ret =3D devm_add_action_or_reset(dev, nxp_fspi_cleanup, f); if (ret) return ret; diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c index ec7117a94d5f..78c399e95ef2 100644 --- a/drivers/spi/spi-pxa2xx.c +++ b/drivers/spi/spi-pxa2xx.c @@ -1290,8 +1290,6 @@ int pxa2xx_spi_probe(struct device *dev, struct ssp_d= evice *ssp, drv_data->controller_info =3D platform_info; drv_data->ssp =3D ssp; =20 - device_set_node(&controller->dev, dev_fwnode(dev)); - /* The spi->mode bits understood by this driver: */ controller->mode_bits =3D SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP; =20 diff --git a/drivers/spi/spi-realtek-rtl-snand.c b/drivers/spi/spi-realtek-= rtl-snand.c index 741cf2af3e91..7d5853d202c6 100644 --- a/drivers/spi/spi-realtek-rtl-snand.c +++ b/drivers/spi/spi-realtek-rtl-snand.c @@ -400,7 +400,6 @@ static int rtl_snand_probe(struct platform_device *pdev) ctrl->mem_ops =3D &rtl_snand_mem_ops; ctrl->bits_per_word_mask =3D SPI_BPW_MASK(8); ctrl->mode_bits =3D SPI_RX_DUAL | SPI_RX_QUAD | SPI_TX_DUAL | SPI_TX_QUAD; - device_set_node(&ctrl->dev, dev_fwnode(dev)); =20 return devm_spi_register_controller(dev, ctrl); } diff --git a/drivers/spi/spi-rzv2h-rspi.c b/drivers/spi/spi-rzv2h-rspi.c index aae916882915..23f0e92ae208 100644 --- a/drivers/spi/spi-rzv2h-rspi.c +++ b/drivers/spi/spi-rzv2h-rspi.c @@ -797,8 +797,6 @@ static int rzv2h_rspi_probe(struct platform_device *pde= v) controller->dma_rx =3D NULL; } =20 - device_set_node(&controller->dev, dev_fwnode(dev)); - ret =3D devm_spi_register_controller(dev, controller); if (ret) dev_err(dev, "register controller failed\n"); diff --git a/drivers/spi/spi-rzv2m-csi.c b/drivers/spi/spi-rzv2m-csi.c index 7c0442883ac0..5d80939dddb5 100644 --- a/drivers/spi/spi-rzv2m-csi.c +++ b/drivers/spi/spi-rzv2m-csi.c @@ -634,8 +634,6 @@ static int rzv2m_csi_probe(struct platform_device *pdev) controller->use_gpio_descriptors =3D true; controller->target_abort =3D rzv2m_csi_target_abort; =20 - device_set_node(&controller->dev, dev_fwnode(dev)); - ret =3D devm_request_irq(dev, irq, rzv2m_csi_irq_handler, 0, dev_name(dev), csi); if (ret) diff --git a/drivers/spi/spi-sc18is602.c b/drivers/spi/spi-sc18is602.c index 1627aa66c965..78c558e7228e 100644 --- a/drivers/spi/spi-sc18is602.c +++ b/drivers/spi/spi-sc18is602.c @@ -251,8 +251,6 @@ static int sc18is602_probe(struct i2c_client *client) if (!host) return -ENOMEM; =20 - device_set_node(&host->dev, dev_fwnode(dev)); - hw =3D spi_controller_get_devdata(host); =20 /* assert reset and then release */ diff --git a/drivers/spi/spi-sunplus-sp7021.c b/drivers/spi/spi-sunplus-sp7= 021.c index 256ae07db6be..789b092fe8c0 100644 --- a/drivers/spi/spi-sunplus-sp7021.c +++ b/drivers/spi/spi-sunplus-sp7021.c @@ -419,7 +419,6 @@ static int sp7021_spi_controller_probe(struct platform_= device *pdev) ctlr =3D devm_spi_alloc_host(dev, sizeof(*pspim)); if (!ctlr) return -ENOMEM; - device_set_node(&ctlr->dev, dev_fwnode(dev)); ctlr->bus_num =3D pdev->id; ctlr->mode_bits =3D SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LSB_FIRST; ctlr->auto_runtime_pm =3D true; diff --git a/drivers/spi/spi-virtio.c b/drivers/spi/spi-virtio.c index 6aad9f1fd016..9e66c917fb75 100644 --- a/drivers/spi/spi-virtio.c +++ b/drivers/spi/spi-virtio.c @@ -344,8 +344,6 @@ static int virtio_spi_probe(struct virtio_device *vdev) priv->vdev =3D vdev; vdev->priv =3D priv; =20 - device_set_node(&ctrl->dev, dev_fwnode(&vdev->dev)); - dev_set_drvdata(&vdev->dev, ctrl); =20 virtio_spi_read_config(vdev); --=20 2.50.1