summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner2010-09-28 16:00:34 +0200
committerThomas Gleixner2010-10-12 16:53:37 +0200
commit61a38ce3f59cdb4654e9444329195bd57c3baf74 (patch)
treec0def383fde6371cd7ef2abb50227da4fcae6d91
parentx86: Cleanup io_apic (diff)
downloadkernel-qcow2-linux-61a38ce3f59cdb4654e9444329195bd57c3baf74.tar.gz
kernel-qcow2-linux-61a38ce3f59cdb4654e9444329195bd57c3baf74.tar.xz
kernel-qcow2-linux-61a38ce3f59cdb4654e9444329195bd57c3baf74.zip
x86: io_apic: Convert startup to new irq_chip function
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/apic/io_apic.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 3c4dee8a9ef7..5ced690b8496 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -2218,11 +2218,10 @@ static int __init timer_irq_works(void)
* 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) {
@@ -2230,8 +2229,7 @@ static unsigned int startup_ioapic_irq(unsigned int irq)
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;
@@ -2695,7 +2693,7 @@ static void ir_ack_apic_level(unsigned int irq)
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,
@@ -2708,7 +2706,7 @@ static struct irq_chip ioapic_chip __read_mostly = {
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