opp: Allow _generic_set_opp_clk_only() to work for non-freq devices
authorViresh Kumar <viresh.kumar@linaro.org>
Thu, 21 Jan 2021 07:08:13 +0000 (12:38 +0530)
committerViresh Kumar <viresh.kumar@linaro.org>
Tue, 2 Feb 2021 04:58:01 +0000 (10:28 +0530)
In order to avoid conditional statements at the caller site, this patch
updates _generic_set_opp_clk_only() to work for devices that don't
change frequency (like power domains, etc.). Return 0 if the clk pointer
passed to this routine is not valid.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Tested-by: Dmitry Osipenko <digetx@gmail.com>
drivers/opp/core.c

index c078c7d..f21ce52 100644 (file)
@@ -726,6 +726,10 @@ static inline int _generic_set_opp_clk_only(struct device *dev, struct clk *clk,
 {
        int ret;
 
+       /* We may reach here for devices which don't change frequency */
+       if (IS_ERR(clk))
+               return 0;
+
        ret = clk_set_rate(clk, freq);
        if (ret) {
                dev_err(dev, "%s: failed to set clock rate: %d\n", __func__,