devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robherring2@gmail.com>
To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Cc: Michal Simek <monstr@monstr.eu>,
	James Hogan <james.hogan@imgtec.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	microblaze-uclinux@itee.uq.edu.au, x86@kernel.org,
	Will Deacon <will.deacon@arm.com>,
	Rob Herring <rob.herring@calxeda.com>,
	linux@lists.openrisc.net, Ingo Molnar <mingo@redhat.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Grant Likely <grant.likely@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 18/28] of: create default early_init_dt_add_memory_arch
Date: Mon, 16 Sep 2013 18:09:14 -0500	[thread overview]
Message-ID: <1379372965-22359-19-git-send-email-robherring2@gmail.com> (raw)
In-Reply-To: <1379372965-22359-1-git-send-email-robherring2@gmail.com>

From: Rob Herring <rob.herring@calxeda.com>

Create a weak version of early_init_dt_add_memory_arch which uses
memblock or is an empty function when memblock is not enabled. This
will unify all architectures except ones with custom memory bank
structs.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Jonas Bonn <jonas@southpole.se>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org
Cc: Grant Likely <grant.likely@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: microblaze-uclinux@itee.uq.edu.au
Cc: linux@lists.openrisc.net
Cc: devicetree@vger.kernel.org
---
 arch/arm64/kernel/setup.c     | 18 ------------------
 arch/metag/kernel/devtree.c   |  6 ------
 arch/microblaze/kernel/prom.c |  5 -----
 arch/openrisc/kernel/prom.c   |  6 ------
 arch/x86/kernel/devicetree.c  | 10 ----------
 drivers/of/fdt.c              | 11 +++++++++++
 6 files changed, 11 insertions(+), 45 deletions(-)

diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index b4461e1..3790004 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -147,24 +147,6 @@ static void __init setup_machine_fdt(phys_addr_t dt_phys)
 	pr_info("Machine: %s\n", machine_name);
 }
 
-void __init early_init_dt_add_memory_arch(u64 base, u64 size)
-{
-	base &= PAGE_MASK;
-	size &= PAGE_MASK;
-	if (base + size < PHYS_OFFSET) {
-		pr_warning("Ignoring memory block 0x%llx - 0x%llx\n",
-			   base, base + size);
-		return;
-	}
-	if (base < PHYS_OFFSET) {
-		pr_warning("Ignoring memory range 0x%llx - 0x%llx\n",
-			   base, PHYS_OFFSET);
-		size -= PHYS_OFFSET - base;
-		base = PHYS_OFFSET;
-	}
-	memblock_add(base, size);
-}
-
 /*
  * Limit the memory size that was specified via FDT.
  */
diff --git a/arch/metag/kernel/devtree.c b/arch/metag/kernel/devtree.c
index 049af56..2c6ee6d 100644
--- a/arch/metag/kernel/devtree.c
+++ b/arch/metag/kernel/devtree.c
@@ -23,12 +23,6 @@
 #include <asm/page.h>
 #include <asm/mach/arch.h>
 
-void __init early_init_dt_add_memory_arch(u64 base, u64 size)
-{
-	pr_err("%s(%llx, %llx)\n",
-	       __func__, base, size);
-}
-
 void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
 {
 	return alloc_bootmem_align(size, align);
diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c
index e13686e..951e4d6 100644
--- a/arch/microblaze/kernel/prom.c
+++ b/arch/microblaze/kernel/prom.c
@@ -41,11 +41,6 @@
 #include <asm/sections.h>
 #include <asm/pci-bridge.h>
 
-void __init early_init_dt_add_memory_arch(u64 base, u64 size)
-{
-	memblock_add(base, size);
-}
-
 #ifdef CONFIG_EARLY_PRINTK
 static char *stdout;
 
diff --git a/arch/openrisc/kernel/prom.c b/arch/openrisc/kernel/prom.c
index fbed459..6dbcaa8 100644
--- a/arch/openrisc/kernel/prom.c
+++ b/arch/openrisc/kernel/prom.c
@@ -47,12 +47,6 @@
 #include <asm/sections.h>
 #include <asm/setup.h>
 
-void __init early_init_dt_add_memory_arch(u64 base, u64 size)
-{
-	size &= PAGE_MASK;
-	memblock_add(base, size);
-}
-
 void __init early_init_devtree(void *params)
 {
 	early_init_dt_scan(params);
diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c
index 0db805c..2f5cb37 100644
--- a/arch/x86/kernel/devicetree.c
+++ b/arch/x86/kernel/devicetree.c
@@ -36,16 +36,6 @@ unsigned long pci_address_to_pio(phys_addr_t address)
 }
 EXPORT_SYMBOL_GPL(pci_address_to_pio);
 
-void __init early_init_dt_scan_chosen_arch(unsigned long node)
-{
-	BUG();
-}
-
-void __init early_init_dt_add_memory_arch(u64 base, u64 size)
-{
-	BUG();
-}
-
 void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
 {
 	return __alloc_bootmem(size, align, __pa(MAX_DMA_ADDRESS));
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 0714dd4..a9dce7a 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -688,6 +688,17 @@ u64 __init dt_mem_next_cell(int s, __be32 **cellp)
 	return of_read_number(p, s);
 }
 
+void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size)
+{
+#ifdef CONFIG_HAVE_MEMBLOCK
+	base &= PAGE_MASK;
+	size &= PAGE_MASK;
+	memblock_add(base, size);
+#else
+	pr_err("%s: ignoring memory (%llx, %llx)\n", __func__, base, size);
+#endif
+}
+
 /**
  * early_init_dt_scan_memory - Look for an parse memory nodes
  */
-- 
1.8.1.2

  parent reply	other threads:[~2013-09-16 23:09 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-16 23:08 [PATCH 00/28] Early flattened DT init consolidation Rob Herring
2013-09-16 23:08 ` [PATCH 01/28] c6x: use boot_command_line instead of private c6x_command_line Rob Herring
2013-09-18  3:07   ` Grant Likely
2013-09-18 13:35   ` Mark Salter
2013-09-16 23:08 ` [PATCH 02/28] openrisc: use boot_command_line instead of private cmd_line Rob Herring
     [not found] ` <1379372965-22359-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-16 23:08   ` [PATCH 03/28] of: create unflatten_and_copy_device_tree Rob Herring
2013-09-18  3:15     ` Grant Likely
2013-09-16 23:09   ` [PATCH 04/28] arc: use unflatten_and_copy_device_tree Rob Herring
2013-09-17  5:27     ` Vineet Gupta
2013-09-16 23:09 ` [PATCH 05/28] openrisc: " Rob Herring
2013-09-16 23:09 ` [PATCH 06/28] x86: " Rob Herring
2013-09-16 23:09 ` [PATCH 07/28] xtensa: " Rob Herring
     [not found]   ` <1379372965-22359-8-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-23 10:52     ` Max Filippov
2013-09-16 23:09 ` [PATCH 08/28] metag: " Rob Herring
2013-09-16 23:09 ` [PATCH 09/28] of: Introduce common early_init_dt_scan Rob Herring
     [not found]   ` <1379372965-22359-10-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-17  5:46     ` Vineet Gupta
2013-09-18  3:24     ` Grant Likely
2013-09-16 23:09 ` [PATCH 10/28] arc: use early_init_dt_scan Rob Herring
2013-09-17  6:37   ` Vineet Gupta
2013-09-16 23:09 ` [PATCH 11/28] arm: " Rob Herring
2013-09-16 23:09 ` [PATCH 12/28] arm64: " Rob Herring
     [not found]   ` <1379372965-22359-13-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-17  8:43     ` Catalin Marinas
2013-09-16 23:09 ` [PATCH 13/28] c6x: " Rob Herring
     [not found]   ` <1379372965-22359-14-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-17 12:00     ` Mark Salter
2013-09-16 23:09 ` [PATCH 14/28] microblaze: " Rob Herring
2013-09-17 13:05   ` Michal Simek
2013-09-16 23:09 ` [PATCH 15/28] mips: " Rob Herring
2013-09-17  4:32   ` John Crispin
2013-09-16 23:09 ` [PATCH 16/28] openrisc: " Rob Herring
2013-09-16 23:09 ` [PATCH 17/28] xtensa: " Rob Herring
     [not found]   ` <1379372965-22359-18-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-23 10:53     ` Max Filippov
2013-09-16 23:09 ` Rob Herring [this message]
2013-09-17  8:46   ` [PATCH 18/28] of: create default early_init_dt_add_memory_arch Catalin Marinas
     [not found]     ` <DDB72C85-45A3-40FC-9108-7B56F6C5BC5B-5wv7dgnIgG8@public.gmane.org>
2013-09-17 13:01       ` Rob Herring
2013-09-17 15:28         ` Catalin Marinas
2013-09-18  3:33   ` Grant Likely
     [not found]     ` <20130918033358.51CA1C42C9E-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2013-09-18 15:09       ` Rob Herring
2013-09-22 12:16         ` Grant Likely
2013-09-16 23:09 ` [PATCH 19/28] arm: set initrd_start/initrd_end for fdt scan Rob Herring
2013-09-18  3:36   ` Grant Likely
2013-09-16 23:09 ` [PATCH 20/28] arm64: " Rob Herring
     [not found]   ` <1379372965-22359-21-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-17  8:50     ` Catalin Marinas
2013-09-18  3:36       ` Grant Likely
2013-09-16 23:09 ` [PATCH 21/28] of: remove early_init_dt_setup_initrd_arch Rob Herring
2013-09-17  6:45   ` Vineet Gupta
2013-09-18  3:39   ` Grant Likely
2013-09-16 23:09 ` [PATCH 22/28] openrisc: remove unnecessary prom.c includes Rob Herring
2013-09-16 23:09 ` [PATCH 23/28] of: introduce common FDT machine related functions Rob Herring
     [not found]   ` <1379372965-22359-24-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-18  3:44     ` Grant Likely
2013-10-04 18:49     ` Grant Likely
2013-09-16 23:09 ` [PATCH 24/28] arc: use common of_flat_dt_match_machine Rob Herring
2013-09-17  6:50   ` Vineet Gupta
2013-09-16 23:09 ` [PATCH 25/28] arm: " Rob Herring
2013-09-16 23:09 ` [PATCH 26/28] arm64: use common of_flat_dt_get_machine_name Rob Herring
     [not found]   ` <1379372965-22359-27-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-17  8:53     ` Catalin Marinas
2013-09-16 23:09 ` [PATCH 27/28] metag: use common of_flat_dt_match_machine Rob Herring
2013-09-16 23:09 ` [PATCH 28/28] mips: use common of_flat_dt_get_machine_name Rob Herring
     [not found]   ` <1379372965-22359-29-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-17  4:32     ` John Crispin
2013-09-23  9:58 ` [PATCH 00/28] Early flattened DT init consolidation James Hogan

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=1379372965-22359-19-git-send-email-robherring2@gmail.com \
    --to=robherring2@gmail.com \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=grant.likely@linaro.org \
    --cc=hpa@zytor.com \
    --cc=james.hogan@imgtec.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@lists.openrisc.net \
    --cc=microblaze-uclinux@itee.uq.edu.au \
    --cc=mingo@redhat.com \
    --cc=monstr@monstr.eu \
    --cc=rob.herring@calxeda.com \
    --cc=tglx@linutronix.de \
    --cc=will.deacon@arm.com \
    --cc=x86@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).