USB: serial: add Google simple serial SubClass support
authorAnton Staaf <robotboy@chromium.org>
Mon, 3 Nov 2014 16:43:20 +0000 (08:43 -0800)
committerJohan Hovold <johan@kernel.org>
Tue, 4 Nov 2014 17:11:01 +0000 (18:11 +0100)
Add support for Google devices that export simple serial
interfaces using the vendor specific SubClass/Protocol pair
0x50/0x01.

Signed-off-by: Anton Staaf <robotboy@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
[johan: move id entries and update Kconfig]
Signed-off-by: Johan Hovold <johan@kernel.org>
drivers/usb/serial/Kconfig
drivers/usb/serial/usb-serial-simple.c

index d185613bbd7d6f168b3d60ffd2d74ee65ff9f434..b7cf1982d1d94055b5eade551dcc59fe6e353aaf 100644 (file)
@@ -60,6 +60,7 @@ config USB_SERIAL_SIMPLE
                - Suunto ANT+ USB device.
                - Medtronic CareLink USB device
                - Fundamental Software dongle.
+               - Google USB serial devices
                - HP4x calculators
                - a number of Motorola phones
                - Novatel Wireless GPS receivers
index 7064eb8d6142aa5169ac81bf83fb3795c09b5542..bc310112eae921fa97c92d251407febafed4a03e 100644 (file)
@@ -56,6 +56,14 @@ DEVICE(funsoft, FUNSOFT_IDS);
        { USB_DEVICE(0x8087, 0x0716) }
 DEVICE(flashloader, FLASHLOADER_IDS);
 
+/* Google Serial USB SubClass */
+#define GOOGLE_IDS()                                           \
+       { USB_VENDOR_AND_INTERFACE_INFO(0x18d1,                 \
+                                       USB_CLASS_VENDOR_SPEC,  \
+                                       0x50,                   \
+                                       0x01) }
+DEVICE(google, GOOGLE_IDS);
+
 /* ViVOpay USB Serial Driver */
 #define VIVOPAY_IDS()                  \
        { USB_DEVICE(0x1d5f, 0x1004) }  /* ViVOpay 8800 */
@@ -97,6 +105,7 @@ static struct usb_serial_driver * const serial_drivers[] = {
        &zio_device,
        &funsoft_device,
        &flashloader_device,
+       &google_device,
        &vivopay_device,
        &moto_modem_device,
        &novatel_gps_device,
@@ -111,6 +120,7 @@ static const struct usb_device_id id_table[] = {
        ZIO_IDS(),
        FUNSOFT_IDS(),
        FLASHLOADER_IDS(),
+       GOOGLE_IDS(),
        VIVOPAY_IDS(),
        MOTO_IDS(),
        NOVATEL_IDS(),