Message ID | 8f9fba47f91ef04fa2cf0c3adba9299a23d5280a.1677063656.git.viresh.kumar@linaro.org |
---|---|
State | Accepted |
Commit | 29b1a92e5e953214388ac1f3656cb3af266ca74f |
Headers | show |
Series | OPP: Simplify set_required_opp handling | expand |
On Wed, 22 Feb 2023 at 12:07, Viresh Kumar <viresh.kumar@linaro.org> wrote: > > There is no real need of keeping separate code for single genpd case, it > can be made to work with a simple change. > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Kind regards Uffe > --- > drivers/opp/core.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > > diff --git a/drivers/opp/core.c b/drivers/opp/core.c > index e87567dbe99f..6d7016ce8c53 100644 > --- a/drivers/opp/core.c > +++ b/drivers/opp/core.c > @@ -959,7 +959,8 @@ static int _set_required_opps(struct device *dev, > struct dev_pm_opp *opp, bool up) > { > struct opp_table **required_opp_tables = opp_table->required_opp_tables; > - struct device **genpd_virt_devs = opp_table->genpd_virt_devs; > + struct device **genpd_virt_devs = > + opp_table->genpd_virt_devs ? opp_table->genpd_virt_devs : &dev; > int i, ret = 0; > > if (!required_opp_tables) > @@ -979,12 +980,6 @@ static int _set_required_opps(struct device *dev, > return -ENOENT; > } > > - /* Single genpd case */ > - if (!genpd_virt_devs) > - return _set_required_opp(dev, dev, opp, 0); > - > - /* Multiple genpd case */ > - > /* > * Acquire genpd_virt_dev_lock to make sure we don't use a genpd_dev > * after it is freed from another thread. > -- > 2.31.1.272.g89b43f80a514 >
diff --git a/drivers/opp/core.c b/drivers/opp/core.c index e87567dbe99f..6d7016ce8c53 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -959,7 +959,8 @@ static int _set_required_opps(struct device *dev, struct dev_pm_opp *opp, bool up) { struct opp_table **required_opp_tables = opp_table->required_opp_tables; - struct device **genpd_virt_devs = opp_table->genpd_virt_devs; + struct device **genpd_virt_devs = + opp_table->genpd_virt_devs ? opp_table->genpd_virt_devs : &dev; int i, ret = 0; if (!required_opp_tables) @@ -979,12 +980,6 @@ static int _set_required_opps(struct device *dev, return -ENOENT; } - /* Single genpd case */ - if (!genpd_virt_devs) - return _set_required_opp(dev, dev, opp, 0); - - /* Multiple genpd case */ - /* * Acquire genpd_virt_dev_lock to make sure we don't use a genpd_dev * after it is freed from another thread.
There is no real need of keeping separate code for single genpd case, it can be made to work with a simple change. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> --- drivers/opp/core.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)