lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250304-ntc_min_max-v1-1-b08e70e56459@gocontroll.com>
Date: Tue, 04 Mar 2025 09:24:43 +0100
From: Maud Spierings via B4 Relay <devnull+maudspierings.gocontroll.com@...nel.org>
To: Jean Delvare <jdelvare@...e.com>, Guenter Roeck <linux@...ck-us.net>
Cc: linux-hwmon@...r.kernel.org, linux-kernel@...r.kernel.org, 
 Maud Spierings <maudspierings@...ontroll.com>
Subject: [PATCH] hwmon: (ntc_thermistor) Add min and max temperature
 attributes

From: Maud Spierings <maudspierings@...ontroll.com>

Add the min and max temperature attributes as it is trivial for this
driver.

This can help with detecting implausible readings and indicates to users
which range they can actually measure, so they will not set a trip point
at a temperature higher than max or lower than min.

This implementation only works for ntcs, if a ptc gets added this will
have to be changed, but I'm not sure if that is ever the intention.

Signed-off-by: Maud Spierings <maudspierings@...ontroll.com>
---
 drivers/hwmon/ntc_thermistor.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/hwmon/ntc_thermistor.c b/drivers/hwmon/ntc_thermistor.c
index 0d29c8f97ba7c2f264588b6309b91ca494012ad6..fecee177be5daf304c0521a74f2733f6e42567e0 100644
--- a/drivers/hwmon/ntc_thermistor.c
+++ b/drivers/hwmon/ntc_thermistor.c
@@ -522,6 +522,12 @@ static int ntc_read(struct device *dev, enum hwmon_sensor_types type,
 		case hwmon_temp_type:
 			*val = 4;
 			return 0;
+		case hwmon_temp_min:
+			*val = data->comp[0].temp_c*1000;
+			return 0;
+		case hwmon_temp_max:
+			*val = data->comp[data->n_comp-1].temp_c*1000;
+			return 0;
 		default:
 			break;
 		}
@@ -539,6 +545,8 @@ static umode_t ntc_is_visible(const void *data, enum hwmon_sensor_types type,
 		switch (attr) {
 		case hwmon_temp_input:
 		case hwmon_temp_type:
+		case hwmon_temp_min:
+		case hwmon_temp_max:
 			return 0444;
 		default:
 			break;
@@ -549,7 +557,8 @@ static umode_t ntc_is_visible(const void *data, enum hwmon_sensor_types type,
 
 static const struct hwmon_channel_info * const ntc_info[] = {
 	HWMON_CHANNEL_INFO(chip, HWMON_C_REGISTER_TZ),
-	HWMON_CHANNEL_INFO(temp, HWMON_T_INPUT | HWMON_T_TYPE),
+	HWMON_CHANNEL_INFO(temp, HWMON_T_INPUT | HWMON_T_TYPE | HWMON_T_MIN |
+					 HWMON_T_MAX),
 	NULL
 };
 

---
base-commit: cd3215bbcb9d4321def93fea6cfad4d5b42b9d1d
change-id: 20250304-ntc_min_max-a925e87d0da7

Best regards,
-- 
Maud Spierings <maudspierings@...ontroll.com>



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ