Re: [PATCH] iio: imu: st_lsm6dsx: make IIO_CHAN_INFO_SCALE shared by type

From: Lorenzo Bianconi
Date: Mon Aug 05 2019 - 11:04:44 EST


> On Thu, 1 Aug 2019 16:39:08 +0200
> Martin Kepplinger <martin.kepplinger@xxxxxxx> wrote:
>
> > in_accel_x_scale, in_accel_y_scale and in_accel_z_scale are always
> > the same. The scale is still defined to be in "info_mask_separate".
> >
> > Userspace (iio-sensor-proxy and others) is not used to that and only
> > looks for "in_accel_scale" for the scaling factor to apply.
> >
> > Change IIO_CHAN_INFO_SCALE from being separate in all channel to be
> > shared by type.
> >
> > This removes in_accel_x_scale, in_accel_y_scale and in_accel_z_scale and
> > makes available in_accel_scale.
> >
> > Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxx>
> > ---
> >
> > AFAIK in all other drivers, IIO_CHAN_INFO_SCALE is "shared by type". Sure
> > devices are different, but LSM6DSX devices still don't have different
> > scales for x/y/z channels :)
>
> I'm fine with this, but would like a Lorenzo ack as we have had
> devices in other series where these are not equal. It used to
> be common in accelerometers as I think it was hard to get a large
> range in the vertical direction. Doubt that applies on these modern
> parts though!
>
> Thanks,
>
> Jonathan

AFAIK all the supported sensors have the same sensitivity on all axis and so I
am fine with this patch (it should be done in this way from day 0 actually :))
but is it going to break uapi? if not feel free to add:

Acked-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>

Regards,
Lorenzo

>
>
> >
> > thanks,
> >
> > martin
> >
> >
> >
> > drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
> > index af379a5429ed..59c3ab7cbb6f 100644
> > --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
> > +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
> > @@ -56,8 +56,8 @@ enum st_lsm6dsx_hw_id {
> > .address = addr, \
> > .modified = 1, \
> > .channel2 = mod, \
> > - .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \
> > - BIT(IIO_CHAN_INFO_SCALE), \
> > + .info_mask_separate = BIT(IIO_CHAN_INFO_RAW), \
> > + .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE), \
> > .info_mask_shared_by_all = BIT(IIO_CHAN_INFO_SAMP_FREQ), \
> > .scan_index = scan_idx, \
> > .scan_type = { \
>

Attachment: signature.asc
Description: PGP signature