mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
dm: Support driver model prior to relocation
Initialise devices marked 'pre-reloc' and make them available prior to relocation. Note that this requires pre-reloc malloc() to be available. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -65,7 +65,8 @@ typedef struct global_data {
|
||||
struct global_data *new_gd; /* relocated global data */
|
||||
|
||||
#ifdef CONFIG_DM
|
||||
struct udevice *dm_root;/* Root instance for Driver Model */
|
||||
struct udevice *dm_root; /* Root instance for Driver Model */
|
||||
struct udevice *dm_root_f; /* Pre-relocation root instance */
|
||||
struct list_head uclass_root; /* Head of core tree */
|
||||
#endif
|
||||
|
||||
|
||||
@@ -44,6 +44,19 @@ int dm_scan_platdata(bool pre_reloc_only);
|
||||
*/
|
||||
int dm_scan_fdt(const void *blob, bool pre_reloc_only);
|
||||
|
||||
/**
|
||||
* dm_init_and_scan() - Initialise Driver Model structures and scan for devices
|
||||
*
|
||||
* This function initialises the roots of the driver tree and uclass trees,
|
||||
* then scans and binds available devices from platform data and the FDT.
|
||||
* This calls dm_init() to set up Driver Model structures.
|
||||
*
|
||||
* @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_init_and_scan(bool pre_reloc_only);
|
||||
|
||||
/**
|
||||
* dm_init() - Initialise Driver Model structures
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user