Re: [PATCH v1 4/4] driver core: Delete fw_devlink_purge_absent_suppliers()

Heikki Krogerus
2023-03-06T09:40:40Z

On Wed, Mar 01, 2023 at 01:49:51PM -0800, Saravana Kannan wrote:
> After recent changes to fw_devlink that ended with commit 4a032827daa8
> ("of: property: Simplify of_link_to_phandle()"), fw_devlink no longer
> cares about the "compatible" property and figures out the correct struct
> device at runtime.
>
> So, there's no need for any driver or framework to call
> fw_devlink_purge_absent_suppliers() anymore and we can delete it.
>
> Signed-off-by: Saravana Kannan <saravanak@google.com>

FWIW:

Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

> ---
> drivers/base/core.c | 16 ----------------
> include/linux/fwnode.h | 1 -
> 2 files changed, 17 deletions(-)
>
> diff --git a/drivers/base/core.c b/drivers/base/core.c
> index 6878dfcbf0d6..46364c4d1983 100644
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -186,22 +186,6 @@ void fwnode_links_purge(struct fwnode_handle *fwnode)
> fwnode_links_purge_consumers(fwnode);
> }
>
> -void fw_devlink_purge_absent_suppliers(struct fwnode_handle *fwnode)
> -{
> - struct fwnode_handle *child;
> -
> - /* Don't purge consumer links of an added child */
> - if (fwnode->dev)
> - return;
> -
> - fwnode->flags |= FWNODE_FLAG_NOT_DEVICE;
> - fwnode_links_purge_consumers(fwnode);
> -
> - fwnode_for_each_available_child_node(fwnode, child)
> - fw_devlink_purge_absent_suppliers(child);
> -}
> -EXPORT_SYMBOL_GPL(fw_devlink_purge_absent_suppliers);
> -
> /**
> * __fwnode_links_move_consumers - Move consumer from @from to @to fwnode_handle
> * @from: move consumers away from this fwnode
> diff --git a/include/linux/fwnode.h b/include/linux/fwnode.h
> index 5700451b300f..63972c863fcd 100644
> --- a/include/linux/fwnode.h
> +++ b/include/linux/fwnode.h
> @@ -210,6 +210,5 @@ static inline void fwnode_dev_initialized(struct fwnode_handle *fwnode,
> extern bool fw_devlink_is_strict(void);
> int fwnode_link_add(struct fwnode_handle *con, struct fwnode_handle *sup);
> void fwnode_links_purge(struct fwnode_handle *fwnode);
> -void fw_devlink_purge_absent_suppliers(struct fwnode_handle *fwnode);
>
> #endif
> --
> 2.39.2.722.g9855ee24e9-goog

--
heikki