[POWERPC] Move iSeries_tb_recal into its own late_initcall.
[safe/jmp/linux-2.6] / arch / powerpc / kernel / setup_64.c
index 3c0c7f4..bc43bba 100644 (file)
@@ -109,7 +109,7 @@ static void check_smt_enabled(void)
        dn = of_find_node_by_path("/options");
 
        if (dn) {
-               smt_option = get_property(dn, "ibm,smt-enabled", NULL);
+               smt_option = of_get_property(dn, "ibm,smt-enabled", NULL);
 
                 if (smt_option) {
                        if (!strcmp(smt_option, "on"))
@@ -304,10 +304,10 @@ static void __init initialize_cache_info(void)
 
                        size = 0;
                        lsize = cur_cpu_spec->dcache_bsize;
-                       sizep = get_property(np, "d-cache-size", NULL);
+                       sizep = of_get_property(np, "d-cache-size", NULL);
                        if (sizep != NULL)
                                size = *sizep;
-                       lsizep = get_property(np, dc, NULL);
+                       lsizep = of_get_property(np, dc, NULL);
                        if (lsizep != NULL)
                                lsize = *lsizep;
                        if (sizep == 0 || lsizep == 0)
@@ -321,10 +321,10 @@ static void __init initialize_cache_info(void)
 
                        size = 0;
                        lsize = cur_cpu_spec->icache_bsize;
-                       sizep = get_property(np, "i-cache-size", NULL);
+                       sizep = of_get_property(np, "i-cache-size", NULL);
                        if (sizep != NULL)
                                size = *sizep;
-                       lsizep = get_property(np, ic, NULL);
+                       lsizep = of_get_property(np, ic, NULL);
                        if (lsizep != NULL)
                                lsize = *lsizep;
                        if (sizep == 0 || lsizep == 0)
@@ -350,13 +350,11 @@ void __init setup_system(void)
 {
        DBG(" -> setup_system()\n");
 
-       /* Apply the CPUs-specific and firmware specific fixups to kernel
-        * text (nop out sections not relevant to this CPU or this firmware)
+       /* Apply CPUs-specific fixups to kernel text (nop out sections
+        * not relevant to this CPU)
         */
        do_feature_fixups(cur_cpu_spec->cpu_features,
                          &__start___ftr_fixup, &__stop___ftr_fixup);
-       do_feature_fixups(powerpc_firmware_features,
-                         &__start___fw_ftr_fixup, &__stop___fw_ftr_fixup);
 
        /*
         * Unflatten the device-tree passed by prom_init or kexec
@@ -394,6 +392,12 @@ void __init setup_system(void)
        if (ppc_md.init_early)
                ppc_md.init_early();
 
+       /* Apply firmware specific fixups to kernel text (nop out
+        * sections not relevant to this firmware)
+        */
+       do_feature_fixups(powerpc_firmware_features,
+                         &__start___fw_ftr_fixup, &__stop___fw_ftr_fixup);
+
        /*
         * We can discover serial ports now since the above did setup the
         * hash table management for us, thus ioremap works. We do that early
@@ -582,14 +586,14 @@ void __init setup_per_cpu_areas(void)
        char *ptr;
 
        /* Copy section for each CPU (we discard the original) */
-       size = ALIGN(__per_cpu_end - __per_cpu_start, SMP_CACHE_BYTES);
+       size = ALIGN(__per_cpu_end - __per_cpu_start, PAGE_SIZE);
 #ifdef CONFIG_MODULES
        if (size < PERCPU_ENOUGH_ROOM)
                size = PERCPU_ENOUGH_ROOM;
 #endif
 
        for_each_possible_cpu(i) {
-               ptr = alloc_bootmem_node(NODE_DATA(cpu_to_node(i)), size);
+               ptr = alloc_bootmem_pages_node(NODE_DATA(cpu_to_node(i)), size);
                if (!ptr)
                        panic("Cannot allocate cpu data for CPU %d\n", i);