* an edge even if it isn't on the 8259A...
*/
-static unsigned int startup_ioapic_irq(unsigned int irq)
+static unsigned int startup_ioapic_irq(struct irq_data *data)
{
- int was_pending = 0;
+ int was_pending = 0, irq = data->irq;
unsigned long flags;
- struct irq_cfg *cfg;
raw_spin_lock_irqsave(&ioapic_lock, flags);
if (irq < legacy_pic->nr_legacy_irqs) {
if (legacy_pic->irq_pending(irq))
was_pending = 1;
}
- cfg = irq_cfg(irq);
- __unmask_ioapic(cfg);
+ __unmask_ioapic(data->chip_data);
raw_spin_unlock_irqrestore(&ioapic_lock, flags);
return was_pending;
static struct irq_chip ioapic_chip __read_mostly = {
.name = "IO-APIC",
- .startup = startup_ioapic_irq,
+ .irq_startup = startup_ioapic_irq,
.mask = mask_ioapic_irq,
.unmask = unmask_ioapic_irq,
.ack = ack_apic_edge,
static struct irq_chip ir_ioapic_chip __read_mostly = {
.name = "IR-IO-APIC",
- .startup = startup_ioapic_irq,
+ .irq_startup = startup_ioapic_irq,
.mask = mask_ioapic_irq,
.unmask = unmask_ioapic_irq,
#ifdef CONFIG_INTR_REMAP