diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2013-09-20 17:14:18 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-09-20 17:29:52 -0400 |
commit | 1dc94272117e35c1618516ffe5b129a7663c1d03 (patch) | |
tree | 4e11c1561de291d40b3465a14a65da8ceffc7540 /drivers/gpio/gpio-bcm-kona.c | |
parent | 7d1815e1e51af36b5b52983cce8bc23cd79a92a9 (diff) |
gpio: bcm-kona: only use set_irq_flags() on ARM
As per the pattern from other GPIO drivers, use set_irq_flags()
on ARM only, use irq_set_noprobe() on other archs.
Also rename the argument "virq" to just "irq", this IRQ isn't
any more "virtual" than any other Linux IRQ number, we use
"hwirq" for the actual hw-numbers, "virq" is just bogus.
Reviewed-by: Markus Mayer <mmayer@broadcom.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-bcm-kona.c')
-rw-r--r-- | drivers/gpio/gpio-bcm-kona.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c index f7d932ac64e6..c0751a8c2dee 100644 --- a/drivers/gpio/gpio-bcm-kona.c +++ b/drivers/gpio/gpio-bcm-kona.c | |||
@@ -468,18 +468,22 @@ MODULE_DEVICE_TABLE(of, bcm_kona_gpio_of_match); | |||
468 | */ | 468 | */ |
469 | static struct lock_class_key gpio_lock_class; | 469 | static struct lock_class_key gpio_lock_class; |
470 | 470 | ||
471 | static int bcm_kona_gpio_irq_map(struct irq_domain *d, unsigned int virq, | 471 | static int bcm_kona_gpio_irq_map(struct irq_domain *d, unsigned int irq, |
472 | irq_hw_number_t hwirq) | 472 | irq_hw_number_t hwirq) |
473 | { | 473 | { |
474 | int ret; | 474 | int ret; |
475 | 475 | ||
476 | ret = irq_set_chip_data(virq, d->host_data); | 476 | ret = irq_set_chip_data(irq, d->host_data); |
477 | if (ret < 0) | 477 | if (ret < 0) |
478 | return ret; | 478 | return ret; |
479 | irq_set_lockdep_class(virq, &gpio_lock_class); | 479 | irq_set_lockdep_class(irq, &gpio_lock_class); |
480 | irq_set_chip_and_handler(virq, &bcm_gpio_irq_chip, handle_simple_irq); | 480 | irq_set_chip_and_handler(irq, &bcm_gpio_irq_chip, handle_simple_irq); |
481 | irq_set_nested_thread(virq, 1); | 481 | irq_set_nested_thread(irq, 1); |
482 | set_irq_flags(virq, IRQF_VALID); | 482 | #ifdef CONFIG_ARM |
483 | set_irq_flags(irq, IRQF_VALID); | ||
484 | #else | ||
485 | irq_set_noprobe(irq); | ||
486 | #endif | ||
483 | 487 | ||
484 | return 0; | 488 | return 0; |
485 | } | 489 | } |
@@ -598,7 +602,11 @@ static int bcm_kona_gpio_probe(struct platform_device *pdev) | |||
598 | irq_set_lockdep_class(irq, &gpio_lock_class); | 602 | irq_set_lockdep_class(irq, &gpio_lock_class); |
599 | irq_set_chip_and_handler(irq, &bcm_gpio_irq_chip, | 603 | irq_set_chip_and_handler(irq, &bcm_gpio_irq_chip, |
600 | handle_simple_irq); | 604 | handle_simple_irq); |
605 | #ifdef CONFIG_ARM | ||
601 | set_irq_flags(irq, IRQF_VALID); | 606 | set_irq_flags(irq, IRQF_VALID); |
607 | #else | ||
608 | irq_set_noprobe(irq); | ||
609 | #endif | ||
602 | } | 610 | } |
603 | for (i = 0; i < kona_gpio->num_bank; i++) { | 611 | for (i = 0; i < kona_gpio->num_bank; i++) { |
604 | bank = &kona_gpio->banks[i]; | 612 | bank = &kona_gpio->banks[i]; |