mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
dm: Add dm_scan_other() to locate board-specific devices
Some boards will have devices which are not in the device tree and do not have platform data. They may be programnatically created, for example. Add a hook which boards can use to bind those devices early in boot. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
9b0ba067f9
commit
bb58503d80
2 changed files with 21 additions and 0 deletions
|
@ -108,6 +108,11 @@ int dm_scan_fdt(const void *blob, bool pre_reloc_only)
|
|||
}
|
||||
#endif
|
||||
|
||||
__weak int dm_scan_other(bool pre_reloc_only)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int dm_init_and_scan(bool pre_reloc_only)
|
||||
{
|
||||
int ret;
|
||||
|
@ -129,6 +134,9 @@ int dm_init_and_scan(bool pre_reloc_only)
|
|||
return ret;
|
||||
}
|
||||
#endif
|
||||
ret = dm_scan_other(pre_reloc_only);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -61,6 +61,19 @@ int dm_scan_fdt(const void *blob, bool pre_reloc_only);
|
|||
int dm_scan_fdt_node(struct udevice *parent, const void *blob, int offset,
|
||||
bool pre_reloc_only);
|
||||
|
||||
/**
|
||||
* dm_scan_other() - Scan for other devices
|
||||
*
|
||||
* Some devices may not be visible to Driver Model. This weak function can
|
||||
* be provided by boards which wish to create their own devices
|
||||
* programmaticaly. They should do this by calling device_bind() on each
|
||||
* device.
|
||||
*
|
||||
* @pre_reloc_only: If true, bind only drivers with the DM_FLAG_PRE_RELOC
|
||||
* flag. If false bind all drivers.
|
||||
*/
|
||||
int dm_scan_other(bool pre_reloc_only);
|
||||
|
||||
/**
|
||||
* dm_init_and_scan() - Initialise Driver Model structures and scan for devices
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue