Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 22087c85 authored by Gwendal Grignou's avatar Gwendal Grignou Committed by Jonathan Cameron
Browse files

iio: cros_ec: set calibscale for 3d MEMS to unit vector



By default, set the calibscale vector to unit vector.
When calibrating one axis, the other axis calibrations  are sent as well.
If left to 0, sensor data from uncalibrated axis are zero'ed out until
all axis are calibrated.

Fixes: ed1f2e85 ("iio: cros_ec: Add calibscale for 3d MEMS ")
Signed-off-by: default avatarGwendal Grignou <gwendal@chromium.org>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent b1e18768
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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) {