X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fppc%2Fplatforms%2Fpmac_pic.c;h=bebba87931eeb81d95408433fe4d80e9a0330c92;hb=9e1bf581d67d87a1d7fc0ea500729e3a03643a26;hp=8441a4a6aa6ec7018cea05a288082e86103cfb4e;hpb=8d40237c730b8be87c1b80a5d96b9c603fefa829;p=linux-2.6.git diff --git a/arch/ppc/platforms/pmac_pic.c b/arch/ppc/platforms/pmac_pic.c index 8441a4a6a..bebba8793 100644 --- a/arch/ppc/platforms/pmac_pic.c +++ b/arch/ppc/platforms/pmac_pic.c @@ -214,7 +214,7 @@ static irqreturn_t gatwick_action(int cpl, void *dev_id, struct pt_regs *regs) if (bits == 0) continue; irq += __ilog2(bits); - __do_IRQ(irq, regs); + ppc_irq_dispatch_handler(regs, irq); return IRQ_HANDLED; } printk("gatwick irq not from gatwick pic\n"); @@ -383,34 +383,11 @@ static irqreturn_t k2u3_action(int cpl, void *dev_id, struct pt_regs *regs) irq = openpic2_get_irq(regs); if (irq != -1) - __do_IRQ(irq, regs); + ppc_irq_dispatch_handler(regs, irq); return IRQ_HANDLED; } - -static struct irqaction k2u3_cascade_action = { - .handler = k2u3_action, - .flags = 0, - .mask = CPU_MASK_NONE, - .name = "U3->K2 Cascade", -}; #endif /* CONFIG_POWER4 */ -#ifdef CONFIG_XMON -static struct irqaction xmon_action = { - .handler = xmon_irq, - .flags = 0, - .mask = CPU_MASK_NONE, - .name = "NMI - XMON" -}; -#endif - -static struct irqaction gatwick_cascade_action = { - .handler = gatwick_action, - .flags = SA_INTERRUPT, - .mask = CPU_MASK_NONE, - .name = "cascade", -}; - void __init pmac_pic_init(void) { int i; @@ -463,9 +440,8 @@ void __init pmac_pic_init(void) OpenPIC_InitSenses = senses; OpenPIC_NumInitSenses = 128; openpic2_init(PMAC_OPENPIC2_OFFSET); - - if (setup_irq(irqctrler2->intrs[0].line, - &k2u3_cascade_action)) + if (request_irq(irqctrler2->intrs[0].line, k2u3_action, 0, + "U3->K2 Cascade", NULL)) printk("Unable to get OpenPIC IRQ for cascade\n"); } #endif /* CONFIG_POWER4 */ @@ -479,7 +455,8 @@ void __init pmac_pic_init(void) if (pswitch && pswitch->n_intrs) { nmi_irq = pswitch->intrs[0].line; openpic_init_nmi_irq(nmi_irq); - setup_irq(nmi_irq, &xmon_action); + request_irq(nmi_irq, xmon_irq, 0, + "NMI - XMON", NULL); } } #endif /* CONFIG_XMON */ @@ -576,7 +553,8 @@ void __init pmac_pic_init(void) (int)irq_cascade); for ( i = max_real_irqs ; i < max_irqs ; i++ ) irq_desc[i].handler = &gatwick_pic; - setup_irq(irq_cascade, &gatwick_cascade_action); + request_irq( irq_cascade, gatwick_action, SA_INTERRUPT, + "cascade", NULL ); } printk("System has %d possible interrupts\n", max_irqs); if (max_irqs != max_real_irqs) @@ -584,7 +562,7 @@ void __init pmac_pic_init(void) max_real_irqs); #ifdef CONFIG_XMON - setup_irq(20, &xmon_action); + request_irq(20, xmon_irq, 0, "NMI - XMON", NULL); #endif /* CONFIG_XMON */ }