2019-12-11 14:39:12

by Akinobu Mita

[permalink] [raw]
Subject: [PATCH v3 00/12] add header file for kelvin to/from Celsius conversion helpers

There are several helper macros to convert kelvin to/from Celsius in
<linux/thermal.h> for thermal drivers. These are useful for any other
drivers or subsystems, but it's odd to include <linux/thermal.h> just for
the helpers.

This adds a new <linux/units.h> that provides the equivalent inline
functions for any drivers or subsystems, and switches all the users of
conversion helpers in <linux/thermal.h> to use <linux/units.h>
helpers.

* v3
- rename new header name from <linux/temperature.h> to <linux/units.h>
- add milli_kelvin_to_millicelsius() and millicelsius_to_milli_kelvin() and
use them for implementing other helpers
- add MILLIDEGREE_PER_DEGREE and MILLIDEGREE_PER_DECIDEGREE and replace
the hardcoded constants
- add kelvin_to_celsius() and celsius_to_kelvin() in <linux/units.h>
- add Reviewed-by tags
- switch iwlegacy driver to use <linux/units.h> helpers
- switch iwlwifi driver to use <linux/units.h> helpers
- remove unused TO_MCELSIUS macro in armada thermal driver
- switch qcom-vadc-common module to use <linux/units.h> helpers

* v2
- add deci_kelvin_to_millicelsius_with_offset() in linux/temperature.h
- stop including linux/temperature.h from linux/thermal.h
- include <linux/temperature.h> explicitly from thermal drivers
- fix s/temprature/temperature/ typo in commit log
- use deci_kelvin_to_millicelsius_with_offset() in ACPI thermal zone driver
- don't mix up another fix (format string for cellsius value)
- add Acked-by and Reviewed-by tags

Akinobu Mita (12):
add helpers for kelvin to/from Celsius conversion
ACPI: thermal: switch to use <linux/units.h> helpers
platform/x86: asus-wmi: switch to use <linux/units.h> helpers
platform/x86: intel_menlow: switch to use <linux/units.h> helpers
thermal: int340x: switch to use <linux/units.h> helpers
thermal: intel_pch: switch to use <linux/units.h> helpers
nvme: hwmon: switch to use <linux/units.h> helpers
thermal: remove kelvin to/from Celsius conversion helpers from
<linux/thermal.h>
wireless: iwlegacy: use <linux/units.h> helpers
wireless: iwlwifi: use <linux/units.h> helpers
thermal: armada: remove unused TO_MCELSIUS macro
iio: adc: qcom-vadc-common: use <linux/units.h> helpers

drivers/acpi/thermal.c | 36 +++++-----
drivers/iio/adc/qcom-vadc-common.c | 6 +-
drivers/iio/adc/qcom-vadc-common.h | 1 -
drivers/net/wireless/intel/iwlegacy/4965-mac.c | 3 +-
drivers/net/wireless/intel/iwlegacy/4965.c | 11 +--
drivers/net/wireless/intel/iwlegacy/common.h | 3 -
drivers/net/wireless/intel/iwlwifi/dvm/dev.h | 5 --
drivers/net/wireless/intel/iwlwifi/dvm/devices.c | 6 +-
drivers/nvme/host/hwmon.c | 13 ++--
drivers/platform/x86/asus-wmi.c | 7 +-
drivers/platform/x86/intel_menlow.c | 9 ++-
drivers/thermal/armada_thermal.c | 2 -
.../intel/int340x_thermal/int340x_thermal_zone.c | 7 +-
drivers/thermal/intel/intel_pch_thermal.c | 3 +-
include/linux/thermal.h | 11 ---
include/linux/units.h | 84 ++++++++++++++++++++++
16 files changed, 139 insertions(+), 68 deletions(-)
create mode 100644 include/linux/units.h

Cc: Sujith Thomas <[email protected]>
Cc: Darren Hart <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: Zhang Rui <[email protected]>
Cc: Daniel Lezcano <[email protected]>
Cc: Amit Kucheria <[email protected]>
Cc: Jean Delvare <[email protected]>
Cc: Guenter Roeck <[email protected]>
Cc: Keith Busch <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Sagi Grimberg <[email protected]>
Cc: Kalle Valo <[email protected]>
Cc: Stanislaw Gruszka <[email protected]>
Cc: Johannes Berg <[email protected]>
Cc: Emmanuel Grumbach <[email protected]>
Cc: Luca Coelho <[email protected]>
Cc: Intel Linux Wireless <[email protected]>
Cc: Jonathan Cameron <[email protected]>
Cc: Hartmut Knaack <[email protected]>
Cc: Lars-Peter Clausen <[email protected]>
Cc: Peter Meerwald-Stadler <[email protected]>
--
2.7.4


2019-12-11 14:39:19

by Akinobu Mita

[permalink] [raw]
Subject: [PATCH v3 01/12] add helpers for kelvin to/from Celsius conversion

There are several helper macros to convert kelvin to/from Celsius in
<linux/thermal.h> for thermal drivers. These are useful for any other
drivers or subsystems, but it's odd to include <linux/thermal.h> just for
the helpers.

This adds a new <linux/units.h> that provides the equivalent inline
functions for any drivers or subsystems. It is intended to replace the
helpers in <linux/thermal.h>.

Cc: Sujith Thomas <[email protected]>
Cc: Darren Hart <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: Zhang Rui <[email protected]>
Cc: Daniel Lezcano <[email protected]>
Cc: Amit Kucheria <[email protected]>
Cc: Jean Delvare <[email protected]>
Cc: Guenter Roeck <[email protected]>
Cc: Keith Busch <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Sagi Grimberg <[email protected]>
Cc: Kalle Valo <[email protected]>
Cc: Stanislaw Gruszka <[email protected]>
Cc: Johannes Berg <[email protected]>
Cc: Emmanuel Grumbach <[email protected]>
Cc: Luca Coelho <[email protected]>
Cc: Intel Linux Wireless <[email protected]>
Cc: Jonathan Cameron <[email protected]>
Cc: Hartmut Knaack <[email protected]>
Cc: Lars-Peter Clausen <[email protected]>
Cc: Peter Meerwald-Stadler <[email protected]>
Signed-off-by: Akinobu Mita <[email protected]>
---
* v3
- rename new header name from <linux/temperature.h> to <linux/units.h>
- add milli_kelvin_to_millicelsius() and millicelsius_to_milli_kelvin() and
use them for implementing other helpers
- add MILLIDEGREE_PER_DEGREE and MILLIDEGREE_PER_DECIDEGREE and replace
the hardcoded constants
- add kelvin_to_celsius() and celsius_to_kelvin() in <linux/units.h>

include/linux/units.h | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 84 insertions(+)
create mode 100644 include/linux/units.h

diff --git a/include/linux/units.h b/include/linux/units.h
new file mode 100644
index 0000000..aaf7163
--- /dev/null
+++ b/include/linux/units.h
@@ -0,0 +1,84 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _LINUX_UNITS_H
+#define _LINUX_UNITS_H
+
+#include <linux/kernel.h>
+
+#define ABSOLUTE_ZERO_MILLICELSIUS -273150
+
+static inline long milli_kelvin_to_millicelsius(long t)
+{
+ return t + ABSOLUTE_ZERO_MILLICELSIUS;
+}
+
+static inline long millicelsius_to_milli_kelvin(long t)
+{
+ return t - ABSOLUTE_ZERO_MILLICELSIUS;
+}
+
+#define MILLIDEGREE_PER_DEGREE 1000
+#define MILLIDEGREE_PER_DECIDEGREE 100
+
+static inline long kelvin_to_millicelsius(long t)
+{
+ return milli_kelvin_to_millicelsius(t * MILLIDEGREE_PER_DEGREE);
+}
+
+static inline long millicelsius_to_kelvin(long t)
+{
+ t = millicelsius_to_milli_kelvin(t);
+
+ return DIV_ROUND_CLOSEST(t, MILLIDEGREE_PER_DEGREE);
+}
+
+static inline long deci_kelvin_to_celsius(long t)
+{
+ t = milli_kelvin_to_millicelsius(t * MILLIDEGREE_PER_DECIDEGREE);
+
+ return DIV_ROUND_CLOSEST(t, MILLIDEGREE_PER_DEGREE);
+}
+
+static inline long celsius_to_deci_kelvin(long t)
+{
+ t = millicelsius_to_milli_kelvin(t * MILLIDEGREE_PER_DEGREE);
+
+ return DIV_ROUND_CLOSEST(t, MILLIDEGREE_PER_DECIDEGREE);
+}
+
+/**
+ * deci_kelvin_to_millicelsius_with_offset - convert Kelvin to Celsius
+ * @t: temperature value in decidegrees Kelvin
+ * @offset: difference between Kelvin and Celsius in millidegrees
+ *
+ * Return: temperature value in millidegrees Celsius
+ */
+static inline long deci_kelvin_to_millicelsius_with_offset(long t, long offset)
+{
+ return t * MILLIDEGREE_PER_DECIDEGREE - offset;
+}
+
+static inline long deci_kelvin_to_millicelsius(long t)
+{
+ return milli_kelvin_to_millicelsius(t * MILLIDEGREE_PER_DECIDEGREE);
+}
+
+static inline long millicelsius_to_deci_kelvin(long t)
+{
+ t = millicelsius_to_milli_kelvin(t);
+
+ return DIV_ROUND_CLOSEST(t, MILLIDEGREE_PER_DECIDEGREE);
+}
+
+static inline long kelvin_to_celsius(long t)
+{
+ return t + DIV_ROUND_CLOSEST(ABSOLUTE_ZERO_MILLICELSIUS,
+ MILLIDEGREE_PER_DEGREE);
+}
+
+static inline long celsius_to_kelvin(long t)
+{
+ return t - DIV_ROUND_CLOSEST(ABSOLUTE_ZERO_MILLICELSIUS,
+ MILLIDEGREE_PER_DEGREE);
+}
+
+#endif /* _LINUX_UNITS_H */
--
2.7.4

2019-12-11 14:39:26

by Akinobu Mita

[permalink] [raw]
Subject: [PATCH v3 02/12] ACPI: thermal: switch to use <linux/units.h> helpers

This switches the ACPI thermal zone driver to use celsius_to_deci_kelvin(),
deci_kelvin_to_celsius(), and deci_kelvin_to_millicelsius_with_offset() in
<linux/units.h> instead of helpers in <linux/thermal.h>.

This is preparation for centralizing the kelvin to/from Celsius conversion
helpers in <linux/units.h>.

Cc: Sujith Thomas <[email protected]>
Cc: Darren Hart <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: Zhang Rui <[email protected]>
Cc: Daniel Lezcano <[email protected]>
Cc: Amit Kucheria <[email protected]>
Cc: Jean Delvare <[email protected]>
Cc: Guenter Roeck <[email protected]>
Cc: Keith Busch <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Sagi Grimberg <[email protected]>
Signed-off-by: Akinobu Mita <[email protected]>
---
* v3
- rename new header name from <linux/temperature.h> to <linux/units.h>

drivers/acpi/thermal.c | 36 ++++++++++++++++++++----------------
1 file changed, 20 insertions(+), 16 deletions(-)

diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
index d831a61..8a436f5 100644
--- a/drivers/acpi/thermal.c
+++ b/drivers/acpi/thermal.c
@@ -24,6 +24,7 @@
#include <linux/reboot.h>
#include <linux/device.h>
#include <linux/thermal.h>
+#include <linux/units.h>
#include <linux/acpi.h>
#include <linux/workqueue.h>
#include <linux/uaccess.h>
@@ -172,7 +173,7 @@ struct acpi_thermal {
struct acpi_handle_list devices;
struct thermal_zone_device *thermal_zone;
int tz_enabled;
- int kelvin_offset;
+ int kelvin_offset; /* in millidegrees */
struct work_struct thermal_check_work;
};

@@ -297,7 +298,9 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
if (crt == -1) {
tz->trips.critical.flags.valid = 0;
} else if (crt > 0) {
- unsigned long crt_k = CELSIUS_TO_DECI_KELVIN(crt);
+ unsigned long crt_k =
+ celsius_to_deci_kelvin(crt);
+
/*
* Allow override critical threshold
*/
@@ -333,7 +336,7 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
if (psv == -1) {
status = AE_SUPPORT;
} else if (psv > 0) {
- tmp = CELSIUS_TO_DECI_KELVIN(psv);
+ tmp = celsius_to_deci_kelvin(psv);
status = AE_OK;
} else {
status = acpi_evaluate_integer(tz->device->handle,
@@ -413,7 +416,7 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
break;
if (i == 1)
tz->trips.active[0].temperature =
- CELSIUS_TO_DECI_KELVIN(act);
+ celsius_to_deci_kelvin(act);
else
/*
* Don't allow override higher than
@@ -421,9 +424,9 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
*/
tz->trips.active[i - 1].temperature =
(tz->trips.active[i - 2].temperature <
- CELSIUS_TO_DECI_KELVIN(act) ?
+ celsius_to_deci_kelvin(act) ?
tz->trips.active[i - 2].temperature :
- CELSIUS_TO_DECI_KELVIN(act));
+ celsius_to_deci_kelvin(act));
break;
} else {
tz->trips.active[i].temperature = tmp;
@@ -519,7 +522,7 @@ static int thermal_get_temp(struct thermal_zone_device *thermal, int *temp)
if (result)
return result;

- *temp = DECI_KELVIN_TO_MILLICELSIUS_WITH_OFFSET(tz->temperature,
+ *temp = deci_kelvin_to_millicelsius_with_offset(tz->temperature,
tz->kelvin_offset);
return 0;
}
@@ -624,7 +627,7 @@ static int thermal_get_trip_temp(struct thermal_zone_device *thermal,

if (tz->trips.critical.flags.valid) {
if (!trip) {
- *temp = DECI_KELVIN_TO_MILLICELSIUS_WITH_OFFSET(
+ *temp = deci_kelvin_to_millicelsius_with_offset(
tz->trips.critical.temperature,
tz->kelvin_offset);
return 0;
@@ -634,7 +637,7 @@ static int thermal_get_trip_temp(struct thermal_zone_device *thermal,

if (tz->trips.hot.flags.valid) {
if (!trip) {
- *temp = DECI_KELVIN_TO_MILLICELSIUS_WITH_OFFSET(
+ *temp = deci_kelvin_to_millicelsius_with_offset(
tz->trips.hot.temperature,
tz->kelvin_offset);
return 0;
@@ -644,7 +647,7 @@ static int thermal_get_trip_temp(struct thermal_zone_device *thermal,

if (tz->trips.passive.flags.valid) {
if (!trip) {
- *temp = DECI_KELVIN_TO_MILLICELSIUS_WITH_OFFSET(
+ *temp = deci_kelvin_to_millicelsius_with_offset(
tz->trips.passive.temperature,
tz->kelvin_offset);
return 0;
@@ -655,7 +658,7 @@ static int thermal_get_trip_temp(struct thermal_zone_device *thermal,
for (i = 0; i < ACPI_THERMAL_MAX_ACTIVE &&
tz->trips.active[i].flags.valid; i++) {
if (!trip) {
- *temp = DECI_KELVIN_TO_MILLICELSIUS_WITH_OFFSET(
+ *temp = deci_kelvin_to_millicelsius_with_offset(
tz->trips.active[i].temperature,
tz->kelvin_offset);
return 0;
@@ -672,7 +675,7 @@ static int thermal_get_crit_temp(struct thermal_zone_device *thermal,
struct acpi_thermal *tz = thermal->devdata;

if (tz->trips.critical.flags.valid) {
- *temperature = DECI_KELVIN_TO_MILLICELSIUS_WITH_OFFSET(
+ *temperature = deci_kelvin_to_millicelsius_with_offset(
tz->trips.critical.temperature,
tz->kelvin_offset);
return 0;
@@ -692,7 +695,7 @@ static int thermal_get_trend(struct thermal_zone_device *thermal,

if (type == THERMAL_TRIP_ACTIVE) {
int trip_temp;
- int temp = DECI_KELVIN_TO_MILLICELSIUS_WITH_OFFSET(
+ int temp = deci_kelvin_to_millicelsius_with_offset(
tz->temperature, tz->kelvin_offset);
if (thermal_get_trip_temp(thermal, trip, &trip_temp))
return -EINVAL;
@@ -1043,9 +1046,9 @@ static void acpi_thermal_guess_offset(struct acpi_thermal *tz)
{
if (tz->trips.critical.flags.valid &&
(tz->trips.critical.temperature % 5) == 1)
- tz->kelvin_offset = 2731;
+ tz->kelvin_offset = 273100;
else
- tz->kelvin_offset = 2732;
+ tz->kelvin_offset = 273200;
}

static void acpi_thermal_check_fn(struct work_struct *work)
@@ -1087,7 +1090,8 @@ static int acpi_thermal_add(struct acpi_device *device)
INIT_WORK(&tz->thermal_check_work, acpi_thermal_check_fn);

pr_info(PREFIX "%s [%s] (%ld C)\n", acpi_device_name(device),
- acpi_device_bid(device), DECI_KELVIN_TO_CELSIUS(tz->temperature));
+ acpi_device_bid(device),
+ deci_kelvin_to_celsius(tz->temperature));
goto end;

free_memory:
--
2.7.4

2019-12-11 14:39:35

by Akinobu Mita

[permalink] [raw]
Subject: [PATCH v3 03/12] platform/x86: asus-wmi: switch to use <linux/units.h> helpers

The asus-wmi driver doesn't implement the thermal device functionality
directly, so including <linux/thermal.h> just for DECI_KELVIN_TO_CELSIUS()
is a bit odd.

This switches the asus-wmi driver to use deci_kelvin_to_millicelsius() in
<linux/units.h>.

Cc: Sujith Thomas <[email protected]>
Cc: Darren Hart <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: Zhang Rui <[email protected]>
Cc: Daniel Lezcano <[email protected]>
Cc: Amit Kucheria <[email protected]>
Cc: Jean Delvare <[email protected]>
Cc: Guenter Roeck <[email protected]>
Cc: Keith Busch <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Sagi Grimberg <[email protected]>
Acked-by: Andy Shevchenko <[email protected]>
Signed-off-by: Akinobu Mita <[email protected]>
---
* v3
- rename new header name from <linux/temperature.h> to <linux/units.h>

drivers/platform/x86/asus-wmi.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index 821b08e..ed74c0d 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -33,7 +33,7 @@
#include <linux/seq_file.h>
#include <linux/platform_data/x86/asus-wmi.h>
#include <linux/platform_device.h>
-#include <linux/thermal.h>
+#include <linux/units.h>
#include <linux/acpi.h>
#include <linux/dmi.h>

@@ -1512,9 +1512,8 @@ static ssize_t asus_hwmon_temp1(struct device *dev,
if (err < 0)
return err;

- value = DECI_KELVIN_TO_CELSIUS((value & 0xFFFF)) * 1000;
-
- return sprintf(buf, "%d\n", value);
+ return sprintf(buf, "%ld\n",
+ deci_kelvin_to_millicelsius(value & 0xFFFF));
}

/* Fan1 */
--
2.7.4

2019-12-11 14:39:46

by Akinobu Mita

[permalink] [raw]
Subject: [PATCH v3 04/12] platform/x86: intel_menlow: switch to use <linux/units.h> helpers

This switches the intel_menlow driver to use deci_kelvin_to_celsius() and
celsius_to_deci_kelvin() in <linux/units.h> instead of helpers in
<linux/thermal.h>.

This is preparation for centralizing the kelvin to/from Celsius conversion
helpers in <linux/units.h>.

This also removes a trailing space, while we're at it.

Cc: Sujith Thomas <[email protected]>
Cc: Darren Hart <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: Zhang Rui <[email protected]>
Cc: Daniel Lezcano <[email protected]>
Cc: Amit Kucheria <[email protected]>
Cc: Jean Delvare <[email protected]>
Cc: Guenter Roeck <[email protected]>
Cc: Keith Busch <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Sagi Grimberg <[email protected]>
Reviewed-by: Andy Shevchenko <[email protected]>
Signed-off-by: Akinobu Mita <[email protected]>
---
* v3
- rename new header name from <linux/temperature.h> to <linux/units.h>

drivers/platform/x86/intel_menlow.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/platform/x86/intel_menlow.c b/drivers/platform/x86/intel_menlow.c
index b102f6d..101d7e7 100644
--- a/drivers/platform/x86/intel_menlow.c
+++ b/drivers/platform/x86/intel_menlow.c
@@ -22,6 +22,7 @@
#include <linux/slab.h>
#include <linux/thermal.h>
#include <linux/types.h>
+#include <linux/units.h>

MODULE_AUTHOR("Thomas Sujith");
MODULE_AUTHOR("Zhang Rui");
@@ -302,8 +303,10 @@ static ssize_t aux_show(struct device *dev, struct device_attribute *dev_attr,
int result;

result = sensor_get_auxtrip(attr->handle, idx, &value);
+ if (result)
+ return result;

- return result ? result : sprintf(buf, "%lu", DECI_KELVIN_TO_CELSIUS(value));
+ return sprintf(buf, "%lu", deci_kelvin_to_celsius(value));
}

static ssize_t aux0_show(struct device *dev,
@@ -332,8 +335,8 @@ static ssize_t aux_store(struct device *dev, struct device_attribute *dev_attr,
if (value < 0)
return -EINVAL;

- result = sensor_set_auxtrip(attr->handle, idx,
- CELSIUS_TO_DECI_KELVIN(value));
+ result = sensor_set_auxtrip(attr->handle, idx,
+ celsius_to_deci_kelvin(value));
return result ? result : count;
}

--
2.7.4

2019-12-11 14:40:16

by Akinobu Mita

[permalink] [raw]
Subject: [PATCH v3 08/12] thermal: remove kelvin to/from Celsius conversion helpers from <linux/thermal.h>

This removes the kelvin to/from Celsius conversion helper macros in
<linux/thermal.h> which were switched to the inline helper functions
in <linux/units.h>.

Cc: Sujith Thomas <[email protected]>
Cc: Darren Hart <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: Zhang Rui <[email protected]>
Cc: Daniel Lezcano <[email protected]>
Cc: Amit Kucheria <[email protected]>
Cc: Jean Delvare <[email protected]>
Cc: Guenter Roeck <[email protected]>
Cc: Keith Busch <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Sagi Grimberg <[email protected]>
Signed-off-by: Akinobu Mita <[email protected]>
---
* No changes from v2

include/linux/thermal.h | 11 -----------
1 file changed, 11 deletions(-)

diff --git a/include/linux/thermal.h b/include/linux/thermal.h
index d9111ae..126913c6 100644
--- a/include/linux/thermal.h
+++ b/include/linux/thermal.h
@@ -32,17 +32,6 @@
/* use value, which < 0K, to indicate an invalid/uninitialized temperature */
#define THERMAL_TEMP_INVALID -274000

-/* Unit conversion macros */
-#define DECI_KELVIN_TO_CELSIUS(t) ({ \
- long _t = (t); \
- ((_t-2732 >= 0) ? (_t-2732+5)/10 : (_t-2732-5)/10); \
-})
-#define CELSIUS_TO_DECI_KELVIN(t) ((t)*10+2732)
-#define DECI_KELVIN_TO_MILLICELSIUS_WITH_OFFSET(t, off) (((t) - (off)) * 100)
-#define DECI_KELVIN_TO_MILLICELSIUS(t) DECI_KELVIN_TO_MILLICELSIUS_WITH_OFFSET(t, 2732)
-#define MILLICELSIUS_TO_DECI_KELVIN_WITH_OFFSET(t, off) (((t) / 100) + (off))
-#define MILLICELSIUS_TO_DECI_KELVIN(t) MILLICELSIUS_TO_DECI_KELVIN_WITH_OFFSET(t, 2732)
-
/* Default Thermal Governor */
#if defined(CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE)
#define DEFAULT_THERMAL_GOVERNOR "step_wise"
--
2.7.4

2019-12-11 14:40:25

by Akinobu Mita

[permalink] [raw]
Subject: [PATCH v3 06/12] thermal: intel_pch: switch to use <linux/units.h> helpers

This switches the intel pch thermal driver to use
deci_kelvin_to_millicelsius() in <linux/units.h> instead of helpers in
<linux/thermal.h>.

This is preparation for centralizing the kelvin to/from Celsius conversion
helpers in <linux/units.h>.

Cc: Sujith Thomas <[email protected]>
Cc: Darren Hart <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: Zhang Rui <[email protected]>
Cc: Daniel Lezcano <[email protected]>
Cc: Amit Kucheria <[email protected]>
Cc: Jean Delvare <[email protected]>
Cc: Guenter Roeck <[email protected]>
Cc: Keith Busch <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Sagi Grimberg <[email protected]>
Signed-off-by: Akinobu Mita <[email protected]>
---
* v3
- rename new header name from <linux/temperature.h> to <linux/units.h>

drivers/thermal/intel/intel_pch_thermal.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/thermal/intel/intel_pch_thermal.c b/drivers/thermal/intel/intel_pch_thermal.c
index 4f0bb8f..b118611 100644
--- a/drivers/thermal/intel/intel_pch_thermal.c
+++ b/drivers/thermal/intel/intel_pch_thermal.c
@@ -13,6 +13,7 @@
#include <linux/pci.h>
#include <linux/acpi.h>
#include <linux/thermal.h>
+#include <linux/units.h>
#include <linux/pm.h>

/* Intel PCH thermal Device IDs */
@@ -92,7 +93,7 @@ static void pch_wpt_add_acpi_psv_trip(struct pch_thermal_device *ptd,
if (ACPI_SUCCESS(status)) {
unsigned long trip_temp;

- trip_temp = DECI_KELVIN_TO_MILLICELSIUS(r);
+ trip_temp = deci_kelvin_to_millicelsius(r);
if (trip_temp) {
ptd->psv_temp = trip_temp;
ptd->psv_trip_id = *nr_trips;
--
2.7.4

2019-12-11 14:40:30

by Akinobu Mita

[permalink] [raw]
Subject: [PATCH v3 07/12] nvme: hwmon: switch to use <linux/units.h> helpers

This switches the nvme driver to use kelvin_to_millicelsius() and
millicelsius_to_kelvin() in <linux/units.h>.

Cc: Sujith Thomas <[email protected]>
Cc: Darren Hart <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: Zhang Rui <[email protected]>
Cc: Daniel Lezcano <[email protected]>
Cc: Amit Kucheria <[email protected]>
Cc: Jean Delvare <[email protected]>
Cc: Guenter Roeck <[email protected]>
Cc: Keith Busch <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Sagi Grimberg <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Reviewed-by: Guenter Roeck <[email protected]>
Signed-off-by: Akinobu Mita <[email protected]>
---
* v3
- rename new header name from <linux/temperature.h> to <linux/units.h>

drivers/nvme/host/hwmon.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/nvme/host/hwmon.c b/drivers/nvme/host/hwmon.c
index a5af21f..2e6477e 100644
--- a/drivers/nvme/host/hwmon.c
+++ b/drivers/nvme/host/hwmon.c
@@ -5,14 +5,11 @@
*/

#include <linux/hwmon.h>
+#include <linux/units.h>
#include <asm/unaligned.h>

#include "nvme.h"

-/* These macros should be moved to linux/temperature.h */
-#define MILLICELSIUS_TO_KELVIN(t) DIV_ROUND_CLOSEST((t) + 273150, 1000)
-#define KELVIN_TO_MILLICELSIUS(t) ((t) * 1000L - 273150)
-
struct nvme_hwmon_data {
struct nvme_ctrl *ctrl;
struct nvme_smart_log log;
@@ -35,7 +32,7 @@ static int nvme_get_temp_thresh(struct nvme_ctrl *ctrl, int sensor, bool under,
return -EIO;
if (ret < 0)
return ret;
- *temp = KELVIN_TO_MILLICELSIUS(status & NVME_TEMP_THRESH_MASK);
+ *temp = kelvin_to_millicelsius(status & NVME_TEMP_THRESH_MASK);

return 0;
}
@@ -46,7 +43,7 @@ static int nvme_set_temp_thresh(struct nvme_ctrl *ctrl, int sensor, bool under,
unsigned int threshold = sensor << NVME_TEMP_THRESH_SELECT_SHIFT;
int ret;

- temp = MILLICELSIUS_TO_KELVIN(temp);
+ temp = millicelsius_to_kelvin(temp);
threshold |= clamp_val(temp, 0, NVME_TEMP_THRESH_MASK);

if (under)
@@ -88,7 +85,7 @@ static int nvme_hwmon_read(struct device *dev, enum hwmon_sensor_types type,
case hwmon_temp_min:
return nvme_get_temp_thresh(data->ctrl, channel, true, val);
case hwmon_temp_crit:
- *val = KELVIN_TO_MILLICELSIUS(data->ctrl->cctemp);
+ *val = kelvin_to_millicelsius(data->ctrl->cctemp);
return 0;
default:
break;
@@ -105,7 +102,7 @@ static int nvme_hwmon_read(struct device *dev, enum hwmon_sensor_types type,
temp = get_unaligned_le16(log->temperature);
else
temp = le16_to_cpu(log->temp_sensor[channel - 1]);
- *val = KELVIN_TO_MILLICELSIUS(temp);
+ *val = kelvin_to_millicelsius(temp);
break;
case hwmon_temp_alarm:
*val = !!(log->critical_warning & NVME_SMART_CRIT_TEMPERATURE);
--
2.7.4

2019-12-11 14:40:35

by Akinobu Mita

[permalink] [raw]
Subject: [PATCH v3 12/12] iio: adc: qcom-vadc-common: use <linux/units.h> helpers

This switches the qcom-vadc-common to use milli_kelvin_to_millicelsius()
in <linux/units.h>.

Cc: Jonathan Cameron <[email protected]>
Cc: Hartmut Knaack <[email protected]>
Cc: Lars-Peter Clausen <[email protected]>
Cc: Peter Meerwald-Stadler <[email protected]>
Signed-off-by: Akinobu Mita <[email protected]>
---
* New patch from v3

drivers/iio/adc/qcom-vadc-common.c | 6 +++---
drivers/iio/adc/qcom-vadc-common.h | 1 -
2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/iio/adc/qcom-vadc-common.c b/drivers/iio/adc/qcom-vadc-common.c
index dcd7fb5..2bb78d1 100644
--- a/drivers/iio/adc/qcom-vadc-common.c
+++ b/drivers/iio/adc/qcom-vadc-common.c
@@ -6,6 +6,7 @@
#include <linux/log2.h>
#include <linux/err.h>
#include <linux/module.h>
+#include <linux/units.h>

#include "qcom-vadc-common.h"

@@ -236,8 +237,7 @@ static int qcom_vadc_scale_die_temp(const struct vadc_linear_graph *calib_graph,
voltage = 0;
}

- voltage -= KELVINMIL_CELSIUSMIL;
- *result_mdec = voltage;
+ *result_mdec = milli_kelvin_to_millicelsius(voltage);

return 0;
}
@@ -325,7 +325,7 @@ static int qcom_vadc_scale_hw_calib_die_temp(
{
*result_mdec = qcom_vadc_scale_code_voltage_factor(adc_code,
prescale, data, 2);
- *result_mdec -= KELVINMIL_CELSIUSMIL;
+ *result_mdec = milli_kelvin_to_millicelsius(*result_mdec);

return 0;
}
diff --git a/drivers/iio/adc/qcom-vadc-common.h b/drivers/iio/adc/qcom-vadc-common.h
index bbb1fa0..e074902a 100644
--- a/drivers/iio/adc/qcom-vadc-common.h
+++ b/drivers/iio/adc/qcom-vadc-common.h
@@ -38,7 +38,6 @@
#define VADC_AVG_SAMPLES_MAX 512
#define ADC5_AVG_SAMPLES_MAX 16

-#define KELVINMIL_CELSIUSMIL 273150
#define PMIC5_CHG_TEMP_SCALE_FACTOR 377500
#define PMIC5_SMB_TEMP_CONSTANT 419400
#define PMIC5_SMB_TEMP_SCALE_FACTOR 356
--
2.7.4

2019-12-11 14:40:38

by Akinobu Mita

[permalink] [raw]
Subject: [PATCH v3 10/12] wireless: iwlwifi: use <linux/units.h> helpers

This switches the iwlwifi driver to use celsius_to_kelvin() and
kelvin_to_celsius() in <linux/units.h>.

Cc: Kalle Valo <[email protected]>
Cc: Johannes Berg <[email protected]>
Cc: Emmanuel Grumbach <[email protected]>
Cc: Luca Coelho <[email protected]>
Cc: Intel Linux Wireless <[email protected]>
Signed-off-by: Akinobu Mita <[email protected]>
---
* New patch from v3

drivers/net/wireless/intel/iwlwifi/dvm/dev.h | 5 -----
drivers/net/wireless/intel/iwlwifi/dvm/devices.c | 6 ++++--
2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/dev.h b/drivers/net/wireless/intel/iwlwifi/dvm/dev.h
index be5ef4c..8d83800 100644
--- a/drivers/net/wireless/intel/iwlwifi/dvm/dev.h
+++ b/drivers/net/wireless/intel/iwlwifi/dvm/dev.h
@@ -237,11 +237,6 @@ struct iwl_sensitivity_ranges {
u16 nrg_th_cca;
};

-
-#define KELVIN_TO_CELSIUS(x) ((x)-273)
-#define CELSIUS_TO_KELVIN(x) ((x)+273)
-
-
/******************************************************************************
*
* Functions implemented in core module which are forward declared here
diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/devices.c b/drivers/net/wireless/intel/iwlwifi/dvm/devices.c
index dc3f197..d42bc46 100644
--- a/drivers/net/wireless/intel/iwlwifi/dvm/devices.c
+++ b/drivers/net/wireless/intel/iwlwifi/dvm/devices.c
@@ -10,6 +10,8 @@
*
*****************************************************************************/

+#include <linux/units.h>
+
/*
* DVM device-specific data & functions
*/
@@ -345,7 +347,7 @@ static s32 iwl_temp_calib_to_offset(struct iwl_priv *priv)
static void iwl5150_set_ct_threshold(struct iwl_priv *priv)
{
const s32 volt2temp_coef = IWL_5150_VOLTAGE_TO_TEMPERATURE_COEFF;
- s32 threshold = (s32)CELSIUS_TO_KELVIN(CT_KILL_THRESHOLD_LEGACY) -
+ s32 threshold = (s32)celsius_to_kelvin(CT_KILL_THRESHOLD_LEGACY) -
iwl_temp_calib_to_offset(priv);

priv->hw_params.ct_kill_threshold = threshold * volt2temp_coef;
@@ -381,7 +383,7 @@ static void iwl5150_temperature(struct iwl_priv *priv)
vt = le32_to_cpu(priv->statistics.common.temperature);
vt = vt / IWL_5150_VOLTAGE_TO_TEMPERATURE_COEFF + offset;
/* now vt hold the temperature in Kelvin */
- priv->temperature = KELVIN_TO_CELSIUS(vt);
+ priv->temperature = kelvin_to_celsius(vt);
iwl_tt_handler(priv);
}

--
2.7.4

2019-12-11 15:32:30

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v3 03/12] platform/x86: asus-wmi: switch to use <linux/units.h> helpers

On Wed, Dec 11, 2019 at 4:39 PM Akinobu Mita <[email protected]> wrote:
>
> The asus-wmi driver doesn't implement the thermal device functionality
> directly, so including <linux/thermal.h> just for DECI_KELVIN_TO_CELSIUS()
> is a bit odd.
>
> This switches the asus-wmi driver to use deci_kelvin_to_millicelsius() in
> <linux/units.h>.

> @@ -33,7 +33,7 @@
> #include <linux/seq_file.h>
> #include <linux/platform_data/x86/asus-wmi.h>
> #include <linux/platform_device.h>
> -#include <linux/thermal.h>
> +#include <linux/units.h>
> #include <linux/acpi.h>
> #include <linux/dmi.h>

Similar comment about ordering. Can we move it to the end after dmi.h?

> - return sprintf(buf, "%d\n", value);

> + return sprintf(buf, "%ld\n",

%d -> %ld must be explained in the commit message (e.g. "due to
function returned type).

> + deci_kelvin_to_millicelsius(value & 0xFFFF));

I prefer to have this in one line.

--
With Best Regards,
Andy Shevchenko

2019-12-11 15:32:30

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v3 02/12] ACPI: thermal: switch to use <linux/units.h> helpers

On Wed, Dec 11, 2019 at 4:39 PM Akinobu Mita <[email protected]> wrote:
>
> This switches the ACPI thermal zone driver to use celsius_to_deci_kelvin(),
> deci_kelvin_to_celsius(), and deci_kelvin_to_millicelsius_with_offset() in
> <linux/units.h> instead of helpers in <linux/thermal.h>.
>
> This is preparation for centralizing the kelvin to/from Celsius conversion
> helpers in <linux/units.h>.

> #include <linux/reboot.h>
> #include <linux/device.h>
> #include <linux/thermal.h>

> +#include <linux/units.h>

Can we try to keep *some* order, i.e. put this after acpi.h below?

> #include <linux/acpi.h>
> #include <linux/workqueue.h>
> #include <linux/uaccess.h>

> } else if (crt > 0) {
> - unsigned long crt_k = CELSIUS_TO_DECI_KELVIN(crt);
> + unsigned long crt_k =
> + celsius_to_deci_kelvin(crt);

It used to be one line, why do two?

> pr_info(PREFIX "%s [%s] (%ld C)\n", acpi_device_name(device),
> - acpi_device_bid(device), DECI_KELVIN_TO_CELSIUS(tz->temperature));
> + acpi_device_bid(device),
> + deci_kelvin_to_celsius(tz->temperature));

Ditto.

--
With Best Regards,
Andy Shevchenko

2019-12-11 15:35:34

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v3 00/12] add header file for kelvin to/from Celsius conversion helpers

On Wed, Dec 11, 2019 at 4:38 PM Akinobu Mita <[email protected]> wrote:
>
> There are several helper macros to convert kelvin to/from Celsius in
> <linux/thermal.h> for thermal drivers. These are useful for any other
> drivers or subsystems, but it's odd to include <linux/thermal.h> just for
> the helpers.
>
> This adds a new <linux/units.h> that provides the equivalent inline
> functions for any drivers or subsystems, and switches all the users of
> conversion helpers in <linux/thermal.h> to use <linux/units.h>
> helpers.
>

Thank you for an update.

For non-commented patches
Reviewed-by: Andy Shevchenko <[email protected]>

> * v3
> - rename new header name from <linux/temperature.h> to <linux/units.h>
> - add milli_kelvin_to_millicelsius() and millicelsius_to_milli_kelvin() and
> use them for implementing other helpers
> - add MILLIDEGREE_PER_DEGREE and MILLIDEGREE_PER_DECIDEGREE and replace
> the hardcoded constants
> - add kelvin_to_celsius() and celsius_to_kelvin() in <linux/units.h>
> - add Reviewed-by tags
> - switch iwlegacy driver to use <linux/units.h> helpers
> - switch iwlwifi driver to use <linux/units.h> helpers
> - remove unused TO_MCELSIUS macro in armada thermal driver
> - switch qcom-vadc-common module to use <linux/units.h> helpers
>
> * v2
> - add deci_kelvin_to_millicelsius_with_offset() in linux/temperature.h
> - stop including linux/temperature.h from linux/thermal.h
> - include <linux/temperature.h> explicitly from thermal drivers
> - fix s/temprature/temperature/ typo in commit log
> - use deci_kelvin_to_millicelsius_with_offset() in ACPI thermal zone driver
> - don't mix up another fix (format string for cellsius value)
> - add Acked-by and Reviewed-by tags
>
> Akinobu Mita (12):
> add helpers for kelvin to/from Celsius conversion
> ACPI: thermal: switch to use <linux/units.h> helpers
> platform/x86: asus-wmi: switch to use <linux/units.h> helpers
> platform/x86: intel_menlow: switch to use <linux/units.h> helpers
> thermal: int340x: switch to use <linux/units.h> helpers
> thermal: intel_pch: switch to use <linux/units.h> helpers
> nvme: hwmon: switch to use <linux/units.h> helpers
> thermal: remove kelvin to/from Celsius conversion helpers from
> <linux/thermal.h>
> wireless: iwlegacy: use <linux/units.h> helpers
> wireless: iwlwifi: use <linux/units.h> helpers
> thermal: armada: remove unused TO_MCELSIUS macro
> iio: adc: qcom-vadc-common: use <linux/units.h> helpers
>
> drivers/acpi/thermal.c | 36 +++++-----
> drivers/iio/adc/qcom-vadc-common.c | 6 +-
> drivers/iio/adc/qcom-vadc-common.h | 1 -
> drivers/net/wireless/intel/iwlegacy/4965-mac.c | 3 +-
> drivers/net/wireless/intel/iwlegacy/4965.c | 11 +--
> drivers/net/wireless/intel/iwlegacy/common.h | 3 -
> drivers/net/wireless/intel/iwlwifi/dvm/dev.h | 5 --
> drivers/net/wireless/intel/iwlwifi/dvm/devices.c | 6 +-
> drivers/nvme/host/hwmon.c | 13 ++--
> drivers/platform/x86/asus-wmi.c | 7 +-
> drivers/platform/x86/intel_menlow.c | 9 ++-
> drivers/thermal/armada_thermal.c | 2 -
> .../intel/int340x_thermal/int340x_thermal_zone.c | 7 +-
> drivers/thermal/intel/intel_pch_thermal.c | 3 +-
> include/linux/thermal.h | 11 ---
> include/linux/units.h | 84 ++++++++++++++++++++++
> 16 files changed, 139 insertions(+), 68 deletions(-)
> create mode 100644 include/linux/units.h
>
> Cc: Sujith Thomas <[email protected]>
> Cc: Darren Hart <[email protected]>
> Cc: Andy Shevchenko <[email protected]>
> Cc: Zhang Rui <[email protected]>
> Cc: Daniel Lezcano <[email protected]>
> Cc: Amit Kucheria <[email protected]>
> Cc: Jean Delvare <[email protected]>
> Cc: Guenter Roeck <[email protected]>
> Cc: Keith Busch <[email protected]>
> Cc: Jens Axboe <[email protected]>
> Cc: Christoph Hellwig <[email protected]>
> Cc: Sagi Grimberg <[email protected]>
> Cc: Kalle Valo <[email protected]>
> Cc: Stanislaw Gruszka <[email protected]>
> Cc: Johannes Berg <[email protected]>
> Cc: Emmanuel Grumbach <[email protected]>
> Cc: Luca Coelho <[email protected]>
> Cc: Intel Linux Wireless <[email protected]>
> Cc: Jonathan Cameron <[email protected]>
> Cc: Hartmut Knaack <[email protected]>
> Cc: Lars-Peter Clausen <[email protected]>
> Cc: Peter Meerwald-Stadler <[email protected]>
> --
> 2.7.4
>


--
With Best Regards,
Andy Shevchenko

2019-12-13 04:06:45

by Akinobu Mita

[permalink] [raw]
Subject: Re: [PATCH v3 02/12] ACPI: thermal: switch to use <linux/units.h> helpers

2019年12月12日(木) 0:29 Andy Shevchenko <[email protected]>:
>
> On Wed, Dec 11, 2019 at 4:39 PM Akinobu Mita <[email protected]> wrote:
> >
> > This switches the ACPI thermal zone driver to use celsius_to_deci_kelvin(),
> > deci_kelvin_to_celsius(), and deci_kelvin_to_millicelsius_with_offset() in
> > <linux/units.h> instead of helpers in <linux/thermal.h>.
> >
> > This is preparation for centralizing the kelvin to/from Celsius conversion
> > helpers in <linux/units.h>.
>
> > #include <linux/reboot.h>
> > #include <linux/device.h>
> > #include <linux/thermal.h>
>
> > +#include <linux/units.h>
>
> Can we try to keep *some* order, i.e. put this after acpi.h below?

OK.

> > #include <linux/acpi.h>
> > #include <linux/workqueue.h>
> > #include <linux/uaccess.h>
>
> > } else if (crt > 0) {
> > - unsigned long crt_k = CELSIUS_TO_DECI_KELVIN(crt);
> > + unsigned long crt_k =
> > + celsius_to_deci_kelvin(crt);
>
> It used to be one line, why do two?

Because this line over 80 characters. This patch doesn't make this line
longer, but checkpatch.pl complains about it.

> > pr_info(PREFIX "%s [%s] (%ld C)\n", acpi_device_name(device),
> > - acpi_device_bid(device), DECI_KELVIN_TO_CELSIUS(tz->temperature));
> > + acpi_device_bid(device),
> > + deci_kelvin_to_celsius(tz->temperature));
>
> Ditto.

Same as above, checkpatch.pl complains about line over 80 characters.

2019-12-13 04:07:36

by Akinobu Mita

[permalink] [raw]
Subject: Re: [PATCH v3 03/12] platform/x86: asus-wmi: switch to use <linux/units.h> helpers

2019年12月12日(木) 0:32 Andy Shevchenko <[email protected]>:

>
> On Wed, Dec 11, 2019 at 4:39 PM Akinobu Mita <[email protected]> wrote:
> >
> > The asus-wmi driver doesn't implement the thermal device functionality
> > directly, so including <linux/thermal.h> just for DECI_KELVIN_TO_CELSIUS()
> > is a bit odd.
> >
> > This switches the asus-wmi driver to use deci_kelvin_to_millicelsius() in
> > <linux/units.h>.
>
> > @@ -33,7 +33,7 @@
> > #include <linux/seq_file.h>
> > #include <linux/platform_data/x86/asus-wmi.h>
> > #include <linux/platform_device.h>
> > -#include <linux/thermal.h>
> > +#include <linux/units.h>
> > #include <linux/acpi.h>
> > #include <linux/dmi.h>
>
> Similar comment about ordering. Can we move it to the end after dmi.h?

OK.

> > - return sprintf(buf, "%d\n", value);
>
> > + return sprintf(buf, "%ld\n",
>
> %d -> %ld must be explained in the commit message (e.g. "due to
> function returned type).

OK.

> > + deci_kelvin_to_millicelsius(value & 0xFFFF));
>
> I prefer to have this in one line.

It causes line over 80 characters.
We had the same conversation in v1 :)

2019-12-13 09:09:37

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v3 02/12] ACPI: thermal: switch to use <linux/units.h> helpers

On Fri, Dec 13, 2019 at 6:03 AM Akinobu Mita <[email protected]> wrote:
> 2019年12月12日(木) 0:29 Andy Shevchenko <[email protected]>:
> > On Wed, Dec 11, 2019 at 4:39 PM Akinobu Mita <[email protected]> wrote:

> > > } else if (crt > 0) {
> > > - unsigned long crt_k = CELSIUS_TO_DECI_KELVIN(crt);
> > > + unsigned long crt_k =
> > > + celsius_to_deci_kelvin(crt);
> >
> > It used to be one line, why do two?
>
> Because this line over 80 characters. This patch doesn't make this line
> longer, but checkpatch.pl complains about it.

I'm not a maintainer here, but as it was before why not to leave as is
(in terms of line length)?
Supposedly maintainers are okay with it.

> > > pr_info(PREFIX "%s [%s] (%ld C)\n", acpi_device_name(device),
> > > - acpi_device_bid(device), DECI_KELVIN_TO_CELSIUS(tz->temperature));
> > > + acpi_device_bid(device),
> > > + deci_kelvin_to_celsius(tz->temperature));
> >
> > Ditto.
>
> Same as above, checkpatch.pl complains about line over 80 characters.

Same as above.

P.S. checkpatch is recommendation, and not something one must follow.

--
With Best Regards,
Andy Shevchenko

2019-12-13 09:22:01

by Luca Coelho

[permalink] [raw]
Subject: Re: [PATCH v3 10/12] wireless: iwlwifi: use <linux/units.h> helpers

On Wed, 2019-12-11 at 23:38 +0900, Akinobu Mita wrote:
> This switches the iwlwifi driver to use celsius_to_kelvin() and
> kelvin_to_celsius() in <linux/units.h>.
>
> Cc: Kalle Valo <[email protected]>
> Cc: Johannes Berg <[email protected]>
> Cc: Emmanuel Grumbach <[email protected]>
> Cc: Luca Coelho <[email protected]>
> Cc: Intel Linux Wireless <[email protected]>
> Signed-off-by: Akinobu Mita <[email protected]>
> ---

Acked-by: Luca Coelho <[email protected]>

--
Cheers,
Luca.