On Tue, Dec 03, 2019 at 07:00:40AM +0000, Peng Fan wrote: > > Subject: Re: [PATCH 2/2] gpio: bcm-kona: use platform_irq_count > > > > On Tue, Dec 03, 2019 at 06:04:27AM +0000, Peng Fan wrote: > > > From: Peng Fan <peng.fan@xxxxxxx> > > > > > > Use platform_irq_count to replace of_irq_count > > > > > > Signed-off-by: Peng Fan <peng.fan@xxxxxxx> > > > --- > > > > > > V1: > > > Code inspection, not tested > > > > > > drivers/gpio/gpio-bcm-kona.c | 3 +-- > > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > > > diff --git a/drivers/gpio/gpio-bcm-kona.c > > > b/drivers/gpio/gpio-bcm-kona.c index 4122683eb1f9..c50721980a7c > > 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,7 +585,7 @@ 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); > > > + kona_gpio->num_bank = platform_irq_count(pdev); > > > > of_irq_count returns 0 or a positive int while platform_irq_count might return > > a negative error code. This needs handling. Also I wonder why > > platform_irq_count() is better than of_irq_count() which would be good to > > describe in the commit log. > > Inspired from https://lkml.org/lkml/2015/11/18/466 > From Rob: > " > So I started looking at why you are using of_irq_count which drivers > shouldn't need to. In patch 5 you use it to allocate memory to store > the irq names, then use them here... > " > > Is this ok? I would say something like: 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. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |