|
|
Log in / Subscribe / Register

spi: Make SPI core to take care of fwnode assignment

From:  Andy Shevchenko <andriy.shevchenko-AT-linux.intel.com>
To:  Mark Brown <broonie-AT-kernel.org>, Varshini Rajendran <varshini.rajendran-AT-microchip.com>, Mikhail Kshevetskiy <mikhail.kshevetskiy-AT-iopsys.eu>, AngeloGioacchino Del Regno <angelogioacchino.delregno-AT-collabora.com>, Sunny Luo <sunny.luo-AT-amlogic.com>, Janne Grunau <j-AT-jannau.net>, Andy Shevchenko <andriy.shevchenko-AT-linux.intel.com>, Chin-Ting Kuo <chin-ting_kuo-AT-aspeedtech.com>, CL Wang <cl634-AT-andestech.com>, Manikandan Muralidharan <manikandan.m-AT-microchip.com>, David Lechner <dlechner-AT-baylibre.com>, Florian Fainelli <florian.fainelli-AT-broadcom.com>, Jonas Gorski <jonas.gorski-AT-gmail.com>, Hang Zhou <929513338-AT-qq.com>, Jun Guo <jun.guo-AT-cixtech.com>, Philipp Stanner <phasta-AT-kernel.org>, Charles Keepax <ckeepax-AT-opensource.cirrus.com>, Bartosz Golaszewski <brgl-AT-kernel.org>, Benoît Monin <benoit.monin-AT-bootlin.com>, Shiji Yang <yangshiji66-AT-outlook.com>, James Clark <james.clark-AT-linaro.org>, Jonathan Marek <jonathan-AT-marek.ca>, Carlos Song <carlos.song-AT-nxp.com>, Sakari Ailus <sakari.ailus-AT-linux.intel.com>, Huacai Chen <chenhuacai-AT-kernel.org>, Xianwei Zhao <xianwei.zhao-AT-amlogic.com>, Prajna Rajendra Kumar <prajna.rajendrakumar-AT-microchip.com>, Sergio Perez Gonzalez <sperezglz-AT-gmail.com>, Miquel Raynal <miquel.raynal-AT-bootlin.com>, Qianfeng Rong <rongqianfeng-AT-vivo.com>, Haibo Chen <haibo.chen-AT-nxp.com>, Gabor Juhos <j4g8y7-AT-gmail.com>, Md Sadre Alam <quic_mdalam-AT-quicinc.com>, Rosen Penev <rosenp-AT-gmail.com>, Luis de Arquer <luis.dearquer-AT-inertim.com>, Geert Uytterhoeven <geert+renesas-AT-glider.be>, Cosmin Tanislav <cosmin-gabriel.tanislav.xa-AT-renesas.com>, Tudor Ambarus <tudor.ambarus-AT-linaro.org>, Krzysztof Kozlowski <krzk-AT-kernel.org>, Longbin Li <looong.bin-AT-gmail.com>, Patrice Chotard <patrice.chotard-AT-foss.st.com>, Clément Le Goffic <clement.legoffic-AT-foss.st.com>, Alessandro Grassi <alessandro.grassi-AT-mailbox.org>, Chen-Yu Tsai <wens-AT-kernel.org>, Darshan R <rathod.darshan.0896-AT-gmail.com>, Aaron Kling <webgeek1234-AT-gmail.com>, Vishwaroop A <va-AT-nvidia.com>, Haixu Cui <quic_haixcui-AT-quicinc.com>, Darshan Rathod <darshanrathod475-AT-gmail.com>, linux-spi-AT-vger.kernel.org, linux-arm-kernel-AT-lists.infradead.org, linux-kernel-AT-vger.kernel.org, linux-amlogic-AT-lists.infradead.org, asahi-AT-lists.linux.dev, linux-aspeed-AT-lists.ozlabs.org, openbmc-AT-lists.ozlabs.org, linux-rpi-kernel-AT-lists.infradead.org, linux-sound-AT-vger.kernel.org, patches-AT-opensource.cirrus.com, imx-AT-lists.linux.dev, linux-arm-msm-AT-vger.kernel.org, linux-riscv-AT-lists.infradead.org, linux-mediatek-AT-lists.infradead.org, linux-rockchip-AT-lists.infradead.org, linux-renesas-soc-AT-vger.kernel.org, linux-samsung-soc-AT-vger.kernel.org, linux-stm32-AT-st-md-mailman.stormreply.com, linux-sunxi-AT-lists.linux.dev, linux-tegra-AT-vger.kernel.org, virtualization-AT-lists.linux.dev
Subject:  [PATCH v1 0/4] spi: Make SPI core to take care of fwnode assignment
Date:  Thu, 08 Jan 2026 21:23:37 +0100
Message-ID:  <20260108203004.3538449-1-andriy.shevchenko@linux.intel.com>
Cc:  Nicolas Ferre <nicolas.ferre-AT-microchip.com>, Alexandre Belloni <alexandre.belloni-AT-bootlin.com>, Claudiu Beznea <claudiu.beznea-AT-tuxon.dev>, Lorenzo Bianconi <lorenzo-AT-kernel.org>, Ray Liu <ray.liu-AT-airoha.com>, Sven Peter <sven-AT-kernel.org>, Neal Gompa <neal-AT-gompa.dev>, Cédric Le Goater <clg-AT-kaod.org>, Joel Stanley <joel-AT-jms.id.au>, Andrew Jeffery <andrew-AT-codeconstruct.com.au>, Ryan Wanner <ryan.wanner-AT-microchip.com>, Michael Hennerich <michael.hennerich-AT-analog.com>, Nuno Sá <nuno.sa-AT-analog.com>, Kamal Dasu <kamal.dasu-AT-broadcom.com>, Broadcom internal kernel review list <bcm-kernel-feedback-list-AT-broadcom.com>, Ray Jui <rjui-AT-broadcom.com>, Scott Branden <sbranden-AT-broadcom.com>, William Zhang <william.zhang-AT-broadcom.com>, Kursad Oney <kursad.oney-AT-broadcom.com>, Anand Gore <anand.gore-AT-broadcom.com>, Rafał Miłecki <rafal-AT-milecki.pl>, David Rhodes <david.rhodes-AT-cirrus.com>, Richard Fitzgerald <rf-AT-opensource.cirrus.com>, Vladimir Oltean <olteanv-AT-gmail.com>, Frank Li <Frank.Li-AT-nxp.com>, Jean-Marie Verdun <verdun-AT-hpe.com>, Nick Hawkins <nick.hawkins-AT-hpe.com>, Yang Shen <shenyang39-AT-huawei.com>, Shawn Guo <shawnguo-AT-kernel.org>, Sascha Hauer <s.hauer-AT-pengutronix.de>, Pengutronix Kernel Team <kernel-AT-pengutronix.de>, Fabio Estevam <festevam-AT-gmail.com>, Lixu Zhang <lixu.zhang-AT-intel.com>, Yinbo Zhu <zhuyinbo-AT-loongson.cn>, Neil Armstrong <neil.armstrong-AT-linaro.org>, Kevin Hilman <khilman-AT-baylibre.com>, Jerome Brunet <jbrunet-AT-baylibre.com>, Martin Blumenstingl <martin.blumenstingl-AT-googlemail.com>, Conor Dooley <conor.dooley-AT-microchip.com>, Daire McNamara <daire.mcnamara-AT-microchip.com>, Matthias Brugger <matthias.bgg-AT-gmail.com>, Avi Fishman <avifishman70-AT-gmail.com>, Tomer Maimon <tmaimon77-AT-gmail.com>, Tali Perry <tali.perry1-AT-gmail.com>, Patrick Venture <venture-AT-google.com>, Nancy Yuen <yuenn-AT-google.com>, Benjamin Fair <benjaminfair-AT-google.com>, Han Xu <han.xu-AT-nxp.com>, Yogesh Gaur <yogeshgaur.83-AT-gmail.com>, Linus Walleij <linusw-AT-kernel.org>, Daniel Mack <daniel-AT-zonque.org>, Haojian Zhuang <haojian.zhuang-AT-gmail.com>, Robert Jarzmik <robert.jarzmik-AT-free.fr>, Chris Packham <chris.packham-AT-alliedtelesis.co.nz>, Heiko Stuebner <heiko-AT-sntech.de>, Fabrizio Castro <fabrizio.castro.jz-AT-renesas.com>, Andi Shyti <andi.shyti-AT-kernel.org>, Alim Akhtar <alim.akhtar-AT-samsung.com>, Paul Walmsley <pjw-AT-kernel.org>, Samuel Holland <samuel.holland-AT-sifive.com>, Orson Zhai <orsonzhai-AT-gmail.com>, Baolin Wang <baolin.wang-AT-linux.alibaba.com>, Chunyan Zhang <zhang.lyra-AT-gmail.com>, Maxime Coquelin <mcoquelin.stm32-AT-gmail.com>, Alexandre Torgue <alexandre.torgue-AT-foss.st.com>, Alain Volmat <alain.volmat-AT-foss.st.com>, Jernej Skrabec <jernej.skrabec-AT-gmail.com>, Li-hao Kuo <lhjeff911-AT-gmail.com>, Masahisa Kojima <masahisa.kojima-AT-linaro.org>, Jassi Brar <jaswinder.singh-AT-linaro.org>, Laxman Dewangan <ldewangan-AT-nvidia.com>, Thierry Reding <thierry.reding-AT-gmail.com>, Jonathan Hunter <jonathanh-AT-nvidia.com>, Sowjanya Komatineni <skomatineni-AT-nvidia.com>, Kunihiko Hayashi <hayashi.kunihiko-AT-socionext.com>, Masami Hiramatsu <mhiramat-AT-kernel.org>, Jonathan Neuschäfer <j.neuschaefer-AT-gmx.net>, Michal Simek <michal.simek-AT-amd.com>, Max Filippov <jcmvbkbc-AT-gmail.com>
Archive-link:  Article

It seems all of the SPI drivers want to propagate fwnode (or of_node)
of the physical device to the SPI device. Make sure we don't duplicate
it over and over in each new driver (+2 in this cycle) by making core
to take care of that. Note, similar is done already by IIO and
I²C subsystems.

There is one noticeable and quite specific case that is taken care in
the first patch and would be nice to have a confirmation from Cirrus
that everything is okay. The rest is just a mechanical conversion.

Andy Shevchenko (4):
  spi: Propagate default fwnode to the SPI controller device
  spi: Drop duplicate of_node assignment
  spi: Drop duplicate fwnode assignment
  spi: Drop duplicate device_set_node() call

 drivers/spi/atmel-quadspi.c          | 1 -
 drivers/spi/spi-airoha-snfi.c        | 1 -
 drivers/spi/spi-altera-platform.c    | 2 --
 drivers/spi/spi-amlogic-spifc-a1.c   | 1 -
 drivers/spi/spi-amlogic-spisg.c      | 1 -
 drivers/spi/spi-apple.c              | 1 -
 drivers/spi/spi-ar934x.c             | 1 -
 drivers/spi/spi-armada-3700.c        | 4 +---
 drivers/spi/spi-aspeed-smc.c         | 1 -
 drivers/spi/spi-atcspi200.c          | 1 -
 drivers/spi/spi-ath79.c              | 1 -
 drivers/spi/spi-atmel.c              | 1 -
 drivers/spi/spi-axi-spi-engine.c     | 1 -
 drivers/spi/spi-bcm-qspi.c           | 1 -
 drivers/spi/spi-bcm2835.c            | 1 -
 drivers/spi/spi-bcm2835aux.c         | 1 -
 drivers/spi/spi-bcm63xx-hsspi.c      | 1 -
 drivers/spi/spi-bcm63xx.c            | 1 -
 drivers/spi/spi-bcmbca-hsspi.c       | 1 -
 drivers/spi/spi-cadence-quadspi.c    | 1 -
 drivers/spi/spi-cadence-xspi.c       | 1 -
 drivers/spi/spi-cadence.c            | 1 -
 drivers/spi/spi-cavium-octeon.c      | 1 -
 drivers/spi/spi-cavium-thunderx.c    | 1 -
 drivers/spi/spi-clps711x.c           | 1 -
 drivers/spi/spi-cs42l43.c            | 8 ++++++++
 drivers/spi/spi-davinci.c            | 1 -
 drivers/spi/spi-dln2.c               | 2 --
 drivers/spi/spi-dw-core.c            | 2 --
 drivers/spi/spi-ep93xx.c             | 1 -
 drivers/spi/spi-falcon.c             | 1 -
 drivers/spi/spi-fsl-dspi.c           | 1 -
 drivers/spi/spi-fsl-espi.c           | 1 -
 drivers/spi/spi-fsl-lib.c            | 1 -
 drivers/spi/spi-fsl-lpspi.c          | 1 -
 drivers/spi/spi-geni-qcom.c          | 1 -
 drivers/spi/spi-gpio.c               | 1 -
 drivers/spi/spi-gxp.c                | 1 -
 drivers/spi/spi-hisi-kunpeng.c       | 1 -
 drivers/spi/spi-img-spfi.c           | 1 -
 drivers/spi/spi-imx.c                | 1 -
 drivers/spi/spi-ingenic.c            | 1 -
 drivers/spi/spi-lantiq-ssc.c         | 1 -
 drivers/spi/spi-ljca.c               | 1 -
 drivers/spi/spi-loongson-core.c      | 1 -
 drivers/spi/spi-lp8841-rtc.c         | 1 -
 drivers/spi/spi-meson-spicc.c        | 1 -
 drivers/spi/spi-meson-spifc.c        | 1 -
 drivers/spi/spi-microchip-core-spi.c | 1 -
 drivers/spi/spi-mpc512x-psc.c        | 2 --
 drivers/spi/spi-mpc52xx-psc.c        | 2 --
 drivers/spi/spi-mpc52xx.c            | 1 -
 drivers/spi/spi-mpfs.c               | 1 -
 drivers/spi/spi-mt65xx.c             | 1 -
 drivers/spi/spi-mt7621.c             | 1 -
 drivers/spi/spi-mtk-nor.c            | 1 -
 drivers/spi/spi-mtk-snfi.c           | 1 -
 drivers/spi/spi-mux.c                | 1 -
 drivers/spi/spi-mxic.c               | 1 -
 drivers/spi/spi-npcm-fiu.c           | 1 -
 drivers/spi/spi-npcm-pspi.c          | 1 -
 drivers/spi/spi-nxp-fspi.c           | 2 --
 drivers/spi/spi-nxp-xspi.c           | 1 -
 drivers/spi/spi-oc-tiny.c            | 1 -
 drivers/spi/spi-orion.c              | 1 -
 drivers/spi/spi-pl022.c              | 1 -
 drivers/spi/spi-pxa2xx.c             | 2 --
 drivers/spi/spi-qcom-qspi.c          | 1 -
 drivers/spi/spi-qpic-snand.c         | 1 -
 drivers/spi/spi-qup.c                | 1 -
 drivers/spi/spi-rb4xx.c              | 1 -
 drivers/spi/spi-realtek-rtl-snand.c  | 1 -
 drivers/spi/spi-realtek-rtl.c        | 1 -
 drivers/spi/spi-rockchip-sfc.c       | 1 -
 drivers/spi/spi-rockchip.c           | 1 -
 drivers/spi/spi-rspi.c               | 1 -
 drivers/spi/spi-rzv2h-rspi.c         | 2 --
 drivers/spi/spi-rzv2m-csi.c          | 2 --
 drivers/spi/spi-s3c64xx.c            | 1 -
 drivers/spi/spi-sc18is602.c          | 2 --
 drivers/spi/spi-sg2044-nor.c         | 1 -
 drivers/spi/spi-sh-hspi.c            | 1 -
 drivers/spi/spi-sh-msiof.c           | 1 -
 drivers/spi/spi-sifive.c             | 1 -
 drivers/spi/spi-slave-mt27xx.c       | 1 -
 drivers/spi/spi-sn-f-ospi.c          | 1 -
 drivers/spi/spi-sprd-adi.c           | 1 -
 drivers/spi/spi-sprd.c               | 1 -
 drivers/spi/spi-stm32-ospi.c         | 1 -
 drivers/spi/spi-stm32-qspi.c         | 1 -
 drivers/spi/spi-stm32.c              | 1 -
 drivers/spi/spi-sun4i.c              | 1 -
 drivers/spi/spi-sun6i.c              | 1 -
 drivers/spi/spi-sunplus-sp7021.c     | 1 -
 drivers/spi/spi-synquacer.c          | 3 ---
 drivers/spi/spi-tegra114.c           | 1 -
 drivers/spi/spi-tegra20-sflash.c     | 1 -
 drivers/spi/spi-tegra20-slink.c      | 1 -
 drivers/spi/spi-tegra210-quad.c      | 1 -
 drivers/spi/spi-ti-qspi.c            | 1 -
 drivers/spi/spi-uniphier.c           | 1 -
 drivers/spi/spi-virtio.c             | 2 --
 drivers/spi/spi-wpcm-fiu.c           | 1 -
 drivers/spi/spi-xcomm.c              | 1 -
 drivers/spi/spi-xilinx.c             | 1 -
 drivers/spi/spi-xlp.c                | 1 -
 drivers/spi/spi-xtensa-xtfpga.c      | 1 -
 drivers/spi/spi.c                    | 3 +++
 108 files changed, 12 insertions(+), 121 deletions(-)

-- 
2.50.1




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds