Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 068f6310 authored by Rob Herring's avatar Rob Herring
Browse files

of: create default early_init_dt_add_memory_arch



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: default avatarRob Herring <rob.herring@calxeda.com>
Acked-by: default avatarCatalin 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: default avatarGrant 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
parent 7745fc1f
Loading
Loading
Loading
Loading
+0 −18
Original line number Original line Diff line number Diff line
@@ -147,24 +147,6 @@ static void __init setup_machine_fdt(phys_addr_t dt_phys)
	pr_info("Machine: %s\n", machine_name);
	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.
 * Limit the memory size that was specified via FDT.
 */
 */
+0 −5
Original line number Original line Diff line number Diff line
@@ -41,11 +41,6 @@
#include <asm/sections.h>
#include <asm/sections.h>
#include <asm/pci-bridge.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
#ifdef CONFIG_EARLY_PRINTK
static char *stdout;
static char *stdout;


+0 −6
Original line number Original line Diff line number Diff line
@@ -47,12 +47,6 @@
#include <asm/sections.h>
#include <asm/sections.h>
#include <asm/setup.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)
void __init early_init_devtree(void *params)
{
{
	early_init_dt_scan(params);
	early_init_dt_scan(params);
+19 −0
Original line number Original line Diff line number Diff line
@@ -775,6 +775,25 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname,
}
}


#ifdef CONFIG_HAVE_MEMBLOCK
#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
 * called from unflatten_device_tree() to bootstrap devicetree itself
 * Architectures can override this definition if memblock isn't used
 * Architectures can override this definition if memblock isn't used