drivers/leds/leds-netxbig.c: use gpio_request_one()
authorAxel Lin <axel.lin@gmail.com>
Tue, 10 Jan 2012 23:09:37 +0000 (15:09 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 11 Jan 2012 00:30:49 +0000 (16:30 -0800)
Use gpio_request_one() instead of multiple gpiolib calls.  This also
simplifies error handling a bit.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Cc: Simon Guinot <sguinot@lacie.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/leds/leds-netxbig.c

index 8c7a4ea10dc30c04a06487d68055242d4416ce18..d8433f2d53bc712995b899db7a19e6d16bb091be 100644 (file)
@@ -81,35 +81,23 @@ static int __devinit gpio_ext_init(struct netxbig_gpio_ext *gpio_ext)
 
        /* Configure address GPIOs. */
        for (i = 0; i < gpio_ext->num_addr; i++) {
-               err = gpio_request(gpio_ext->addr[i], "GPIO extension addr");
+               err = gpio_request_one(gpio_ext->addr[i], GPIOF_OUT_INIT_LOW,
+                                      "GPIO extension addr");
                if (err)
                        goto err_free_addr;
-               err = gpio_direction_output(gpio_ext->addr[i], 0);
-               if (err) {
-                       gpio_free(gpio_ext->addr[i]);
-                       goto err_free_addr;
-               }
        }
        /* Configure data GPIOs. */
        for (i = 0; i < gpio_ext->num_data; i++) {
-               err = gpio_request(gpio_ext->data[i], "GPIO extension data");
+               err = gpio_request_one(gpio_ext->data[i], GPIOF_OUT_INIT_LOW,
+                                  "GPIO extension data");
                if (err)
                        goto err_free_data;
-               err = gpio_direction_output(gpio_ext->data[i], 0);
-               if (err) {
-                       gpio_free(gpio_ext->data[i]);
-                       goto err_free_data;
-               }
        }
        /* Configure "enable select" GPIO. */
-       err = gpio_request(gpio_ext->enable, "GPIO extension enable");
+       err = gpio_request_one(gpio_ext->enable, GPIOF_OUT_INIT_LOW,
+                              "GPIO extension enable");
        if (err)
                goto err_free_data;
-       err = gpio_direction_output(gpio_ext->enable, 0);
-       if (err) {
-               gpio_free(gpio_ext->enable);
-               goto err_free_data;
-       }
 
        return 0;