Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
[firefly-linux-kernel-4.4.55.git] / drivers / usb / serial / xsens_mt.c
index 4841fb57400c391b3cdc4a037da155149c384855..3837d5113bb21ed24f66bf5de79c0a6cb0c42fea 100644 (file)
@@ -41,28 +41,13 @@ static const struct usb_device_id id_table[] = {
 };
 MODULE_DEVICE_TABLE(usb, id_table);
 
-static int has_required_endpoints(const struct usb_host_interface *interface)
-{
-       __u8 i;
-       int has_bulk_in = 0;
-       int has_bulk_out = 0;
-
-       for (i = 0; i < interface->desc.bNumEndpoints; ++i) {
-               if (usb_endpoint_is_bulk_in(&interface->endpoint[i].desc))
-                       has_bulk_in = 1;
-               else if (usb_endpoint_is_bulk_out(&interface->endpoint[i].desc))
-                       has_bulk_out = 1;
-       }
-
-       return has_bulk_in && has_bulk_out;
-}
-
 static int xsens_mt_probe(struct usb_serial *serial,
                                        const struct usb_device_id *id)
 {
-       if (!has_required_endpoints(serial->interface->cur_altsetting))
-               return -ENODEV;
-       return 0;
+       if (serial->interface->cur_altsetting->desc.bInterfaceNumber == 1)
+               return 0;
+
+       return -ENODEV;
 }
 
 static struct usb_serial_driver xsens_mt_device = {
@@ -82,4 +67,6 @@ static struct usb_serial_driver * const serial_drivers[] = {
 
 module_usb_serial_driver(serial_drivers, id_table);
 
+MODULE_AUTHOR("Frans Klaver <frans.klaver@xsens.com>");
+MODULE_DESCRIPTION("USB-serial driver for Xsens motion trackers");
 MODULE_LICENSE("GPL");