diff options
author | Axel Lin <axel.lin@gmail.com> | 2012-01-21 02:34:05 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-23 20:38:48 +0400 |
commit | 36c3e75907c8cb515fad260190ca1beb7e53df96 (patch) | |
tree | 101610ceccbcd0956f7b7d1799af1e357d81ed79 /drivers/video/backlight/adp8870_bl.c | |
parent | d496aab567e7e52b3e974c9192a5de6e77dce32c (diff) | |
download | linux-36c3e75907c8cb515fad260190ca1beb7e53df96.tar.xz |
drivers/video/backlight/adp88x0_bl.c: fix bit testing logic
We need to write new value if the bit mask fields of new value is not
equal to old value. It does not make sense to write new value only when
all the bit_mask bits are zero.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Cc: Michael Hennerich <michael.hennerich@analog.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/backlight/adp8870_bl.c')
-rw-r--r-- | drivers/video/backlight/adp8870_bl.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/video/backlight/adp8870_bl.c b/drivers/video/backlight/adp8870_bl.c index 6c68a6899e87..6735059376d6 100644 --- a/drivers/video/backlight/adp8870_bl.c +++ b/drivers/video/backlight/adp8870_bl.c @@ -160,7 +160,7 @@ static int adp8870_set_bits(struct i2c_client *client, int reg, uint8_t bit_mask ret = adp8870_read(client, reg, ®_val); - if (!ret && ((reg_val & bit_mask) == 0)) { + if (!ret && ((reg_val & bit_mask) != bit_mask)) { reg_val |= bit_mask; ret = adp8870_write(client, reg, reg_val); } |