Re: [PATCH] clk: mediatek: fixed static checker warning in clk_cpumux_get_parent call

From: Stephen Boyd
Date: Wed Jul 12 2017 - 19:17:34 EST


On 07/11, sean.wang@xxxxxxxxxxxx wrote:
> diff --git a/drivers/clk/mediatek/clk-cpumux.c b/drivers/clk/mediatek/clk-cpumux.c
> index edd8e69..c6a3a1a 100644
> --- a/drivers/clk/mediatek/clk-cpumux.c
> +++ b/drivers/clk/mediatek/clk-cpumux.c
> @@ -27,7 +27,6 @@ static inline struct mtk_clk_cpumux *to_mtk_clk_cpumux(struct clk_hw *_hw)
> static u8 clk_cpumux_get_parent(struct clk_hw *hw)
> {
> struct mtk_clk_cpumux *mux = to_mtk_clk_cpumux(hw);
> - int num_parents = clk_hw_get_num_parents(hw);
> unsigned int val;
>
> regmap_read(mux->regmap, mux->reg, &val);
> @@ -35,17 +34,18 @@ static u8 clk_cpumux_get_parent(struct clk_hw *hw)
> val >>= mux->shift;
> val &= mux->mask;
>
> - if (val >= num_parents)
> - return -EINVAL;
> -

Yeah we really need to fix the get_parent() op to return a
clk_hw pointer instead. Time for another migration plan...

> return val;
> }
>
> static int clk_cpumux_set_parent(struct clk_hw *hw, u8 index)
> {
> struct mtk_clk_cpumux *mux = to_mtk_clk_cpumux(hw);
> + int num_parents = clk_hw_get_num_parents(hw);
> u32 mask, val;
>
> + if (index >= num_parents)
> + return -EINVAL;

When would we call this function with an invalid index? The
framework should be making sure to only call it with an index
that's valid. So perhaps this hunk can be left out?


--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project