diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-03 11:48:58 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-03 11:48:58 -0500 |
commit | 7f5b09c15ab989ed5ce4adda0be42c1302df70b7 (patch) | |
tree | 9695b00983d1bd077ff91c463abcb136330cf344 /arch | |
parent | 94468080220162f74dc6ce5c3e95e5fec8022902 (diff) | |
parent | cedf8a78421943441b9011ce7bcdab55f07d2ea6 (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: (220 commits)
USB: backlight, appledisplay: fix incomplete registration failure handling
USB: pl2303: remove unnecessary reset of usb_device in urbs
USB: ftdi_sio: remove obsolete check in unthrottle
USB: ftdi_sio: remove unused tx_bytes counter
USB: qcaux: driver for auxiliary serial ports on Qualcomm devices
USB: pl2303: initial TIOCGSERIAL support
USB: option: add Longcheer/Longsung vendor ID
USB: fix I2C API usage in ohci-pnx4008.
USB: usbmon: mask seconds properly in text API
USB: sisusbvga: no unnecessary GFP_ATOMIC
USB: storage: onetouch: unnecessary GFP_ATOMIC
USB: serial: ftdi: add CONTEC vendor and product id
USB: remove references to port->port.count from the serial drivers
USB: tty: Prune uses of tty_request_room in the USB layer
USB: tty: Add a function to insert a string of characters with the same flag
USB: don't read past config->interface[] if usb_control_msg() fails in usb_reset_configuration()
USB: tty: kill request_room for USB ACM class
USB: tty: sort out the request_room handling for whiteheat
USB: storage: fix misplaced parenthesis
USB: vstusb.c: removal of driver for Vernier Software & Technology, Inc., devices and spectrometers
...
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/configs/rx51_defconfig | 11 | ||||
-rw-r--r-- | arch/arm/mach-mx2/devices.c | 80 | ||||
-rw-r--r-- | arch/arm/mach-mx2/devices.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/mx21-usbhost.h | 38 | ||||
-rw-r--r-- | arch/avr32/mach-at32ap/at32ap700x.c | 7 |
5 files changed, 108 insertions, 29 deletions
diff --git a/arch/arm/configs/rx51_defconfig b/arch/arm/configs/rx51_defconfig index 426ae948aefe..193bd334fbbf 100644 --- a/arch/arm/configs/rx51_defconfig +++ b/arch/arm/configs/rx51_defconfig | |||
@@ -445,6 +445,8 @@ CONFIG_IP_NF_FILTER=m | |||
445 | # CONFIG_LAPB is not set | 445 | # CONFIG_LAPB is not set |
446 | # CONFIG_ECONET is not set | 446 | # CONFIG_ECONET is not set |
447 | # CONFIG_WAN_ROUTER is not set | 447 | # CONFIG_WAN_ROUTER is not set |
448 | CONFIG_PHONET=y | ||
449 | # CONFIG_IEEE802154 is not set | ||
448 | # CONFIG_NET_SCHED is not set | 450 | # CONFIG_NET_SCHED is not set |
449 | # CONFIG_DCB is not set | 451 | # CONFIG_DCB is not set |
450 | 452 | ||
@@ -1325,27 +1327,34 @@ CONFIG_USB_GADGET_SELECTED=y | |||
1325 | # CONFIG_USB_GADGET_LH7A40X is not set | 1327 | # CONFIG_USB_GADGET_LH7A40X is not set |
1326 | # CONFIG_USB_GADGET_OMAP is not set | 1328 | # CONFIG_USB_GADGET_OMAP is not set |
1327 | # CONFIG_USB_GADGET_PXA25X is not set | 1329 | # CONFIG_USB_GADGET_PXA25X is not set |
1330 | # CONFIG_USB_GADGET_R8A66597 is not set | ||
1328 | # CONFIG_USB_GADGET_PXA27X is not set | 1331 | # CONFIG_USB_GADGET_PXA27X is not set |
1329 | # CONFIG_USB_GADGET_S3C2410 is not set | 1332 | # CONFIG_USB_GADGET_S3C_HSOTG is not set |
1330 | # CONFIG_USB_GADGET_IMX is not set | 1333 | # CONFIG_USB_GADGET_IMX is not set |
1334 | # CONFIG_USB_GADGET_S3C2410 is not set | ||
1331 | # CONFIG_USB_GADGET_M66592 is not set | 1335 | # CONFIG_USB_GADGET_M66592 is not set |
1332 | # CONFIG_USB_GADGET_AMD5536UDC is not set | 1336 | # CONFIG_USB_GADGET_AMD5536UDC is not set |
1333 | # CONFIG_USB_GADGET_FSL_QE is not set | 1337 | # CONFIG_USB_GADGET_FSL_QE is not set |
1334 | # CONFIG_USB_GADGET_CI13XXX is not set | 1338 | # CONFIG_USB_GADGET_CI13XXX is not set |
1335 | # CONFIG_USB_GADGET_NET2280 is not set | 1339 | # CONFIG_USB_GADGET_NET2280 is not set |
1336 | # CONFIG_USB_GADGET_GOKU is not set | 1340 | # CONFIG_USB_GADGET_GOKU is not set |
1341 | # CONFIG_USB_GADGET_LANGWELL is not set | ||
1337 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | 1342 | # CONFIG_USB_GADGET_DUMMY_HCD is not set |
1338 | CONFIG_USB_GADGET_DUALSPEED=y | 1343 | CONFIG_USB_GADGET_DUALSPEED=y |
1339 | CONFIG_USB_ZERO=m | 1344 | CONFIG_USB_ZERO=m |
1340 | # CONFIG_USB_ZERO_HNPTEST is not set | 1345 | # CONFIG_USB_ZERO_HNPTEST is not set |
1346 | # CONFIG_USB_AUDIO is not set | ||
1341 | # CONFIG_USB_ETH is not set | 1347 | # CONFIG_USB_ETH is not set |
1342 | # CONFIG_USB_GADGETFS is not set | 1348 | # CONFIG_USB_GADGETFS is not set |
1343 | CONFIG_USB_FILE_STORAGE=m | 1349 | CONFIG_USB_FILE_STORAGE=m |
1344 | # CONFIG_USB_FILE_STORAGE_TEST is not set | 1350 | # CONFIG_USB_FILE_STORAGE_TEST is not set |
1351 | # CONFIG_USB_MASS_STORAGE is not set | ||
1345 | # CONFIG_USB_G_SERIAL is not set | 1352 | # CONFIG_USB_G_SERIAL is not set |
1346 | # CONFIG_USB_MIDI_GADGET is not set | 1353 | # CONFIG_USB_MIDI_GADGET is not set |
1347 | # CONFIG_USB_G_PRINTER is not set | 1354 | # CONFIG_USB_G_PRINTER is not set |
1348 | # CONFIG_USB_CDC_COMPOSITE is not set | 1355 | # CONFIG_USB_CDC_COMPOSITE is not set |
1356 | CONFIG_USB_G_NOKIA=m | ||
1357 | # CONFIG_USB_G_MULTI is not set | ||
1349 | 1358 | ||
1350 | # | 1359 | # |
1351 | # OTG and related infrastructure | 1360 | # OTG and related infrastructure |
diff --git a/arch/arm/mach-mx2/devices.c b/arch/arm/mach-mx2/devices.c index 3d398ce09b31..3956d82b7c4e 100644 --- a/arch/arm/mach-mx2/devices.c +++ b/arch/arm/mach-mx2/devices.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/init.h> | 31 | #include <linux/init.h> |
32 | #include <linux/platform_device.h> | 32 | #include <linux/platform_device.h> |
33 | #include <linux/gpio.h> | 33 | #include <linux/gpio.h> |
34 | #include <linux/dma-mapping.h> | ||
34 | 35 | ||
35 | #include <mach/irqs.h> | 36 | #include <mach/irqs.h> |
36 | #include <mach/hardware.h> | 37 | #include <mach/hardware.h> |
@@ -292,7 +293,7 @@ struct platform_device mxc_fb_device = { | |||
292 | .num_resources = ARRAY_SIZE(mxc_fb), | 293 | .num_resources = ARRAY_SIZE(mxc_fb), |
293 | .resource = mxc_fb, | 294 | .resource = mxc_fb, |
294 | .dev = { | 295 | .dev = { |
295 | .coherent_dma_mask = 0xFFFFFFFF, | 296 | .coherent_dma_mask = DMA_BIT_MASK(32), |
296 | }, | 297 | }, |
297 | }; | 298 | }; |
298 | 299 | ||
@@ -395,17 +396,17 @@ static struct resource mxc_sdhc1_resources[] = { | |||
395 | }, | 396 | }, |
396 | }; | 397 | }; |
397 | 398 | ||
398 | static u64 mxc_sdhc1_dmamask = 0xffffffffUL; | 399 | static u64 mxc_sdhc1_dmamask = DMA_BIT_MASK(32); |
399 | 400 | ||
400 | struct platform_device mxc_sdhc_device0 = { | 401 | struct platform_device mxc_sdhc_device0 = { |
401 | .name = "mxc-mmc", | 402 | .name = "mxc-mmc", |
402 | .id = 0, | 403 | .id = 0, |
403 | .dev = { | 404 | .dev = { |
404 | .dma_mask = &mxc_sdhc1_dmamask, | 405 | .dma_mask = &mxc_sdhc1_dmamask, |
405 | .coherent_dma_mask = 0xffffffff, | 406 | .coherent_dma_mask = DMA_BIT_MASK(32), |
406 | }, | 407 | }, |
407 | .num_resources = ARRAY_SIZE(mxc_sdhc1_resources), | 408 | .num_resources = ARRAY_SIZE(mxc_sdhc1_resources), |
408 | .resource = mxc_sdhc1_resources, | 409 | .resource = mxc_sdhc1_resources, |
409 | }; | 410 | }; |
410 | 411 | ||
411 | static struct resource mxc_sdhc2_resources[] = { | 412 | static struct resource mxc_sdhc2_resources[] = { |
@@ -424,17 +425,17 @@ static struct resource mxc_sdhc2_resources[] = { | |||
424 | }, | 425 | }, |
425 | }; | 426 | }; |
426 | 427 | ||
427 | static u64 mxc_sdhc2_dmamask = 0xffffffffUL; | 428 | static u64 mxc_sdhc2_dmamask = DMA_BIT_MASK(32); |
428 | 429 | ||
429 | struct platform_device mxc_sdhc_device1 = { | 430 | struct platform_device mxc_sdhc_device1 = { |
430 | .name = "mxc-mmc", | 431 | .name = "mxc-mmc", |
431 | .id = 1, | 432 | .id = 1, |
432 | .dev = { | 433 | .dev = { |
433 | .dma_mask = &mxc_sdhc2_dmamask, | 434 | .dma_mask = &mxc_sdhc2_dmamask, |
434 | .coherent_dma_mask = 0xffffffff, | 435 | .coherent_dma_mask = DMA_BIT_MASK(32), |
435 | }, | 436 | }, |
436 | .num_resources = ARRAY_SIZE(mxc_sdhc2_resources), | 437 | .num_resources = ARRAY_SIZE(mxc_sdhc2_resources), |
437 | .resource = mxc_sdhc2_resources, | 438 | .resource = mxc_sdhc2_resources, |
438 | }; | 439 | }; |
439 | 440 | ||
440 | #ifdef CONFIG_MACH_MX27 | 441 | #ifdef CONFIG_MACH_MX27 |
@@ -450,7 +451,7 @@ static struct resource otg_resources[] = { | |||
450 | }, | 451 | }, |
451 | }; | 452 | }; |
452 | 453 | ||
453 | static u64 otg_dmamask = 0xffffffffUL; | 454 | static u64 otg_dmamask = DMA_BIT_MASK(32); |
454 | 455 | ||
455 | /* OTG gadget device */ | 456 | /* OTG gadget device */ |
456 | struct platform_device mxc_otg_udc_device = { | 457 | struct platform_device mxc_otg_udc_device = { |
@@ -458,7 +459,7 @@ struct platform_device mxc_otg_udc_device = { | |||
458 | .id = -1, | 459 | .id = -1, |
459 | .dev = { | 460 | .dev = { |
460 | .dma_mask = &otg_dmamask, | 461 | .dma_mask = &otg_dmamask, |
461 | .coherent_dma_mask = 0xffffffffUL, | 462 | .coherent_dma_mask = DMA_BIT_MASK(32), |
462 | }, | 463 | }, |
463 | .resource = otg_resources, | 464 | .resource = otg_resources, |
464 | .num_resources = ARRAY_SIZE(otg_resources), | 465 | .num_resources = ARRAY_SIZE(otg_resources), |
@@ -469,7 +470,7 @@ struct platform_device mxc_otg_host = { | |||
469 | .name = "mxc-ehci", | 470 | .name = "mxc-ehci", |
470 | .id = 0, | 471 | .id = 0, |
471 | .dev = { | 472 | .dev = { |
472 | .coherent_dma_mask = 0xffffffff, | 473 | .coherent_dma_mask = DMA_BIT_MASK(32), |
473 | .dma_mask = &otg_dmamask, | 474 | .dma_mask = &otg_dmamask, |
474 | }, | 475 | }, |
475 | .resource = otg_resources, | 476 | .resource = otg_resources, |
@@ -478,7 +479,7 @@ struct platform_device mxc_otg_host = { | |||
478 | 479 | ||
479 | /* USB host 1 */ | 480 | /* USB host 1 */ |
480 | 481 | ||
481 | static u64 usbh1_dmamask = 0xffffffffUL; | 482 | static u64 usbh1_dmamask = DMA_BIT_MASK(32); |
482 | 483 | ||
483 | static struct resource mxc_usbh1_resources[] = { | 484 | static struct resource mxc_usbh1_resources[] = { |
484 | { | 485 | { |
@@ -496,7 +497,7 @@ struct platform_device mxc_usbh1 = { | |||
496 | .name = "mxc-ehci", | 497 | .name = "mxc-ehci", |
497 | .id = 1, | 498 | .id = 1, |
498 | .dev = { | 499 | .dev = { |
499 | .coherent_dma_mask = 0xffffffff, | 500 | .coherent_dma_mask = DMA_BIT_MASK(32), |
500 | .dma_mask = &usbh1_dmamask, | 501 | .dma_mask = &usbh1_dmamask, |
501 | }, | 502 | }, |
502 | .resource = mxc_usbh1_resources, | 503 | .resource = mxc_usbh1_resources, |
@@ -504,7 +505,7 @@ struct platform_device mxc_usbh1 = { | |||
504 | }; | 505 | }; |
505 | 506 | ||
506 | /* USB host 2 */ | 507 | /* USB host 2 */ |
507 | static u64 usbh2_dmamask = 0xffffffffUL; | 508 | static u64 usbh2_dmamask = DMA_BIT_MASK(32); |
508 | 509 | ||
509 | static struct resource mxc_usbh2_resources[] = { | 510 | static struct resource mxc_usbh2_resources[] = { |
510 | { | 511 | { |
@@ -522,7 +523,7 @@ struct platform_device mxc_usbh2 = { | |||
522 | .name = "mxc-ehci", | 523 | .name = "mxc-ehci", |
523 | .id = 2, | 524 | .id = 2, |
524 | .dev = { | 525 | .dev = { |
525 | .coherent_dma_mask = 0xffffffff, | 526 | .coherent_dma_mask = DMA_BIT_MASK(32), |
526 | .dma_mask = &usbh2_dmamask, | 527 | .dma_mask = &usbh2_dmamask, |
527 | }, | 528 | }, |
528 | .resource = mxc_usbh2_resources, | 529 | .resource = mxc_usbh2_resources, |
@@ -642,3 +643,30 @@ int __init mxc_register_gpios(void) | |||
642 | { | 643 | { |
643 | return mxc_gpio_init(imx_gpio_ports, ARRAY_SIZE(imx_gpio_ports)); | 644 | return mxc_gpio_init(imx_gpio_ports, ARRAY_SIZE(imx_gpio_ports)); |
644 | } | 645 | } |
646 | |||
647 | #ifdef CONFIG_MACH_MX21 | ||
648 | static struct resource mx21_usbhc_resources[] = { | ||
649 | { | ||
650 | .start = USBOTG_BASE_ADDR, | ||
651 | .end = USBOTG_BASE_ADDR + 0x1FFF, | ||
652 | .flags = IORESOURCE_MEM, | ||
653 | }, | ||
654 | { | ||
655 | .start = MXC_INT_USBHOST, | ||
656 | .end = MXC_INT_USBHOST, | ||
657 | .flags = IORESOURCE_IRQ, | ||
658 | }, | ||
659 | }; | ||
660 | |||
661 | struct platform_device mx21_usbhc_device = { | ||
662 | .name = "imx21-hcd", | ||
663 | .id = 0, | ||
664 | .dev = { | ||
665 | .dma_mask = &mx21_usbhc_device.dev.coherent_dma_mask, | ||
666 | .coherent_dma_mask = DMA_BIT_MASK(32), | ||
667 | }, | ||
668 | .num_resources = ARRAY_SIZE(mx21_usbhc_resources), | ||
669 | .resource = mx21_usbhc_resources, | ||
670 | }; | ||
671 | #endif | ||
672 | |||
diff --git a/arch/arm/mach-mx2/devices.h b/arch/arm/mach-mx2/devices.h index 97306aa18f1c..f12694b07369 100644 --- a/arch/arm/mach-mx2/devices.h +++ b/arch/arm/mach-mx2/devices.h | |||
@@ -26,5 +26,6 @@ extern struct platform_device mxc_usbh2; | |||
26 | extern struct platform_device mxc_spi_device0; | 26 | extern struct platform_device mxc_spi_device0; |
27 | extern struct platform_device mxc_spi_device1; | 27 | extern struct platform_device mxc_spi_device1; |
28 | extern struct platform_device mxc_spi_device2; | 28 | extern struct platform_device mxc_spi_device2; |
29 | extern struct platform_device mx21_usbhc_device; | ||
29 | extern struct platform_device imx_ssi_device0; | 30 | extern struct platform_device imx_ssi_device0; |
30 | extern struct platform_device imx_ssi_device1; | 31 | extern struct platform_device imx_ssi_device1; |
diff --git a/arch/arm/plat-mxc/include/mach/mx21-usbhost.h b/arch/arm/plat-mxc/include/mach/mx21-usbhost.h new file mode 100644 index 000000000000..22d0b596262c --- /dev/null +++ b/arch/arm/plat-mxc/include/mach/mx21-usbhost.h | |||
@@ -0,0 +1,38 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009 Martin Fuzzey <mfuzzey@gmail.com> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | */ | ||
14 | |||
15 | #ifndef __ASM_ARCH_MX21_USBH | ||
16 | #define __ASM_ARCH_MX21_USBH | ||
17 | |||
18 | enum mx21_usbh_xcvr { | ||
19 | /* Values below as used by hardware (HWMODE register) */ | ||
20 | MX21_USBXCVR_TXDIF_RXDIF = 0, | ||
21 | MX21_USBXCVR_TXDIF_RXSE = 1, | ||
22 | MX21_USBXCVR_TXSE_RXDIF = 2, | ||
23 | MX21_USBXCVR_TXSE_RXSE = 3, | ||
24 | }; | ||
25 | |||
26 | struct mx21_usbh_platform_data { | ||
27 | enum mx21_usbh_xcvr host_xcvr; /* tranceiver mode host 1,2 ports */ | ||
28 | enum mx21_usbh_xcvr otg_xcvr; /* tranceiver mode otg (as host) port */ | ||
29 | u16 enable_host1:1, | ||
30 | enable_host2:1, | ||
31 | enable_otg_host:1, /* enable "OTG" port (as host) */ | ||
32 | host1_xcverless:1, /* traceiverless host1 port */ | ||
33 | host1_txenoe:1, /* output enable host1 transmit enable */ | ||
34 | otg_ext_xcvr:1, /* external tranceiver for OTG port */ | ||
35 | unused:10; | ||
36 | }; | ||
37 | |||
38 | #endif /* __ASM_ARCH_MX21_USBH */ | ||
diff --git a/arch/avr32/mach-at32ap/at32ap700x.c b/arch/avr32/mach-at32ap/at32ap700x.c index b13d1879e51b..3a4bc1a18433 100644 --- a/arch/avr32/mach-at32ap/at32ap700x.c +++ b/arch/avr32/mach-at32ap/at32ap700x.c | |||
@@ -1770,10 +1770,13 @@ at32_add_device_usba(unsigned int id, struct usba_platform_data *data) | |||
1770 | ARRAY_SIZE(usba0_resource))) | 1770 | ARRAY_SIZE(usba0_resource))) |
1771 | goto out_free_pdev; | 1771 | goto out_free_pdev; |
1772 | 1772 | ||
1773 | if (data) | 1773 | if (data) { |
1774 | usba_data.pdata.vbus_pin = data->vbus_pin; | 1774 | usba_data.pdata.vbus_pin = data->vbus_pin; |
1775 | else | 1775 | usba_data.pdata.vbus_pin_inverted = data->vbus_pin_inverted; |
1776 | } else { | ||
1776 | usba_data.pdata.vbus_pin = -EINVAL; | 1777 | usba_data.pdata.vbus_pin = -EINVAL; |
1778 | usba_data.pdata.vbus_pin_inverted = -EINVAL; | ||
1779 | } | ||
1777 | 1780 | ||
1778 | data = &usba_data.pdata; | 1781 | data = &usba_data.pdata; |
1779 | data->num_ep = ARRAY_SIZE(at32_usba_ep); | 1782 | data->num_ep = ARRAY_SIZE(at32_usba_ep); |