* [PATCH v2] gpio: bcm-kona: only use set_irq_flags() on ARM
@ 2013-09-20 21:19 Linus Walleij
2013-09-20 21:26 ` Markus Mayer
0 siblings, 1 reply; 2+ messages in thread
From: Linus Walleij @ 2013-09-20 21:19 UTC (permalink / raw)
To: linux-gpio; +Cc: Alexandre Courbot, Linus Walleij, Markus Mayer
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.
Cc: Markus Mayer <mmayer@broadcom.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
ChangeLog v1->v2:
- Forgot a second place the code was using set_irq_flags()...
---
drivers/gpio/gpio-bcm-kona.c | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c
index f7d932a..c0751a8 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);
*/
static struct lock_class_key gpio_lock_class;
-static int bcm_kona_gpio_irq_map(struct irq_domain *d, unsigned int virq,
+static int bcm_kona_gpio_irq_map(struct irq_domain *d, unsigned int irq,
irq_hw_number_t hwirq)
{
int ret;
- ret = irq_set_chip_data(virq, d->host_data);
+ ret = irq_set_chip_data(irq, d->host_data);
if (ret < 0)
return ret;
- irq_set_lockdep_class(virq, &gpio_lock_class);
- irq_set_chip_and_handler(virq, &bcm_gpio_irq_chip, handle_simple_irq);
- irq_set_nested_thread(virq, 1);
- set_irq_flags(virq, IRQF_VALID);
+ irq_set_lockdep_class(irq, &gpio_lock_class);
+ irq_set_chip_and_handler(irq, &bcm_gpio_irq_chip, handle_simple_irq);
+ irq_set_nested_thread(irq, 1);
+#ifdef CONFIG_ARM
+ set_irq_flags(irq, IRQF_VALID);
+#else
+ irq_set_noprobe(irq);
+#endif
return 0;
}
@@ -598,7 +602,11 @@ static int bcm_kona_gpio_probe(struct platform_device *pdev)
irq_set_lockdep_class(irq, &gpio_lock_class);
irq_set_chip_and_handler(irq, &bcm_gpio_irq_chip,
handle_simple_irq);
+#ifdef CONFIG_ARM
set_irq_flags(irq, IRQF_VALID);
+#else
+ irq_set_noprobe(irq);
+#endif
}
for (i = 0; i < kona_gpio->num_bank; i++) {
bank = &kona_gpio->banks[i];
--
1.8.3.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] gpio: bcm-kona: only use set_irq_flags() on ARM
2013-09-20 21:19 [PATCH v2] gpio: bcm-kona: only use set_irq_flags() on ARM Linus Walleij
@ 2013-09-20 21:26 ` Markus Mayer
0 siblings, 0 replies; 2+ messages in thread
From: Markus Mayer @ 2013-09-20 21:26 UTC (permalink / raw)
To: Linus Walleij; +Cc: linux-gpio, Alexandre Courbot
On 13-09-20 02:19 PM, Linus Walleij wrote:
> 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.
>
> Cc: Markus Mayer <mmayer@broadcom.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> ChangeLog v1->v2:
> - Forgot a second place the code was using set_irq_flags()...
> ---
> drivers/gpio/gpio-bcm-kona.c | 20 ++++++++++++++------
> 1 file changed, 14 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c
> index f7d932a..c0751a8 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);
> */
> static struct lock_class_key gpio_lock_class;
>
> -static int bcm_kona_gpio_irq_map(struct irq_domain *d, unsigned int virq,
> +static int bcm_kona_gpio_irq_map(struct irq_domain *d, unsigned int irq,
> irq_hw_number_t hwirq)
> {
> int ret;
>
> - ret = irq_set_chip_data(virq, d->host_data);
> + ret = irq_set_chip_data(irq, d->host_data);
> if (ret < 0)
> return ret;
> - irq_set_lockdep_class(virq, &gpio_lock_class);
> - irq_set_chip_and_handler(virq, &bcm_gpio_irq_chip, handle_simple_irq);
> - irq_set_nested_thread(virq, 1);
> - set_irq_flags(virq, IRQF_VALID);
> + irq_set_lockdep_class(irq, &gpio_lock_class);
> + irq_set_chip_and_handler(irq, &bcm_gpio_irq_chip, handle_simple_irq);
> + irq_set_nested_thread(irq, 1);
> +#ifdef CONFIG_ARM
> + set_irq_flags(irq, IRQF_VALID);
> +#else
> + irq_set_noprobe(irq);
> +#endif
>
> return 0;
> }
> @@ -598,7 +602,11 @@ static int bcm_kona_gpio_probe(struct platform_device *pdev)
> irq_set_lockdep_class(irq, &gpio_lock_class);
> irq_set_chip_and_handler(irq, &bcm_gpio_irq_chip,
> handle_simple_irq);
> +#ifdef CONFIG_ARM
> set_irq_flags(irq, IRQF_VALID);
> +#else
> + irq_set_noprobe(irq);
> +#endif
> }
> for (i = 0; i < kona_gpio->num_bank; i++) {
> bank = &kona_gpio->banks[i];
>
Thanks for the fix.
Reviewed-by: Markus Mayer <mmayer@broadcom.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-09-20 21:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-20 21:19 [PATCH v2] gpio: bcm-kona: only use set_irq_flags() on ARM Linus Walleij
2013-09-20 21:26 ` Markus Mayer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).