Input: goodix - switch use of acpi_gpio_get_*_resource() APIs
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 6 Jul 2022 23:29:11 +0000 (16:29 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 6 Jul 2022 23:29:50 +0000 (16:29 -0700)
No need to open code functionality that is provided by the
acpi_gpio_get_irq_resource() and acpi_gpio_get_io_resource().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20220705180252.963-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/goodix.c

index 3ad9870..cc52f0d 100644 (file)
@@ -822,22 +822,16 @@ static int goodix_resource(struct acpi_resource *ares, void *data)
        struct device *dev = &ts->client->dev;
        struct acpi_resource_gpio *gpio;
 
-       switch (ares->type) {
-       case ACPI_RESOURCE_TYPE_GPIO:
-               gpio = &ares->data.gpio;
-               if (gpio->connection_type == ACPI_RESOURCE_GPIO_TYPE_INT) {
-                       if (ts->gpio_int_idx == -1) {
-                               ts->gpio_int_idx = ts->gpio_count;
-                       } else {
-                               dev_err(dev, "More then one GpioInt resource, ignoring ACPI GPIO resources\n");
-                               ts->gpio_int_idx = -2;
-                       }
+       if (acpi_gpio_get_irq_resource(ares, &gpio)) {
+               if (ts->gpio_int_idx == -1) {
+                       ts->gpio_int_idx = ts->gpio_count;
+               } else {
+                       dev_err(dev, "More then one GpioInt resource, ignoring ACPI GPIO resources\n");
+                       ts->gpio_int_idx = -2;
                }
                ts->gpio_count++;
-               break;
-       default:
-               break;
-       }
+       } else if (acpi_gpio_get_io_resource(ares, &gpio))
+               ts->gpio_count++;
 
        return 0;
 }