|
@@ -1277,6 +1277,11 @@ static struct clk *gpio_fclks[OMAP34XX_NR_GPIOS];
|
|
static struct clk *gpio_iclks[OMAP34XX_NR_GPIOS];
|
|
static struct clk *gpio_iclks[OMAP34XX_NR_GPIOS];
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+/* 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;
|
|
|
|
+
|
|
static int __init _omap_gpio_init(void)
|
|
static int __init _omap_gpio_init(void)
|
|
{
|
|
{
|
|
int i;
|
|
int i;
|
|
@@ -1450,6 +1455,7 @@ static int __init _omap_gpio_init(void)
|
|
#endif
|
|
#endif
|
|
for (j = bank->virtual_irq_start;
|
|
for (j = bank->virtual_irq_start;
|
|
j < bank->virtual_irq_start + gpio_count; j++) {
|
|
j < bank->virtual_irq_start + gpio_count; j++) {
|
|
|
|
+ lockdep_set_class(&irq_desc[j].lock, &gpio_lock_class);
|
|
set_irq_chip_data(j, bank);
|
|
set_irq_chip_data(j, bank);
|
|
if (bank_is_mpuio(bank))
|
|
if (bank_is_mpuio(bank))
|
|
set_irq_chip(j, &mpuio_irq_chip);
|
|
set_irq_chip(j, &mpuio_irq_chip);
|