]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Input: appletouch - refactor endpoint lookup
authorJohan Hovold <johan@kernel.org>
Mon, 30 Mar 2026 09:59:46 +0000 (11:59 +0200)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 30 Mar 2026 23:54:41 +0000 (16:54 -0700)
Use the common USB helpers for looking up interrupt-in endpoints (and
determining endpoint numbers) instead of open coding.

Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20260330095948.1663141-3-johan@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/appletouch.c

index 87d8f5afdfd9977a54d182f375bc52def006b918..eebeb57515e1c60e2273327f74009043a7991ede 100644 (file)
@@ -829,29 +829,20 @@ static int atp_probe(struct usb_interface *iface,
        struct atp *dev;
        struct input_dev *input_dev;
        struct usb_device *udev = interface_to_usbdev(iface);
-       struct usb_host_interface *iface_desc;
-       struct usb_endpoint_descriptor *endpoint;
-       int int_in_endpointAddr = 0;
-       int i, error = -ENOMEM;
+       struct usb_endpoint_descriptor *ep;
+       int error;
        const struct atp_info *info = (const struct atp_info *)id->driver_info;
 
        /* set up the endpoint information */
        /* use only the first interrupt-in endpoint */
-       iface_desc = iface->cur_altsetting;
-       for (i = 0; i < iface_desc->desc.bNumEndpoints; i++) {
-               endpoint = &iface_desc->endpoint[i].desc;
-               if (!int_in_endpointAddr && usb_endpoint_is_int_in(endpoint)) {
-                       /* we found an interrupt in endpoint */
-                       int_in_endpointAddr = endpoint->bEndpointAddress;
-                       break;
-               }
-       }
-       if (!int_in_endpointAddr) {
+       error = usb_find_int_in_endpoint(iface->cur_altsetting, &ep);
+       if (error) {
                dev_err(&iface->dev, "Could not find int-in endpoint\n");
                return -EIO;
        }
 
        /* allocate memory for our device state and initialize it */
+       error = -ENOMEM;
        dev = kzalloc_obj(*dev);
        input_dev = input_allocate_device();
        if (!dev || !input_dev) {
@@ -875,7 +866,7 @@ static int atp_probe(struct usb_interface *iface,
                goto err_free_urb;
 
        usb_fill_int_urb(dev->urb, udev,
-                        usb_rcvintpipe(udev, int_in_endpointAddr),
+                        usb_rcvintpipe(udev, usb_endpoint_num(ep)),
                         dev->data, dev->info->datalen,
                         dev->info->callback, dev, 1);