By default, set the calibscale vector to unit vector.
It prevents sending 0 as calibscale when not initialized.

Signed-off-by: Gwendal Grignou <gwen...@chromium.org>
---

 drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core.c 
b/drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core.c
index fd833295bb173..d44ae126f4578 100644
--- a/drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core.c
+++ b/drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core.c
@@ -90,7 +90,7 @@ int cros_ec_sensors_core_init(struct platform_device *pdev,
        struct cros_ec_dev *ec = dev_get_drvdata(pdev->dev.parent);
        struct cros_ec_sensor_platform *sensor_platform = dev_get_platdata(dev);
        u32 ver_mask;
-       int ret;
+       int ret, i;
 
        platform_set_drvdata(pdev, indio_dev);
 
@@ -136,6 +136,9 @@ int cros_ec_sensors_core_init(struct platform_device *pdev,
                /* Set sign vector, only used for backward compatibility. */
                memset(state->sign, 1, CROS_EC_SENSOR_MAX_AXIS);
 
+               for (i = CROS_EC_SENSOR_X; i < CROS_EC_SENSOR_MAX_AXIS; i++)
+                       state->calib[i].scale = MOTION_SENSE_DEFAULT_SCALE;
+
                /* 0 is a correct value used to stop the device */
                state->frequencies[0] = 0;
                if (state->msg->version < 3) {
-- 
2.23.0.rc1.153.gdeed80330f-goog

Reply via email to