diff --git a/CHANGES b/CHANGES index d9a64ab6..4a84e369 100644 --- a/CHANGES +++ b/CHANGES @@ -18,6 +18,7 @@ ask CVS about it: ----------------------------------------------------------------------------- 2.8.6 (2004????) + Library: Switch to new sysfs naming standard Programs i2cdetect, i2cdump, i2cset: Fix incorrect bus names if possible diff --git a/lib/chips.c b/lib/chips.c index 54d942fc..6ba2b989 100644 --- a/lib/chips.c +++ b/lib/chips.c @@ -69,9 +69,9 @@ static sensors_chip_feature lm78_features[] = RW, LM78_SYSCTL_IN4, VALUE(1), 2 }, /* swap 5 and 6 min/max because compute lines will be inverting */ { SENSORS_LM78_IN5_MIN, "in5_min", SENSORS_LM78_IN5, SENSORS_LM78_IN5, - RW, LM78_SYSCTL_IN5, VALUE(2), 2, "in_max5", 3 }, + RW, LM78_SYSCTL_IN5, VALUE(2), 2, "in5_max", 3 }, { SENSORS_LM78_IN6_MIN, "in6_min", SENSORS_LM78_IN6, SENSORS_LM78_IN6, - RW, LM78_SYSCTL_IN6, VALUE(2), 2, "in_max6", 3 }, + RW, LM78_SYSCTL_IN6, VALUE(2), 2, "in6_max", 3 }, { SENSORS_LM78_IN0_MAX, "in0_max", SENSORS_LM78_IN0, SENSORS_LM78_IN0, RW, LM78_SYSCTL_IN0, VALUE(2), 2 }, { SENSORS_LM78_IN1_MAX, "in1_max", SENSORS_LM78_IN1, SENSORS_LM78_IN1, @@ -83,9 +83,9 @@ static sensors_chip_feature lm78_features[] = { SENSORS_LM78_IN4_MAX, "in4_max", SENSORS_LM78_IN4, SENSORS_LM78_IN4, RW, LM78_SYSCTL_IN4, VALUE(2), 2 }, { SENSORS_LM78_IN5_MAX, "in5_max", SENSORS_LM78_IN5, SENSORS_LM78_IN5, - RW, LM78_SYSCTL_IN5, VALUE(1), 2, "in_min5", 3 }, + RW, LM78_SYSCTL_IN5, VALUE(1), 2, "in5_min", 3 }, { SENSORS_LM78_IN6_MAX, "in6_max", SENSORS_LM78_IN6, SENSORS_LM78_IN6, - RW, LM78_SYSCTL_IN6, VALUE(1), 2, "in_min6", 3 }, + RW, LM78_SYSCTL_IN6, VALUE(1), 2, "in6_min", 3 }, { SENSORS_LM78_FAN1, "fan1", NOMAP, NOMAP, R, LM78_SYSCTL_FAN1, VALUE(2), 0 }, { SENSORS_LM78_FAN2, "fan2", NOMAP, NOMAP, @@ -150,9 +150,9 @@ static sensors_chip_feature lm78j_features[] = RW, LM78_SYSCTL_IN4, VALUE(1), 2 }, /* swap 5 and 6 min/max because compute lines will be inverting */ { SENSORS_LM78J_IN5_MIN, "in5_min", SENSORS_LM78J_IN5, SENSORS_LM78J_IN5, - RW, LM78_SYSCTL_IN5, VALUE(2), 2, "in_max5", 3 }, + RW, LM78_SYSCTL_IN5, VALUE(2), 2, "in5_max", 3 }, { SENSORS_LM78J_IN6_MIN, "in6_min", SENSORS_LM78J_IN6, SENSORS_LM78J_IN6, - RW, LM78_SYSCTL_IN6, VALUE(2), 2, "in_max6", 3 }, + RW, LM78_SYSCTL_IN6, VALUE(2), 2, "in6_max", 3 }, { SENSORS_LM78J_IN0_MAX, "in0_max", SENSORS_LM78J_IN0, SENSORS_LM78J_IN0, RW, LM78_SYSCTL_IN0, VALUE(2), 2 }, { SENSORS_LM78J_IN1_MAX, "in1_max", SENSORS_LM78J_IN1, SENSORS_LM78J_IN1, @@ -164,9 +164,9 @@ static sensors_chip_feature lm78j_features[] = { SENSORS_LM78J_IN4_MAX, "in4_max", SENSORS_LM78J_IN4, SENSORS_LM78J_IN4, RW, LM78_SYSCTL_IN4, VALUE(2), 2 }, { SENSORS_LM78J_IN5_MAX, "in5_max", SENSORS_LM78J_IN5, SENSORS_LM78J_IN5, - RW, LM78_SYSCTL_IN5, VALUE(1), 2, "in_min5", 3 }, + RW, LM78_SYSCTL_IN5, VALUE(1), 2, "in5_min", 3 }, { SENSORS_LM78J_IN6_MAX, "in6_max", SENSORS_LM78J_IN6, SENSORS_LM78J_IN6, - RW, LM78_SYSCTL_IN6, VALUE(1), 2, "in_min6", 3 }, + RW, LM78_SYSCTL_IN6, VALUE(1), 2, "in6_min", 3 }, { SENSORS_LM78J_FAN1, "fan1", NOMAP, NOMAP, R, LM78_SYSCTL_FAN1, VALUE(2), 0 }, { SENSORS_LM78J_FAN2, "fan2", NOMAP, NOMAP, @@ -234,9 +234,9 @@ static sensors_chip_feature lm79_features[] = RW, LM78_SYSCTL_IN4, VALUE(1), 2 }, /* swap 5 and 6 min/max because compute lines will be inverting */ { SENSORS_LM79_IN5_MIN, "in5_min", SENSORS_LM79_IN5, SENSORS_LM79_IN5, - RW, LM78_SYSCTL_IN5, VALUE(2), 2, "in_max5", 3 }, + RW, LM78_SYSCTL_IN5, VALUE(2), 2, "in5_max", 3 }, { SENSORS_LM79_IN6_MIN, "in6_min", SENSORS_LM79_IN6, SENSORS_LM79_IN6, - RW, LM78_SYSCTL_IN6, VALUE(2), 2, "in_max6", 3 }, + RW, LM78_SYSCTL_IN6, VALUE(2), 2, "in6_max", 3 }, { SENSORS_LM79_IN0_MAX, "in0_max", SENSORS_LM79_IN0, SENSORS_LM79_IN0, RW, LM78_SYSCTL_IN0, VALUE(2), 2 }, { SENSORS_LM79_IN1_MAX, "in1_max", SENSORS_LM79_IN1, SENSORS_LM79_IN1, @@ -248,9 +248,9 @@ static sensors_chip_feature lm79_features[] = { SENSORS_LM79_IN4_MAX, "in4_max", SENSORS_LM79_IN4, SENSORS_LM79_IN4, RW, LM78_SYSCTL_IN4, VALUE(2), 2 }, { SENSORS_LM79_IN5_MAX, "in5_max", SENSORS_LM79_IN5, SENSORS_LM79_IN5, - RW, LM78_SYSCTL_IN5, VALUE(1), 2, "in_min5", 3 }, + RW, LM78_SYSCTL_IN5, VALUE(1), 2, "in5_min", 3 }, { SENSORS_LM79_IN6_MAX, "in6_max", SENSORS_LM79_IN6, SENSORS_LM79_IN6, - RW, LM78_SYSCTL_IN6, VALUE(1), 2, "in_min6", 3 }, + RW, LM78_SYSCTL_IN6, VALUE(1), 2, "in6_min", 3 }, { SENSORS_LM79_FAN1, "fan1", NOMAP, NOMAP, R, LM78_SYSCTL_FAN1, VALUE(2), 0 }, { SENSORS_LM79_FAN2, "fan2", NOMAP, NOMAP, @@ -419,7 +419,7 @@ static sensors_chip_feature max1617a_features[] = static sensors_chip_feature gl518_features[] = { { SENSORS_GL518_VDD, "vdd", NOMAP,NOMAP, - R, GL518_SYSCTL_VDD, VALUE(3), 2, "in_input0", 3 }, + R, GL518_SYSCTL_VDD, VALUE(3), 2, "in0_input", 3 }, { SENSORS_GL518_VIN1, "vin1", NOMAP,NOMAP, R, GL518_SYSCTL_VIN1, VALUE(3), 2 }, @@ -430,7 +430,7 @@ static sensors_chip_feature gl518_features[] = R, GL518_SYSCTL_VIN3, VALUE(3), 2 }, { SENSORS_GL518_VDD_MIN, "vdd_min", SENSORS_GL518_VDD, SENSORS_GL518_VDD, RW, - GL518_SYSCTL_VDD, VALUE(1), 2 , "in_min0", 3 }, + GL518_SYSCTL_VDD, VALUE(1), 2 , "in0_min", 3 }, { SENSORS_GL518_VIN1_MIN, "vin1_min", SENSORS_GL518_VIN1, SENSORS_GL518_VIN1, RW, GL518_SYSCTL_VIN1, VALUE(1), 2 }, @@ -442,7 +442,7 @@ static sensors_chip_feature gl518_features[] = GL518_SYSCTL_VIN3, VALUE(1), 2 }, { SENSORS_GL518_VDD_MAX, "vdd_max", SENSORS_GL518_VDD, SENSORS_GL518_VDD, RW, - GL518_SYSCTL_VDD, VALUE(2), 2 , "in_max0", 3 }, + GL518_SYSCTL_VDD, VALUE(2), 2 , "in0_max", 3 }, { SENSORS_GL518_VIN1_MAX, "vin1_max", SENSORS_GL518_VIN1, SENSORS_GL518_VIN1, RW, GL518_SYSCTL_VIN1, VALUE(2), 2 }, @@ -487,7 +487,7 @@ static sensors_chip_feature gl518_features[] = GL518_SYSCTL_BEEP, VALUE(2), 0 }, { SENSORS_GL518_FAN1OFF, "fan1_off", SENSORS_GL518_FAN1, NOMAP, RW, - GL518_SYSCTL_FAN1OFF, VALUE(1), 0, "fan_auto1", 0 }, + GL518_SYSCTL_FAN1OFF, VALUE(1), 0, "fan1_auto", 0 }, { SENSORS_GL518_FAN1PIN, "fan1_off_pin", SENSORS_GL518_FAN1OFF, NOMAP, RW, GL518_SYSCTL_FAN1OFF, VALUE(2), 0 }, @@ -649,16 +649,16 @@ static sensors_chip_feature lm80_features[] = R, LM80_SYSCTL_TEMP, VALUE(5), 2 }, { SENSORS_LM80_TEMP_HOT_HYST, "temp_hot_hyst", SENSORS_LM80_TEMP, SENSORS_LM80_TEMP, RW, - LM80_SYSCTL_TEMP, VALUE(2), 2, "temp_max1_hyst", 3 }, + LM80_SYSCTL_TEMP, VALUE(2), 2, "temp1_max_hyst", 3 }, { SENSORS_LM80_TEMP_HOT_MAX, "temp_hot_max", SENSORS_LM80_TEMP, SENSORS_LM80_TEMP, RW, - LM80_SYSCTL_TEMP, VALUE(1), 2, "temp_max1", 3 }, + LM80_SYSCTL_TEMP, VALUE(1), 2, "temp1_max", 3 }, { SENSORS_LM80_TEMP_OS_HYST, "temp_os_hyst", SENSORS_LM80_TEMP, SENSORS_LM80_TEMP, RW, - LM80_SYSCTL_TEMP, VALUE(4), 2, "temp_crit1_hyst", 3 }, + LM80_SYSCTL_TEMP, VALUE(4), 2, "temp1_crit_hyst", 3 }, { SENSORS_LM80_TEMP_OS_MAX, "temp_os_max", SENSORS_LM80_TEMP, SENSORS_LM80_TEMP, RW, - LM80_SYSCTL_TEMP, VALUE(3), 2, "temp_crit1", 3 }, + LM80_SYSCTL_TEMP, VALUE(3), 2, "temp1_crit", 3 }, { SENSORS_LM80_FAN1_DIV, "fan1_div", SENSORS_LM80_FAN1, NOMAP, RW, LM80_SYSCTL_FAN_DIV, VALUE(1), 0 }, @@ -723,16 +723,16 @@ static sensors_chip_feature lm90_features[] = RW, LM90_SYSCTL_REMOTE_TEMP, VALUE(2), 1 }, { SENSORS_LM90_LOCAL_TCRIT, "tcrit1", SENSORS_LM90_LOCAL_TEMP, SENSORS_LM90_LOCAL_TEMP, - RW, LM90_SYSCTL_LOCAL_TCRIT, VALUE(1), 0 }, + RW, LM90_SYSCTL_LOCAL_TCRIT, VALUE(1), 0, "temp1_crit", 3 }, { SENSORS_LM90_REMOTE_TCRIT, "tcrit2", SENSORS_LM90_REMOTE_TEMP, SENSORS_LM90_REMOTE_TEMP, - RW, LM90_SYSCTL_REMOTE_TCRIT, VALUE(1), 0 }, + RW, LM90_SYSCTL_REMOTE_TCRIT, VALUE(1), 0, "temp2_crit", 3 }, { SENSORS_LM90_LOCAL_TCRIT_HYST, "hyst1", SENSORS_LM90_LOCAL_TCRIT, SENSORS_LM90_LOCAL_TCRIT, - RW, LM90_SYSCTL_LOCAL_HYST, VALUE(1), 0 }, + RW, LM90_SYSCTL_LOCAL_HYST, VALUE(1), 0, "temp1_crit_hyst", 3 }, { SENSORS_LM90_REMOTE_TCRIT_HYST, "hyst2", SENSORS_LM90_REMOTE_TCRIT, SENSORS_LM90_REMOTE_TCRIT, - R, LM90_SYSCTL_REMOTE_HYST, VALUE(1), 0 }, + R, LM90_SYSCTL_REMOTE_HYST, VALUE(1), 0, "temp2_crit_hyst", 3 }, { SENSORS_LM90_ALARMS, "alarms", NOMAP, NOMAP, R, LM90_SYSCTL_ALARMS, VALUE(1), 0 }, @@ -774,10 +774,10 @@ static sensors_chip_feature w83781d_features[] = /* swap 5 and 6 min/max because compute lines will be inverting */ { SENSORS_W83781D_IN5_MIN, "in5_min", SENSORS_W83781D_IN5, SENSORS_W83781D_IN5, RW, - W83781D_SYSCTL_IN5, VALUE(2), 2, "in_max5", 3 }, + W83781D_SYSCTL_IN5, VALUE(2), 2, "in5_max", 3 }, { SENSORS_W83781D_IN6_MIN, "in6_min", SENSORS_W83781D_IN6, SENSORS_W83781D_IN6, RW, - W83781D_SYSCTL_IN6, VALUE(2), 2, "in_max6", 3 }, + W83781D_SYSCTL_IN6, VALUE(2), 2, "in6_max", 3 }, { SENSORS_W83781D_IN0_MAX, "in0_max", SENSORS_W83781D_IN0, SENSORS_W83781D_IN0, RW, W83781D_SYSCTL_IN0, VALUE(2), 2 }, @@ -795,10 +795,10 @@ static sensors_chip_feature w83781d_features[] = W83781D_SYSCTL_IN4, VALUE(2), 2 }, { SENSORS_W83781D_IN5_MAX, "in5_max", SENSORS_W83781D_IN5, SENSORS_W83781D_IN5, RW, - W83781D_SYSCTL_IN5, VALUE(1), 2, "in_min5", 3 }, + W83781D_SYSCTL_IN5, VALUE(1), 2, "in5_min", 3 }, { SENSORS_W83781D_IN6_MAX, "in6_max", SENSORS_W83781D_IN6, SENSORS_W83781D_IN6, RW, - W83781D_SYSCTL_IN6, VALUE(1), 2, "in_min6", 3 }, + W83781D_SYSCTL_IN6, VALUE(1), 2, "in6_min", 3 }, { SENSORS_W83781D_FAN1, "fan1", NOMAP, NOMAP, R, W83781D_SYSCTL_FAN1, VALUE(2), 0 }, { SENSORS_W83781D_FAN2, "fan2", NOMAP, NOMAP, @@ -896,10 +896,10 @@ static sensors_chip_feature as99127f_features[] = /* swap 5 and 6 min/max because compute lines will be inverting */ { SENSORS_W83782D_IN5_MIN, "in5_min", SENSORS_W83782D_IN5, SENSORS_W83782D_IN5, RW, - W83781D_SYSCTL_IN5, VALUE(2), 2, "in_max5", 3 }, + W83781D_SYSCTL_IN5, VALUE(2), 2, "in5_max", 3 }, { SENSORS_W83782D_IN6_MIN, "in6_min", SENSORS_W83782D_IN6, SENSORS_W83782D_IN6, RW, - W83781D_SYSCTL_IN6, VALUE(2), 2, "in_max6", 3 }, + W83781D_SYSCTL_IN6, VALUE(2), 2, "in6_max", 3 }, { SENSORS_W83782D_IN0_MAX, "in0_max", SENSORS_W83782D_IN0, SENSORS_W83782D_IN0, RW, W83781D_SYSCTL_IN0, VALUE(2), 2 }, @@ -917,10 +917,10 @@ static sensors_chip_feature as99127f_features[] = W83781D_SYSCTL_IN4, VALUE(2), 2 }, { SENSORS_W83782D_IN5_MAX, "in5_max", SENSORS_W83782D_IN5, SENSORS_W83782D_IN5, RW, - W83781D_SYSCTL_IN5, VALUE(1), 2, "in_min5", 3 }, + W83781D_SYSCTL_IN5, VALUE(1), 2, "in5_min", 3 }, { SENSORS_W83782D_IN6_MAX, "in6_max", SENSORS_W83782D_IN6, SENSORS_W83782D_IN6, RW, - W83781D_SYSCTL_IN6, VALUE(1), 2, "in_min6", 3 }, + W83781D_SYSCTL_IN6, VALUE(1), 2, "in6_min", 3 }, { SENSORS_W83782D_FAN1, "fan1", NOMAP, NOMAP, R, W83781D_SYSCTL_FAN1, VALUE(2), 0 }, { SENSORS_W83782D_FAN2, "fan2", NOMAP, NOMAP, @@ -2524,15 +2524,15 @@ static sensors_chip_feature adm1026_features[] = { static sensors_chip_feature via686a_features[] = { { SENSORS_VIA686A_IN0, "2.0V", NOMAP, NOMAP, - R, VIA686A_SYSCTL_IN0, VALUE(3), 2, "in_input0", 3 }, + R, VIA686A_SYSCTL_IN0, VALUE(3), 2, "in0_input", 3 }, { SENSORS_VIA686A_IN1, "2.5V", NOMAP, NOMAP, - R, VIA686A_SYSCTL_IN1, VALUE(3), 2, "in_input1", 3 }, + R, VIA686A_SYSCTL_IN1, VALUE(3), 2, "in1_input", 3 }, { SENSORS_VIA686A_IN2, "3.3V", NOMAP, NOMAP, - R, VIA686A_SYSCTL_IN2, VALUE(3), 2, "in_input2", 3 }, + R, VIA686A_SYSCTL_IN2, VALUE(3), 2, "in2_input", 3 }, { SENSORS_VIA686A_IN3, "5.0V", NOMAP, NOMAP, - R, VIA686A_SYSCTL_IN3, VALUE(3), 2, "in_input3", 3 }, + R, VIA686A_SYSCTL_IN3, VALUE(3), 2, "in3_input", 3 }, { SENSORS_VIA686A_IN4, "12V", NOMAP, NOMAP, - R, VIA686A_SYSCTL_IN4, VALUE(3), 2, "in_input4", 3 }, + R, VIA686A_SYSCTL_IN4, VALUE(3), 2, "in4_input", 3 }, { SENSORS_VIA686A_IN0_MIN, "in0_min", SENSORS_VIA686A_IN0, SENSORS_VIA686A_IN0, RW, VIA686A_SYSCTL_IN0, VALUE(1), 2 }, diff --git a/lib/proc.c b/lib/proc.c index d8072571..450db5d2 100644 --- a/lib/proc.c +++ b/lib/proc.c @@ -427,27 +427,26 @@ int sensors_write_proc(sensors_chip_name name, int feature, double value) to their sysfs equivalent, and uses common sysfs magnitude. Common magnitudes are #defined above. Common conversions are as follows: - fan%d_div -> fan_div%d - fan%d_min -> fan_min%d - fan%d_state -> fan_status%d - fan%d_ripple -> fan_ripple%d + fan%d_min -> fan%d_min (for magnitude) + fan%d_state -> fan%d_status fan%d -> fan_input%d - in%d_max -> in_max%d - in%d_min -> in_min%d - in%d -> in_input%d - vin%d_max -> in_max%d - vin%d_min -> in_min%d + pwm%d -> fan%d_pwm + pwm%d_enable -> fan%d_pwm_enable + in%d_max -> in%d_max (for magnitude) + in%d_min -> in%d_min (for magnitude) + in%d -> in%d_input + vin%d_max -> in%d_max + vin%d_min -> in%d_min vin%d -> in_input%d - temp%d_over -> temp_max%d - temp%d_hyst -> temp_hyst%d - temp%d_max -> temp_max%d - temp%d_high -> temp_max%d - temp%d_min -> temp_min%d - temp%d_low -> temp_min%d - temp%d_state -> temp_status%d - temp%d -> temp_input%d - tcrit%d -> temp_crit%d - hyst%d -> temp_hyst%d + temp%d_over -> temp%d_max + temp%d_hyst -> temp%d_max_hyst + temp%d_max -> temp%d_max (for magnitude) + temp%d_high -> temp%d_max + temp%d_min -> temp%d_min (for magnitude) + temp%d_low -> temp%d_min + temp%d_state -> temp%d_status + temp%d -> temp%d_input + sensor%d -> temp%d_type AND all conversions listed in the matches[] structure below. If that fails, returns old /proc feature name and magnitude. @@ -471,15 +470,16 @@ int getsysname(const sensors_chip_feature *feature, char *sysname, int *sysmag) struct match matches[] = { { "beeps", "beep_mask", 0 }, - { "pwm", "pwm1", 0 }, - { "remote_temp", "temp_input2", TEMPMAG }, - { "remote_temp_hyst", "temp_hyst2", TEMPMAG }, - { "remote_temp_low", "temp_min2", TEMPMAG }, - { "remote_temp_over", "temp_max2", TEMPMAG }, - { "temp", "temp_input1", TEMPMAG }, - { "temp_hyst", "temp_hyst1", TEMPMAG }, - { "temp_low", "temp_min1", TEMPMAG }, - { "temp_over", "temp_max1", TEMPMAG }, + { "pwm", "fan1_pwm", 0 }, + { "vid", "in0_ref", INMAG }, + { "remote_temp", "temp2_input", TEMPMAG }, + { "remote_temp_hyst", "temp2_hyst", TEMPMAG }, + { "remote_temp_low", "temp2_min", TEMPMAG }, + { "remote_temp_over", "temp2_max", TEMPMAG }, + { "temp", "temp1_input", TEMPMAG }, + { "temp_hyst", "temp1_hyst", TEMPMAG }, + { "temp_low", "temp1_min", TEMPMAG }, + { "temp_over", "temp1_max", TEMPMAG }, { NULL, NULL } }; @@ -504,141 +504,99 @@ int getsysname(const sensors_chip_feature *feature, char *sysname, int *sysmag) } /* convert common /proc names to common sysfs names */ - if(sscanf(name, "fan%d_di%c%c", &num, &last, &check) == 2 && last == 'v') { - sprintf(sysname, "fan_div%d", num); - *sysmag = 0; - return 0; - } if(sscanf(name, "fan%d_mi%c%c", &num, &last, &check) == 2 && last == 'n') { - sprintf(sysname, "fan_min%d", num); + strcpy(sysname, name); *sysmag = FANMAG; return 0; } if(sscanf(name, "fan%d_stat%c%c", &num, &last, &check) == 2 && last == 'e') { - sprintf(sysname, "fan_status%d", num); - *sysmag = 0; - return 0; - } - if(sscanf(name, "fan%d_rippl%c%c", &num, &last, &check) == 2 && last == 'e') { - sprintf(sysname, "fan_ripple%d", num); + sprintf(sysname, "fan%d_status", num); *sysmag = 0; return 0; } if(sscanf(name, "fan%d%c", &num, &check) == 1) { - sprintf(sysname, "fan_input%d", num); + sprintf(sysname, "fan%d_input", num); *sysmag = FANMAG; return 0; } - - if(sscanf(name, "in%d_mi%c%c", &num, &last, &check) == 2 && last == 'n') { - sprintf(sysname, "in_min%d", num); - *sysmag = INMAG; + if(sscanf(name, "pwm%d%c", &num, &check) == 1) { + sprintf(sysname, "fan%d_pwm", num); + *sysmag = 0; return 0; } - if(sscanf(name, "in%d_ma%c%c", &num, &last, &check) == 2 && last == 'x') { - sprintf(sysname, "in_max%d", num); - *sysmag = INMAG; - return 0; - } - if(sscanf(name, "in%d%c", &num, &check) == 1) { - sprintf(sysname, "in_input%d", num); - *sysmag = INMAG; + if(sscanf(name, "pwm%d_enabl%c%c", &num, &last, &check) == 2 && last == 'e') { + sprintf(sysname, "fan%d_pwm_enable", num); + *sysmag = 0; return 0; } + if((sscanf(name, "in%d_mi%c%c", &num, &last, &check) == 2 && last == 'n') + || (sscanf(name, "in%d_ma%c%c", &num, &last, &check) == 2 && last == 'x')) { + strcpy(sysname, name); + *sysmag = INMAG; + return 0; + } + if((sscanf(name, "in%d%c", &num, &check) == 1) + || (sscanf(name, "vin%d%c", &num, &check) == 1)) { + sprintf(sysname, "in%d_input", num); + *sysmag = INMAG; + return 0; + } if(sscanf(name, "vin%d_mi%c%c", &num, &last, &check) == 2 && last == 'n') { - sprintf(sysname, "in_min%d", num); + sprintf(sysname, "in%d_min", num); *sysmag = INMAG; return 0; } if(sscanf(name, "vin%d_ma%c%c", &num, &last, &check) == 2 && last == 'x') { - sprintf(sysname, "in_max%d", num); + sprintf(sysname, "in%d_max", num); *sysmag = INMAG; return 0; } - if(sscanf(name, "vin%d%c", &num, &check) == 1) { - sprintf(sysname, "in_input%d", num); - *sysmag = INMAG; - return 0; - } - - if(sscanf(name, "pwm%d%c", &num, &check) == 1) { - strcpy(sysname, name); - *sysmag = 0; - return 0; - } - - if(sscanf(name, "sensor%d%c", &num, &check) == 1) { - strcpy(sysname, name); - *sysmag = 0; - return 0; - } if(sscanf(name, "temp%d_hys%c%c", &num, &last, &check) == 2 && last == 't') { - sprintf(sysname, "temp_hyst%d", num); + sprintf(sysname, "temp%d_max_hyst", num); *sysmag = TEMPMAG; return 0; } - if(sscanf(name, "temp%d_ove%c%c", &num, &last, &check) == 2 && last == 'r') { - sprintf(sysname, "temp_max%d", num); + if((sscanf(name, "temp%d_ove%c%c", &num, &last, &check) == 2 && last == 'r') + || (sscanf(name, "temp%d_ma%c%c", &num, &last, &check) == 2 && last == 'x') + || (sscanf(name, "temp%d_hig%c%c", &num, &last, &check) == 2 && last == 'h')) { + sprintf(sysname, "temp%d_max", num); *sysmag = TEMPMAG; return 0; } - if(sscanf(name, "temp%d_mi%c%c", &num, &last, &check) == 2 && last == 'n') { - sprintf(sysname, "temp_min%d", num); - *sysmag = TEMPMAG; - return 0; - } - if(sscanf(name, "temp%d_lo%c%c", &num, &last, &check) == 2 && last == 'w') { - sprintf(sysname, "temp_min%d", num); - *sysmag = TEMPMAG; - return 0; - } - if(sscanf(name, "temp%d_ma%c%c", &num, &last, &check) == 2 && last == 'x') { - sprintf(sysname, "temp_max%d", num); - *sysmag = TEMPMAG; - return 0; - } - if(sscanf(name, "temp%d_hig%c%c", &num, &last, &check) == 2 && last == 'h') { - sprintf(sysname, "temp_max%d", num); + if((sscanf(name, "temp%d_mi%c%c", &num, &last, &check) == 2 && last == 'n') + || (sscanf(name, "temp%d_lo%c%c", &num, &last, &check) == 2 && last == 'w')) { + sprintf(sysname, "temp%d_min", num); *sysmag = TEMPMAG; return 0; } if(sscanf(name, "temp%d_stat%c%c", &num, &last, &check) == 2 && last == 'e') { - sprintf(sysname, "temp_status%d", num); + sprintf(sysname, "temp%d_status", num); *sysmag = 0; return 0; } - if(sscanf(name, "tcrit%d%c", &num, &check) == 1) { - sprintf(sysname, "temp_crit%d", num); - *sysmag = TEMPMAG; - return 0; - } - if(sscanf(name, "hyst%d%c", &num, &check) == 1) { - sprintf(sysname, "temp_hyst%d", num); - *sysmag = TEMPMAG; - return 0; - } if(sscanf(name, "temp%d%c", &num, &check) == 1) { - sprintf(sysname, "temp_input%d", num); + sprintf(sysname, "temp%d_input", num); *sysmag = TEMPMAG; return 0; } + if(sscanf(name, "sensor%d%c", &num, &check) == 1) { + sprintf(sysname, "temp%d_type", num); + *sysmag = 0; + return 0; + } /* bmcsensors only, not yet in kernel */ /* - if(sscanf(name, "curr%d_mi%c%c", &num, &last, &check) == 2 && last == 'n') { - sprintf(sysname, "curr_min%d", num); - *sysmag = CURRMAG; - return 0; - } - if(sscanf(name, "curr%d_ma%c%c", &num, &last, &check) == 2 && last == 'x') { - sprintf(sysname, "curr_max%d", num); + if((sscanf(name, "curr%d_mi%c%c", &num, &last, &check) == 2 && last == 'n') + || (sscanf(name, "curr%d_ma%c%c", &num, &last, &check) == 2 && last == 'x')) { + strcpy(sysname, name); *sysmag = CURRMAG; return 0; } if(sscanf(name, "curr%d%c", &num, &check) == 1) { - sprintf(sysname, "curr_input%d", num); + sprintf(sysname, "curr%d_input", num); *sysmag = CURRMAG; return 0; } @@ -646,9 +604,9 @@ int getsysname(const sensors_chip_feature *feature, char *sysname, int *sysmag) /* give up, use old name (probably won't work though...) */ /* known to be the same: - "alarms", "beep_enable", "vid", "vrm" + "alarms", "beep_enable", "vrm", "fan%d_div" */ strcpy(sysname, name); - *sysmag = feature->scaling; + *sysmag = (feature->scaling==0?0:3); return 0; }