diff options
| author | Ridham Khurana <khurana.ridham222@gmail.com> | 2026-09-24 20:53:23 +0000 |
|---|---|---|
| committer | Guenter Roeck <linux@roeck-us.net> | 2026-09-24 16:24:47 -0700 |
| commit | eddb0aaacce4baa9d8176eb2f4bd9e99e867f8fc (patch) | |
| tree | 65bdd1a2882028836781b783a5914f5262cc91c6 /tools/lib/python/kdoc | |
| parent | f58c16056f8585ebafb0f1f5d90c23085443a4b9 (diff) | |
| download | linux-next-eddb0aaacce4baa9d8176eb2f4bd9e99e867f8fc.tar.gz linux-next-eddb0aaacce4baa9d8176eb2f4bd9e99e867f8fc.zip | |
hwmon: (lm70) Fix rounding of negative temperatures
temp1_input_show() drops the low bits of the temperature register by
dividing the raw value (raw / 32 on the LM70). These bits are not part
of the temperature: the LM70, LM71, LM74 and TMP122/TMP124 always
return some of them as 1, and the TMP125 fills them with copies of the
temperature LSB. Division rounds toward zero, so a negative temperature
with any of these bits set is reported one LSB too high.
For example, the TMP122 returns 0xffff for -0.0625 degrees C, which the
driver reports as 0. The LM70 returns 0xf39f for -25 degrees C, which
the driver reports as -24750.
Use an arithmetic right shift instead, which drops the low bits and
rounds down.
Fixes: e1a8e913f97e ("[PATCH] lm70: New hardware monitoring driver")
Fixes: a86e94dc946d ("hwmon: (lm70) Add support for LM71 and LM74")
Fixes: cd929672a9ef ("hwmon: (lm70) Add ti,tmp125 support")
Cc: stable@vger.kernel.org
Signed-off-by: Ridham Khurana <khurana.ridham222@gmail.com>
Link: https://patch.msgid.link/20260924205326.1739229-1-khurana.ridham222@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'tools/lib/python/kdoc')
0 files changed, 0 insertions, 0 deletions
