Unknown chip support

Some basic support, in the form of sensors_get_all_features(), for chips that
are known to the library, but unknown to the application. prog/sensors has
a demo of how to use this, in function print_unknown_chip in chips.c.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@110 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
Frodo Looijaard committed 1998-12-24 18:40:58 +00:00
1 parent dc9ff8085a
commit 2b415b8690
8 files changed
+282 -175

No files matched your search

+33 -2
View File
@@ -172,7 +172,7 @@ int sensors_get_feature(sensors_chip_name name, int feature, double *result)
sensors_lookup_feature_nr(name.prefix,
main_feature->compute_mapping)))
return -SENSORS_ERR_NO_ENTRY;
if (! (main_feature->mode && SENSORS_R))
if (! (main_feature->mode && SENSORS_MODE_R))
return -SENSORS_ERR_ACCESS;
for (chip = NULL; !expr && (chip = sensors_for_all_config_chips(name,chip));)
for (i = 0; !final_expr && (i < chip->computes_count); i++) {
@@ -206,7 +206,7 @@ int sensors_set_feature(sensors_chip_name name, int feature, double value)
return -SENSORS_ERR_WILDCARDS;
if (! (featureptr = sensors_lookup_feature_nr(name.prefix,feature)))
return -SENSORS_ERR_NO_ENTRY;
if (! (featureptr->mode && SENSORS_W))
if (! (featureptr->mode && SENSORS_MODE_W))
return -SENSORS_ERR_ACCESS;
for (chip = NULL; !expr && (chip = sensors_for_all_config_chips(name,chip));)
for (i = 0; !expr && (i < chip->computes_count); i++)
@@ -249,3 +249,34 @@ const char *sensors_get_algorithm_name(int bus_nr)
return sensors_proc_bus[i].algorithm;
return NULL;
}
/* nr1-1 is the last main feature found; nr2-1 is the last subfeature found */
const sensors_feature_data *sensors_get_all_features (sensors_chip_name name,
int *nr1, int*nr2)
{
sensors_chip_feature *feature_list;
int i;
for (i = 0; sensors_chip_features_list[i].prefix; i++)
if (!strcmp(sensors_chip_features_list[i].prefix,name.prefix)) {
feature_list=sensors_chip_features_list[i].feature;
if (!*nr1 && !*nr2) { /* Return the first entry */
if (!feature_list[0].name) /* The list may be empty */
return NULL;
*nr1 = *nr2 = 1;
return (sensors_feature_data *) (feature_list + 0);
}
for ((*nr2)++; feature_list[*nr2-1].name; (*nr2)++)
if (feature_list[*nr2-1].logical_mapping == feature_list[*nr1-1].number)
return (sensors_feature_data *) (feature_list + *nr2 - 1);
for ((*nr1)++; feature_list[*nr1-1].name &&
(feature_list[*nr1-1].logical_mapping != SENSORS_NO_MAPPING);
(*nr1)++);
*nr2 = *nr1;
if (! feature_list[*nr1-1].name)
return NULL;
return (sensors_feature_data *) (feature_list + *nr1 - 1);
}
return NULL;
}
-7
View File
@@ -39,13 +39,6 @@ typedef struct sensors_chip_features {
struct sensors_chip_feature *feature;
} sensors_chip_features;
#define SENSORS_NO_RW 0
#define SENSORS_R 1
#define SENSORS_W 2
#define SENSORS_RW 3
#define SENSORS_NO_MAPPING -1
extern sensors_chip_features sensors_chip_features_list[];
/* Returns, one by one, a pointer to all sensor_chip structs of the
+176 -165
View File
@@ -19,6 +19,7 @@
#include "chips.h"
#include "access.h"
#include "sensors.h"
#include "src/sensors.h"
/* For each chip, a list of features;
@@ -40,237 +41,243 @@
static sensors_chip_feature lm78_features[] =
{
{ SENSORS_LM78_IN0, "in0", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN0, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN0, VALUE(3), 2 },
{ SENSORS_LM78_IN1, "in1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN1, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN1, VALUE(3), 2 },
{ SENSORS_LM78_IN2, "in2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN2, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN2, VALUE(3), 2 },
{ SENSORS_LM78_IN3, "in3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN3, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN3, VALUE(3), 2 },
{ SENSORS_LM78_IN4, "in4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN4, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN4, VALUE(3), 2 },
{ SENSORS_LM78_IN5, "in5", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN5, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN5, VALUE(3), 2 },
{ SENSORS_LM78_IN6, "in6", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN6, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN6, VALUE(3), 2 },
{ SENSORS_LM78_IN0_MIN, "in0_min", SENSORS_LM78_IN0, SENSORS_LM78_IN0,
SENSORS_RW, LM78_SYSCTL_IN0, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN0, VALUE(1), 2 },
{ SENSORS_LM78_IN1_MIN, "in1_min", SENSORS_LM78_IN1, SENSORS_LM78_IN1,
SENSORS_RW, LM78_SYSCTL_IN1, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN1, VALUE(1), 2 },
{ SENSORS_LM78_IN2_MIN, "in2_min", SENSORS_LM78_IN2, SENSORS_LM78_IN2,
SENSORS_RW, LM78_SYSCTL_IN2, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN2, VALUE(1), 2 },
{ SENSORS_LM78_IN3_MIN, "in3_min", SENSORS_LM78_IN3, SENSORS_LM78_IN3,
SENSORS_RW, LM78_SYSCTL_IN3, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN3, VALUE(1), 2 },
{ SENSORS_LM78_IN4_MIN, "in4_min", SENSORS_LM78_IN4, SENSORS_LM78_IN4,
SENSORS_RW, LM78_SYSCTL_IN4, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN4, VALUE(1), 2 },
{ SENSORS_LM78_IN5_MIN, "in5_min", SENSORS_LM78_IN5, SENSORS_LM78_IN5,
SENSORS_RW, LM78_SYSCTL_IN5, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN5, VALUE(1), 2 },
{ SENSORS_LM78_IN6_MIN, "in6_min", SENSORS_LM78_IN6, SENSORS_LM78_IN6,
SENSORS_RW, LM78_SYSCTL_IN6, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN6, VALUE(1), 2 },
{ SENSORS_LM78_IN0_MAX, "in0_max", SENSORS_LM78_IN0, SENSORS_LM78_IN0,
SENSORS_RW, LM78_SYSCTL_IN0, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN0, VALUE(2), 2 },
{ SENSORS_LM78_IN1_MAX, "in1_max", SENSORS_LM78_IN1, SENSORS_LM78_IN1,
SENSORS_RW, LM78_SYSCTL_IN1, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN1, VALUE(2), 2 },
{ SENSORS_LM78_IN2_MAX, "in2_max", SENSORS_LM78_IN2, SENSORS_LM78_IN2,
SENSORS_RW, LM78_SYSCTL_IN2, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN2, VALUE(2), 2 },
{ SENSORS_LM78_IN3_MAX, "in3_max", SENSORS_LM78_IN3, SENSORS_LM78_IN3,
SENSORS_RW, LM78_SYSCTL_IN3, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN3, VALUE(2), 2 },
{ SENSORS_LM78_IN4_MAX, "in4_max", SENSORS_LM78_IN4, SENSORS_LM78_IN4,
SENSORS_RW, LM78_SYSCTL_IN4, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN4, VALUE(2), 2 },
{ SENSORS_LM78_IN5_MAX, "in5_max", SENSORS_LM78_IN5, SENSORS_LM78_IN5,
SENSORS_RW, LM78_SYSCTL_IN5, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN5, VALUE(2), 2 },
{ SENSORS_LM78_IN6_MAX, "in6_max", SENSORS_LM78_IN6, SENSORS_LM78_IN6,
SENSORS_RW, LM78_SYSCTL_IN6, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN6, VALUE(2), 2 },
{ SENSORS_LM78_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_FAN1, VALUE(2), 0 },
SENSORS_MODE_R, LM78_SYSCTL_FAN1, VALUE(2), 0 },
{ SENSORS_LM78_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_FAN2, VALUE(2), 0 },
SENSORS_MODE_R, LM78_SYSCTL_FAN2, VALUE(2), 0 },
{ SENSORS_LM78_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_FAN3, VALUE(2), 0 },
SENSORS_MODE_R, LM78_SYSCTL_FAN3, VALUE(2), 0 },
{ SENSORS_LM78_FAN1_MIN, "fan1_min", SENSORS_LM78_FAN1, SENSORS_NO_MAPPING,
SENSORS_RW, LM78_SYSCTL_FAN1, VALUE(1), 0 },
SENSORS_MODE_RW, LM78_SYSCTL_FAN1, VALUE(1), 0 },
{ SENSORS_LM78_FAN2_MIN, "fan2_min", SENSORS_LM78_FAN2, SENSORS_NO_MAPPING,
SENSORS_RW, LM78_SYSCTL_FAN2, VALUE(1), 0 },
SENSORS_MODE_RW, LM78_SYSCTL_FAN2, VALUE(1), 0 },
{ SENSORS_LM78_FAN3_MIN, "fan3_min", SENSORS_LM78_FAN3, SENSORS_NO_MAPPING,
SENSORS_RW, LM78_SYSCTL_FAN3, VALUE(1), 0 },
SENSORS_MODE_RW, LM78_SYSCTL_FAN3, VALUE(1), 0 },
{ SENSORS_LM78_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_TEMP, VALUE(3), 1 },
SENSORS_MODE_R, LM78_SYSCTL_TEMP, VALUE(3), 1 },
{ SENSORS_LM78_TEMP_HYST, "temp_hyst", SENSORS_LM78_TEMP,
SENSORS_LM78_TEMP, SENSORS_RW, LM78_SYSCTL_TEMP,
VALUE(2), 1 },
SENSORS_LM78_TEMP, SENSORS_MODE_RW,
LM78_SYSCTL_TEMP, VALUE(2), 1 },
{ SENSORS_LM78_TEMP_OVER, "temp_over", SENSORS_LM78_TEMP,
SENSORS_LM78_TEMP, SENSORS_RW, LM78_SYSCTL_TEMP,
VALUE(1), 1 },
SENSORS_LM78_TEMP, SENSORS_MODE_RW,
LM78_SYSCTL_TEMP, VALUE(1), 1 },
{ SENSORS_LM78_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_VID, VALUE(1), 2 },
SENSORS_MODE_R, LM78_SYSCTL_VID, VALUE(1), 2 },
{ SENSORS_LM78_FAN1_DIV, "fan1_div", SENSORS_LM78_FAN1, SENSORS_NO_MAPPING,
SENSORS_RW, LM78_SYSCTL_FAN_DIV, VALUE(1), 0 },
SENSORS_MODE_RW, LM78_SYSCTL_FAN_DIV, VALUE(1),
0 },
{ SENSORS_LM78_FAN2_DIV, "fan2_div", SENSORS_LM78_FAN2, SENSORS_NO_MAPPING,
SENSORS_RW, LM78_SYSCTL_FAN_DIV, VALUE(2), 0 },
SENSORS_MODE_RW, LM78_SYSCTL_FAN_DIV, VALUE(2),
0 },
{ SENSORS_LM78_FAN3_DIV, "fan3_div", SENSORS_LM78_FAN3, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_FAN_DIV, VALUE(3), 0 },
SENSORS_MODE_R, LM78_SYSCTL_FAN_DIV, VALUE(3),
0 },
{ SENSORS_LM78_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_ALARMS, VALUE(1), 0 },
SENSORS_MODE_R, LM78_SYSCTL_ALARMS, VALUE(1), 0 },
{ 0 }
};
static sensors_chip_feature lm78j_features[] =
{
{ SENSORS_LM78J_IN0, "in0", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN0, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN0, VALUE(3), 2 },
{ SENSORS_LM78J_IN1, "in1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN1, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN1, VALUE(3), 2 },
{ SENSORS_LM78J_IN2, "in2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN2, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN2, VALUE(3), 2 },
{ SENSORS_LM78J_IN3, "in3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN3, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN3, VALUE(3), 2 },
{ SENSORS_LM78J_IN4, "in4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN4, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN4, VALUE(3), 2 },
{ SENSORS_LM78J_IN5, "in5", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN5, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN5, VALUE(3), 2 },
{ SENSORS_LM78J_IN6, "in6", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN6, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN6, VALUE(3), 2 },
{ SENSORS_LM78J_IN0_MIN, "in0_min", SENSORS_LM78J_IN0, SENSORS_LM78J_IN0,
SENSORS_RW, LM78_SYSCTL_IN0, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN0, VALUE(1), 2 },
{ SENSORS_LM78J_IN1_MIN, "in1_min", SENSORS_LM78J_IN1, SENSORS_LM78J_IN1,
SENSORS_RW, LM78_SYSCTL_IN1, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN1, VALUE(1), 2 },
{ SENSORS_LM78J_IN2_MIN, "in2_min", SENSORS_LM78J_IN2, SENSORS_LM78J_IN2,
SENSORS_RW, LM78_SYSCTL_IN2, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN2, VALUE(1), 2 },
{ SENSORS_LM78J_IN3_MIN, "in3_min", SENSORS_LM78J_IN3, SENSORS_LM78J_IN3,
SENSORS_RW, LM78_SYSCTL_IN3, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN3, VALUE(1), 2 },
{ SENSORS_LM78J_IN4_MIN, "in4_min", SENSORS_LM78J_IN4, SENSORS_LM78J_IN4,
SENSORS_RW, LM78_SYSCTL_IN4, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN4, VALUE(1), 2 },
{ SENSORS_LM78J_IN5_MIN, "in5_min", SENSORS_LM78J_IN5, SENSORS_LM78J_IN5,
SENSORS_RW, LM78_SYSCTL_IN5, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN5, VALUE(1), 2 },
{ SENSORS_LM78J_IN6_MIN, "in6_min", SENSORS_LM78J_IN6, SENSORS_LM78J_IN6,
SENSORS_RW, LM78_SYSCTL_IN6, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN6, VALUE(1), 2 },
{ SENSORS_LM78J_IN0_MAX, "in0_max", SENSORS_LM78J_IN0, SENSORS_LM78J_IN0,
SENSORS_RW, LM78_SYSCTL_IN0, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN0, VALUE(2), 2 },
{ SENSORS_LM78J_IN1_MAX, "in1_max", SENSORS_LM78J_IN1, SENSORS_LM78J_IN1,
SENSORS_RW, LM78_SYSCTL_IN1, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN1, VALUE(2), 2 },
{ SENSORS_LM78J_IN2_MAX, "in2_max", SENSORS_LM78J_IN2, SENSORS_LM78J_IN2,
SENSORS_RW, LM78_SYSCTL_IN2, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN2, VALUE(2), 2 },
{ SENSORS_LM78J_IN3_MAX, "in3_max", SENSORS_LM78J_IN3, SENSORS_LM78J_IN3,
SENSORS_RW, LM78_SYSCTL_IN3, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN3, VALUE(2), 2 },
{ SENSORS_LM78J_IN4_MAX, "in4_max", SENSORS_LM78J_IN4, SENSORS_LM78J_IN4,
SENSORS_RW, LM78_SYSCTL_IN4, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN4, VALUE(2), 2 },
{ SENSORS_LM78J_IN5_MAX, "in5_max", SENSORS_LM78J_IN5, SENSORS_LM78J_IN5,
SENSORS_RW, LM78_SYSCTL_IN5, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN5, VALUE(2), 2 },
{ SENSORS_LM78J_IN6_MAX, "in6_max", SENSORS_LM78J_IN6, SENSORS_LM78J_IN6,
SENSORS_RW, LM78_SYSCTL_IN6, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN6, VALUE(2), 2 },
{ SENSORS_LM78J_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_FAN1, VALUE(2), 0 },
SENSORS_MODE_R, LM78_SYSCTL_FAN1, VALUE(2), 0 },
{ SENSORS_LM78J_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_FAN2, VALUE(2), 0 },
SENSORS_MODE_R, LM78_SYSCTL_FAN2, VALUE(2), 0 },
{ SENSORS_LM78J_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_FAN3, VALUE(2), 0 },
SENSORS_MODE_R, LM78_SYSCTL_FAN3, VALUE(2), 0 },
{ SENSORS_LM78J_FAN1_MIN, "fan1_min", SENSORS_LM78J_FAN1,
SENSORS_NO_MAPPING, SENSORS_RW, LM78_SYSCTL_FAN1,
VALUE(1), 0 },
SENSORS_NO_MAPPING, SENSORS_MODE_RW,
LM78_SYSCTL_FAN1, VALUE(1), 0 },
{ SENSORS_LM78J_FAN2_MIN, "fan2_min", SENSORS_LM78J_FAN2,
SENSORS_NO_MAPPING, SENSORS_RW, LM78_SYSCTL_FAN2,
VALUE(1), 0 },
SENSORS_NO_MAPPING, SENSORS_MODE_RW,
LM78_SYSCTL_FAN2, VALUE(1), 0 },
{ SENSORS_LM78J_FAN3_MIN, "fan3_min", SENSORS_LM78J_FAN3,
SENSORS_NO_MAPPING, SENSORS_RW, LM78_SYSCTL_FAN3,
VALUE(1), 0 },
SENSORS_NO_MAPPING, SENSORS_MODE_RW,
LM78_SYSCTL_FAN3, VALUE(1), 0 },
{ SENSORS_LM78J_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_TEMP, VALUE(3), 1 },
SENSORS_MODE_R, LM78_SYSCTL_TEMP, VALUE(3), 1 },
{ SENSORS_LM78J_TEMP_HYST, "temp_hyst", SENSORS_LM78J_TEMP,
SENSORS_LM78J_TEMP, SENSORS_RW, LM78_SYSCTL_TEMP,
VALUE(2), 1 },
SENSORS_LM78J_TEMP, SENSORS_MODE_RW,
LM78_SYSCTL_TEMP, VALUE(2), 1 },
{ SENSORS_LM78J_TEMP_OVER, "temp_over", SENSORS_LM78J_TEMP,
SENSORS_LM78J_TEMP, SENSORS_RW, LM78_SYSCTL_TEMP,
VALUE(1), 1 },
SENSORS_LM78J_TEMP, SENSORS_MODE_RW,
LM78_SYSCTL_TEMP, VALUE(1), 1 },
{ SENSORS_LM78J_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_VID, VALUE(1), 2 },
SENSORS_MODE_R, LM78_SYSCTL_VID, VALUE(1), 2 },
{ SENSORS_LM78J_FAN1_DIV, "fan1_div", SENSORS_LM78J_FAN1,
SENSORS_NO_MAPPING, SENSORS_RW,
SENSORS_NO_MAPPING, SENSORS_MODE_RW,
LM78_SYSCTL_FAN_DIV, VALUE(1), 0 },
{ SENSORS_LM78J_FAN2_DIV, "fan2_div", SENSORS_LM78J_FAN2,
SENSORS_NO_MAPPING, SENSORS_RW,
SENSORS_NO_MAPPING, SENSORS_MODE_RW,
LM78_SYSCTL_FAN_DIV, VALUE(2), 0 },
{ SENSORS_LM78J_FAN3_DIV, "fan3_div", SENSORS_LM78J_FAN3,
SENSORS_NO_MAPPING, SENSORS_R,
SENSORS_NO_MAPPING, SENSORS_MODE_R,
LM78_SYSCTL_FAN_DIV, VALUE(3), 0 },
{ SENSORS_LM78J_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_ALARMS, VALUE(1), 0 },
SENSORS_MODE_R, LM78_SYSCTL_ALARMS, VALUE(1), 0 },
{ 0 }
};
static sensors_chip_feature lm79_features[] =
{
{ SENSORS_LM79_IN0, "in0", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN0, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN0, VALUE(3), 2 },
{ SENSORS_LM79_IN1, "in1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN1, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN1, VALUE(3), 2 },
{ SENSORS_LM79_IN2, "in2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN2, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN2, VALUE(3), 2 },
{ SENSORS_LM79_IN3, "in3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN3, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN3, VALUE(3), 2 },
{ SENSORS_LM79_IN4, "in4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN4, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN4, VALUE(3), 2 },
{ SENSORS_LM79_IN5, "in5", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN5, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN5, VALUE(3), 2 },
{ SENSORS_LM79_IN6, "in6", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_IN6, VALUE(3), 2 },
SENSORS_MODE_R, LM78_SYSCTL_IN6, VALUE(3), 2 },
{ SENSORS_LM79_IN0_MIN, "in0_min", SENSORS_LM79_IN0, SENSORS_LM79_IN0,
SENSORS_RW, LM78_SYSCTL_IN0, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN0, VALUE(1), 2 },
{ SENSORS_LM79_IN1_MIN, "in1_min", SENSORS_LM79_IN1, SENSORS_LM79_IN1,
SENSORS_RW, LM78_SYSCTL_IN1, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN1, VALUE(1), 2 },
{ SENSORS_LM79_IN2_MIN, "in2_min", SENSORS_LM79_IN2, SENSORS_LM79_IN2,
SENSORS_RW, LM78_SYSCTL_IN2, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN2, VALUE(1), 2 },
{ SENSORS_LM79_IN3_MIN, "in3_min", SENSORS_LM79_IN3, SENSORS_LM79_IN3,
SENSORS_RW, LM78_SYSCTL_IN3, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN3, VALUE(1), 2 },
{ SENSORS_LM79_IN4_MIN, "in4_min", SENSORS_LM79_IN4, SENSORS_LM79_IN4,
SENSORS_RW, LM78_SYSCTL_IN4, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN4, VALUE(1), 2 },
{ SENSORS_LM79_IN5_MIN, "in5_min", SENSORS_LM79_IN5, SENSORS_LM79_IN5,
SENSORS_RW, LM78_SYSCTL_IN5, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN5, VALUE(1), 2 },
{ SENSORS_LM79_IN6_MIN, "in6_min", SENSORS_LM79_IN6, SENSORS_LM79_IN6,
SENSORS_RW, LM78_SYSCTL_IN6, VALUE(1), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN6, VALUE(1), 2 },
{ SENSORS_LM79_IN0_MAX, "in0_max", SENSORS_LM79_IN0, SENSORS_LM79_IN0,
SENSORS_RW, LM78_SYSCTL_IN0, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN0, VALUE(2), 2 },
{ SENSORS_LM79_IN1_MAX, "in1_max", SENSORS_LM79_IN1, SENSORS_LM79_IN1,
SENSORS_RW, LM78_SYSCTL_IN1, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN1, VALUE(2), 2 },
{ SENSORS_LM79_IN2_MAX, "in2_max", SENSORS_LM79_IN2, SENSORS_LM79_IN2,
SENSORS_RW, LM78_SYSCTL_IN2, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN2, VALUE(2), 2 },
{ SENSORS_LM79_IN3_MAX, "in3_max", SENSORS_LM79_IN3, SENSORS_LM79_IN3,
SENSORS_RW, LM78_SYSCTL_IN3, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN3, VALUE(2), 2 },
{ SENSORS_LM79_IN4_MAX, "in4_max", SENSORS_LM79_IN4, SENSORS_LM79_IN4,
SENSORS_RW, LM78_SYSCTL_IN4, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN4, VALUE(2), 2 },
{ SENSORS_LM79_IN5_MAX, "in5_max", SENSORS_LM79_IN5, SENSORS_LM79_IN5,
SENSORS_RW, LM78_SYSCTL_IN5, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN5, VALUE(2), 2 },
{ SENSORS_LM79_IN6_MAX, "in6_max", SENSORS_LM79_IN6, SENSORS_LM79_IN6,
SENSORS_RW, LM78_SYSCTL_IN6, VALUE(2), 2 },
SENSORS_MODE_RW, LM78_SYSCTL_IN6, VALUE(2), 2 },
{ SENSORS_LM79_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_FAN1, VALUE(2), 0 },
SENSORS_MODE_R, LM78_SYSCTL_FAN1, VALUE(2), 0 },
{ SENSORS_LM79_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_FAN2, VALUE(2), 0 },
SENSORS_MODE_R, LM78_SYSCTL_FAN2, VALUE(2), 0 },
{ SENSORS_LM79_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_FAN3, VALUE(2), 0 },
SENSORS_MODE_R, LM78_SYSCTL_FAN3, VALUE(2), 0 },
{ SENSORS_LM79_FAN1_MIN, "fan1_min", SENSORS_LM79_FAN1, SENSORS_NO_MAPPING,
SENSORS_RW, LM78_SYSCTL_FAN1, VALUE(1), 0 },
SENSORS_MODE_RW, LM78_SYSCTL_FAN1, VALUE(1), 0 },
{ SENSORS_LM79_FAN2_MIN, "fan2_min", SENSORS_LM79_FAN2, SENSORS_NO_MAPPING,
SENSORS_RW, LM78_SYSCTL_FAN2, VALUE(1), 0 },
SENSORS_MODE_RW, LM78_SYSCTL_FAN2, VALUE(1), 0 },
{ SENSORS_LM79_FAN3_MIN, "fan3_min", SENSORS_LM79_FAN3, SENSORS_NO_MAPPING,
SENSORS_RW, LM78_SYSCTL_FAN3, VALUE(1), 0 },
SENSORS_MODE_RW, LM78_SYSCTL_FAN3, VALUE(1), 0 },
{ SENSORS_LM79_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_TEMP, VALUE(3), 1 },
SENSORS_MODE_R, LM78_SYSCTL_TEMP, VALUE(3), 1 },
{ SENSORS_LM79_TEMP_HYST, "temp_hyst", SENSORS_LM79_TEMP,
SENSORS_LM79_TEMP, SENSORS_RW, LM78_SYSCTL_TEMP,
VALUE(2), 1 },
SENSORS_LM79_TEMP, SENSORS_MODE_RW,
LM78_SYSCTL_TEMP, VALUE(2), 1 },
{ SENSORS_LM79_TEMP_OVER, "temp_over", SENSORS_LM79_TEMP,
SENSORS_LM79_TEMP, SENSORS_RW, LM78_SYSCTL_TEMP,
VALUE(1), 1 },
SENSORS_LM79_TEMP, SENSORS_MODE_RW,
LM78_SYSCTL_TEMP, VALUE(1), 1 },
{ SENSORS_LM79_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_VID, VALUE(1), 2 },
SENSORS_MODE_R, LM78_SYSCTL_VID, VALUE(1), 2 },
{ SENSORS_LM79_FAN1_DIV, "fan1_div", SENSORS_LM79_FAN1, SENSORS_NO_MAPPING,
SENSORS_RW, LM78_SYSCTL_FAN_DIV, VALUE(1), 0 },
SENSORS_MODE_RW, LM78_SYSCTL_FAN_DIV, VALUE(1),
0 },
{ SENSORS_LM79_FAN2_DIV, "fan2_div", SENSORS_LM79_FAN2, SENSORS_NO_MAPPING,
SENSORS_RW, LM78_SYSCTL_FAN_DIV, VALUE(2), 0 },
SENSORS_MODE_RW, LM78_SYSCTL_FAN_DIV, VALUE(2),
0 },
{ SENSORS_LM79_FAN3_DIV, "fan3_div", SENSORS_LM79_FAN3, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_FAN_DIV, VALUE(3), 0 },
SENSORS_MODE_R, LM78_SYSCTL_FAN_DIV, VALUE(3),
0 },
{ SENSORS_LM79_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM78_SYSCTL_ALARMS, VALUE(1), 0 },
SENSORS_MODE_R, LM78_SYSCTL_ALARMS, VALUE(1), 0 },
{ 0 }
};
@@ -278,78 +285,80 @@ static sensors_chip_feature lm79_features[] =
static sensors_chip_feature lm75_features[] =
{
{ SENSORS_LM75_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, LM75_SYSCTL_TEMP, VALUE(3), 1 },
SENSORS_MODE_R, LM75_SYSCTL_TEMP, VALUE(3), 1 },
{ SENSORS_LM75_TEMP_HYST, "temp_hyst", SENSORS_LM75_TEMP,
SENSORS_LM75_TEMP, SENSORS_RW, LM75_SYSCTL_TEMP,
VALUE(2), 1 },
SENSORS_LM75_TEMP, SENSORS_MODE_RW,
LM75_SYSCTL_TEMP, VALUE(2), 1 },
{ SENSORS_LM75_TEMP_OVER, "temp_over", SENSORS_LM75_TEMP,
SENSORS_LM75_TEMP, SENSORS_RW, LM75_SYSCTL_TEMP,
VALUE(1), 1 },
SENSORS_LM75_TEMP, SENSORS_MODE_RW,
LM75_SYSCTL_TEMP, VALUE(1), 1 },
{ 0 }
};
static sensors_chip_feature gl518r00_features[] =
{
{ SENSORS_GL518R00_VDD, "vdd", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING,
SENSORS_NO_RW, GL518_SYSCTL_VDD, VALUE(3), 2 },
SENSORS_MODE_NO_RW, GL518_SYSCTL_VDD, VALUE(3), 2 },
{ SENSORS_GL518R00_VIN1, "vin1", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING,
SENSORS_NO_RW, GL518_SYSCTL_VIN1, VALUE(3), 2 },
SENSORS_MODE_NO_RW, GL518_SYSCTL_VIN1, VALUE(3),
2 },
{ SENSORS_GL518R00_VIN2, "vin2", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING,
SENSORS_NO_RW, GL518_SYSCTL_VIN2, VALUE(3), 2 },
SENSORS_MODE_NO_RW, GL518_SYSCTL_VIN2, VALUE(3),
2 },
{ SENSORS_GL518R00_VIN3, "vin3", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING,
SENSORS_R, GL518_SYSCTL_VIN3, VALUE(3), 2 },
SENSORS_MODE_R, GL518_SYSCTL_VIN3, VALUE(3), 2 },
{ SENSORS_GL518R00_VDD_MIN, "vdd_min", SENSORS_GL518R00_VDD,
SENSORS_GL518R00_VDD, SENSORS_RW,
SENSORS_GL518R00_VDD, SENSORS_MODE_RW,
GL518_SYSCTL_VDD, VALUE(1), 2 },
{ SENSORS_GL518R00_VIN1_MIN, "vin1_min", SENSORS_GL518R00_VIN1,
SENSORS_GL518R00_VIN1, SENSORS_RW,
SENSORS_GL518R00_VIN1, SENSORS_MODE_RW,
GL518_SYSCTL_VIN1, VALUE(1), 2 },
{ SENSORS_GL518R00_VIN2_MIN, "vin2_min", SENSORS_GL518R00_VIN2,
SENSORS_GL518R00_VIN2, SENSORS_RW,
SENSORS_GL518R00_VIN2, SENSORS_MODE_RW,
GL518_SYSCTL_VIN2, VALUE(1), 2 },
{ SENSORS_GL518R00_VIN3_MIN, "vin3_min", SENSORS_GL518R00_VIN3,
SENSORS_GL518R00_VIN3, SENSORS_RW,
SENSORS_GL518R00_VIN3, SENSORS_MODE_RW,
GL518_SYSCTL_VIN3, VALUE(1), 2 },
{ SENSORS_GL518R00_VDD_MAX, "vdd_max", SENSORS_GL518R00_VDD,
SENSORS_GL518R00_VDD, SENSORS_RW,
SENSORS_GL518R00_VDD, SENSORS_MODE_RW,
GL518_SYSCTL_VDD, VALUE(2), 2 },
{ SENSORS_GL518R00_VIN1_MAX, "vin1_max", SENSORS_GL518R00_VIN1,
SENSORS_GL518R00_VIN1, SENSORS_RW,
SENSORS_GL518R00_VIN1, SENSORS_MODE_RW,
GL518_SYSCTL_VIN1, VALUE(2), 2 },
{ SENSORS_GL518R00_VIN2_MAX, "vin2_max", SENSORS_GL518R00_VIN2,
SENSORS_GL518R00_VIN2, SENSORS_RW,
SENSORS_GL518R00_VIN2, SENSORS_MODE_RW,
GL518_SYSCTL_VIN2, VALUE(2), 2 },
{ SENSORS_GL518R00_VIN3_MAX, "vin3_max", SENSORS_GL518R00_VIN3,
SENSORS_GL518R00_VIN3, SENSORS_RW,
SENSORS_GL518R00_VIN3, SENSORS_MODE_RW,
GL518_SYSCTL_VIN3, VALUE(2), 2 },
{ SENSORS_GL518R00_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, GL518_SYSCTL_FAN1, VALUE(2), 0 },
SENSORS_MODE_R, GL518_SYSCTL_FAN1, VALUE(2), 0 },
{ SENSORS_GL518R00_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, GL518_SYSCTL_FAN2, VALUE(2), 0 },
SENSORS_MODE_R, GL518_SYSCTL_FAN2, VALUE(2), 0 },
{ SENSORS_GL518R00_FAN1_MIN, "fan1_min", SENSORS_GL518R00_FAN1,
SENSORS_GL518R00_FAN1, SENSORS_RW,
SENSORS_GL518R00_FAN1, SENSORS_MODE_RW,
GL518_SYSCTL_FAN1, VALUE(1), 0 },
{ SENSORS_GL518R00_FAN2_MIN, "fan2_min", SENSORS_GL518R00_FAN2,
SENSORS_GL518R00_FAN2, SENSORS_RW,
SENSORS_GL518R00_FAN2, SENSORS_MODE_RW,
GL518_SYSCTL_FAN2, VALUE(1), 0 },
{ SENSORS_GL518R00_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, GL518_SYSCTL_TEMP, VALUE(3), 1 },
SENSORS_MODE_R, GL518_SYSCTL_TEMP, VALUE(3), 1 },
{ SENSORS_GL518R00_TEMP_HYST, "temp_hyst", SENSORS_GL518R00_TEMP,
SENSORS_GL518R00_TEMP, SENSORS_RW,
SENSORS_GL518R00_TEMP, SENSORS_MODE_RW,
GL518_SYSCTL_TEMP, VALUE(2), 1 },
{ SENSORS_GL518R00_TEMP_OVER, "temp_over", SENSORS_GL518R00_TEMP,
SENSORS_GL518R00_TEMP, SENSORS_RW,
SENSORS_GL518R00_TEMP, SENSORS_MODE_RW,
GL518_SYSCTL_VDD, VALUE(1), 1 },
{ SENSORS_GL518R00_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, GL518_SYSCTL_VID, VALUE(1), 0 },
SENSORS_MODE_R, GL518_SYSCTL_VID, VALUE(1), 0 },
{ SENSORS_GL518R00_FAN1_DIV, "fan1_div", SENSORS_GL518R00_FAN1,
SENSORS_NO_MAPPING, SENSORS_RW,
SENSORS_NO_MAPPING, SENSORS_MODE_RW,
GL518_SYSCTL_FAN_DIV, VALUE(1), 0 },
{ SENSORS_GL518R00_FAN2_DIV, "fan2_div", SENSORS_GL518R00_FAN2,
SENSORS_NO_MAPPING, SENSORS_RW,
SENSORS_NO_MAPPING, SENSORS_MODE_RW,
GL518_SYSCTL_FAN_DIV, VALUE(2), 0 },
{ SENSORS_GL518R00_ALARMS, "alarms", SENSORS_NO_MAPPING,
SENSORS_NO_MAPPING, SENSORS_R,
SENSORS_NO_MAPPING, SENSORS_MODE_R,
GL518_SYSCTL_FAN_DIV, VALUE(3), 0 },
{ 0 }
};
@@ -358,65 +367,67 @@ static sensors_chip_feature gl518r00_features[] =
static sensors_chip_feature gl518r80_features[] =
{
{ SENSORS_GL518R80_VDD, "vdd", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING,
SENSORS_NO_RW, GL518_SYSCTL_VDD, VALUE(3), 2 },
SENSORS_MODE_NO_RW, GL518_SYSCTL_VDD, VALUE(3), 2 },
{ SENSORS_GL518R80_VIN1, "vin1", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING,
SENSORS_NO_RW, GL518_SYSCTL_VIN1, VALUE(3), 2 },
SENSORS_MODE_NO_RW, GL518_SYSCTL_VIN1, VALUE(3),
2 },
{ SENSORS_GL518R80_VIN2, "vin2", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING,
SENSORS_NO_RW, GL518_SYSCTL_VIN2, VALUE(3), 2 },
SENSORS_MODE_NO_RW, GL518_SYSCTL_VIN2, VALUE(3),
2 },
{ SENSORS_GL518R80_VIN3, "vin3", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING,
SENSORS_R, GL518_SYSCTL_VIN3, VALUE(3), 2 },
SENSORS_MODE_R, GL518_SYSCTL_VIN3, VALUE(3), 2 },
{ SENSORS_GL518R80_VDD_MIN, "vdd_min", SENSORS_GL518R80_VDD,
SENSORS_GL518R80_VDD, SENSORS_RW,
SENSORS_GL518R80_VDD, SENSORS_MODE_RW,
GL518_SYSCTL_VDD, VALUE(1), 2 },
{ SENSORS_GL518R80_VIN1_MIN, "vin1_min", SENSORS_GL518R80_VIN1,
SENSORS_GL518R80_VIN1, SENSORS_RW,
SENSORS_GL518R80_VIN1, SENSORS_MODE_RW,
GL518_SYSCTL_VIN1, VALUE(1), 2 },
{ SENSORS_GL518R80_VIN2_MIN, "vin2_min", SENSORS_GL518R80_VIN2,
SENSORS_GL518R80_VIN2, SENSORS_RW,
SENSORS_GL518R80_VIN2, SENSORS_MODE_RW,
GL518_SYSCTL_VIN2, VALUE(1), 2 },
{ SENSORS_GL518R80_VIN3_MIN, "vin3_min", SENSORS_GL518R80_VIN3,
SENSORS_GL518R80_VIN3, SENSORS_RW,
SENSORS_GL518R80_VIN3, SENSORS_MODE_RW,
GL518_SYSCTL_VIN3, VALUE(1), 2 },
{ SENSORS_GL518R80_VDD_MAX, "vdd_max", SENSORS_GL518R80_VDD,
SENSORS_GL518R80_VDD, SENSORS_RW,
SENSORS_GL518R80_VDD, SENSORS_MODE_RW,
GL518_SYSCTL_VDD, VALUE(2), 2 },
{ SENSORS_GL518R80_VIN1_MAX, "vin1_max", SENSORS_GL518R80_VIN1,
SENSORS_GL518R80_VIN1, SENSORS_RW,
SENSORS_GL518R80_VIN1, SENSORS_MODE_RW,
GL518_SYSCTL_VIN1, VALUE(2), 2 },
{ SENSORS_GL518R80_VIN2_MAX, "vin2_max", SENSORS_GL518R80_VIN2,
SENSORS_GL518R80_VIN2, SENSORS_RW,
SENSORS_GL518R80_VIN2, SENSORS_MODE_RW,
GL518_SYSCTL_VIN2, VALUE(2), 2 },
{ SENSORS_GL518R80_VIN3_MAX, "vin3_max", SENSORS_GL518R80_VIN3,
SENSORS_GL518R80_VIN3, SENSORS_RW,
SENSORS_GL518R80_VIN3, SENSORS_MODE_RW,
GL518_SYSCTL_VIN3, VALUE(2), 2 },
{ SENSORS_GL518R80_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, GL518_SYSCTL_FAN1, VALUE(2), 0 },
SENSORS_MODE_R, GL518_SYSCTL_FAN1, VALUE(2), 0 },
{ SENSORS_GL518R80_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, GL518_SYSCTL_FAN2, VALUE(2), 0 },
SENSORS_MODE_R, GL518_SYSCTL_FAN2, VALUE(2), 0 },
{ SENSORS_GL518R80_FAN1_MIN, "fan1_min", SENSORS_GL518R80_FAN1,
SENSORS_GL518R80_FAN1, SENSORS_RW,
SENSORS_GL518R80_FAN1, SENSORS_MODE_RW,
GL518_SYSCTL_FAN1, VALUE(1), 0 },
{ SENSORS_GL518R80_FAN2_MIN, "fan2_min", SENSORS_GL518R80_FAN2,
SENSORS_GL518R80_FAN2, SENSORS_RW,
SENSORS_GL518R80_FAN2, SENSORS_MODE_RW,
GL518_SYSCTL_FAN2, VALUE(1), 0 },
{ SENSORS_GL518R80_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, GL518_SYSCTL_TEMP, VALUE(3), 1 },
SENSORS_MODE_R, GL518_SYSCTL_TEMP, VALUE(3), 1 },
{ SENSORS_GL518R80_TEMP_HYST, "temp_hyst", SENSORS_GL518R80_TEMP,
SENSORS_GL518R80_TEMP, SENSORS_RW,
SENSORS_GL518R80_TEMP, SENSORS_MODE_RW,
GL518_SYSCTL_TEMP, VALUE(2), 1 },
{ SENSORS_GL518R80_TEMP_OVER, "temp_over", SENSORS_GL518R80_TEMP,
SENSORS_GL518R80_TEMP, SENSORS_RW,
SENSORS_GL518R80_TEMP, SENSORS_MODE_RW,
GL518_SYSCTL_VDD, VALUE(1), 1 },
{ SENSORS_GL518R80_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
SENSORS_R, GL518_SYSCTL_VID, VALUE(1), 0 },
SENSORS_MODE_R, GL518_SYSCTL_VID, VALUE(1), 0 },
{ SENSORS_GL518R80_FAN1_DIV, "fan1_div", SENSORS_GL518R80_FAN1,
SENSORS_NO_MAPPING, SENSORS_RW,
SENSORS_NO_MAPPING, SENSORS_MODE_RW,
GL518_SYSCTL_FAN_DIV, VALUE(1), 0 },
{ SENSORS_GL518R80_FAN2_DIV, "fan2_div", SENSORS_GL518R80_FAN2,
SENSORS_NO_MAPPING, SENSORS_RW,
SENSORS_NO_MAPPING, SENSORS_MODE_RW,
GL518_SYSCTL_FAN_DIV, VALUE(2), 0 },
{ SENSORS_GL518R80_ALARMS, "alarms", SENSORS_NO_MAPPING,
SENSORS_NO_MAPPING, SENSORS_R,
SENSORS_NO_MAPPING, SENSORS_MODE_R,
GL518_SYSCTL_FAN_DIV, VALUE(3), 0 },
{ 0 }
};
+33 -1
View File
@@ -30,6 +30,7 @@
#define SENSORS_CHIP_NAME_BUS_ANY_I2C -3
#define SENSORS_CHIP_NAME_ADDR_ANY -1
/* A chip name is encoded is in this structure */
typedef struct sensors_chip_name {
char *prefix;
int bus;
@@ -80,7 +81,7 @@ extern int sensors_get_feature(sensors_chip_name name, int feature,
/* Set the value of a feature of a certain chip. Note that chip should not
contain wildcard values! This function will return 0 on success, and <0
on failure. */
on failure. BUGGY! */
extern int sensors_set_feature(sensors_chip_name name, int feature,
double value);
@@ -91,4 +92,35 @@ extern int sensors_set_feature(sensors_chip_name name, int feature,
extern const sensors_chip_name *sensors_get_detected_chips(int *nr);
/* These defines are used in the mode field of sensors_feature_data */
#define SENSORS_MODE_NO_RW 0
#define SENSORS_MODE_R 1
#define SENSORS_MODE_W 2
#define SENSORS_MODE_RW 3
/* This define is used in the mapping field of sensors_feature_data if no
mapping is available */
#define SENSORS_NO_MAPPING -1
/* This structure is used when you want to get all features of a specific
chip. */
typedef struct sensors_feature_data {
int number;
const char *name;
int mapping;
int unused;
int mode;
} sensors_feature_data;
/* This returns all features of a specific chip. They are returned in
bunches: everything with the same mapping is returned just after each
other, with the master feature in front (that feature does not map to
itself, but has SENSORS_NO_MAPPING as mapping field). nr1 and nr2 are
two internally used variables. Set both to zero to start again at the
begin of the list. If no more features are found NULL is returned.
Do not try to change the returned structure; you will corrupt internal
data structures. */
extern const sensors_feature_data *sensors_get_all_features
(sensors_chip_name name, int *nr1,int *nr2);
#endif /* def LIB_SENSORS_ERROR_H */