Re: [RFC PATCH] gpiolib-acpi: Add ACPI5 event model support to gpio.

From: Linus Walleij
Date: Fri Jan 25 2013 - 07:53:55 EST


On Fri, Jan 25, 2013 at 12:48 PM, Mathias Nyman
<mathias.nyman@xxxxxxxxxxxxxxx> wrote:

> Add ability to handle ACPI events signalled by GPIO interrupts.
>
> ACPI5 platforms can use GPIO signaled ACPI events. These GPIO interrupts are
> handled by ACPI event methods which need to be called from the GPIO
> controller's interrupt handler. acpi_gpio_request_interrupt() finds out which
> gpio pins have acpi event methods and assigns interrupt handlers that calls
> the acpi event methods for those pins.
>
> Partially based on work by Rui Zhang <rui.zhang@xxxxxxxxx>
>
> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>
(...)
> +/**
> + * acpi_gpio_request_interrupt() - Register isr for gpio controller ACPI events
> + * @chip: gpio chip representation of the gpio controller


Hm chip, controller, controller, chip chip, controller controller...
Are we using two different names for the same thing?

> + *
> + * ACPI5 platforms can use GPIO signaled ACPI events. These GPIO interrupts are
> + * handled by ACPI event methods which need to be called from the GPIO
> + * controller's interrupt handler. acpi_gpio_request_interrupt finds out which
> + * gpio pins have acpi event methods and assigns interrupt handlers that calls
> + * the acpi event methods for those pins.
> + */
> +
> +void acpi_gpio_request_interrupt(struct gpio_chip *chip)

So I was like "um, what acpi requests an interrupt for a GPIO (maybe a pin)...

... read read ...

Aha the function should probably be named:
acpi_gpiochip_request_interrupts()

Because it just grabs all IRQs coming from that chip right?

Second: why is there no mirror function *releasing* all the IRQs again?
One-way interface?

Yours,
Linus Walleij
--
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/