diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-03-28 14:10:52 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-03-28 16:55:10 +0200 |
commit | 32f4125ebffee4f3c4dbc6a437fc656129eb9e60 (patch) | |
tree | d64c6bb7ba40c33734896303734416ea5b4f3290 /kernel/irq/spurious.c | |
parent | genirq: Split irq_set_affinity() so it can be called with lock held. (diff) | |
download | linux-32f4125ebffee4f3c4dbc6a437fc656129eb9e60.tar.xz linux-32f4125ebffee4f3c4dbc6a437fc656129eb9e60.zip |
genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data
We really need these flags for some of the interrupt chips. Move it
from internal state to irq_data and provide proper accessors.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David Daney <ddaney@caviumnetworks.com>
Diffstat (limited to '')
-rw-r--r-- | kernel/irq/spurious.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c index dd586ebf9c8c..cd424cdf17fc 100644 --- a/kernel/irq/spurious.c +++ b/kernel/irq/spurious.c @@ -45,12 +45,12 @@ bool irq_wait_for_poll(struct irq_desc *desc) #ifdef CONFIG_SMP do { raw_spin_unlock(&desc->lock); - while (desc->istate & IRQS_INPROGRESS) + while (irqd_irq_inprogress(&desc->irq_data)) cpu_relax(); raw_spin_lock(&desc->lock); - } while (desc->istate & IRQS_INPROGRESS); + } while irqd_irq_inprogress(&desc->irq_data); /* Might have been disabled in meantime */ - return !(desc->istate & IRQS_DISABLED) && desc->action; + return !irqd_irq_disabled(&desc->irq_data) && desc->action; #else return false; #endif @@ -75,7 +75,7 @@ static int try_one_irq(int irq, struct irq_desc *desc, bool force) * Do not poll disabled interrupts unless the spurious * disabled poller asks explicitely. */ - if ((desc->istate & IRQS_DISABLED) && !force) + if (irqd_irq_disabled(&desc->irq_data) && !force) goto out; /* @@ -88,7 +88,7 @@ static int try_one_irq(int irq, struct irq_desc *desc, bool force) goto out; /* Already running on another processor */ - if (desc->istate & IRQS_INPROGRESS) { + if (irqd_irq_inprogress(&desc->irq_data)) { /* * Already running: If it is shared get the other * CPU to go looking for our mystery interrupt too |