On Thu, 21 Mar 2019 08:40:43 -0700 "Angus Ainslie (Purism)" <angus@xxxxxxxx> wrote: > The VCNL4200 datasheet says that word read and writes should be used > to access the registers. > > Signed-off-by: Angus Ainslie (Purism) <angus@xxxxxxxx> > Tested-by: Tomas Novotny <tomas@xxxxxxxxxx> So we did discuss if this was a fix for any of the existing devices. Not sure we reached a conclusion as clearly the worked for Tomas without this. Anyhow, for now applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it. Thanks, Jonathan > --- > drivers/iio/light/vcnl4000.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c > index 04fd0d4b6f19..5e0a8eb83ebc 100644 > --- a/drivers/iio/light/vcnl4000.c > +++ b/drivers/iio/light/vcnl4000.c > @@ -140,10 +140,10 @@ static int vcnl4200_init(struct vcnl4000_data *data) > data->rev = (ret >> 8) & 0xf; > > /* Set defaults and enable both channels */ > - ret = i2c_smbus_write_byte_data(data->client, VCNL4200_AL_CONF, 0x00); > + ret = i2c_smbus_write_word_data(data->client, VCNL4200_AL_CONF, 0); > if (ret < 0) > return ret; > - ret = i2c_smbus_write_byte_data(data->client, VCNL4200_PS_CONF1, 0x00); > + ret = i2c_smbus_write_word_data(data->client, VCNL4200_PS_CONF1, 0); > if (ret < 0) > return ret; >