]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
USB: chaoskey: refactor endpoint retrieval
authorJohan Hovold <johan@kernel.org>
Fri, 17 Mar 2017 10:35:36 +0000 (11:35 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Mar 2017 12:53:16 +0000 (13:53 +0100)
Use the new endpoint helpers to lookup the required bulk-in endpoint.

Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/chaoskey.c

index aa350dc9eb25c2db5a785fbd5147229d0cf06963..e9cae4d82af2ec80a1bfa321871aa75895dda170 100644 (file)
@@ -117,28 +117,26 @@ static int chaoskey_probe(struct usb_interface *interface,
 {
        struct usb_device *udev = interface_to_usbdev(interface);
        struct usb_host_interface *altsetting = interface->cur_altsetting;
-       int i;
-       int in_ep = -1;
+       struct usb_endpoint_descriptor *epd;
+       int in_ep;
        struct chaoskey *dev;
        int result = -ENOMEM;
        int size;
+       int res;
 
        usb_dbg(interface, "probe %s-%s", udev->product, udev->serial);
 
        /* Find the first bulk IN endpoint and its packet size */
-       for (i = 0; i < altsetting->desc.bNumEndpoints; i++) {
-               if (usb_endpoint_is_bulk_in(&altsetting->endpoint[i].desc)) {
-                       in_ep = usb_endpoint_num(&altsetting->endpoint[i].desc);
-                       size = usb_endpoint_maxp(&altsetting->endpoint[i].desc);
-                       break;
-               }
+       res = usb_find_bulk_in_endpoint(altsetting, &epd);
+       if (res) {
+               usb_dbg(interface, "no IN endpoint found");
+               return res;
        }
 
+       in_ep = usb_endpoint_num(epd);
+       size = usb_endpoint_maxp(epd);
+
        /* Validate endpoint and size */
-       if (in_ep == -1) {
-               usb_dbg(interface, "no IN endpoint found");
-               return -ENODEV;
-       }
        if (size <= 0) {
                usb_dbg(interface, "invalid size (%d)", size);
                return -ENODEV;