]> git.baikalelectronics.ru Git - kernel.git/commit
hwmon: (ina3221) Make sure data is ready before reading
authorNicolin Chen <nicoleotsuka@gmail.com>
Mon, 5 Nov 2018 20:48:42 +0000 (12:48 -0800)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 16 Dec 2018 23:13:12 +0000 (15:13 -0800)
commit2ae8ce5b5b3499d1e7e955264405a40bfbe224e7
tree64ac67d6330de585f927736b49b6edeae1182d60
parenta223c2dd4edea2f46ee4754916caa106fc55b31a
hwmon: (ina3221) Make sure data is ready before reading

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: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/ina3221.c