diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-01 16:20:04 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-01 16:20:04 -0400 |
commit | 251df49db3327c64bf917bfdba94491fde2b4ee0 (patch) | |
tree | 71eef72e1c393057f7b14cc4d8da5e48c7728336 /drivers/usb | |
parent | 8a72f3820c4d14b27ad5336aed00063a7a7f1bef (diff) | |
parent | bf61c8840efe60fd8f91446860b63338fb424158 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov:
"Assorted fixes and cleanups to the existing drivers plus a new driver
for IMS Passenger Control Unit device they use for ther in-flight
entertainment system."
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (44 commits)
Input: trackpoint - Optimize trackpoint init to use power-on reset
Input: apbps2 - convert to devm_ioremap_resource()
Input: ALPS - use %ph to print buffers
ARM - shmobile: Armadillo800EVA: Move st1232 reset pin handling
Input: st1232 - add reset pin handling
Input: st1232 - convert to devm_* infrastructure
Input: MT - handle semi-mt devices in core
Input: adxl34x - use spi_get_drvdata()
Input: ad7877 - use spi_get_drvdata() and spi_set_drvdata()
Input: ads7846 - use spi_get_drvdata() and spi_set_drvdata()
Input: ims-pcu - fix a memory leak on error
Input: sysrq - supplement reset sequence with timeout functionality
Input: tegra-kbc - support for defining row/columns based on SoC
Input: imx_keypad - switch to using managed resources
Input: arc_ps2 - add support for device tree
Input: mma8450 - fix signed 12bits to 32bits conversion
Input: eeti_ts - remove redundant null check
Input: edt-ft5x06 - remove redundant null check before kfree
Input: ad714x - add CONFIG_PM_SLEEP to suspend/resume functions
Input: adxl34x - add CONFIG_PM_SLEEP to suspend/resume functions
...
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 13 | ||||
-rw-r--r-- | drivers/usb/class/cdc-acm.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 171d7a9df3ae..9b1cbcf8fb7f 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -962,6 +962,10 @@ static int acm_probe(struct usb_interface *intf, | |||
962 | 962 | ||
963 | /* normal quirks */ | 963 | /* normal quirks */ |
964 | quirks = (unsigned long)id->driver_info; | 964 | quirks = (unsigned long)id->driver_info; |
965 | |||
966 | if (quirks == IGNORE_DEVICE) | ||
967 | return -ENODEV; | ||
968 | |||
965 | num_rx_buf = (quirks == SINGLE_RX_URB) ? 1 : ACM_NR; | 969 | num_rx_buf = (quirks == SINGLE_RX_URB) ? 1 : ACM_NR; |
966 | 970 | ||
967 | /* handle quirks deadly to normal probing*/ | 971 | /* handle quirks deadly to normal probing*/ |
@@ -1675,6 +1679,15 @@ static const struct usb_device_id acm_ids[] = { | |||
1675 | .driver_info = NO_DATA_INTERFACE, | 1679 | .driver_info = NO_DATA_INTERFACE, |
1676 | }, | 1680 | }, |
1677 | 1681 | ||
1682 | #if IS_ENABLED(CONFIG_INPUT_IMS_PCU) | ||
1683 | { USB_DEVICE(0x04d8, 0x0082), /* Application mode */ | ||
1684 | .driver_info = IGNORE_DEVICE, | ||
1685 | }, | ||
1686 | { USB_DEVICE(0x04d8, 0x0083), /* Bootloader mode */ | ||
1687 | .driver_info = IGNORE_DEVICE, | ||
1688 | }, | ||
1689 | #endif | ||
1690 | |||
1678 | /* control interfaces without any protocol set */ | 1691 | /* control interfaces without any protocol set */ |
1679 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, | 1692 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, |
1680 | USB_CDC_PROTO_NONE) }, | 1693 | USB_CDC_PROTO_NONE) }, |
diff --git a/drivers/usb/class/cdc-acm.h b/drivers/usb/class/cdc-acm.h index 35ef887b7417..0f76e4af600e 100644 --- a/drivers/usb/class/cdc-acm.h +++ b/drivers/usb/class/cdc-acm.h | |||
@@ -128,3 +128,4 @@ struct acm { | |||
128 | #define NO_CAP_LINE 4 | 128 | #define NO_CAP_LINE 4 |
129 | #define NOT_A_MODEM 8 | 129 | #define NOT_A_MODEM 8 |
130 | #define NO_DATA_INTERFACE 16 | 130 | #define NO_DATA_INTERFACE 16 |
131 | #define IGNORE_DEVICE 32 | ||