Skip to content
Snippets Groups Projects
Commit b3670531 authored by Simon Glass's avatar Simon Glass
Browse files

dm: core: Add a function to get a device's uclass ID


This is useful to check which uclass a device is in.

Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
Reviewed-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
parent 0118ce79
No related branches found
No related tags found
No related merge requests found
...@@ -438,3 +438,8 @@ ulong dev_get_of_data(struct udevice *dev) ...@@ -438,3 +438,8 @@ ulong dev_get_of_data(struct udevice *dev)
{ {
return dev->of_id->data; return dev->of_id->data;
} }
enum uclass_id device_get_uclass_id(struct udevice *dev)
{
return dev->uclass->uc_drv->id;
}
...@@ -245,6 +245,14 @@ struct udevice *dev_get_parent(struct udevice *child); ...@@ -245,6 +245,14 @@ struct udevice *dev_get_parent(struct udevice *child);
*/ */
ulong dev_get_of_data(struct udevice *dev); ulong dev_get_of_data(struct udevice *dev);
/*
* device_get_uclass_id() - return the uclass ID of a device
*
* @dev: Device to check
* @return uclass ID for the device
*/
enum uclass_id device_get_uclass_id(struct udevice *dev);
/** /**
* device_get_child() - Get the child of a device by index * device_get_child() - Get the child of a device by index
* *
......
...@@ -598,3 +598,14 @@ static int dm_test_uclass_before_ready(struct dm_test_state *dms) ...@@ -598,3 +598,14 @@ static int dm_test_uclass_before_ready(struct dm_test_state *dms)
} }
DM_TEST(dm_test_uclass_before_ready, 0); DM_TEST(dm_test_uclass_before_ready, 0);
static int dm_test_device_get_uclass_id(struct dm_test_state *dms)
{
struct udevice *dev;
ut_assertok(uclass_get_device(UCLASS_TEST, 0, &dev));
ut_asserteq(UCLASS_TEST, device_get_uclass_id(dev));
return 0;
}
DM_TEST(dm_test_device_get_uclass_id, DM_TESTF_SCAN_PDATA);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment