Commit 4972a74b authored by Laura Abbott's avatar Laura Abbott Committed by Grant Likely

of: Split early_init_dt_scan into two parts

Currently, early_init_dt_scan validates the header, sets the
boot params, and scans for chosen/memory all in one function.
Split this up into two separate functions (validation/setting
boot params in one, scanning in another) to allow for
additional setup between boot params and scanning the memory.
Signed-off-by: default avatarLaura Abbott <lauraa@codeaurora.org>
Tested-by: default avatarAndreas Färber <afaerber@suse.de>
[glikely: s/early_init_dt_scan_all/early_init_dt_scan_nodes/]
Signed-off-by: default avatarGrant Likely <grant.likely@linaro.org>
parent 64aa90f2
...@@ -937,7 +937,7 @@ int __init __weak early_init_dt_reserve_memory_arch(phys_addr_t base, ...@@ -937,7 +937,7 @@ int __init __weak early_init_dt_reserve_memory_arch(phys_addr_t base,
} }
#endif #endif
bool __init early_init_dt_scan(void *params) bool __init early_init_dt_verify(void *params)
{ {
if (!params) if (!params)
return false; return false;
...@@ -951,6 +951,12 @@ bool __init early_init_dt_scan(void *params) ...@@ -951,6 +951,12 @@ bool __init early_init_dt_scan(void *params)
return false; return false;
} }
return true;
}
void __init early_init_dt_scan_nodes(void)
{
/* Retrieve various information from the /chosen node */ /* Retrieve various information from the /chosen node */
of_scan_flat_dt(early_init_dt_scan_chosen, boot_command_line); of_scan_flat_dt(early_init_dt_scan_chosen, boot_command_line);
...@@ -959,7 +965,17 @@ bool __init early_init_dt_scan(void *params) ...@@ -959,7 +965,17 @@ bool __init early_init_dt_scan(void *params)
/* Setup memory, calling early_init_dt_add_memory_arch */ /* Setup memory, calling early_init_dt_add_memory_arch */
of_scan_flat_dt(early_init_dt_scan_memory, NULL); of_scan_flat_dt(early_init_dt_scan_memory, NULL);
}
bool __init early_init_dt_scan(void *params)
{
bool status;
status = early_init_dt_verify(params);
if (!status)
return false;
early_init_dt_scan_nodes();
return true; return true;
} }
......
...@@ -73,6 +73,8 @@ extern int early_init_dt_scan_root(unsigned long node, const char *uname, ...@@ -73,6 +73,8 @@ extern int early_init_dt_scan_root(unsigned long node, const char *uname,
int depth, void *data); int depth, void *data);
extern bool early_init_dt_scan(void *params); extern bool early_init_dt_scan(void *params);
extern bool early_init_dt_verify(void *params);
extern void early_init_dt_scan_nodes(void);
extern const char *of_flat_dt_get_machine_name(void); extern const char *of_flat_dt_get_machine_name(void);
extern const void *of_flat_dt_match_machine(const void *default_match, extern const void *of_flat_dt_match_machine(const void *default_match,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment