mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 06:02:05 +00:00
opp: No need to check clk for errors
Clock is not optional for users who call into dev_pm_opp_set_rate(). Remove the unnecessary checks. While at it also drop the local variable for clk and use opp_table->clk instead. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Tested-by: Dmitry Osipenko <digetx@gmail.com>
This commit is contained in:
parent
5ad58bbacf
commit
1d3c42cabb
@ -994,7 +994,6 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
|
||||
struct opp_table *opp_table;
|
||||
unsigned long freq, old_freq, temp_freq;
|
||||
struct dev_pm_opp *old_opp, *opp;
|
||||
struct clk *clk;
|
||||
int ret;
|
||||
|
||||
opp_table = _find_opp_table(dev);
|
||||
@ -1008,19 +1007,11 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
|
||||
goto put_opp_table;
|
||||
}
|
||||
|
||||
clk = opp_table->clk;
|
||||
if (IS_ERR(clk)) {
|
||||
dev_err(dev, "%s: No clock available for the device\n",
|
||||
__func__);
|
||||
ret = PTR_ERR(clk);
|
||||
goto put_opp_table;
|
||||
}
|
||||
|
||||
freq = clk_round_rate(clk, target_freq);
|
||||
freq = clk_round_rate(opp_table->clk, target_freq);
|
||||
if ((long)freq <= 0)
|
||||
freq = target_freq;
|
||||
|
||||
old_freq = clk_get_rate(clk);
|
||||
old_freq = clk_get_rate(opp_table->clk);
|
||||
|
||||
/* Return early if nothing to do */
|
||||
if (opp_table->enabled && old_freq == freq) {
|
||||
@ -1038,7 +1029,7 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
|
||||
* equivalent to a clk_set_rate()
|
||||
*/
|
||||
if (!_get_opp_count(opp_table)) {
|
||||
ret = _generic_set_opp_clk_only(dev, clk, freq);
|
||||
ret = _generic_set_opp_clk_only(dev, opp_table->clk, freq);
|
||||
goto put_opp_table;
|
||||
}
|
||||
|
||||
@ -1078,7 +1069,7 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
|
||||
opp->supplies);
|
||||
} else {
|
||||
/* Only frequency scaling */
|
||||
ret = _generic_set_opp_clk_only(dev, clk, freq);
|
||||
ret = _generic_set_opp_clk_only(dev, opp_table->clk, freq);
|
||||
}
|
||||
|
||||
/* Scaling down? Configure required OPPs after frequency */
|
||||
|
Loading…
Reference in New Issue
Block a user