forked from luck/tmp_suning_uos_patched
[ARM] 4848/1: at91: remove false lockdep warnings
Remove false lockdep warnings about lock recursion when declaring IRQs as being wake-capable, by marking putting GPIO irq_desc locks into their own class. (Thanks to Peter Zijlstra for helping track down such a small fix to this problem.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Andrew Victor <linux@maxim.org.za> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
b24061fadc
commit
37aca70c62
@ -490,6 +490,11 @@ postcore_initcall(at91_gpio_debugfs_init);
|
|||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/* This lock class tells lockdep that GPIO irqs are in a different
|
||||||
|
* category than their parents, so it won't report false recursion.
|
||||||
|
*/
|
||||||
|
static struct lock_class_key gpio_lock_class;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Called from the processor-specific init to enable GPIO interrupt support.
|
* Called from the processor-specific init to enable GPIO interrupt support.
|
||||||
*/
|
*/
|
||||||
@ -510,6 +515,8 @@ void __init at91_gpio_irq_setup(void)
|
|||||||
__raw_writel(~0, this->regbase + PIO_IDR);
|
__raw_writel(~0, this->regbase + PIO_IDR);
|
||||||
|
|
||||||
for (i = 0, pin = this->chipbase; i < 32; i++, pin++) {
|
for (i = 0, pin = this->chipbase; i < 32; i++, pin++) {
|
||||||
|
lockdep_set_class(&irq_desc[pin].lock, &gpio_lock_class);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Can use the "simple" and not "edge" handler since it's
|
* Can use the "simple" and not "edge" handler since it's
|
||||||
* shorter, and the AIC handles interrupts sanely.
|
* shorter, and the AIC handles interrupts sanely.
|
||||||
|
Loading…
Reference in New Issue
Block a user