|
@@ -35,6 +35,8 @@
|
|
|
#include <sysdev/cpm2_pic.h>
|
|
|
#endif
|
|
|
|
|
|
+#include "mpc85xx.h"
|
|
|
+
|
|
|
#ifdef CONFIG_PCI
|
|
|
static int mpc85xx_exclude_device(struct pci_controller *hose,
|
|
|
u_char bus, u_char devfn)
|
|
@@ -46,29 +48,11 @@ static int mpc85xx_exclude_device(struct pci_controller *hose,
|
|
|
}
|
|
|
#endif /* CONFIG_PCI */
|
|
|
|
|
|
-#ifdef CONFIG_CPM2
|
|
|
-
|
|
|
-static void cpm2_cascade(unsigned int irq, struct irq_desc *desc)
|
|
|
-{
|
|
|
- struct irq_chip *chip = irq_desc_get_chip(desc);
|
|
|
- int cascade_irq;
|
|
|
-
|
|
|
- while ((cascade_irq = cpm2_get_irq()) >= 0)
|
|
|
- generic_handle_irq(cascade_irq);
|
|
|
-
|
|
|
- chip->irq_eoi(&desc->irq_data);
|
|
|
-}
|
|
|
-
|
|
|
-#endif /* CONFIG_CPM2 */
|
|
|
-
|
|
|
static void __init mpc85xx_ads_pic_init(void)
|
|
|
{
|
|
|
struct mpic *mpic;
|
|
|
struct resource r;
|
|
|
struct device_node *np = NULL;
|
|
|
-#ifdef CONFIG_CPM2
|
|
|
- int irq;
|
|
|
-#endif
|
|
|
|
|
|
np = of_find_node_by_type(np, "open-pic");
|
|
|
if (!np) {
|
|
@@ -90,19 +74,7 @@ static void __init mpc85xx_ads_pic_init(void)
|
|
|
|
|
|
mpic_init(mpic);
|
|
|
|
|
|
-#ifdef CONFIG_CPM2
|
|
|
- /* Setup CPM2 PIC */
|
|
|
- np = of_find_compatible_node(NULL, NULL, "fsl,cpm2-pic");
|
|
|
- if (np == NULL) {
|
|
|
- printk(KERN_ERR "PIC init: can not find fsl,cpm2-pic node\n");
|
|
|
- return;
|
|
|
- }
|
|
|
- irq = irq_of_parse_and_map(np, 0);
|
|
|
-
|
|
|
- cpm2_pic_init(np);
|
|
|
- of_node_put(np);
|
|
|
- irq_set_chained_handler(irq, cpm2_cascade);
|
|
|
-#endif
|
|
|
+ mpc85xx_cpm2_pic_init();
|
|
|
}
|
|
|
|
|
|
/*
|