• Nicolin Chen's avatar
    hwmon: (ina3221) Make sure data is ready before reading · 4c0415a3
    Nicolin Chen authored
    The data might need some time to get ready after channel enabling,
    although the data register is always readable. The CVRF bit is to
    indicate that data conversion is finished, so polling the CVRF bit
    before data reading could ensure the result being valid.
    
    An alternative way could be to wait for expected time between the
    channel enabling and the data reading. And this could avoid extra
    I2C communications. However, INA3221 seemly takes longer time than
    what's stated in the datasheet. Test results show that sometimes
    it couldn't finish data conversion in time.
    
    So this patch plays safe by adding a CVRF polling to make sure the
    data register is updated with the new data.
    Signed-off-by: default avatarNicolin Chen <nicoleotsuka@gmail.com>
    Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
    4c0415a3
ina3221.c 18.7 KB