diff options
| author | Rasmus Villemoes <[email protected]> | 2023-04-13 17:17:03 +0200 |
|---|---|---|
| committer | Simon Glass <[email protected]> | 2023-04-28 11:48:59 -0600 |
| commit | ca031c082700631264d1e058f2f705438c2be8c2 (patch) | |
| tree | dae7ca73c20d0d4cc885d9bbc128224435f3a054 /drivers/core/uclass.c | |
| parent | 6ebb357a6a16fe4b61fae3866f80b967e8231f7e (diff) | |
dm: core: introduce uclass_get_device_by_of_path()
There's quite a few instances of board-specific code doing
off = fdt_path_offset(gd->fdt_blob, ...);
...
ret = uclass_get_device_by_of_offset(..., off, &dev);
looking for an eeprom or a pmic via some alias. Such code can be
simplified a little if we have a helper for directly getting a device
via device tree path (including being given as an alias).
Implement it in terms of ofnode rather than raw offsets so that this
will work whether live tree is enabled or not.
Signed-off-by: Rasmus Villemoes <[email protected]>
Diffstat (limited to 'drivers/core/uclass.c')
| -rw-r--r-- | drivers/core/uclass.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c index 009de74025b..e46d5717aa6 100644 --- a/drivers/core/uclass.c +++ b/drivers/core/uclass.c @@ -545,6 +545,12 @@ int uclass_get_device_by_ofnode(enum uclass_id id, ofnode node, } #if CONFIG_IS_ENABLED(OF_REAL) +int uclass_get_device_by_of_path(enum uclass_id id, const char *path, + struct udevice **devp) +{ + return uclass_get_device_by_ofnode(id, ofnode_path(path), devp); +} + int uclass_get_device_by_phandle_id(enum uclass_id id, uint phandle_id, struct udevice **devp) { |
