2023-07-05 03:51:57

by Colberg, Peter

[permalink] [raw]
Subject: [PATCH] fpga: dfl: fme: use SI unit prefix macros

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 <[email protected]>
Signed-off-by: Peter Colberg <[email protected]>
Reviewed-by: Andy Shevchenko <[email protected]>
---
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



2023-07-10 07:25:23

by Xu Yilun

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

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 <[email protected]>
> Signed-off-by: Peter Colberg <[email protected]>
> Reviewed-by: Andy Shevchenko <[email protected]>

Acked-by: Xu Yilun <[email protected]>

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
>