On Tue, Jun 6, 2023 at 5:12 AM Jiasheng Jiang <jiasheng@xxxxxxxxxxx> wrote: > > Add the missing check for platform_get_irq() and return error code > if it fails. > The returned error code will be dealed with in > builtin_platform_driver(sifive_gpio_driver) and the driver will not > be registered. > > Fixes: f52d6d8b43e5 ("gpio: sifive: To get gpio irq offset from device tree data") > Signed-off-by: Jiasheng Jiang <jiasheng@xxxxxxxxxxx> > --- > Changelog: > > v2 -> v3: > > 1. Check before assigning values. > > v1 -> v2: > > 1. Return "girq->parents[0]" instead of "-ENODEV". > --- > drivers/gpio/gpio-sifive.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpio/gpio-sifive.c b/drivers/gpio/gpio-sifive.c > index 98939cd4a71e..745e5f67254e 100644 > --- a/drivers/gpio/gpio-sifive.c > +++ b/drivers/gpio/gpio-sifive.c > @@ -221,8 +221,12 @@ static int sifive_gpio_probe(struct platform_device *pdev) > return -ENODEV; > } > > - for (i = 0; i < ngpio; i++) > - chip->irq_number[i] = platform_get_irq(pdev, i); > + for (i = 0; i < ngpio; i++) { > + ret = platform_get_irq(pdev, i); > + if (ret < 0) > + return ret; > + chip->irq_number[i] = ret; > + } > > ret = bgpio_init(&chip->gc, dev, 4, > chip->base + SIFIVE_GPIO_INPUT_VAL, > -- > 2.25.1 > Applied, thanks! Bart