sensors_temperature_type_name: New library function

Decode temperature sensor type to a string.

Add enum for temperature types.

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
This commit is contained in:
Michal Suchanek committed 2024-01-06 23:04:46 +01:00
1 parent 0c097bfca4
commit 502ce051fe
3 files changed
+30 -17

No files matched your search

+19
View File
@@ -292,3 +292,22 @@ int sensors_substitute_busses(void)
sensors_config_chips_subst = sensors_config_chips_count;
return res;
}
const char *sensors_temp_type_name(sensors_temp_type sens)
{
/* older kernels / drivers sometimes report a beta value for
thermistors */
if (sens > 1000)
sens = SENSORS_TEMP_THERMISTOR;
switch (sens) {
case SENSORS_TEMP_DISABLED: return "disabled";
case SENSORS_TEMP_CPU_DIODE: return "CPU diode";
case SENSORS_TEMP_TRANSISTOR: return "transistor";
case SENSORS_TEMP_THERMAL_DIODE: return "thermal diode";
case SENSORS_TEMP_THERMISTOR: return "thermistor";
case SENSORS_TEMP_AMD_AMDSI: return "AMD AMDSI";
case SENSORS_TEMP_INTEL_PECI: return "Intel PECI";
}
return "unknown";
}
+1
View File
@@ -15,6 +15,7 @@ global:
sensors_parse_chip_name;
sensors_set_value;
sensors_snprintf_chip_name;
sensors_temp_type_name;
sensors_get_quantity;
sensors_strerror;
sensors_parse_error;
+10 -17
View File
@@ -276,24 +276,17 @@ typedef struct sensors_quantity {
const sensors_quantity *sensors_get_quantity(sensors_subfeature_type) __attribute__ ((const));
static inline const char *sensors_temp_type_name(int sens)
{
/* older kernels / drivers sometimes report a beta value for
thermistors */
if (sens > 1000)
sens = 4;
typedef enum sensors_temp_type {
SENSORS_TEMP_DISABLED,
SENSORS_TEMP_CPU_DIODE,
SENSORS_TEMP_TRANSISTOR,
SENSORS_TEMP_THERMAL_DIODE,
SENSORS_TEMP_THERMISTOR,
SENSORS_TEMP_AMD_AMDSI,
SENSORS_TEMP_INTEL_PECI,
} sensors_temp_type;
switch (sens) {
case 0: return "disabled";
case 1: return "CPU diode";
case 2: return "transistor";
case 3: return "thermal diode";
case 4: return "thermistor";
case 5: return "AMD AMDSI";
case 6: return "Intel PECI";
default: return "unknown";
}
}
const char *sensors_temp_type_name(sensors_temp_type sens);
/* Data about a single chip feature (or category leader) */
struct sensors_feature {