]> www.infradead.org Git - users/jedix/linux-maple.git/commit
pmdomain: core: Add common ->sync_state() support for genpd providers
authorUlf Hansson <ulf.hansson@linaro.org>
Tue, 1 Jul 2025 11:47:20 +0000 (13:47 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 9 Jul 2025 11:29:41 +0000 (13:29 +0200)
commit3b7b8acacf372945b4855a136634775c064a57f8
tree5ecbb7dca7e72095aa88a048e842b1da0e757713
parent9a4681a485ee1203ac968065490a8eeaa6615503
pmdomain: core: Add common ->sync_state() support for genpd providers

If the genpd provider's fwnode doesn't have an associated struct device
with it, we can make use of the generic genpd->dev and it corresponding
driver internally in genpd to manage ->sync_state().

More precisely, while adding a genpd OF provider let's check if the fwnode
has a device and if not, make the preparation to handle ->sync_state()
internally through the genpd_provider_driver and the genpd_provider_bus.

Note that, genpd providers may opt out from this behaviour by setting the
GENPD_FLAG_NO_SYNC_STATE config options for the genpds in question.

Suggested-by: Saravana Kannan <saravanak@google.com>
Tested-by: Hiago De Franco <hiago.franco@toradex.com> # Colibri iMX8X
Tested-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> # TI AM62A,Xilinx ZynqMP ZCU106
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20250701114733.636510-19-ulf.hansson@linaro.org
drivers/pmdomain/core.c
include/linux/pm_domain.h