Re: [PATCH v3 1/3] PM: domains: Make set_performance_state() callback optional
From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2021-01-18 07:30:00
Also in:
linux-tegra, lkml
On 18-01-21, 04:13, Dmitry Osipenko wrote:
quoted hunk ↗ jump to hunk
Make set_performance_state() callback optional in order to remove the need from power domain drivers to implement a dummy callback. If callback isn't implemented by a GENPD driver, then the performance state is passed to the parent domain. Tested-by: Peter Geis <redacted> Tested-by: Nicolas Chauvet <redacted> Tested-by: Matt Merhar <redacted> Suggested-by: Ulf Hansson <redacted> Reviewed-by: Ulf Hansson <redacted> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> --- drivers/base/power/domain.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index 9a14eedacb92..a3e1bfc233d4 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c@@ -339,9 +339,11 @@ static int _genpd_set_performance_state(struct generic_pm_domain *genpd, goto err; } - ret = genpd->set_performance_state(genpd, state); - if (ret) - goto err; + if (genpd->set_performance_state) { + ret = genpd->set_performance_state(genpd, state); + if (ret) + goto err; + }
Earlier in this routine we also have this:
if (!parent->set_performance_state)
continue;
Should we change that too ?
quoted hunk ↗ jump to hunk
genpd->performance_state = state; return 0;@@ -399,9 +401,6 @@ int dev_pm_genpd_set_performance_state(struct device *dev, unsigned int state) if (!genpd) return -ENODEV; - if (unlikely(!genpd->set_performance_state)) - return -EINVAL; - if (WARN_ON(!dev->power.subsys_data || !dev->power.subsys_data->domain_data)) return -EINVAL;
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> -- viresh