mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-19 19:34:35 +00:00
dm: core: Rename and fix uclass_get_by_name_len()
It seems that namelen is more common in U-Boot. Rename this function to fit in better. Also fix a bug where it breaks the operation of uclass_get_by_name() and add a test. Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reported-by: Tim Harvey <tharvey@gateworks.com>
This commit is contained in:
parent
8565efd509
commit
6aa4fe3912
3 changed files with 9 additions and 6 deletions
|
@ -180,14 +180,15 @@ void uclass_set_priv(struct uclass *uc, void *priv)
|
||||||
uc->priv_ = priv;
|
uc->priv_ = priv;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum uclass_id uclass_get_by_name_len(const char *name, int len)
|
enum uclass_id uclass_get_by_namelen(const char *name, int len)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < UCLASS_COUNT; i++) {
|
for (i = 0; i < UCLASS_COUNT; i++) {
|
||||||
struct uclass_driver *uc_drv = lists_uclass_lookup(i);
|
struct uclass_driver *uc_drv = lists_uclass_lookup(i);
|
||||||
|
|
||||||
if (uc_drv && !strncmp(uc_drv->name, name, len))
|
if (uc_drv && !strncmp(uc_drv->name, name, len) &&
|
||||||
|
strlen(uc_drv->name) == len)
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,7 +197,7 @@ enum uclass_id uclass_get_by_name_len(const char *name, int len)
|
||||||
|
|
||||||
enum uclass_id uclass_get_by_name(const char *name)
|
enum uclass_id uclass_get_by_name(const char *name)
|
||||||
{
|
{
|
||||||
return uclass_get_by_name_len(name, strlen(name));
|
return uclass_get_by_namelen(name, strlen(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
int dev_get_uclass_index(struct udevice *dev, struct uclass **ucp)
|
int dev_get_uclass_index(struct udevice *dev, struct uclass **ucp)
|
||||||
|
|
|
@ -173,13 +173,13 @@ int uclass_get(enum uclass_id key, struct uclass **ucp);
|
||||||
const char *uclass_get_name(enum uclass_id id);
|
const char *uclass_get_name(enum uclass_id id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* uclass_get_by_name_len() - Look up a uclass by its partial driver name
|
* uclass_get_by_namelen() - Look up a uclass by its driver name
|
||||||
*
|
*
|
||||||
* @name: Name to look up
|
* @name: Name to look up
|
||||||
* @len: Length of the partial name
|
* @len: Length of @name (the uclass driver name must have the same length)
|
||||||
* Return: the associated uclass ID, or UCLASS_INVALID if not found
|
* Return: the associated uclass ID, or UCLASS_INVALID if not found
|
||||||
*/
|
*/
|
||||||
enum uclass_id uclass_get_by_name_len(const char *name, int len);
|
enum uclass_id uclass_get_by_namelen(const char *name, int len);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* uclass_get_by_name() - Look up a uclass by its driver name
|
* uclass_get_by_name() - Look up a uclass by its driver name
|
||||||
|
|
|
@ -1161,6 +1161,8 @@ static int dm_test_uclass_names(struct unit_test_state *uts)
|
||||||
ut_asserteq_str("test", uclass_get_name(UCLASS_TEST));
|
ut_asserteq_str("test", uclass_get_name(UCLASS_TEST));
|
||||||
ut_asserteq(UCLASS_TEST, uclass_get_by_name("test"));
|
ut_asserteq(UCLASS_TEST, uclass_get_by_name("test"));
|
||||||
|
|
||||||
|
ut_asserteq(UCLASS_SPI, uclass_get_by_name("spi"));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
DM_TEST(dm_test_uclass_names, UT_TESTF_SCAN_PDATA);
|
DM_TEST(dm_test_uclass_names, UT_TESTF_SCAN_PDATA);
|
||||||
|
|
Loading…
Add table
Reference in a new issue