dm: core: Add a function to get a uclass name
authorSimon Glass <sjg@chromium.org>
Thu, 6 Oct 2016 02:42:13 +0000 (20:42 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Tue, 11 Oct 2016 03:55:33 +0000 (11:55 +0800)
It is useful in debug() statements to display the name of the uclass for a
device. Add a simple function to provide this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
drivers/core/uclass.c
include/dm/uclass.h

index de602ae..60610e5 100644 (file)
@@ -148,6 +148,15 @@ int uclass_get(enum uclass_id id, struct uclass **ucp)
        return 0;
 }
 
+const char *uclass_get_name(enum uclass_id id)
+{
+       struct uclass *uc;
+
+       if (uclass_get(id, &uc))
+               return NULL;
+       return uc->uc_drv->name;
+}
+
 int uclass_find_device(enum uclass_id id, int index, struct udevice **devp)
 {
        struct uclass *uc;
index 84f05bc..b583aa8 100644 (file)
@@ -118,6 +118,14 @@ struct uclass_driver {
  */
 int uclass_get(enum uclass_id key, struct uclass **ucp);
 
+/**
+ * uclass_get_name() - Get the name of a uclass driver
+ *
+ * @id: ID to look up
+ * @returns the name of the uclass driver for that ID, or NULL if none
+ */
+const char *uclass_get_name(enum uclass_id id);
+
 /**
  * uclass_get_device() - Get a uclass device based on an ID and index
  *