Commit 29b1a92e authored by Viresh Kumar's avatar Viresh Kumar
Browse files

OPP: Handle all genpd cases together in _set_required_opps()



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: default avatarViresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent e9eadc28
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -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.