summaryrefslogtreecommitdiff
path: root/common/rgb_keyboard.c
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2022-03-28 12:52:36 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-03-30 22:43:19 +0000
commit9c78cd31c0db7d9997646812f7cea663e3d9ca63 (patch)
tree43b974d16ca16c815dc8700cc195d906ea19106c /common/rgb_keyboard.c
parent057ac6a5794753a775e52f63c329ef7ecc3e088b (diff)
downloadchrome-ec-9c78cd31c0db7d9997646812f7cea663e3d9ca63.tar.gz
RGBKBD: Add EC_CMD_RGBKBD command
Host programs call EC_CMD_RGBKBD to set or get data, config, etc. of an RGB keyboard. This patch adds EC_RGBKBD_SUBCMD_CLEAR sub-command. localhost ~ # ectool --device 18d1:5022 rgbkbd clear 0xff0000 BUG=b:223465912 BRANCH=None TEST=Prism/Vell. See above. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: I20013a2b3c7b831ce0f8dcee5833c9c4017795da Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3558056 Reviewed-by: caveh jalali <caveh@chromium.org>
Diffstat (limited to 'common/rgb_keyboard.c')
-rw-r--r--common/rgb_keyboard.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/common/rgb_keyboard.c b/common/rgb_keyboard.c
index 2214c2218e..4edbcac3a8 100644
--- a/common/rgb_keyboard.c
+++ b/common/rgb_keyboard.c
@@ -289,6 +289,25 @@ static enum ec_status hc_rgbkbd_set_color(struct host_cmd_handler_args *args)
DECLARE_HOST_COMMAND(EC_CMD_RGBKBD_SET_COLOR, hc_rgbkbd_set_color,
EC_VER_MASK(0));
+static enum ec_status hc_rgbkbd(struct host_cmd_handler_args *args)
+{
+ const struct ec_params_rgbkbd *p = args->params;
+ enum ec_status rv = EC_RES_ERROR;
+
+ switch (p->subcmd) {
+ case EC_RGBKBD_SUBCMD_CLEAR:
+ rgbkbd_reset_color(p->color);
+ rv = EC_RES_SUCCESS;
+ break;
+ default:
+ rv = EC_RES_INVALID_PARAM;
+ break;
+ }
+
+ return rv;
+}
+DECLARE_HOST_COMMAND(EC_CMD_RGBKBD, hc_rgbkbd, EC_VER_MASK(0));
+
test_export_static int cc_rgbk(int argc, char **argv)
{
struct rgbkbd *ctx;