i2c: core: Move ACPI gpio IRQ handling into i2c_acpi_get_irq
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 27 Jun 2019 09:24:10 +0000 (10:24 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Sat, 29 Jun 2019 11:17:54 +0000 (13:17 +0200)
It makes sense to contain all the ACPI IRQ handling in a single helper
function.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/i2c-core-acpi.c
drivers/i2c/i2c-core-base.c

index 5c424d7..699914e 100644 (file)
@@ -172,6 +172,9 @@ int i2c_acpi_get_irq(struct i2c_client *client)
 
        acpi_dev_free_resource_list(&resource_list);
 
+       if (irq == -ENOENT)
+               irq = acpi_dev_gpio_irq_get(adev, 0);
+
        return irq;
 }
 
index c4dbd0a..b70c2a9 100644 (file)
@@ -336,9 +336,6 @@ static int i2c_device_probe(struct device *dev)
                                irq = of_irq_get(dev->of_node, 0);
                } else if (ACPI_COMPANION(dev)) {
                        irq = i2c_acpi_get_irq(client);
-
-                       if (irq == -ENOENT)
-                               irq = acpi_dev_gpio_irq_get(ACPI_COMPANION(dev), 0);
                }
                if (irq == -EPROBE_DEFER)
                        return irq;