diff options
| author | fangxiaozhi <huananhu@huawei.com> | 2008-04-10 02:51:06 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-04-16 01:30:52 -0400 |
| commit | aad8a278f37e748bfe310a1366f2aa7e0dbaf365 (patch) | |
| tree | 3e4c623226371e22b5b3ec68545c6ff1c443785c /drivers | |
| parent | a1d9bc12e06a71b01f626040dc5149b357e8f1eb (diff) | |
USB: support more Huawei data card product IDs
- declare the unusal device for Huawei data card devices in
unusual_devs.h
- disable the product ID matching for Huawei data card devices in
usb_match_device function of driver.c
- declare the product IDs in option.c.
Signed-off-by: fangxiaozhi <huananhu@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/usb/serial/option.c | 32 | ||||
| -rw-r--r-- | drivers/usb/storage/unusual_devs.h | 96 |
2 files changed, 124 insertions, 4 deletions
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index 01b6c681ff2d..d5306ea55b3e 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c | |||
| @@ -109,6 +109,22 @@ static int option_send_setup(struct usb_serial_port *port); | |||
| 109 | #define HUAWEI_PRODUCT_E600 0x1001 | 109 | #define HUAWEI_PRODUCT_E600 0x1001 |
| 110 | #define HUAWEI_PRODUCT_E220 0x1003 | 110 | #define HUAWEI_PRODUCT_E220 0x1003 |
| 111 | #define HUAWEI_PRODUCT_E220BIS 0x1004 | 111 | #define HUAWEI_PRODUCT_E220BIS 0x1004 |
| 112 | #define HUAWEI_PRODUCT_E1401 0x1401 | ||
| 113 | #define HUAWEI_PRODUCT_E1403 0x1403 | ||
| 114 | #define HUAWEI_PRODUCT_E1405 0x1405 | ||
| 115 | #define HUAWEI_PRODUCT_E1406 0x1406 | ||
| 116 | #define HUAWEI_PRODUCT_E1408 0x1408 | ||
| 117 | #define HUAWEI_PRODUCT_E1409 0x1409 | ||
| 118 | #define HUAWEI_PRODUCT_E1410 0x1410 | ||
| 119 | #define HUAWEI_PRODUCT_E1411 0x1411 | ||
| 120 | #define HUAWEI_PRODUCT_E1412 0x1412 | ||
| 121 | #define HUAWEI_PRODUCT_E1413 0x1413 | ||
| 122 | #define HUAWEI_PRODUCT_E1414 0x1414 | ||
| 123 | #define HUAWEI_PRODUCT_E1415 0x1415 | ||
| 124 | #define HUAWEI_PRODUCT_E1416 0x1416 | ||
| 125 | #define HUAWEI_PRODUCT_E1417 0x1417 | ||
| 126 | #define HUAWEI_PRODUCT_E1418 0x1418 | ||
| 127 | #define HUAWEI_PRODUCT_E1419 0x1419 | ||
| 112 | 128 | ||
| 113 | #define NOVATELWIRELESS_VENDOR_ID 0x1410 | 129 | #define NOVATELWIRELESS_VENDOR_ID 0x1410 |
| 114 | 130 | ||
| @@ -212,6 +228,22 @@ static struct usb_device_id option_ids[] = { | |||
| 212 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) }, | 228 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) }, |
| 213 | { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220, 0xff, 0xff, 0xff) }, | 229 | { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220, 0xff, 0xff, 0xff) }, |
| 214 | { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220BIS, 0xff, 0xff, 0xff) }, | 230 | { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220BIS, 0xff, 0xff, 0xff) }, |
| 231 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1401) }, | ||
| 232 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1403) }, | ||
| 233 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1405) }, | ||
| 234 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1406) }, | ||
| 235 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1408) }, | ||
| 236 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1409) }, | ||
| 237 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1410) }, | ||
| 238 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1411) }, | ||
| 239 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1412) }, | ||
| 240 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1413) }, | ||
| 241 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1414) }, | ||
| 242 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1415) }, | ||
| 243 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1416) }, | ||
| 244 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1417) }, | ||
| 245 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1418) }, | ||
| 246 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1419) }, | ||
| 215 | { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_9508) }, | 247 | { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_9508) }, |
| 216 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V640) }, /* Novatel Merlin V640/XV620 */ | 248 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V640) }, /* Novatel Merlin V640/XV620 */ |
| 217 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V620) }, /* Novatel Merlin V620/S620 */ | 249 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V620) }, /* Novatel Merlin V620/S620 */ |
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index e5219a56947c..91252075e6e1 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h | |||
| @@ -1530,16 +1530,104 @@ UNUSUAL_DEV( 0x1210, 0x0003, 0x0100, 0x0100, | |||
| 1530 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 1530 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
| 1531 | US_FL_IGNORE_RESIDUE ), | 1531 | US_FL_IGNORE_RESIDUE ), |
| 1532 | 1532 | ||
| 1533 | /* Reported by fangxiaozhi <fangxiaozhi60675@huawei.com> | 1533 | /* Reported by fangxiaozhi <huananhu@huawei.com> |
| 1534 | * and by linlei <linlei83@huawei.com> | 1534 | * This brings the HUAWEI data card devices into multi-port mode |
| 1535 | * Patch reworked by Johann Wilhelm <johann.wilhelm@student.tugraz.at> | ||
| 1536 | * This brings the HUAWEI E220 devices into multi-port mode | ||
| 1537 | */ | 1535 | */ |
| 1536 | UNUSUAL_DEV( 0x12d1, 0x1001, 0x0000, 0x0000, | ||
| 1537 | "HUAWEI MOBILE", | ||
| 1538 | "Mass Storage", | ||
| 1539 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1540 | 0), | ||
| 1538 | UNUSUAL_DEV( 0x12d1, 0x1003, 0x0000, 0x0000, | 1541 | UNUSUAL_DEV( 0x12d1, 0x1003, 0x0000, 0x0000, |
| 1539 | "HUAWEI MOBILE", | 1542 | "HUAWEI MOBILE", |
| 1540 | "Mass Storage", | 1543 | "Mass Storage", |
| 1541 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | 1544 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, |
| 1542 | 0), | 1545 | 0), |
| 1546 | UNUSUAL_DEV( 0x12d1, 0x1004, 0x0000, 0x0000, | ||
| 1547 | "HUAWEI MOBILE", | ||
| 1548 | "Mass Storage", | ||
| 1549 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1550 | 0), | ||
| 1551 | UNUSUAL_DEV( 0x12d1, 0x1401, 0x0000, 0x0000, | ||
| 1552 | "HUAWEI MOBILE", | ||
| 1553 | "Mass Storage", | ||
| 1554 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1555 | 0), | ||
| 1556 | UNUSUAL_DEV( 0x12d1, 0x1403, 0x0000, 0x0000, | ||
| 1557 | "HUAWEI MOBILE", | ||
| 1558 | "Mass Storage", | ||
| 1559 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1560 | 0), | ||
| 1561 | UNUSUAL_DEV( 0x12d1, 0x1405, 0x0000, 0x0000, | ||
| 1562 | "HUAWEI MOBILE", | ||
| 1563 | "Mass Storage", | ||
| 1564 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1565 | 0), | ||
| 1566 | UNUSUAL_DEV( 0x12d1, 0x1406, 0x0000, 0x0000, | ||
| 1567 | "HUAWEI MOBILE", | ||
| 1568 | "Mass Storage", | ||
| 1569 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1570 | 0), | ||
| 1571 | UNUSUAL_DEV( 0x12d1, 0x1408, 0x0000, 0x0000, | ||
| 1572 | "HUAWEI MOBILE", | ||
| 1573 | "Mass Storage", | ||
| 1574 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1575 | 0), | ||
| 1576 | UNUSUAL_DEV( 0x12d1, 0x1409, 0x0000, 0x0000, | ||
| 1577 | "HUAWEI MOBILE", | ||
| 1578 | "Mass Storage", | ||
| 1579 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1580 | 0), | ||
| 1581 | UNUSUAL_DEV( 0x12d1, 0x1410, 0x0000, 0x0000, | ||
| 1582 | "HUAWEI MOBILE", | ||
| 1583 | "Mass Storage", | ||
| 1584 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1585 | 0), | ||
| 1586 | UNUSUAL_DEV( 0x12d1, 0x1411, 0x0000, 0x0000, | ||
| 1587 | "HUAWEI MOBILE", | ||
| 1588 | "Mass Storage", | ||
| 1589 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1590 | 0), | ||
| 1591 | UNUSUAL_DEV( 0x12d1, 0x1412, 0x0000, 0x0000, | ||
| 1592 | "HUAWEI MOBILE", | ||
| 1593 | "Mass Storage", | ||
| 1594 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1595 | 0), | ||
| 1596 | UNUSUAL_DEV( 0x12d1, 0x1413, 0x0000, 0x0000, | ||
| 1597 | "HUAWEI MOBILE", | ||
| 1598 | "Mass Storage", | ||
| 1599 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1600 | 0), | ||
| 1601 | UNUSUAL_DEV( 0x12d1, 0x1414, 0x0000, 0x0000, | ||
| 1602 | "HUAWEI MOBILE", | ||
| 1603 | "Mass Storage", | ||
| 1604 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1605 | 0), | ||
| 1606 | UNUSUAL_DEV( 0x12d1, 0x1415, 0x0000, 0x0000, | ||
| 1607 | "HUAWEI MOBILE", | ||
| 1608 | "Mass Storage", | ||
| 1609 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1610 | 0), | ||
| 1611 | UNUSUAL_DEV( 0x12d1, 0x1416, 0x0000, 0x0000, | ||
| 1612 | "HUAWEI MOBILE", | ||
| 1613 | "Mass Storage", | ||
| 1614 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1615 | 0), | ||
| 1616 | UNUSUAL_DEV( 0x12d1, 0x1417, 0x0000, 0x0000, | ||
| 1617 | "HUAWEI MOBILE", | ||
| 1618 | "Mass Storage", | ||
| 1619 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1620 | 0), | ||
| 1621 | UNUSUAL_DEV( 0x12d1, 0x1418, 0x0000, 0x0000, | ||
| 1622 | "HUAWEI MOBILE", | ||
| 1623 | "Mass Storage", | ||
| 1624 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1625 | 0), | ||
| 1626 | UNUSUAL_DEV( 0x12d1, 0x1419, 0x0000, 0x0000, | ||
| 1627 | "HUAWEI MOBILE", | ||
| 1628 | "Mass Storage", | ||
| 1629 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1630 | 0), | ||
| 1543 | 1631 | ||
| 1544 | /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */ | 1632 | /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */ |
| 1545 | UNUSUAL_DEV( 0x132b, 0x000b, 0x0001, 0x0001, | 1633 | UNUSUAL_DEV( 0x132b, 0x000b, 0x0001, 0x0001, |
