/* This driver also supports
  * ATEN UC2324 device using Moschip MCS7840
  * ATEN UC2322 device using Moschip MCS7820
+ * MOXA UPort 2210 device using Moschip MCS7820
  */
 #define USB_VENDOR_ID_ATENINTL         0x0557
 #define ATENINTL_DEVICE_ID_UC2324      0x2011
 #define ATENINTL_DEVICE_ID_UC2322      0x7820
 
+#define USB_VENDOR_ID_MOXA             0x110a
+#define MOXA_DEVICE_ID_2210            0x2210
+
 /* Interrupt Routine Defines    */
 
 #define SERIAL_IIR_RLS      0x06
        {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL2_4)},
        {USB_DEVICE(USB_VENDOR_ID_ATENINTL, ATENINTL_DEVICE_ID_UC2324)},
        {USB_DEVICE(USB_VENDOR_ID_ATENINTL, ATENINTL_DEVICE_ID_UC2322)},
+       {USB_DEVICE(USB_VENDOR_ID_MOXA, MOXA_DEVICE_ID_2210)},
        {}                      /* terminating entry */
 };
 MODULE_DEVICE_TABLE(usb, id_table);
                                const struct usb_device_id *id)
 {
        u16 product = le16_to_cpu(serial->dev->descriptor.idProduct);
+       u16 vid = le16_to_cpu(serial->dev->descriptor.idVendor);
        u8 *buf;
        int device_type;
 
                goto out;
        }
 
+       if (vid == USB_VENDOR_ID_MOXA && product == MOXA_DEVICE_ID_2210) {
+               device_type = MOSCHIP_DEVICE_ID_7820;
+               goto out;
+       }
+
        buf = kzalloc(VENDOR_READ_LENGTH, GFP_KERNEL);
        if (!buf)
                return -ENOMEM;