[PATCH v2 02/11] gpiolib: Simplify code of gpio_request_one()
Andrey Smirnov
andrew.smirnov at gmail.com
Wed Jul 26 09:31:11 PDT 2017
Looks like we can get rid of an 'if' and 'goto', so do it to simplify
the code.
Signed-off-by: Andrey Smirnov <andrew.smirnov at gmail.com>
---
drivers/gpio/gpiolib.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index d081e02fd..67d771bae 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -119,6 +119,7 @@ void gpio_free(unsigned gpio)
int gpio_request_one(unsigned gpio, unsigned long flags, const char *label)
{
int err;
+ struct gpio_info *gi = gpio_to_desc(gpio);
/*
* Not all of the flags below are mulit-bit, but, for the sake
@@ -134,10 +135,7 @@ int gpio_request_one(unsigned gpio, unsigned long flags, const char *label)
if (err)
return err;
- if (active_low) {
- struct gpio_info *gi = gpio_to_desc(gpio);
- gi->active_low = true;
- }
+ gi->active_low = active_low;
if (dir_in)
err = gpio_direction_input(gpio);
@@ -147,12 +145,8 @@ int gpio_request_one(unsigned gpio, unsigned long flags, const char *label)
err = gpio_direction_output(gpio, init_high);
if (err)
- goto free_gpio;
-
- return 0;
+ gpio_free(gpio);
- free_gpio:
- gpio_free(gpio);
return err;
}
EXPORT_SYMBOL_GPL(gpio_request_one);
--
2.13.3
More information about the barebox
mailing list