Skip to content

Commit

Permalink
of: consolidate definition of early_init_dt_alloc_memory_arch()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
glikely committed Aug 28, 2013
1 parent 7e0bdf1 commit a1727da
Show file tree
Hide file tree
Showing 7 changed files with 12 additions and 31 deletions.
6 changes: 0 additions & 6 deletions arch/arc/kernel/devtree.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,6 @@
#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
Expand Down
5 changes: 0 additions & 5 deletions arch/arm64/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
*/
Expand Down
5 changes: 0 additions & 5 deletions arch/c6x/kernel/devicetree.c
Original file line number Diff line number Diff line change
Expand Up @@ -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));
}
5 changes: 0 additions & 5 deletions arch/microblaze/kernel/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
5 changes: 0 additions & 5 deletions arch/openrisc/kernel/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
5 changes: 0 additions & 5 deletions arch/powerpc/kernel/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down
12 changes: 12 additions & 0 deletions drivers/of/fdt.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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
*
Expand Down

0 comments on commit a1727da

Please sign in to comment.