summaryrefslogtreecommitdiffstats
path: root/drivers/clk/sunxi-ng/ccu_nk.c
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2017-03-24 16:33:05 +0800
committerMaxime Ripard <maxime.ripard@free-electrons.com>2017-04-13 14:09:25 +0200
commit4162c5ce52e593acd6b53efa09eb945650e2e729 (patch)
tree2b96a9ce5c2474281848c6b49696e60ec303d8dd /drivers/clk/sunxi-ng/ccu_nk.c
parent266061b7637b189ac82ee3a75116ff2dcb031e0b (diff)
downloadlinux-stable-4162c5ce52e593acd6b53efa09eb945650e2e729.tar.gz
linux-stable-4162c5ce52e593acd6b53efa09eb945650e2e729.tar.bz2
linux-stable-4162c5ce52e593acd6b53efa09eb945650e2e729.zip
clk: sunxi-ng: use 1 as fallback for minimum multiplier
A zero multiplier does not make sense for clocks. Use 1 as the minimum when a multiplier minimum isn't specified. Fixes: 2beaa601c849 ("clk: sunxi-ng: Implement minimum for multipliers") Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Diffstat (limited to 'drivers/clk/sunxi-ng/ccu_nk.c')
-rw-r--r--drivers/clk/sunxi-ng/ccu_nk.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/clk/sunxi-ng/ccu_nk.c b/drivers/clk/sunxi-ng/ccu_nk.c
index b9e9b8a9d1b4..2485bda87a9a 100644
--- a/drivers/clk/sunxi-ng/ccu_nk.c
+++ b/drivers/clk/sunxi-ng/ccu_nk.c
@@ -102,9 +102,9 @@ static long ccu_nk_round_rate(struct clk_hw *hw, unsigned long rate,
if (nk->common.features & CCU_FEATURE_FIXED_POSTDIV)
rate *= nk->fixed_post_div;
- _nk.min_n = nk->n.min;
+ _nk.min_n = nk->n.min ?: 1;
_nk.max_n = nk->n.max ?: 1 << nk->n.width;
- _nk.min_k = nk->k.min;
+ _nk.min_k = nk->k.min ?: 1;
_nk.max_k = nk->k.max ?: 1 << nk->k.width;
ccu_nk_find_best(*parent_rate, rate, &_nk);
@@ -127,9 +127,9 @@ static int ccu_nk_set_rate(struct clk_hw *hw, unsigned long rate,
if (nk->common.features & CCU_FEATURE_FIXED_POSTDIV)
rate = rate * nk->fixed_post_div;
- _nk.min_n = nk->n.min;
+ _nk.min_n = nk->n.min ?: 1;
_nk.max_n = nk->n.max ?: 1 << nk->n.width;
- _nk.min_k = nk->k.min;
+ _nk.min_k = nk->k.min ?: 1;
_nk.max_k = nk->k.max ?: 1 << nk->k.width;
ccu_nk_find_best(parent_rate, rate, &_nk);