aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/phy/phy-generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/phy/phy-generic.c')
-rw-r--r--drivers/usb/phy/phy-generic.c12
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
65static void nop_reset_set(struct usb_phy_generic *nop, int asserted) 65static 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);