diff options
-rw-r--r-- | drivers/gpio/gpiolib.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 3db34e74bc34..a1805734aef8 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -226,8 +226,10 @@ static int gpiochip_add_to_list(struct gpio_chip *chip) */ iterator = list_last_entry(&gpio_chips, struct gpio_chip, list); - if (iterator->base + iterator->ngpio <= chip->base) - goto found; + if (iterator->base + iterator->ngpio <= chip->base) { + list_add(&chip->list, &iterator->list); + return 0; + } dev_err(chip->parent, "GPIO integer space overlap, cannot add chip\n"); |