genirq: Provide a lockdep helper
Some irq chips need to call genirq functions for nested chips from their callbacks. That upsets lockdep. So they need to set a different lock class for those nested chips. Provide a helper function to avoid open access to irq_desc. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
3b90389128
commit
d3e17deb17
|
@ -191,6 +191,15 @@ static inline void __set_irq_handler_unlocked(int irq,
|
||||||
desc->handle_irq = handler;
|
desc->handle_irq = handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
irq_set_lockdep_class(unsigned int irq, struct lock_class_key *class)
|
||||||
|
{
|
||||||
|
struct irq_desc *desc = irq_to_desc(irq);
|
||||||
|
|
||||||
|
if (desc)
|
||||||
|
lockdep_set_class(&desc->lock, class);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_IRQ_PREFLOW_FASTEOI
|
#ifdef CONFIG_IRQ_PREFLOW_FASTEOI
|
||||||
static inline void
|
static inline void
|
||||||
__irq_set_preflow_handler(unsigned int irq, irq_preflow_handler_t handler)
|
__irq_set_preflow_handler(unsigned int irq, irq_preflow_handler_t handler)
|
||||||
|
|
Loading…
Reference in a new issue