1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-10-26 16:13:55 +01:00

dm: Provide a function to scan child FDT nodes

At present only root nodes in the device tree are scanned for devices.
But some devices can have children. For example a SPI bus may have
several children for each of its chip selects.

Add a function which scans subnodes and binds devices for each one. This
can be used for the root node scan also, so change it.

A device can call this function in its bind() or probe() methods to bind
its children.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2014-07-23 06:55:18 -06:00
parent 0040b94429
commit 1ca7e2062b
9 changed files with 165 additions and 41 deletions

View File

@@ -45,6 +45,22 @@ int dm_scan_platdata(bool pre_reloc_only);
*/
int dm_scan_fdt(const void *blob, bool pre_reloc_only);
/**
* dm_scan_fdt_node() - Scan the device tree and bind drivers for a node
*
* This scans the subnodes of a device tree node and and creates a driver
* for each one.
*
* @parent: Parent device for the devices that will be created
* @blob: Pointer to device tree blob
* @offset: Offset of node to scan
* @pre_reloc_only: If true, bind only drivers with the DM_FLAG_PRE_RELOC
* flag. If false bind all drivers.
* @return 0 if OK, -ve on error
*/
int dm_scan_fdt_node(struct udevice *parent, const void *blob, int offset,
bool pre_reloc_only);
/**
* dm_init_and_scan() - Initialise Driver Model structures and scan for devices
*