dm: core: Allow finding children / uclasses by partial name

In some cases it is useful to search just by a partial name, such as
when looking for a sibling device that has a common name substring. Add
helper functions to handle these requirements.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2021-10-23 17:26:08 -06:00
parent 075bfc9575
commit 4b030177b6
4 changed files with 38 additions and 5 deletions

View File

@@ -758,6 +758,18 @@ int device_find_first_child_by_uclass(const struct udevice *parent,
enum uclass_id uclass_id,
struct udevice **devp);
/**
* device_find_child_by_name() - Find a child by device name
*
* @parent: Parent device to search
* @name: Name to look for
* @len: Length of the name
* @devp: Returns device found, if any
* @return 0 if found, else -ENODEV
*/
int device_find_child_by_namelen(const struct udevice *parent, const char *name,
int len, struct udevice **devp);
/**
* device_find_child_by_name() - Find a child by device name
*

View File

@@ -172,6 +172,15 @@ int uclass_get(enum uclass_id key, struct uclass **ucp);
*/
const char *uclass_get_name(enum uclass_id id);
/**
* uclass_get_by_name() - Look up a uclass by its driver name
*
* @name: Name to look up
* @len: Length of name
* @returns the associated uclass ID, or UCLASS_INVALID if not found
*/
enum uclass_id uclass_get_by_name_len(const char *name, int len);
/**
* uclass_get_by_name() - Look up a uclass by its driver name
*