summaryrefslogtreecommitdiff
path: root/board/kevin/battery.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/kevin/battery.c')
-rw-r--r--board/kevin/battery.c20
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;