diff options
| -rw-r--r-- | arch/mips/netlogic/xlp/Makefile | 1 | ||||
| -rw-r--r-- | arch/mips/netlogic/xlp/of.c | 34 | ||||
| -rw-r--r-- | arch/mips/netlogic/xlp/setup.c | 20 |
3 files changed, 20 insertions, 35 deletions
diff --git a/arch/mips/netlogic/xlp/Makefile b/arch/mips/netlogic/xlp/Makefile index 6b4b972218f0..5bd24b6a8f0b 100644 --- a/arch/mips/netlogic/xlp/Makefile +++ b/arch/mips/netlogic/xlp/Makefile | |||
| @@ -1,4 +1,3 @@ | |||
| 1 | obj-y += setup.o platform.o nlm_hal.o | 1 | obj-y += setup.o platform.o nlm_hal.o |
| 2 | obj-$(CONFIG_OF) += of.o | ||
| 3 | obj-$(CONFIG_SMP) += wakeup.o | 2 | obj-$(CONFIG_SMP) += wakeup.o |
| 4 | obj-$(CONFIG_USB) += usb-init.o | 3 | obj-$(CONFIG_USB) += usb-init.o |
diff --git a/arch/mips/netlogic/xlp/of.c b/arch/mips/netlogic/xlp/of.c deleted file mode 100644 index 8e3921c0c201..000000000000 --- a/arch/mips/netlogic/xlp/of.c +++ /dev/null | |||
| @@ -1,34 +0,0 @@ | |||
| 1 | #include <linux/bootmem.h> | ||
| 2 | #include <linux/init.h> | ||
| 3 | #include <linux/io.h> | ||
| 4 | #include <linux/of_fdt.h> | ||
| 5 | #include <asm/byteorder.h> | ||
| 6 | |||
| 7 | static int __init reserve_mem_mach(unsigned long addr, unsigned long size) | ||
| 8 | { | ||
| 9 | return reserve_bootmem(addr, size, BOOTMEM_DEFAULT); | ||
| 10 | } | ||
| 11 | |||
| 12 | void __init free_mem_mach(unsigned long addr, unsigned long size) | ||
| 13 | { | ||
| 14 | return free_bootmem(addr, size); | ||
| 15 | } | ||
| 16 | |||
| 17 | void __init device_tree_init(void) | ||
| 18 | { | ||
| 19 | unsigned long base, size; | ||
| 20 | |||
| 21 | if (!initial_boot_params) | ||
| 22 | return; | ||
| 23 | |||
| 24 | base = virt_to_phys((void *)initial_boot_params); | ||
| 25 | size = be32_to_cpu(initial_boot_params->totalsize); | ||
| 26 | |||
| 27 | /* Before we do anything, lets reserve the dt blob */ | ||
| 28 | reserve_mem_mach(base, size); | ||
| 29 | |||
| 30 | unflatten_device_tree(); | ||
| 31 | |||
| 32 | /* free the space reserved for the dt blob */ | ||
| 33 | free_mem_mach(base, size); | ||
| 34 | } | ||
diff --git a/arch/mips/netlogic/xlp/setup.c b/arch/mips/netlogic/xlp/setup.c index 3dec9f28b65b..0d2d679c6c56 100644 --- a/arch/mips/netlogic/xlp/setup.c +++ b/arch/mips/netlogic/xlp/setup.c | |||
| @@ -35,6 +35,7 @@ | |||
| 35 | #include <linux/kernel.h> | 35 | #include <linux/kernel.h> |
| 36 | #include <linux/serial_8250.h> | 36 | #include <linux/serial_8250.h> |
| 37 | #include <linux/pm.h> | 37 | #include <linux/pm.h> |
| 38 | #include <linux/bootmem.h> | ||
| 38 | 39 | ||
| 39 | #include <asm/reboot.h> | 40 | #include <asm/reboot.h> |
| 40 | #include <asm/time.h> | 41 | #include <asm/time.h> |
| @@ -112,6 +113,25 @@ void __init prom_init(void) | |||
| 112 | #endif | 113 | #endif |
| 113 | } | 114 | } |
| 114 | 115 | ||
| 116 | void __init device_tree_init(void) | ||
| 117 | { | ||
| 118 | unsigned long base, size; | ||
| 119 | |||
| 120 | if (!initial_boot_params) | ||
| 121 | return; | ||
| 122 | |||
| 123 | base = virt_to_phys((void *)initial_boot_params); | ||
| 124 | size = be32_to_cpu(initial_boot_params->totalsize); | ||
| 125 | |||
| 126 | /* Before we do anything, lets reserve the dt blob */ | ||
| 127 | reserve_bootmem(base, size, BOOTMEM_DEFAULT); | ||
| 128 | |||
| 129 | unflatten_device_tree(); | ||
| 130 | |||
| 131 | /* free the space reserved for the dt blob */ | ||
| 132 | free_bootmem(base, size); | ||
| 133 | } | ||
| 134 | |||
| 115 | static struct of_device_id __initdata xlp_ids[] = { | 135 | static struct of_device_id __initdata xlp_ids[] = { |
| 116 | { .compatible = "simple-bus", }, | 136 | { .compatible = "simple-bus", }, |
| 117 | {}, | 137 | {}, |
