[PATCH 0/2] ACPI: Translate Linux IRQ number directly from GpioInt

From: Mika Westerberg
Date: Tue Apr 28 2015 - 11:05:30 EST


Hi,

Currently drivers for ACPI enumerated devices that have their interrupt
line connected to a GPIO controller instead of IO-APIC are required to do
complete gpiod_get()/gpiod_to_irq() etc. dance themselves. This adds
unnecessary lines of code to these drivers.

It turned out that DT solved the problem already with introduction of
of_irq_get() which is able to handle GPIO based interrupts as well through
irqchip API [1].

Following two patches does the same for ACPI by introducing new function
acpi_dev_gpio_irq_get() that is then used in I2C core to automatically
translate ACPI GpioInt resource to Linux IRQ number.

This requires that the boot firmware (BIOS/coreboot) configures these pins
correctly (input, etc) before handing over to OS. I've tested this on Intel
Baytrail, Braswell and Skylake based machines where this is true.

[1] https://lkml.org/lkml/2015/3/25/103

Mika Westerberg (2):
gpio / ACPI: Add support for retrieving GpioInt resources from a device
i2c / ACPI: Assign IRQ for devices that have GpioInt automatically

drivers/gpio/gpiolib-acpi.c | 29 +++++++++++++++++++++++++++++
drivers/i2c/i2c-core.c | 9 +++++++--
include/linux/acpi.h | 7 +++++++
3 files changed, 43 insertions(+), 2 deletions(-)

--
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/