gpio: twl4030: Fix regression for twl gpio LED output
authorRoger Quadros <rogerq@ti.com>
Thu, 5 Dec 2013 09:23:35 +0000 (11:23 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 10 Dec 2013 12:17:27 +0000 (13:17 +0100)
commitf5837ec11f8cfa6d53ebc5806582771b2c9988c6
treed5b0f16373ea61dfbc7c27b0a20a9d3fa4104f3b
parent8620f394c4f9abd13e4fdf927d9c2bbeda74cde7
gpio: twl4030: Fix regression for twl gpio LED output

Commit 0b2aa8be introduced a regression that causes failure
in setting LED GPO direction to OUT.

This causes USB host probe failures for Beagleboard C4.

platform usb_phy_gen_xceiv.2: Driver usb_phy_gen_xceiv requests probe deferral
hsusb2_vcc: Failed to request enable GPIO510: -22
reg-fixed-voltage reg-fixed-voltage.0.auto: Failed to register regulator: -22
reg-fixed-voltage: probe of reg-fixed-voltage.0.auto failed with error -22

direction_out/direction_in must return 0 if the operation succeeded.

Also, don't update direction flag and output data if twl4030_set_gpio_direction()
failed inside twl_direction_out();

Cc: stable@vger.kernel.org
Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-twl4030.c