diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-27 19:08:04 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-27 19:08:04 -0500 |
| commit | e4a7ca29039e615ce13a61b9c6abfb2aa394e9a1 (patch) | |
| tree | fc7f36ccb9ec01e95636c01b09589e88da5c520f /drivers/usb/musb | |
| parent | 843c04a0f63c74c6424e4b7d1ab85223b1ecf740 (diff) | |
| parent | 236dd4d18f293e3c9798f35c08272196826a980d (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (36 commits)
USB: Driver for Freescale QUICC Engine USB Host Controller
USB: option: add QUANTA HSDPA Data Card device ids
USB: storage: Add another unusual_dev for off-by-one bug
USB: unusual_dev: usb-storage needs to ignore a device
USB: GADGET: fix !x & y
USB: new id for ti_usb_3410_5052 driver
USB: cdc-acm: Add another conexant modem to the quirks
USB: 'option' driver - onda device MT503HS has wrong id
USB: Remove ZTE modem from unusual_devices
USB: storage: support of Dane-Elec MediaTouch USB device
USB: usbmon: Implement compat_ioctl
USB: add kernel-doc for wusb_dev in struct usb_device
USB: ftdi_sio driver support of bar code scanner from Diebold
USB: ftdi_sio: added Alti-2 VID and Neptune 3 PID
USB: cp2101 device
USB: usblp.c: add USBLP_QUIRK_BIDIR to Brother HL-1440
USB: remove vernier labpro from ldusb
USB: CDC-ACM quirk for MTK GPS
USB: cdc-acm: support some gps data loggers
USB: composite: Fix bug: low byte of w_index is the usb interface number not the whole 2 bytes of w_index
...
Diffstat (limited to 'drivers/usb/musb')
| -rw-r--r-- | drivers/usb/musb/Kconfig | 3 | ||||
| -rw-r--r-- | drivers/usb/musb/cppi_dma.c | 10 | ||||
| -rw-r--r-- | drivers/usb/musb/davinci.c | 13 | ||||
| -rw-r--r-- | drivers/usb/musb/musb_core.c | 5 | ||||
| -rw-r--r-- | drivers/usb/musb/musb_gadget.c | 6 | ||||
| -rw-r--r-- | drivers/usb/musb/musb_host.c | 4 | ||||
| -rw-r--r-- | drivers/usb/musb/tusb6010_omap.c | 4 |
7 files changed, 24 insertions, 21 deletions
diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig index 5af7379cd9a3..9985db08e7db 100644 --- a/drivers/usb/musb/Kconfig +++ b/drivers/usb/musb/Kconfig | |||
| @@ -11,6 +11,7 @@ config USB_MUSB_HDRC | |||
| 11 | depends on (USB || USB_GADGET) && HAVE_CLK | 11 | depends on (USB || USB_GADGET) && HAVE_CLK |
| 12 | depends on !SUPERH | 12 | depends on !SUPERH |
| 13 | select TWL4030_USB if MACH_OMAP_3430SDP | 13 | select TWL4030_USB if MACH_OMAP_3430SDP |
| 14 | select USB_OTG_UTILS | ||
| 14 | tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)' | 15 | tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)' |
| 15 | help | 16 | help |
| 16 | Say Y here if your system has a dual role high speed USB | 17 | Say Y here if your system has a dual role high speed USB |
| @@ -49,7 +50,7 @@ comment "OMAP 343x high speed USB support" | |||
| 49 | depends on USB_MUSB_HDRC && ARCH_OMAP34XX | 50 | depends on USB_MUSB_HDRC && ARCH_OMAP34XX |
| 50 | 51 | ||
| 51 | comment "Blackfin high speed USB Support" | 52 | comment "Blackfin high speed USB Support" |
| 52 | depends on USB_MUSB_HDRC && (BF54x && !BF544) || (BF52x && !BF522 && !BF523) | 53 | depends on USB_MUSB_HDRC && ((BF54x && !BF544) || (BF52x && !BF522 && !BF523)) |
| 53 | 54 | ||
| 54 | config USB_TUSB6010 | 55 | config USB_TUSB6010 |
| 55 | boolean "TUSB 6010 support" | 56 | boolean "TUSB 6010 support" |
diff --git a/drivers/usb/musb/cppi_dma.c b/drivers/usb/musb/cppi_dma.c index 5ad6d0893cbe..569ef0fed0f6 100644 --- a/drivers/usb/musb/cppi_dma.c +++ b/drivers/usb/musb/cppi_dma.c | |||
| @@ -9,6 +9,7 @@ | |||
| 9 | #include <linux/usb.h> | 9 | #include <linux/usb.h> |
| 10 | 10 | ||
| 11 | #include "musb_core.h" | 11 | #include "musb_core.h" |
| 12 | #include "musb_debug.h" | ||
| 12 | #include "cppi_dma.h" | 13 | #include "cppi_dma.h" |
| 13 | 14 | ||
| 14 | 15 | ||
| @@ -423,6 +424,7 @@ cppi_rndis_update(struct cppi_channel *c, int is_rx, | |||
| 423 | } | 424 | } |
| 424 | } | 425 | } |
| 425 | 426 | ||
| 427 | #ifdef CONFIG_USB_MUSB_DEBUG | ||
| 426 | static void cppi_dump_rxbd(const char *tag, struct cppi_descriptor *bd) | 428 | static void cppi_dump_rxbd(const char *tag, struct cppi_descriptor *bd) |
| 427 | { | 429 | { |
| 428 | pr_debug("RXBD/%s %08x: " | 430 | pr_debug("RXBD/%s %08x: " |
| @@ -431,10 +433,11 @@ static void cppi_dump_rxbd(const char *tag, struct cppi_descriptor *bd) | |||
| 431 | bd->hw_next, bd->hw_bufp, bd->hw_off_len, | 433 | bd->hw_next, bd->hw_bufp, bd->hw_off_len, |
| 432 | bd->hw_options); | 434 | bd->hw_options); |
| 433 | } | 435 | } |
| 436 | #endif | ||
| 434 | 437 | ||
| 435 | static void cppi_dump_rxq(int level, const char *tag, struct cppi_channel *rx) | 438 | static void cppi_dump_rxq(int level, const char *tag, struct cppi_channel *rx) |
| 436 | { | 439 | { |
| 437 | #if MUSB_DEBUG > 0 | 440 | #ifdef CONFIG_USB_MUSB_DEBUG |
| 438 | struct cppi_descriptor *bd; | 441 | struct cppi_descriptor *bd; |
| 439 | 442 | ||
| 440 | if (!_dbg_level(level)) | 443 | if (!_dbg_level(level)) |
| @@ -881,12 +884,14 @@ cppi_next_rx_segment(struct musb *musb, struct cppi_channel *rx, int onepacket) | |||
| 881 | bd->hw_options |= CPPI_SOP_SET; | 884 | bd->hw_options |= CPPI_SOP_SET; |
| 882 | tail->hw_options |= CPPI_EOP_SET; | 885 | tail->hw_options |= CPPI_EOP_SET; |
| 883 | 886 | ||
| 884 | if (debug >= 5) { | 887 | #ifdef CONFIG_USB_MUSB_DEBUG |
| 888 | if (_dbg_level(5)) { | ||
| 885 | struct cppi_descriptor *d; | 889 | struct cppi_descriptor *d; |
| 886 | 890 | ||
| 887 | for (d = rx->head; d; d = d->next) | 891 | for (d = rx->head; d; d = d->next) |
| 888 | cppi_dump_rxbd("S", d); | 892 | cppi_dump_rxbd("S", d); |
| 889 | } | 893 | } |
| 894 | #endif | ||
| 890 | 895 | ||
| 891 | /* in case the preceding transfer left some state... */ | 896 | /* in case the preceding transfer left some state... */ |
| 892 | tail = rx->last_processed; | 897 | tail = rx->last_processed; |
| @@ -990,6 +995,7 @@ static int cppi_channel_program(struct dma_channel *ch, | |||
| 990 | cppi_ch->offset = 0; | 995 | cppi_ch->offset = 0; |
| 991 | cppi_ch->maxpacket = maxpacket; | 996 | cppi_ch->maxpacket = maxpacket; |
| 992 | cppi_ch->buf_len = len; | 997 | cppi_ch->buf_len = len; |
| 998 | cppi_ch->channel.actual_len = 0; | ||
| 993 | 999 | ||
| 994 | /* TX channel? or RX? */ | 1000 | /* TX channel? or RX? */ |
| 995 | if (cppi_ch->transmit) | 1001 | if (cppi_ch->transmit) |
diff --git a/drivers/usb/musb/davinci.c b/drivers/usb/musb/davinci.c index 0d566dc5ce06..5a8fd5d57a11 100644 --- a/drivers/usb/musb/davinci.c +++ b/drivers/usb/musb/davinci.c | |||
| @@ -32,9 +32,10 @@ | |||
| 32 | #include <linux/io.h> | 32 | #include <linux/io.h> |
| 33 | #include <linux/gpio.h> | 33 | #include <linux/gpio.h> |
| 34 | 34 | ||
| 35 | #include <mach/arch/hardware.h> | 35 | #include <mach/hardware.h> |
| 36 | #include <mach/arch/memory.h> | 36 | #include <mach/memory.h> |
| 37 | #include <mach/arch/gpio.h> | 37 | #include <mach/gpio.h> |
| 38 | |||
| 38 | #include <asm/mach-types.h> | 39 | #include <asm/mach-types.h> |
| 39 | 40 | ||
| 40 | #include "musb_core.h" | 41 | #include "musb_core.h" |
| @@ -370,12 +371,6 @@ int musb_platform_set_mode(struct musb *musb, u8 mode) | |||
| 370 | return -EIO; | 371 | return -EIO; |
| 371 | } | 372 | } |
| 372 | 373 | ||
| 373 | int musb_platform_set_mode(struct musb *musb, u8 mode) | ||
| 374 | { | ||
| 375 | /* EVM can't do this (right?) */ | ||
| 376 | return -EIO; | ||
| 377 | } | ||
| 378 | |||
| 379 | int __init musb_platform_init(struct musb *musb) | 374 | int __init musb_platform_init(struct musb *musb) |
| 380 | { | 375 | { |
| 381 | void __iomem *tibase = musb->ctrl_base; | 376 | void __iomem *tibase = musb->ctrl_base; |
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index 6c7faacfb535..2cc34fa05b73 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c | |||
| @@ -1824,8 +1824,9 @@ static void musb_free(struct musb *musb) | |||
| 1824 | musb_gadget_cleanup(musb); | 1824 | musb_gadget_cleanup(musb); |
| 1825 | #endif | 1825 | #endif |
| 1826 | 1826 | ||
| 1827 | if (musb->nIrq >= 0 && musb->irq_wake) { | 1827 | if (musb->nIrq >= 0) { |
| 1828 | disable_irq_wake(musb->nIrq); | 1828 | if (musb->irq_wake) |
| 1829 | disable_irq_wake(musb->nIrq); | ||
| 1829 | free_irq(musb->nIrq, musb); | 1830 | free_irq(musb->nIrq, musb); |
| 1830 | } | 1831 | } |
| 1831 | if (is_dma_capable() && musb->dma_controller) { | 1832 | if (is_dma_capable() && musb->dma_controller) { |
diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c index 6197daeab8f9..4ea305387981 100644 --- a/drivers/usb/musb/musb_gadget.c +++ b/drivers/usb/musb/musb_gadget.c | |||
| @@ -874,10 +874,10 @@ static int musb_gadget_enable(struct usb_ep *ep, | |||
| 874 | status = -EBUSY; | 874 | status = -EBUSY; |
| 875 | goto fail; | 875 | goto fail; |
| 876 | } | 876 | } |
| 877 | musb_ep->type = desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK; | 877 | musb_ep->type = usb_endpoint_type(desc); |
| 878 | 878 | ||
| 879 | /* check direction and (later) maxpacket size against endpoint */ | 879 | /* check direction and (later) maxpacket size against endpoint */ |
| 880 | if ((desc->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK) != epnum) | 880 | if (usb_endpoint_num(desc) != epnum) |
| 881 | goto fail; | 881 | goto fail; |
| 882 | 882 | ||
| 883 | /* REVISIT this rules out high bandwidth periodic transfers */ | 883 | /* REVISIT this rules out high bandwidth periodic transfers */ |
| @@ -890,7 +890,7 @@ static int musb_gadget_enable(struct usb_ep *ep, | |||
| 890 | * packet size (or fail), set the mode, clear the fifo | 890 | * packet size (or fail), set the mode, clear the fifo |
| 891 | */ | 891 | */ |
| 892 | musb_ep_select(mbase, epnum); | 892 | musb_ep_select(mbase, epnum); |
| 893 | if (desc->bEndpointAddress & USB_DIR_IN) { | 893 | if (usb_endpoint_dir_in(desc)) { |
| 894 | u16 int_txe = musb_readw(mbase, MUSB_INTRTXE); | 894 | u16 int_txe = musb_readw(mbase, MUSB_INTRTXE); |
| 895 | 895 | ||
| 896 | if (hw_ep->is_shared_fifo) | 896 | if (hw_ep->is_shared_fifo) |
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c index 99fa61234876..a035ceccf950 100644 --- a/drivers/usb/musb/musb_host.c +++ b/drivers/usb/musb/musb_host.c | |||
| @@ -1847,8 +1847,8 @@ static int musb_urb_enqueue( | |||
| 1847 | goto done; | 1847 | goto done; |
| 1848 | } | 1848 | } |
| 1849 | 1849 | ||
| 1850 | qh->epnum = epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK; | 1850 | qh->epnum = usb_endpoint_num(epd); |
| 1851 | qh->type = epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK; | 1851 | qh->type = usb_endpoint_type(epd); |
| 1852 | 1852 | ||
| 1853 | /* NOTE: urb->dev->devnum is wrong during SET_ADDRESS */ | 1853 | /* NOTE: urb->dev->devnum is wrong during SET_ADDRESS */ |
| 1854 | qh->addr_reg = (u8) usb_pipedevice(urb->pipe); | 1854 | qh->addr_reg = (u8) usb_pipedevice(urb->pipe); |
diff --git a/drivers/usb/musb/tusb6010_omap.c b/drivers/usb/musb/tusb6010_omap.c index 52f7f29cebda..7e073a0d7ac9 100644 --- a/drivers/usb/musb/tusb6010_omap.c +++ b/drivers/usb/musb/tusb6010_omap.c | |||
| @@ -15,8 +15,8 @@ | |||
| 15 | #include <linux/usb.h> | 15 | #include <linux/usb.h> |
| 16 | #include <linux/platform_device.h> | 16 | #include <linux/platform_device.h> |
| 17 | #include <linux/dma-mapping.h> | 17 | #include <linux/dma-mapping.h> |
| 18 | #include <asm/arch/dma.h> | 18 | #include <mach/dma.h> |
| 19 | #include <asm/arch/mux.h> | 19 | #include <mach/mux.h> |
| 20 | 20 | ||
| 21 | #include "musb_core.h" | 21 | #include "musb_core.h" |
| 22 | 22 | ||
