This is modelled after the vcnl4035 driver. For the vcnl40{0,1,2}0 we don't do anything since they use on demand measurement. Changes from v2 --------------- - Based on review feedback from Jonathan Cameron https://lore.kernel.org/linux-iio/cover.1580391472.git.agx@xxxxxxxxxxx/T/#m80668f77cb45cea3973b3609ebdce5bba351ed50 - Fix missing return statement - Only update timestamp on power on - simplify returns from vcnl4200_runtime_suspend - simplify return from vcnl4000_init Changes from v1 --------------- - Based on review feedback from Tomas Novotny https://lore.kernel.org/linux-iio/20200120182853.37a724fa@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ Drop long wait in vcnl4000_runtime_resume but rather use vcnl4200_{al,ps}.last_measurement to make sure we wait long enough. Guido Günther (2): iio: vcnl4000: Use a single return when getting IIO_CHAN_INFO_RAW iio: vncl4000: Enable runtime pm for vcnl4200/4040 drivers/iio/light/vcnl4000.c | 144 ++++++++++++++++++++++++++++++----- 1 file changed, 125 insertions(+), 19 deletions(-) -- 2.23.0