ARM: OMAP: fix 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> Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
Родитель
b8488fbe6d
Коммит
8ba55c5c13
|
@ -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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче