diff options
Diffstat (limited to 'drivers/power/bq27x00_battery.c')
-rw-r--r-- | drivers/power/bq27x00_battery.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/power/bq27x00_battery.c b/drivers/power/bq27x00_battery.c index 5860d4dfbe9c..41b3328ecfc5 100644 --- a/drivers/power/bq27x00_battery.c +++ b/drivers/power/bq27x00_battery.c | |||
@@ -230,6 +230,14 @@ static int bq27x00_battery_read_charge(struct bq27x00_device_info *di, u8 reg) | |||
230 | */ | 230 | */ |
231 | static inline int bq27x00_battery_read_nac(struct bq27x00_device_info *di) | 231 | static inline int bq27x00_battery_read_nac(struct bq27x00_device_info *di) |
232 | { | 232 | { |
233 | int flags; | ||
234 | bool is_bq27500 = di->chip == BQ27500; | ||
235 | bool is_higher = bq27xxx_is_chip_version_higher(di); | ||
236 | |||
237 | flags = bq27x00_read(di, BQ27x00_REG_FLAGS, !is_bq27500); | ||
238 | if (flags >= 0 && !is_higher && (flags & BQ27000_FLAG_CI)) | ||
239 | return -ENODATA; | ||
240 | |||
233 | return bq27x00_battery_read_charge(di, BQ27x00_REG_NAC); | 241 | return bq27x00_battery_read_charge(di, BQ27x00_REG_NAC); |
234 | } | 242 | } |
235 | 243 | ||