mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 00:34:20 +08:00
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:
parent
95dafd4753
commit
b96a573f4c
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user