diff options
Diffstat (limited to 'drivers/usb/host')
-rw-r--r-- | drivers/usb/host/ehci-q.c | 12 | ||||
-rw-r--r-- | drivers/usb/host/ohci-tmio.c | 8 |
2 files changed, 4 insertions, 16 deletions
diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c index fe99895fb098..98ded66e8d3f 100644 --- a/drivers/usb/host/ehci-q.c +++ b/drivers/usb/host/ehci-q.c | |||
@@ -315,7 +315,6 @@ qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh) | |||
315 | int stopped; | 315 | int stopped; |
316 | unsigned count = 0; | 316 | unsigned count = 0; |
317 | u8 state; | 317 | u8 state; |
318 | const __le32 halt = HALT_BIT(ehci); | ||
319 | struct ehci_qh_hw *hw = qh->hw; | 318 | struct ehci_qh_hw *hw = qh->hw; |
320 | 319 | ||
321 | if (unlikely (list_empty (&qh->qtd_list))) | 320 | if (unlikely (list_empty (&qh->qtd_list))) |
@@ -422,7 +421,6 @@ qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh) | |||
422 | && !(qtd->hw_alt_next | 421 | && !(qtd->hw_alt_next |
423 | & EHCI_LIST_END(ehci))) { | 422 | & EHCI_LIST_END(ehci))) { |
424 | stopped = 1; | 423 | stopped = 1; |
425 | goto halt; | ||
426 | } | 424 | } |
427 | 425 | ||
428 | /* stop scanning when we reach qtds the hc is using */ | 426 | /* stop scanning when we reach qtds the hc is using */ |
@@ -456,16 +454,6 @@ qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh) | |||
456 | */ | 454 | */ |
457 | ehci_clear_tt_buffer(ehci, qh, urb, token); | 455 | ehci_clear_tt_buffer(ehci, qh, urb, token); |
458 | } | 456 | } |
459 | |||
460 | /* force halt for unlinked or blocked qh, so we'll | ||
461 | * patch the qh later and so that completions can't | ||
462 | * activate it while we "know" it's stopped. | ||
463 | */ | ||
464 | if ((halt & hw->hw_token) == 0) { | ||
465 | halt: | ||
466 | hw->hw_token |= halt; | ||
467 | wmb (); | ||
468 | } | ||
469 | } | 457 | } |
470 | 458 | ||
471 | /* unless we already know the urb's status, collect qtd status | 459 | /* unless we already know the urb's status, collect qtd status |
diff --git a/drivers/usb/host/ohci-tmio.c b/drivers/usb/host/ohci-tmio.c index 8dabe8e31d8c..3558491dd87d 100644 --- a/drivers/usb/host/ohci-tmio.c +++ b/drivers/usb/host/ohci-tmio.c | |||
@@ -185,7 +185,7 @@ static struct platform_driver ohci_hcd_tmio_driver; | |||
185 | 185 | ||
186 | static int __devinit ohci_hcd_tmio_drv_probe(struct platform_device *dev) | 186 | static int __devinit ohci_hcd_tmio_drv_probe(struct platform_device *dev) |
187 | { | 187 | { |
188 | struct mfd_cell *cell = dev->dev.platform_data; | 188 | const struct mfd_cell *cell = mfd_get_cell(dev); |
189 | struct resource *regs = platform_get_resource(dev, IORESOURCE_MEM, 0); | 189 | struct resource *regs = platform_get_resource(dev, IORESOURCE_MEM, 0); |
190 | struct resource *config = platform_get_resource(dev, IORESOURCE_MEM, 1); | 190 | struct resource *config = platform_get_resource(dev, IORESOURCE_MEM, 1); |
191 | struct resource *sram = platform_get_resource(dev, IORESOURCE_MEM, 2); | 191 | struct resource *sram = platform_get_resource(dev, IORESOURCE_MEM, 2); |
@@ -274,7 +274,7 @@ static int __devexit ohci_hcd_tmio_drv_remove(struct platform_device *dev) | |||
274 | { | 274 | { |
275 | struct usb_hcd *hcd = platform_get_drvdata(dev); | 275 | struct usb_hcd *hcd = platform_get_drvdata(dev); |
276 | struct tmio_hcd *tmio = hcd_to_tmio(hcd); | 276 | struct tmio_hcd *tmio = hcd_to_tmio(hcd); |
277 | struct mfd_cell *cell = dev->dev.platform_data; | 277 | const struct mfd_cell *cell = mfd_get_cell(dev); |
278 | 278 | ||
279 | usb_remove_hcd(hcd); | 279 | usb_remove_hcd(hcd); |
280 | tmio_stop_hc(dev); | 280 | tmio_stop_hc(dev); |
@@ -293,7 +293,7 @@ static int __devexit ohci_hcd_tmio_drv_remove(struct platform_device *dev) | |||
293 | #ifdef CONFIG_PM | 293 | #ifdef CONFIG_PM |
294 | static int ohci_hcd_tmio_drv_suspend(struct platform_device *dev, pm_message_t state) | 294 | static int ohci_hcd_tmio_drv_suspend(struct platform_device *dev, pm_message_t state) |
295 | { | 295 | { |
296 | struct mfd_cell *cell = dev->dev.platform_data; | 296 | const struct mfd_cell *cell = mfd_get_cell(dev); |
297 | struct usb_hcd *hcd = platform_get_drvdata(dev); | 297 | struct usb_hcd *hcd = platform_get_drvdata(dev); |
298 | struct ohci_hcd *ohci = hcd_to_ohci(hcd); | 298 | struct ohci_hcd *ohci = hcd_to_ohci(hcd); |
299 | struct tmio_hcd *tmio = hcd_to_tmio(hcd); | 299 | struct tmio_hcd *tmio = hcd_to_tmio(hcd); |
@@ -326,7 +326,7 @@ static int ohci_hcd_tmio_drv_suspend(struct platform_device *dev, pm_message_t s | |||
326 | 326 | ||
327 | static int ohci_hcd_tmio_drv_resume(struct platform_device *dev) | 327 | static int ohci_hcd_tmio_drv_resume(struct platform_device *dev) |
328 | { | 328 | { |
329 | struct mfd_cell *cell = dev->dev.platform_data; | 329 | const struct mfd_cell *cell = mfd_get_cell(dev); |
330 | struct usb_hcd *hcd = platform_get_drvdata(dev); | 330 | struct usb_hcd *hcd = platform_get_drvdata(dev); |
331 | struct ohci_hcd *ohci = hcd_to_ohci(hcd); | 331 | struct ohci_hcd *ohci = hcd_to_ohci(hcd); |
332 | struct tmio_hcd *tmio = hcd_to_tmio(hcd); | 332 | struct tmio_hcd *tmio = hcd_to_tmio(hcd); |