dm: core: Drop device_get_by_driver_info()
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>
This commit is contained in:
parent
8813986dfd
commit
6ba46a0f21
@ -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;
|
||||
|
@ -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
|
||||
*
|
||||
|
@ -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
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user