hwmon: (ina2xx) Cast to s16 on shunt and current regs
authorFabio Baltieri <fabio.baltieri@gmail.com>
Sun, 8 Jun 2014 21:06:24 +0000 (22:06 +0100)
committerGuenter Roeck <linux@roeck-us.net>
Thu, 12 Jun 2014 15:36:18 +0000 (08:36 -0700)
commitc0214f98943b1fe43f7be61b7782b0c8f0836f28
tree5a820dc1926e81b18ed357f94d3a1bbcb9d59d32
parent5c02c392cd2320e8d612376d6b72b6548a680923
hwmon: (ina2xx) Cast to s16 on shunt and current regs

All devices supported by ina2xx are bidirectional and report the
measured shunt voltage and power values as a signed 16 bit, but the
current driver implementation caches all registers as u16, leading
to an incorrect sign extension when reporting to userspace in
ina2xx_get_value().

This patch fixes the problem by casting the signed registers to s16.
Tested on an INA219.

Signed-off-by: Fabio Baltieri <fabio.baltieri@gmail.com>
Cc: stable@vger.kernel.org # 3.10+
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/ina2xx.c