HID: cp2112: Don't call ->to_irq() explicitly
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 3 Jul 2023 18:52:15 +0000 (21:52 +0300)
committerBenjamin Tissoires <bentiss@kernel.org>
Fri, 28 Jul 2023 15:05:48 +0000 (17:05 +0200)
GPIO library guarantees that ->to_irq() is always exists.
Moreover, it tending to become a nische thingy and has to
not be used in ordinary drivers. Hence, replace that by
irq_find_mapping().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230703185222.50554-6-andriy.shevchenko@linux.intel.com
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
drivers/hid/hid-cp2112.c

index fb4548f..15b6263 100644 (file)
@@ -1112,10 +1112,9 @@ static void cp2112_gpio_poll_callback(struct work_struct *work)
 
        gpio_mask = ret;
        for_each_set_bit(virq, &dev->irq_mask, 8) {
-               if (!dev->gc.to_irq)
-                       break;
-
-               irq = dev->gc.to_irq(&dev->gc, virq);
+               irq = irq_find_mapping(dev->gc.irq.domain, virq);
+               if (!irq)
+                       continue;
 
                d = irq_get_irq_data(irq);
                if (!d)