1 From 4035e45632c2a8bb4edae83c20447051bd9a9604 Mon Sep 17 00:00:00 2001
2 From: Toby Gray <toby.gray@realvnc.com>
3 Date: Wed, 1 Sep 2010 16:01:19 +0100
4 Subject: USB: cdc-acm: Adding second ACM channel support for various Nokia and one Samsung phones
6 From: Toby Gray <toby.gray@realvnc.com>
8 commit 4035e45632c2a8bb4edae83c20447051bd9a9604 upstream.
10 S60 phones from Nokia and Samsung expose two ACM channels. The first is a modem
11 with a standard AT-command interface, which is picked up correctly by CDC-ACM.
13 The second ACM port is marked as having a vendor-specific protocol. This means
14 that the ACM driver will not claim the second channel by default.
16 This adds support for the second ACM channel for the following devices:
25 Nokia 5800 Xpressmusic
27 Samsung GTi8510 (INNOV8)
29 Signed-off-by: Toby Gray <toby.gray@realvnc.com>
30 Cc: Oliver Neukum <oliver@neukum.name>
31 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
34 drivers/usb/class/cdc-acm.c | 16 ++++++++++++++++
35 1 file changed, 16 insertions(+)
37 --- a/drivers/usb/class/cdc-acm.c
38 +++ b/drivers/usb/class/cdc-acm.c
39 @@ -1487,6 +1487,11 @@ static int acm_reset_resume(struct usb_i
40 USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \
41 USB_CDC_ACM_PROTO_VENDOR)
43 +#define SAMSUNG_PCSUITE_ACM_INFO(x) \
44 + USB_DEVICE_AND_INTERFACE_INFO(0x04e7, x, \
45 + USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \
46 + USB_CDC_ACM_PROTO_VENDOR)
49 * USB driver structure.
51 @@ -1597,6 +1602,17 @@ static const struct usb_device_id acm_id
52 { NOKIA_PCSUITE_ACM_INFO(0x0108), }, /* Nokia 5320 XpressMusic 2G */
53 { NOKIA_PCSUITE_ACM_INFO(0x01f5), }, /* Nokia N97, RM-505 */
54 { NOKIA_PCSUITE_ACM_INFO(0x02e3), }, /* Nokia 5230, RM-588 */
55 + { NOKIA_PCSUITE_ACM_INFO(0x0178), }, /* Nokia E63 */
56 + { NOKIA_PCSUITE_ACM_INFO(0x010e), }, /* Nokia E75 */
57 + { NOKIA_PCSUITE_ACM_INFO(0x02d9), }, /* Nokia 6760 Slide */
58 + { NOKIA_PCSUITE_ACM_INFO(0x01d0), }, /* Nokia E52 */
59 + { NOKIA_PCSUITE_ACM_INFO(0x0223), }, /* Nokia E72 */
60 + { NOKIA_PCSUITE_ACM_INFO(0x0275), }, /* Nokia X6 */
61 + { NOKIA_PCSUITE_ACM_INFO(0x026c), }, /* Nokia N97 Mini */
62 + { NOKIA_PCSUITE_ACM_INFO(0x0154), }, /* Nokia 5800 XpressMusic */
63 + { NOKIA_PCSUITE_ACM_INFO(0x04ce), }, /* Nokia E90 */
64 + { NOKIA_PCSUITE_ACM_INFO(0x01d4), }, /* Nokia E55 */
65 + { SAMSUNG_PCSUITE_ACM_INFO(0x6651), }, /* Samsung GTi8510 (INNOV8) */
67 /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */