dm: core: Drop device_get_by_driver_info()
authorSimon Glass <sjg@chromium.org>
Mon, 15 Mar 2021 04:25:25 +0000 (17:25 +1300)
committerSimon Glass <sjg@chromium.org>
Fri, 26 Mar 2021 04:03:08 +0000 (17:03 +1300)
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@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/core/device.c
include/dm/device.h
include/dm/platdata.h
test/dm/of_platdata.c

index e915b30..2399f6f 100644 (file)
@@ -811,21 +811,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;
index 5b8f27d..ca79605 100644 (file)
@@ -666,21 +666,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
  *
index 3821a56..4efb1df 100644 (file)
@@ -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
index 93ad572..d68c591 100644 (file)
@@ -142,8 +142,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;
@@ -155,18 +153,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));
                }
        }