diff options
author | Ivan T. Ivanov <iivanov@mm-sol.com> | 2014-09-11 08:18:59 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-09-10 17:30:39 -0700 |
commit | ea290056d7c46f7781ff13801048ed957b96d1a5 (patch) | |
tree | 147425d4b543584e4ce852720bb92241e23607b7 /drivers/usb/chipidea/ci_hdrc_msm.c | |
parent | c605f3cdff53a743f6d875b76956b239deca1272 (diff) | |
download | linux-stable-ea290056d7c46f7781ff13801048ed957b96d1a5.tar.gz linux-stable-ea290056d7c46f7781ff13801048ed957b96d1a5.tar.bz2 linux-stable-ea290056d7c46f7781ff13801048ed957b96d1a5.zip |
usb: chipidea: msm: Use USB PHY API to control PHY state
PHY drivers keep track of the current state of the hardware,
so don't change PHY settings under it.
Cc: 3.16+ <stable@vger.kernel.org>
Cc: Tim Bird <tbird20d@gmail.com>
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/chipidea/ci_hdrc_msm.c')
-rw-r--r-- | drivers/usb/chipidea/ci_hdrc_msm.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c b/drivers/usb/chipidea/ci_hdrc_msm.c index d72b9d2de2c5..30bdd51a6d77 100644 --- a/drivers/usb/chipidea/ci_hdrc_msm.c +++ b/drivers/usb/chipidea/ci_hdrc_msm.c @@ -20,7 +20,6 @@ static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned event) { struct device *dev = ci->gadget.dev.parent; - int val; switch (event) { case CI_HDRC_CONTROLLER_RESET_EVENT: @@ -34,10 +33,7 @@ static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned event) * Put the transceiver in non-driving mode. Otherwise host * may not detect soft-disconnection. */ - val = usb_phy_io_read(ci->transceiver, ULPI_FUNC_CTRL); - val &= ~ULPI_FUNC_CTRL_OPMODE_MASK; - val |= ULPI_FUNC_CTRL_OPMODE_NONDRIVING; - usb_phy_io_write(ci->transceiver, val, ULPI_FUNC_CTRL); + usb_phy_notify_disconnect(ci->transceiver, USB_SPEED_UNKNOWN); break; default: dev_dbg(dev, "unknown ci_hdrc event\n"); |