summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony LIU <junjie.liu@freescale.com>2012-02-08 15:42:22 +0800
committerTony LIU <junjie.liu@freescale.com>2012-02-09 10:01:10 +0800
commitbfd66037a4538488e9665365355b93862e170b82 (patch)
tree75dbf69e0c7ab9773a1fa0adac1796037e83c825
parent20f4a78898b8b7d2223ed2ee74369a96d4bd849b (diff)
ENGR00174037-2 Add HSIC suspend/resume feature
device part - implement reset_device interface for HSIC host Signed-off-by: Tony LIU <junjie.liu@freescale.com>
-rwxr-xr-xdrivers/usb/host/ehci-arc.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-arc.c b/drivers/usb/host/ehci-arc.c
index d34e7deb8b24..39d288db7eb1 100755
--- a/drivers/usb/host/ehci-arc.c
+++ b/drivers/usb/host/ehci-arc.c
@@ -553,6 +553,19 @@ static int ehci_fsl_setup(struct usb_hcd *hcd)
return retval;
}
+/* called after hcd send port_reset cmd */
+static int ehci_fsl_reset_device(struct usb_hcd *hcd, struct usb_device *udev)
+{
+ struct fsl_usb2_platform_data *pdata;
+
+ pdata = hcd->self.controller->platform_data;
+
+ if (pdata->hsic_device_connected)
+ pdata->hsic_device_connected();
+
+ return 0;
+}
+
static const struct hc_driver ehci_fsl_hc_driver = {
.description = hcd_name,
.product_desc = "Freescale On-Chip EHCI Host Controller",
@@ -596,6 +609,7 @@ static const struct hc_driver ehci_fsl_hc_driver = {
.port_handed_over = ehci_port_handed_over,
.clear_tt_buffer_complete = ehci_clear_tt_buffer_complete,
+ .reset_device = ehci_fsl_reset_device,
};
static int ehci_fsl_drv_probe(struct platform_device *pdev)