Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Chunyan Zhang and committed by
Stephen Boyd
c2f30986 3aff9b54

+1 -1
+1 -1
drivers/clk/sprd/pll.c
··· 106 106 107 107 cfg = kcalloc(regs_num, sizeof(*cfg), GFP_KERNEL); 108 108 if (!cfg) 109 - return -ENOMEM; 109 + return parent_rate; 110 110 111 111 for (i = 0; i < regs_num; i++) 112 112 cfg[i] = sprd_pll_read(pll, i);