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

From: Akinobu Mita
Date: Wed Dec 11 2019 - 09:38:51 EST


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 <sujith.thomas@xxxxxxxxx>
Cc: Darren Hart <dvhart@xxxxxxxxxxxxx>
Cc: Andy Shevchenko <andy@xxxxxxxxxxxxx>
Cc: Zhang Rui <rui.zhang@xxxxxxxxx>
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: Amit Kucheria <amit.kucheria@xxxxxxxxxxxxx>
Cc: Jean Delvare <jdelvare@xxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: Keith Busch <kbusch@xxxxxxxxxx>
Cc: Jens Axboe <axboe@xxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Sagi Grimberg <sagi@xxxxxxxxxxx>
Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
Cc: Stanislaw Gruszka <sgruszka@xxxxxxxxxx>
Cc: Johannes Berg <johannes.berg@xxxxxxxxx>
Cc: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Cc: Luca Coelho <luciano.coelho@xxxxxxxxx>
Cc: Intel Linux Wireless <linuxwifi@xxxxxxxxx>
Cc: Jonathan Cameron <jic23@xxxxxxxxxx>
Cc: Hartmut Knaack <knaack.h@xxxxxx>
Cc: Lars-Peter Clausen <lars@xxxxxxxxxx>
Cc: Peter Meerwald-Stadler <pmeerw@xxxxxxxxxx>
--
2.7.4