diff options
Diffstat (limited to 'common/battery_v2.c')
-rw-r--r-- | common/battery_v2.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/common/battery_v2.c b/common/battery_v2.c index 57ae07196b..9096cbb72c 100644 --- a/common/battery_v2.c +++ b/common/battery_v2.c @@ -129,6 +129,20 @@ host_command_battery_get_static(struct host_cmd_handler_args *args) r->type_ext[sizeof(r->type_ext) - 1] = 0; args->response_size = sizeof(*r); + } else if (args->version == 2) { + struct ec_response_battery_static_info_v2 *r = args->response; + + r->design_capacity = bs->design_capacity; + r->design_voltage = bs->design_voltage; + r->cycle_count = bs->cycle_count; + + strzcpy(r->manufacturer, bs->manufacturer_ext, + sizeof(r->manufacturer)); + strzcpy(r->device_name, bs->model_ext, sizeof(r->device_name)); + strzcpy(r->serial, bs->serial_ext, sizeof(r->serial)); + strzcpy(r->chemistry, bs->type_ext, sizeof(r->chemistry)); + + args->response_size = sizeof(*r); } else { return EC_RES_INVALID_VERSION; } @@ -136,7 +150,7 @@ host_command_battery_get_static(struct host_cmd_handler_args *args) return EC_RES_SUCCESS; } DECLARE_HOST_COMMAND(EC_CMD_BATTERY_GET_STATIC, host_command_battery_get_static, - EC_VER_MASK(0) | EC_VER_MASK(1)); + EC_VER_MASK(0) | EC_VER_MASK(1) | EC_VER_MASK(2)); static enum ec_status host_command_battery_get_dynamic(struct host_cmd_handler_args *args) |