Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1548099
| From | Stephen Boyd <stephen.boyd@linaro.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v6 07/25] usb: chipidea: Notify events when switching host mode |
| Date | 2016-12-29 00:10 +0100 |
| Message-ID | <sTvw5-6Mq-13@gated-at.bofh.it> (permalink) |
| References | <sTvmp-6sL-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
The chipidea/udc.c file sends a CI_HDRC_CONTROLLER_RESET_EVENT to
the wrapper drivers when it calls hw_device_reset(), but that
function is not called from chipidea/host.c. And the udc.c file
sends the CI_HDRC_CONTROLLER_STOPPED_EVENT but the host.c file
doesn't do anything.
The intent of the reset event is to allow the wrapper driver to
do any wrapper specific things after the reset bit has been set
in the usb command register. Therefore, add this event hook in
the host role after we toggle that bit.
Similarly, the intent of the stopped event is to allow the
wrapper driver to do any wrapper specific things after the device
is stopped. So when we stop the host role, send the stopped
event.
Acked-by: Peter Chen <peter.chen@nxp.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
---
drivers/usb/chipidea/host.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c
index 111b0e0b8698..f884c0877bca 100644
--- a/drivers/usb/chipidea/host.c
+++ b/drivers/usb/chipidea/host.c
@@ -90,6 +90,9 @@ static int ehci_ci_reset(struct usb_hcd *hcd)
ehci->need_io_watchdog = 0;
+ if (ci->platdata->notify_event)
+ ci->platdata->notify_event(ci, CI_HDRC_CONTROLLER_RESET_EVENT);
+
ci_platform_configure(ci);
return ret;
@@ -187,6 +190,9 @@ static void host_stop(struct ci_hdrc *ci)
struct usb_hcd *hcd = ci->hcd;
if (hcd) {
+ if (ci->platdata->notify_event)
+ ci->platdata->notify_event(ci,
+ CI_HDRC_CONTROLLER_STOPPED_EVENT);
usb_remove_hcd(hcd);
ci->role = CI_ROLE_END;
synchronize_irq(ci->irq);
--
2.10.0.297.gf6727b0
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v6 00/25] Support qcom's HSIC USB and rewrite USB2 HS support Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 01/25] of: device: Support loading a module with OF based modalias Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 03/25] usb: ulpi: Support device discovery via DT Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 07/25] usb: chipidea: Notify events when switching host mode Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 15/25] usb: chipidea: msm: Add proper clk and reset support Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 08/25] usb: chipidea: Remove locking in ci_udc_start() Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 14/25] usb: chipidea: msm: Use hw_write_id_reg() instead of writel Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 04/25] usb: chipidea: Only read/write OTGSC from one place Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 06/25] usb: chipidea: Add platform flag for wrapper phy management Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 13/25] usb: chipidea: msm: Rely on core to override AHBBURST Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 10/25] usb: chipidea: Consolidate extcon notifiers Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 05/25] usb: chipidea: Handle extcon events properly Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 11/25] usb: chipidea: vbus event may exist before starting gadget Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
Re: [PATCH v6 11/25] usb: chipidea: vbus event may exist before starting gadget Peter Chen <hzpeterchen@gmail.com> - 2017-01-03 09:10 +0100
[PATCH v6 02/25] of: device: Export of_device_{get_modalias,uvent_modalias} to modules Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
[PATCH v6 16/25] usb: chipidea: msm: Mux over secondary phy at the right time Stephen Boyd <stephen.boyd@linaro.org> - 2016-12-29 00:10 +0100
csiph-web