From: Axel Lin Date: Mon, 31 Oct 2011 06:23:03 +0000 (+0800) Subject: mfd: Set da903x bits if new value is different from the old one X-Git-Tag: upstream/snapshot3+hdmi~8519^2~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=af65e6cef488be0bd15932c8ce9801a47a183051;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git mfd: Set da903x bits if new value is different from the old one It does not make sense to write new value only when all the bit_mask bits are zero. We need to write new value if the bit mask fields of new value is not equal to old value. Signed-off-by: Axel Lin Signed-off-by: Samuel Ortiz --- diff --git a/drivers/mfd/da903x.c b/drivers/mfd/da903x.c index 62ce685..1924b85 100644 --- a/drivers/mfd/da903x.c +++ b/drivers/mfd/da903x.c @@ -182,7 +182,7 @@ int da903x_set_bits(struct device *dev, int reg, uint8_t bit_mask) if (ret) goto out; - if ((reg_val & bit_mask) == 0) { + if ((reg_val & bit_mask) != bit_mask) { reg_val |= bit_mask; ret = __da903x_write(chip->client, reg, reg_val); }