aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/plat-omap/gpio.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index 56f4d1394d56..9030495509f8 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -1277,6 +1277,11 @@ static struct clk *gpio_fclks[OMAP34XX_NR_GPIOS];
1277static struct clk *gpio_iclks[OMAP34XX_NR_GPIOS]; 1277static struct clk *gpio_iclks[OMAP34XX_NR_GPIOS];
1278#endif 1278#endif
1279 1279
1280/* This lock class tells lockdep that GPIO irqs are in a different
1281 * category than their parents, so it won't report false recursion.
1282 */
1283static struct lock_class_key gpio_lock_class;
1284
1280static int __init _omap_gpio_init(void) 1285static int __init _omap_gpio_init(void)
1281{ 1286{
1282 int i; 1287 int i;
@@ -1450,6 +1455,7 @@ static int __init _omap_gpio_init(void)
1450#endif 1455#endif
1451 for (j = bank->virtual_irq_start; 1456 for (j = bank->virtual_irq_start;
1452 j < bank->virtual_irq_start + gpio_count; j++) { 1457 j < bank->virtual_irq_start + gpio_count; j++) {
1458 lockdep_set_class(&irq_desc[j].lock, &gpio_lock_class);
1453 set_irq_chip_data(j, bank); 1459 set_irq_chip_data(j, bank);
1454 if (bank_is_mpuio(bank)) 1460 if (bank_is_mpuio(bank))
1455 set_irq_chip(j, &mpuio_irq_chip); 1461 set_irq_chip(j, &mpuio_irq_chip);