]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
platform/chrome: lightbar: Optimize command size
authorGwendal Grignou <gwendal@chromium.org>
Wed, 4 Feb 2026 03:50:36 +0000 (19:50 -0800)
committerTzung-Bi Shih <tzungbi@kernel.org>
Mon, 23 Feb 2026 07:34:17 +0000 (15:34 +0800)
Enabling tracing with:
echo 1 > /sys/kernel/debug/tracing/events/cros_ec/cros_ec_request_start/enable

To monitor the command and response size. The defaults are 194 and 128 respectively:
cros_ec_request_start: version: 0, offset: 0, command: EC_CMD_LIGHTBAR_CMD, outsize: 194, insize: 128

Reduce the sizes to the expected subcommands.

Signed-off-by: Gwendal Grignou <gwendal@google.com>
Link: https://lore.kernel.org/r/20260204035036.697955-1-gwendal@google.com
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
drivers/platform/chrome/cros_ec_lightbar.c

index 2d1aa6edda1a7d78ec981986b00e9da5c266b8ae..f69f2f6de276cd4203a9023eebfa9515102d85ec 100644 (file)
@@ -461,6 +461,8 @@ static ssize_t sequence_store(struct device *dev, struct device_attribute *attr,
        param = (struct ec_params_lightbar *)msg->data;
        param->cmd = LIGHTBAR_CMD_SEQ;
        param->seq.num = num;
+       msg->outsize = offsetof(typeof(*param), seq) + sizeof(param->seq);
+       msg->insize = 0;
        ret = lb_throttle();
        if (ret)
                goto exit;
@@ -516,6 +518,7 @@ static ssize_t program_store(struct device *dev, struct device_attribute *attr,
        if (ret)
                goto exit;
        param = (struct ec_params_lightbar *)msg->data;
+       msg->insize = 0;
 
        if (lb_version < 3) {
                dev_info(dev, "Copying %zu byte program to EC", count);