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

Saravana Kannan
2023-03-01T21:50:20Z

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>
---
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