hwmon: (adm9240) handle temperature readings below 0
authorChris Packham <chris.packham@alliedtelesis.co.nz>
Tue, 4 Oct 2016 21:40:54 +0000 (10:40 +1300)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 17 Oct 2016 17:16:20 +0000 (10:16 -0700)
commit667f4bab81ea8357d260aa14bb6fb1a4834248d5
treea0cadcf223dbfcfe8a7b708d88cb957bbca7b3c7
parent1001354ca34179f3db924eb66672442a173147dc
hwmon: (adm9240) handle temperature readings below 0

Unlike the temperature thresholds the temperature data is a 9-bit signed
value. This allows and additional 0.5 degrees of precision on the
reading but makes handling negative values slightly harder. In order to
have sign-extension applied correctly the 9-bit value is stored in the
upper bits of a signed 16-bit value. When presenting this in sysfs the
value is shifted and scaled appropriately.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/adm9240.c