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>,
	Catalin Marinas <catalin.marinas@arm.com>,
	linux@lists.openrisc.net, Will Deacon <will.deacon@arm.com>,
	Rob Herring <rob.herring@calxeda.com>,
	microblaze-uclinux@itee.uq.edu.au,
	Grant Likely <grant.likely@linaro.org>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 19/29] of: create default early_init_dt_add_memory_arch
Date: Mon,  7 Oct 2013 11:29:27 -0500	[thread overview]
Message-ID: <1381163377-21044-20-git-send-email-robherring2@gmail.com> (raw)
In-Reply-To: <1381163377-21044-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. 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: Michal Simek <monstr@monstr.eu>
Cc: Jonas Bonn <jonas@southpole.se>
Acked-by: 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/microblaze/kernel/prom.c |  5 -----
 arch/openrisc/kernel/prom.c   |  6 ------
 drivers/of/fdt.c              | 19 +++++++++++++++++++
 4 files changed, 19 insertions(+), 29 deletions(-)

diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index 4a5f624..7feb0c9 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/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/drivers/of/fdt.c b/drivers/of/fdt.c
index bfbfda5..5bc55b6 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -775,6 +775,25 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname,
 }
 
 #ifdef CONFIG_HAVE_MEMBLOCK
+void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size)
+{
+	const u64 phys_offset = __pa(PAGE_OFFSET);
+	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);
+}
+
 /*
  * called from unflatten_device_tree() to bootstrap devicetree itself
  * Architectures can override this definition if memblock isn't used
-- 
1.8.1.2

  parent reply	other threads:[~2013-10-07 16:29 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-07 16:29 [PATCH v2 00/29] Early flattened DT init consolidation Rob Herring
2013-10-07 16:29 ` [PATCH v2 02/29] openrisc: use boot_command_line instead of private cmd_line Rob Herring
2013-10-07 16:29 ` [PATCH v2 05/29] openrisc: use unflatten_and_copy_device_tree Rob Herring
2013-10-07 16:29 ` [PATCH v2 06/29] x86: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 07/29] xtensa: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 08/29] metag: " Rob Herring
2013-11-08 11:39   ` Qais Yousef
2013-11-08 13:12   ` James Hogan
     [not found]     ` <527CE32F.6090305-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2013-11-08 17:26       ` Rob Herring
     [not found]         ` <CAL_JsqKprnCn7JQj7QFbMbLW3Ei-paBH6RYti+CgEFCb4JUaAQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-08 17:34           ` James Hogan
2013-10-07 16:29 ` [PATCH v2 09/29] of: Introduce common early_init_dt_scan Rob Herring
     [not found] ` <1381163377-21044-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-10-07 16:29   ` [PATCH v2 01/29] c6x: use boot_command_line instead of private c6x_command_line Rob Herring
2013-10-07 20:12     ` Mark Salter
2013-10-07 16:29   ` [PATCH v2 03/29] of: create unflatten_and_copy_device_tree Rob Herring
2013-10-07 16:29   ` [PATCH v2 04/29] arc: use unflatten_and_copy_device_tree Rob Herring
2013-10-07 16:29   ` [PATCH v2 10/29] arc: use early_init_dt_scan Rob Herring
2013-10-07 16:29   ` [PATCH v2 12/29] arm64: " Rob Herring
2013-10-07 16:29   ` [PATCH v2 25/29] arc: use common of_flat_dt_match_machine Rob Herring
     [not found]     ` <1381163377-21044-26-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-10-08  5:42       ` Vineet Gupta
     [not found]         ` <52539B4C.9040400-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
2013-10-09 17:04           ` Rob Herring
2013-10-10  5:04             ` Vineet Gupta
2013-10-07 16:29 ` [PATCH v2 11/29] arm: use early_init_dt_scan Rob Herring
2013-10-07 16:29 ` [PATCH v2 13/29] c6x: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 14/29] metag: " Rob Herring
     [not found]   ` <1381163377-21044-15-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-11-08 13:06     ` James Hogan
2013-10-07 16:29 ` [PATCH v2 15/29] microblaze: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 16/29] mips: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 17/29] openrisc: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 18/29] xtensa: " Rob Herring
2013-10-07 16:29 ` Rob Herring [this message]
2013-10-07 16:32   ` [PATCH v2 19/29] of: create default early_init_dt_add_memory_arch Catalin Marinas
2013-10-07 16:29 ` [PATCH v2 20/29] arm: set initrd_start/initrd_end for fdt scan Rob Herring
2013-10-07 16:29 ` [PATCH v2 21/29] arm64: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 22/29] of: remove early_init_dt_setup_initrd_arch Rob Herring
     [not found]   ` <1381163377-21044-23-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-11-08 13:07     ` James Hogan
2013-10-07 16:29 ` [PATCH v2 23/29] openrisc: remove unnecessary prom.c includes Rob Herring
2013-10-07 16:29 ` [PATCH v2 24/29] of: introduce common FDT machine related functions Rob Herring
2013-10-07 16:29 ` [PATCH v2 26/29] arm: use common of_flat_dt_match_machine Rob Herring
2013-10-07 16:29 ` [PATCH v2 27/29] arm64: use common of_flat_dt_get_machine_name Rob Herring
2013-10-07 16:29 ` [PATCH v2 28/29] metag: use common of_flat_dt_match_machine Rob Herring
2013-10-07 16:29 ` [PATCH v2 29/29] mips: use common of_flat_dt_get_machine_name Rob Herring

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=1381163377-21044-20-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=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=monstr@monstr.eu \
    --cc=rob.herring@calxeda.com \
    --cc=will.deacon@arm.com \
    /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).