Re: [PATCH 2/2] iio: imu: lsm6dsx: Add alternative ACPI mount matrix retrieval

From: Andy Shevchenko
Date: Sun Dec 28 2025 - 12:23:00 EST


On Mon, Dec 22, 2025 at 09:53:51PM -0500, Samuel Dionne-Riel wrote:
> This uses the SLA0 matrix, which is how the SMOCF05 configuration
> exposes the mounting information for the accelerometer.
>
> On a limited sample size of one (1) unit, the SLG0 matrix is the
> identity matrix. It is unknown how the SLG0 mounting matrix would
> logically affect the data, if it differed from the identity matrix.
> After all, the IMU is mounted as one single unit, its mounting can't
> differ on the gyroscope compared to the accelerometer.

...

> --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
> +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
> @@ -2707,6 +2707,12 @@ int st_lsm6dsx_probe(struct device *dev, int irq, int hw_id,
> return err;
> }
>
> + if (!iio_read_acpi_mount_matrix(hw->dev, &hw->orientation, "SLA0")) {
> + err = iio_read_mount_matrix(hw->dev, &hw->orientation);
> + if (err)
> + return err;
> + }

Seems that Accelerometer and Gyroscope have different methods, also the I²C
addresses and interrupt(s) are referring to the respective names in Vendor
Data fields. Perhaps that makes sense to also implement.

I,o,w, I don't think this patch is correct (place to put things in).

--
With Best Regards,
Andy Shevchenko