diff options
author | Daniele Palmas <dnlplm@gmail.com> | 2016-08-02 05:29:25 -0400 |
---|---|---|
committer | Johan Hovold <johan@kernel.org> | 2016-08-08 06:36:27 -0400 |
commit | 01d7956b58e644ea0d2e8d9340c5727a8fc39d70 (patch) | |
tree | b23254e89a0fa1f36aa452e75126b92600253017 | |
parent | ae34d12cc1e212ffcd92e069030e54dae69c832f (diff) |
USB: serial: option: add support for Telit LE920A4
This patch adds a set of compositions for Telit LE920A4.
Compositions in short are:
0x1207: tty + tty
0x1208: tty + adb + tty + tty
0x1211: tty + adb + ecm
0x1212: tty + adb
0x1213: ecm + tty
0x1214: tty + adb + ecm + tty
telit_le922_blacklist_usbcfg3 is reused for compositions 0x1211
and 0x1214 due to the same interfaces positions.
Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
-rw-r--r-- | drivers/usb/serial/option.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index 0338851e31a2..bc472584a229 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c | |||
@@ -274,6 +274,12 @@ static void option_instat_callback(struct urb *urb); | |||
274 | #define TELIT_PRODUCT_LE920 0x1200 | 274 | #define TELIT_PRODUCT_LE920 0x1200 |
275 | #define TELIT_PRODUCT_LE910 0x1201 | 275 | #define TELIT_PRODUCT_LE910 0x1201 |
276 | #define TELIT_PRODUCT_LE910_USBCFG4 0x1206 | 276 | #define TELIT_PRODUCT_LE910_USBCFG4 0x1206 |
277 | #define TELIT_PRODUCT_LE920A4_1207 0x1207 | ||
278 | #define TELIT_PRODUCT_LE920A4_1208 0x1208 | ||
279 | #define TELIT_PRODUCT_LE920A4_1211 0x1211 | ||
280 | #define TELIT_PRODUCT_LE920A4_1212 0x1212 | ||
281 | #define TELIT_PRODUCT_LE920A4_1213 0x1213 | ||
282 | #define TELIT_PRODUCT_LE920A4_1214 0x1214 | ||
277 | 283 | ||
278 | /* ZTE PRODUCTS */ | 284 | /* ZTE PRODUCTS */ |
279 | #define ZTE_VENDOR_ID 0x19d2 | 285 | #define ZTE_VENDOR_ID 0x19d2 |
@@ -628,6 +634,11 @@ static const struct option_blacklist_info telit_le920_blacklist = { | |||
628 | .reserved = BIT(1) | BIT(5), | 634 | .reserved = BIT(1) | BIT(5), |
629 | }; | 635 | }; |
630 | 636 | ||
637 | static const struct option_blacklist_info telit_le920a4_blacklist_1 = { | ||
638 | .sendsetup = BIT(0), | ||
639 | .reserved = BIT(1), | ||
640 | }; | ||
641 | |||
631 | static const struct option_blacklist_info telit_le922_blacklist_usbcfg0 = { | 642 | static const struct option_blacklist_info telit_le922_blacklist_usbcfg0 = { |
632 | .sendsetup = BIT(2), | 643 | .sendsetup = BIT(2), |
633 | .reserved = BIT(0) | BIT(1) | BIT(3), | 644 | .reserved = BIT(0) | BIT(1) | BIT(3), |
@@ -1203,6 +1214,16 @@ static const struct usb_device_id option_ids[] = { | |||
1203 | .driver_info = (kernel_ulong_t)&telit_le922_blacklist_usbcfg3 }, | 1214 | .driver_info = (kernel_ulong_t)&telit_le922_blacklist_usbcfg3 }, |
1204 | { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920), | 1215 | { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920), |
1205 | .driver_info = (kernel_ulong_t)&telit_le920_blacklist }, | 1216 | .driver_info = (kernel_ulong_t)&telit_le920_blacklist }, |
1217 | { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1207) }, | ||
1218 | { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1208), | ||
1219 | .driver_info = (kernel_ulong_t)&telit_le920a4_blacklist_1 }, | ||
1220 | { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1211), | ||
1221 | .driver_info = (kernel_ulong_t)&telit_le922_blacklist_usbcfg3 }, | ||
1222 | { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1212), | ||
1223 | .driver_info = (kernel_ulong_t)&telit_le920a4_blacklist_1 }, | ||
1224 | { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1213, 0xff) }, | ||
1225 | { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1214), | ||
1226 | .driver_info = (kernel_ulong_t)&telit_le922_blacklist_usbcfg3 }, | ||
1206 | { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */ | 1227 | { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */ |
1207 | { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0002, 0xff, 0xff, 0xff), | 1228 | { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0002, 0xff, 0xff, 0xff), |
1208 | .driver_info = (kernel_ulong_t)&net_intf1_blacklist }, | 1229 | .driver_info = (kernel_ulong_t)&net_intf1_blacklist }, |