According to the NVMe specification, the over temperature threshold and under temperature threshold features shall be implemented for Composite Temperature if a non-zero WCTEMP field value is reported in the Identify Controller data structure. The features are also implemented for all implemented temperature sensors (i.e., all Temperature Sensor fields that report a non-zero value). This provides the over temperature threshold and under temperature threshold for each sensor as temperature min and max values of hwmon sysfs attributes. This patch depends on the patch "nvme: Add hardware monitoring support". (http://lists.infradead.org/pipermail/linux-nvme/2019-November/027883.html) * v2 - Add helper macros for kelvin from/to milli Celsius conversion - Remove alarm attributes for each implemented temperature sensor - Use u32 variable for the last parameter of nvme_get_features() - Use NULL for the unused last parameter of nvme_set_features() - Avoid ternary operator - Adjust temperature value ranges with clamp_val() - Don't use WCTEMP after initialization - Avoid accessing negative index when WCTEMP == 0 - Add a new quirk to avoid changing temperature threshold Akinobu Mita (2): nvme: hwmon: provide temperature min and max values for each sensor nvme: hwmon: add quirk to avoid changing temperature threshold drivers/nvme/host/nvme-hwmon.c | 110 +++++++++++++++++++++++++++++++++++------ drivers/nvme/host/nvme.h | 5 ++ drivers/nvme/host/pci.c | 3 +- include/linux/nvme.h | 6 +++ 4 files changed, 107 insertions(+), 17 deletions(-) Cc: Keith Busch <kbusch@xxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Sagi Grimberg <sagi@xxxxxxxxxxx> Cc: Jean Delvare <jdelvare@xxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> -- 2.7.4