mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-11-01 13:20:30 +00:00
libsensors: Add support for the pc87247 driver (fans only).
sensord: Add pc87247 support (fans only). sensors: Add pc87247 support (fans only). sensors-detect: Advertise the upcoming pc87427 driver. Thanks to Amir Habibi at Candelis for setting up a test system. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@4196 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
19cc056508
commit
6b5b092e9c
8 files changed
+171
-1
No files matched your search
@@ -2,6 +2,9 @@ lm_sensors CHANGES file
|
||||
-----------------------
|
||||
|
||||
SVN HEAD
|
||||
Library: Add support for the pc87247 driver (fans only)
|
||||
Program sensord: Add pc87247 support (fans only)
|
||||
Program sensors: Add pc87247 support (fans only)
|
||||
Program sensors-detect: Add SMSC DME1737 detection
|
||||
Add EPoX EP1308 detection (Hans Edgington)
|
||||
|
||||
|
||||
+94
@@ -5193,6 +5193,99 @@ static sensors_chip_feature pc87365_features[] =
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
static sensors_chip_feature pc87427_features[] =
|
||||
{
|
||||
{ SENSORS_PC87427_FAN(1), "fan1", NOMAP, NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN(2), "fan2", NOMAP, NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN(3), "fan3", NOMAP, NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN(4), "fan4", NOMAP, NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN(5), "fan5", NOMAP, NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN(6), "fan6", NOMAP, NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN(7), "fan7", NOMAP, NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN(8), "fan8", NOMAP, NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN_MIN(1), "fan1_min",
|
||||
SENSORS_PC87427_FAN(1), SENSORS_PC87427_FAN(1), RW,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_MIN(2), "fan2_min",
|
||||
SENSORS_PC87427_FAN(2), SENSORS_PC87427_FAN(2), RW,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_MIN(3), "fan3_min",
|
||||
SENSORS_PC87427_FAN(3), SENSORS_PC87427_FAN(3), RW,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_MIN(4), "fan4_min",
|
||||
SENSORS_PC87427_FAN(4), SENSORS_PC87427_FAN(4), RW,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_MIN(5), "fan5_min",
|
||||
SENSORS_PC87427_FAN(5), SENSORS_PC87427_FAN(5), RW,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_MIN(6), "fan6_min",
|
||||
SENSORS_PC87427_FAN(6), SENSORS_PC87427_FAN(6), RW,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_MIN(7), "fan7_min",
|
||||
SENSORS_PC87427_FAN(7), SENSORS_PC87427_FAN(7), RW,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_MIN(8), "fan8_min",
|
||||
SENSORS_PC87427_FAN(8), SENSORS_PC87427_FAN(8), RW,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_ALARM(1), "fan1_alarm",
|
||||
SENSORS_PC87427_FAN(1), NOMAP, R,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_ALARM(2), "fan2_alarm",
|
||||
SENSORS_PC87427_FAN(2), NOMAP, R,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_ALARM(3), "fan3_alarm",
|
||||
SENSORS_PC87427_FAN(3), NOMAP, R,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_ALARM(4), "fan4_alarm",
|
||||
SENSORS_PC87427_FAN(4), NOMAP, R,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_ALARM(5), "fan5_alarm",
|
||||
SENSORS_PC87427_FAN(5), NOMAP, R,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_ALARM(6), "fan6_alarm",
|
||||
SENSORS_PC87427_FAN(6), NOMAP, R,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_ALARM(7), "fan7_alarm",
|
||||
SENSORS_PC87427_FAN(7), NOMAP, R,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_ALARM(8), "fan8_alarm",
|
||||
SENSORS_PC87427_FAN(8), NOMAP, R,
|
||||
NOSYSCTL, VALUE(1), 0 },
|
||||
{ SENSORS_PC87427_FAN_FAULT(1), "fan1_fault",
|
||||
SENSORS_PC87427_FAN(1), NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN_FAULT(2), "fan2_fault",
|
||||
SENSORS_PC87427_FAN(2), NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN_FAULT(3), "fan3_fault",
|
||||
SENSORS_PC87427_FAN(3), NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN_FAULT(4), "fan4_fault",
|
||||
SENSORS_PC87427_FAN(4), NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN_FAULT(5), "fan5_fault",
|
||||
SENSORS_PC87427_FAN(5), NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN_FAULT(6), "fan6_fault",
|
||||
SENSORS_PC87427_FAN(6), NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN_FAULT(7), "fan7_fault",
|
||||
SENSORS_PC87427_FAN(7), NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ SENSORS_PC87427_FAN_FAULT(8), "fan8_fault",
|
||||
SENSORS_PC87427_FAN(8), NOMAP, R,
|
||||
NOSYSCTL, VALUE(2), 0 },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
static sensors_chip_feature lm92_features[] =
|
||||
{
|
||||
{ SENSORS_LM92_TEMP, "temp", NOMAP, NOMAP,
|
||||
@@ -6014,6 +6107,7 @@ sensors_chip_features sensors_chip_features_list[] =
|
||||
{ SENSORS_PC87364_PREFIX, pc87360_features },
|
||||
{ SENSORS_PC87365_PREFIX, pc87365_features },
|
||||
{ SENSORS_PC87366_PREFIX, pc87365_features },
|
||||
{ SENSORS_PC87427_PREFIX, pc87427_features },
|
||||
{ SENSORS_LM92_PREFIX, lm92_features },
|
||||
{ SENSORS_VT8231_PREFIX, vt8231_features },
|
||||
{ SENSORS_BMC_PREFIX, bmc_features },
|
||||
|
||||
@@ -1933,6 +1933,14 @@
|
||||
#define SENSORS_PC87360_VID 240 /* R */
|
||||
#define SENSORS_PC87360_VRM 241 /* RW */
|
||||
|
||||
#define SENSORS_PC87427_PREFIX "pc87427"
|
||||
|
||||
/* fan n from 1 to 8 */
|
||||
#define SENSORS_PC87427_FAN(n) (n) /* R */
|
||||
#define SENSORS_PC87427_FAN_MIN(n) (16 + (n)) /* RW */
|
||||
#define SENSORS_PC87427_FAN_ALARM(n) (32 + (n)) /* R */
|
||||
#define SENSORS_PC87427_FAN_FAULT(n) (48 + (n)) /* R */
|
||||
|
||||
#define SENSORS_LM92_PREFIX "lm92"
|
||||
|
||||
#define SENSORS_LM92_TEMP_HIGH 1 /* RW */
|
||||
|
||||
@@ -1643,7 +1643,7 @@ $chip_kern26_w83791d = {
|
||||
},
|
||||
{
|
||||
name => "Nat. Semi. PC87427 Super IO Fan Sensors",
|
||||
driver => "to-be-written",
|
||||
driver => "pc87427",
|
||||
devid => 0xf2,
|
||||
logdev => 0x09,
|
||||
},
|
||||
|
||||
@@ -117,6 +117,13 @@ fmtFans_0
|
||||
return fmtExtra (alarm, beep);
|
||||
}
|
||||
|
||||
static const char *
|
||||
fmtFans_nodiv_0
|
||||
(const double values[], int alarm, int beep) {
|
||||
sprintf (buff, "%.0f RPM (min = %.0f RPM)", values[0], values[1]);
|
||||
return fmtExtra (alarm, beep);
|
||||
}
|
||||
|
||||
static const char *
|
||||
fmtMHz_2
|
||||
(const double values[], int alarm, int beep) {
|
||||
@@ -1093,6 +1100,37 @@ static const ChipDescriptor pc87360_chip = {
|
||||
pc87360_names, pc87360_features, SENSORS_PC87360_ALARMS_TEMP, 0
|
||||
};
|
||||
|
||||
/** PC87427 **/
|
||||
|
||||
static const char *pc87427_names[] = {
|
||||
SENSORS_PC87427_PREFIX,
|
||||
NULL
|
||||
};
|
||||
|
||||
static const FeatureDescriptor pc87427_features[] = {
|
||||
{ fmtFans_nodiv_0, rrdF0, DataType_rpm, 0, 0,
|
||||
{ SENSORS_PC87427_FAN(1), SENSORS_PC87427_FAN_MIN(1), -1, -1 } },
|
||||
{ fmtFans_nodiv_0, rrdF0, DataType_rpm, 0, 0,
|
||||
{ SENSORS_PC87427_FAN(2), SENSORS_PC87427_FAN_MIN(2), -1, -1 } },
|
||||
{ fmtFans_nodiv_0, rrdF0, DataType_rpm, 0, 0,
|
||||
{ SENSORS_PC87427_FAN(3), SENSORS_PC87427_FAN_MIN(3), -1, -1 } },
|
||||
{ fmtFans_nodiv_0, rrdF0, DataType_rpm, 0, 0,
|
||||
{ SENSORS_PC87427_FAN(4), SENSORS_PC87427_FAN_MIN(4), -1, -1 } },
|
||||
{ fmtFans_nodiv_0, rrdF0, DataType_rpm, 0, 0,
|
||||
{ SENSORS_PC87427_FAN(5), SENSORS_PC87427_FAN_MIN(5), -1, -1 } },
|
||||
{ fmtFans_nodiv_0, rrdF0, DataType_rpm, 0, 0,
|
||||
{ SENSORS_PC87427_FAN(6), SENSORS_PC87427_FAN_MIN(6), -1, -1 } },
|
||||
{ fmtFans_nodiv_0, rrdF0, DataType_rpm, 0, 0,
|
||||
{ SENSORS_PC87427_FAN(7), SENSORS_PC87427_FAN_MIN(7), -1, -1 } },
|
||||
{ fmtFans_nodiv_0, rrdF0, DataType_rpm, 0, 0,
|
||||
{ SENSORS_PC87427_FAN(8), SENSORS_PC87427_FAN_MIN(8), -1, -1 } },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static const ChipDescriptor pc87427_chip = {
|
||||
pc87427_names, pc87427_features, 0, 0
|
||||
};
|
||||
|
||||
/** W83627EHF **/
|
||||
|
||||
static const char *w83627ehf_names[] = {
|
||||
@@ -1191,6 +1229,7 @@ const ChipDescriptor * const knownChips[] = {
|
||||
&it87_chip,
|
||||
&asb100_chip,
|
||||
&pc87360_chip,
|
||||
&pc87427_chip,
|
||||
&w83627ehf_chip,
|
||||
&f71805f_chip,
|
||||
NULL
|
||||
|
||||
@@ -4810,6 +4810,30 @@ void print_pc87366(const sensors_chip_name *name)
|
||||
print_vid_info(name, SENSORS_PC87360_VID, SENSORS_PC87360_VRM);
|
||||
}
|
||||
|
||||
void print_pc87427(const sensors_chip_name *name)
|
||||
{
|
||||
char *label;
|
||||
double cur, min, alarm, fault;
|
||||
int valid, i;
|
||||
|
||||
for (i = 1; i <= 8; i++) {
|
||||
if (!sensors_get_label_and_valid(*name, SENSORS_PC87427_FAN(i),
|
||||
&label, &valid) &&
|
||||
!sensors_get_feature(*name, SENSORS_PC87427_FAN(i), &cur) &&
|
||||
!sensors_get_feature(*name, SENSORS_PC87427_FAN_MIN(i), &min) &&
|
||||
!sensors_get_feature(*name, SENSORS_PC87427_FAN_ALARM(i), &alarm) &&
|
||||
!sensors_get_feature(*name, SENSORS_PC87427_FAN_FAULT(i), &fault)) {
|
||||
if (valid) {
|
||||
print_label(label, 10);
|
||||
printf("%4.0f RPM (min = %4.0f RPM) %s\n",
|
||||
cur, min,
|
||||
fault ? "FAULT" : alarm ? "ALARM" : "");
|
||||
}
|
||||
}
|
||||
}
|
||||
free(label);
|
||||
}
|
||||
|
||||
static void lm92_print_temp (float n_cur,float n_high,float n_low,float n_crit,float n_hyst)
|
||||
{
|
||||
if (fahrenheit) {
|
||||
|
||||
@@ -60,6 +60,7 @@ extern void print_smsc47m192(const sensors_chip_name *name);
|
||||
extern void print_pc87360(const sensors_chip_name *name);
|
||||
extern void print_pc87364(const sensors_chip_name *name);
|
||||
extern void print_pc87366(const sensors_chip_name *name);
|
||||
extern void print_pc87427(const sensors_chip_name *name);
|
||||
extern void print_lm92(const sensors_chip_name *name);
|
||||
extern void print_vt8231(const sensors_chip_name *name);
|
||||
extern void print_bmc(const sensors_chip_name *name);
|
||||
|
||||
@@ -402,6 +402,7 @@ struct match matches[] = {
|
||||
{ "pc87364", print_pc87364 },
|
||||
{ "pc87365", print_pc87366 },
|
||||
{ "pc87366", print_pc87366 },
|
||||
{ "pc87427", print_pc87427 },
|
||||
{ "lm92", print_lm92 },
|
||||
{ "vt8231", print_vt8231 },
|
||||
{ "bmc", print_bmc },
|
||||
|
||||
Reference in new issue
Block a user