| From ecaeb587a78859a48f9608068f7efde3c7dae3ab Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 15 Jan 2020 07:25:26 -0600 |
| Subject: usb: musb: omap2430: Get rid of musb .set_vbus for omap2430 glue |
| |
| From: Tony Lindgren <tony@atomide.com> |
| |
| [ Upstream commit 91b6dec32e5c25fbdbb564d1e5af23764ec17ef1 ] |
| |
| We currently have musb_set_vbus() called from two different paths. Mostly |
| it gets called from the USB PHY via omap_musb_set_mailbox(), but in some |
| cases it can get also called from musb_stage0_irq() rather via .set_vbus: |
| |
| (musb_set_host [musb_hdrc]) |
| (omap2430_musb_set_vbus [omap2430]) |
| (musb_stage0_irq [musb_hdrc]) |
| (musb_interrupt [musb_hdrc]) |
| (omap2430_musb_interrupt [omap2430]) |
| |
| This is racy and will not work with introducing generic helper functions |
| for musb_set_host() and musb_set_peripheral(). We want to get rid of the |
| busy loops in favor of usleep_range(). |
| |
| Let's just get rid of .set_vbus for omap2430 glue layer and let the PHY |
| code handle VBUS with musb_set_vbus(). Note that in the follow-up patch |
| we can completely remove omap2430_musb_set_vbus(), but let's do it in a |
| separate patch as this change may actually turn out to be needed as a |
| fix. |
| |
| Reported-by: Pavel Machek <pavel@ucw.cz> |
| Acked-by: Pavel Machek <pavel@ucw.cz> |
| Signed-off-by: Tony Lindgren <tony@atomide.com> |
| Signed-off-by: Bin Liu <b-liu@ti.com> |
| Link: https://lore.kernel.org/r/20200115132547.364-5-b-liu@ti.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/usb/musb/omap2430.c | 2 -- |
| 1 file changed, 2 deletions(-) |
| |
| diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c |
| index a3d2fef677468..5c93226e0e20a 100644 |
| --- a/drivers/usb/musb/omap2430.c |
| +++ b/drivers/usb/musb/omap2430.c |
| @@ -361,8 +361,6 @@ static const struct musb_platform_ops omap2430_ops = { |
| .init = omap2430_musb_init, |
| .exit = omap2430_musb_exit, |
| |
| - .set_vbus = omap2430_musb_set_vbus, |
| - |
| .enable = omap2430_musb_enable, |
| .disable = omap2430_musb_disable, |
| |
| -- |
| 2.20.1 |
| |