Skip to content

Commit

Permalink
[ARM] 4848/1: at91: remove false lockdep warnings
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
David Brownell authored and Russell King committed Mar 6, 2008
1 parent b24061f commit 37aca70
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions arch/arm/mach-at91/gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
*/
Expand All @@ -510,6 +515,8 @@ void __init at91_gpio_irq_setup(void)
__raw_writel(~0, this->regbase + PIO_IDR);

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
* shorter, and the AIC handles interrupts sanely.
Expand Down

0 comments on commit 37aca70

Please sign in to comment.