diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c index e6de2c9810..5fe90c8e39 100644 --- a/src/ec/google/chromeec/ec.c +++ b/src/ec/google/chromeec/ec.c @@ -1982,6 +1982,31 @@ int google_chromeec_set_lightbar_rgb(unsigned int led, int red, int green, return google_chromeec_command(&cmd); } +/* + * Sends a command to turn off the Chrome EC lightbar. + * + * This function packages a LIGHTBAR_CMD_OFF sub-command into a standard + * EC_CMD_LIGHTBAR_CMD packet. + * + * @return 0 on success, non-zero error code from the EC transport on failure. + */ +int google_chromeec_lightbar_off(void) +{ + const struct ec_params_lightbar req = { + .cmd = LIGHTBAR_CMD_OFF, + }; + + struct chromeec_command cmd = { + .cmd_code = EC_CMD_LIGHTBAR_CMD, + .cmd_size_out = 0, + .cmd_data_out = NULL, + .cmd_size_in = sizeof(req), + .cmd_data_in = &req, + }; + + return google_chromeec_command(&cmd); +} + /* * Check if the battery is critically low and not currently charging. * diff --git a/src/ec/google/chromeec/ec.h b/src/ec/google/chromeec/ec.h index 075694bd4a..79aa69bcf8 100644 --- a/src/ec/google/chromeec/ec.h +++ b/src/ec/google/chromeec/ec.h @@ -562,6 +562,16 @@ int google_chromeec_read_batt_state_of_charge(uint32_t *state); int google_chromeec_set_lightbar_rgb(unsigned int led, int red, int green, int blue); +/* + * Sends a command to turn off the Chrome EC lightbar. + * + * This function packages a LIGHTBAR_CMD_OFF sub-command into a standard + * EC_CMD_LIGHTBAR_CMD packet. + * + * @return 0 on success, non-zero error code from the EC transport on failure. + */ +int google_chromeec_lightbar_off(void); + /* * Check if the battery is critically low and AC is not present. *