• T
    pinctrl: single: Add support for wake-up interrupts · 3e6cee17
    Tony Lindgren 提交于
    The pin control registers can have interrupts for example
    for device wake-up. These interrupts can be treated as a
    chained interrupt controller as suggested earlier by
    Linus Walleij <linus.walleij@linaro.org>.
    
    This patch adds support for interrupts in a way that
    should be pretty generic, and works for the omaps that
    support wake-up interrupts. On omaps, there's an
    interrupt enable and interrupt status bit for each pin.
    The two pinctrl domains on omaps share a single interrupt
    from the PRM chained interrupt handler. Support for
    other similar hardware should be easy to add.
    
    Note that this patch does not attempt to handle the
    wake-up interrupts automatically unlike the earlier
    patches. This patch allows the device drivers to do
    a request_irq() on the wake-up pins as needed. I'll
    try to do also a separate generic patch for handling
    the wake-up events automatically.
    
    Also note that as this patch makes the pinctrl-single
    an irq controller, the current bindings need some
    extra trickery to use interrupts from two different
    interrupt controllers for the same driver. So it
    might be worth waiting a little on the patches
    enabling the wake-up interrupts from drivers as there
    should be a generic way to handle it coming. And also
    there's been discussion of interrupts-extended binding
    for using interrupts from multiple interrupt controllers.
    
    In any case, this patch should be ready to go allowing
    handling the wake-up interrupts in a generic way, or
    separately from the device drivers.
    
    Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Cc: Grygorii Strashko <grygorii.strashko@ti.com>
    Cc: Prakash Manjunathappa <prakash.pm@ti.com>
    Cc: Roger Quadros <rogerq@ti.com>
    Cc: linux-kernel@vger.kernel.org
    Cc: Benoît Cousson <bcousson@baylibre.com>
    Cc: devicetree@vger.kernel.org
    Acked-by: NLinus Walleij <linus.walleij@linaro.org>
    Acked-by: NHaojian Zhuang <haojian.zhuang@gmail.com>
    Reviewed-by: NKevin Hilman <khilman@linaro.org>
    Tested-by: NKevin Hilman <khilman@linaro.org>
    Signed-off-by: NTony Lindgren <tony@atomide.com>
    3e6cee17
pinctrl-single.c 48.6 KB