aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorToby Gray <toby.gray@realvnc.com>2010-09-01 11:01:19 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-09-03 20:33:41 -0400
commit4035e45632c2a8bb4edae83c20447051bd9a9604 (patch)
treecf850583ea5b945fcfabb42f8cd3052cd883065c /drivers/usb
parentcaf3a636a9f809fdca5fa746e6687096457accb1 (diff)
USB: cdc-acm: Adding second ACM channel support for various Nokia and one Samsung phones
S60 phones from Nokia and Samsung expose two ACM channels. The first is a modem with a standard AT-command interface, which is picked up correctly by CDC-ACM. The second ACM port is marked as having a vendor-specific protocol. This means that the ACM driver will not claim the second channel by default. This adds support for the second ACM channel for the following devices: Nokia E63 Nokia E75 Nokia 6760 Slide Nokia E52 Nokia E55 Nokia E72 Nokia X6 Nokia N97 Mini Nokia 5800 Xpressmusic Nokia E90 Samsung GTi8510 (INNOV8) Signed-off-by: Toby Gray <toby.gray@realvnc.com> Cc: Oliver Neukum <oliver@neukum.name> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/class/cdc-acm.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 1833b3a71515..a3d6c4db2a03 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -1481,6 +1481,11 @@ static int acm_reset_resume(struct usb_interface *intf)
1481 USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \ 1481 USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \
1482 USB_CDC_ACM_PROTO_VENDOR) 1482 USB_CDC_ACM_PROTO_VENDOR)
1483 1483
1484#define SAMSUNG_PCSUITE_ACM_INFO(x) \
1485 USB_DEVICE_AND_INTERFACE_INFO(0x04e7, x, \
1486 USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \
1487 USB_CDC_ACM_PROTO_VENDOR)
1488
1484/* 1489/*
1485 * USB driver structure. 1490 * USB driver structure.
1486 */ 1491 */
@@ -1591,6 +1596,17 @@ static const struct usb_device_id acm_ids[] = {
1591 { NOKIA_PCSUITE_ACM_INFO(0x0108), }, /* Nokia 5320 XpressMusic 2G */ 1596 { NOKIA_PCSUITE_ACM_INFO(0x0108), }, /* Nokia 5320 XpressMusic 2G */
1592 { NOKIA_PCSUITE_ACM_INFO(0x01f5), }, /* Nokia N97, RM-505 */ 1597 { NOKIA_PCSUITE_ACM_INFO(0x01f5), }, /* Nokia N97, RM-505 */
1593 { NOKIA_PCSUITE_ACM_INFO(0x02e3), }, /* Nokia 5230, RM-588 */ 1598 { NOKIA_PCSUITE_ACM_INFO(0x02e3), }, /* Nokia 5230, RM-588 */
1599 { NOKIA_PCSUITE_ACM_INFO(0x0178), }, /* Nokia E63 */
1600 { NOKIA_PCSUITE_ACM_INFO(0x010e), }, /* Nokia E75 */
1601 { NOKIA_PCSUITE_ACM_INFO(0x02d9), }, /* Nokia 6760 Slide */
1602 { NOKIA_PCSUITE_ACM_INFO(0x01d0), }, /* Nokia E52 */
1603 { NOKIA_PCSUITE_ACM_INFO(0x0223), }, /* Nokia E72 */
1604 { NOKIA_PCSUITE_ACM_INFO(0x0275), }, /* Nokia X6 */
1605 { NOKIA_PCSUITE_ACM_INFO(0x026c), }, /* Nokia N97 Mini */
1606 { NOKIA_PCSUITE_ACM_INFO(0x0154), }, /* Nokia 5800 XpressMusic */
1607 { NOKIA_PCSUITE_ACM_INFO(0x04ce), }, /* Nokia E90 */
1608 { NOKIA_PCSUITE_ACM_INFO(0x01d4), }, /* Nokia E55 */
1609 { SAMSUNG_PCSUITE_ACM_INFO(0x6651), }, /* Samsung GTi8510 (INNOV8) */
1594 1610
1595 /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */ 1611 /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */
1596 1612