[PATCH v2 09/16] driver core: Use fwnode_for_each_child_node() instead

Sakari Ailus posted 16 patches 1 week ago
[PATCH v2 09/16] driver core: Use fwnode_for_each_child_node() instead
Posted by Sakari Ailus 1 week ago
fwnode_for_each_child_node() is now the same as
fwnode_for_each_available_child_node() on all backends (OF, ACPI and
swnode). In order to remove the available variants, switch the uses to
non-available variants.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/base/core.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index d22d6b23e758..4bffd347e2f9 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -185,7 +185,7 @@ void fw_devlink_purge_absent_suppliers(struct fwnode_handle *fwnode)
 	fwnode->flags |= FWNODE_FLAG_NOT_DEVICE;
 	fwnode_links_purge_consumers(fwnode);
 
-	fwnode_for_each_available_child_node(fwnode, child)
+	fwnode_for_each_child_node(fwnode, child)
 		fw_devlink_purge_absent_suppliers(child);
 }
 EXPORT_SYMBOL_GPL(fw_devlink_purge_absent_suppliers);
@@ -231,7 +231,7 @@ static void __fw_devlink_pickup_dangling_consumers(struct fwnode_handle *fwnode,
 	fwnode->flags |= FWNODE_FLAG_NOT_DEVICE;
 	__fwnode_links_move_consumers(fwnode, new_sup);
 
-	fwnode_for_each_available_child_node(fwnode, child)
+	fwnode_for_each_child_node(fwnode, child)
 		__fw_devlink_pickup_dangling_consumers(child, new_sup);
 }
 
@@ -1318,7 +1318,7 @@ void device_links_driver_bound(struct device *dev)
 
 		guard(mutex)(&fwnode_link_lock);
 
-		fwnode_for_each_available_child_node(dev->fwnode, child)
+		fwnode_for_each_child_node(dev->fwnode, child)
 			__fw_devlink_pickup_dangling_consumers(child,
 							       dev->fwnode);
 		__fw_devlink_link_to_consumers(dev);
@@ -1736,7 +1736,7 @@ static void fw_devlink_parse_fwtree(struct fwnode_handle *fwnode)
 
 	fw_devlink_parse_fwnode(fwnode);
 
-	while ((child = fwnode_get_next_available_child_node(fwnode, child)))
+	while ((child = fwnode_get_next_child_node(fwnode, child)))
 		fw_devlink_parse_fwtree(child);
 }
 
@@ -2309,7 +2309,7 @@ static void __fw_devlink_link_to_suppliers(struct device *dev,
 	 * case where the supplier is added before the consumer's parent device
 	 * (@dev).
 	 */
-	while ((child = fwnode_get_next_available_child_node(fwnode, child)))
+	while ((child = fwnode_get_next_child_node(fwnode, child)))
 		__fw_devlink_link_to_suppliers(dev, child);
 }
 
-- 
2.47.3
Re: [PATCH v2 09/16] driver core: Use fwnode_for_each_child_node() instead
Posted by Jonathan Cameron 2 days, 16 hours ago
On Wed, 24 Sep 2025 10:45:55 +0300
Sakari Ailus <sakari.ailus@linux.intel.com> wrote:

> fwnode_for_each_child_node() is now the same as
> fwnode_for_each_available_child_node() on all backends (OF, ACPI and
> swnode). In order to remove the available variants, switch the uses to
> non-available variants.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Re: [PATCH v2 09/16] driver core: Use fwnode_for_each_child_node() instead
Posted by Laurent Pinchart 1 week ago
On Wed, Sep 24, 2025 at 10:45:55AM +0300, Sakari Ailus wrote:
> fwnode_for_each_child_node() is now the same as
> fwnode_for_each_available_child_node() on all backends (OF, ACPI and
> swnode). In order to remove the available variants, switch the uses to
> non-available variants.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

> ---
>  drivers/base/core.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/base/core.c b/drivers/base/core.c
> index d22d6b23e758..4bffd347e2f9 100644
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -185,7 +185,7 @@ void fw_devlink_purge_absent_suppliers(struct fwnode_handle *fwnode)
>  	fwnode->flags |= FWNODE_FLAG_NOT_DEVICE;
>  	fwnode_links_purge_consumers(fwnode);
>  
> -	fwnode_for_each_available_child_node(fwnode, child)
> +	fwnode_for_each_child_node(fwnode, child)
>  		fw_devlink_purge_absent_suppliers(child);
>  }
>  EXPORT_SYMBOL_GPL(fw_devlink_purge_absent_suppliers);
> @@ -231,7 +231,7 @@ static void __fw_devlink_pickup_dangling_consumers(struct fwnode_handle *fwnode,
>  	fwnode->flags |= FWNODE_FLAG_NOT_DEVICE;
>  	__fwnode_links_move_consumers(fwnode, new_sup);
>  
> -	fwnode_for_each_available_child_node(fwnode, child)
> +	fwnode_for_each_child_node(fwnode, child)
>  		__fw_devlink_pickup_dangling_consumers(child, new_sup);
>  }
>  
> @@ -1318,7 +1318,7 @@ void device_links_driver_bound(struct device *dev)
>  
>  		guard(mutex)(&fwnode_link_lock);
>  
> -		fwnode_for_each_available_child_node(dev->fwnode, child)
> +		fwnode_for_each_child_node(dev->fwnode, child)
>  			__fw_devlink_pickup_dangling_consumers(child,
>  							       dev->fwnode);
>  		__fw_devlink_link_to_consumers(dev);
> @@ -1736,7 +1736,7 @@ static void fw_devlink_parse_fwtree(struct fwnode_handle *fwnode)
>  
>  	fw_devlink_parse_fwnode(fwnode);
>  
> -	while ((child = fwnode_get_next_available_child_node(fwnode, child)))
> +	while ((child = fwnode_get_next_child_node(fwnode, child)))
>  		fw_devlink_parse_fwtree(child);
>  }
>  
> @@ -2309,7 +2309,7 @@ static void __fw_devlink_link_to_suppliers(struct device *dev,
>  	 * case where the supplier is added before the consumer's parent device
>  	 * (@dev).
>  	 */
> -	while ((child = fwnode_get_next_available_child_node(fwnode, child)))
> +	while ((child = fwnode_get_next_child_node(fwnode, child)))
>  		__fw_devlink_link_to_suppliers(dev, child);
>  }
>  

-- 
Regards,

Laurent Pinchart