| From 8036212936ed2751ecc415dc4850cf1f87e9c768 Mon Sep 17 00:00:00 2001 |
| From: Toby Gray <toby.gray@realvnc.com> |
| Date: Wed, 1 Sep 2010 16:01:19 +0100 |
| Subject: [PATCH] USB: cdc-acm: Adding second ACM channel support for various Nokia and one Samsung phones |
| |
| commit 4035e45632c2a8bb4edae83c20447051bd9a9604 upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| --- |
| drivers/usb/class/cdc-acm.c | 16 ++++++++++++++++ |
| 1 files changed, 16 insertions(+), 0 deletions(-) |
| |
| diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c |
| index bbcdabe..8c388f8 100644 |
| --- a/drivers/usb/class/cdc-acm.c |
| +++ b/drivers/usb/class/cdc-acm.c |
| @@ -1487,6 +1487,11 @@ static int acm_reset_resume(struct usb_interface *intf) |
| USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \ |
| USB_CDC_ACM_PROTO_VENDOR) |
| |
| +#define SAMSUNG_PCSUITE_ACM_INFO(x) \ |
| + USB_DEVICE_AND_INTERFACE_INFO(0x04e7, x, \ |
| + USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \ |
| + USB_CDC_ACM_PROTO_VENDOR) |
| + |
| /* |
| * USB driver structure. |
| */ |
| @@ -1597,6 +1602,17 @@ static const struct usb_device_id acm_ids[] = { |
| { NOKIA_PCSUITE_ACM_INFO(0x0108), }, /* Nokia 5320 XpressMusic 2G */ |
| { NOKIA_PCSUITE_ACM_INFO(0x01f5), }, /* Nokia N97, RM-505 */ |
| { NOKIA_PCSUITE_ACM_INFO(0x02e3), }, /* Nokia 5230, RM-588 */ |
| + { NOKIA_PCSUITE_ACM_INFO(0x0178), }, /* Nokia E63 */ |
| + { NOKIA_PCSUITE_ACM_INFO(0x010e), }, /* Nokia E75 */ |
| + { NOKIA_PCSUITE_ACM_INFO(0x02d9), }, /* Nokia 6760 Slide */ |
| + { NOKIA_PCSUITE_ACM_INFO(0x01d0), }, /* Nokia E52 */ |
| + { NOKIA_PCSUITE_ACM_INFO(0x0223), }, /* Nokia E72 */ |
| + { NOKIA_PCSUITE_ACM_INFO(0x0275), }, /* Nokia X6 */ |
| + { NOKIA_PCSUITE_ACM_INFO(0x026c), }, /* Nokia N97 Mini */ |
| + { NOKIA_PCSUITE_ACM_INFO(0x0154), }, /* Nokia 5800 XpressMusic */ |
| + { NOKIA_PCSUITE_ACM_INFO(0x04ce), }, /* Nokia E90 */ |
| + { NOKIA_PCSUITE_ACM_INFO(0x01d4), }, /* Nokia E55 */ |
| + { SAMSUNG_PCSUITE_ACM_INFO(0x6651), }, /* Samsung GTi8510 (INNOV8) */ |
| |
| /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */ |
| |
| -- |
| 1.7.0.4 |
| |