On Thu, 17 Dec 2020 at 19:07, Dmitry Osipenko <digetx@xxxxxxxxx> 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@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> 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 >