Merge Linus' tree to be be to apply submitted patches to newer code than
[cascardo/linux.git] / drivers / usb / serial / usb-serial-simple.c
index 675f9fa..8bfc47c 100644 (file)
@@ -20,7 +20,7 @@
 #include <linux/usb.h>
 #include <linux/usb/serial.h>
 
-#define DEVICE(vendor, IDS)                                    \
+#define DEVICE_N(vendor, IDS, nport)                           \
 static const struct usb_device_id vendor##_id_table[] = {      \
        IDS(),                                                  \
        { },                                                    \
@@ -31,9 +31,15 @@ static struct usb_serial_driver vendor##_device = {          \
                .name =         #vendor,                        \
        },                                                      \
        .id_table =             vendor##_id_table,              \
-       .num_ports =            1,                              \
+       .num_ports =            nport,                          \
 };
 
+#define DEVICE(vendor, IDS)    DEVICE_N(vendor, IDS, 1)
+
+/* Medtronic CareLink USB driver */
+#define CARELINK_IDS()                 \
+       { USB_DEVICE(0x0a21, 0x8001) }  /* MMT-7305WW */
+DEVICE(carelink, CARELINK_IDS);
 
 /* ZIO Motherboard USB driver */
 #define ZIO_IDS()                      \
@@ -64,6 +70,11 @@ DEVICE(vivopay, VIVOPAY_IDS);
        { USB_DEVICE(0x22b8, 0x2c64) }  /* Motorola V950 phone */
 DEVICE(moto_modem, MOTO_IDS);
 
+/* Novatel Wireless GPS driver */
+#define NOVATEL_IDS()                  \
+       { USB_DEVICE(0x09d7, 0x0100) }  /* NovAtel FlexPack GPS */
+DEVICE_N(novatel_gps, NOVATEL_IDS, 3);
+
 /* HP4x (48/49) Generic Serial driver */
 #define HP4X_IDS()                     \
        { USB_DEVICE(0x03f0, 0x0121) }
@@ -82,11 +93,13 @@ DEVICE(siemens_mpi, SIEMENS_IDS);
 
 /* All of the above structures mushed into two lists */
 static struct usb_serial_driver * const serial_drivers[] = {
+       &carelink_device,
        &zio_device,
        &funsoft_device,
        &flashloader_device,
        &vivopay_device,
        &moto_modem_device,
+       &novatel_gps_device,
        &hp4x_device,
        &suunto_device,
        &siemens_mpi_device,
@@ -94,11 +107,13 @@ static struct usb_serial_driver * const serial_drivers[] = {
 };
 
 static const struct usb_device_id id_table[] = {
+       CARELINK_IDS(),
        ZIO_IDS(),
        FUNSOFT_IDS(),
        FLASHLOADER_IDS(),
        VIVOPAY_IDS(),
        MOTO_IDS(),
+       NOVATEL_IDS(),
        HP4X_IDS(),
        SUUNTO_IDS(),
        SIEMENS_IDS(),