mirror of
https://github.com/lm-sensors/lm-sensors
synced 2025-09-01 06:45:24 +00:00
add smsc47m1 to library and 'sensors'
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1428 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
@@ -1401,3 +1401,8 @@ chip "vt1211-*"
|
||||
|
||||
set fan1_min 3000
|
||||
set fan2_min 3000
|
||||
|
||||
chip "smsc47m1-*"
|
||||
|
||||
set fan1_min 3000
|
||||
set fan2_min 3000
|
||||
|
26
lib/chips.c
26
lib/chips.c
@@ -2766,6 +2766,31 @@ static sensors_chip_feature vt1211_features[] =
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
static sensors_chip_feature smsc47m1_features[] =
|
||||
{
|
||||
{ SENSORS_SMSC47M1_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, SMSC47M1_SYSCTL_FAN1, VALUE(2), 0 },
|
||||
{ SENSORS_SMSC47M1_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, SMSC47M1_SYSCTL_FAN2, VALUE(2), 0 },
|
||||
{ SENSORS_SMSC47M1_FAN1_MIN, "fan1_min", SENSORS_SMSC47M1_FAN1,
|
||||
SENSORS_SMSC47M1_FAN1,
|
||||
SENSORS_MODE_RW, SMSC47M1_SYSCTL_FAN1, VALUE(1), 0 },
|
||||
{ SENSORS_SMSC47M1_FAN2_MIN, "fan2_min", SENSORS_SMSC47M1_FAN2,
|
||||
SENSORS_SMSC47M1_FAN2,
|
||||
SENSORS_MODE_RW, SMSC47M1_SYSCTL_FAN2, VALUE(1), 0 },
|
||||
{ SENSORS_SMSC47M1_FAN1_DIV, "fan1_div", SENSORS_SMSC47M1_FAN1,
|
||||
SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_RW, SMSC47M1_SYSCTL_FAN_DIV, VALUE(1),
|
||||
0 },
|
||||
{ SENSORS_SMSC47M1_FAN2_DIV, "fan2_div", SENSORS_SMSC47M1_FAN2,
|
||||
SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_RW, SMSC47M1_SYSCTL_FAN_DIV, VALUE(2),
|
||||
0 },
|
||||
{ SENSORS_SMSC47M1_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, SMSC47M1_SYSCTL_ALARMS, VALUE(1), 0 },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
sensors_chip_features sensors_chip_features_list[] =
|
||||
{
|
||||
{ SENSORS_LM78_PREFIX, lm78_features },
|
||||
@@ -2818,5 +2843,6 @@ sensors_chip_features sensors_chip_features_list[] =
|
||||
{ SENSORS_FSCSCY_PREFIX, fscscy_features },
|
||||
{ SENSORS_PCF8591_PREFIX, pcf8591_features },
|
||||
{ SENSORS_VT1211_PREFIX, vt1211_features },
|
||||
{ SENSORS_SMSC47M1_PREFIX, smsc47m1_features },
|
||||
{ 0 }
|
||||
};
|
||||
|
@@ -1185,5 +1185,14 @@
|
||||
#define SENSORS_VT1211_ALARMS 81 /* R */
|
||||
#define SENSORS_VT1211_VID 82 /* R */
|
||||
|
||||
#define SENSORS_SMSC47M1_PREFIX "smsc47m1"
|
||||
|
||||
#define SENSORS_SMSC47M1_FAN1 31 /* R */
|
||||
#define SENSORS_SMSC47M1_FAN2 32 /* R */
|
||||
#define SENSORS_SMSC47M1_FAN1_MIN 41 /* RW */
|
||||
#define SENSORS_SMSC47M1_FAN2_MIN 42 /* RW */
|
||||
#define SENSORS_SMSC47M1_FAN1_DIV 75 /* RW */
|
||||
#define SENSORS_SMSC47M1_FAN2_DIV 76 /* RW */
|
||||
#define SENSORS_SMSC47M1_ALARMS 81 /* R */
|
||||
|
||||
#endif /* def LIB_SENSORS_CHIPS_H */
|
||||
|
@@ -3269,6 +3269,47 @@ void print_vt1211(const sensors_chip_name *name)
|
||||
|
||||
}
|
||||
|
||||
void print_smsc47m1(const sensors_chip_name *name)
|
||||
{
|
||||
char *label = NULL;
|
||||
double cur,min,fdiv;
|
||||
int alarms,valid;
|
||||
|
||||
if (!sensors_get_feature(*name,SENSORS_SMSC47M1_ALARMS,&cur))
|
||||
alarms = cur + 0.5;
|
||||
else {
|
||||
printf("ERROR: Can't get alarm data!\n");
|
||||
alarms = 0;
|
||||
}
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_SMSC47M1_FAN1,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_SMSC47M1_FAN1,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_SMSC47M1_FAN1_DIV,&fdiv) &&
|
||||
!sensors_get_feature(*name,SENSORS_SMSC47M1_FAN1_MIN,&min)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%4.0f RPM (min = %4.0f RPM, div = %1.0f) %s\n",
|
||||
cur,min,fdiv, alarms&SMSC47M1_ALARM_FAN1?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get FAN1 data!\n");
|
||||
free_the_label(&label);
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_SMSC47M1_FAN2,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_SMSC47M1_FAN2,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_SMSC47M1_FAN2_DIV,&fdiv) &&
|
||||
!sensors_get_feature(*name,SENSORS_SMSC47M1_FAN2_MIN,&min)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%4.0f RPM (min = %4.0f RPM, div = %1.0f) %s\n",
|
||||
cur,min,fdiv, alarms&SMSC47M1_ALARM_FAN2?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get FAN2 data!\n");
|
||||
free_the_label(&label);
|
||||
|
||||
}
|
||||
|
||||
void print_unknown_chip(const sensors_chip_name *name)
|
||||
{
|
||||
int a,b,valid;
|
||||
|
@@ -46,5 +46,6 @@ extern void print_fscpos(const sensors_chip_name *name);
|
||||
extern void print_fscscy(const sensors_chip_name *name);
|
||||
extern void print_pcf8591(const sensors_chip_name *name);
|
||||
extern void print_vt1211(const sensors_chip_name *name);
|
||||
extern void print_smsc47m1(const sensors_chip_name *name);
|
||||
|
||||
#endif /* def PROG_SENSORS_CHIPS_H */
|
||||
|
@@ -349,6 +349,8 @@ void do_a_print(sensors_chip_name name)
|
||||
print_pcf8591(&name);
|
||||
else if (!strcmp(name.prefix,"vt1211"))
|
||||
print_vt1211(&name);
|
||||
else if (!strcmp(name.prefix,"smsc47m1"))
|
||||
print_smsc47m1(&name);
|
||||
else
|
||||
print_unknown_chip(&name);
|
||||
printf("\n");
|
||||
|
Reference in New Issue
Block a user