diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 58 |
1 files changed, 57 insertions, 1 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index e4eca7810bcf..34d4eb98829e 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -1461,6 +1461,12 @@ err_out: | |||
1461 | } | 1461 | } |
1462 | 1462 | ||
1463 | #endif /* CONFIG_PM */ | 1463 | #endif /* CONFIG_PM */ |
1464 | |||
1465 | #define NOKIA_PCSUITE_ACM_INFO(x) \ | ||
1466 | USB_DEVICE_AND_INTERFACE_INFO(0x0421, x, \ | ||
1467 | USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \ | ||
1468 | USB_CDC_ACM_PROTO_VENDOR) | ||
1469 | |||
1464 | /* | 1470 | /* |
1465 | * USB driver structure. | 1471 | * USB driver structure. |
1466 | */ | 1472 | */ |
@@ -1519,6 +1525,57 @@ static struct usb_device_id acm_ids[] = { | |||
1519 | .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ | 1525 | .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ |
1520 | }, | 1526 | }, |
1521 | 1527 | ||
1528 | /* Nokia S60 phones expose two ACM channels. The first is | ||
1529 | * a modem and is picked up by the standard AT-command | ||
1530 | * information below. The second is 'vendor-specific' but | ||
1531 | * is treated as a serial device at the S60 end, so we want | ||
1532 | * to expose it on Linux too. */ | ||
1533 | { NOKIA_PCSUITE_ACM_INFO(0x042D), }, /* Nokia 3250 */ | ||
1534 | { NOKIA_PCSUITE_ACM_INFO(0x04D8), }, /* Nokia 5500 Sport */ | ||
1535 | { NOKIA_PCSUITE_ACM_INFO(0x04C9), }, /* Nokia E50 */ | ||
1536 | { NOKIA_PCSUITE_ACM_INFO(0x0419), }, /* Nokia E60 */ | ||
1537 | { NOKIA_PCSUITE_ACM_INFO(0x044D), }, /* Nokia E61 */ | ||
1538 | { NOKIA_PCSUITE_ACM_INFO(0x0001), }, /* Nokia E61i */ | ||
1539 | { NOKIA_PCSUITE_ACM_INFO(0x0475), }, /* Nokia E62 */ | ||
1540 | { NOKIA_PCSUITE_ACM_INFO(0x0508), }, /* Nokia E65 */ | ||
1541 | { NOKIA_PCSUITE_ACM_INFO(0x0418), }, /* Nokia E70 */ | ||
1542 | { NOKIA_PCSUITE_ACM_INFO(0x0425), }, /* Nokia N71 */ | ||
1543 | { NOKIA_PCSUITE_ACM_INFO(0x0486), }, /* Nokia N73 */ | ||
1544 | { NOKIA_PCSUITE_ACM_INFO(0x04DF), }, /* Nokia N75 */ | ||
1545 | { NOKIA_PCSUITE_ACM_INFO(0x000e), }, /* Nokia N77 */ | ||
1546 | { NOKIA_PCSUITE_ACM_INFO(0x0445), }, /* Nokia N80 */ | ||
1547 | { NOKIA_PCSUITE_ACM_INFO(0x042F), }, /* Nokia N91 & N91 8GB */ | ||
1548 | { NOKIA_PCSUITE_ACM_INFO(0x048E), }, /* Nokia N92 */ | ||
1549 | { NOKIA_PCSUITE_ACM_INFO(0x0420), }, /* Nokia N93 */ | ||
1550 | { NOKIA_PCSUITE_ACM_INFO(0x04E6), }, /* Nokia N93i */ | ||
1551 | { NOKIA_PCSUITE_ACM_INFO(0x04B2), }, /* Nokia 5700 XpressMusic */ | ||
1552 | { NOKIA_PCSUITE_ACM_INFO(0x0134), }, /* Nokia 6110 Navigator (China) */ | ||
1553 | { NOKIA_PCSUITE_ACM_INFO(0x046E), }, /* Nokia 6110 Navigator */ | ||
1554 | { NOKIA_PCSUITE_ACM_INFO(0x002f), }, /* Nokia 6120 classic & */ | ||
1555 | { NOKIA_PCSUITE_ACM_INFO(0x0088), }, /* Nokia 6121 classic */ | ||
1556 | { NOKIA_PCSUITE_ACM_INFO(0x00fc), }, /* Nokia 6124 classic */ | ||
1557 | { NOKIA_PCSUITE_ACM_INFO(0x0042), }, /* Nokia E51 */ | ||
1558 | { NOKIA_PCSUITE_ACM_INFO(0x00b0), }, /* Nokia E66 */ | ||
1559 | { NOKIA_PCSUITE_ACM_INFO(0x00ab), }, /* Nokia E71 */ | ||
1560 | { NOKIA_PCSUITE_ACM_INFO(0x0481), }, /* Nokia N76 */ | ||
1561 | { NOKIA_PCSUITE_ACM_INFO(0x0007), }, /* Nokia N81 & N81 8GB */ | ||
1562 | { NOKIA_PCSUITE_ACM_INFO(0x0071), }, /* Nokia N82 */ | ||
1563 | { NOKIA_PCSUITE_ACM_INFO(0x04F0), }, /* Nokia N95 & N95-3 NAM */ | ||
1564 | { NOKIA_PCSUITE_ACM_INFO(0x0070), }, /* Nokia N95 8GB */ | ||
1565 | { NOKIA_PCSUITE_ACM_INFO(0x00e9), }, /* Nokia 5320 XpressMusic */ | ||
1566 | { NOKIA_PCSUITE_ACM_INFO(0x0099), }, /* Nokia 6210 Navigator, RM-367 */ | ||
1567 | { NOKIA_PCSUITE_ACM_INFO(0x0128), }, /* Nokia 6210 Navigator, RM-419 */ | ||
1568 | { NOKIA_PCSUITE_ACM_INFO(0x008f), }, /* Nokia 6220 Classic */ | ||
1569 | { NOKIA_PCSUITE_ACM_INFO(0x00a0), }, /* Nokia 6650 */ | ||
1570 | { NOKIA_PCSUITE_ACM_INFO(0x007b), }, /* Nokia N78 */ | ||
1571 | { NOKIA_PCSUITE_ACM_INFO(0x0094), }, /* Nokia N85 */ | ||
1572 | { NOKIA_PCSUITE_ACM_INFO(0x003a), }, /* Nokia N96 & N96-3 */ | ||
1573 | { NOKIA_PCSUITE_ACM_INFO(0x00e9), }, /* Nokia 5320 XpressMusic */ | ||
1574 | { NOKIA_PCSUITE_ACM_INFO(0x0108), }, /* Nokia 5320 XpressMusic 2G */ | ||
1575 | { NOKIA_PCSUITE_ACM_INFO(0x01f5), }, /* Nokia N97, RM-505 */ | ||
1576 | |||
1577 | /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */ | ||
1578 | |||
1522 | /* control interfaces with various AT-command sets */ | 1579 | /* control interfaces with various AT-command sets */ |
1523 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, | 1580 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, |
1524 | USB_CDC_ACM_PROTO_AT_V25TER) }, | 1581 | USB_CDC_ACM_PROTO_AT_V25TER) }, |
@@ -1533,7 +1590,6 @@ static struct usb_device_id acm_ids[] = { | |||
1533 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, | 1590 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, |
1534 | USB_CDC_ACM_PROTO_AT_CDMA) }, | 1591 | USB_CDC_ACM_PROTO_AT_CDMA) }, |
1535 | 1592 | ||
1536 | /* NOTE: COMM/ACM/0xff is likely MSFT RNDIS ... NOT a modem!! */ | ||
1537 | { } | 1593 | { } |
1538 | }; | 1594 | }; |
1539 | 1595 | ||