diff options
author | Tom Rini <trini@konsulko.com> | 2024-07-04 09:25:51 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-07-04 09:25:51 -0600 |
commit | e24053d8fb42c909b470e33f19ac71fd718133ce (patch) | |
tree | b69fd2a2ee983403d9ea52b928632dbac3eaff03 /drivers/core/lists.c | |
parent | 0f073e022ddc5070e5df1d053e4bdc1874fbcc0f (diff) | |
parent | 4a8a54c3f4202482ec4f24a117afc38cf2c0c051 (diff) |
Merge patch series "testb: Various tweaks and fixes for Labgrid"
Simon Glass <sjg@chromium.org> says:
This series includes a number of mostly unrelated changes which are in
service of running U-Boot on a lab using Labgrid.
Diffstat (limited to 'drivers/core/lists.c')
-rw-r--r-- | drivers/core/lists.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/core/lists.c b/drivers/core/lists.c index bd0ab4f16c9..c7be504b6fc 100644 --- a/drivers/core/lists.c +++ b/drivers/core/lists.c @@ -8,6 +8,7 @@ #define LOG_CATEGORY LOGC_DM +#include <debug_uart.h> #include <errno.h> #include <log.h> #include <dm/device.h> @@ -50,6 +51,21 @@ struct uclass_driver *lists_uclass_lookup(enum uclass_id id) return NULL; } +/** + * bind_drivers_pass() - Perform a pass of driver binding + * + * Work through the driver_info records binding a driver for each one. If the + * binding fails, continue binding others, but return the error. + * + * For OF_PLATDATA we must bind parent devices before their children. So only + * children of bound parents are bound on each call to this function. When a + * child is left unbound, -EAGAIN is returned, indicating that this function + * should be called again + * + * @parent: Parent device to use when binding each child device + * Return: 0 if OK, -EAGAIN if unbound children exist, -ENOENT if there is no + * driver for one of the devices, other -ve on other error + */ static int bind_drivers_pass(struct udevice *parent, bool pre_reloc_only) { struct driver_info *info = |