aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/gpio.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-03-18 02:44:31 -0400
committerDavid S. Miller <davem@davemloft.net>2008-03-18 02:44:31 -0400
commit2f633928cbba8a5858bb39b11e7219a41b0fbef5 (patch)
tree9a82f4b7f2c3afe4b0208d8e44ea61bae90a7d22 /arch/arm/mach-at91/gpio.c
parent5e226e4d9016daee170699f8a4188a5505021756 (diff)
parentbde4f8fa8db2abd5ac9c542d76012d0fedab050f (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'arch/arm/mach-at91/gpio.c')
-rw-r--r--arch/arm/mach-at91/gpio.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c
index f629c2b5f0c5..ee4964abcaf5 100644
--- a/arch/arm/mach-at91/gpio.c
+++ b/arch/arm/mach-at91/gpio.c
@@ -490,6 +490,11 @@ postcore_initcall(at91_gpio_debugfs_init);
490 490
491/*--------------------------------------------------------------------------*/ 491/*--------------------------------------------------------------------------*/
492 492
493/* This lock class tells lockdep that GPIO irqs are in a different
494 * category than their parents, so it won't report false recursion.
495 */
496static struct lock_class_key gpio_lock_class;
497
493/* 498/*
494 * Called from the processor-specific init to enable GPIO interrupt support. 499 * Called from the processor-specific init to enable GPIO interrupt support.
495 */ 500 */
@@ -510,6 +515,8 @@ void __init at91_gpio_irq_setup(void)
510 __raw_writel(~0, this->regbase + PIO_IDR); 515 __raw_writel(~0, this->regbase + PIO_IDR);
511 516
512 for (i = 0, pin = this->chipbase; i < 32; i++, pin++) { 517 for (i = 0, pin = this->chipbase; i < 32; i++, pin++) {
518 lockdep_set_class(&irq_desc[pin].lock, &gpio_lock_class);
519
513 /* 520 /*
514 * Can use the "simple" and not "edge" handler since it's 521 * Can use the "simple" and not "edge" handler since it's
515 * shorter, and the AIC handles interrupts sanely. 522 * shorter, and the AIC handles interrupts sanely.