Merge tag 'trace-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux...
[firefly-linux-kernel-4.4.55.git] / arch / arm / kernel / devtree.c
index c7419a585ddc6e7fca602be71b3119582efc34ba..e94a157ddff11dca08e81e7182652c24d4d56a49 100644 (file)
 #include <asm/mach/arch.h>
 #include <asm/mach-types.h>
 
-void __init early_init_dt_add_memory_arch(u64 base, u64 size)
-{
-       arm_add_memory(base, size);
-}
-
-void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
-{
-       return memblock_virt_alloc(size, align);
-}
-
-void __init arm_dt_memblock_reserve(void)
-{
-       u64 *reserve_map, base, size;
-
-       if (!initial_boot_params)
-               return;
 
-       /* Reserve the dtb region */
-       memblock_reserve(virt_to_phys(initial_boot_params),
-                        be32_to_cpu(initial_boot_params->totalsize));
+#ifdef CONFIG_SMP
+extern struct of_cpu_method __cpu_method_of_table[];
 
-       /*
-        * Process the reserve map.  This will probably overlap the initrd
-        * and dtb locations which are already reserved, but overlaping
-        * doesn't hurt anything
-        */
-       reserve_map = ((void*)initial_boot_params) +
-                       be32_to_cpu(initial_boot_params->off_mem_rsvmap);
-       while (1) {
-               base = be64_to_cpup(reserve_map++);
-               size = be64_to_cpup(reserve_map++);
-               if (!size)
-                       break;
-               memblock_reserve(base, size);
-       }
-}
+static const struct of_cpu_method __cpu_method_of_table_sentinel
+       __used __section(__cpu_method_of_table_end);
 
-#ifdef CONFIG_SMP
-extern struct of_cpu_method __cpu_method_of_table_begin[];
-extern struct of_cpu_method __cpu_method_of_table_end[];
 
 static int __init set_smp_ops_by_method(struct device_node *node)
 {
        const char *method;
-       struct of_cpu_method *m = __cpu_method_of_table_begin;
+       struct of_cpu_method *m = __cpu_method_of_table;
 
        if (of_property_read_string(node, "enable-method", &method))
                return 0;
 
-       for (; m < __cpu_method_of_table_end; m++)
+       for (; m->method; m++)
                if (!strcmp(m->method, method)) {
                        smp_set_ops(m->ops);
                        return 1;
@@ -252,7 +219,7 @@ const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
 
        if (!mdesc) {
                const char *prop;
-               long size;
+               int size;
                unsigned long dt_root;
 
                early_print("\nError: unrecognized/unsupported "