diff options
-rw-r--r-- | arch/microblaze/kernel/prom.c | 5 | ||||
-rw-r--r-- | arch/powerpc/kernel/prom.c | 12 | ||||
-rw-r--r-- | drivers/of/fdt.c | 2 | ||||
-rw-r--r-- | include/linux/of_fdt.h | 2 |
4 files changed, 11 insertions, 10 deletions
diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c index 427b13b4740f..bacbd3d41ec7 100644 --- a/arch/microblaze/kernel/prom.c +++ b/arch/microblaze/kernel/prom.c | |||
@@ -42,11 +42,6 @@ | |||
42 | #include <asm/sections.h> | 42 | #include <asm/sections.h> |
43 | #include <asm/pci-bridge.h> | 43 | #include <asm/pci-bridge.h> |
44 | 44 | ||
45 | void __init early_init_dt_scan_chosen_arch(unsigned long node) | ||
46 | { | ||
47 | /* No Microblaze specific code here */ | ||
48 | } | ||
49 | |||
50 | void __init early_init_dt_add_memory_arch(u64 base, u64 size) | 45 | void __init early_init_dt_add_memory_arch(u64 base, u64 size) |
51 | { | 46 | { |
52 | memblock_add(base, size); | 47 | memblock_add(base, size); |
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index fed9bf6187d1..e296aae63c60 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -363,10 +363,15 @@ static int __init early_init_dt_scan_cpus(unsigned long node, | |||
363 | return 0; | 363 | return 0; |
364 | } | 364 | } |
365 | 365 | ||
366 | void __init early_init_dt_scan_chosen_arch(unsigned long node) | 366 | int __init early_init_dt_scan_chosen_ppc(unsigned long node, const char *uname, |
367 | int depth, void *data) | ||
367 | { | 368 | { |
368 | unsigned long *lprop; | 369 | unsigned long *lprop; |
369 | 370 | ||
371 | /* Use common scan routine to determine if this is the chosen node */ | ||
372 | if (early_init_dt_scan_chosen(node, uname, depth, data) == 0) | ||
373 | return 0; | ||
374 | |||
370 | #ifdef CONFIG_PPC64 | 375 | #ifdef CONFIG_PPC64 |
371 | /* check if iommu is forced on or off */ | 376 | /* check if iommu is forced on or off */ |
372 | if (of_get_flat_dt_prop(node, "linux,iommu-off", NULL) != NULL) | 377 | if (of_get_flat_dt_prop(node, "linux,iommu-off", NULL) != NULL) |
@@ -398,6 +403,9 @@ void __init early_init_dt_scan_chosen_arch(unsigned long node) | |||
398 | if (lprop) | 403 | if (lprop) |
399 | crashk_res.end = crashk_res.start + *lprop - 1; | 404 | crashk_res.end = crashk_res.start + *lprop - 1; |
400 | #endif | 405 | #endif |
406 | |||
407 | /* break now */ | ||
408 | return 1; | ||
401 | } | 409 | } |
402 | 410 | ||
403 | #ifdef CONFIG_PPC_PSERIES | 411 | #ifdef CONFIG_PPC_PSERIES |
@@ -679,7 +687,7 @@ void __init early_init_devtree(void *params) | |||
679 | * device-tree, including the platform type, initrd location and | 687 | * device-tree, including the platform type, initrd location and |
680 | * size, TCE reserve, and more ... | 688 | * size, TCE reserve, and more ... |
681 | */ | 689 | */ |
682 | of_scan_flat_dt(early_init_dt_scan_chosen, NULL); | 690 | of_scan_flat_dt(early_init_dt_scan_chosen_ppc, NULL); |
683 | 691 | ||
684 | /* Scan memory nodes and rebuild MEMBLOCKs */ | 692 | /* Scan memory nodes and rebuild MEMBLOCKs */ |
685 | memblock_init(); | 693 | memblock_init(); |
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 65da5aec7552..c1360e02f921 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c | |||
@@ -533,8 +533,6 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname, | |||
533 | strlcpy(cmd_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE); | 533 | strlcpy(cmd_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE); |
534 | #endif /* CONFIG_CMDLINE */ | 534 | #endif /* CONFIG_CMDLINE */ |
535 | 535 | ||
536 | early_init_dt_scan_chosen_arch(node); | ||
537 | |||
538 | pr_debug("Command line is: %s\n", cmd_line); | 536 | pr_debug("Command line is: %s\n", cmd_line); |
539 | 537 | ||
540 | /* break now */ | 538 | /* break now */ |
diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h index 71e1a916d3fa..7bbf5b328438 100644 --- a/include/linux/of_fdt.h +++ b/include/linux/of_fdt.h | |||
@@ -72,7 +72,7 @@ extern void *of_get_flat_dt_prop(unsigned long node, const char *name, | |||
72 | unsigned long *size); | 72 | unsigned long *size); |
73 | extern int of_flat_dt_is_compatible(unsigned long node, const char *name); | 73 | extern int of_flat_dt_is_compatible(unsigned long node, const char *name); |
74 | extern unsigned long of_get_flat_dt_root(void); | 74 | extern unsigned long of_get_flat_dt_root(void); |
75 | extern void early_init_dt_scan_chosen_arch(unsigned long node); | 75 | |
76 | extern int early_init_dt_scan_chosen(unsigned long node, const char *uname, | 76 | extern int early_init_dt_scan_chosen(unsigned long node, const char *uname, |
77 | int depth, void *data); | 77 | int depth, void *data); |
78 | extern void early_init_dt_check_for_initrd(unsigned long node); | 78 | extern void early_init_dt_check_for_initrd(unsigned long node); |