of: consolidate definition of early_init_dt_alloc_memory_arch()
authorGrant Likely <grant.likely@linaro.org>
Wed, 28 Aug 2013 20:18:32 +0000 (21:18 +0100)
committerGrant Likely <grant.likely@linaro.org>
Wed, 28 Aug 2013 20:18:32 +0000 (21:18 +0100)
Most architectures use the same implementation. Collapse the common ones
into a single weak function that can be overridden.

Signed-off-by: Grant Likely <grant.likely@linaro.org>
arch/arc/kernel/devtree.c
arch/arm64/kernel/setup.c
arch/c6x/kernel/devicetree.c
arch/microblaze/kernel/prom.c
arch/openrisc/kernel/prom.c
arch/powerpc/kernel/prom.c
drivers/of/fdt.c

index bdee3a8120521044fab496782b612157753abb83..2340af0e1d6f8c00b57b35a127bf73f673a244e2 100644 (file)
 #include <asm/clk.h>
 #include <asm/mach_desc.h>
 
-/* called from unflatten_device_tree() to bootstrap devicetree itself */
-void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
-{
-       return __va(memblock_alloc(size, align));
-}
-
 /**
  * setup_machine_fdt - Machine setup when an dtb was passed to the kernel
  * @dt:                virtual address pointer to dt blob
index add6ea616843139ff81a65f26c344ed9e69fd66d..0f9856a2afa42efedb9ad653c3da5bb7ec17aeae 100644 (file)
@@ -190,11 +190,6 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
        memblock_add(base, size);
 }
 
-void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
-{
-       return __va(memblock_alloc(size, align));
-}
-
 /*
  * Limit the memory size that was specified via FDT.
  */
index 287d0e64dfba58b955c10b4b8d4268140271c9c8..9e15ab9199b24fe234780941299757246b92b6cb 100644 (file)
@@ -45,8 +45,3 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
 {
        c6x_add_memory(base, size);
 }
-
-void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
-{
-       return __va(memblock_alloc(size, align));
-}
index 62e2e8f2c5d617a2a1c3271166441630b63b85cf..0c4453f134cbb7daf0f615002d8841ccd79957a0 100644 (file)
@@ -46,11 +46,6 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
        memblock_add(base, size);
 }
 
-void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
-{
-       return __va(memblock_alloc(size, align));
-}
-
 #ifdef CONFIG_EARLY_PRINTK
 static char *stdout;
 
index 150215a9171145655a5973cd376916699810f3aa..a63e76872f84da088c8d28105f55d3687807f2f5 100644 (file)
@@ -55,11 +55,6 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
        memblock_add(base, size);
 }
 
-void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
-{
-       return __va(memblock_alloc(size, align));
-}
-
 void __init early_init_devtree(void *params)
 {
        void *alloc;
index 67d18dad43688d81d137225a03957c1b1e01a8d1..3fa349efc4a6e1e9ad55f151a5d05bab12d19912 100644 (file)
@@ -544,11 +544,6 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
        memblock_add(base, size);
 }
 
-void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
-{
-       return __va(memblock_alloc(size, align));
-}
-
 #ifdef CONFIG_BLK_DEV_INITRD
 void __init early_init_dt_setup_initrd_arch(u64 start, u64 end)
 {
index b9657e5304eda8225fca3ee902c904ee6c9e5088..d49b3e8159bb218597c3e3b2bed5feaf690fd97c 100644 (file)
@@ -11,6 +11,7 @@
 
 #include <linux/kernel.h>
 #include <linux/initrd.h>
+#include <linux/memblock.h>
 #include <linux/module.h>
 #include <linux/of.h>
 #include <linux/of_fdt.h>
@@ -700,6 +701,17 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname,
        return 1;
 }
 
+#ifdef CONFIG_HAVE_MEMBLOCK
+/*
+ * called from unflatten_device_tree() to bootstrap devicetree itself
+ * Architectures can override this definition if memblock isn't used
+ */
+void * __init __weak early_init_dt_alloc_memory_arch(u64 size, u64 align)
+{
+       return __va(memblock_alloc(size, align));
+}
+#endif
+
 /**
  * unflatten_device_tree - create tree of device_nodes from flat blob
  *