summaryrefslogtreecommitdiffstats
path: root/include/dm
diff options
context:
space:
mode:
authorPrzemyslaw Marczak <p.marczak@samsung.com>2015-04-15 13:07:23 +0200
committerSimon Glass <sjg@chromium.org>2015-04-22 11:03:15 -0600
commitb7af1a2da767c0dd283ffce3d50efd36af32df14 (patch)
treecfbf4a091d602287ffd10cd15d5243ae79ce0fec /include/dm
parente0735a4c60577fafdaed71c5ef046f04b0f53f09 (diff)
downloadtalos-obmc-uboot-b7af1a2da767c0dd283ffce3d50efd36af32df14.tar.gz
talos-obmc-uboot-b7af1a2da767c0dd283ffce3d50efd36af32df14.zip
dm: core: uclass: add function: uclass_get_device_by_name()
This commit extends the driver model uclass's API by function: - uclass_get_device_by_name() And this function returns the device if: - uclass with given ID, exists, - device with exactly given name(dev->name), exists, - device probe, doesn't return an error. The returned device is activated and ready to use. Note: This function returns the first device, which name is equal to the given one. This means, that using this function you must assume, that the device name is unique in the given uclass's ID device list. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/dm')
-rw-r--r--include/dm/uclass.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/dm/uclass.h b/include/dm/uclass.h
index b271472618..66e0ea509c 100644
--- a/include/dm/uclass.h
+++ b/include/dm/uclass.h
@@ -130,6 +130,21 @@ int uclass_get(enum uclass_id key, struct uclass **ucp);
int uclass_get_device(enum uclass_id id, int index, struct udevice **devp);
/**
+ * uclass_get_device_by_name() - Get a uclass device by it's name
+ *
+ * This searches the devices in the uclass for one with the given name.
+ *
+ * The device is probed to activate it ready for use.
+ *
+ * @id: ID to look up
+ * @name: name of a device to get
+ * @devp: Returns pointer to device (the first one with the name)
+ * @return 0 if OK, -ve on error
+ */
+int uclass_get_device_by_name(enum uclass_id id, const char *name,
+ struct udevice **devp);
+
+/**
* uclass_get_device_by_seq() - Get a uclass device based on an ID and sequence
*
* If an active device has this sequence it will be returned. If there is no
OpenPOWER on IntegriCloud