This is a note to let you know that I've just added the patch titled driver core: add a helper to setup both the of_node and fwnode of a device to the 5.4-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: driver-core-add-a-helper-to-setup-both-the-of_node-a.patch and it can be found in the queue-5.4 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. commit 4a8a6ce917c2bdc36f645e1e21fa17c1df3ee5f0 Author: Ioana Ciornei <ioana.ciornei@xxxxxxx> Date: Thu Jun 17 15:29:04 2021 +0300 driver core: add a helper to setup both the of_node and fwnode of a device [ Upstream commit 43e76d463c09a0272b84775bcc727c1eb8b384b2 ] There are many places where both the fwnode_handle and the of_node of a device need to be populated. Add a function which does both so that we have consistency. Suggested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Ioana Ciornei <ioana.ciornei@xxxxxxx> Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Stable-dep-of: a26cc2934331 ("drm/mipi-dsi: Set the fwnode for mipi_dsi_device") Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> diff --git a/drivers/base/core.c b/drivers/base/core.c index 1b016fdd1a750..f8e157ede44f8 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -3474,6 +3474,13 @@ void device_set_of_node_from_dev(struct device *dev, const struct device *dev2) } EXPORT_SYMBOL_GPL(device_set_of_node_from_dev); +void device_set_node(struct device *dev, struct fwnode_handle *fwnode) +{ + dev->fwnode = fwnode; + dev->of_node = to_of_node(fwnode); +} +EXPORT_SYMBOL_GPL(device_set_node); + int device_match_name(struct device *dev, const void *name) { return sysfs_streq(dev_name(dev), name); diff --git a/include/linux/device.h b/include/linux/device.h index 3414b5a67b466..d74275e2047a4 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -1528,6 +1528,7 @@ extern int device_online(struct device *dev); extern void set_primary_fwnode(struct device *dev, struct fwnode_handle *fwnode); extern void set_secondary_fwnode(struct device *dev, struct fwnode_handle *fwnode); void device_set_of_node_from_dev(struct device *dev, const struct device *dev2); +void device_set_node(struct device *dev, struct fwnode_handle *fwnode); static inline int dev_num_vf(struct device *dev) {