aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-bcm-kona.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2013-09-20 17:14:18 -0400
committerLinus Walleij <linus.walleij@linaro.org>2013-09-20 17:29:52 -0400
commit1dc94272117e35c1618516ffe5b129a7663c1d03 (patch)
tree4e11c1561de291d40b3465a14a65da8ceffc7540 /drivers/gpio/gpio-bcm-kona.c
parent7d1815e1e51af36b5b52983cce8bc23cd79a92a9 (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.c20
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 */
469static struct lock_class_key gpio_lock_class; 469static struct lock_class_key gpio_lock_class;
470 470
471static int bcm_kona_gpio_irq_map(struct irq_domain *d, unsigned int virq, 471static 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];