Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b96a573f authored by Axel Lin's avatar Axel Lin Committed by Linus Torvalds
Browse files

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: default avatarAxel Lin <axel.lin@gmail.com>
Cc: Simon Guinot <sguinot@lacie.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 95dafd47
Loading
Loading
Loading
Loading
+6 −18
Original line number Diff line number Diff line
@@ -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;