drivers/leds/leds-netxbig.c: use gpio_request_one()

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>
This commit is contained in:
Axel Lin 2012-01-10 15:09:37 -08:00 committed by Linus Torvalds
parent 95dafd4753
commit b96a573f4c

View 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;