mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-08-06 15:26:58 +02:00
dm: core: Enhance comments on bind_drivers_pass()
This part of driver model is a little subtle, so add some more comments to promote better understanding. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
7f65e69c81
commit
cb44201c71
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#define LOG_CATEGORY LOGC_DM
|
#define LOG_CATEGORY LOGC_DM
|
||||||
|
|
||||||
|
#include <debug_uart.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <log.h>
|
#include <log.h>
|
||||||
#include <dm/device.h>
|
#include <dm/device.h>
|
||||||
@ -50,6 +51,21 @@ struct uclass_driver *lists_uclass_lookup(enum uclass_id id)
|
|||||||
return NULL;
|
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)
|
static int bind_drivers_pass(struct udevice *parent, bool pre_reloc_only)
|
||||||
{
|
{
|
||||||
struct driver_info *info =
|
struct driver_info *info =
|
||||||
|
Loading…
Reference in New Issue
Block a user