diff options
Diffstat (limited to 'drivers/usb/phy/phy-generic.c')
-rw-r--r-- | drivers/usb/phy/phy-generic.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/usb/phy/phy-generic.c b/drivers/usb/phy/phy-generic.c index 70be50b734b2..deee68eafb72 100644 --- a/drivers/usb/phy/phy-generic.c +++ b/drivers/usb/phy/phy-generic.c | |||
@@ -62,14 +62,14 @@ static int nop_set_suspend(struct usb_phy *x, int suspend) | |||
62 | return 0; | 62 | return 0; |
63 | } | 63 | } |
64 | 64 | ||
65 | static void nop_reset_set(struct usb_phy_generic *nop, int asserted) | 65 | static void nop_reset(struct usb_phy_generic *nop) |
66 | { | 66 | { |
67 | if (!nop->gpiod_reset) | 67 | if (!nop->gpiod_reset) |
68 | return; | 68 | return; |
69 | 69 | ||
70 | gpiod_direction_output(nop->gpiod_reset, !asserted); | 70 | gpiod_set_value(nop->gpiod_reset, 1); |
71 | usleep_range(10000, 20000); | 71 | usleep_range(10000, 20000); |
72 | gpiod_set_value(nop->gpiod_reset, asserted); | 72 | gpiod_set_value(nop->gpiod_reset, 0); |
73 | } | 73 | } |
74 | 74 | ||
75 | /* interface to regulator framework */ | 75 | /* interface to regulator framework */ |
@@ -151,8 +151,7 @@ int usb_gen_phy_init(struct usb_phy *phy) | |||
151 | if (!IS_ERR(nop->clk)) | 151 | if (!IS_ERR(nop->clk)) |
152 | clk_prepare_enable(nop->clk); | 152 | clk_prepare_enable(nop->clk); |
153 | 153 | ||
154 | /* De-assert RESET */ | 154 | nop_reset(nop); |
155 | nop_reset_set(nop, 0); | ||
156 | 155 | ||
157 | return 0; | 156 | return 0; |
158 | } | 157 | } |
@@ -162,8 +161,7 @@ void usb_gen_phy_shutdown(struct usb_phy *phy) | |||
162 | { | 161 | { |
163 | struct usb_phy_generic *nop = dev_get_drvdata(phy->dev); | 162 | struct usb_phy_generic *nop = dev_get_drvdata(phy->dev); |
164 | 163 | ||
165 | /* Assert RESET */ | 164 | gpiod_set_value(nop->gpiod_reset, 1); |
166 | nop_reset_set(nop, 1); | ||
167 | 165 | ||
168 | if (!IS_ERR(nop->clk)) | 166 | if (!IS_ERR(nop->clk)) |
169 | clk_disable_unprepare(nop->clk); | 167 | clk_disable_unprepare(nop->clk); |