Re: [PATCH] fpga: dfl: fme: use SI unit prefix macros

From: Xu Yilun
Date: Mon Jul 10 2023 - 02:42:40 EST


On 2023-07-04 at 23:35:48 -0400, Peter Colberg wrote:
> Substitute SI prefixes MILLI for temperature and MICRO for power, which
> are exported via the hwmon sysfs interface in m°C and ųW, respectively.
>
> Suggested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Signed-off-by: Peter Colberg <peter.colberg@xxxxxxxxx>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

Acked-by: Xu Yilun <yilun.xu@xxxxxxxxx>

Applied.

> ---
> drivers/fpga/dfl-fme-main.c | 17 +++++++++--------
> 1 file changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/fpga/dfl-fme-main.c b/drivers/fpga/dfl-fme-main.c
> index bcb5d34b3b82..3dcf990bd261 100644
> --- a/drivers/fpga/dfl-fme-main.c
> +++ b/drivers/fpga/dfl-fme-main.c
> @@ -19,6 +19,7 @@
> #include <linux/kernel.h>
> #include <linux/module.h>
> #include <linux/uaccess.h>
> +#include <linux/units.h>
> #include <linux/fpga-dfl.h>
>
> #include "dfl.h"
> @@ -231,19 +232,19 @@ static int thermal_hwmon_read(struct device *dev, enum hwmon_sensor_types type,
> switch (attr) {
> case hwmon_temp_input:
> v = readq(feature->ioaddr + FME_THERM_RDSENSOR_FMT1);
> - *val = (long)(FIELD_GET(FPGA_TEMPERATURE, v) * 1000);
> + *val = (long)(FIELD_GET(FPGA_TEMPERATURE, v) * MILLI);
> break;
> case hwmon_temp_max:
> v = readq(feature->ioaddr + FME_THERM_THRESHOLD);
> - *val = (long)(FIELD_GET(TEMP_THRESHOLD1, v) * 1000);
> + *val = (long)(FIELD_GET(TEMP_THRESHOLD1, v) * MILLI);
> break;
> case hwmon_temp_crit:
> v = readq(feature->ioaddr + FME_THERM_THRESHOLD);
> - *val = (long)(FIELD_GET(TEMP_THRESHOLD2, v) * 1000);
> + *val = (long)(FIELD_GET(TEMP_THRESHOLD2, v) * MILLI);
> break;
> case hwmon_temp_emergency:
> v = readq(feature->ioaddr + FME_THERM_THRESHOLD);
> - *val = (long)(FIELD_GET(TRIP_THRESHOLD, v) * 1000);
> + *val = (long)(FIELD_GET(TRIP_THRESHOLD, v) * MILLI);
> break;
> case hwmon_temp_max_alarm:
> v = readq(feature->ioaddr + FME_THERM_THRESHOLD);
> @@ -382,15 +383,15 @@ static int power_hwmon_read(struct device *dev, enum hwmon_sensor_types type,
> switch (attr) {
> case hwmon_power_input:
> v = readq(feature->ioaddr + FME_PWR_STATUS);
> - *val = (long)(FIELD_GET(PWR_CONSUMED, v) * 1000000);
> + *val = (long)(FIELD_GET(PWR_CONSUMED, v) * MICRO);
> break;
> case hwmon_power_max:
> v = readq(feature->ioaddr + FME_PWR_THRESHOLD);
> - *val = (long)(FIELD_GET(PWR_THRESHOLD1, v) * 1000000);
> + *val = (long)(FIELD_GET(PWR_THRESHOLD1, v) * MICRO);
> break;
> case hwmon_power_crit:
> v = readq(feature->ioaddr + FME_PWR_THRESHOLD);
> - *val = (long)(FIELD_GET(PWR_THRESHOLD2, v) * 1000000);
> + *val = (long)(FIELD_GET(PWR_THRESHOLD2, v) * MICRO);
> break;
> case hwmon_power_max_alarm:
> v = readq(feature->ioaddr + FME_PWR_THRESHOLD);
> @@ -415,7 +416,7 @@ static int power_hwmon_write(struct device *dev, enum hwmon_sensor_types type,
> int ret = 0;
> u64 v;
>
> - val = clamp_val(val / 1000000, 0, PWR_THRESHOLD_MAX);
> + val = clamp_val(val / MICRO, 0, PWR_THRESHOLD_MAX);
>
> mutex_lock(&pdata->lock);
>
> --
> 2.28.0
>