diff options
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 | ||
2723 | error_create_attr_group: | 2717 | error_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 | ||
145 | err_ioremap: | 146 | err_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 | ||
160 | err_add: | 161 | err_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 | ||
257 | err4: | 258 | err4: |
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); |
217 | err3: | 219 | err3: |
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 | ||
174 | err_ioremap: | 175 | err_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 | ||
194 | fail_add_hcd: | 195 | fail_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 | ||
135 | err_stop_ehci: | 136 | err_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; |
98 | err4: | 99 | err4: |
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 | ||
197 | err_irq: | 199 | err_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 | ||
151 | fail_add_hcd: | 152 | fail_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(); |
281 | fail_resource: | 283 | fail_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; |
371 | err3: | 372 | err3: |
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 | ||
178 | fail_add_hcd: | 179 | fail_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); |
110 | err_put_hcd: | 112 | err_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 | ||
146 | err_uhci: | 147 | err_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 | ||
113 | err_uhci: | 114 | err_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 |