[v2,1/2] gpio: mvebu: use platform_irq_count
diff mbox series

Message ID 1575433106-16171-1-git-send-email-peng.fan@nxp.com
State New
Headers show
Series
  • [v2,1/2] gpio: mvebu: use platform_irq_count
Related show

Commit Message

Peng Fan Dec. 4, 2019, 4:20 a.m. UTC
From: Peng Fan <peng.fan@nxp.com>

platform_irq_count() is the more generic way (independent of
device trees) to determine the count of available interrupts. So
use this instead.

As platform_irq_count() might return an error code (which
of_irq_count doesn't) some additional handling is necessary.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---

V2:
 Update commit log, add err handling
 Not tested, just code inspection

 drivers/gpio/gpio-mvebu.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Uwe Kleine-König Dec. 4, 2019, 7:24 a.m. UTC | #1
On Wed, Dec 04, 2019 at 04:20:41AM +0000, Peng Fan wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> platform_irq_count() is the more generic way (independent of
> device trees) to determine the count of available interrupts. So
> use this instead.
> 
> As platform_irq_count() might return an error code (which
> of_irq_count doesn't) some additional handling is necessary.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-and-Commit-Log-Provided-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

:-)
Best regards
Uwe
Bartosz Golaszewski Dec. 4, 2019, 4:33 p.m. UTC | #2
śr., 4 gru 2019 o 08:24 Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> napisał(a):
>
> On Wed, Dec 04, 2019 at 04:20:41AM +0000, Peng Fan wrote:
> > From: Peng Fan <peng.fan@nxp.com>
> >
> > platform_irq_count() is the more generic way (independent of
> > device trees) to determine the count of available interrupts. So
> > use this instead.
> >
> > As platform_irq_count() might return an error code (which
> > of_irq_count doesn't) some additional handling is necessary.
> >
> > Signed-off-by: Peng Fan <peng.fan@nxp.com>
> Reviewed-and-Commit-Log-Provided-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

This is not a valid tag, but I take it as Suggested-by and Reviewed-by. :)

Bart

>
> :-)
> Best regards
> Uwe
>
> --
> Pengutronix e.K.                           | Uwe Kleine-König            |
> Industrial Linux Solutions                 | https://www.pengutronix.de/ |
Uwe Kleine-König Dec. 4, 2019, 6:47 p.m. UTC | #3
On Wed, Dec 04, 2019 at 05:33:04PM +0100, Bartosz Golaszewski wrote:
> śr., 4 gru 2019 o 08:24 Uwe Kleine-König
> <u.kleine-koenig@pengutronix.de> napisał(a):
> >
> > On Wed, Dec 04, 2019 at 04:20:41AM +0000, Peng Fan wrote:
> > > From: Peng Fan <peng.fan@nxp.com>
> > >
> > > platform_irq_count() is the more generic way (independent of
> > > device trees) to determine the count of available interrupts. So
> > > use this instead.
> > >
> > > As platform_irq_count() might return an error code (which
> > > of_irq_count doesn't) some additional handling is necessary.
> > >
> > > Signed-off-by: Peng Fan <peng.fan@nxp.com>
> > Reviewed-and-Commit-Log-Provided-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> 
> This is not a valid tag, but I take it as Suggested-by and Reviewed-by. :)

If you care about the validity of such tags, I suggest you take a look
at the output of

	$ git rev-list v4.0..v5.4 | while read rev; do git cat-file commit $rev; done | sed -n 's/ *\(.*-by\):.*/\1/p' | sort | uniq -c | sort -n

(which finds all tags used between 4.0 and 5.4 with its usage count).

A few of the tags (admittedly with low usage count :-) included there are:

  Badly-reviewed-by
  Bonus-points-awarded-by
  Compile-tested and Reviewed-by
  Enthusiastically-Acked-by
  Mea-culpa-by
  \o/-by
  Brown-paper-bag-by

Best regards
Uwe
Bartosz Golaszewski Dec. 5, 2019, 9:22 a.m. UTC | #4
śr., 4 gru 2019 o 19:47 Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> napisał(a):
>
> On Wed, Dec 04, 2019 at 05:33:04PM +0100, Bartosz Golaszewski wrote:
> > śr., 4 gru 2019 o 08:24 Uwe Kleine-König
> > <u.kleine-koenig@pengutronix.de> napisał(a):
> > >
> > > On Wed, Dec 04, 2019 at 04:20:41AM +0000, Peng Fan wrote:
> > > > From: Peng Fan <peng.fan@nxp.com>
> > > >
> > > > platform_irq_count() is the more generic way (independent of
> > > > device trees) to determine the count of available interrupts. So
> > > > use this instead.
> > > >
> > > > As platform_irq_count() might return an error code (which
> > > > of_irq_count doesn't) some additional handling is necessary.
> > > >
> > > > Signed-off-by: Peng Fan <peng.fan@nxp.com>
> > > Reviewed-and-Commit-Log-Provided-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> >
> > This is not a valid tag, but I take it as Suggested-by and Reviewed-by. :)
>
> If you care about the validity of such tags, I suggest you take a look
> at the output of
>
>         $ git rev-list v4.0..v5.4 | while read rev; do git cat-file commit $rev; done | sed -n 's/ *\(.*-by\):.*/\1/p' | sort | uniq -c | sort -n
>
> (which finds all tags used between 4.0 and 5.4 with its usage count).
>
> A few of the tags (admittedly with low usage count :-) included there are:
>
>   Badly-reviewed-by
>   Bonus-points-awarded-by
>   Compile-tested and Reviewed-by
>   Enthusiastically-Acked-by
>   Mea-culpa-by
>   \o/-by
>   Brown-paper-bag-by
>
> Best regards
> Uwe

I am well aware of this and there has been a discussion on LKML some
time ago (I can no longer find it though) about introducing stricter
rules for tags. I don't remember the outcome either though.

Bart

Patch
diff mbox series

diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c
index 993bbeb3c006..f0fd82b3417c 100644
--- a/drivers/gpio/gpio-mvebu.c
+++ b/drivers/gpio/gpio-mvebu.c
@@ -46,7 +46,6 @@ 
 #include <linux/irqdomain.h>
 #include <linux/mfd/syscon.h>
 #include <linux/of_device.h>
-#include <linux/of_irq.h>
 #include <linux/pinctrl/consumer.h>
 #include <linux/platform_device.h>
 #include <linux/pwm.h>
@@ -1102,7 +1101,11 @@  static int mvebu_gpio_probe(struct platform_device *pdev)
 		soc_variant = MVEBU_GPIO_SOC_VARIANT_ORION;
 
 	/* Some gpio controllers do not provide irq support */
-	have_irqs = of_irq_count(np) != 0;
+	err = platform_irq_count(pdev);
+	if (err < 0)
+		return err;
+
+	have_irqs = err != 0;
 
 	mvchip = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_gpio_chip),
 			      GFP_KERNEL);