• Gregory Fong's avatar
    gpio: brcmstb: support wakeup from S5 cold boot · 3afa129a
    Gregory Fong authored
    For wake from S5, we need to:
    - register a reboot handler
    - set wakeup capability before requesting IRQ so wakeup count is
      incremented
    - mask all GPIO IRQs and clear any pending interrupts during driver
      probe to since no driver will yet be registered to handle any IRQs
      carried over from boot at that time, and it's possible that the
      booted kernel does not request the same IRQ anyway.
    
    This means that /sys/.../power/wakeup_count is valid at boot time, and
    we can properly account for S5 wakeup stats. e.g.:
    
      ### After waking from S5 from a GPIO key
      # cat /sys/bus/platform/drivers/brcmstb-gpio/f04172c0.gpio/power/wakeup
      enabled
      # cat /sys/bus/platform/drivers/brcmstb-gpio/f04172c0.gpio/power/wakeup_count
      1
    Signed-off-by: default avatarGregory Fong <gregory.0xf0@gmail.com>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    3afa129a
gpio-brcmstb.c 14.7 KB