summaryrefslogtreecommitdiff
path: root/drivers/usb/host/ehci-hub.c
diff options
context:
space:
mode:
authorXinyu Chen <b03824@freescale.com>2012-01-09 12:16:21 +0800
committerXinyu Chen <b03824@freescale.com>2012-01-09 12:16:21 +0800
commit951b812436e9aed71d44665e2243cf409b27adcd (patch)
treec2af101cbc1d0113e1043e0516ea63a0de772220 /drivers/usb/host/ehci-hub.c
parent083a297c124a17f6a98c3da885c4b2e5fd77d645 (diff)
parente14ab2b954bc8725c220bd54d26f71b23c1836ad (diff)
Merge commit 'rel_imx_2.6.38_12.01.00_RC1' into imx_2.6.38_android
Conflicts: drivers/input/touchscreen/egalax_ts.c
Diffstat (limited to 'drivers/usb/host/ehci-hub.c')
-rw-r--r--drivers/usb/host/ehci-hub.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
index 8a515f0d5988..69b7a31612aa 100644
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
@@ -28,6 +28,10 @@
/*-------------------------------------------------------------------------*/
+#ifdef CONFIG_ARCH_MX6
+#define MX6_USB_HOST_HACK
+#include <linux/fsl_devices.h>
+#endif
#define PORT_WAKE_BITS (PORT_WKOC_E|PORT_WKDISC_E|PORT_WKCONN_E)
#ifdef CONFIG_PM
@@ -1032,6 +1036,14 @@ static int ehci_hub_control (
temp &= ~PORT_WKCONN_E;
temp |= PORT_WKDISC_E | PORT_WKOC_E;
ehci_writel(ehci, temp | PORT_SUSPEND, status_reg);
+#ifdef MX6_USB_HOST_HACK
+ {
+ struct fsl_usb2_platform_data *pdata;
+ pdata = hcd->self.controller->platform_data;
+ if (pdata->platform_suspend)
+ pdata->platform_suspend(pdata);
+ }
+#endif
if (hostpc_reg) {
spin_unlock_irqrestore(&ehci->lock, flags);
msleep(5);/* 5ms for HCD enter low pwr mode */