]> err.no Git - linux-2.6/blobdiff - arch/powerpc/platforms/cell/setup.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/voyager-2.6
[linux-2.6] / arch / powerpc / platforms / cell / setup.c
index d704bc19a646905ddf39a921e19903a3d7d60569..54b96183cb64466347cd6ca4a25090de56be6df1 100644 (file)
@@ -54,7 +54,6 @@
 #include <asm/of_platform.h>
 
 #include "interrupt.h"
-#include "iommu.h"
 #include "cbe_regs.h"
 #include "pervasive.h"
 #include "ras.h"
@@ -72,7 +71,7 @@ static void cell_show_cpuinfo(struct seq_file *m)
 
        root = of_find_node_by_path("/");
        if (root)
-               model = get_property(root, "model", NULL);
+               model = of_get_property(root, "model", NULL);
        seq_printf(m, "machine\t\t: CHRP %s\n", model);
        of_node_put(root);
 }
@@ -84,8 +83,12 @@ static void cell_progress(char *s, unsigned short hex)
 
 static int __init cell_publish_devices(void)
 {
-       if (machine_is(cell))
-               of_platform_bus_probe(NULL, NULL, NULL);
+       if (!machine_is(cell))
+               return 0;
+
+       /* Publish OF platform devices for southbridge IOs */
+       of_platform_bus_probe(NULL, NULL, NULL);
+
        return 0;
 }
 device_initcall(cell_publish_devices);
@@ -142,7 +145,8 @@ static void __init cell_init_irq(void)
 static void __init cell_setup_arch(void)
 {
 #ifdef CONFIG_SPU_BASE
-       spu_priv1_ops         = &spu_priv1_mmio_ops;
+       spu_priv1_ops = &spu_priv1_mmio_ops;
+       spu_management_ops = &spu_management_of_ops;
 #endif
 
        cbe_regs_init();
@@ -154,7 +158,6 @@ static void __init cell_setup_arch(void)
 #ifdef CONFIG_SMP
        smp_init_cell();
 #endif
-
        /* init to some ~sane value until calibrate_delay() runs */
        loops_per_jiffy = 50000000;
 
@@ -174,19 +177,6 @@ static void __init cell_setup_arch(void)
        mmio_nvram_init();
 }
 
-/*
- * Early initialization.  Relocation is on but do not reference unbolted pages
- */
-static void __init cell_init_early(void)
-{
-       DBG(" -> cell_init_early()\n");
-
-       cell_init_iommu();
-
-       DBG(" <- cell_init_early()\n");
-}
-
-
 static int __init cell_probe(void)
 {
        unsigned long root = of_get_flat_dt_root();
@@ -200,20 +190,10 @@ static int __init cell_probe(void)
        return 1;
 }
 
-/*
- * Cell has no legacy IO; anything calling this function has to
- * fail or bad things will happen
- */
-static int cell_check_legacy_ioport(unsigned int baseport)
-{
-       return -ENODEV;
-}
-
 define_machine(cell) {
        .name                   = "Cell",
        .probe                  = cell_probe,
        .setup_arch             = cell_setup_arch,
-       .init_early             = cell_init_early,
        .show_cpuinfo           = cell_show_cpuinfo,
        .restart                = rtas_restart,
        .power_off              = rtas_power_off,
@@ -222,9 +202,9 @@ define_machine(cell) {
        .get_rtc_time           = rtas_get_rtc_time,
        .set_rtc_time           = rtas_set_rtc_time,
        .calibrate_decr         = generic_calibrate_decr,
-       .check_legacy_ioport    = cell_check_legacy_ioport,
        .progress               = cell_progress,
        .init_IRQ               = cell_init_irq,
+       .pci_setup_phb          = rtas_setup_phb,
 #ifdef CONFIG_KEXEC
        .machine_kexec          = default_machine_kexec,
        .machine_kexec_prepare  = default_machine_kexec_prepare,