[PATCH 30/44] pmdomain: add easy way to check for provider support
Ahmad Fatoum
a.fatoum at barebox.org
Mon Aug 11 05:28:10 PDT 2025
This function will be called from the upcoming bfetch command to
determine whether the running barebox has GENPD support.
Signed-off-by: Ahmad Fatoum <a.fatoum at barebox.org>
---
drivers/base/power.c | 5 +++++
include/pm_domain.h | 6 ++++++
2 files changed, 11 insertions(+)
diff --git a/drivers/base/power.c b/drivers/base/power.c
index f7629f554a72..d60a00f5735e 100644
--- a/drivers/base/power.c
+++ b/drivers/base/power.c
@@ -349,6 +349,11 @@ void genpd_activate(void)
have_genpd_providers = true;
}
+bool genpd_is_active(void)
+{
+ return have_genpd_providers && !list_empty(&gpd_list);
+}
+
static struct bus_type genpd_bus_type = {
.name = "genpd",
};
diff --git a/include/pm_domain.h b/include/pm_domain.h
index 4b7b07b0e43d..3678deb9a76c 100644
--- a/include/pm_domain.h
+++ b/include/pm_domain.h
@@ -28,6 +28,7 @@ typedef struct generic_pm_domain *(*genpd_xlate_t)(struct of_phandle_args *args,
#ifdef CONFIG_PM_GENERIC_DOMAINS
void genpd_activate(void);
+bool genpd_is_active(void);
int genpd_dev_pm_attach(struct device *dev);
struct device *genpd_dev_pm_attach_by_id(struct device *dev,
@@ -63,6 +64,11 @@ static inline void genpd_activate(void)
{
}
+static inline bool genpd_is_active(void)
+{
+ return false;
+}
+
static inline int pm_genpd_init(struct generic_pm_domain *genpd,
void *gov, bool is_off)
{
--
2.39.5
More information about the barebox
mailing list