Skip to content

Commit 444f94e

Browse files
Schemmel Hans-Christophjhovold
authored andcommitted
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>
1 parent 04974df commit 444f94e

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

drivers/usb/serial/option.c

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -375,18 +375,22 @@ static void option_instat_callback(struct urb *urb);
375375
#define HAIER_PRODUCT_CE81B 0x10f8
376376
#define HAIER_PRODUCT_CE100 0x2009
377377

378-
/* Cinterion (formerly Siemens) products */
379-
#define SIEMENS_VENDOR_ID 0x0681
380-
#define CINTERION_VENDOR_ID 0x1e2d
378+
/* Gemalto's Cinterion products (formerly Siemens) */
379+
#define SIEMENS_VENDOR_ID 0x0681
380+
#define CINTERION_VENDOR_ID 0x1e2d
381+
#define CINTERION_PRODUCT_HC25_MDMNET 0x0040
381382
#define CINTERION_PRODUCT_HC25_MDM 0x0047
382-
#define CINTERION_PRODUCT_HC25_MDMNET 0x0040
383+
#define CINTERION_PRODUCT_HC28_MDMNET 0x004A /* same for HC28J */
383384
#define CINTERION_PRODUCT_HC28_MDM 0x004C
384-
#define CINTERION_PRODUCT_HC28_MDMNET 0x004A /* same for HC28J */
385385
#define CINTERION_PRODUCT_EU3_E 0x0051
386386
#define CINTERION_PRODUCT_EU3_P 0x0052
387387
#define CINTERION_PRODUCT_PH8 0x0053
388388
#define CINTERION_PRODUCT_AHXX 0x0055
389389
#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
390394

391395
/* Olivetti products */
392396
#define OLIVETTI_VENDOR_ID 0x0b3c
@@ -633,6 +637,10 @@ static const struct option_blacklist_info telit_le922_blacklist_usbcfg3 = {
633637
.reserved = BIT(1) | BIT(2) | BIT(3),
634638
};
635639

640+
static const struct option_blacklist_info cinterion_rmnet2_blacklist = {
641+
.reserved = BIT(4) | BIT(5),
642+
};
643+
636644
static const struct usb_device_id option_ids[] = {
637645
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
638646
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
@@ -1712,7 +1720,13 @@ static const struct usb_device_id option_ids[] = {
17121720
{ USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_AHXX, 0xff) },
17131721
{ USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PLXX),
17141722
.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) },
17161730
{ USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) },
17171731
{ USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDM) },
17181732
{ USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDMNET) },

0 commit comments

Comments
 (0)