• Tony Lindgren's avatar
    gpio: gpio-omap: always scan for triggered non-wakeup capable interrupts · 06dce84e
    Tony Lindgren authored
    The bank->workaround_enabled should be for omap24xx erratum 1.101 but is not
    needed any longer as erratum 1.101 handling only needs to happen based on
    !bank->loses_context with patch "gpio: omap: Limit errata 1.101 handling to
    wkup domain gpios only".
    
    Further Grygorii Strashko <grygorii.strashko@ti.com> points out that we are
    now tagging all edge GPIOs as non-wakeup GPIOs and rely on original erratum
    1.101 handling for scacnning for edge interrupts that have triggered during
    idle.
    
    Also the TI Android kernel tree has an earlier commit "GPIO: OMAP: Always
    scan gpios during runtime resume" by Tero Kristo <t-kristo@ti.com> saying:
    
     "This allows the driver to generate interrupts for GPIOs that can't
      wakeup but have changed state during runtime suspend. We cannot
      depend on the decision based on no need to restore, as the system
      state might change and pending events could gather up."
    
    So let's remove bank->workaround_enabled and always scan for triggered edge
    interrupts on resume. We do that based on bank->enabled_non_wakeup_gpios.
    
    Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
    Cc: Grygorii Strashko <grygorii.strashko@ti.com>
    Cc: Keerthy <j-keerthy@ti.com>
    Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Cc: Russell King <rmk+kernel@armlinux.org.uk>
    Cc: Tero Kristo <t-kristo@ti.com>
    Reported-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
    06dce84e
gpio-omap.c 47 KB