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 <[email protected]>
Cc: Simon Guinot <[email protected]>
Cc: Richard Purdie <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
Axel Lin 2012-01-10 15:09:37 -08:00 • committed by Linus Torvalds
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;