Hi Geert, Thanks for your work. On 2019-10-01 20:05:47 +0200, Geert Uytterhoeven wrote: > As platform_get_irq() now prints an error when the interrupt does not > exist, counting interrupts by looping until failure causes the printing > of scary messages like: > > sh-pfc e6060000.pin-controller: IRQ index 0 not found > > Fix this by using the platform_irq_count() helper instead. > > Fixes: 7723f4c5ecdb8d83 ("driver core: platform: Add an error message to platform_get_irq*()") > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Nice change. Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> > --- > This is a fix for v5.4-rc1. > --- > drivers/pinctrl/sh-pfc/core.c | 16 ++++++---------- > 1 file changed, 6 insertions(+), 10 deletions(-) > > diff --git a/drivers/pinctrl/sh-pfc/core.c b/drivers/pinctrl/sh-pfc/core.c > index b8640ad41bef26be..ce983247c9e28bfe 100644 > --- a/drivers/pinctrl/sh-pfc/core.c > +++ b/drivers/pinctrl/sh-pfc/core.c > @@ -29,12 +29,12 @@ > static int sh_pfc_map_resources(struct sh_pfc *pfc, > struct platform_device *pdev) > { > - unsigned int num_windows, num_irqs; > struct sh_pfc_window *windows; > unsigned int *irqs = NULL; > + unsigned int num_windows; > struct resource *res; > unsigned int i; > - int irq; > + int num_irqs; > > /* Count the MEM and IRQ resources. */ > for (num_windows = 0;; num_windows++) { > @@ -42,17 +42,13 @@ static int sh_pfc_map_resources(struct sh_pfc *pfc, > if (!res) > break; > } > - for (num_irqs = 0;; num_irqs++) { > - irq = platform_get_irq(pdev, num_irqs); > - if (irq == -EPROBE_DEFER) > - return irq; > - if (irq < 0) > - break; > - } > - > if (num_windows == 0) > return -EINVAL; > > + num_irqs = platform_irq_count(pdev); > + if (num_irqs < 0) > + return num_irqs; > + > /* Allocate memory windows and IRQs arrays. */ > windows = devm_kcalloc(pfc->dev, num_windows, sizeof(*windows), > GFP_KERNEL); > -- > 2.17.1 > -- Regards, Niklas Söderlund