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 5c424d7bd76f3f5437a51abc2b8aabd2472c8a2b..699914e824543b26cb329dbb8fc20c77f0e7670d 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 c4dbd0a9212bae9cecd23b16d216068387f124f7..b70c2a9a342f91eb630ee35ea98f64c6ab0787a7 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;