Message ID | 20201217180638.22748-21-digetx@gmail.com |
---|---|
State | Rejected |
Headers | show |
Series | [v2,01/48] dt-bindings: memory: tegra20: emc: Replace core regulator with power domain | expand |
On Thu, 17 Dec 2020 at 19:07, Dmitry Osipenko <digetx@gmail.com> wrote: > > 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. > > Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> This should be ready to be picked up, but maybe it's easier if you could send this to the linux-pm mailing list separately. Then Rafael can pick it up. Kind regards Uffe > --- > 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; > + } > > 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; > -- > 2.29.2 >
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; + } 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;
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. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> --- drivers/base/power/domain.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)