• Linus Walleij's avatar
    iio: inkern: pass through raw values if no scaling · adc8ec5f
    Linus Walleij authored
    When a consumer calls iio_read_channel_processed() the IIO core
    tries to apply scaling to the value, but if the channel only
    supports reading raw values, we should return that raw value
    to the cosumer instead of an error.
    
    This is what userspace is expected to do with sensors only
    providing raw values so the kernel should do the same, so as to
    avoid adding scaling boilerplate to drivers for hardware that
    actually return processed values from raw reads.
    
    A sensor not providing a scale, but providing a _raw attribute
    could be valid if for example the scale is the default of 1,
    but an offset needs to be applied to convert to the _processed
    form.
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
    adc8ec5f
inkern.c 19.4 KB