diff options
author | Andres Salomon <dilinger@queued.net> | 2010-10-10 23:42:33 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2010-10-10 23:53:30 -0400 |
commit | 3cfc535c5df8122af1258ae05aaf2770c033425d (patch) | |
tree | c5643066e544df08a852742060da2edfd2f6400d /arch/sparc | |
parent | 9bdf6bab4ecfb6a8ca50c0c46f2365ef6c3e35b7 (diff) |
of/promtree: make drivers/of/pdt.c no longer sparc-only
Clean up pdt.c:
- make build dependent upon config OF_PROMTREE
- #ifdef out the sparc-specific stuff
- create pdt-specific header
Signed-off-by: Andres Salomon <dilinger@queued.net>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'arch/sparc')
-rw-r--r-- | arch/sparc/Kconfig | 1 | ||||
-rw-r--r-- | arch/sparc/include/asm/prom.h | 5 | ||||
-rw-r--r-- | arch/sparc/kernel/prom.h | 6 | ||||
-rw-r--r-- | arch/sparc/kernel/prom_common.c | 10 |
4 files changed, 13 insertions, 9 deletions
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 491e9d6de191..a06c9598c2ed 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
@@ -19,6 +19,7 @@ config SPARC | |||
19 | bool | 19 | bool |
20 | default y | 20 | default y |
21 | select OF | 21 | select OF |
22 | select OF_PROMTREE | ||
22 | select HAVE_IDE | 23 | select HAVE_IDE |
23 | select HAVE_OPROFILE | 24 | select HAVE_OPROFILE |
24 | select HAVE_ARCH_KGDB if !SMP || SPARC64 | 25 | select HAVE_ARCH_KGDB if !SMP || SPARC64 |
diff --git a/arch/sparc/include/asm/prom.h b/arch/sparc/include/asm/prom.h index 291f12575edd..56bbaadef646 100644 --- a/arch/sparc/include/asm/prom.h +++ b/arch/sparc/include/asm/prom.h | |||
@@ -18,6 +18,7 @@ | |||
18 | * 2 of the License, or (at your option) any later version. | 18 | * 2 of the License, or (at your option) any later version. |
19 | */ | 19 | */ |
20 | #include <linux/types.h> | 20 | #include <linux/types.h> |
21 | #include <linux/of_pdt.h> | ||
21 | #include <linux/proc_fs.h> | 22 | #include <linux/proc_fs.h> |
22 | #include <linux/mutex.h> | 23 | #include <linux/mutex.h> |
23 | #include <asm/atomic.h> | 24 | #include <asm/atomic.h> |
@@ -67,8 +68,8 @@ extern struct device_node *of_console_device; | |||
67 | extern char *of_console_path; | 68 | extern char *of_console_path; |
68 | extern char *of_console_options; | 69 | extern char *of_console_options; |
69 | 70 | ||
70 | extern void (*prom_build_more)(struct device_node *dp, struct device_node ***nextp); | 71 | extern void irq_trans_init(struct device_node *dp); |
71 | extern char *build_full_name(struct device_node *dp); | 72 | extern char *build_path_component(struct device_node *dp); |
72 | 73 | ||
73 | #endif /* __KERNEL__ */ | 74 | #endif /* __KERNEL__ */ |
74 | #endif /* _SPARC_PROM_H */ | 75 | #endif /* _SPARC_PROM_H */ |
diff --git a/arch/sparc/kernel/prom.h b/arch/sparc/kernel/prom.h index eeb04a782ec8..cf5fe1c0b024 100644 --- a/arch/sparc/kernel/prom.h +++ b/arch/sparc/kernel/prom.h | |||
@@ -4,12 +4,6 @@ | |||
4 | #include <linux/spinlock.h> | 4 | #include <linux/spinlock.h> |
5 | #include <asm/prom.h> | 5 | #include <asm/prom.h> |
6 | 6 | ||
7 | extern void * prom_early_alloc(unsigned long size); | ||
8 | extern void irq_trans_init(struct device_node *dp); | ||
9 | |||
10 | extern unsigned int prom_unique_id; | ||
11 | |||
12 | extern char *build_path_component(struct device_node *dp); | ||
13 | extern void of_console_init(void); | 7 | extern void of_console_init(void); |
14 | 8 | ||
15 | extern unsigned int prom_early_allocated; | 9 | extern unsigned int prom_early_allocated; |
diff --git a/arch/sparc/kernel/prom_common.c b/arch/sparc/kernel/prom_common.c index 7b454f6413f7..fe84d56b7c5a 100644 --- a/arch/sparc/kernel/prom_common.c +++ b/arch/sparc/kernel/prom_common.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/mutex.h> | 20 | #include <linux/mutex.h> |
21 | #include <linux/slab.h> | 21 | #include <linux/slab.h> |
22 | #include <linux/of.h> | 22 | #include <linux/of.h> |
23 | #include <linux/of_pdt.h> | ||
23 | #include <asm/prom.h> | 24 | #include <asm/prom.h> |
24 | #include <asm/oplib.h> | 25 | #include <asm/oplib.h> |
25 | #include <asm/leon.h> | 26 | #include <asm/leon.h> |
@@ -119,4 +120,11 @@ EXPORT_SYMBOL(of_find_in_proplist); | |||
119 | 120 | ||
120 | unsigned int prom_early_allocated __initdata; | 121 | unsigned int prom_early_allocated __initdata; |
121 | 122 | ||
122 | #include "../../../drivers/of/pdt.c" | 123 | void __init prom_build_devicetree(void) |
124 | { | ||
125 | of_pdt_build_devicetree(prom_root_node); | ||
126 | of_console_init(); | ||
127 | |||
128 | pr_info("PROM: Built device tree with %u bytes of memory.\n", | ||
129 | prom_early_allocated); | ||
130 | } | ||