linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: robherring2@gmail.com (Rob Herring)
To: 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 at kernel.org
Cc: Grant Likely <grant.likely@linaro.org>
Cc: linux-arm-kernel at lists.infradead.org
Cc: microblaze-uclinux at itee.uq.edu.au
Cc: linux at lists.openrisc.net
Cc: devicetree at 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: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1379372965-22359-1-git-send-email-robherring2@gmail.com>
2013-09-16 23:09 ` [PATCH 11/28] arm: use early_init_dt_scan Rob Herring
2013-09-16 23:09 ` [PATCH 12/28] arm64: " Rob Herring
2013-09-17  8:43   ` Catalin Marinas
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
2013-09-17 13:01     ` Rob Herring
2013-09-17 15:28       ` Catalin Marinas
2013-09-18  3:33   ` Grant Likely
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
2013-09-17  8:50   ` Catalin Marinas
2013-09-18  3:36     ` Grant Likely
2013-09-16 23:09 ` [PATCH 25/28] arm: use common of_flat_dt_match_machine Rob Herring
2013-09-16 23:09 ` [PATCH 26/28] arm64: use common of_flat_dt_get_machine_name Rob Herring
2013-09-17  8:53   ` Catalin Marinas

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=linux-arm-kernel@lists.infradead.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).