• Alison Schofield's avatar
    iio: humidity: hdc100x: fix sensor data reads of temp and humidity · cf6ffb12
    Alison Schofield authored
    commit 0d9dcf85 upstream.
    
    Replace the i2c_smbus_read_byte commmands used to retrieve the sensor
    data with an i2c_master_recv command.
    
    The smbus read byte method fails because the device does not expect a
    stop condition after sending the first byte. When we issue the second
    read, we are getting the first byte again. Net effect is that of the 14
    bits used for the measurement, the 8 most significant bits are correct,
    the lower 6 are not.
    
    None of the smbus read protocols follow the pattern this device requires
    (S Addr Rd [A] Data [A] Data NA P), hence the switch to an i2c receive
    transaction.
    
    Applicable from original introduction of this driver, but will require
    backporting due to churn in the code.
    Signed-off-by: default avatarAlison Schofield <amsfield22@gmail.com>
    Cc: Daniel Baluta <daniel.baluta@gmail.com>
    Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    cf6ffb12
hdc100x.c 7.35 KB