[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220131175546.GO1951@kadam>
Date: Mon, 31 Jan 2022 20:55:46 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: Muhammad Usama Anjum <usama.anjum@...labora.com>
Cc: Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@...hiba.co.jp>,
kernel@...labora.com, kernel-janitors@...r.kernel.org,
linux-clk@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] clk: visconti: Remove dead code
On Fri, Jan 28, 2022 at 09:35:27PM +0500, Muhammad Usama Anjum wrote:
> rs_id is of unsigned type, u8. The condition rs_id >= 0 will always be
> true. Remove the if-else condition and the dead code.
>
No, this isn't the right fix.
> Signed-off-by: Muhammad Usama Anjum <usama.anjum@...labora.com>
> ---
> drivers/clk/visconti/clkc.c | 10 +++-------
> 1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/clk/visconti/clkc.c b/drivers/clk/visconti/clkc.c
> index 56a8a4ffebca8..5ccf771d05985 100644
> --- a/drivers/clk/visconti/clkc.c
> +++ b/drivers/clk/visconti/clkc.c
> @@ -147,13 +147,9 @@ int visconti_clk_register_gates(struct visconti_clk_provider *ctx,
> if (!dev_name)
> return -ENOMEM;
>
> - if (clks[i].rs_id >= 0) {
> - rson_offset = reset[clks[i].rs_id].rson_offset;
> - rsoff_offset = reset[clks[i].rs_id].rsoff_offset;
> - rs_idx = reset[clks[i].rs_id].rs_idx;
> - } else {
> - rson_offset = rsoff_offset = rs_idx = -1;
> - }
> + rson_offset = reset[clks[i].rs_id].rson_offset;
> + rsoff_offset = reset[clks[i].rs_id].rsoff_offset;
> + rs_idx = reset[clks[i].rs_id].rs_idx;
With Smatch you can type:
$ smdb.py where visconti_clk_gate_table rs_id
drivers/clk/visconti/clkc-tmpv770x.c | (null) | (struct visconti_clk_gate_table)->rs_id | 0-31,255
That tells you it is assigned 255 as a global in drivers/clk/visconti/clkc-tmpv770x.c
It takes some digging to find that assignment...
drivers/clk/visconti/clkc-tmpv770x.c
175 /* PISYSTEM */
176 { TMPV770X_CLK_WRCK, "wrck",
177 clks_parent_data, ARRAY_SIZE(clks_parent_data),
178 0, 0x68, 0x168, 9, 32,
179 -1, }, /* No reset */
^^
Really, that -1 there should generate a static checker warning but it
doesn't on Smatch... :/
But the probably the correct fix is to make rs_id and related variables
and int instead of a u8. I saw this bug but just reported it instead of
fixing it.
regards,
dan carpenter
Powered by blists - more mailing lists