Re: sysfs mount_matrix for st_lsm6dsx gyro

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Hello Lorenzo,
> 
> On Thu, Jan 12, 2023 at 10:51:03AM +0100, Lorenzo Bianconi wrote:
> > Date: Thu, 12 Jan 2023 10:51:03 +0100
> > From: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
> > To: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> > Cc: Philippe De Muyter <phdm@xxxxxxx>, linux-iio@xxxxxxxxxxxxxxx
> > Subject: Re: sysfs mount_matrix for st_lsm6dsx gyro
> > 
> > > On Wed, 11 Jan 2023 13:09:40 +0100
> > > Philippe De Muyter <phdm@xxxxxxx> wrote:
> > > 
> > > > Hello Lorenzo and list,
> > > > 
> > > > I do not find a "*mount_matrix" entry in sysfs for a 'ism330dlc_gyro'
> > > > iio device.
> > > > Is that normal ?
> > > > Is a fix available ?
> > > 
> > > Looks like the channel definition for the gyro does not include an
> > > appropriate ext_info entry unlike the accelerometer channels which
> > > have one with mount_matrix support.
> > > 
> > > From a quick glance looks like a simple fix. Add that entry.
> > 
> > I am not sure if accel and gyro can be mounted with a different orientation.
> > Do you think we should have a per-sensor mount_matrix?
> 
> My chip is a 'ism330dlc'.  It's one chip containing an accel and a gyro,
> so the mount_matrix should be the same for the accel and the gyro.
> Unfortunately the accel and the gyro are presented in /sysfs as two
> separate devices, and only the accel one has a 'mount_matrix' entry.
> So a user looking for any gyro will find the gyro entry, but without
> 'mount_matrix'.
> 
> I have followed Jonathan's proposal and added this simple patch in
> the definition of the ST_LSM6DSX_CHANNEL macro :
> 
> diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
> index d80ba2e688ed..9d18145d5041 100644
> --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
> +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
> @@ -96,6 +96,7 @@ enum st_lsm6dsx_hw_id {
>  		.storagebits = 16,                                      \
>  		.endianness = IIO_LE,                                   \
> 	},                                                              \
> +	.ext_info = st_lsm6dsx_accel_ext_info,                          \
>  }

I am fine with this approach, probably having a per-sensor mount_matrix is
unnecessary. Can you please just rename st_lsm6dsx_accel_ext_info in
st_lsm6dsx_ext_info?

Regards,
Lorenzo

> 
>  struct st_lsm6dsx_reg {
> 
> Another fix would be to create only one chip entry in sysfs, but that's
> above my knowledge of this driver.
> 
> Best regards
> 
> Philippe

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux