diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2009-11-24 05:37:56 -0500 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2009-12-10 17:23:15 -0500 |
commit | 83f7a06eb479e2aeb83536e77a2cb14cc2285e32 (patch) | |
tree | 3f81f85739eaa781ee17213e5d2be086fb419ff3 | |
parent | f00abd94918c9780f9d2d961fc0e419c11457922 (diff) |
of/flattree: merge dt_mem_next_cell
Merge common code between PowerPC and Microblaze
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
-rw-r--r-- | arch/microblaze/kernel/prom.c | 8 | ||||
-rw-r--r-- | arch/powerpc/kernel/prom.c | 8 | ||||
-rw-r--r-- | drivers/of/fdt.c | 8 | ||||
-rw-r--r-- | include/linux/of_fdt.h | 1 |
4 files changed, 9 insertions, 16 deletions
diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c index 189179a9b554..e0f4c34ed0f2 100644 --- a/arch/microblaze/kernel/prom.c +++ b/arch/microblaze/kernel/prom.c | |||
@@ -155,14 +155,6 @@ static int __init early_init_dt_scan_chosen(unsigned long node, | |||
155 | return 1; | 155 | return 1; |
156 | } | 156 | } |
157 | 157 | ||
158 | static u64 __init dt_mem_next_cell(int s, cell_t **cellp) | ||
159 | { | ||
160 | cell_t *p = *cellp; | ||
161 | |||
162 | *cellp = p + s; | ||
163 | return of_read_number(p, s); | ||
164 | } | ||
165 | |||
166 | static int __init early_init_dt_scan_memory(unsigned long node, | 158 | static int __init early_init_dt_scan_memory(unsigned long node, |
167 | const char *uname, int depth, void *data) | 159 | const char *uname, int depth, void *data) |
168 | { | 160 | { |
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 78f65a4d8b03..048e3a3e9876 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -432,14 +432,6 @@ static int __init early_init_dt_scan_chosen(unsigned long node, | |||
432 | return 1; | 432 | return 1; |
433 | } | 433 | } |
434 | 434 | ||
435 | static u64 __init dt_mem_next_cell(int s, cell_t **cellp) | ||
436 | { | ||
437 | cell_t *p = *cellp; | ||
438 | |||
439 | *cellp = p + s; | ||
440 | return of_read_number(p, s); | ||
441 | } | ||
442 | |||
443 | #ifdef CONFIG_PPC_PSERIES | 435 | #ifdef CONFIG_PPC_PSERIES |
444 | /* | 436 | /* |
445 | * Interpret the ibm,dynamic-memory property in the | 437 | * Interpret the ibm,dynamic-memory property in the |
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index be200be47269..ebce509b0886 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c | |||
@@ -432,6 +432,14 @@ int __init early_init_dt_scan_root(unsigned long node, const char *uname, | |||
432 | return 1; | 432 | return 1; |
433 | } | 433 | } |
434 | 434 | ||
435 | u64 __init dt_mem_next_cell(int s, u32 **cellp) | ||
436 | { | ||
437 | u32 *p = *cellp; | ||
438 | |||
439 | *cellp = p + s; | ||
440 | return of_read_number(p, s); | ||
441 | } | ||
442 | |||
435 | /** | 443 | /** |
436 | * unflatten_device_tree - create tree of device_nodes from flat blob | 444 | * unflatten_device_tree - create tree of device_nodes from flat blob |
437 | * | 445 | * |
diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h index 828c3cdaea78..d1a37e56031e 100644 --- a/include/linux/of_fdt.h +++ b/include/linux/of_fdt.h | |||
@@ -72,6 +72,7 @@ extern void *of_get_flat_dt_prop(unsigned long node, const char *name, | |||
72 | extern int of_flat_dt_is_compatible(unsigned long node, const char *name); | 72 | extern int of_flat_dt_is_compatible(unsigned long node, const char *name); |
73 | extern unsigned long of_get_flat_dt_root(void); | 73 | extern unsigned long of_get_flat_dt_root(void); |
74 | extern void early_init_dt_check_for_initrd(unsigned long node); | 74 | extern void early_init_dt_check_for_initrd(unsigned long node); |
75 | extern u64 dt_mem_next_cell(int s, u32 **cellp); | ||
75 | 76 | ||
76 | /* Early flat tree scan hooks */ | 77 | /* Early flat tree scan hooks */ |
77 | extern int early_init_dt_scan_root(unsigned long node, const char *uname, | 78 | extern int early_init_dt_scan_root(unsigned long node, const char *uname, |