diff options
author | Schemmel Hans-Christoph <Hans-Christoph.Schemmel@gemalto.com> | 2016-04-29 04:51:06 -0400 |
---|---|---|
committer | Johan Hovold <johan@kernel.org> | 2016-05-03 04:54:01 -0400 |
commit | 444f94e9e625f6ec6bbe2cb232a6451c637f35a3 (patch) | |
tree | 76812f34da00620c3de7f4eb02707753c7ef8c1b /drivers/usb | |
parent | 04974df8049fc4240d22759a91e035082ccd18b4 (diff) |
USB: serial: option: add support for Cinterion PH8 and AHxx
Added support for Gemalto's Cinterion PH8 and AHxx products
with 2 RmNet Interfaces and products with 1 RmNet + 1 USB Audio interface.
In addition some minor renaming and formatting.
Signed-off-by: Hans-Christoph Schemmel <hans-christoph.schemmel@gemalto.com>
[johan: sort current entries and trim trailing whitespace ]
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/serial/option.c | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index c6f497f16526..ab542d3ee2b1 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c | |||
@@ -375,18 +375,22 @@ static void option_instat_callback(struct urb *urb); | |||
375 | #define HAIER_PRODUCT_CE81B 0x10f8 | 375 | #define HAIER_PRODUCT_CE81B 0x10f8 |
376 | #define HAIER_PRODUCT_CE100 0x2009 | 376 | #define HAIER_PRODUCT_CE100 0x2009 |
377 | 377 | ||
378 | /* Cinterion (formerly Siemens) products */ | 378 | /* Gemalto's Cinterion products (formerly Siemens) */ |
379 | #define SIEMENS_VENDOR_ID 0x0681 | 379 | #define SIEMENS_VENDOR_ID 0x0681 |
380 | #define CINTERION_VENDOR_ID 0x1e2d | 380 | #define CINTERION_VENDOR_ID 0x1e2d |
381 | #define CINTERION_PRODUCT_HC25_MDMNET 0x0040 | ||
381 | #define CINTERION_PRODUCT_HC25_MDM 0x0047 | 382 | #define CINTERION_PRODUCT_HC25_MDM 0x0047 |
382 | #define CINTERION_PRODUCT_HC25_MDMNET 0x0040 | 383 | #define CINTERION_PRODUCT_HC28_MDMNET 0x004A /* same for HC28J */ |
383 | #define CINTERION_PRODUCT_HC28_MDM 0x004C | 384 | #define CINTERION_PRODUCT_HC28_MDM 0x004C |
384 | #define CINTERION_PRODUCT_HC28_MDMNET 0x004A /* same for HC28J */ | ||
385 | #define CINTERION_PRODUCT_EU3_E 0x0051 | 385 | #define CINTERION_PRODUCT_EU3_E 0x0051 |
386 | #define CINTERION_PRODUCT_EU3_P 0x0052 | 386 | #define CINTERION_PRODUCT_EU3_P 0x0052 |
387 | #define CINTERION_PRODUCT_PH8 0x0053 | 387 | #define CINTERION_PRODUCT_PH8 0x0053 |
388 | #define CINTERION_PRODUCT_AHXX 0x0055 | 388 | #define CINTERION_PRODUCT_AHXX 0x0055 |
389 | #define CINTERION_PRODUCT_PLXX 0x0060 | 389 | #define CINTERION_PRODUCT_PLXX 0x0060 |
390 | #define CINTERION_PRODUCT_PH8_2RMNET 0x0082 | ||
391 | #define CINTERION_PRODUCT_PH8_AUDIO 0x0083 | ||
392 | #define CINTERION_PRODUCT_AHXX_2RMNET 0x0084 | ||
393 | #define CINTERION_PRODUCT_AHXX_AUDIO 0x0085 | ||
390 | 394 | ||
391 | /* Olivetti products */ | 395 | /* Olivetti products */ |
392 | #define OLIVETTI_VENDOR_ID 0x0b3c | 396 | #define OLIVETTI_VENDOR_ID 0x0b3c |
@@ -633,6 +637,10 @@ static const struct option_blacklist_info telit_le922_blacklist_usbcfg3 = { | |||
633 | .reserved = BIT(1) | BIT(2) | BIT(3), | 637 | .reserved = BIT(1) | BIT(2) | BIT(3), |
634 | }; | 638 | }; |
635 | 639 | ||
640 | static const struct option_blacklist_info cinterion_rmnet2_blacklist = { | ||
641 | .reserved = BIT(4) | BIT(5), | ||
642 | }; | ||
643 | |||
636 | static const struct usb_device_id option_ids[] = { | 644 | static const struct usb_device_id option_ids[] = { |
637 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) }, | 645 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) }, |
638 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) }, | 646 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) }, |
@@ -1712,7 +1720,13 @@ static const struct usb_device_id option_ids[] = { | |||
1712 | { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_AHXX, 0xff) }, | 1720 | { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_AHXX, 0xff) }, |
1713 | { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PLXX), | 1721 | { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PLXX), |
1714 | .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, | 1722 | .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, |
1715 | { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) }, | 1723 | { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PH8_2RMNET, 0xff), |
1724 | .driver_info = (kernel_ulong_t)&cinterion_rmnet2_blacklist }, | ||
1725 | { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PH8_AUDIO, 0xff), | ||
1726 | .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, | ||
1727 | { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_AHXX_2RMNET, 0xff) }, | ||
1728 | { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_AHXX_AUDIO, 0xff) }, | ||
1729 | { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) }, | ||
1716 | { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) }, | 1730 | { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) }, |
1717 | { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDM) }, | 1731 | { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDM) }, |
1718 | { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDMNET) }, | 1732 | { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDMNET) }, |