clk: xgene: Add missing parenthesis when clearing divider value

In the initial fix for non-zero divider shift value, the parenthesis
was missing after the negate operation. This patch adds the required
parenthesis. Otherwise, lower bits may be cleared unintentionally.

Signed-off-by: Loc Ho <lho@apm.com>
Acked-by: Toan Le <toanle@apm.com>
Fixes: 1382ea631d ("clk: xgene: Fix divider with non-zero shift value")
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
This commit is contained in:
Loc Ho 2016-02-29 14:15:43 -07:00 committed by Stephen Boyd
parent 0d9967fe4b
commit 0f4c7a138d

View file

@ -376,8 +376,8 @@ static int xgene_clk_set_rate(struct clk_hw *hw, unsigned long rate,
/* Set new divider */ /* Set new divider */
data = xgene_clk_read(pclk->param.divider_reg + data = xgene_clk_read(pclk->param.divider_reg +
pclk->param.reg_divider_offset); pclk->param.reg_divider_offset);
data &= ~((1 << pclk->param.reg_divider_width) - 1) data &= ~(((1 << pclk->param.reg_divider_width) - 1)
<< pclk->param.reg_divider_shift; << pclk->param.reg_divider_shift);
data |= divider; data |= divider;
xgene_clk_write(data, pclk->param.divider_reg + xgene_clk_write(data, pclk->param.divider_reg +
pclk->param.reg_divider_offset); pclk->param.reg_divider_offset);