* [PATCH] iio: common: cros_ec_sensors: use sensor_scale union member for CALIBSCALE
@ 2026-10-11 4:54 Arnav Kapoor
2026-10-11 17:16 ` Joshua Crofts
0 siblings, 1 reply; 2+ messages in thread
From: Arnav Kapoor @ 2026-10-11 4:54 UTC (permalink / raw)
To: Jonathan Cameron, Benson Leung
Cc: Guenter Roeck, David Lechner, Nuno Sá,
Andy Shevchenko, chrome-platform, linux-iio, linux-kernel,
Arnav Kapoor
The IIO_CHAN_INFO_CALIBSCALE read and write paths send
MOTIONSENSE_CMD_SENSOR_SCALE, but set the flags through the
sensor_offset member of the request union, while the scale values in
the write path are filled through sensor_scale.
This only works because the sensor_offset and sensor_scale structs of
struct ec_params_motion_sense happen to place flags at the same offset.
Use the sensor_scale member that matches the command, so all fields of
the request are set through the same struct.
No functional change.
Assisted-by: LLM
Signed-off-by: Arnav Kapoor <kapoorarnav43@gmail.com>
---
Compile-tested only (W=1); I don't have ChromeOS EC hardware. Both
union members place flags at the same offset, so the generated host
command is unchanged.
drivers/iio/common/cros_ec_sensors/cros_ec_sensors.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/iio/common/cros_ec_sensors/cros_ec_sensors.c b/drivers/iio/common/cros_ec_sensors/cros_ec_sensors.c
index 551b86236abc..2839714f5bc8 100644
--- a/drivers/iio/common/cros_ec_sensors/cros_ec_sensors.c
+++ b/drivers/iio/common/cros_ec_sensors/cros_ec_sensors.c
@@ -70,7 +70,7 @@ static int cros_ec_sensors_read(struct iio_dev *indio_dev,
break;
case IIO_CHAN_INFO_CALIBSCALE:
st->core.param.cmd = MOTIONSENSE_CMD_SENSOR_SCALE;
- st->core.param.sensor_offset.flags = 0;
+ st->core.param.sensor_scale.flags = 0;
ret = cros_ec_motion_send_host_cmd(&st->core, 0);
if (ret == -EPROTO || ret == -EOPNOTSUPP) {
@@ -178,8 +178,7 @@ static int cros_ec_sensors_write(struct iio_dev *indio_dev,
/* Send to EC for each axis, even if not complete */
st->core.param.cmd = MOTIONSENSE_CMD_SENSOR_SCALE;
- st->core.param.sensor_offset.flags =
- MOTION_SENSE_SET_OFFSET;
+ st->core.param.sensor_scale.flags = MOTION_SENSE_SET_OFFSET;
for (i = CROS_EC_SENSOR_X; i < CROS_EC_SENSOR_MAX_AXIS; i++)
st->core.param.sensor_scale.scale[i] =
st->core.calib[i].scale;
--
2.53.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] iio: common: cros_ec_sensors: use sensor_scale union member for CALIBSCALE
2026-10-11 4:54 [PATCH] iio: common: cros_ec_sensors: use sensor_scale union member for CALIBSCALE Arnav Kapoor
@ 2026-10-11 17:16 ` Joshua Crofts
0 siblings, 0 replies; 2+ messages in thread
From: Joshua Crofts @ 2026-10-11 17:16 UTC (permalink / raw)
To: Arnav Kapoor
Cc: Jonathan Cameron, Benson Leung, Guenter Roeck, David Lechner,
Nuno Sá,
Andy Shevchenko, chrome-platform, linux-iio, linux-kernel
On Sun, 11 Oct 2026 10:24:08 +0530
Arnav Kapoor <kapoorarnav43@gmail.com> wrote:
> The IIO_CHAN_INFO_CALIBSCALE read and write paths send
> MOTIONSENSE_CMD_SENSOR_SCALE, but set the flags through the
> sensor_offset member of the request union, while the scale values in
> the write path are filled through sensor_scale.
>
> This only works because the sensor_offset and sensor_scale structs of
> struct ec_params_motion_sense happen to place flags at the same offset.
> Use the sensor_scale member that matches the command, so all fields of
> the request are set through the same struct.
>
> No functional change.
>
> Assisted-by: LLM
> Signed-off-by: Arnav Kapoor <kapoorarnav43@gmail.com>
> ---
Please add a Fixes tag. Otherwise looks good to me!
Reviewed-by: Joshua Crofts <joshua.crofts1@gmail.com>
--
Kind regards,
Joshua Crofts
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-11 17:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-11 4:54 [PATCH] iio: common: cros_ec_sensors: use sensor_scale union member for CALIBSCALE Arnav Kapoor
2026-10-11 17:16 ` Joshua Crofts
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®