summaryrefslogtreecommitdiff
path: root/drivers/clk/sprd
diff options
context:
space:
mode:
authorChunyan Zhang <chunyan.zhang@unisoc.com>2020-05-19 11:00:36 +0800
committerStephen Boyd <sboyd@kernel.org>2020-05-26 20:14:56 -0700
commitc2f30986d418f26abefc2eec90ebf06716c970d2 (patch)
tree01913a1efc39fa3fc2a5a0864d063e2c87242ee5 /drivers/clk/sprd
parent3aff9b5492475621e13ca83bdbf3dc8b823fc5a3 (diff)
downloadlwn-c2f30986d418f26abefc2eec90ebf06716c970d2.tar.gz
lwn-c2f30986d418f26abefc2eec90ebf06716c970d2.zip
clk: sprd: return correct type of value for _sprd_pll_recalc_rate
The function _sprd_pll_recalc_rate() defines return value to unsigned long, but it would return a negative value when malloc fail, changing to return its parent_rate makes more sense, since if the callback .recalc_rate() is not set, the framework returns the parent_rate as well. Fixes: 3e37b005580b ("clk: sprd: add adjustable pll support") Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com> Link: https://lkml.kernel.org/r/20200519030036.1785-2-zhang.lyra@gmail.com Reviewed-by: Baolin Wang <baolin.wang7@gmail.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'drivers/clk/sprd')
-rw-r--r--drivers/clk/sprd/pll.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/clk/sprd/pll.c b/drivers/clk/sprd/pll.c
index 15791484388f..13a322b2535a 100644
--- a/drivers/clk/sprd/pll.c
+++ b/drivers/clk/sprd/pll.c
@@ -106,7 +106,7 @@ static unsigned long _sprd_pll_recalc_rate(const struct sprd_pll *pll,
cfg = kcalloc(regs_num, sizeof(*cfg), GFP_KERNEL);
if (!cfg)
- return -ENOMEM;
+ return parent_rate;
for (i = 0; i < regs_num; i++)
cfg[i] = sprd_pll_read(pll, i);