summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-02-11 09:19:47 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2026-02-11 09:19:47 -0800
commitbe653d2d1f435218cf4b7abad96b42a20ce28451 (patch)
tree5794ee3ced5d464fdc77b7170644ae559ef91626 /include/linux
parent192c0159402e6bfbe13de6f8379546943297783d (diff)
parent520e345dfdab89aed4a0ad98d5ec35086661a11a (diff)
Merge tag 'chrome-platform-v7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
Pull chrome platform updates from Tzung-Bi Shih: "New cros_ec_lightbar features: - Report the number of exposed LED segments via sysfs - Support large sequence of program to be transmitted Fixes: - Don't touch fwnode_handle::dev which is a private field - Fix wrong assignment for response size in cros_ec_lightbar Cleanups: - Use acpi_get_local_u64_address() helper" * tag 'chrome-platform-v7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux: platform/chrome: lightbar: Use flexible array member platform/chrome: lightbar: Fix lightbar_program_ex alignment platform/chrome: lightbar: Add support for large sequence platform/chrome: lightbar: Report number of segments platform/chrome: cros_ec_lightbar: Fix response size initialization platform/chrome: cros_typec_switch: Use acpi_get_local_u64_address() platform/chrome: cros_typec_switch: Don't touch struct fwnode_handle::dev
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/platform_data/cros_ec_commands.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
index 69294f79cc88..8080a6fc6c8c 100644
--- a/include/linux/platform_data/cros_ec_commands.h
+++ b/include/linux/platform_data/cros_ec_commands.h
@@ -2005,6 +2005,14 @@ struct lightbar_params_v2_colors {
struct rgb_s color[8]; /* 0-3 are Google colors */
} __ec_todo_packed;
+struct lightbar_params_v3 {
+ /*
+ * Number of LEDs reported by the EC.
+ * May be less than the actual number of LEDs in the lightbar.
+ */
+ uint8_t reported_led_num;
+} __ec_todo_packed;
+
/* Lightbar program. */
#define EC_LB_PROG_LEN 192
struct lightbar_program {
@@ -2012,6 +2020,17 @@ struct lightbar_program {
uint8_t data[EC_LB_PROG_LEN];
} __ec_todo_unpacked;
+/*
+ * Lightbar program for large sequences. Sequences are sent in pieces, with
+ * increasing offset. The sequences are still limited by the amount reserved in
+ * EC RAM.
+ */
+struct lightbar_program_ex {
+ uint8_t size;
+ uint16_t offset;
+ uint8_t data[];
+} __ec_todo_packed;
+
struct ec_params_lightbar {
uint8_t cmd; /* Command (see enum lightbar_command) */
union {
@@ -2058,6 +2077,7 @@ struct ec_params_lightbar {
struct lightbar_params_v2_colors set_v2par_colors;
struct lightbar_program set_program;
+ struct lightbar_program_ex set_program_ex;
};
} __ec_todo_packed;
@@ -2086,6 +2106,8 @@ struct ec_response_lightbar {
struct lightbar_params_v2_thresholds get_params_v2_thlds;
struct lightbar_params_v2_colors get_params_v2_colors;
+ struct lightbar_params_v3 get_params_v3;
+
struct __ec_todo_unpacked {
uint32_t num;
uint32_t flags;
@@ -2143,6 +2165,8 @@ enum lightbar_command {
LIGHTBAR_CMD_SET_PARAMS_V2_THRESHOLDS = 31,
LIGHTBAR_CMD_GET_PARAMS_V2_COLORS = 32,
LIGHTBAR_CMD_SET_PARAMS_V2_COLORS = 33,
+ LIGHTBAR_CMD_GET_PARAMS_V3 = 34,
+ LIGHTBAR_CMD_SET_PROGRAM_EX = 35,
LIGHTBAR_NUM_CMDS
};