Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / arch / powerpc / platforms / cell / setup.c
index 282987d..fd3e560 100644 (file)
@@ -14,6 +14,7 @@
  */
 #undef DEBUG
 
+#include <linux/config.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
 #include <asm/ppc-pci.h>
 #include <asm/irq.h>
 #include <asm/spu.h>
-#include <asm/spu_priv1.h>
-#include <asm/udbg.h>
 
 #include "interrupt.h"
 #include "iommu.h"
-#include "cbe_regs.h"
 #include "pervasive.h"
-#include "ras.h"
 
 #ifdef DEBUG
 #define DBG(fmt...) udbg_printf(fmt)
@@ -80,31 +77,10 @@ static void cell_progress(char *s, unsigned short hex)
        printk("*** %04x : %s\n", hex, s ? s : "");
 }
 
-static void __init cell_pcibios_fixup(void)
-{
-       struct pci_dev *dev = NULL;
-
-       for_each_pci_dev(dev)
-               pci_read_irq_line(dev);
-}
-
-static void __init cell_init_irq(void)
-{
-       iic_init_IRQ();
-       spider_init_IRQ();
-}
-
 static void __init cell_setup_arch(void)
 {
-#ifdef CONFIG_SPU_BASE
-       spu_priv1_ops         = &spu_priv1_mmio_ops;
-#endif
-
-       cbe_regs_init();
-
-#ifdef CONFIG_CBE_RAS
-       cbe_ras_init();
-#endif
+       ppc_md.init_IRQ       = iic_init_IRQ;
+       ppc_md.get_irq        = iic_get_irq;
 
 #ifdef CONFIG_SMP
        smp_init_cell();
@@ -121,7 +97,8 @@ static void __init cell_setup_arch(void)
        /* Find and initialize PCI host bridges */
        init_pci_config_tokens();
        find_and_init_phbs();
-       cbe_pervasive_init();
+       spider_init_IRQ();
+       cell_pervasive_init();
 #ifdef CONFIG_DUMMY_CONSOLE
        conswitchp = &dummy_con;
 #endif
@@ -136,8 +113,12 @@ static void __init cell_init_early(void)
 {
        DBG(" -> cell_init_early()\n");
 
+       hpte_init_native();
+
        cell_init_iommu();
 
+       ppc64_interrupt_controller = IC_CELL_PIC;
+
        DBG(" <- cell_init_early()\n");
 }
 
@@ -146,17 +127,11 @@ static int __init cell_probe(void)
 {
        unsigned long root = of_get_flat_dt_root();
 
-       if (!of_flat_dt_is_compatible(root, "IBM,CBEA") &&
-           !of_flat_dt_is_compatible(root, "IBM,CPBW-1.0"))
-               return 0;
-
-#ifdef CONFIG_UDBG_RTAS_CONSOLE
-       udbg_init_rtas_console();
-#endif
-
-       hpte_init_native();
+       if (of_flat_dt_is_compatible(root, "IBM,CBEA") ||
+           of_flat_dt_is_compatible(root, "IBM,CPBW-1.0"))
+               return 1;
 
-       return 1;
+       return 0;
 }
 
 /*
@@ -183,8 +158,6 @@ define_machine(cell) {
        .calibrate_decr         = generic_calibrate_decr,
        .check_legacy_ioport    = cell_check_legacy_ioport,
        .progress               = cell_progress,
-       .init_IRQ               = cell_init_irq,
-       .pcibios_fixup          = cell_pcibios_fixup,
 #ifdef CONFIG_KEXEC
        .machine_kexec          = default_machine_kexec,
        .machine_kexec_prepare  = default_machine_kexec_prepare,