diff options
Diffstat (limited to 'drivers/usb/host')
-rw-r--r-- | drivers/usb/host/Makefile | 4 | ||||
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 4 | ||||
-rw-r--r-- | drivers/usb/host/ehci-mxc.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/ehci-omap.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/ehci-sched.c | 28 | ||||
-rw-r--r-- | drivers/usb/host/ehci.h | 5 | ||||
-rw-r--r-- | drivers/usb/host/fhci-hcd.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/fhci-mem.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/fhci-q.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/fhci-tds.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/hwa-hc.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/imx21-hcd.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/isp116x-hcd.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/ohci-q.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/r8a66597-hcd.c | 17 | ||||
-rw-r--r-- | drivers/usb/host/uhci-debug.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/whci/asl.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/whci/debug.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/whci/init.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/whci/pzl.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/whci/qset.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/xhci-mem.c | 10 | ||||
-rw-r--r-- | drivers/usb/host/xhci-ring.c | 1 | ||||
-rw-r--r-- | drivers/usb/host/xhci.c (renamed from drivers/usb/host/xhci-hcd.c) | 2 |
24 files changed, 66 insertions, 21 deletions
diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile index 4e0c67f1f51b..b6315aa47f7a 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile | |||
@@ -12,7 +12,7 @@ fhci-objs := fhci-hcd.o fhci-hub.o fhci-q.o fhci-mem.o \ | |||
12 | ifeq ($(CONFIG_FHCI_DEBUG),y) | 12 | ifeq ($(CONFIG_FHCI_DEBUG),y) |
13 | fhci-objs += fhci-dbg.o | 13 | fhci-objs += fhci-dbg.o |
14 | endif | 14 | endif |
15 | xhci-objs := xhci-hcd.o xhci-mem.o xhci-pci.o xhci-ring.o xhci-hub.o xhci-dbg.o | 15 | xhci-hcd-objs := xhci.o xhci-mem.o xhci-pci.o xhci-ring.o xhci-hub.o xhci-dbg.o |
16 | 16 | ||
17 | obj-$(CONFIG_USB_WHCI_HCD) += whci/ | 17 | obj-$(CONFIG_USB_WHCI_HCD) += whci/ |
18 | 18 | ||
@@ -25,7 +25,7 @@ obj-$(CONFIG_USB_ISP1362_HCD) += isp1362-hcd.o | |||
25 | obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o | 25 | obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o |
26 | obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o | 26 | obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o |
27 | obj-$(CONFIG_USB_FHCI_HCD) += fhci.o | 27 | obj-$(CONFIG_USB_FHCI_HCD) += fhci.o |
28 | obj-$(CONFIG_USB_XHCI_HCD) += xhci.o | 28 | obj-$(CONFIG_USB_XHCI_HCD) += xhci-hcd.o |
29 | obj-$(CONFIG_USB_SL811_HCD) += sl811-hcd.o | 29 | obj-$(CONFIG_USB_SL811_HCD) += sl811-hcd.o |
30 | obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o | 30 | obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o |
31 | obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o | 31 | obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o |
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index d8d6d3461d32..207e7a85aeb0 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/delay.h> | 23 | #include <linux/delay.h> |
24 | #include <linux/ioport.h> | 24 | #include <linux/ioport.h> |
25 | #include <linux/sched.h> | 25 | #include <linux/sched.h> |
26 | #include <linux/slab.h> | ||
27 | #include <linux/vmalloc.h> | 26 | #include <linux/vmalloc.h> |
28 | #include <linux/errno.h> | 27 | #include <linux/errno.h> |
29 | #include <linux/init.h> | 28 | #include <linux/init.h> |
@@ -35,6 +34,7 @@ | |||
35 | #include <linux/moduleparam.h> | 34 | #include <linux/moduleparam.h> |
36 | #include <linux/dma-mapping.h> | 35 | #include <linux/dma-mapping.h> |
37 | #include <linux/debugfs.h> | 36 | #include <linux/debugfs.h> |
37 | #include <linux/slab.h> | ||
38 | 38 | ||
39 | #include "../core/hcd.h" | 39 | #include "../core/hcd.h" |
40 | 40 | ||
@@ -995,7 +995,7 @@ rescan: | |||
995 | /* endpoints can be iso streams. for now, we don't | 995 | /* endpoints can be iso streams. for now, we don't |
996 | * accelerate iso completions ... so spin a while. | 996 | * accelerate iso completions ... so spin a while. |
997 | */ | 997 | */ |
998 | if (qh->hw->hw_info1 == 0) { | 998 | if (qh->hw == NULL) { |
999 | ehci_vdbg (ehci, "iso delay\n"); | 999 | ehci_vdbg (ehci, "iso delay\n"); |
1000 | goto idle_timeout; | 1000 | goto idle_timeout; |
1001 | } | 1001 | } |
diff --git a/drivers/usb/host/ehci-mxc.c b/drivers/usb/host/ehci-mxc.c index 23cd917088b4..ead59f42e69b 100644 --- a/drivers/usb/host/ehci-mxc.c +++ b/drivers/usb/host/ehci-mxc.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/clk.h> | 21 | #include <linux/clk.h> |
22 | #include <linux/delay.h> | 22 | #include <linux/delay.h> |
23 | #include <linux/usb/otg.h> | 23 | #include <linux/usb/otg.h> |
24 | #include <linux/slab.h> | ||
24 | 25 | ||
25 | #include <mach/mxc_ehci.h> | 26 | #include <mach/mxc_ehci.h> |
26 | 27 | ||
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c index f0282d6bb7aa..a67a0030dd57 100644 --- a/drivers/usb/host/ehci-omap.c +++ b/drivers/usb/host/ehci-omap.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/clk.h> | 37 | #include <linux/clk.h> |
38 | #include <linux/gpio.h> | 38 | #include <linux/gpio.h> |
39 | #include <linux/regulator/consumer.h> | 39 | #include <linux/regulator/consumer.h> |
40 | #include <linux/slab.h> | ||
40 | #include <plat/usb.h> | 41 | #include <plat/usb.h> |
41 | 42 | ||
42 | /* | 43 | /* |
diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c index 39340ae00ac4..a0aaaaff2560 100644 --- a/drivers/usb/host/ehci-sched.c +++ b/drivers/usb/host/ehci-sched.c | |||
@@ -1123,8 +1123,8 @@ iso_stream_find (struct ehci_hcd *ehci, struct urb *urb) | |||
1123 | urb->interval); | 1123 | urb->interval); |
1124 | } | 1124 | } |
1125 | 1125 | ||
1126 | /* if dev->ep [epnum] is a QH, info1.maxpacket is nonzero */ | 1126 | /* if dev->ep [epnum] is a QH, hw is set */ |
1127 | } else if (unlikely (stream->hw_info1 != 0)) { | 1127 | } else if (unlikely (stream->hw != NULL)) { |
1128 | ehci_dbg (ehci, "dev %s ep%d%s, not iso??\n", | 1128 | ehci_dbg (ehci, "dev %s ep%d%s, not iso??\n", |
1129 | urb->dev->devpath, epnum, | 1129 | urb->dev->devpath, epnum, |
1130 | usb_pipein(urb->pipe) ? "in" : "out"); | 1130 | usb_pipein(urb->pipe) ? "in" : "out"); |
@@ -1565,13 +1565,27 @@ itd_patch( | |||
1565 | static inline void | 1565 | static inline void |
1566 | itd_link (struct ehci_hcd *ehci, unsigned frame, struct ehci_itd *itd) | 1566 | itd_link (struct ehci_hcd *ehci, unsigned frame, struct ehci_itd *itd) |
1567 | { | 1567 | { |
1568 | /* always prepend ITD/SITD ... only QH tree is order-sensitive */ | 1568 | union ehci_shadow *prev = &ehci->pshadow[frame]; |
1569 | itd->itd_next = ehci->pshadow [frame]; | 1569 | __hc32 *hw_p = &ehci->periodic[frame]; |
1570 | itd->hw_next = ehci->periodic [frame]; | 1570 | union ehci_shadow here = *prev; |
1571 | ehci->pshadow [frame].itd = itd; | 1571 | __hc32 type = 0; |
1572 | |||
1573 | /* skip any iso nodes which might belong to previous microframes */ | ||
1574 | while (here.ptr) { | ||
1575 | type = Q_NEXT_TYPE(ehci, *hw_p); | ||
1576 | if (type == cpu_to_hc32(ehci, Q_TYPE_QH)) | ||
1577 | break; | ||
1578 | prev = periodic_next_shadow(ehci, prev, type); | ||
1579 | hw_p = shadow_next_periodic(ehci, &here, type); | ||
1580 | here = *prev; | ||
1581 | } | ||
1582 | |||
1583 | itd->itd_next = here; | ||
1584 | itd->hw_next = *hw_p; | ||
1585 | prev->itd = itd; | ||
1572 | itd->frame = frame; | 1586 | itd->frame = frame; |
1573 | wmb (); | 1587 | wmb (); |
1574 | ehci->periodic[frame] = cpu_to_hc32(ehci, itd->itd_dma | Q_TYPE_ITD); | 1588 | *hw_p = cpu_to_hc32(ehci, itd->itd_dma | Q_TYPE_ITD); |
1575 | } | 1589 | } |
1576 | 1590 | ||
1577 | /* fit urb's itds into the selected schedule slot; activate as needed */ | 1591 | /* fit urb's itds into the selected schedule slot; activate as needed */ |
diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index 2d85e21ff282..b1dce96dd621 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h | |||
@@ -394,9 +394,8 @@ struct ehci_iso_sched { | |||
394 | * acts like a qh would, if EHCI had them for ISO. | 394 | * acts like a qh would, if EHCI had them for ISO. |
395 | */ | 395 | */ |
396 | struct ehci_iso_stream { | 396 | struct ehci_iso_stream { |
397 | /* first two fields match QH, but info1 == 0 */ | 397 | /* first field matches ehci_hq, but is NULL */ |
398 | __hc32 hw_next; | 398 | struct ehci_qh_hw *hw; |
399 | __hc32 hw_info1; | ||
400 | 399 | ||
401 | u32 refcount; | 400 | u32 refcount; |
402 | u8 bEndpointAddress; | 401 | u8 bEndpointAddress; |
diff --git a/drivers/usb/host/fhci-hcd.c b/drivers/usb/host/fhci-hcd.c index 5dcfb3de9945..15379c636143 100644 --- a/drivers/usb/host/fhci-hcd.c +++ b/drivers/usb/host/fhci-hcd.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/usb.h> | 27 | #include <linux/usb.h> |
28 | #include <linux/of_platform.h> | 28 | #include <linux/of_platform.h> |
29 | #include <linux/of_gpio.h> | 29 | #include <linux/of_gpio.h> |
30 | #include <linux/slab.h> | ||
30 | #include <asm/qe.h> | 31 | #include <asm/qe.h> |
31 | #include <asm/fsl_gtm.h> | 32 | #include <asm/fsl_gtm.h> |
32 | #include "../core/hcd.h" | 33 | #include "../core/hcd.h" |
diff --git a/drivers/usb/host/fhci-mem.c b/drivers/usb/host/fhci-mem.c index 2c0736c99712..5591bfb499d1 100644 --- a/drivers/usb/host/fhci-mem.c +++ b/drivers/usb/host/fhci-mem.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
19 | #include <linux/types.h> | 19 | #include <linux/types.h> |
20 | #include <linux/delay.h> | 20 | #include <linux/delay.h> |
21 | #include <linux/slab.h> | ||
21 | #include <linux/list.h> | 22 | #include <linux/list.h> |
22 | #include <linux/usb.h> | 23 | #include <linux/usb.h> |
23 | #include "../core/hcd.h" | 24 | #include "../core/hcd.h" |
diff --git a/drivers/usb/host/fhci-q.c b/drivers/usb/host/fhci-q.c index b0a1446ba292..f73c92359beb 100644 --- a/drivers/usb/host/fhci-q.c +++ b/drivers/usb/host/fhci-q.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/types.h> | 19 | #include <linux/types.h> |
20 | #include <linux/spinlock.h> | 20 | #include <linux/spinlock.h> |
21 | #include <linux/errno.h> | 21 | #include <linux/errno.h> |
22 | #include <linux/slab.h> | ||
22 | #include <linux/list.h> | 23 | #include <linux/list.h> |
23 | #include <linux/usb.h> | 24 | #include <linux/usb.h> |
24 | #include "../core/hcd.h" | 25 | #include "../core/hcd.h" |
diff --git a/drivers/usb/host/fhci-tds.c b/drivers/usb/host/fhci-tds.c index e1232890c78b..57013479d7f7 100644 --- a/drivers/usb/host/fhci-tds.c +++ b/drivers/usb/host/fhci-tds.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
19 | #include <linux/types.h> | 19 | #include <linux/types.h> |
20 | #include <linux/errno.h> | 20 | #include <linux/errno.h> |
21 | #include <linux/slab.h> | ||
21 | #include <linux/list.h> | 22 | #include <linux/list.h> |
22 | #include <linux/io.h> | 23 | #include <linux/io.h> |
23 | #include <linux/usb.h> | 24 | #include <linux/usb.h> |
diff --git a/drivers/usb/host/hwa-hc.c b/drivers/usb/host/hwa-hc.c index 88b03214622b..35742f8c7cda 100644 --- a/drivers/usb/host/hwa-hc.c +++ b/drivers/usb/host/hwa-hc.c | |||
@@ -55,6 +55,7 @@ | |||
55 | */ | 55 | */ |
56 | #include <linux/kernel.h> | 56 | #include <linux/kernel.h> |
57 | #include <linux/init.h> | 57 | #include <linux/init.h> |
58 | #include <linux/slab.h> | ||
58 | #include <linux/module.h> | 59 | #include <linux/module.h> |
59 | #include <linux/workqueue.h> | 60 | #include <linux/workqueue.h> |
60 | #include <linux/wait.h> | 61 | #include <linux/wait.h> |
diff --git a/drivers/usb/host/imx21-hcd.c b/drivers/usb/host/imx21-hcd.c index 213e270e1c29..8a12f297645f 100644 --- a/drivers/usb/host/imx21-hcd.c +++ b/drivers/usb/host/imx21-hcd.c | |||
@@ -54,6 +54,7 @@ | |||
54 | #include <linux/kernel.h> | 54 | #include <linux/kernel.h> |
55 | #include <linux/list.h> | 55 | #include <linux/list.h> |
56 | #include <linux/platform_device.h> | 56 | #include <linux/platform_device.h> |
57 | #include <linux/slab.h> | ||
57 | #include <linux/usb.h> | 58 | #include <linux/usb.h> |
58 | 59 | ||
59 | #include "../core/hcd.h" | 60 | #include "../core/hcd.h" |
diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c index a2b305477afe..92de71dc7729 100644 --- a/drivers/usb/host/isp116x-hcd.c +++ b/drivers/usb/host/isp116x-hcd.c | |||
@@ -62,6 +62,7 @@ | |||
62 | #include <linux/errno.h> | 62 | #include <linux/errno.h> |
63 | #include <linux/init.h> | 63 | #include <linux/init.h> |
64 | #include <linux/list.h> | 64 | #include <linux/list.h> |
65 | #include <linux/slab.h> | ||
65 | #include <linux/usb.h> | 66 | #include <linux/usb.h> |
66 | #include <linux/usb/isp116x.h> | 67 | #include <linux/usb/isp116x.h> |
67 | #include <linux/platform_device.h> | 68 | #include <linux/platform_device.h> |
diff --git a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c index 35288bcae0db..83094d067e0f 100644 --- a/drivers/usb/host/ohci-q.c +++ b/drivers/usb/host/ohci-q.c | |||
@@ -8,6 +8,7 @@ | |||
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <linux/irq.h> | 10 | #include <linux/irq.h> |
11 | #include <linux/slab.h> | ||
11 | 12 | ||
12 | static void urb_free_priv (struct ohci_hcd *hc, urb_priv_t *urb_priv) | 13 | static void urb_free_priv (struct ohci_hcd *hc, urb_priv_t *urb_priv) |
13 | { | 14 | { |
diff --git a/drivers/usb/host/r8a66597-hcd.c b/drivers/usb/host/r8a66597-hcd.c index bee558aed427..d478ffad59b4 100644 --- a/drivers/usb/host/r8a66597-hcd.c +++ b/drivers/usb/host/r8a66597-hcd.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/io.h> | 37 | #include <linux/io.h> |
38 | #include <linux/mm.h> | 38 | #include <linux/mm.h> |
39 | #include <linux/irq.h> | 39 | #include <linux/irq.h> |
40 | #include <linux/slab.h> | ||
40 | #include <asm/cacheflush.h> | 41 | #include <asm/cacheflush.h> |
41 | 42 | ||
42 | #include "../core/hcd.h" | 43 | #include "../core/hcd.h" |
@@ -418,7 +419,7 @@ static u8 alloc_usb_address(struct r8a66597 *r8a66597, struct urb *urb) | |||
418 | 419 | ||
419 | /* this function must be called with interrupt disabled */ | 420 | /* this function must be called with interrupt disabled */ |
420 | static void free_usb_address(struct r8a66597 *r8a66597, | 421 | static void free_usb_address(struct r8a66597 *r8a66597, |
421 | struct r8a66597_device *dev) | 422 | struct r8a66597_device *dev, int reset) |
422 | { | 423 | { |
423 | int port; | 424 | int port; |
424 | 425 | ||
@@ -430,7 +431,13 @@ static void free_usb_address(struct r8a66597 *r8a66597, | |||
430 | dev->state = USB_STATE_DEFAULT; | 431 | dev->state = USB_STATE_DEFAULT; |
431 | r8a66597->address_map &= ~(1 << dev->address); | 432 | r8a66597->address_map &= ~(1 << dev->address); |
432 | dev->address = 0; | 433 | dev->address = 0; |
433 | dev_set_drvdata(&dev->udev->dev, NULL); | 434 | /* |
435 | * Only when resetting USB, it is necessary to erase drvdata. When | ||
436 | * a usb device with usb hub is disconnect, "dev->udev" is already | ||
437 | * freed on usb_desconnect(). So we cannot access the data. | ||
438 | */ | ||
439 | if (reset) | ||
440 | dev_set_drvdata(&dev->udev->dev, NULL); | ||
434 | list_del(&dev->device_list); | 441 | list_del(&dev->device_list); |
435 | kfree(dev); | 442 | kfree(dev); |
436 | 443 | ||
@@ -1069,7 +1076,7 @@ static void r8a66597_usb_disconnect(struct r8a66597 *r8a66597, int port) | |||
1069 | struct r8a66597_device *dev = r8a66597->root_hub[port].dev; | 1076 | struct r8a66597_device *dev = r8a66597->root_hub[port].dev; |
1070 | 1077 | ||
1071 | disable_r8a66597_pipe_all(r8a66597, dev); | 1078 | disable_r8a66597_pipe_all(r8a66597, dev); |
1072 | free_usb_address(r8a66597, dev); | 1079 | free_usb_address(r8a66597, dev, 0); |
1073 | 1080 | ||
1074 | start_root_hub_sampling(r8a66597, port, 0); | 1081 | start_root_hub_sampling(r8a66597, port, 0); |
1075 | } | 1082 | } |
@@ -2085,7 +2092,7 @@ static void update_usb_address_map(struct r8a66597 *r8a66597, | |||
2085 | spin_lock_irqsave(&r8a66597->lock, flags); | 2092 | spin_lock_irqsave(&r8a66597->lock, flags); |
2086 | dev = get_r8a66597_device(r8a66597, addr); | 2093 | dev = get_r8a66597_device(r8a66597, addr); |
2087 | disable_r8a66597_pipe_all(r8a66597, dev); | 2094 | disable_r8a66597_pipe_all(r8a66597, dev); |
2088 | free_usb_address(r8a66597, dev); | 2095 | free_usb_address(r8a66597, dev, 0); |
2089 | put_child_connect_map(r8a66597, addr); | 2096 | put_child_connect_map(r8a66597, addr); |
2090 | spin_unlock_irqrestore(&r8a66597->lock, flags); | 2097 | spin_unlock_irqrestore(&r8a66597->lock, flags); |
2091 | } | 2098 | } |
@@ -2228,7 +2235,7 @@ static int r8a66597_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, | |||
2228 | rh->port |= (1 << USB_PORT_FEAT_RESET); | 2235 | rh->port |= (1 << USB_PORT_FEAT_RESET); |
2229 | 2236 | ||
2230 | disable_r8a66597_pipe_all(r8a66597, dev); | 2237 | disable_r8a66597_pipe_all(r8a66597, dev); |
2231 | free_usb_address(r8a66597, dev); | 2238 | free_usb_address(r8a66597, dev, 1); |
2232 | 2239 | ||
2233 | r8a66597_mdfy(r8a66597, USBRST, USBRST | UACT, | 2240 | r8a66597_mdfy(r8a66597, USBRST, USBRST | UACT, |
2234 | get_dvstctr_reg(port)); | 2241 | get_dvstctr_reg(port)); |
diff --git a/drivers/usb/host/uhci-debug.c b/drivers/usb/host/uhci-debug.c index e52b954dda47..98cf0b26b968 100644 --- a/drivers/usb/host/uhci-debug.c +++ b/drivers/usb/host/uhci-debug.c | |||
@@ -9,6 +9,7 @@ | |||
9 | * (C) Copyright 1999-2001 Johannes Erdfelt | 9 | * (C) Copyright 1999-2001 Johannes Erdfelt |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/slab.h> | ||
12 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
13 | #include <linux/debugfs.h> | 14 | #include <linux/debugfs.h> |
14 | #include <linux/smp_lock.h> | 15 | #include <linux/smp_lock.h> |
diff --git a/drivers/usb/host/whci/asl.c b/drivers/usb/host/whci/asl.c index 562eba108816..773249306031 100644 --- a/drivers/usb/host/whci/asl.c +++ b/drivers/usb/host/whci/asl.c | |||
@@ -16,6 +16,7 @@ | |||
16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 | */ | 17 | */ |
18 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
19 | #include <linux/gfp.h> | ||
19 | #include <linux/dma-mapping.h> | 20 | #include <linux/dma-mapping.h> |
20 | #include <linux/uwb/umc.h> | 21 | #include <linux/uwb/umc.h> |
21 | #include <linux/usb.h> | 22 | #include <linux/usb.h> |
diff --git a/drivers/usb/host/whci/debug.c b/drivers/usb/host/whci/debug.c index 8c1c610c9513..c5305b599ca0 100644 --- a/drivers/usb/host/whci/debug.c +++ b/drivers/usb/host/whci/debug.c | |||
@@ -15,6 +15,7 @@ | |||
15 | * You should have received a copy of the GNU General Public License | 15 | * You should have received a copy of the GNU General Public License |
16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 | */ | 17 | */ |
18 | #include <linux/slab.h> | ||
18 | #include <linux/kernel.h> | 19 | #include <linux/kernel.h> |
19 | #include <linux/debugfs.h> | 20 | #include <linux/debugfs.h> |
20 | #include <linux/seq_file.h> | 21 | #include <linux/seq_file.h> |
diff --git a/drivers/usb/host/whci/init.c b/drivers/usb/host/whci/init.c index 34a783cb0133..f7582e8e2169 100644 --- a/drivers/usb/host/whci/init.c +++ b/drivers/usb/host/whci/init.c | |||
@@ -16,6 +16,7 @@ | |||
16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 | */ | 17 | */ |
18 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
19 | #include <linux/gfp.h> | ||
19 | #include <linux/dma-mapping.h> | 20 | #include <linux/dma-mapping.h> |
20 | #include <linux/uwb/umc.h> | 21 | #include <linux/uwb/umc.h> |
21 | 22 | ||
diff --git a/drivers/usb/host/whci/pzl.c b/drivers/usb/host/whci/pzl.c index 0db3fb2dc03a..33c5580b4d25 100644 --- a/drivers/usb/host/whci/pzl.c +++ b/drivers/usb/host/whci/pzl.c | |||
@@ -16,6 +16,7 @@ | |||
16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 | */ | 17 | */ |
18 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
19 | #include <linux/gfp.h> | ||
19 | #include <linux/dma-mapping.h> | 20 | #include <linux/dma-mapping.h> |
20 | #include <linux/uwb/umc.h> | 21 | #include <linux/uwb/umc.h> |
21 | #include <linux/usb.h> | 22 | #include <linux/usb.h> |
diff --git a/drivers/usb/host/whci/qset.c b/drivers/usb/host/whci/qset.c index 7d4204db0f61..141d049beb3e 100644 --- a/drivers/usb/host/whci/qset.c +++ b/drivers/usb/host/whci/qset.c | |||
@@ -17,6 +17,7 @@ | |||
17 | */ | 17 | */ |
18 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
19 | #include <linux/dma-mapping.h> | 19 | #include <linux/dma-mapping.h> |
20 | #include <linux/slab.h> | ||
20 | #include <linux/uwb/umc.h> | 21 | #include <linux/uwb/umc.h> |
21 | #include <linux/usb.h> | 22 | #include <linux/usb.h> |
22 | 23 | ||
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c index 49f7d72f8b1b..c09539bad1ee 100644 --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c | |||
@@ -22,6 +22,7 @@ | |||
22 | 22 | ||
23 | #include <linux/usb.h> | 23 | #include <linux/usb.h> |
24 | #include <linux/pci.h> | 24 | #include <linux/pci.h> |
25 | #include <linux/slab.h> | ||
25 | #include <linux/dmapool.h> | 26 | #include <linux/dmapool.h> |
26 | 27 | ||
27 | #include "xhci.h" | 28 | #include "xhci.h" |
@@ -566,8 +567,13 @@ static inline unsigned int xhci_get_endpoint_interval(struct usb_device *udev, | |||
566 | if (interval < 3) | 567 | if (interval < 3) |
567 | interval = 3; | 568 | interval = 3; |
568 | if ((1 << interval) != 8*ep->desc.bInterval) | 569 | if ((1 << interval) != 8*ep->desc.bInterval) |
569 | dev_warn(&udev->dev, "ep %#x - rounding interval to %d microframes\n", | 570 | dev_warn(&udev->dev, |
570 | ep->desc.bEndpointAddress, 1 << interval); | 571 | "ep %#x - rounding interval" |
572 | " to %d microframes, " | ||
573 | "ep desc says %d microframes\n", | ||
574 | ep->desc.bEndpointAddress, | ||
575 | 1 << interval, | ||
576 | 8*ep->desc.bInterval); | ||
571 | } | 577 | } |
572 | break; | 578 | break; |
573 | default: | 579 | default: |
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index 6ba841bca4a2..85d7e8f2085e 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c | |||
@@ -65,6 +65,7 @@ | |||
65 | */ | 65 | */ |
66 | 66 | ||
67 | #include <linux/scatterlist.h> | 67 | #include <linux/scatterlist.h> |
68 | #include <linux/slab.h> | ||
68 | #include "xhci.h" | 69 | #include "xhci.h" |
69 | 70 | ||
70 | /* | 71 | /* |
diff --git a/drivers/usb/host/xhci-hcd.c b/drivers/usb/host/xhci.c index 4cb69e0af834..7e4277273908 100644 --- a/drivers/usb/host/xhci-hcd.c +++ b/drivers/usb/host/xhci.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/irq.h> | 23 | #include <linux/irq.h> |
24 | #include <linux/module.h> | 24 | #include <linux/module.h> |
25 | #include <linux/moduleparam.h> | 25 | #include <linux/moduleparam.h> |
26 | #include <linux/slab.h> | ||
26 | 27 | ||
27 | #include "xhci.h" | 28 | #include "xhci.h" |
28 | 29 | ||
@@ -1173,6 +1174,7 @@ static int xhci_configure_endpoint(struct xhci_hcd *xhci, | |||
1173 | cmd_completion = &virt_dev->cmd_completion; | 1174 | cmd_completion = &virt_dev->cmd_completion; |
1174 | cmd_status = &virt_dev->cmd_status; | 1175 | cmd_status = &virt_dev->cmd_status; |
1175 | } | 1176 | } |
1177 | init_completion(cmd_completion); | ||
1176 | 1178 | ||
1177 | if (!ctx_change) | 1179 | if (!ctx_change) |
1178 | ret = xhci_queue_configure_endpoint(xhci, in_ctx->dma, | 1180 | ret = xhci_queue_configure_endpoint(xhci, in_ctx->dma, |