2020-08-27 17:21:55

by Tim Harvey

[permalink] [raw]
Subject: [PATCH] hwmon: gsc-hwmon: scale temperature to millidegrees

The GSC registers report temperature in decidegrees celcius so we
need to scale it to represent the hwmon sysfs API of millidegrees.

Cc: [email protected]
Signed-off-by: Tim Harvey <[email protected]>
---
drivers/hwmon/gsc-hwmon.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/hwmon/gsc-hwmon.c b/drivers/hwmon/gsc-hwmon.c
index 3dfe2ca..c6d4567 100644
--- a/drivers/hwmon/gsc-hwmon.c
+++ b/drivers/hwmon/gsc-hwmon.c
@@ -172,6 +172,7 @@ gsc_hwmon_read(struct device *dev, enum hwmon_sensor_types type, u32 attr,
case mode_temperature:
if (tmp > 0x8000)
tmp -= 0xffff;
+ tmp *= 100; /* convert to millidegrees celsius */
break;
case mode_voltage_raw:
tmp = clamp_val(tmp, 0, BIT(GSC_HWMON_RESOLUTION));
--
2.7.4


2020-08-27 19:49:46

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] hwmon: gsc-hwmon: scale temperature to millidegrees

On Thu, Aug 27, 2020 at 10:20:24AM -0700, Tim Harvey wrote:
> The GSC registers report temperature in decidegrees celcius so we
> need to scale it to represent the hwmon sysfs API of millidegrees.
>
> Cc: [email protected]
> Signed-off-by: Tim Harvey <[email protected]>

Applied.

Thanks,
Guenter

> ---
> drivers/hwmon/gsc-hwmon.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/hwmon/gsc-hwmon.c b/drivers/hwmon/gsc-hwmon.c
> index 3dfe2ca..c6d4567 100644
> --- a/drivers/hwmon/gsc-hwmon.c
> +++ b/drivers/hwmon/gsc-hwmon.c
> @@ -172,6 +172,7 @@ gsc_hwmon_read(struct device *dev, enum hwmon_sensor_types type, u32 attr,
> case mode_temperature:
> if (tmp > 0x8000)
> tmp -= 0xffff;
> + tmp *= 100; /* convert to millidegrees celsius */
> break;
> case mode_voltage_raw:
> tmp = clamp_val(tmp, 0, BIT(GSC_HWMON_RESOLUTION));