Message ID | 20220128163527.1587325-1-usama.anjum@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | clk: visconti: Remove dead code | expand |
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@collabora.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
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; div_clk = devm_clk_hw_register_fixed_factor(dev, dev_name,
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. Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com> --- drivers/clk/visconti/clkc.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)