On Tue, 14 Mar 2023 11:39:22 +0200 Matti Vaittinen <mazziesaccount@xxxxxxxxx> wrote: > On 3/12/23 17:36, Jonathan Cameron wrote: > > On Sun, 5 Mar 2023 14:22:51 +0200 > > Matti Vaittinen <mazziesaccount@xxxxxxxxx> wrote: > > > >> On 3/4/23 22:17, Jonathan Cameron wrote: > >>> On Thu, 2 Mar 2023 12:58:59 +0200 > >>> Matti Vaittinen <mazziesaccount@xxxxxxxxx> wrote: > > //snip > > >>> > >>>> +static const struct iio_chan_spec bu27034_channels[] = { > >>>> + { > >>>> + .type = IIO_LIGHT, > >>>> + .info_mask_separate = BIT(IIO_CHAN_INFO_PROCESSED) | > >>>> + BIT(IIO_CHAN_INFO_SCALE), > >>> > >>> What is this scale for? > >> > >> The scale is to inform users that we return data using milli lux. > >> > >>> Given the channel is computed from various different inputs, is there a > >>> clear definition of how it is scaled? What does a write to it mean? > >> > >> Nothing. writing anything else but milli lux scale fails with -EINVAL. > >> > >> I guess I am doing something in an unusual way here :) Do you have a > >> suggestion for me? > > > > Return data in lux? Or return it as INFO_RAW - thus making it clear > > that the reading is not in expected units and a conversion must be > > applied by userspace. SCALE is not applied to PROCESSED by userspace. > > > > I just noticed a thing. I used the iio_generic_buffer to test the > changes - and it got the channel values scaled to luxes even for the > PROCESSED channel. So, it seems to me the iio_generic_buffer does apply > the scale for PROCESSED channels too. I think that is slightly > misleading. Oh, and this is not intended to be a complaint - just a > report that there might be some room for an improvement :) Ah. Looks like the code doesn't have any check on whether the sysfs read is _raw or _processed which is kind of understandable. This may be the first case where those have both applied on a channel that is available via buffered route. Given processed channels are rarely IIO_VAL_INT which is kind of necessary to poke it in the buffered route, that may well be true. Jonathan > > Yours, > -- Matti >