Please don't use iio_read_channel_processed and convert from milliVolts to microVolts by multiplying by 1000. My use case requires the additional precision that iio_read_channel_raw followed by iio_convert_raw_to_processed with the 1000X scaler provides. But I'm unsure about keeping the fallback 12-bit ADC in place. I kept it so as not to break Naveen Krishna Chatradhi's use case. But I'm not sure it still works after commit adc8ec5ff183d09ae7a9d2dd31125401d302ba63 "iio: inkern: pass through raw values if no scaling". Before the commit, iio_convert_raw_to_processed returned a negative number if there was no scaling available. Now, it returns the raw value. Does that mean that the raw value is already scaled to the correct units? Or does that mean that the scale is unknown and all you get is counts?