gpio: brcmstb: support wakeup from S5 cold boot
authorGregory Fong <gregory.0xf0@gmail.com>
Sat, 1 Aug 2015 01:17:44 +0000 (18:17 -0700)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 13 Aug 2015 11:13:41 +0000 (13:13 +0200)
commit3afa129a9de0957d72165cf08a54e5c69938011c
tree0f87a892345b295acebedecdcb85912161767cab
parent19a7b6940b781256ea8821e803d1e5f2933224b1
gpio: brcmstb: support wakeup from S5 cold boot

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: Gregory Fong <gregory.0xf0@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-brcmstb.c
This page took 0.028894 seconds and 5 git commands to generate.