genirq: Add IRQ_MOVE_PENDING to irq_data.state

chip implementations need to know about it. Keep status in sync until
all users are fixed. 

Accessor function: irqd_is_setaffinity_pending(irqdata)

Coders who access them directly will be tracked down and slapped with
stinking trouts.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
Thomas Gleixner
2011-02-05 15:20:04 +01:00
parent 91c4991781
commit f230b6d5c4
7 changed files with 52 additions and 8 deletions

View File

@@ -107,7 +107,7 @@ static inline bool irq_can_move_pcntxt(struct irq_desc *desc)
}
static inline bool irq_move_pending(struct irq_desc *desc)
{
return desc->status & IRQ_MOVE_PENDING;
return irqd_is_setaffinity_pending(&desc->irq_data);
}
static inline void
irq_copy_pending(struct irq_desc *desc, const struct cpumask *mask)
@@ -156,7 +156,7 @@ int irq_set_affinity(unsigned int irq, const struct cpumask *mask)
ret = 0;
}
} else {
desc->status |= IRQ_MOVE_PENDING;
irqd_set_move_pending(&desc->irq_data);
irq_copy_pending(desc, mask);
}