aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/microblaze/kernel/prom.c5
-rw-r--r--arch/powerpc/kernel/prom.c12
-rw-r--r--drivers/of/fdt.c2
-rw-r--r--include/linux/of_fdt.h2
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
45void __init early_init_dt_scan_chosen_arch(unsigned long node)
46{
47 /* No Microblaze specific code here */
48}
49
50void __init early_init_dt_add_memory_arch(u64 base, u64 size) 45void __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
366void __init early_init_dt_scan_chosen_arch(unsigned long node) 366int __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);
73extern int of_flat_dt_is_compatible(unsigned long node, const char *name); 73extern int of_flat_dt_is_compatible(unsigned long node, const char *name);
74extern unsigned long of_get_flat_dt_root(void); 74extern unsigned long of_get_flat_dt_root(void);
75extern void early_init_dt_scan_chosen_arch(unsigned long node); 75
76extern int early_init_dt_scan_chosen(unsigned long node, const char *uname, 76extern int early_init_dt_scan_chosen(unsigned long node, const char *uname,
77 int depth, void *data); 77 int depth, void *data);
78extern void early_init_dt_check_for_initrd(unsigned long node); 78extern void early_init_dt_check_for_initrd(unsigned long node);