Skip to content

Commit

Permalink
MIPS: Prune some target specific code out of prom.c
Browse files Browse the repository at this point in the history
This code is not common enough to be in a shared file.  It is also not
used by any existing boards, so just remove it.

[ralf@linux-mips.org: Dropped removal of irq_create_of_mapping which was
already removed by abd2363
[irq_domain/mips: Allow irq_domain on MIPS].  Moved device_tree_init() and
dependencies to its sole user, the XLP code.]

Signed-off-by: David Daney <david.daney@cavium.com>
Cc: linux-mips@linux-mips.org
Cc: devicetree-discuss@lists.ozlabs.org
Cc: grant.likely@secretlab.ca
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/2946/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
David Daney authored and Ralf Baechle committed Jul 23, 2012
1 parent 736b1c9 commit b01da9f
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 32 deletions.
3 changes: 0 additions & 3 deletions arch/mips/include/asm/prom.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@
extern int early_init_dt_scan_memory_arch(unsigned long node,
const char *uname, int depth, void *data);

extern int reserve_mem_mach(unsigned long addr, unsigned long size);
extern void free_mem_mach(unsigned long addr, unsigned long size);

extern void device_tree_init(void);

static inline unsigned long pci_address_to_pio(phys_addr_t address)
Expand Down
29 changes: 0 additions & 29 deletions arch/mips/kernel/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,6 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
return add_memory_region(base, size, BOOT_MEM_RAM);
}

int __init reserve_mem_mach(unsigned long addr, unsigned long size)
{
return reserve_bootmem(addr, size, BOOTMEM_DEFAULT);
}

void __init free_mem_mach(unsigned long addr, unsigned long size)
{
return free_bootmem(addr, size);
}

void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
{
return __alloc_bootmem(size, align, __pa(MAX_DMA_ADDRESS));
Expand Down Expand Up @@ -77,25 +67,6 @@ void __init early_init_devtree(void *params)
of_scan_flat_dt(early_init_dt_scan_memory_arch, NULL);
}

void __init device_tree_init(void)
{
unsigned long base, size;

if (!initial_boot_params)
return;

base = virt_to_phys((void *)initial_boot_params);
size = be32_to_cpu(initial_boot_params->totalsize);

/* Before we do anything, lets reserve the dt blob */
reserve_mem_mach(base, size);

unflatten_device_tree();

/* free the space reserved for the dt blob */
free_mem_mach(base, size);
}

void __init __dt_setup_arch(struct boot_param_header *bph)
{
if (be32_to_cpu(bph->magic) != OF_DT_HEADER) {
Expand Down
1 change: 1 addition & 0 deletions arch/mips/netlogic/xlp/Makefile
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
obj-y += setup.o platform.o nlm_hal.o
obj-$(CONFIG_OF) += of.o
obj-$(CONFIG_SMP) += wakeup.o
34 changes: 34 additions & 0 deletions arch/mips/netlogic/xlp/of.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#include <linux/bootmem.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/of_fdt.h>
#include <asm/byteorder.h>

static int __init reserve_mem_mach(unsigned long addr, unsigned long size)
{
return reserve_bootmem(addr, size, BOOTMEM_DEFAULT);
}

void __init free_mem_mach(unsigned long addr, unsigned long size)
{
return free_bootmem(addr, size);
}

void __init device_tree_init(void)
{
unsigned long base, size;

if (!initial_boot_params)
return;

base = virt_to_phys((void *)initial_boot_params);
size = be32_to_cpu(initial_boot_params->totalsize);

/* Before we do anything, lets reserve the dt blob */
reserve_mem_mach(base, size);

unflatten_device_tree();

/* free the space reserved for the dt blob */
free_mem_mach(base, size);
}

0 comments on commit b01da9f

Please sign in to comment.