spi: dw: Propagate firmware node
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 22 Dec 2021 15:57:38 +0000 (17:57 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 23 Dec 2021 13:38:39 +0000 (13:38 +0000)
Propagate firmware node by using a specific API call, i.e. device_set_node().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Serge Semin <fancer.lancer@gmail.com>
Acked-by: Serge Semin <fancer.lancer@gmail.com>
Link: https://lore.kernel.org/r/20211222155739.7699-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-dw-core.c

index 934cc7a..ecea471 100644 (file)
@@ -895,6 +895,8 @@ int dw_spi_add_host(struct device *dev, struct dw_spi *dws)
        if (!master)
                return -ENOMEM;
 
+       device_set_node(&master->dev, dev_fwnode(dev));
+
        dws->master = master;
        dws->dma_addr = (dma_addr_t)(dws->paddr + DW_SPI_DR);
 
@@ -931,8 +933,6 @@ int dw_spi_add_host(struct device *dev, struct dw_spi *dws)
        if (dws->mem_ops.exec_op)
                master->mem_ops = &dws->mem_ops;
        master->max_speed_hz = dws->max_freq;
-       master->dev.of_node = dev->of_node;
-       master->dev.fwnode = dev->fwnode;
        master->flags = SPI_MASTER_GPIO_SS;
        master->auto_runtime_pm = true;