mbox series

[v4,0/3] power: domain: handle power supplies that need interrupts

Message ID 20220720043444.1289952-1-martin.kepplinger@puri.sm
Headers show
Series power: domain: handle power supplies that need interrupts | expand

Message

Martin Kepplinger July 20, 2022, 4:34 a.m. UTC
hi Ulf, Lucas and all interested,

This (after a cleanup patch) makes available a new genpd flag
GENPD_FLAG_IRQ_ON in a relatively generic way: genpd providers can set
it when irqs are needed to manage power on/off. Since the main goal
here has been to fix systemd suspend/resume, adjusting these callbacks
is all that's being done when this flag gets set.

And since I'm working on imx8mq, the 3rd patch makes gpcv2 set this new
flag when any power-supply's parent DT node has "interrupts" described.
For i.MX8M* platforms, this should be ok. For other platforms this might
be useful too but needs to be tested.


revision history
----------------
v4: (thank you Ulf and Lucas)
* split up genpd core and gpcv2 changes
* set callbacks inside of pm_genpd_init()
* make flag name and description a bit more generic
* print an error in __genpd_dev_pm_attach() if there a "mismatch"

v3: (thank you Ulf)
* move DT parsing to gpcv2 and create a genpd flag that gets set
https://lore.kernel.org/linux-arm-kernel/20220718210302.674897-1-martin.kepplinger@puri.sm/

v2: (thank you Krzysztof)
* rewrite: find possible regulators' interrupts property in parents
  instead of inventing a new property.
https://lore.kernel.org/linux-arm-kernel/20220712121832.3659769-1-martin.kepplinger@puri.sm/

v1: (initial idea)
https://lore.kernel.org/linux-arm-kernel/20220711094549.3445566-1-martin.kepplinger@puri.sm/T/#t


Martin Kepplinger (3):
  PM: domain: fix indentation and use BIT macro for flags
  power: domain: handle genpd correctly when needing interrupts
  soc: imx: gpcv2: fix suspend/resume by setting GENPD_FLAG_IRQ_ON

 drivers/base/power/domain.c | 13 +++++++++++++
 drivers/soc/imx/gpcv2.c     |  9 +++++++++
 include/linux/pm_domain.h   | 20 +++++++++++++-------
 3 files changed, 35 insertions(+), 7 deletions(-)