void mac_irq_enable(struct irq_data *data) { int irq = data->irq; int irq_src = IRQ_SRC(irq); switch(irq_src) { case 1: via_irq_enable(irq); break; case 2: case 7: if (oss_present) oss_irq_enable(irq); else via_irq_enable(irq); break; case 3: case 5: case 6: if (psc_present) psc_irq_enable(irq); else if (oss_present) oss_irq_enable(irq); break; case 4: if (psc_present) psc_irq_enable(irq); break; case 8: if (baboon_present) baboon_irq_enable(irq); break; } }
void mac_enable_irq (unsigned int irq) { int irq_src = IRQ_SRC(irq); switch(irq_src) { case 1: via_irq_enable(irq); break; case 2: case 7: if (oss_present) { oss_irq_enable(irq); } else { via_irq_enable(irq); } break; case 3: case 4: case 5: case 6: if (psc_present) { psc_irq_enable(irq); } else if (oss_present) { oss_irq_enable(irq); } else if (irq_src == 4) { scc_irq_enable(irq); } break; case 8: if (baboon_present) { baboon_irq_enable(irq); } break; } }