{"push_id":698899566,"size":3,"distinct_size":3,"ref":"refs/heads/brcmstb-gpio-v3","head":"c1ff94e7012eb0de06c41e61c3d99053c559b8b5","before":"5ed6eae59882df1a1ca97edb1420cc7cee132c9c","commits":[{"sha":"4308c77ab287732775b47225e9079fbb3ed6b4f5","author":{"email":"5545c2196fdf3421ce913d3d9046eafb23ba0da5@gmail.com","name":"Gregory Fong"},"message":"dt-bindings: brcmstb-gpio: document properties for wakeup\n\nSome brcmstb GPIO controllers can be used to wake from suspend, so use\nthe de facto standard property 'wakeup-source' to mark the nodes of\ncontrollers with that capability.\n\nAlso document interrupts-extended, which will be used for wakeup\nhandling because the interrupt parent for the wake IRQ is different\nfrom the regular IRQ.\n\nWhile we're at it, a few more fixes: We don't actually use the\n\"interrupt-names\" property, so remove it from the listed optional\nproperties and from the examples.  And since we're modifying the\nexamples, also follow Brian's suggestions to:\n- change #gpio-cells, #interrupt-cells, and brcm,gpio-bank-widths from\n  hex to dec\n- use phandles\n\nReviewed-by: Brian Norris <computersforpeace@gmail.com>\nSigned-off-by: Gregory Fong <gregory.0xf0@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Broadcom/stblinux/commits/4308c77ab287732775b47225e9079fbb3ed6b4f5"},{"sha":"d584c3bacd82580d618064949d10323198986463","author":{"email":"5545c2196fdf3421ce913d3d9046eafb23ba0da5@gmail.com","name":"Gregory Fong"},"message":"gpio: brcmstb: Add interrupt and wakeup source support\n\nUses the gpiolib irqchip helpers.  For this to work, the irq setup\nfunction is called once per bank instead of once per device.  Note\nthat all known uses of this block have a BCM7120 L2 interrupt\ncontroller as a parent.  Supports interrupts for all GPIOs.\n\nIn the IRQ handler, we check for raised IRQs for invalid GPIOs and\nwarn (ratelimited) if they're encountered.\n\nAlso, several drivers (e.g. gpio-keys) allow for GPIOs to be\nconfigured as wakeup sources, and this GPIO controller supports that\nthrough a separate interrupt path.\n\nThe de-facto standard DT property \"wakeup-source\" is checked, since\nthat indicates whether the GPIO controller hardware can wake.  Uses\nthe IRQCHIP_MASK_ON_SUSPEND irq_chip flag because UPG GIO doesn't have\nany of its own wakeup source configuration.\n\nAside regarding gpiolib irqchip helpers: It wasn't obvious (to me)\nthat you can have multiple chained irqchips and associated IRQ domains\nfor a single parent IRQ, and as long as the xlate function is written\ncorrectly, a GPIO IRQ request end up checking the correct domain and\nwill get associated with the correct IRQ.  What helps make this clear\nis to read\n  drivers/gpio/gpiolib-of.c:\n   - of_gpiochip_find_and_xlate()\n   - of_get_named_gpiod_flags()\n  drivers/gpio/gpiolib.c:\n   - gpiochip_find()\n\nSigned-off-by: Gregory Fong <gregory.0xf0@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Broadcom/stblinux/commits/d584c3bacd82580d618064949d10323198986463"},{"sha":"c1ff94e7012eb0de06c41e61c3d99053c559b8b5","author":{"email":"5545c2196fdf3421ce913d3d9046eafb23ba0da5@gmail.com","name":"Gregory Fong"},"message":"gpio: brcmstb: support wakeup from S5 cold boot\n\nFor wake from S5, we need to:\n- register a reboot handler\n- set wakeup capability before requesting IRQ so wakeup count is\n  incremented\n- mask all GPIO IRQs and clear any pending interrupts during driver\n  probe to since no driver will yet be registered to handle any IRQs\n  carried over from boot at that time, and it's possible that the\n  booted kernel does not request the same IRQ anyway.\n\nThis means that /sys/.../power/wakeup_count is valid at boot time, and\nwe can properly account for S5 wakeup stats. e.g.:\n\n  ### After waking from S5 from a GPIO key\n  # cat /sys/bus/platform/drivers/brcmstb-gpio/f04172c0.gpio/power/wakeup\n  enabled\n  # cat /sys/bus/platform/drivers/brcmstb-gpio/f04172c0.gpio/power/wakeup_count\n  1\n\nSigned-off-by: Gregory Fong <gregory.0xf0@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Broadcom/stblinux/commits/c1ff94e7012eb0de06c41e61c3d99053c559b8b5"}]}