Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

of/platform: Propagate firmware node by calling device_set_node()

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>

authored by

Andy Shevchenko and committed by
Rob Herring
0f8e5651 b6ca07fa

+3 -4
+3 -4
drivers/of/platform.c
··· 140 140 } 141 141 } 142 142 143 - dev->dev.of_node = of_node_get(np); 144 - dev->dev.fwnode = &np->fwnode; 143 + /* setup generic device info */ 144 + device_set_node(&dev->dev, of_fwnode_handle(np)); 145 145 dev->dev.parent = parent ? : &platform_bus; 146 146 147 147 if (bus_id) ··· 239 239 dev->dev.dma_mask = &dev->dev.coherent_dma_mask; 240 240 241 241 /* setup generic device info */ 242 - dev->dev.of_node = of_node_get(node); 243 - dev->dev.fwnode = &node->fwnode; 242 + device_set_node(&dev->dev, of_fwnode_handle(node)); 244 243 dev->dev.parent = parent ? : &platform_bus; 245 244 dev->dev.platform_data = platform_data; 246 245 if (bus_id)