aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@freescale.com>2013-11-04 21:46:02 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-08 21:06:46 -0500
commit3c9740a117d40a74412775b5d3fe2b88a7635a0e (patch)
tree742113563df52e151dc96277fa968b9eca19bc3e /drivers/usb/host
parentc4962e03f4bbad63c8356e9466db6e0df4144ed9 (diff)
usb: hcd: move controller wakeup setting initialization to individual driver
Individual controller driver has different requirement for wakeup setting, so move it from core to itself. In order to align with current etting the default wakeup setting is enabled (except for chipidea host). Pass compile test with below commands: make O=outout/all allmodconfig make -j$CPU_NUM O=outout/all drivers/usb Signed-off-by: Peter Chen <peter.chen@freescale.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host')
-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
54 files changed, 77 insertions, 8 deletions
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);