Commit 0c6cbb6b authored by Alan Cox's avatar Alan Cox Committed by Jens Axboe

[PATCH] merge the NEC98 parsing code

This is nice and clean (your tree already knows the idents)
parent d4bae497
...@@ -668,7 +668,9 @@ static int __init find_isa_irq_pin(int irq, int type) ...@@ -668,7 +668,9 @@ static int __init find_isa_irq_pin(int irq, int type)
if ((mp_bus_id_to_type[lbus] == MP_BUS_ISA || if ((mp_bus_id_to_type[lbus] == MP_BUS_ISA ||
mp_bus_id_to_type[lbus] == MP_BUS_EISA || mp_bus_id_to_type[lbus] == MP_BUS_EISA ||
mp_bus_id_to_type[lbus] == MP_BUS_MCA) && mp_bus_id_to_type[lbus] == MP_BUS_MCA ||
mp_bus_id_to_type[lbus] == MP_BUS_NEC98
) &&
(mp_irqs[i].mpc_irqtype == type) && (mp_irqs[i].mpc_irqtype == type) &&
(mp_irqs[i].mpc_srcbusirq == irq)) (mp_irqs[i].mpc_srcbusirq == irq))
...@@ -762,6 +764,12 @@ static int __init EISA_ELCR(unsigned int irq) ...@@ -762,6 +764,12 @@ static int __init EISA_ELCR(unsigned int irq)
#define default_MCA_trigger(idx) (1) #define default_MCA_trigger(idx) (1)
#define default_MCA_polarity(idx) (0) #define default_MCA_polarity(idx) (0)
/* NEC98 interrupts are always polarity zero edge triggered,
* when listed as conforming in the MP table. */
#define default_NEC98_trigger(idx) (0)
#define default_NEC98_polarity(idx) (0)
static int __init MPBIOS_polarity(int idx) static int __init MPBIOS_polarity(int idx)
{ {
int bus = mp_irqs[idx].mpc_srcbus; int bus = mp_irqs[idx].mpc_srcbus;
...@@ -796,6 +804,11 @@ static int __init MPBIOS_polarity(int idx) ...@@ -796,6 +804,11 @@ static int __init MPBIOS_polarity(int idx)
polarity = default_MCA_polarity(idx); polarity = default_MCA_polarity(idx);
break; break;
} }
case MP_BUS_NEC98: /* NEC 98 pin */
{
polarity = default_NEC98_polarity(idx);
break;
}
default: default:
{ {
printk(KERN_WARNING "broken BIOS!!\n"); printk(KERN_WARNING "broken BIOS!!\n");
...@@ -865,6 +878,11 @@ static int __init MPBIOS_trigger(int idx) ...@@ -865,6 +878,11 @@ static int __init MPBIOS_trigger(int idx)
trigger = default_MCA_trigger(idx); trigger = default_MCA_trigger(idx);
break; break;
} }
case MP_BUS_NEC98: /* NEC 98 pin */
{
trigger = default_NEC98_trigger(idx);
break;
}
default: default:
{ {
printk(KERN_WARNING "broken BIOS!!\n"); printk(KERN_WARNING "broken BIOS!!\n");
...@@ -926,6 +944,7 @@ static int pin_2_irq(int idx, int apic, int pin) ...@@ -926,6 +944,7 @@ static int pin_2_irq(int idx, int apic, int pin)
case MP_BUS_ISA: /* ISA pin */ case MP_BUS_ISA: /* ISA pin */
case MP_BUS_EISA: case MP_BUS_EISA:
case MP_BUS_MCA: case MP_BUS_MCA:
case MP_BUS_NEC98:
{ {
irq = mp_irqs[idx].mpc_srcbusirq; irq = mp_irqs[idx].mpc_srcbusirq;
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment