bcma: Fail probe if GPIO subdriver fails
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 28 Oct 2022 09:30:00 +0000 (11:30 +0200)
committerKalle Valo <kvalo@kernel.org>
Fri, 4 Nov 2022 10:59:51 +0000 (12:59 +0200)
We currently register the BCMA core even if the GPIO portions
fail. There is no reason for this: the GPIO should register
just fine, if it fails the BCMA driver should fail.

We already gracefully handle the case where the GPIO driver is
not compiled in.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20221028093000.239020-1-linus.walleij@linaro.org
drivers/bcma/main.c

index 44392b6..0a8469e 100644 (file)
@@ -344,8 +344,10 @@ static int bcma_register_devices(struct bcma_bus *bus)
        err = bcma_gpio_init(&bus->drv_cc);
        if (err == -ENOTSUPP)
                bcma_debug(bus, "GPIO driver not activated\n");
-       else if (err)
+       else if (err) {
                bcma_err(bus, "Error registering GPIO driver: %i\n", err);
+               return err;
+       }
 
        if (bus->hosttype == BCMA_HOSTTYPE_SOC) {
                err = bcma_chipco_watchdog_register(&bus->drv_cc);