Re: [PATCH v3 2/2] gpio: bcm-kona: use platform_irq_count

From: Bartosz Golaszewski
Date: Wed Dec 11 2019 - 04:30:46 EST


År., 4 gru 2019 o 11:09 Uwe Kleine-KÃnig
<u.kleine-koenig@xxxxxxxxxxxxxx> napisaÅ(a):
>
> On Wed, Dec 04, 2019 at 09:24:39AM +0000, Peng Fan wrote:
> > From: Peng Fan <peng.fan@xxxxxxx>
> >
> > 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@xxxxxxx>
> > ---
> >
> > V3:
> > Use %pe
>
> Great. Note that with %pe there is a dependency on commit 57f5677e535b
> ("printf: add support for printing symbolic error names") which was
> applied during the current merge window.
>

Why would %pe be better in this case? The function returned an int -
why convert it to a pointer?

Bart

> > V2:
> > Update commit log, and add err handling
> > Not tested, just code inspection
> >
> >
> > drivers/gpio/gpio-bcm-kona.c | 12 +++++++++---
> > 1 file changed, 9 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c
> > index 4122683eb1f9..baee8c3f06ad 100644
> > --- a/drivers/gpio/gpio-bcm-kona.c
> > +++ b/drivers/gpio/gpio-bcm-kona.c
> > @@ -19,7 +19,6 @@
> > #include <linux/io.h>
> > #include <linux/gpio/driver.h>
> > #include <linux/of_device.h>
> > -#include <linux/of_irq.h>
> > #include <linux/init.h>
> > #include <linux/irqdomain.h>
> > #include <linux/irqchip/chained_irq.h>
> > @@ -586,11 +585,18 @@ static int bcm_kona_gpio_probe(struct platform_device *pdev)
> >
> > kona_gpio->gpio_chip = template_chip;
> > chip = &kona_gpio->gpio_chip;
> > - kona_gpio->num_bank = of_irq_count(dev->of_node);
> > - if (kona_gpio->num_bank == 0) {
> > + ret = platform_irq_count(pdev);
> > + if (!ret) {
> > dev_err(dev, "Couldn't determine # GPIO banks\n");
> > return -ENOENT;
> > + } else if (ret < 0) {
> > + if (ret != -EPROBE_DEFER)
> > + dev_err(dev, "Couldn't determine GPIO banks: (%pe)\n",
> > + ERR_PTR(ret));
>
> I'd say drop either the colon or the parenthesis.
>
> Best regards
> Uwe
>
> --
> Pengutronix e.K. | Uwe Kleine-KÃnig |
> Industrial Linux Solutions | https://www.pengutronix.de/ |