Merge branch 'core/softlockup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / arch / powerpc / platforms / 86xx / mpc86xx_hpcn.c
index cfbe8c5..f712d9c 100644 (file)
@@ -28,7 +28,6 @@
 #include <asm/prom.h>
 #include <mm/mmu_decl.h>
 #include <asm/udbg.h>
-#include <asm/i8259.h>
 
 #include <asm/mpic.h>
 
 #endif
 
 #ifdef CONFIG_PCI
-static void mpc86xx_8259_cascade(unsigned int irq, struct irq_desc *desc)
-{
-       unsigned int cascade_irq = i8259_irq();
-       if (cascade_irq != NO_IRQ)
-               generic_handle_irq(cascade_irq);
-       desc->chip->eoi(irq);
-}
-#endif /* CONFIG_PCI */
-
-void __init
-mpc86xx_hpcn_init_irq(void)
-{
-       struct mpic *mpic1;
-       struct device_node *np;
-       struct resource res;
-#ifdef CONFIG_PCI
-       struct device_node *cascade_node = NULL;
-       int cascade_irq;
-#endif
-
-       /* Determine PIC address. */
-       np = of_find_node_by_type(NULL, "open-pic");
-       if (np == NULL)
-               return;
-       of_address_to_resource(np, 0, &res);
-
-       /* Alloc mpic structure and per isu has 16 INT entries. */
-       mpic1 = mpic_alloc(np, res.start,
-                       MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN,
-                       0, 256, " MPIC     ");
-       BUG_ON(mpic1 == NULL);
-
-       mpic_init(mpic1);
-
-#ifdef CONFIG_PCI
-       /* Initialize i8259 controller */
-       for_each_node_by_type(np, "interrupt-controller")
-               if (of_device_is_compatible(np, "chrp,iic")) {
-                       cascade_node = np;
-                       break;
-               }
-       if (cascade_node == NULL) {
-               printk(KERN_DEBUG "mpc86xxhpcn: no ISA interrupt controller\n");
-               return;
-       }
-
-       cascade_irq = irq_of_parse_and_map(cascade_node, 0);
-       if (cascade_irq == NO_IRQ) {
-               printk(KERN_ERR "mpc86xxhpcn: failed to map cascade interrupt");
-               return;
-       }
-       DBG("mpc86xxhpcn: cascade mapped to irq %d\n", cascade_irq);
-
-       i8259_init(cascade_node, 0);
-       of_node_put(cascade_node);
-
-       set_irq_chained_handler(cascade_irq, mpc86xx_8259_cascade);
-#endif
-}
-
-#ifdef CONFIG_PCI
-extern int uses_fsl_uli_m1575;
 extern int uli_exclude_device(struct pci_controller *hose,
                                u_char bus, u_char devfn);
 
@@ -149,7 +86,6 @@ mpc86xx_hpcn_setup_arch(void)
                        fsl_add_bridge(np, 0);
        }
 
-       uses_fsl_uli_m1575 = 1;
        ppc_md.pci_exclude_device = mpc86xx_exclude_device;
 
 #endif
@@ -162,7 +98,7 @@ mpc86xx_hpcn_setup_arch(void)
 }
 
 
-void
+static void
 mpc86xx_hpcn_show_cpuinfo(struct seq_file *m)
 {
        struct device_node *root;
@@ -190,13 +126,19 @@ static int __init mpc86xx_hpcn_probe(void)
 {
        unsigned long root = of_get_flat_dt_root();
 
-       if (of_flat_dt_is_compatible(root, "mpc86xx"))
+       if (of_flat_dt_is_compatible(root, "fsl,mpc8641hpcn"))
                return 1;       /* Looks good */
 
+       /* Be nice and don't give silent boot death.  Delete this in 2.6.27 */
+       if (of_flat_dt_is_compatible(root, "mpc86xx")) {
+               pr_warning("WARNING: your dts/dtb is old. You must update before the next kernel release\n");
+               return 1;
+       }
+
        return 0;
 }
 
-long __init
+static long __init
 mpc86xx_time_init(void)
 {
        unsigned int temp;
@@ -215,6 +157,7 @@ mpc86xx_time_init(void)
 
 static __initdata struct of_device_id of_bus_ids[] = {
        { .compatible = "simple-bus", },
+       { .compatible = "fsl,rapidio-delta", },
        {},
 };
 
@@ -230,7 +173,7 @@ define_machine(mpc86xx_hpcn) {
        .name                   = "MPC86xx HPCN",
        .probe                  = mpc86xx_hpcn_probe,
        .setup_arch             = mpc86xx_hpcn_setup_arch,
-       .init_IRQ               = mpc86xx_hpcn_init_irq,
+       .init_IRQ               = mpc86xx_init_irq,
        .show_cpuinfo           = mpc86xx_hpcn_show_cpuinfo,
        .get_irq                = mpic_get_irq,
        .restart                = fsl_rstcr_restart,