diff options
author | Nathan Chancellor <natechancellor@gmail.com> | 2019-10-22 12:50:54 -0400 |
---|---|---|
committer | Maxime Ripard <mripard@kernel.org> | 2019-10-29 03:42:31 -0400 |
commit | afdc74ed2d57e86c10b1d6831339770a802bab9a (patch) | |
tree | 22ac3c1d26e94bad993f41229531926f81048daf | |
parent | 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c (diff) |
clk: sunxi: Fix operator precedence in sunxi_divs_clk_setup
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>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
-rw-r--r-- | drivers/clk/sunxi/clk-sunxi.c | 4 |
1 files changed, 2 insertions, 2 deletions
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, | |||
1080 | rate_hw, rate_ops, | 1080 | rate_hw, rate_ops, |
1081 | gate_hw, &clk_gate_ops, | 1081 | gate_hw, &clk_gate_ops, |
1082 | clkflags | | 1082 | clkflags | |
1083 | data->div[i].critical ? | 1083 | (data->div[i].critical ? |
1084 | CLK_IS_CRITICAL : 0); | 1084 | CLK_IS_CRITICAL : 0)); |
1085 | 1085 | ||
1086 | WARN_ON(IS_ERR(clk_data->clks[i])); | 1086 | WARN_ON(IS_ERR(clk_data->clks[i])); |
1087 | } | 1087 | } |