summaryrefslogtreecommitdiff
path: root/common/rgb_keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/rgb_keyboard.c')
-rw-r--r--common/rgb_keyboard.c57
1 files changed, 30 insertions, 27 deletions
diff --git a/common/rgb_keyboard.c b/common/rgb_keyboard.c
index 815e4a3435..5b5b6c6cf3 100644
--- a/common/rgb_keyboard.c
+++ b/common/rgb_keyboard.c
@@ -1,4 +1,4 @@
-/* Copyright 2022 The Chromium OS Authors. All rights reserved.
+/* Copyright 2022 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -24,7 +24,7 @@
#define CPRINTS(fmt, args...) cprints(CC_RGBKBD, "RGBKBD: " fmt, ##args)
test_export_static enum ec_rgbkbd_demo demo =
-#if defined(CONFIG_RGBKBD_DEMO_FLOW)
+#if defined(CONFIG_RGBKBD_DEMO_FLOW)
EC_RGBKBD_DEMO_FLOW;
#elif defined(CONFIG_RGBKBD_DEMO_DOT)
EC_RGBKBD_DEMO_DOT;
@@ -35,15 +35,14 @@ test_export_static enum ec_rgbkbd_demo demo =
const int default_demo_interval_ms = 250;
test_export_static int demo_interval_ms = -1;
-test_export_static
-uint8_t rgbkbd_table[EC_RGBKBD_MAX_KEY_COUNT];
+test_export_static uint8_t rgbkbd_table[EC_RGBKBD_MAX_KEY_COUNT];
static enum rgbkbd_state rgbkbd_state;
const struct rgbkbd_init rgbkbd_init_default = {
.gcc = RGBKBD_MAX_GCC_LEVEL / 2,
.scale = { RGBKBD_MAX_SCALE, RGBKBD_MAX_SCALE, RGBKBD_MAX_SCALE },
- .color = { .r = 0xff, .g = 0xff, .b = 0xff }, /* white */
+ .color = { .r = 0xff, .g = 0xff, .b = 0xff }, /* white */
};
const struct rgbkbd_init *rgbkbd_init_setting = &rgbkbd_init_default;
@@ -88,8 +87,8 @@ static int set_color_single(struct rgb_s color, int x, int y)
rv = ctx->cfg->drv->set_color(ctx, offset, &ctx->buf[offset], 1);
CPRINTS("%set (%d,%d) to color=(%d,%d,%d) grid=%u offset=%u (%d)",
- rv ? "Failed to s" : "S",
- x, y, color.r, color.g, color.b, grid, offset, rv);
+ rv ? "Failed to s" : "S", x, y, color.r, color.g, color.b, grid,
+ offset, rv);
return rv;
}
@@ -214,14 +213,13 @@ static void rgbkbd_demo_run(enum ec_rgbkbd_demo id)
}
}
-test_export_static
-void rgbkbd_init_lookup_table(void)
+test_export_static void rgbkbd_init_lookup_table(void)
{
bool add = true;
int i, k = 0;
if (rgbkbd_map[0] != RGBKBD_DELM ||
- rgbkbd_map[rgbkbd_map_size - 1] != RGBKBD_DELM) {
+ rgbkbd_map[rgbkbd_map_size - 1] != RGBKBD_DELM) {
CPRINTS("Invalid Key-LED map");
return;
}
@@ -267,8 +265,8 @@ static int rgbkbd_set_global_brightness(uint8_t gcc)
e = ctx->cfg->drv->set_gcc(ctx, gcc);
if (e) {
- CPRINTS("Failed to set GCC to %u for grid=%d (%d)",
- gcc, grid, e);
+ CPRINTS("Failed to set GCC to %u for grid=%d (%d)", gcc,
+ grid, e);
rv = e;
continue;
}
@@ -356,8 +354,8 @@ static int rgbkbd_init(void)
e = ctx->cfg->drv->set_gcc(ctx, gcc);
if (e) {
- CPRINTS("Failed to set GCC to %u for grid=%d (%d)",
- gcc, i, e);
+ CPRINTS("Failed to set GCC to %u for grid=%d (%d)", gcc,
+ i, e);
rv = e;
continue;
}
@@ -423,8 +421,8 @@ static int rgbkbd_enable(int enable)
}
if (rv == EC_SUCCESS) {
- rgbkbd_state = enable ?
- RGBKBD_STATE_ENABLED : RGBKBD_STATE_DISABLED;
+ rgbkbd_state = enable ? RGBKBD_STATE_ENABLED :
+ RGBKBD_STATE_DISABLED;
}
/* Return EC_SUCCESS or the last error. */
@@ -518,8 +516,8 @@ static enum ec_status hc_rgbkbd_set_color(struct host_cmd_handler_args *args)
if (led.u8 == RGBKBD_DELM)
/* Reached end of the group. */
break;
- if (set_color_single(p->color[i],
- led.coord.x, led.coord.y))
+ if (set_color_single(p->color[i], led.coord.x,
+ led.coord.y))
return EC_RES_ERROR;
} while (led.u8 != RGBKBD_DELM);
}
@@ -532,8 +530,11 @@ DECLARE_HOST_COMMAND(EC_CMD_RGBKBD_SET_COLOR, hc_rgbkbd_set_color,
static enum ec_status hc_rgbkbd(struct host_cmd_handler_args *args)
{
const struct ec_params_rgbkbd *p = args->params;
+ struct ec_response_rgbkbd *r = args->response;
enum ec_status rv = EC_RES_SUCCESS;
+ args->response_size = sizeof(*r);
+
if (rgbkbd_late_init())
return EC_RES_ERROR;
@@ -550,6 +551,9 @@ static enum ec_status hc_rgbkbd(struct host_cmd_handler_args *args)
if (rgbkbd_set_scale(p->set_scale.scale, p->set_scale.key))
rv = EC_RES_ERROR;
break;
+ case EC_RGBKBD_SUBCMD_GET_CONFIG:
+ r->rgbkbd_type = rgbkbd_type;
+ break;
default:
rv = EC_RES_INVALID_PARAM;
break;
@@ -575,7 +579,7 @@ static int int_to_rgb(const char *code, struct rgb_s *rgb)
return EC_SUCCESS;
}
-test_export_static int cc_rgb(int argc, char **argv)
+test_export_static int cc_rgb(int argc, const char **argv)
{
char *end, *comma;
struct rgb_s rgb, scale;
@@ -606,19 +610,19 @@ test_export_static int cc_rgb(int argc, char **argv)
if (y < 0) {
/* Set all LEDs on column x. */
- ccprintf("Set column %d to 0x%02x%02x%02x\n",
- x, rgb.r, rgb.g, rgb.b);
+ ccprintf("Set column %d to 0x%02x%02x%02x\n", x, rgb.r,
+ rgb.g, rgb.b);
for (i = 0; i < rgbkbd_vsize; i++)
rv = set_color_single(rgb, x, i);
} else if (x < 0) {
/* Set all LEDs on row y. */
- ccprintf("Set row %d to 0x%02x%02x%02x\n",
- y, rgb.r, rgb.g, rgb.b);
+ ccprintf("Set row %d to 0x%02x%02x%02x\n", y, rgb.r,
+ rgb.g, rgb.b);
for (i = 0; i < rgbkbd_hsize; i++)
rv = set_color_single(rgb, i, y);
} else {
- ccprintf("Set (%d,%d) to 0x%02x%02x%02x\n",
- x, y, rgb.r, rgb.g, rgb.b);
+ ccprintf("Set (%d,%d) to 0x%02x%02x%02x\n", x, y, rgb.r,
+ rgb.g, rgb.b);
rv = set_color_single(rgb, x, y);
}
} else if (!strcasecmp(argv[1], "all")) {
@@ -680,6 +684,5 @@ DECLARE_CONSOLE_COMMAND(rgb, cc_rgb,
"4. rgb demo <id>\n"
"5. rgb reset/enable/disable/red\n"
"6. rgb scale <24-bit RGB scale>\n",
- "Control RGB keyboard"
- );
+ "Control RGB keyboard");
#endif