Skip to content

Commit 8f7745f

Browse files
committed
spi: Make SPI core to take care of fwnode
Merge series from Andy Shevchenko <andriy.shevchenko@linux.intel.com>: 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 now we have a confirmation from Cirrus that everything is okay. The rest is just a mechanical conversion after checking that the parent device is assigned to the same that provides the respective fwnode. Changelog v2: - collected tags - fixed W=1 warning (unused variable) in spi-dln2.c (LKP) v1: 20260108203004.3538449-1-andriy.shevchenko@linux.intel.com 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 | 3 --- 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(+), 122 deletions(-) -- 2.50.1
2 parents 3495a5d + 37fbc1a commit 8f7745f

108 files changed

Lines changed: 12 additions & 122 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

drivers/spi/atmel-quadspi.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1382,7 +1382,6 @@ static int atmel_qspi_probe(struct platform_device *pdev)
13821382
ctrl->bus_num = -1;
13831383
ctrl->mem_ops = &atmel_qspi_mem_ops;
13841384
ctrl->num_chipselect = 1;
1385-
ctrl->dev.of_node = pdev->dev.of_node;
13861385
platform_set_drvdata(pdev, ctrl);
13871386

13881387
/* Map the registers */

drivers/spi/spi-airoha-snfi.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1124,7 +1124,6 @@ static int airoha_snand_probe(struct platform_device *pdev)
11241124
ctrl->bits_per_word_mask = SPI_BPW_MASK(8);
11251125
ctrl->mode_bits = SPI_RX_DUAL;
11261126
ctrl->setup = airoha_snand_setup;
1127-
device_set_node(&ctrl->dev, dev_fwnode(dev));
11281127

11291128
err = airoha_snand_nfi_init(as_ctrl);
11301129
if (err)

drivers/spi/spi-altera-platform.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,6 @@ static int altera_spi_probe(struct platform_device *pdev)
6767
host->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 16);
6868
}
6969

70-
host->dev.of_node = pdev->dev.of_node;
71-
7270
hw = spi_controller_get_devdata(host);
7371
hw->dev = &pdev->dev;
7472

drivers/spi/spi-amlogic-spifc-a1.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,6 @@ static int amlogic_spifc_a1_probe(struct platform_device *pdev)
358358
return ret;
359359

360360
ctrl->num_chipselect = 1;
361-
ctrl->dev.of_node = pdev->dev.of_node;
362361
ctrl->bits_per_word_mask = SPI_BPW_MASK(8);
363362
ctrl->auto_runtime_pm = true;
364363
ctrl->mem_ops = &amlogic_spifc_a1_mem_ops;

drivers/spi/spi-amlogic-spisg.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,6 @@ static int aml_spisg_probe(struct platform_device *pdev)
781781
pm_runtime_resume_and_get(&spisg->pdev->dev);
782782

783783
ctlr->num_chipselect = 4;
784-
ctlr->dev.of_node = pdev->dev.of_node;
785784
ctlr->mode_bits = SPI_CPHA | SPI_CPOL | SPI_LSB_FIRST |
786785
SPI_3WIRE | SPI_TX_QUAD | SPI_RX_QUAD;
787786
ctlr->max_speed_hz = 1000 * 1000 * 100;

drivers/spi/spi-apple.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,6 @@ static int apple_spi_probe(struct platform_device *pdev)
485485
if (ret)
486486
return dev_err_probe(&pdev->dev, ret, "Unable to bind to interrupt\n");
487487

488-
ctlr->dev.of_node = pdev->dev.of_node;
489488
ctlr->bus_num = pdev->id;
490489
ctlr->num_chipselect = 1;
491490
ctlr->mode_bits = SPI_CPHA | SPI_CPOL | SPI_LSB_FIRST;

drivers/spi/spi-ar934x.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,6 @@ static int ar934x_spi_probe(struct platform_device *pdev)
195195
ctlr->transfer_one_message = ar934x_spi_transfer_one_message;
196196
ctlr->bits_per_word_mask = SPI_BPW_MASK(32) | SPI_BPW_MASK(24) |
197197
SPI_BPW_MASK(16) | SPI_BPW_MASK(8);
198-
ctlr->dev.of_node = pdev->dev.of_node;
199198
ctlr->num_chipselect = 3;
200199

201200
dev_set_drvdata(&pdev->dev, ctlr);

drivers/spi/spi-armada-3700.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -813,7 +813,6 @@ MODULE_DEVICE_TABLE(of, a3700_spi_dt_ids);
813813
static int a3700_spi_probe(struct platform_device *pdev)
814814
{
815815
struct device *dev = &pdev->dev;
816-
struct device_node *of_node = dev->of_node;
817816
struct spi_controller *host;
818817
struct a3700_spi *spi;
819818
u32 num_cs = 0;
@@ -826,14 +825,13 @@ static int a3700_spi_probe(struct platform_device *pdev)
826825
goto out;
827826
}
828827

829-
if (of_property_read_u32(of_node, "num-cs", &num_cs)) {
828+
if (of_property_read_u32(dev->of_node, "num-cs", &num_cs)) {
830829
dev_err(dev, "could not find num-cs\n");
831830
ret = -ENXIO;
832831
goto error;
833832
}
834833

835834
host->bus_num = pdev->id;
836-
host->dev.of_node = of_node;
837835
host->mode_bits = SPI_MODE_3;
838836
host->num_chipselect = num_cs;
839837
host->bits_per_word_mask = SPI_BPW_MASK(8) | SPI_BPW_MASK(32);

drivers/spi/spi-aspeed-smc.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -898,7 +898,6 @@ static int aspeed_spi_probe(struct platform_device *pdev)
898898
ctlr->setup = aspeed_spi_setup;
899899
ctlr->cleanup = aspeed_spi_cleanup;
900900
ctlr->num_chipselect = of_get_available_child_count(dev->of_node);
901-
ctlr->dev.of_node = dev->of_node;
902901

903902
aspi->num_cs = ctlr->num_chipselect;
904903

drivers/spi/spi-atcspi200.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,6 @@ static void atcspi_init_controller(struct platform_device *pdev,
552552
/* Initialize controller properties */
553553
host->bus_num = pdev->id;
554554
host->mode_bits = SPI_CPOL | SPI_CPHA | SPI_RX_QUAD | SPI_TX_QUAD;
555-
host->dev.of_node = pdev->dev.of_node;
556555
host->num_chipselect = ATCSPI_MAX_CS_NUM;
557556
host->mem_ops = &atcspi_mem_ops;
558557
host->max_speed_hz = spi->sclk_rate;

0 commit comments

Comments
 (0)