[PATCH v2 1/5] gpiolib: cosmetic improvements for error handling in gpiochip_add()
Grant Likely
grant.likely at secretlab.ca
Thu Jun 10 15:40:46 EST 2010
From: Anton Vorontsov <avorontsov at ru.mvista.com>
Hopefully it makes the code look nicer and makes it easier to extend
this function.
Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
CC: devicetree-discuss at lists.ozlabs.org
CC: linux-kernel at vger.kernel.org
---
drivers/gpio/gpiolib.c | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 3ca3654..713ca0e 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -1101,14 +1101,20 @@ int gpiochip_add(struct gpio_chip *chip)
unlock:
spin_unlock_irqrestore(&gpio_lock, flags);
- if (status == 0)
- status = gpiochip_export(chip);
+
+ if (status)
+ goto fail;
+
+ status = gpiochip_export(chip);
+ if (status)
+ goto fail;
+
+ return 0;
fail:
/* failures here can mean systems won't boot... */
- if (status)
- pr_err("gpiochip_add: gpios %d..%d (%s) failed to register\n",
- chip->base, chip->base + chip->ngpio - 1,
- chip->label ? : "generic");
+ pr_err("gpiochip_add: gpios %d..%d (%s) failed to register\n",
+ chip->base, chip->base + chip->ngpio - 1,
+ chip->label ? : "generic");
return status;
}
EXPORT_SYMBOL_GPL(gpiochip_add);
More information about the devicetree-discuss
mailing list