From: Grant Likely <grant.likely@secretlab.ca>
To: monstr@monstr.eu, sfr@canb.auug.org.au, benh@kernel.crashing.org,
jeremy.kerr@canonical.com, davem@davemloft.net,
microblaze-uclinux@itee.uq.edu.au, linuxppc-dev@ozlabs.org,
sparclinux@vger.kernel.org, devicetree-discuss@lists.ozlabs.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 4/9] of/flattree: Don't assume HAVE_LMB
Date: Sat, 13 Feb 2010 09:02:47 -0700 [thread overview]
Message-ID: <20100213160247.4767.74578.stgit@angua> (raw)
In-Reply-To: <20100213154838.4767.83881.stgit@angua>
From: Jeremy Kerr <jeremy.kerr@canonical.com>
We don't always have lmb available, so make arches provide an
early_init_dt_alloc_memory_arch() to handle the allocation of
memory in the fdt code.
When we don't have lmb.h included, we need asm/page.h for __va.
Signed-off-by: Jeremy Kerr <jeremy.kerr@canonical.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
---
arch/microblaze/kernel/prom.c | 5 +++++
arch/powerpc/kernel/prom.c | 5 +++++
drivers/of/fdt.c | 9 ++++++---
include/linux/of_fdt.h | 1 +
4 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c
index 050b799..a7dcaf0 100644
--- a/arch/microblaze/kernel/prom.c
+++ b/arch/microblaze/kernel/prom.c
@@ -55,6 +55,11 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
lmb_add(base, size);
}
+u64 __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
+{
+ return lmb_alloc(size, align);
+}
+
#ifdef CONFIG_EARLY_PRINTK
/* MS this is Microblaze specifig function */
static int __init early_init_dt_scan_serial(unsigned long node,
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 43c78d7..5bbbdb2 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -510,6 +510,11 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
memstart_addr = min((u64)memstart_addr, base);
}
+u64 __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
+{
+ return lmb_alloc(size, align);
+}
+
#ifdef CONFIG_BLK_DEV_INITRD
void __init early_init_dt_setup_initrd_arch(unsigned long start,
unsigned long end)
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index b51f797..406757a 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -10,16 +10,18 @@
*/
#include <linux/kernel.h>
-#include <linux/lmb.h>
#include <linux/initrd.h>
#include <linux/of.h>
#include <linux/of_fdt.h>
-
+#include <linux/string.h>
+#include <linux/errno.h>
#ifdef CONFIG_PPC
#include <asm/machdep.h>
#endif /* CONFIG_PPC */
+#include <asm/page.h>
+
int __initdata dt_root_addr_cells;
int __initdata dt_root_size_cells;
@@ -560,7 +562,8 @@ void __init unflatten_device_tree(void)
pr_debug(" size is %lx, allocating...\n", size);
/* Allocate memory for the expanded device tree */
- mem = lmb_alloc(size + 4, __alignof__(struct device_node));
+ mem = early_init_dt_alloc_memory_arch(size + 4,
+ __alignof__(struct device_node));
mem = (unsigned long) __va(mem);
((__be32 *)mem)[size / 4] = cpu_to_be32(0xdeadbeef);
diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
index c9cb8a7..a1ca92c 100644
--- a/include/linux/of_fdt.h
+++ b/include/linux/of_fdt.h
@@ -78,6 +78,7 @@ extern void early_init_dt_check_for_initrd(unsigned long node);
extern int early_init_dt_scan_memory(unsigned long node, const char *uname,
int depth, void *data);
extern void early_init_dt_add_memory_arch(u64 base, u64 size);
+extern u64 early_init_dt_alloc_memory_arch(u64 size, u64 align);
extern u64 dt_mem_next_cell(int s, __be32 **cellp);
/*
WARNING: multiple messages have this Message-ID (diff)
From: Grant Likely <grant.likely@secretlab.ca>
To: monstr@monstr.eu, sfr@canb.auug.org.au, benh@kernel.crashing.org,
jeremy.kerr@canonical.com, davem@davemloft.net,
microblaze-uclinux@itee.uq.edu.au, linuxppc-dev@ozlabs.org,
sparclinux@vger.kernel.org, devicetree-discuss@lists.ozlabs.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 4/9] of/flattree: Don't assume HAVE_LMB
Date: Sat, 13 Feb 2010 16:02:47 +0000 [thread overview]
Message-ID: <20100213160247.4767.74578.stgit@angua> (raw)
In-Reply-To: <20100213154838.4767.83881.stgit@angua>
From: Jeremy Kerr <jeremy.kerr@canonical.com>
We don't always have lmb available, so make arches provide an
early_init_dt_alloc_memory_arch() to handle the allocation of
memory in the fdt code.
When we don't have lmb.h included, we need asm/page.h for __va.
Signed-off-by: Jeremy Kerr <jeremy.kerr@canonical.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
---
arch/microblaze/kernel/prom.c | 5 +++++
arch/powerpc/kernel/prom.c | 5 +++++
drivers/of/fdt.c | 9 ++++++---
include/linux/of_fdt.h | 1 +
4 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c
index 050b799..a7dcaf0 100644
--- a/arch/microblaze/kernel/prom.c
+++ b/arch/microblaze/kernel/prom.c
@@ -55,6 +55,11 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
lmb_add(base, size);
}
+u64 __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
+{
+ return lmb_alloc(size, align);
+}
+
#ifdef CONFIG_EARLY_PRINTK
/* MS this is Microblaze specifig function */
static int __init early_init_dt_scan_serial(unsigned long node,
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 43c78d7..5bbbdb2 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -510,6 +510,11 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
memstart_addr = min((u64)memstart_addr, base);
}
+u64 __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
+{
+ return lmb_alloc(size, align);
+}
+
#ifdef CONFIG_BLK_DEV_INITRD
void __init early_init_dt_setup_initrd_arch(unsigned long start,
unsigned long end)
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index b51f797..406757a 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -10,16 +10,18 @@
*/
#include <linux/kernel.h>
-#include <linux/lmb.h>
#include <linux/initrd.h>
#include <linux/of.h>
#include <linux/of_fdt.h>
-
+#include <linux/string.h>
+#include <linux/errno.h>
#ifdef CONFIG_PPC
#include <asm/machdep.h>
#endif /* CONFIG_PPC */
+#include <asm/page.h>
+
int __initdata dt_root_addr_cells;
int __initdata dt_root_size_cells;
@@ -560,7 +562,8 @@ void __init unflatten_device_tree(void)
pr_debug(" size is %lx, allocating...\n", size);
/* Allocate memory for the expanded device tree */
- mem = lmb_alloc(size + 4, __alignof__(struct device_node));
+ mem = early_init_dt_alloc_memory_arch(size + 4,
+ __alignof__(struct device_node));
mem = (unsigned long) __va(mem);
((__be32 *)mem)[size / 4] = cpu_to_be32(0xdeadbeef);
diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
index c9cb8a7..a1ca92c 100644
--- a/include/linux/of_fdt.h
+++ b/include/linux/of_fdt.h
@@ -78,6 +78,7 @@ extern void early_init_dt_check_for_initrd(unsigned long node);
extern int early_init_dt_scan_memory(unsigned long node, const char *uname,
int depth, void *data);
extern void early_init_dt_add_memory_arch(u64 base, u64 size);
+extern u64 early_init_dt_alloc_memory_arch(u64 size, u64 align);
extern u64 dt_mem_next_cell(int s, __be32 **cellp);
/*
next prev parent reply other threads:[~2010-02-13 16:02 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-13 16:02 [PATCH 0/9] Random OF cleanups and merges Grant Likely
2010-02-13 16:02 ` Grant Likely
2010-02-13 16:02 ` [PATCH 1/9] of: Remove old and misplaced function declarations Grant Likely
2010-02-13 16:02 ` Grant Likely
2010-02-13 16:02 ` Grant Likely
2010-02-14 6:09 ` Benjamin Herrenschmidt
2010-02-14 6:09 ` Benjamin Herrenschmidt
2010-02-14 6:09 ` Benjamin Herrenschmidt
2010-02-14 6:09 ` Benjamin Herrenschmidt
2010-02-13 16:02 ` [PATCH 2/9] proc_devtree: fix THIS_MODULE without module.h Grant Likely
2010-02-13 16:02 ` Grant Likely
2010-02-14 6:09 ` Benjamin Herrenschmidt
2010-02-14 6:09 ` Benjamin Herrenschmidt
2010-02-14 6:09 ` Benjamin Herrenschmidt
2010-02-13 16:02 ` Grant Likely
2010-02-13 16:02 ` [PATCH 3/9] of: protect linux/of.h with CONFIG_OF Grant Likely
2010-02-13 16:02 ` Grant Likely
2010-02-14 6:10 ` Benjamin Herrenschmidt
2010-02-14 6:10 ` Benjamin Herrenschmidt
2010-02-14 6:10 ` Benjamin Herrenschmidt
2010-02-14 7:13 ` WALID
2010-02-14 14:06 ` Grant Likely
2010-02-14 14:06 ` Grant Likely
2010-02-14 14:06 ` Grant Likely
2010-02-13 16:02 ` Grant Likely
2010-02-13 16:02 ` [PATCH 4/9] of/flattree: Don't assume HAVE_LMB Grant Likely
2010-02-13 16:02 ` Grant Likely [this message]
2010-02-13 16:02 ` Grant Likely
2010-02-14 6:11 ` Benjamin Herrenschmidt
2010-02-14 6:11 ` Benjamin Herrenschmidt
2010-02-14 6:11 ` Benjamin Herrenschmidt
2010-02-14 6:11 ` Benjamin Herrenschmidt
2010-02-14 14:00 ` Michal Simek
2010-02-14 14:00 ` Michal Simek
2010-02-14 14:00 ` Michal Simek
2010-02-14 14:08 ` Grant Likely
2010-02-14 14:08 ` Grant Likely
2010-02-14 14:08 ` Grant Likely
2010-02-14 14:08 ` Grant Likely
2010-02-13 16:02 ` [PATCH 5/9] of: put default string compare and #a/s-cell values into common header Grant Likely
2010-02-13 16:02 ` [PATCH 5/9] of: put default string compare and #a/s-cell values into Grant Likely
2010-02-14 6:11 ` [PATCH 5/9] of: put default string compare and #a/s-cell values into common header Benjamin Herrenschmidt
2010-02-14 6:11 ` Benjamin Herrenschmidt
2010-02-14 6:11 ` [PATCH 5/9] of: put default string compare and #a/s-cell Benjamin Herrenschmidt
2010-02-13 16:02 ` [PATCH 5/9] of: put default string compare and #a/s-cell values into common header Grant Likely
2010-02-13 16:02 ` [PATCH 6/9] of: remove unused extern reference to devtree_lock Grant Likely
2010-02-13 16:02 ` Grant Likely
2010-02-13 16:02 ` Grant Likely
2010-02-14 6:12 ` Benjamin Herrenschmidt
2010-02-14 6:12 ` Benjamin Herrenschmidt
2010-02-14 6:12 ` Benjamin Herrenschmidt
2010-02-13 16:03 ` [PATCH 7/9] of: move definition of of_chosen into common code Grant Likely
2010-02-13 16:03 ` Grant Likely
2010-02-14 6:12 ` Benjamin Herrenschmidt
2010-02-14 6:12 ` Benjamin Herrenschmidt
2010-02-14 6:12 ` Benjamin Herrenschmidt
2010-02-14 6:12 ` Benjamin Herrenschmidt
2010-02-13 16:03 ` Grant Likely
2010-02-13 16:03 ` [PATCH 8/9] of/sparc: Remove sparc-local declaration of allnodes and devtree_lock Grant Likely
2010-02-13 16:03 ` Grant Likely
2010-02-13 16:03 ` [PATCH 8/9] of/sparc: Remove sparc-local declaration of allnodes and Grant Likely
2010-02-14 6:13 ` [PATCH 8/9] of/sparc: Remove sparc-local declaration of allnodes and devtree_lock Benjamin Herrenschmidt
2010-02-14 6:13 ` Benjamin Herrenschmidt
2010-02-14 6:13 ` [PATCH 8/9] of/sparc: Remove sparc-local declaration of Benjamin Herrenschmidt
2010-02-14 19:50 ` [PATCH 8/9] of/sparc: Remove sparc-local declaration of allnodes and devtree_lock David Miller
2010-02-14 19:50 ` David Miller
2010-02-14 19:50 ` [PATCH 8/9] of/sparc: Remove sparc-local declaration of David Miller
2010-02-13 16:03 ` [PATCH 9/9] of: remove undefined request_OF_resource & release_OF_resource Grant Likely
2010-02-13 16:03 ` Grant Likely
2010-02-13 16:03 ` [PATCH 9/9] of: remove undefined request_OF_resource & Grant Likely
2010-02-14 6:14 ` [PATCH 9/9] of: remove undefined request_OF_resource & release_OF_resource Benjamin Herrenschmidt
2010-02-14 6:14 ` Benjamin Herrenschmidt
2010-02-14 6:14 ` Benjamin Herrenschmidt
2010-02-14 6:14 ` [PATCH 9/9] of: remove undefined request_OF_resource & Benjamin Herrenschmidt
2010-02-14 14:06 ` [PATCH 0/9] Random OF cleanups and merges Michal Simek
2010-02-14 14:06 ` Michal Simek
2010-02-14 14:06 ` Michal Simek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100213160247.4767.74578.stgit@angua \
--to=grant.likely@secretlab.ca \
--cc=benh@kernel.crashing.org \
--cc=davem@davemloft.net \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=jeremy.kerr@canonical.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=microblaze-uclinux@itee.uq.edu.au \
--cc=monstr@monstr.eu \
--cc=sfr@canb.auug.org.au \
--cc=sparclinux@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.