usb: misc: usb3503: Use gpio_set_value_cansleep()
authorMark Brown <broonie@linaro.org>
Fri, 9 Aug 2013 10:41:49 +0000 (11:41 +0100)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 02:47:06 +0000 (11:47 +0900)
The /RESET GPIO is not manipulated from atomic context so support GPIOs
that can't be written from atomic context by using _cansleep().

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit 24455b09b4838cdc0165af0f24ca63ec9ad54e44]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I24455b09b4838cdc0165af0f24ca63ec9ad54e44

drivers/usb/misc/usb3503.c

index 41b4228..2e9e100 100644 (file)
@@ -103,7 +103,7 @@ static int usb3503_clear_bits(struct i2c_client *client, char reg, char req)
 static int usb3503_reset(int gpio_reset, int state)
 {
        if (gpio_is_valid(gpio_reset))
-               gpio_set_value(gpio_reset, state);
+               gpio_set_value_cansleep(gpio_reset, state);
 
        /* Wait T_HUBINIT == 4ms for hub logic to stabilize */
        if (state)