switch (psp) {
case POWER_SUPPLY_PROP_STATUS:
- if (lp8727_is_charger_attached(psy->name, pchg->devid)) {
- lp8727_read_byte(pchg, LP8727_STATUS1, &read);
+ if (!lp8727_is_charger_attached(psy->name, pchg->devid)) {
+ val->intval = POWER_SUPPLY_STATUS_DISCHARGING;
+ return 0;
+ }
+
+ lp8727_read_byte(pchg, LP8727_STATUS1, &read);
- val->intval = (read & LP8727_CHGSTAT) == LP8727_STAT_EOC ?
+ val->intval = (read & LP8727_CHGSTAT) == LP8727_STAT_EOC ?
POWER_SUPPLY_STATUS_FULL :
POWER_SUPPLY_STATUS_CHARGING;
- } else {
- val->intval = POWER_SUPPLY_STATUS_DISCHARGING;
- }
break;
case POWER_SUPPLY_PROP_HEALTH:
lp8727_read_byte(pchg, LP8727_STATUS2, &read);