aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-03-22 12:11:09 -0400
committerThomas Gleixner <tglx@linutronix.de>2011-03-29 08:47:52 -0400
commit1475b85d08b51b5ee2b7b426247d3ef3f531eafe (patch)
treee0f092b3fda6515735c04a2cecfc3a375df601c6
parentb0f18edaf6ee4e6fac89cae63a90bd38ad2a3418 (diff)
arm: Use genirq lockdep helper to set lock class
Remove the open coded access to irq_desc which will fail on sparse irq and use the proper wrappers. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/arm/mach-at91/gpio.c2
-rw-r--r--arch/arm/mach-tegra/gpio.c2
-rw-r--r--arch/arm/plat-omap/gpio.c4
3 files changed, 3 insertions, 5 deletions
diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c
index af818a21587c..5abcfc016c47 100644
--- a/arch/arm/mach-at91/gpio.c
+++ b/arch/arm/mach-at91/gpio.c
@@ -518,7 +518,7 @@ void __init at91_gpio_irq_setup(void)
518 __raw_writel(~0, this->regbase + PIO_IDR); 518 __raw_writel(~0, this->regbase + PIO_IDR);
519 519
520 for (i = 0, pin = this->chip.base; i < 32; i++, pin++) { 520 for (i = 0, pin = this->chip.base; i < 32; i++, pin++) {
521 lockdep_set_class(&irq_desc[pin].lock, &gpio_lock_class); 521 irq_set_lockdep_class(pin, &gpio_lock_class);
522 522
523 /* 523 /*
524 * Can use the "simple" and not "edge" handler since it's 524 * Can use the "simple" and not "edge" handler since it's
diff --git a/arch/arm/mach-tegra/gpio.c b/arch/arm/mach-tegra/gpio.c
index 094e61a59b1f..8ab2131f41d4 100644
--- a/arch/arm/mach-tegra/gpio.c
+++ b/arch/arm/mach-tegra/gpio.c
@@ -340,7 +340,7 @@ static int __init tegra_gpio_init(void)
340 for (i = INT_GPIO_BASE; i < (INT_GPIO_BASE + TEGRA_NR_GPIOS); i++) { 340 for (i = INT_GPIO_BASE; i < (INT_GPIO_BASE + TEGRA_NR_GPIOS); i++) {
341 bank = &tegra_gpio_banks[GPIO_BANK(irq_to_gpio(i))]; 341 bank = &tegra_gpio_banks[GPIO_BANK(irq_to_gpio(i))];
342 342
343 lockdep_set_class(&irq_desc[i].lock, &gpio_lock_class); 343 irq_set_lockdep_class(i, &gpio_lock_class);
344 set_irq_chip_data(i, bank); 344 set_irq_chip_data(i, bank);
345 set_irq_chip(i, &tegra_gpio_irq_chip); 345 set_irq_chip(i, &tegra_gpio_irq_chip);
346 set_irq_handler(i, handle_simple_irq); 346 set_irq_handler(i, handle_simple_irq);
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index 971d18636942..08af18883e26 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -1672,9 +1672,7 @@ static void __init omap_gpio_chip_init(struct gpio_bank *bank)
1672 1672
1673 for (j = bank->virtual_irq_start; 1673 for (j = bank->virtual_irq_start;
1674 j < bank->virtual_irq_start + bank_width; j++) { 1674 j < bank->virtual_irq_start + bank_width; j++) {
1675 struct irq_desc *d = irq_to_desc(j); 1675 irq_set_lockdep_class(j, &gpio_lock_class);
1676
1677 lockdep_set_class(&d->lock, &gpio_lock_class);
1678 set_irq_chip_data(j, bank); 1676 set_irq_chip_data(j, bank);
1679 if (bank_is_mpuio(bank)) 1677 if (bank_is_mpuio(bank))
1680 set_irq_chip(j, &mpuio_irq_chip); 1678 set_irq_chip(j, &mpuio_irq_chip);