summaryrefslogtreecommitdiff
path: root/include/dm/device.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-06-23 15:38:37 -0600
committerSimon Glass <sjg@chromium.org>2015-07-21 17:39:22 -0600
commit2693047acdcdae20b066715d0da4937814347935 (patch)
tree26da337c474cd8485f03b4088512fc832c0dd73a /include/dm/device.h
parent3039811e6584d55c6a330a7cf409f4dcea13ee31 (diff)
downloadu-boot-2693047acdcdae20b066715d0da4937814347935.tar.gz
u-boot-2693047acdcdae20b066715d0da4937814347935.tar.bz2
u-boot-2693047acdcdae20b066715d0da4937814347935.zip
dm: core: Add a function to find any device from device tree
In some rare cases it is useful to be able to locate a device given a device tree node offset. An example is when you have an alias that points to a node and you want to find the associated device. The device may be SPI, MMC or something else, but you don't need to know the uclass to find it. Add a function to do a global search for a device, given its device tree offset. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/dm/device.h')
-rw-r--r--include/dm/device.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/dm/device.h b/include/dm/device.h
index 18296bb686..9a94ee19d9 100644
--- a/include/dm/device.h
+++ b/include/dm/device.h
@@ -390,6 +390,20 @@ int device_get_child_by_of_offset(struct udevice *parent, int seq,
struct udevice **devp);
/**
+ * device_get_global_by_of_offset() - Get a device based on FDT offset
+ *
+ * Locates a device by its device tree offset, searching globally throughout
+ * the all driver model devices.
+ *
+ * The device is probed to activate it ready for use.
+ *
+ * @of_offset: Device tree offset to find
+ * @devp: Returns pointer to device if found, otherwise this is set to NULL
+ * @return 0 if OK, -ve on error
+ */
+int device_get_global_by_of_offset(int of_offset, struct udevice **devp);
+
+/**
* device_find_first_child() - Find the first child of a device
*
* @parent: Parent device to search