diff options
Diffstat (limited to 'board/kevin/battery.c')
-rw-r--r-- | board/kevin/battery.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/board/kevin/battery.c b/board/kevin/battery.c index c1b2e09c67..50df1d0258 100644 --- a/board/kevin/battery.c +++ b/board/kevin/battery.c @@ -80,15 +80,12 @@ enum battery_disconnect_state battery_get_disconnect_state(void) if (extpower_is_present()) { /* Check if battery charging + discharging is disabled. */ - rv = sb_write(SB_MANUFACTURER_ACCESS, PARAM_OPERATION_STATUS); + rv = sb_read_mfgacc(PARAM_OPERATION_STATUS, + SB_ALT_MANUFACTURER_ACCESS, data, sizeof(data)); if (rv) return BATTERY_DISCONNECT_ERROR; - - rv = sb_read_string(I2C_PORT_BATTERY, BATTERY_ADDR, - SB_ALT_MANUFACTURER_ACCESS, data, 6); - - if (rv || (~data[3] & (BATTERY_DISCHARGING_DISABLED | - BATTERY_CHARGING_DISABLED))) { + if (~data[3] & (BATTERY_DISCHARGING_DISABLED | + BATTERY_CHARGING_DISABLED)) { not_disconnected = 1; return BATTERY_NOT_DISCONNECTED; } @@ -97,13 +94,8 @@ enum battery_disconnect_state battery_get_disconnect_state(void) * Battery is neither charging nor discharging. Verify that * we didn't enter this state due to a safety fault. */ - rv = sb_write(SB_MANUFACTURER_ACCESS, PARAM_SAFETY_STATUS); - if (rv) - return BATTERY_DISCONNECT_ERROR; - - rv = sb_read_string(I2C_PORT_BATTERY, BATTERY_ADDR, - SB_ALT_MANUFACTURER_ACCESS, data, 6); - + rv = sb_read_mfgacc(PARAM_SAFETY_STATUS, + SB_ALT_MANUFACTURER_ACCESS, data, sizeof(data)); if (rv || data[2] || data[3] || data[4] || data[5]) return BATTERY_DISCONNECT_ERROR; |