aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2009-11-24 05:37:56 -0500
committerGrant Likely <grant.likely@secretlab.ca>2009-12-10 17:23:15 -0500
commit83f7a06eb479e2aeb83536e77a2cb14cc2285e32 (patch)
tree3f81f85739eaa781ee17213e5d2be086fb419ff3
parentf00abd94918c9780f9d2d961fc0e419c11457922 (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.c8
-rw-r--r--arch/powerpc/kernel/prom.c8
-rw-r--r--drivers/of/fdt.c8
-rw-r--r--include/linux/of_fdt.h1
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
158static 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
166static int __init early_init_dt_scan_memory(unsigned long node, 158static 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
435static 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
435u64 __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,
72extern int of_flat_dt_is_compatible(unsigned long node, const char *name); 72extern int of_flat_dt_is_compatible(unsigned long node, const char *name);
73extern unsigned long of_get_flat_dt_root(void); 73extern unsigned long of_get_flat_dt_root(void);
74extern void early_init_dt_check_for_initrd(unsigned long node); 74extern void early_init_dt_check_for_initrd(unsigned long node);
75extern u64 dt_mem_next_cell(int s, u32 **cellp);
75 76
76/* Early flat tree scan hooks */ 77/* Early flat tree scan hooks */
77extern int early_init_dt_scan_root(unsigned long node, const char *uname, 78extern int early_init_dt_scan_root(unsigned long node, const char *uname,