summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2025-07-01 14:47:09 +0300
committerUlf Hansson <ulf.hansson@linaro.org>2025-07-09 14:28:57 +0300
commit6c3b746fd536b7612b23e5c2041365014b85082e (patch)
tree3b5d544a1c92f77006077e5a063f0446f40c8137 /include/linux
parent18a3a510ecfd0e508e8e41160dea0493cdfa297c (diff)
downloadlinux-6c3b746fd536b7612b23e5c2041365014b85082e.tar.xz
pmdomain: core: Export a common ->sync_state() helper for genpd providers
In some cases the typical platform driver that act as genpd provider, may need its own ->sync_state() callback to manage various things. In this regards, the provider most likely wants to allow its corresponding genpds to be powered-off. For this reason, let's introduce a new genpd helper function, of_genpd_sync_state() that helps genpd provider drivers to achieve this. Suggested-by: Saravana Kannan <saravanak@google.com> Reviewed-by: Abel Vesa <abel.vesa@linaro.org> 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-8-ulf.hansson@linaro.org
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/pm_domain.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index 0b18160901a2..3578196e6626 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -431,6 +431,7 @@ int of_genpd_remove_subdomain(const struct of_phandle_args *parent_spec,
struct generic_pm_domain *of_genpd_remove_last(struct device_node *np);
int of_genpd_parse_idle_states(struct device_node *dn,
struct genpd_power_state **states, int *n);
+void of_genpd_sync_state(struct device_node *np);
int genpd_dev_pm_attach(struct device *dev);
struct device *genpd_dev_pm_attach_by_id(struct device *dev,
@@ -476,6 +477,8 @@ static inline int of_genpd_parse_idle_states(struct device_node *dn,
return -ENODEV;
}
+static inline void of_genpd_sync_state(struct device_node *np) {}
+
static inline int genpd_dev_pm_attach(struct device *dev)
{
return 0;