summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2009-11-24 03:37:56 -0700
committerGrant Likely <grant.likely@secretlab.ca>2009-12-10 15:23:15 -0700
commit83f7a06eb479e2aeb83536e77a2cb14cc2285e32 (patch)
tree3f81f85739eaa781ee17213e5d2be086fb419ff3
parentf00abd94918c9780f9d2d961fc0e419c11457922 (diff)
downloadop-kernel-dev-83f7a06eb479e2aeb83536e77a2cb14cc2285e32.zip
op-kernel-dev-83f7a06eb479e2aeb83536e77a2cb14cc2285e32.tar.gz
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 189179a..e0f4c34 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,
return 1;
}
-static u64 __init dt_mem_next_cell(int s, cell_t **cellp)
-{
- cell_t *p = *cellp;
-
- *cellp = p + s;
- return of_read_number(p, s);
-}
-
static int __init early_init_dt_scan_memory(unsigned long node,
const char *uname, int depth, void *data)
{
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 78f65a4..048e3a3 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,
return 1;
}
-static u64 __init dt_mem_next_cell(int s, cell_t **cellp)
-{
- cell_t *p = *cellp;
-
- *cellp = p + s;
- return of_read_number(p, s);
-}
-
#ifdef CONFIG_PPC_PSERIES
/*
* Interpret the ibm,dynamic-memory property in the
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index be200be..ebce509 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,
return 1;
}
+u64 __init dt_mem_next_cell(int s, u32 **cellp)
+{
+ u32 *p = *cellp;
+
+ *cellp = p + s;
+ return of_read_number(p, s);
+}
+
/**
* unflatten_device_tree - create tree of device_nodes from flat blob
*
diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
index 828c3cd..d1a37e5 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,
extern int of_flat_dt_is_compatible(unsigned long node, const char *name);
extern unsigned long of_get_flat_dt_root(void);
extern void early_init_dt_check_for_initrd(unsigned long node);
+extern u64 dt_mem_next_cell(int s, u32 **cellp);
/* Early flat tree scan hooks */
extern int early_init_dt_scan_root(unsigned long node, const char *uname,
OpenPOWER on IntegriCloud