Thread (61 messages) 61 messages, 10 authors, 2025-07-22

Re: [PATCH v3 02/28] driver core: Rename get_dev_from_fwnode() wrapper to get_device_from_fwnode()

From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: 2025-07-02 18:17:27
Also in: imx, linux-acpi, linux-clk, linux-cxl, linux-devicetree, linux-i2c, linux-pci, linux-spi, lkml

On Fri, Jun 13, 2025 at 3:48 PM Herve Codina [off-list ref] wrote:
quoted hunk ↗ jump to hunk
get_dev_from_fwnode() calls get_device() and so it acquires a reference
on the device returned.

In order to be more obvious that this wrapper is a get_device() variant,
rename it to get_device_from_fwnode().

Suggested-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/lkml/CAGETcx97QjnjVR8Z5g0ndLHpK96hLd4aYSV=iEkKPNbNOccYmA@mail.gmail.com/ (local)
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Saravana Kannan <redacted>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
 drivers/base/core.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/base/core.c b/drivers/base/core.c
index cbc0099d8ef2..36ccee91ba9a 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1881,7 +1881,7 @@ static void fw_devlink_unblock_consumers(struct device *dev)
        device_links_write_unlock();
 }

-#define get_dev_from_fwnode(fwnode)    get_device((fwnode)->dev)
+#define get_device_from_fwnode(fwnode) get_device((fwnode)->dev)

 static bool fwnode_init_without_drv(struct fwnode_handle *fwnode)
 {
@@ -1891,7 +1891,7 @@ static bool fwnode_init_without_drv(struct fwnode_handle *fwnode)
        if (!(fwnode->flags & FWNODE_FLAG_INITIALIZED))
                return false;

-       dev = get_dev_from_fwnode(fwnode);
+       dev = get_device_from_fwnode(fwnode);
        ret = !dev || dev->links.status == DL_DEV_NO_DRIVER;
        put_device(dev);
@@ -1960,7 +1960,7 @@ static struct device *fwnode_get_next_parent_dev(const struct fwnode_handle *fwn
        struct device *dev;

        fwnode_for_each_parent_node(fwnode, parent) {
-               dev = get_dev_from_fwnode(parent);
+               dev = get_device_from_fwnode(parent);
                if (dev) {
                        fwnode_handle_put(parent);
                        return dev;
@@ -2016,8 +2016,8 @@ static bool __fw_devlink_relax_cycles(struct fwnode_handle *con_handle,
                goto out;
        }

-       sup_dev = get_dev_from_fwnode(sup_handle);
-       con_dev = get_dev_from_fwnode(con_handle);
+       sup_dev = get_device_from_fwnode(sup_handle);
+       con_dev = get_device_from_fwnode(con_handle);
        /*
         * If sup_dev is bound to a driver and @con hasn't started binding to a
         * driver, sup_dev can't be a consumer of @con. So, no need to check
@@ -2156,7 +2156,7 @@ static int fw_devlink_create_devlink(struct device *con,
        if (sup_handle->flags & FWNODE_FLAG_NOT_DEVICE)
                sup_dev = fwnode_get_next_parent_dev(sup_handle);
        else
-               sup_dev = get_dev_from_fwnode(sup_handle);
+               sup_dev = get_device_from_fwnode(sup_handle);

        if (sup_dev) {
                /*
@@ -2225,7 +2225,7 @@ static void __fw_devlink_link_to_consumers(struct device *dev)
                bool own_link = true;
                int ret;

-               con_dev = get_dev_from_fwnode(link->consumer);
+               con_dev = get_device_from_fwnode(link->consumer);
                /*
                 * If consumer device is not available yet, make a "proxy"
                 * SYNC_STATE_ONLY link from the consumer's parent device to
--
There are patches in flight that add new users of get_dev_from_fwnode(), see

https://lore.kernel.org/linux-pm/20250701114733.636510-1-ulf.hansson@linaro.org/T/#mc45a73769821cc520c35d8eb92d4bac75412bb7c (local)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help