Message ID | 20191022165054.48302-1-natechancellor@gmail.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | afdc74ed2d57e86c10b1d6831339770a802bab9a |
Headers | show |
Series | clk: sunxi: Fix operator precedence in sunxi_divs_clk_setup | expand |
On Tue, Oct 22, 2019 at 09:50:54AM -0700, Nathan Chancellor wrote: > r375326 in Clang exposes an issue with operator precedence in > sunxi_div_clk_setup: > > drivers/clk/sunxi/clk-sunxi.c:1083:30: warning: operator '?:' has lower > precedence than '|'; '|' will be evaluated first > [-Wbitwise-conditional-parentheses] > data->div[i].critical ? > ~~~~~~~~~~~~~~~~~~~~~ ^ > drivers/clk/sunxi/clk-sunxi.c:1083:30: note: place parentheses around > the '|' expression to silence this warning > data->div[i].critical ? > ^ > ) > drivers/clk/sunxi/clk-sunxi.c:1083:30: note: place parentheses around > the '?:' expression to evaluate it first > data->div[i].critical ? > ^ > ( > 1 warning generated. > > It appears that the intention was for ?: to be evaluated first so that > CLK_IS_CRITICAL could be added to clkflags if the critical boolean was > set; right now, | is being evaluated first. Add parentheses around the > ?: block to have it be evaluated first. > > Fixes: 9919d44ff297 ("clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks") > Link: https://github.com/ClangBuiltLinux/linux/issues/745 > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Applied, thanks! Maxime
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c index d3a43381a792..27201fd26e44 100644 --- a/drivers/clk/sunxi/clk-sunxi.c +++ b/drivers/clk/sunxi/clk-sunxi.c @@ -1080,8 +1080,8 @@ static struct clk ** __init sunxi_divs_clk_setup(struct device_node *node, rate_hw, rate_ops, gate_hw, &clk_gate_ops, clkflags | - data->div[i].critical ? - CLK_IS_CRITICAL : 0); + (data->div[i].critical ? + CLK_IS_CRITICAL : 0)); WARN_ON(IS_ERR(clk_data->clks[i])); }
r375326 in Clang exposes an issue with operator precedence in sunxi_div_clk_setup: drivers/clk/sunxi/clk-sunxi.c:1083:30: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses] data->div[i].critical ? ~~~~~~~~~~~~~~~~~~~~~ ^ drivers/clk/sunxi/clk-sunxi.c:1083:30: note: place parentheses around the '|' expression to silence this warning data->div[i].critical ? ^ ) drivers/clk/sunxi/clk-sunxi.c:1083:30: note: place parentheses around the '?:' expression to evaluate it first data->div[i].critical ? ^ ( 1 warning generated. It appears that the intention was for ?: to be evaluated first so that CLK_IS_CRITICAL could be added to clkflags if the critical boolean was set; right now, | is being evaluated first. Add parentheses around the ?: block to have it be evaluated first. Fixes: 9919d44ff297 ("clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks") Link: https://github.com/ClangBuiltLinux/linux/issues/745 Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- drivers/clk/sunxi/clk-sunxi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)