OSDN Git Service

of/platform: Propagate firmware node by calling device_set_node()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 15 Jun 2023 14:52:43 +0000 (17:52 +0300)
committerRob Herring <robh@kernel.org>
Thu, 15 Jun 2023 16:48:19 +0000 (10:48 -0600)
Insulate of_device_alloc() and of_amba_device_create() from possible
changes to fwnode_handle implementation by using device_set_node()
instead of open-coding dev->dev.fwnode assignments.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230615145243.37095-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/platform.c

index 78ae841..051e29b 100644 (file)
@@ -140,8 +140,8 @@ struct platform_device *of_device_alloc(struct device_node *np,
                }
        }
 
-       dev->dev.of_node = of_node_get(np);
-       dev->dev.fwnode = &np->fwnode;
+       /* setup generic device info */
+       device_set_node(&dev->dev, of_fwnode_handle(np));
        dev->dev.parent = parent ? : &platform_bus;
 
        if (bus_id)
@@ -239,8 +239,7 @@ static struct amba_device *of_amba_device_create(struct device_node *node,
        dev->dev.dma_mask = &dev->dev.coherent_dma_mask;
 
        /* setup generic device info */
-       dev->dev.of_node = of_node_get(node);
-       dev->dev.fwnode = &node->fwnode;
+       device_set_node(&dev->dev, of_fwnode_handle(node));
        dev->dev.parent = parent ? : &platform_bus;
        dev->dev.platform_data = platform_data;
        if (bus_id)