]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
MIPS: Prune some target specific code out of prom.c
authorDavid Daney <david.daney@cavium.com>
Thu, 5 Jul 2012 16:12:38 +0000 (18:12 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 23 Jul 2012 12:54:52 +0000 (13:54 +0100)
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 abd2363f6a5f1030b935e0bdc15cf917313b3b10
[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>
arch/mips/include/asm/prom.h
arch/mips/kernel/prom.c
arch/mips/netlogic/xlp/Makefile
arch/mips/netlogic/xlp/of.c [new file with mode: 0644]

index 7206d445bab876e926cec6bd242309b893870007..8808bf548b99d2e0b4966b162f22ed4505d046e0 100644 (file)
@@ -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)
index f11b2bbb826d223d10eefffb810c9bcdb67eb017..028f6f837ef9c975697cd763fa685126a5be6b48 100644 (file)
@@ -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));
@@ -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) {
index b93ed83474ecec308585e811b66bf32c59da2410..9007ef0c398e19b2cfda8bae9d9e5118ed9f6e6b 100644 (file)
@@ -1,2 +1,3 @@
 obj-y                          += setup.o platform.o nlm_hal.o
+obj-$(CONFIG_OF)               += of.o
 obj-$(CONFIG_SMP)              += wakeup.o
diff --git a/arch/mips/netlogic/xlp/of.c b/arch/mips/netlogic/xlp/of.c
new file mode 100644 (file)
index 0000000..8e3921c
--- /dev/null
@@ -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);
+}