MIPS: Enable GENERIC_HARDIRQS_NO__DO_IRQ for all platforms
__do_IRQ() is deprecated and will go away. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
@ -325,16 +325,11 @@ static void mask_and_ack_maceisa_irq(unsigned int irq)
|
||||
{
|
||||
unsigned long mace_int;
|
||||
|
||||
switch (irq) {
|
||||
case MACEISA_PARALLEL_IRQ:
|
||||
case MACEISA_SERIAL1_TDMAPR_IRQ:
|
||||
case MACEISA_SERIAL2_TDMAPR_IRQ:
|
||||
/* edge triggered */
|
||||
mace_int = mace->perif.ctrl.istat;
|
||||
mace_int &= ~(1 << (irq - MACEISA_AUDIO_SW_IRQ));
|
||||
mace->perif.ctrl.istat = mace_int;
|
||||
break;
|
||||
}
|
||||
/* edge triggered */
|
||||
mace_int = mace->perif.ctrl.istat;
|
||||
mace_int &= ~(1 << (irq - MACEISA_AUDIO_SW_IRQ));
|
||||
mace->perif.ctrl.istat = mace_int;
|
||||
|
||||
disable_maceisa_irq(irq);
|
||||
}
|
||||
|
||||
@ -344,7 +339,16 @@ static void end_maceisa_irq(unsigned irq)
|
||||
enable_maceisa_irq(irq);
|
||||
}
|
||||
|
||||
static struct irq_chip ip32_maceisa_interrupt = {
|
||||
static struct irq_chip ip32_maceisa_level_interrupt = {
|
||||
.name = "IP32 MACE ISA",
|
||||
.ack = disable_maceisa_irq,
|
||||
.mask = disable_maceisa_irq,
|
||||
.mask_ack = disable_maceisa_irq,
|
||||
.unmask = enable_maceisa_irq,
|
||||
.end = end_maceisa_irq,
|
||||
};
|
||||
|
||||
static struct irq_chip ip32_maceisa_edge_interrupt = {
|
||||
.name = "IP32 MACE ISA",
|
||||
.ack = mask_and_ack_maceisa_irq,
|
||||
.mask = disable_maceisa_irq,
|
||||
@ -500,27 +504,50 @@ void __init arch_init_irq(void)
|
||||
for (irq = CRIME_IRQ_BASE; irq <= IP32_IRQ_MAX; irq++) {
|
||||
switch (irq) {
|
||||
case MACE_VID_IN1_IRQ ... MACE_PCI_BRIDGE_IRQ:
|
||||
set_irq_chip(irq, &ip32_mace_interrupt);
|
||||
set_irq_chip_and_handler_name(irq,&ip32_mace_interrupt,
|
||||
handle_level_irq, "level");
|
||||
break;
|
||||
|
||||
case MACEPCI_SCSI0_IRQ ... MACEPCI_SHARED2_IRQ:
|
||||
set_irq_chip(irq, &ip32_macepci_interrupt);
|
||||
set_irq_chip_and_handler_name(irq,
|
||||
&ip32_macepci_interrupt, handle_level_irq,
|
||||
"level");
|
||||
break;
|
||||
|
||||
case CRIME_GBE0_IRQ ... CRIME_GBE3_IRQ:
|
||||
set_irq_chip(irq, &crime_edge_interrupt);
|
||||
set_irq_chip_and_handler_name(irq,
|
||||
&crime_edge_interrupt, handle_edge_irq, "edge");
|
||||
break;
|
||||
case CRIME_CPUERR_IRQ:
|
||||
case CRIME_MEMERR_IRQ:
|
||||
set_irq_chip(irq, &crime_level_interrupt);
|
||||
set_irq_chip_and_handler_name(irq,
|
||||
&crime_level_interrupt, handle_level_irq,
|
||||
"level");
|
||||
break;
|
||||
|
||||
case CRIME_RE_EMPTY_E_IRQ ... CRIME_RE_IDLE_E_IRQ:
|
||||
case CRIME_SOFT0_IRQ ... CRIME_SOFT2_IRQ:
|
||||
set_irq_chip(irq, &crime_edge_interrupt);
|
||||
set_irq_chip_and_handler_name(irq,
|
||||
&crime_edge_interrupt, handle_edge_irq, "edge");
|
||||
break;
|
||||
|
||||
case CRIME_VICE_IRQ:
|
||||
set_irq_chip(irq, &crime_edge_interrupt);
|
||||
set_irq_chip_and_handler_name(irq,
|
||||
&crime_edge_interrupt, handle_edge_irq, "edge");
|
||||
break;
|
||||
|
||||
case MACEISA_PARALLEL_IRQ:
|
||||
case MACEISA_SERIAL1_TDMAPR_IRQ:
|
||||
case MACEISA_SERIAL2_TDMAPR_IRQ:
|
||||
set_irq_chip_and_handler_name(irq,
|
||||
&ip32_maceisa_edge_interrupt, handle_edge_irq,
|
||||
"edge");
|
||||
break;
|
||||
|
||||
default:
|
||||
set_irq_chip(irq, &ip32_maceisa_interrupt);
|
||||
set_irq_chip_and_handler_name(irq,
|
||||
&ip32_maceisa_level_interrupt, handle_level_irq,
|
||||
"level");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user