diff options
Diffstat (limited to 'drivers/usb/chipidea/host.c')
-rw-r--r-- | drivers/usb/chipidea/host.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c index 111b0e0b8698..915f3e91586e 100644 --- a/drivers/usb/chipidea/host.c +++ b/drivers/usb/chipidea/host.c | |||
@@ -90,6 +90,13 @@ static int ehci_ci_reset(struct usb_hcd *hcd) | |||
90 | 90 | ||
91 | ehci->need_io_watchdog = 0; | 91 | ehci->need_io_watchdog = 0; |
92 | 92 | ||
93 | if (ci->platdata->notify_event) { | ||
94 | ret = ci->platdata->notify_event(ci, | ||
95 | CI_HDRC_CONTROLLER_RESET_EVENT); | ||
96 | if (ret) | ||
97 | return ret; | ||
98 | } | ||
99 | |||
93 | ci_platform_configure(ci); | 100 | ci_platform_configure(ci); |
94 | 101 | ||
95 | return ret; | 102 | return ret; |
@@ -187,6 +194,9 @@ static void host_stop(struct ci_hdrc *ci) | |||
187 | struct usb_hcd *hcd = ci->hcd; | 194 | struct usb_hcd *hcd = ci->hcd; |
188 | 195 | ||
189 | if (hcd) { | 196 | if (hcd) { |
197 | if (ci->platdata->notify_event) | ||
198 | ci->platdata->notify_event(ci, | ||
199 | CI_HDRC_CONTROLLER_STOPPED_EVENT); | ||
190 | usb_remove_hcd(hcd); | 200 | usb_remove_hcd(hcd); |
191 | ci->role = CI_ROLE_END; | 201 | ci->role = CI_ROLE_END; |
192 | synchronize_irq(ci->irq); | 202 | synchronize_irq(ci->irq); |