aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/dwc2/hcd.c2
-rw-r--r--drivers/staging/octeon-usb/octeon-hcd.c1
-rw-r--r--drivers/staging/ozwpan/ozhcd.c2
-rw-r--r--drivers/usb/c67x00/c67x00-hcd.c2
-rw-r--r--drivers/usb/core/hcd-pci.c1
-rw-r--r--drivers/usb/core/hcd.c6
-rw-r--r--drivers/usb/host/ehci-atmel.c1
-rw-r--r--drivers/usb/host/ehci-exynos.c1
-rw-r--r--drivers/usb/host/ehci-fsl.c1
-rw-r--r--drivers/usb/host/ehci-grlib.c1
-rw-r--r--drivers/usb/host/ehci-mv.c1
-rw-r--r--drivers/usb/host/ehci-mxc.c1
-rw-r--r--drivers/usb/host/ehci-octeon.c1
-rw-r--r--drivers/usb/host/ehci-omap.c1
-rw-r--r--drivers/usb/host/ehci-orion.c1
-rw-r--r--drivers/usb/host/ehci-platform.c1
-rw-r--r--drivers/usb/host/ehci-pmcmsp.c4
-rw-r--r--drivers/usb/host/ehci-ppc-of.c1
-rw-r--r--drivers/usb/host/ehci-ps3.c1
-rw-r--r--drivers/usb/host/ehci-sead3.c1
-rw-r--r--drivers/usb/host/ehci-sh.c1
-rw-r--r--drivers/usb/host/ehci-spear.c1
-rw-r--r--drivers/usb/host/ehci-tegra.c1
-rw-r--r--drivers/usb/host/ehci-tilegx.c1
-rw-r--r--drivers/usb/host/ehci-w90x900.c1
-rw-r--r--drivers/usb/host/ehci-xilinx-of.c4
-rw-r--r--drivers/usb/host/fhci-hcd.c2
-rw-r--r--drivers/usb/host/fotg210-hcd.c1
-rw-r--r--drivers/usb/host/fusbh200-hcd.c1
-rw-r--r--drivers/usb/host/hwa-hc.c1
-rw-r--r--drivers/usb/host/imx21-hcd.c1
-rw-r--r--drivers/usb/host/isp116x-hcd.c2
-rw-r--r--drivers/usb/host/isp1362-hcd.c2
-rw-r--r--drivers/usb/host/isp1760-hcd.c1
-rw-r--r--drivers/usb/host/ohci-at91.c4
-rw-r--r--drivers/usb/host/ohci-da8xx.c2
-rw-r--r--drivers/usb/host/ohci-exynos.c1
-rw-r--r--drivers/usb/host/ohci-jz4740.c1
-rw-r--r--drivers/usb/host/ohci-nxp.c4
-rw-r--r--drivers/usb/host/ohci-octeon.c2
-rw-r--r--drivers/usb/host/ohci-omap.c1
-rw-r--r--drivers/usb/host/ohci-omap3.c1
-rw-r--r--drivers/usb/host/ohci-platform.c2
-rw-r--r--drivers/usb/host/ohci-ppc-of.c4
-rw-r--r--drivers/usb/host/ohci-ps3.c1
-rw-r--r--drivers/usb/host/ohci-pxa27x.c4
-rw-r--r--drivers/usb/host/ohci-s3c2410.c1
-rw-r--r--drivers/usb/host/ohci-sa1111.c4
-rw-r--r--drivers/usb/host/ohci-sm501.c1
-rw-r--r--drivers/usb/host/ohci-spear.c4
-rw-r--r--drivers/usb/host/ohci-tilegx.c1
-rw-r--r--drivers/usb/host/ohci-tmio.c1
-rw-r--r--drivers/usb/host/oxu210hp-hcd.c1
-rw-r--r--drivers/usb/host/r8a66597-hcd.c1
-rw-r--r--drivers/usb/host/sl811-hcd.c2
-rw-r--r--drivers/usb/host/u132-hcd.c1
-rw-r--r--drivers/usb/host/uhci-grlib.c1
-rw-r--r--drivers/usb/host/uhci-platform.c1
-rw-r--r--drivers/usb/host/whci/hcd.c1
-rw-r--r--drivers/usb/host/xhci-plat.c1
-rw-r--r--drivers/usb/musb/musb_host.c1
-rw-r--r--drivers/usb/phy/phy-msm-usb.c1
-rw-r--r--drivers/usb/phy/phy-mv-usb.c6
-rw-r--r--drivers/usb/renesas_usbhs/mod_host.c1
64 files changed, 92 insertions, 16 deletions
diff --git a/drivers/staging/dwc2/hcd.c b/drivers/staging/dwc2/hcd.c
index 3cfd2d5152c9..078cd9168b1a 100644
--- a/drivers/staging/dwc2/hcd.c
+++ b/drivers/staging/dwc2/hcd.c
@@ -2921,6 +2921,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg, int irq,
2921 if (retval < 0) 2921 if (retval < 0)
2922 goto error3; 2922 goto error3;
2923 2923
2924 device_wakeup_enable(hcd->self.controller);
2925
2924 dwc2_hcd_dump_state(hsotg); 2926 dwc2_hcd_dump_state(hsotg);
2925 2927
2926 dwc2_enable_global_interrupts(hsotg); 2928 dwc2_enable_global_interrupts(hsotg);
diff --git a/drivers/staging/octeon-usb/octeon-hcd.c b/drivers/staging/octeon-usb/octeon-hcd.c
index d118952c0a74..47e0a91238a1 100644
--- a/drivers/staging/octeon-usb/octeon-hcd.c
+++ b/drivers/staging/octeon-usb/octeon-hcd.c
@@ -3498,6 +3498,7 @@ static int octeon_usb_driver_probe(struct device *dev)
3498 kfree(hcd); 3498 kfree(hcd);
3499 return -1; 3499 return -1;
3500 } 3500 }
3501 device_wakeup_enable(hcd->self.controller);
3501 3502
3502 dev_dbg(dev, "Registered HCD for port %d on irq %d\n", usb_num, irq); 3503 dev_dbg(dev, "Registered HCD for port %d on irq %d\n", usb_num, irq);
3503 3504
diff --git a/drivers/staging/ozwpan/ozhcd.c b/drivers/staging/ozwpan/ozhcd.c
index d9c43c3282e7..efaf26f734c3 100644
--- a/drivers/staging/ozwpan/ozhcd.c
+++ b/drivers/staging/ozwpan/ozhcd.c
@@ -2270,6 +2270,8 @@ static int oz_plat_probe(struct platform_device *dev)
2270 usb_put_hcd(hcd); 2270 usb_put_hcd(hcd);
2271 return -1; 2271 return -1;
2272 } 2272 }
2273 device_wakeup_enable(hcd->self.controller);
2274
2273 spin_lock_bh(&g_hcdlock); 2275 spin_lock_bh(&g_hcdlock);
2274 g_ozhcd = ozhcd; 2276 g_ozhcd = ozhcd;
2275 spin_unlock_bh(&g_hcdlock); 2277 spin_unlock_bh(&g_hcdlock);
diff --git a/drivers/usb/c67x00/c67x00-hcd.c b/drivers/usb/c67x00/c67x00-hcd.c
index 75e47b860a53..20ec4eee1ac8 100644
--- a/drivers/usb/c67x00/c67x00-hcd.c
+++ b/drivers/usb/c67x00/c67x00-hcd.c
@@ -384,6 +384,8 @@ int c67x00_hcd_probe(struct c67x00_sie *sie)
384 goto err2; 384 goto err2;
385 } 385 }
386 386
387 device_wakeup_enable(hcd->self.controller);
388
387 spin_lock_irqsave(&sie->lock, flags); 389 spin_lock_irqsave(&sie->lock, flags);
388 sie->private_data = c67x00; 390 sie->private_data = c67x00;
389 sie->irq = c67x00_hcd_irq; 391 sie->irq = c67x00_hcd_irq;
diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
index dfe9d0f22978..d59d99347d54 100644
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
@@ -282,6 +282,7 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
282 282
283 if (retval != 0) 283 if (retval != 0)
284 goto unmap_registers; 284 goto unmap_registers;
285 device_wakeup_enable(hcd->self.controller);
285 286
286 if (pci_dev_run_wake(dev)) 287 if (pci_dev_run_wake(dev))
287 pm_runtime_put_noidle(&dev->dev); 288 pm_runtime_put_noidle(&dev->dev);
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index d3a9bcde53c3..6297c9e50de2 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -2712,12 +2712,6 @@ int usb_add_hcd(struct usb_hcd *hcd,
2712 if (hcd->uses_new_polling && HCD_POLL_RH(hcd)) 2712 if (hcd->uses_new_polling && HCD_POLL_RH(hcd))
2713 usb_hcd_poll_rh_status(hcd); 2713 usb_hcd_poll_rh_status(hcd);
2714 2714
2715 /*
2716 * Host controllers don't generate their own wakeup requests;
2717 * they only forward requests from the root hub. Therefore
2718 * controllers should always be enabled for remote wakeup.
2719 */
2720 device_wakeup_enable(hcd->self.controller);
2721 return retval; 2715 return retval;
2722 2716
2723error_create_attr_group: 2717error_create_attr_group:
diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
index 284f8417eae5..ec9f7b75d497 100644
--- a/drivers/usb/host/ehci-atmel.c
+++ b/drivers/usb/host/ehci-atmel.c
@@ -153,6 +153,7 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev)
153 retval = usb_add_hcd(hcd, irq, IRQF_SHARED); 153 retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
154 if (retval) 154 if (retval)
155 goto fail_add_hcd; 155 goto fail_add_hcd;
156 device_wakeup_enable(hcd->self.controller);
156 157
157 return retval; 158 return retval;
158 159
diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c
index e97c198e052f..d1d8c47777c5 100644
--- a/drivers/usb/host/ehci-exynos.c
+++ b/drivers/usb/host/ehci-exynos.c
@@ -166,6 +166,7 @@ skip_phy:
166 dev_err(&pdev->dev, "Failed to add USB HCD\n"); 166 dev_err(&pdev->dev, "Failed to add USB HCD\n");
167 goto fail_add_hcd; 167 goto fail_add_hcd;
168 } 168 }
169 device_wakeup_enable(hcd->self.controller);
169 170
170 platform_set_drvdata(pdev, hcd); 171 platform_set_drvdata(pdev, hcd);
171 172
diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index 87a7426a44f4..854a68fa59a6 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -138,6 +138,7 @@ static int usb_hcd_fsl_probe(const struct hc_driver *driver,
138 retval = usb_add_hcd(hcd, irq, IRQF_SHARED); 138 retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
139 if (retval != 0) 139 if (retval != 0)
140 goto err4; 140 goto err4;
141 device_wakeup_enable(hcd->self.controller);
141 142
142#ifdef CONFIG_USB_OTG 143#ifdef CONFIG_USB_OTG
143 if (pdata->operating_mode == FSL_USB2_DR_OTG) { 144 if (pdata->operating_mode == FSL_USB2_DR_OTG) {
diff --git a/drivers/usb/host/ehci-grlib.c b/drivers/usb/host/ehci-grlib.c
index b52a66ce92e8..054792c56271 100644
--- a/drivers/usb/host/ehci-grlib.c
+++ b/drivers/usb/host/ehci-grlib.c
@@ -140,6 +140,7 @@ static int ehci_hcd_grlib_probe(struct platform_device *op)
140 if (rv) 140 if (rv)
141 goto err_ioremap; 141 goto err_ioremap;
142 142
143 device_wakeup_enable(hcd->self.controller);
143 return 0; 144 return 0;
144 145
145err_ioremap: 146err_ioremap:
diff --git a/drivers/usb/host/ehci-mv.c b/drivers/usb/host/ehci-mv.c
index 6e8afcaa8ff0..bd61612a7251 100644
--- a/drivers/usb/host/ehci-mv.c
+++ b/drivers/usb/host/ehci-mv.c
@@ -257,6 +257,7 @@ static int mv_ehci_probe(struct platform_device *pdev)
257 "failed to add hcd with err %d\n", retval); 257 "failed to add hcd with err %d\n", retval);
258 goto err_set_vbus; 258 goto err_set_vbus;
259 } 259 }
260 device_wakeup_enable(hcd->self.controller);
260 } 261 }
261 262
262 if (pdata->private_init) 263 if (pdata->private_init)
diff --git a/drivers/usb/host/ehci-mxc.c b/drivers/usb/host/ehci-mxc.c
index 0528dc4526c8..dbe5e4eea08d 100644
--- a/drivers/usb/host/ehci-mxc.c
+++ b/drivers/usb/host/ehci-mxc.c
@@ -155,6 +155,7 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev)
155 if (ret) 155 if (ret)
156 goto err_add; 156 goto err_add;
157 157
158 device_wakeup_enable(hcd->self.controller);
158 return 0; 159 return 0;
159 160
160err_add: 161err_add:
diff --git a/drivers/usb/host/ehci-octeon.c b/drivers/usb/host/ehci-octeon.c
index 4c528b2c033a..c4ad7ed6b3f8 100644
--- a/drivers/usb/host/ehci-octeon.c
+++ b/drivers/usb/host/ehci-octeon.c
@@ -158,6 +158,7 @@ static int ehci_octeon_drv_probe(struct platform_device *pdev)
158 dev_dbg(&pdev->dev, "failed to add hcd with err %d\n", ret); 158 dev_dbg(&pdev->dev, "failed to add hcd with err %d\n", ret);
159 goto err3; 159 goto err3;
160 } 160 }
161 device_wakeup_enable(hcd->self.controller);
161 162
162 platform_set_drvdata(pdev, hcd); 163 platform_set_drvdata(pdev, hcd);
163 164
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index 6fa82d6b7661..a24720beb39d 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -215,6 +215,7 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
215 dev_err(dev, "failed to add hcd with err %d\n", ret); 215 dev_err(dev, "failed to add hcd with err %d\n", ret);
216 goto err_pm_runtime; 216 goto err_pm_runtime;
217 } 217 }
218 device_wakeup_enable(hcd->self.controller);
218 219
219 /* 220 /*
220 * Bring PHYs out of reset for non PHY modes. 221 * Bring PHYs out of reset for non PHY modes.
diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c
index 2ba76730e650..aa8b92bf5361 100644
--- a/drivers/usb/host/ehci-orion.c
+++ b/drivers/usb/host/ehci-orion.c
@@ -252,6 +252,7 @@ static int ehci_orion_drv_probe(struct platform_device *pdev)
252 if (err) 252 if (err)
253 goto err4; 253 goto err4;
254 254
255 device_wakeup_enable(hcd->self.controller);
255 return 0; 256 return 0;
256 257
257err4: 258err4:
diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
index 7f30b7168d5a..01536cfd361d 100644
--- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c
@@ -132,6 +132,7 @@ static int ehci_platform_probe(struct platform_device *dev)
132 if (err) 132 if (err)
133 goto err_put_hcd; 133 goto err_put_hcd;
134 134
135 device_wakeup_enable(hcd->self.controller);
135 platform_set_drvdata(dev, hcd); 136 platform_set_drvdata(dev, hcd);
136 137
137 return err; 138 return err;
diff --git a/drivers/usb/host/ehci-pmcmsp.c b/drivers/usb/host/ehci-pmcmsp.c
index 893b707f0000..af3974a5e7c2 100644
--- a/drivers/usb/host/ehci-pmcmsp.c
+++ b/drivers/usb/host/ehci-pmcmsp.c
@@ -210,8 +210,10 @@ int usb_hcd_msp_probe(const struct hc_driver *driver,
210 210
211 211
212 retval = usb_add_hcd(hcd, res->start, IRQF_SHARED); 212 retval = usb_add_hcd(hcd, res->start, IRQF_SHARED);
213 if (retval == 0) 213 if (retval == 0) {
214 device_wakeup_enable(hcd->self.controller);
214 return 0; 215 return 0;
216 }
215 217
216 usb_remove_hcd(hcd); 218 usb_remove_hcd(hcd);
217err3: 219err3:
diff --git a/drivers/usb/host/ehci-ppc-of.c b/drivers/usb/host/ehci-ppc-of.c
index 875d2fcc9e0e..b0965eb6c0db 100644
--- a/drivers/usb/host/ehci-ppc-of.c
+++ b/drivers/usb/host/ehci-ppc-of.c
@@ -169,6 +169,7 @@ static int ehci_hcd_ppc_of_probe(struct platform_device *op)
169 if (rv) 169 if (rv)
170 goto err_ioremap; 170 goto err_ioremap;
171 171
172 device_wakeup_enable(hcd->self.controller);
172 return 0; 173 return 0;
173 174
174err_ioremap: 175err_ioremap:
diff --git a/drivers/usb/host/ehci-ps3.c b/drivers/usb/host/ehci-ps3.c
index 8188542ba17e..7934ff9b35e1 100644
--- a/drivers/usb/host/ehci-ps3.c
+++ b/drivers/usb/host/ehci-ps3.c
@@ -189,6 +189,7 @@ static int ps3_ehci_probe(struct ps3_system_bus_device *dev)
189 goto fail_add_hcd; 189 goto fail_add_hcd;
190 } 190 }
191 191
192 device_wakeup_enable(hcd->self.controller);
192 return result; 193 return result;
193 194
194fail_add_hcd: 195fail_add_hcd:
diff --git a/drivers/usb/host/ehci-sead3.c b/drivers/usb/host/ehci-sead3.c
index 8a734498079b..cf1267673868 100644
--- a/drivers/usb/host/ehci-sead3.c
+++ b/drivers/usb/host/ehci-sead3.c
@@ -126,6 +126,7 @@ static int ehci_hcd_sead3_drv_probe(struct platform_device *pdev)
126 IRQF_SHARED); 126 IRQF_SHARED);
127 if (ret == 0) { 127 if (ret == 0) {
128 platform_set_drvdata(pdev, hcd); 128 platform_set_drvdata(pdev, hcd);
129 device_wakeup_enable(hcd->self.controller);
129 return ret; 130 return ret;
130 } 131 }
131 132
diff --git a/drivers/usb/host/ehci-sh.c b/drivers/usb/host/ehci-sh.c
index dc899eb2b861..9b9b9f5b016e 100644
--- a/drivers/usb/host/ehci-sh.c
+++ b/drivers/usb/host/ehci-sh.c
@@ -151,6 +151,7 @@ static int ehci_hcd_sh_probe(struct platform_device *pdev)
151 dev_err(&pdev->dev, "Failed to add hcd"); 151 dev_err(&pdev->dev, "Failed to add hcd");
152 goto fail_add_hcd; 152 goto fail_add_hcd;
153 } 153 }
154 device_wakeup_enable(hcd->self.controller);
154 155
155 priv->hcd = hcd; 156 priv->hcd = hcd;
156 platform_set_drvdata(pdev, priv); 157 platform_set_drvdata(pdev, priv);
diff --git a/drivers/usb/host/ehci-spear.c b/drivers/usb/host/ehci-spear.c
index ee6f9ffaa0e7..8bd915b2ae8c 100644
--- a/drivers/usb/host/ehci-spear.c
+++ b/drivers/usb/host/ehci-spear.c
@@ -130,6 +130,7 @@ static int spear_ehci_hcd_drv_probe(struct platform_device *pdev)
130 if (retval) 130 if (retval)
131 goto err_stop_ehci; 131 goto err_stop_ehci;
132 132
133 device_wakeup_enable(hcd->self.controller);
133 return retval; 134 return retval;
134 135
135err_stop_ehci: 136err_stop_ehci:
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index b9fd0396011e..a8f4471dae7b 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -455,6 +455,7 @@ static int tegra_ehci_probe(struct platform_device *pdev)
455 dev_err(&pdev->dev, "Failed to add USB HCD\n"); 455 dev_err(&pdev->dev, "Failed to add USB HCD\n");
456 goto cleanup_otg_set_host; 456 goto cleanup_otg_set_host;
457 } 457 }
458 device_wakeup_enable(hcd->self.controller);
458 459
459 return err; 460 return err;
460 461
diff --git a/drivers/usb/host/ehci-tilegx.c b/drivers/usb/host/ehci-tilegx.c
index 67026ffbf9a8..f3713d32c9a1 100644
--- a/drivers/usb/host/ehci-tilegx.c
+++ b/drivers/usb/host/ehci-tilegx.c
@@ -170,6 +170,7 @@ static int ehci_hcd_tilegx_drv_probe(struct platform_device *pdev)
170 ret = usb_add_hcd(hcd, pdata->irq, IRQF_SHARED); 170 ret = usb_add_hcd(hcd, pdata->irq, IRQF_SHARED);
171 if (ret == 0) { 171 if (ret == 0) {
172 platform_set_drvdata(pdev, hcd); 172 platform_set_drvdata(pdev, hcd);
173 device_wakeup_enable(hcd->self.controller);
173 return ret; 174 return ret;
174 } 175 }
175 176
diff --git a/drivers/usb/host/ehci-w90x900.c b/drivers/usb/host/ehci-w90x900.c
index cdad8438c02b..12c1a563c3f2 100644
--- a/drivers/usb/host/ehci-w90x900.c
+++ b/drivers/usb/host/ehci-w90x900.c
@@ -94,6 +94,7 @@ static int usb_w90x900_probe(const struct hc_driver *driver,
94 if (retval != 0) 94 if (retval != 0)
95 goto err4; 95 goto err4;
96 96
97 device_wakeup_enable(hcd->self.controller);
97 return retval; 98 return retval;
98err4: 99err4:
99 iounmap(hcd->regs); 100 iounmap(hcd->regs);
diff --git a/drivers/usb/host/ehci-xilinx-of.c b/drivers/usb/host/ehci-xilinx-of.c
index 95979f9f4381..3cd2efa4e678 100644
--- a/drivers/usb/host/ehci-xilinx-of.c
+++ b/drivers/usb/host/ehci-xilinx-of.c
@@ -191,8 +191,10 @@ static int ehci_hcd_xilinx_of_probe(struct platform_device *op)
191 ehci->caps = hcd->regs + 0x100; 191 ehci->caps = hcd->regs + 0x100;
192 192
193 rv = usb_add_hcd(hcd, irq, 0); 193 rv = usb_add_hcd(hcd, irq, 0);
194 if (rv == 0) 194 if (rv == 0) {
195 device_wakeup_enable(hcd->self.controller);
195 return 0; 196 return 0;
197 }
196 198
197err_irq: 199err_irq:
198 usb_put_hcd(hcd); 200 usb_put_hcd(hcd);
diff --git a/drivers/usb/host/fhci-hcd.c b/drivers/usb/host/fhci-hcd.c
index 0551c0af0fd1..1cf68eaf2ed8 100644
--- a/drivers/usb/host/fhci-hcd.c
+++ b/drivers/usb/host/fhci-hcd.c
@@ -754,6 +754,8 @@ static int of_fhci_probe(struct platform_device *ofdev)
754 if (ret < 0) 754 if (ret < 0)
755 goto err_add_hcd; 755 goto err_add_hcd;
756 756
757 device_wakeup_enable(hcd->self.controller);
758
757 fhci_dfs_create(fhci); 759 fhci_dfs_create(fhci);
758 760
759 return 0; 761 return 0;
diff --git a/drivers/usb/host/fotg210-hcd.c b/drivers/usb/host/fotg210-hcd.c
index 97d6939189d6..98a89d16cc3e 100644
--- a/drivers/usb/host/fotg210-hcd.c
+++ b/drivers/usb/host/fotg210-hcd.c
@@ -5889,6 +5889,7 @@ static int fotg210_hcd_probe(struct platform_device *pdev)
5889 dev_err(dev, "failed to add hcd with err %d\n", retval); 5889 dev_err(dev, "failed to add hcd with err %d\n", retval);
5890 goto fail_add_hcd; 5890 goto fail_add_hcd;
5891 } 5891 }
5892 device_wakeup_enable(hcd->self.controller);
5892 5893
5893 return retval; 5894 return retval;
5894 5895
diff --git a/drivers/usb/host/fusbh200-hcd.c b/drivers/usb/host/fusbh200-hcd.c
index 9ea85b662a04..ba9499060f63 100644
--- a/drivers/usb/host/fusbh200-hcd.c
+++ b/drivers/usb/host/fusbh200-hcd.c
@@ -5798,6 +5798,7 @@ static int fusbh200_hcd_probe(struct platform_device *pdev)
5798 dev_err(dev, "failed to add hcd with err %d\n", retval); 5798 dev_err(dev, "failed to add hcd with err %d\n", retval);
5799 goto fail_add_hcd; 5799 goto fail_add_hcd;
5800 } 5800 }
5801 device_wakeup_enable(hcd->self.controller);
5801 5802
5802 return retval; 5803 return retval;
5803 5804
diff --git a/drivers/usb/host/hwa-hc.c b/drivers/usb/host/hwa-hc.c
index a4ec9e6c0f86..7fd3f9bd7b83 100644
--- a/drivers/usb/host/hwa-hc.c
+++ b/drivers/usb/host/hwa-hc.c
@@ -791,6 +791,7 @@ static int hwahc_probe(struct usb_interface *usb_iface,
791 dev_err(dev, "Cannot add HCD: %d\n", result); 791 dev_err(dev, "Cannot add HCD: %d\n", result);
792 goto error_add_hcd; 792 goto error_add_hcd;
793 } 793 }
794 device_wakeup_enable(usb_hcd->self.controller);
794 result = wusbhc_b_create(&hwahc->wusbhc); 795 result = wusbhc_b_create(&hwahc->wusbhc);
795 if (result < 0) { 796 if (result < 0) {
796 dev_err(dev, "Cannot setup phase B of WUSBHC: %d\n", result); 797 dev_err(dev, "Cannot setup phase B of WUSBHC: %d\n", result);
diff --git a/drivers/usb/host/imx21-hcd.c b/drivers/usb/host/imx21-hcd.c
index 0122624c7ec1..207bad99301f 100644
--- a/drivers/usb/host/imx21-hcd.c
+++ b/drivers/usb/host/imx21-hcd.c
@@ -1910,6 +1910,7 @@ static int imx21_probe(struct platform_device *pdev)
1910 dev_err(imx21->dev, "usb_add_hcd() returned %d\n", ret); 1910 dev_err(imx21->dev, "usb_add_hcd() returned %d\n", ret);
1911 goto failed_add_hcd; 1911 goto failed_add_hcd;
1912 } 1912 }
1913 device_wakeup_enable(hcd->self.controller);
1913 1914
1914 return 0; 1915 return 0;
1915 1916
diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c
index 7722ec658b87..2740f65936bd 100644
--- a/drivers/usb/host/isp116x-hcd.c
+++ b/drivers/usb/host/isp116x-hcd.c
@@ -1645,6 +1645,8 @@ static int isp116x_probe(struct platform_device *pdev)
1645 if (ret) 1645 if (ret)
1646 goto err6; 1646 goto err6;
1647 1647
1648 device_wakeup_enable(hcd->self.controller);
1649
1648 ret = create_debug_file(isp116x); 1650 ret = create_debug_file(isp116x);
1649 if (ret) { 1651 if (ret) {
1650 ERR("Couldn't create debugfs entry\n"); 1652 ERR("Couldn't create debugfs entry\n");
diff --git a/drivers/usb/host/isp1362-hcd.c b/drivers/usb/host/isp1362-hcd.c
index cd94b108b57f..34645ae9313d 100644
--- a/drivers/usb/host/isp1362-hcd.c
+++ b/drivers/usb/host/isp1362-hcd.c
@@ -2746,6 +2746,8 @@ static int isp1362_probe(struct platform_device *pdev)
2746 retval = usb_add_hcd(hcd, irq, irq_flags | IRQF_SHARED); 2746 retval = usb_add_hcd(hcd, irq, irq_flags | IRQF_SHARED);
2747 if (retval != 0) 2747 if (retval != 0)
2748 goto err6; 2748 goto err6;
2749 device_wakeup_enable(hcd->self.controller);
2750
2749 pr_info("%s, irq %d\n", hcd->product_desc, irq); 2751 pr_info("%s, irq %d\n", hcd->product_desc, irq);
2750 2752
2751 create_debug_file(isp1362_hcd); 2753 create_debug_file(isp1362_hcd);
diff --git a/drivers/usb/host/isp1760-hcd.c b/drivers/usb/host/isp1760-hcd.c
index 2facee53eab1..51a0ae9cdd1d 100644
--- a/drivers/usb/host/isp1760-hcd.c
+++ b/drivers/usb/host/isp1760-hcd.c
@@ -2250,6 +2250,7 @@ struct usb_hcd *isp1760_register(phys_addr_t res_start, resource_size_t res_len,
2250 ret = usb_add_hcd(hcd, irq, irqflags); 2250 ret = usb_add_hcd(hcd, irq, irqflags);
2251 if (ret) 2251 if (ret)
2252 goto err_unmap; 2252 goto err_unmap;
2253 device_wakeup_enable(hcd->self.controller);
2253 2254
2254 return hcd; 2255 return hcd;
2255 2256
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index cc9462f19fa5..29d2093e3cee 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -200,8 +200,10 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver,
200 at91_start_hc(pdev); 200 at91_start_hc(pdev);
201 201
202 retval = usb_add_hcd(hcd, pdev->resource[1].start, IRQF_SHARED); 202 retval = usb_add_hcd(hcd, pdev->resource[1].start, IRQF_SHARED);
203 if (retval == 0) 203 if (retval == 0) {
204 device_wakeup_enable(hcd->self.controller);
204 return retval; 205 return retval;
206 }
205 207
206 /* Error handling */ 208 /* Error handling */
207 at91_stop_hc(pdev); 209 at91_stop_hc(pdev);
diff --git a/drivers/usb/host/ohci-da8xx.c b/drivers/usb/host/ohci-da8xx.c
index 71dbd85e9a8d..f0fe0d26314d 100644
--- a/drivers/usb/host/ohci-da8xx.c
+++ b/drivers/usb/host/ohci-da8xx.c
@@ -348,6 +348,8 @@ static int usb_hcd_da8xx_probe(const struct hc_driver *driver,
348 if (error) 348 if (error)
349 goto err4; 349 goto err4;
350 350
351 device_wakeup_enable(hcd->self.controller);
352
351 if (hub->ocic_notify) { 353 if (hub->ocic_notify) {
352 error = hub->ocic_notify(ohci_da8xx_ocic_handler); 354 error = hub->ocic_notify(ohci_da8xx_ocic_handler);
353 if (!error) 355 if (!error)
diff --git a/drivers/usb/host/ohci-exynos.c b/drivers/usb/host/ohci-exynos.c
index 9897d70e4c15..68588d8a09bb 100644
--- a/drivers/usb/host/ohci-exynos.c
+++ b/drivers/usb/host/ohci-exynos.c
@@ -146,6 +146,7 @@ skip_phy:
146 dev_err(&pdev->dev, "Failed to add USB HCD\n"); 146 dev_err(&pdev->dev, "Failed to add USB HCD\n");
147 goto fail_add_hcd; 147 goto fail_add_hcd;
148 } 148 }
149 device_wakeup_enable(hcd->self.controller);
149 return 0; 150 return 0;
150 151
151fail_add_hcd: 152fail_add_hcd:
diff --git a/drivers/usb/host/ohci-jz4740.c b/drivers/usb/host/ohci-jz4740.c
index d4ef53990d73..efe31f3ab4ea 100644
--- a/drivers/usb/host/ohci-jz4740.c
+++ b/drivers/usb/host/ohci-jz4740.c
@@ -217,6 +217,7 @@ static int jz4740_ohci_probe(struct platform_device *pdev)
217 dev_err(&pdev->dev, "Failed to add hcd: %d\n", ret); 217 dev_err(&pdev->dev, "Failed to add hcd: %d\n", ret);
218 goto err_disable; 218 goto err_disable;
219 } 219 }
220 device_wakeup_enable(hcd->self.controller);
220 221
221 return 0; 222 return 0;
222 223
diff --git a/drivers/usb/host/ohci-nxp.c b/drivers/usb/host/ohci-nxp.c
index e99db8a6d55f..719f28e5e3ac 100644
--- a/drivers/usb/host/ohci-nxp.c
+++ b/drivers/usb/host/ohci-nxp.c
@@ -274,8 +274,10 @@ static int ohci_hcd_nxp_probe(struct platform_device *pdev)
274 274
275 dev_info(&pdev->dev, "at 0x%p, irq %d\n", hcd->regs, hcd->irq); 275 dev_info(&pdev->dev, "at 0x%p, irq %d\n", hcd->regs, hcd->irq);
276 ret = usb_add_hcd(hcd, irq, 0); 276 ret = usb_add_hcd(hcd, irq, 0);
277 if (ret == 0) 277 if (ret == 0) {
278 device_wakeup_enable(hcd->self.controller);
278 return ret; 279 return ret;
280 }
279 281
280 ohci_nxp_stop_hc(); 282 ohci_nxp_stop_hc();
281fail_resource: 283fail_resource:
diff --git a/drivers/usb/host/ohci-octeon.c b/drivers/usb/host/ohci-octeon.c
index 6c16dcef15c6..49b220dc2f9b 100644
--- a/drivers/usb/host/ohci-octeon.c
+++ b/drivers/usb/host/ohci-octeon.c
@@ -171,6 +171,8 @@ static int ohci_octeon_drv_probe(struct platform_device *pdev)
171 goto err3; 171 goto err3;
172 } 172 }
173 173
174 device_wakeup_enable(hcd->self.controller);
175
174 platform_set_drvdata(pdev, hcd); 176 platform_set_drvdata(pdev, hcd);
175 177
176 return 0; 178 return 0;
diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c
index f253214741ba..a44a4fede1c4 100644
--- a/drivers/usb/host/ohci-omap.c
+++ b/drivers/usb/host/ohci-omap.c
@@ -367,6 +367,7 @@ static int usb_hcd_omap_probe (const struct hc_driver *driver,
367 if (retval) 367 if (retval)
368 goto err3; 368 goto err3;
369 369
370 device_wakeup_enable(hcd->self.controller);
370 return 0; 371 return 0;
371err3: 372err3:
372 iounmap(hcd->regs); 373 iounmap(hcd->regs);
diff --git a/drivers/usb/host/ohci-omap3.c b/drivers/usb/host/ohci-omap3.c
index 21457417a856..ec15aebe8786 100644
--- a/drivers/usb/host/ohci-omap3.c
+++ b/drivers/usb/host/ohci-omap3.c
@@ -130,6 +130,7 @@ static int ohci_hcd_omap3_probe(struct platform_device *pdev)
130 dev_dbg(dev, "failed to add hcd with err %d\n", ret); 130 dev_dbg(dev, "failed to add hcd with err %d\n", ret);
131 goto err_add_hcd; 131 goto err_add_hcd;
132 } 132 }
133 device_wakeup_enable(hcd->self.controller);
133 134
134 return 0; 135 return 0;
135 136
diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
index f351ff5b171f..68f674cd095f 100644
--- a/drivers/usb/host/ohci-platform.c
+++ b/drivers/usb/host/ohci-platform.c
@@ -108,6 +108,8 @@ static int ohci_platform_probe(struct platform_device *dev)
108 if (err) 108 if (err)
109 goto err_put_hcd; 109 goto err_put_hcd;
110 110
111 device_wakeup_enable(hcd->self.controller);
112
111 platform_set_drvdata(dev, hcd); 113 platform_set_drvdata(dev, hcd);
112 114
113 return err; 115 return err;
diff --git a/drivers/usb/host/ohci-ppc-of.c b/drivers/usb/host/ohci-ppc-of.c
index 81f3eba215c1..83e33d464082 100644
--- a/drivers/usb/host/ohci-ppc-of.c
+++ b/drivers/usb/host/ohci-ppc-of.c
@@ -147,8 +147,10 @@ static int ohci_hcd_ppc_of_probe(struct platform_device *op)
147 ohci_hcd_init(ohci); 147 ohci_hcd_init(ohci);
148 148
149 rv = usb_add_hcd(hcd, irq, 0); 149 rv = usb_add_hcd(hcd, irq, 0);
150 if (rv == 0) 150 if (rv == 0) {
151 device_wakeup_enable(hcd->self.controller);
151 return 0; 152 return 0;
153 }
152 154
153 /* by now, 440epx is known to show usb_23 erratum */ 155 /* by now, 440epx is known to show usb_23 erratum */
154 np = of_find_compatible_node(NULL, NULL, "ibm,usb-ehci-440epx"); 156 np = of_find_compatible_node(NULL, NULL, "ibm,usb-ehci-440epx");
diff --git a/drivers/usb/host/ohci-ps3.c b/drivers/usb/host/ohci-ps3.c
index 7d35cd9e2862..71d8bc4c27f6 100644
--- a/drivers/usb/host/ohci-ps3.c
+++ b/drivers/usb/host/ohci-ps3.c
@@ -173,6 +173,7 @@ static int ps3_ohci_probe(struct ps3_system_bus_device *dev)
173 goto fail_add_hcd; 173 goto fail_add_hcd;
174 } 174 }
175 175
176 device_wakeup_enable(hcd->self.controller);
176 return result; 177 return result;
177 178
178fail_add_hcd: 179fail_add_hcd:
diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c
index e89ac4d4b87e..5343ecfdddfa 100644
--- a/drivers/usb/host/ohci-pxa27x.c
+++ b/drivers/usb/host/ohci-pxa27x.c
@@ -442,8 +442,10 @@ int usb_hcd_pxa27x_probe (const struct hc_driver *driver, struct platform_device
442 ohci->num_ports = 3; 442 ohci->num_ports = 3;
443 443
444 retval = usb_add_hcd(hcd, irq, 0); 444 retval = usb_add_hcd(hcd, irq, 0);
445 if (retval == 0) 445 if (retval == 0) {
446 device_wakeup_enable(hcd->self.controller);
446 return retval; 447 return retval;
448 }
447 449
448 pxa27x_stop_hc(pxa_ohci, &pdev->dev); 450 pxa27x_stop_hc(pxa_ohci, &pdev->dev);
449 err3: 451 err3:
diff --git a/drivers/usb/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c
index 83cd1dcd5145..ff7c8f1c48fb 100644
--- a/drivers/usb/host/ohci-s3c2410.c
+++ b/drivers/usb/host/ohci-s3c2410.c
@@ -395,6 +395,7 @@ static int usb_hcd_s3c2410_probe(const struct hc_driver *driver,
395 if (retval != 0) 395 if (retval != 0)
396 goto err_ioremap; 396 goto err_ioremap;
397 397
398 device_wakeup_enable(hcd->self.controller);
398 return 0; 399 return 0;
399 400
400 err_ioremap: 401 err_ioremap:
diff --git a/drivers/usb/host/ohci-sa1111.c b/drivers/usb/host/ohci-sa1111.c
index aa9e127bbe71..2ac266d692a2 100644
--- a/drivers/usb/host/ohci-sa1111.c
+++ b/drivers/usb/host/ohci-sa1111.c
@@ -211,8 +211,10 @@ static int ohci_hcd_sa1111_probe(struct sa1111_dev *dev)
211 goto err2; 211 goto err2;
212 212
213 ret = usb_add_hcd(hcd, dev->irq[1], 0); 213 ret = usb_add_hcd(hcd, dev->irq[1], 0);
214 if (ret == 0) 214 if (ret == 0) {
215 device_wakeup_enable(hcd->self.controller);
215 return ret; 216 return ret;
217 }
216 218
217 sa1111_stop_hc(dev); 219 sa1111_stop_hc(dev);
218 err2: 220 err2:
diff --git a/drivers/usb/host/ohci-sm501.c b/drivers/usb/host/ohci-sm501.c
index 2a5de5fecd8f..4e81c804c73e 100644
--- a/drivers/usb/host/ohci-sm501.c
+++ b/drivers/usb/host/ohci-sm501.c
@@ -168,6 +168,7 @@ static int ohci_hcd_sm501_drv_probe(struct platform_device *pdev)
168 retval = usb_add_hcd(hcd, irq, IRQF_SHARED); 168 retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
169 if (retval) 169 if (retval)
170 goto err5; 170 goto err5;
171 device_wakeup_enable(hcd->self.controller);
171 172
172 /* enable power and unmask interrupts */ 173 /* enable power and unmask interrupts */
173 174
diff --git a/drivers/usb/host/ohci-spear.c b/drivers/usb/host/ohci-spear.c
index e418c192e23a..4cb98abc0bef 100644
--- a/drivers/usb/host/ohci-spear.c
+++ b/drivers/usb/host/ohci-spear.c
@@ -103,8 +103,10 @@ static int spear_ohci_hcd_drv_probe(struct platform_device *pdev)
103 ohci = hcd_to_ohci(hcd); 103 ohci = hcd_to_ohci(hcd);
104 104
105 retval = usb_add_hcd(hcd, platform_get_irq(pdev, 0), 0); 105 retval = usb_add_hcd(hcd, platform_get_irq(pdev, 0), 0);
106 if (retval == 0) 106 if (retval == 0) {
107 device_wakeup_enable(hcd->self.controller);
107 return retval; 108 return retval;
109 }
108 110
109 clk_disable_unprepare(sohci_p->clk); 111 clk_disable_unprepare(sohci_p->clk);
110err_put_hcd: 112err_put_hcd:
diff --git a/drivers/usb/host/ohci-tilegx.c b/drivers/usb/host/ohci-tilegx.c
index 22540ab71f55..0b183e0b0a8a 100644
--- a/drivers/usb/host/ohci-tilegx.c
+++ b/drivers/usb/host/ohci-tilegx.c
@@ -159,6 +159,7 @@ static int ohci_hcd_tilegx_drv_probe(struct platform_device *pdev)
159 ret = usb_add_hcd(hcd, pdata->irq, IRQF_SHARED); 159 ret = usb_add_hcd(hcd, pdata->irq, IRQF_SHARED);
160 if (ret == 0) { 160 if (ret == 0) {
161 platform_set_drvdata(pdev, hcd); 161 platform_set_drvdata(pdev, hcd);
162 device_wakeup_enable(hcd->self.controller);
162 return ret; 163 return ret;
163 } 164 }
164 165
diff --git a/drivers/usb/host/ohci-tmio.c b/drivers/usb/host/ohci-tmio.c
index ecb09a5ada9c..9c44093b8e1e 100644
--- a/drivers/usb/host/ohci-tmio.c
+++ b/drivers/usb/host/ohci-tmio.c
@@ -250,6 +250,7 @@ static int ohci_hcd_tmio_drv_probe(struct platform_device *dev)
250 if (ret) 250 if (ret)
251 goto err_add_hcd; 251 goto err_add_hcd;
252 252
253 device_wakeup_enable(hcd->self.controller);
253 if (ret == 0) 254 if (ret == 0)
254 return ret; 255 return ret;
255 256
diff --git a/drivers/usb/host/oxu210hp-hcd.c b/drivers/usb/host/oxu210hp-hcd.c
index 4a05148ee79b..778eeaf2dd14 100644
--- a/drivers/usb/host/oxu210hp-hcd.c
+++ b/drivers/usb/host/oxu210hp-hcd.c
@@ -3751,6 +3751,7 @@ static struct usb_hcd *oxu_create(struct platform_device *pdev,
3751 if (ret < 0) 3751 if (ret < 0)
3752 return ERR_PTR(ret); 3752 return ERR_PTR(ret);
3753 3753
3754 device_wakeup_enable(hcd->self.controller);
3754 return hcd; 3755 return hcd;
3755} 3756}
3756 3757
diff --git a/drivers/usb/host/r8a66597-hcd.c b/drivers/usb/host/r8a66597-hcd.c
index 3bddfcfafb79..47b1322c7a77 100644
--- a/drivers/usb/host/r8a66597-hcd.c
+++ b/drivers/usb/host/r8a66597-hcd.c
@@ -2514,6 +2514,7 @@ static int r8a66597_probe(struct platform_device *pdev)
2514 dev_err(&pdev->dev, "Failed to add hcd\n"); 2514 dev_err(&pdev->dev, "Failed to add hcd\n");
2515 goto clean_up3; 2515 goto clean_up3;
2516 } 2516 }
2517 device_wakeup_enable(hcd->self.controller);
2517 2518
2518 return 0; 2519 return 0;
2519 2520
diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c
index 79620c39217e..0115e7f51d94 100644
--- a/drivers/usb/host/sl811-hcd.c
+++ b/drivers/usb/host/sl811-hcd.c
@@ -1732,6 +1732,8 @@ sl811h_probe(struct platform_device *dev)
1732 if (retval != 0) 1732 if (retval != 0)
1733 goto err6; 1733 goto err6;
1734 1734
1735 device_wakeup_enable(hcd->self.controller);
1736
1735 create_debug_file(sl811); 1737 create_debug_file(sl811);
1736 return retval; 1738 return retval;
1737 1739
diff --git a/drivers/usb/host/u132-hcd.c b/drivers/usb/host/u132-hcd.c
index 46236e9fc87f..c0671750671f 100644
--- a/drivers/usb/host/u132-hcd.c
+++ b/drivers/usb/host/u132-hcd.c
@@ -3133,6 +3133,7 @@ static int u132_probe(struct platform_device *pdev)
3133 u132_u132_put_kref(u132); 3133 u132_u132_put_kref(u132);
3134 return retval; 3134 return retval;
3135 } else { 3135 } else {
3136 device_wakeup_enable(hcd->self.controller);
3136 u132_monitor_queue_work(u132, 100); 3137 u132_monitor_queue_work(u132, 100);
3137 return 0; 3138 return 0;
3138 } 3139 }
diff --git a/drivers/usb/host/uhci-grlib.c b/drivers/usb/host/uhci-grlib.c
index 53c23ff7d685..ab25dc397e8b 100644
--- a/drivers/usb/host/uhci-grlib.c
+++ b/drivers/usb/host/uhci-grlib.c
@@ -141,6 +141,7 @@ static int uhci_hcd_grlib_probe(struct platform_device *op)
141 if (rv) 141 if (rv)
142 goto err_uhci; 142 goto err_uhci;
143 143
144 device_wakeup_enable(hcd->self.controller);
144 return 0; 145 return 0;
145 146
146err_uhci: 147err_uhci:
diff --git a/drivers/usb/host/uhci-platform.c b/drivers/usb/host/uhci-platform.c
index 3003fefaa964..44e6c9da8892 100644
--- a/drivers/usb/host/uhci-platform.c
+++ b/drivers/usb/host/uhci-platform.c
@@ -108,6 +108,7 @@ static int uhci_hcd_platform_probe(struct platform_device *pdev)
108 if (ret) 108 if (ret)
109 goto err_uhci; 109 goto err_uhci;
110 110
111 device_wakeup_enable(hcd->self.controller);
111 return 0; 112 return 0;
112 113
113err_uhci: 114err_uhci:
diff --git a/drivers/usb/host/whci/hcd.c b/drivers/usb/host/whci/hcd.c
index 1b0888f8da9a..d7b363a418de 100644
--- a/drivers/usb/host/whci/hcd.c
+++ b/drivers/usb/host/whci/hcd.c
@@ -293,6 +293,7 @@ static int whc_probe(struct umc_dev *umc)
293 dev_err(dev, "cannot add HCD: %d\n", ret); 293 dev_err(dev, "cannot add HCD: %d\n", ret);
294 goto error_usb_add_hcd; 294 goto error_usb_add_hcd;
295 } 295 }
296 device_wakeup_enable(usb_hcd->self.controller);
296 297
297 ret = wusbhc_b_create(wusbhc); 298 ret = wusbhc_b_create(wusbhc);
298 if (ret) { 299 if (ret) {
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index d9c169f470d3..9d29aa1b1bc8 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -139,6 +139,7 @@ static int xhci_plat_probe(struct platform_device *pdev)
139 ret = usb_add_hcd(hcd, irq, IRQF_SHARED); 139 ret = usb_add_hcd(hcd, irq, IRQF_SHARED);
140 if (ret) 140 if (ret)
141 goto unmap_registers; 141 goto unmap_registers;
142 device_wakeup_enable(hcd->self.controller);
142 143
143 /* USB 2.0 roothub is stored in the platform_device now. */ 144 /* USB 2.0 roothub is stored in the platform_device now. */
144 hcd = platform_get_drvdata(pdev); 145 hcd = platform_get_drvdata(pdev);
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
index 6582a20bec05..e2083757e87c 100644
--- a/drivers/usb/musb/musb_host.c
+++ b/drivers/usb/musb/musb_host.c
@@ -2657,6 +2657,7 @@ int musb_host_setup(struct musb *musb, int power_budget)
2657 if (ret < 0) 2657 if (ret < 0)
2658 return ret; 2658 return ret;
2659 2659
2660 device_wakeup_enable(hcd->self.controller);
2660 return 0; 2661 return 0;
2661} 2662}
2662 2663
diff --git a/drivers/usb/phy/phy-msm-usb.c b/drivers/usb/phy/phy-msm-usb.c
index e9d4cd960ecd..37752832b770 100644
--- a/drivers/usb/phy/phy-msm-usb.c
+++ b/drivers/usb/phy/phy-msm-usb.c
@@ -669,6 +669,7 @@ static void msm_otg_start_host(struct usb_phy *phy, int on)
669 pdata->setup_gpio(OTG_STATE_A_HOST); 669 pdata->setup_gpio(OTG_STATE_A_HOST);
670#ifdef CONFIG_USB 670#ifdef CONFIG_USB
671 usb_add_hcd(hcd, hcd->irq, IRQF_SHARED); 671 usb_add_hcd(hcd, hcd->irq, IRQF_SHARED);
672 device_wakeup_enable(hcd->self.controller);
672#endif 673#endif
673 } else { 674 } else {
674 dev_dbg(phy->dev, "host off\n"); 675 dev_dbg(phy->dev, "host off\n");
diff --git a/drivers/usb/phy/phy-mv-usb.c b/drivers/usb/phy/phy-mv-usb.c
index 98f6ac6a78ea..44f316e287ef 100644
--- a/drivers/usb/phy/phy-mv-usb.c
+++ b/drivers/usb/phy/phy-mv-usb.c
@@ -213,10 +213,12 @@ static void mv_otg_start_host(struct mv_otg *mvotg, int on)
213 213
214 hcd = bus_to_hcd(otg->host); 214 hcd = bus_to_hcd(otg->host);
215 215
216 if (on) 216 if (on) {
217 usb_add_hcd(hcd, hcd->irq, IRQF_SHARED); 217 usb_add_hcd(hcd, hcd->irq, IRQF_SHARED);
218 else 218 device_wakeup_enable(hcd->self.controller);
219 } else {
219 usb_remove_hcd(hcd); 220 usb_remove_hcd(hcd);
221 }
220#endif /* CONFIG_USB */ 222#endif /* CONFIG_USB */
221} 223}
222 224
diff --git a/drivers/usb/renesas_usbhs/mod_host.c b/drivers/usb/renesas_usbhs/mod_host.c
index e40f565004d0..10e1ded9c9cc 100644
--- a/drivers/usb/renesas_usbhs/mod_host.c
+++ b/drivers/usb/renesas_usbhs/mod_host.c
@@ -1469,6 +1469,7 @@ static int usbhsh_start(struct usbhs_priv *priv)
1469 ret = usb_add_hcd(hcd, 0, 0); 1469 ret = usb_add_hcd(hcd, 0, 0);
1470 if (ret < 0) 1470 if (ret < 0)
1471 return 0; 1471 return 0;
1472 device_wakeup_enable(hcd->self.controller);
1472 1473
1473 /* 1474 /*
1474 * pipe initialize and enable DCP 1475 * pipe initialize and enable DCP