arm: use early_init_dt_scan

Convert arm to use new early_init_dt_scan function.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org
This commit is contained in:
Rob Herring 2013-08-26 10:13:01 -05:00
parent ad81fcb530
commit 56dc1f474a

View File

@ -183,7 +183,6 @@ bool arch_match_cpu_phys_id(int cpu, u64 phys_id)
*/ */
const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys) const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
{ {
struct boot_param_header *devtree;
const struct machine_desc *mdesc, *mdesc_best = NULL; const struct machine_desc *mdesc, *mdesc_best = NULL;
unsigned int score, mdesc_score = ~1; unsigned int score, mdesc_score = ~1;
unsigned long dt_root; unsigned long dt_root;
@ -196,17 +195,11 @@ const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
mdesc_best = &__mach_desc_GENERIC_DT; mdesc_best = &__mach_desc_GENERIC_DT;
#endif #endif
if (!dt_phys) if (!dt_phys || !early_init_dt_scan(phys_to_virt(dt_phys)))
return NULL; return NULL;
devtree = phys_to_virt(dt_phys);
/* check device tree validity */
if (be32_to_cpu(devtree->magic) != OF_DT_HEADER)
return NULL;
/* Search the mdescs for the 'best' compatible value match */ /* Search the mdescs for the 'best' compatible value match */
initial_boot_params = devtree;
dt_root = of_get_flat_dt_root(); dt_root = of_get_flat_dt_root();
for_each_machine_desc(mdesc) { for_each_machine_desc(mdesc) {
score = of_flat_dt_match(dt_root, mdesc->dt_compat); score = of_flat_dt_match(dt_root, mdesc->dt_compat);
@ -240,13 +233,6 @@ const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
model = "<unknown>"; model = "<unknown>";
pr_info("Machine: %s, model: %s\n", mdesc_best->name, model); pr_info("Machine: %s, model: %s\n", mdesc_best->name, model);
/* Retrieve various information from the /chosen node */
of_scan_flat_dt(early_init_dt_scan_chosen, boot_command_line);
/* Initialize {size,address}-cells info */
of_scan_flat_dt(early_init_dt_scan_root, NULL);
/* Setup memory, calling early_init_dt_add_memory_arch */
of_scan_flat_dt(early_init_dt_scan_memory, NULL);
/* Change machine number to match the mdesc we're using */ /* Change machine number to match the mdesc we're using */
__machine_arch_type = mdesc_best->nr; __machine_arch_type = mdesc_best->nr;