This patch updates the round_rate() logic here to return zero instead of a
negative number on error.

In conjunction with higher-level changes associated with acting on the
return value of clk_ops->round_rate() it is then possible to have
clk_ops->round_rate() return values from 1 Hz to ULONG_MAX Hz instead of
the current limitation of 1 Hz to LONG_MAX Hz.

Signed-off-by: Bryan O'Donoghue <pure.lo...@nexus-software.ie>
Cc: Peter De Schrijver <pdeschrij...@nvidia.com>
Cc: Prashant Gaikwad <pgaik...@nvidia.com>
Cc: Michael Turquette <mturque...@baylibre.com>
Cc: Stephen Boyd <sb...@codeaurora.org>
Cc: Thierry Reding <thierry.red...@gmail.com>
Cc: Jonathan Hunter <jonath...@nvidia.com>
Cc: linux-...@vger.kernel.org
Cc: linux-te...@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Rhyland Klein <rkl...@nvidia.com>
Cc: Bill Huang <bilhu...@nvidia.com>
---
 drivers/clk/tegra/clk-pll.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/tegra/clk-pll.c b/drivers/clk/tegra/clk-pll.c
index b4a7d30..0a3edb0 100644
--- a/drivers/clk/tegra/clk-pll.c
+++ b/drivers/clk/tegra/clk-pll.c
@@ -839,7 +839,7 @@ static unsigned long clk_pll_round_rate(struct clk_hw *hw, 
unsigned long rate,
 
        if (_get_table_rate(hw, &cfg, rate, *prate) &&
            pll->params->calc_rate(hw, &cfg, rate, *prate))
-               return -EINVAL;
+               return 0;
 
        return cfg.output_rate;
 }
-- 
2.7.4

Reply via email to