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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 04/28/2015 08:05 AM, Mika Westerberg wrote:
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.
Why not configure the GPIO pin as input in the API itself ?

[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(-)


--
Sathyanarayanan Kuppuswamy
Android kernel developer

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




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux