[PATCH v3 15/42] dm: core: Drop device_get_by_driver_info()

Simon Glass sjg at chromium.org
Mon Feb 8 05:17:40 CET 2021


This function is now only used in a test. Drop it. Also drop
DM_DRVINFO_GET() which was the only purpose for having the function.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

Changes in v3:
- Drop DM_DRVINFO_GET() also

 drivers/core/device.c | 15 ---------------
 include/dm/device.h   | 15 ---------------
 include/dm/platdata.h | 15 ---------------
 test/dm/of_platdata.c |  7 ++-----
 4 files changed, 2 insertions(+), 50 deletions(-)

diff --git a/drivers/core/device.c b/drivers/core/device.c
index b75a87e60a4..4ca63d904e2 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -769,21 +769,6 @@ int device_get_global_by_ofnode(ofnode ofnode, struct udevice **devp)
 }
 
 #if CONFIG_IS_ENABLED(OF_PLATDATA)
-int device_get_by_driver_info(const struct driver_info *info,
-			      struct udevice **devp)
-{
-	struct driver_info *info_base =
-		ll_entry_start(struct driver_info, driver_info);
-	int idx = info - info_base;
-	struct driver_rt *drt = gd_dm_driver_rt() + idx;
-	struct udevice *dev;
-
-	dev = drt->dev;
-	*devp = NULL;
-
-	return device_get_device_tail(dev, dev ? 0 : -ENOENT, devp);
-}
-
 int device_get_by_driver_info_idx(uint idx, struct udevice **devp)
 {
 	struct driver_rt *drt = gd_dm_driver_rt() + idx;
diff --git a/include/dm/device.h b/include/dm/device.h
index 42b3895d5ed..b7208ab032b 100644
--- a/include/dm/device.h
+++ b/include/dm/device.h
@@ -653,21 +653,6 @@ int device_find_global_by_ofnode(ofnode node, struct udevice **devp);
  */
 int device_get_global_by_ofnode(ofnode node, struct udevice **devp);
 
-/**
- * device_get_by_driver_info() - Get a device based on driver_info
- *
- * Locates a device by its struct driver_info, by using its reference which
- * is updated during the bind process.
- *
- * The device is probed to activate it ready for use.
- *
- * @info: Struct driver_info
- * @devp: Returns pointer to device if found, otherwise this is set to NULL
- * @return 0 if OK, -ve on error
- */
-int device_get_by_driver_info(const struct driver_info *info,
-			      struct udevice **devp);
-
 /**
  * device_get_by_driver_info_idx() - Get a device based on driver_info index
  *
diff --git a/include/dm/platdata.h b/include/dm/platdata.h
index 3821a56f2ca..4efb1dfe12d 100644
--- a/include/dm/platdata.h
+++ b/include/dm/platdata.h
@@ -71,19 +71,4 @@ struct driver_rt {
 #define U_BOOT_DRVINFOS(__name)						\
 	ll_entry_declare_list(struct driver_info, __name, driver_info)
 
-/**
- * Get a pointer to a given device info given its name
- *
- * With the declaration U_BOOT_DRVINFO(name), DM_DRVINFO_GET(name) will return a
- * pointer to the struct driver_info created by that declaration.
- *
- * if OF_PLATDATA is enabled, from this it is possible to use the @dev member of
- * struct driver_info to find the device pointer itself.
- *
- * @__name: Driver name (C identifier, not a string. E.g. gpio7_at_ff7e0000)
- * @return struct driver_info * to the driver that created the device
- */
-#define DM_DRVINFO_GET(__name)						\
-	ll_entry_get(struct driver_info, __name, driver_info)
-
 #endif
diff --git a/test/dm/of_platdata.c b/test/dm/of_platdata.c
index f93a75b4481..0de4ab5dafa 100644
--- a/test/dm/of_platdata.c
+++ b/test/dm/of_platdata.c
@@ -141,8 +141,6 @@ static int find_driver_info(struct unit_test_state *uts, struct udevice *parent,
 /* Check that every device is recorded in its driver_info struct */
 static int dm_test_of_plat_dev(struct unit_test_state *uts)
 {
-	const struct driver_info *info =
-		ll_entry_start(struct driver_info, driver_info);
 	const int n_ents = ll_entry_count(struct driver_info, driver_info);
 	bool found[n_ents];
 	uint i;
@@ -154,18 +152,17 @@ static int dm_test_of_plat_dev(struct unit_test_state *uts)
 	/* Make sure that the driver entries without devices have no ->dev */
 	for (i = 0; i < n_ents; i++) {
 		const struct driver_rt *drt = gd_dm_driver_rt() + i;
-		const struct driver_info *entry = info + i;
 		struct udevice *dev;
 
 		if (found[i]) {
 			/* Make sure we can find it */
 			ut_assertnonnull(drt->dev);
-			ut_assertok(device_get_by_driver_info(entry, &dev));
+			ut_assertok(device_get_by_driver_info_idx(i, &dev));
 			ut_asserteq_ptr(dev, drt->dev);
 		} else {
 			ut_assertnull(drt->dev);
 			ut_asserteq(-ENOENT,
-				    device_get_by_driver_info(entry, &dev));
+				    device_get_by_driver_info_idx(i, &dev));
 		}
 	}
 
-- 
2.30.0.478.g8a0d178c01-goog



More information about the U-Boot mailing list