USB: serial: simple: add Motorola Tetra driver
authorJohan Hovold <johan@kernel.org>
Thu, 18 Jan 2018 03:46:41 +0000 (14:46 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Feb 2018 16:39:21 +0000 (17:39 +0100)
commit 46fe895e22ab3845515ec06b01eaf1282b342e29 upstream.

Add new Motorola Tetra (simple) driver for Motorola Solutions TETRA PEI
devices.

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0cad ProdID=9011 Rev=24.16
S:  Manufacturer=Motorola Solutions Inc.
S:  Product=Motorola Solutions TETRA PEI interface
C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

Note that these devices do not support the CDC SET_CONTROL_LINE_STATE
request (for any interface).

Reported-by: Max Schulze <max.schulze@posteo.de>
Tested-by: Max Schulze <max.schulze@posteo.de>
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/Kconfig
drivers/usb/serial/usb-serial-simple.c

index a8d5f2e4878dcaee2fe50470d22028ba8c6a3506..c66b93664d54344a3e8e50a9e5cdca1745e9039f 100644 (file)
@@ -63,6 +63,7 @@ config USB_SERIAL_SIMPLE
                - Google USB serial devices
                - HP4x calculators
                - a number of Motorola phones
+               - Motorola Tetra devices
                - Novatel Wireless GPS receivers
                - Siemens USB/MPI adapter.
                - ViVOtech ViVOpay USB device.
index e98b6e57b703dbd84c3b618fe56dc50eff3fd7ec..6aa7ff2c1cf74b953dc5669e08500b43ccb9e115 100644 (file)
@@ -80,6 +80,11 @@ DEVICE(vivopay, VIVOPAY_IDS);
        { USB_DEVICE(0x22b8, 0x2c64) }  /* Motorola V950 phone */
 DEVICE(moto_modem, MOTO_IDS);
 
+/* Motorola Tetra driver */
+#define MOTOROLA_TETRA_IDS()                   \
+       { USB_DEVICE(0x0cad, 0x9011) }  /* Motorola Solutions TETRA PEI */
+DEVICE(motorola_tetra, MOTOROLA_TETRA_IDS);
+
 /* Novatel Wireless GPS driver */
 #define NOVATEL_IDS()                  \
        { USB_DEVICE(0x09d7, 0x0100) }  /* NovAtel FlexPack GPS */
@@ -110,6 +115,7 @@ static struct usb_serial_driver * const serial_drivers[] = {
        &google_device,
        &vivopay_device,
        &moto_modem_device,
+       &motorola_tetra_device,
        &novatel_gps_device,
        &hp4x_device,
        &suunto_device,
@@ -125,6 +131,7 @@ static const struct usb_device_id id_table[] = {
        GOOGLE_IDS(),
        VIVOPAY_IDS(),
        MOTO_IDS(),
+       MOTOROLA_TETRA_IDS(),
        NOVATEL_IDS(),
        HP4X_IDS(),
        SUUNTO_IDS(),