On Mon, Apr 8, 2019 at 9:46 PM Tony Lindgren <tony@xxxxxxxxxxx> wrote: > From: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> > > The GPIO block can enter idle independently of the CPU power management > calls via smart-idle. When the GPIO block enters idle, level detection > stops working due to clocks being shut off, and an alternative form of > edge detection is used. However, this needs the edge detection > registers set to mark the appropriate edges. > > Arrange to configure the edge detection enables along with the level > detection to ensure that any transition to active interrupt state that > occurs while the block is idle is detected as a wake-up event. > > Since we enable the edge detection when configuring the IRQ, both > omap2_gpio_enable_level_quirk() nor omap2_gpio_disable_level_quirk() > become redundant, which also means OMAP_GPIO_QUIRK_IDLE_REMOVE_TRIGGER > can be removed. This can be now done without regressions as patch > "gpio: gpio-omap: fix level interrupt idling" allows level interrupts > to idle on omap4 without a workaround. > > Cc: Aaro Koskinen <aaro.koskinen@xxxxxx> > Cc: Grygorii Strashko <grygorii.strashko@xxxxxx> > Cc: Keerthy <j-keerthy@xxxxxx> > Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > Cc: Tero Kristo <t-kristo@xxxxxx> > Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> > [tony@xxxxxxxxxxx: update description for the fix dependency] > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Patch applied. Yours, Linus Walleij