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 > > 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 = { \