Changeset 4449

Show
Ignore:
Timestamp:
06/15/07 13:42:28 (7 years ago)
Author:
khali
Message:

Add user-space support for the Linux 2.4 w83627ehf driver.

Location:
lm-sensors/trunk
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/CHANGES

    r4447 r4449  
    99           Add dme1737 support 
    1010           Add applesmc support 
     11           Add w83627ehf support (for Linux 2.4) 
    1112  Man page sensors.conf.5: Update the chip statement section 
    1213  Module i2c-nforce2: Add nForce MCP61, MCP65 support (2.6 backport) 
     
    3334                   Add max6680 support 
    3435                   Fix alignment of alarm for one-limit temperatures 
     36                   Add w83627ehf support (for Linux 2.4) 
    3537  Program sensors-detect: Stop Super-I/O probe after first family success 
    3638                          Fix SMSC DME1737 detection 
  • lm-sensors/trunk/lib/chips.c

    r4412 r4449  
    19561956  { 
    19571957    { { SENSORS_W83627EHF_IN0, "in0", NOMAP, NOMAP, R },  
    1958                                NOSYSCTL, VALUE(3), 3 }, 
     1958                               W83627EHF_SYSCTL_IN0, VALUE(3), 3 }, 
    19591959    { { SENSORS_W83627EHF_IN1, "in1", NOMAP, NOMAP, R },  
    1960                                NOSYSCTL, VALUE(3), 3 }, 
     1960                               W83627EHF_SYSCTL_IN1, VALUE(3), 3 }, 
    19611961    { { SENSORS_W83627EHF_IN2, "in2", NOMAP, NOMAP, R },  
    1962                                NOSYSCTL, VALUE(3), 3 }, 
     1962                               W83627EHF_SYSCTL_IN2, VALUE(3), 3 }, 
    19631963    { { SENSORS_W83627EHF_IN3, "in3", NOMAP, NOMAP, R },  
    1964                                NOSYSCTL, VALUE(3), 3 }, 
     1964                               W83627EHF_SYSCTL_IN3, VALUE(3), 3 }, 
    19651965    { { SENSORS_W83627EHF_IN4, "in4", NOMAP, NOMAP, R },  
    1966                                NOSYSCTL, VALUE(3), 3 }, 
     1966                               W83627EHF_SYSCTL_IN4, VALUE(3), 3 }, 
    19671967    { { SENSORS_W83627EHF_IN5, "in5", NOMAP, NOMAP, R },  
    1968                                NOSYSCTL, VALUE(3), 3 }, 
     1968                               W83627EHF_SYSCTL_IN5, VALUE(3), 3 }, 
    19691969    { { SENSORS_W83627EHF_IN6, "in6", NOMAP, NOMAP, R },  
    1970                                NOSYSCTL, VALUE(3), 3 }, 
     1970                               W83627EHF_SYSCTL_IN6, VALUE(3), 3 }, 
    19711971    { { SENSORS_W83627EHF_IN7, "in7", NOMAP, NOMAP, R },  
    1972                                NOSYSCTL, VALUE(3), 3 }, 
     1972                               W83627EHF_SYSCTL_IN7, VALUE(3), 3 }, 
    19731973    { { SENSORS_W83627EHF_IN8, "in8", NOMAP, NOMAP, R },  
    1974                                NOSYSCTL, VALUE(3), 3 }, 
     1974                               W83627EHF_SYSCTL_IN8, VALUE(3), 3 }, 
    19751975    { { SENSORS_W83627EHF_IN9, "in9", NOMAP, NOMAP, R },  
    1976                                NOSYSCTL, VALUE(3), 3 }, 
     1976                               W83627EHF_SYSCTL_IN9, VALUE(3), 3 }, 
    19771977    { { SENSORS_W83627EHF_IN0_ALARM, "in0_alarm", SENSORS_W83627EHF_IN0, NOMAP,  
    19781978                                     R },  
     
    20072007    { { SENSORS_W83627EHF_IN0_MIN, "in0_min", SENSORS_W83627EHF_IN0,  
    20082008                                   SENSORS_W83627EHF_IN0, RW },  
    2009                                    NOSYSCTL, VALUE(1), 3 }, 
     2009                                   W83627EHF_SYSCTL_IN0, VALUE(1), 3 }, 
    20102010    { { SENSORS_W83627EHF_IN1_MIN, "in1_min", SENSORS_W83627EHF_IN1,  
    20112011                                   SENSORS_W83627EHF_IN1, RW },  
    2012                                    NOSYSCTL, VALUE(1), 3 }, 
     2012                                   W83627EHF_SYSCTL_IN1, VALUE(1), 3 }, 
    20132013    { { SENSORS_W83627EHF_IN2_MIN, "in2_min", SENSORS_W83627EHF_IN2,  
    20142014                                   SENSORS_W83627EHF_IN2, RW },  
    2015                                    NOSYSCTL, VALUE(1), 3 }, 
     2015                                   W83627EHF_SYSCTL_IN2, VALUE(1), 3 }, 
    20162016    { { SENSORS_W83627EHF_IN3_MIN, "in3_min", SENSORS_W83627EHF_IN3,  
    20172017                                   SENSORS_W83627EHF_IN3, RW },  
    2018                                    NOSYSCTL, VALUE(1), 3 }, 
     2018                                   W83627EHF_SYSCTL_IN3, VALUE(1), 3 }, 
    20192019    { { SENSORS_W83627EHF_IN4_MIN, "in4_min", SENSORS_W83627EHF_IN4,  
    20202020                                   SENSORS_W83627EHF_IN4, RW },  
    2021                                    NOSYSCTL, VALUE(1), 3 }, 
     2021                                   W83627EHF_SYSCTL_IN4, VALUE(1), 3 }, 
    20222022    { { SENSORS_W83627EHF_IN5_MIN, "in5_min", SENSORS_W83627EHF_IN5,  
    20232023                                   SENSORS_W83627EHF_IN5, RW },  
    2024                                    NOSYSCTL, VALUE(1), 3 }, 
     2024                                   W83627EHF_SYSCTL_IN5, VALUE(1), 3 }, 
    20252025    { { SENSORS_W83627EHF_IN6_MIN, "in6_min", SENSORS_W83627EHF_IN6,  
    20262026                                   SENSORS_W83627EHF_IN6, RW },  
    2027                                    NOSYSCTL, VALUE(1), 3 }, 
     2027                                   W83627EHF_SYSCTL_IN6, VALUE(1), 3 }, 
    20282028    { { SENSORS_W83627EHF_IN7_MIN, "in7_min", SENSORS_W83627EHF_IN7,  
    20292029                                   SENSORS_W83627EHF_IN7, RW },  
    2030                                    NOSYSCTL, VALUE(1), 3 }, 
     2030                                   W83627EHF_SYSCTL_IN7, VALUE(1), 3 }, 
    20312031    { { SENSORS_W83627EHF_IN8_MIN, "in8_min", SENSORS_W83627EHF_IN8,  
    20322032                                   SENSORS_W83627EHF_IN8, RW },  
    2033                                    NOSYSCTL, VALUE(1), 3 }, 
     2033                                   W83627EHF_SYSCTL_IN8, VALUE(1), 3 }, 
    20342034    { { SENSORS_W83627EHF_IN9_MIN, "in9_min", SENSORS_W83627EHF_IN9,  
    20352035                                   SENSORS_W83627EHF_IN9, RW },  
    2036                                    NOSYSCTL, VALUE(1), 3 }, 
     2036                                   W83627EHF_SYSCTL_IN9, VALUE(1), 3 }, 
    20372037    { { SENSORS_W83627EHF_IN0_MAX, "in0_max", SENSORS_W83627EHF_IN0,  
    20382038                                   SENSORS_W83627EHF_IN0, RW },  
    2039                                    NOSYSCTL, VALUE(2), 3 }, 
     2039                                   W83627EHF_SYSCTL_IN0, VALUE(2), 3 }, 
    20402040    { { SENSORS_W83627EHF_IN1_MAX, "in1_max", SENSORS_W83627EHF_IN1,  
    20412041                                   SENSORS_W83627EHF_IN1, RW },  
    2042                                    NOSYSCTL, VALUE(2), 3 }, 
     2042                                   W83627EHF_SYSCTL_IN1, VALUE(2), 3 }, 
    20432043    { { SENSORS_W83627EHF_IN2_MAX, "in2_max", SENSORS_W83627EHF_IN2,  
    20442044                                   SENSORS_W83627EHF_IN2, RW },  
    2045                                    NOSYSCTL, VALUE(2), 3 }, 
     2045                                   W83627EHF_SYSCTL_IN2, VALUE(2), 3 }, 
    20462046    { { SENSORS_W83627EHF_IN3_MAX, "in3_max", SENSORS_W83627EHF_IN3,  
    20472047                                   SENSORS_W83627EHF_IN3, RW },  
    2048                                    NOSYSCTL, VALUE(2), 3 }, 
     2048                                   W83627EHF_SYSCTL_IN3, VALUE(2), 3 }, 
    20492049    { { SENSORS_W83627EHF_IN4_MAX, "in4_max", SENSORS_W83627EHF_IN4,  
    20502050                                   SENSORS_W83627EHF_IN4, RW },  
    2051                                    NOSYSCTL, VALUE(2), 3 }, 
     2051                                   W83627EHF_SYSCTL_IN4, VALUE(2), 3 }, 
    20522052    { { SENSORS_W83627EHF_IN5_MAX, "in5_max", SENSORS_W83627EHF_IN5,  
    20532053                                   SENSORS_W83627EHF_IN5, RW },  
    2054                                    NOSYSCTL, VALUE(2), 3 }, 
     2054                                   W83627EHF_SYSCTL_IN5, VALUE(2), 3 }, 
    20552055    { { SENSORS_W83627EHF_IN6_MAX, "in6_max", SENSORS_W83627EHF_IN6,  
    20562056                                   SENSORS_W83627EHF_IN6, RW },  
    2057                                    NOSYSCTL, VALUE(2), 3 }, 
     2057                                   W83627EHF_SYSCTL_IN6, VALUE(2), 3 }, 
    20582058    { { SENSORS_W83627EHF_IN7_MAX, "in7_max", SENSORS_W83627EHF_IN7,  
    20592059                                   SENSORS_W83627EHF_IN7, RW },  
    2060                                    NOSYSCTL, VALUE(2), 3 }, 
     2060                                   W83627EHF_SYSCTL_IN7, VALUE(2), 3 }, 
    20612061    { { SENSORS_W83627EHF_IN8_MAX, "in8_max", SENSORS_W83627EHF_IN8,  
    20622062                                   SENSORS_W83627EHF_IN8, RW },  
    2063                                    NOSYSCTL, VALUE(2), 3 }, 
     2063                                   W83627EHF_SYSCTL_IN8, VALUE(2), 3 }, 
    20642064    { { SENSORS_W83627EHF_IN9_MAX, "in9_max", SENSORS_W83627EHF_IN9,  
    20652065                                   SENSORS_W83627EHF_IN9, RW },  
    2066                                    NOSYSCTL, VALUE(2), 3 }, 
     2066                                   W83627EHF_SYSCTL_IN9, VALUE(2), 3 }, 
    20672067    { { SENSORS_W83627EHF_FAN1, "fan1", NOMAP, NOMAP, R },  
    2068                                 NOSYSCTL, VALUE(2), 0 }, 
     2068                                W83627EHF_SYSCTL_FAN1, VALUE(2), 0 }, 
    20692069    { { SENSORS_W83627EHF_FAN2, "fan2", NOMAP, NOMAP, R },  
    2070                                 NOSYSCTL, VALUE(2), 0 }, 
     2070                                W83627EHF_SYSCTL_FAN2, VALUE(2), 0 }, 
    20712071    { { SENSORS_W83627EHF_FAN3, "fan3", NOMAP, NOMAP, R },  
    2072                                 NOSYSCTL, VALUE(2), 0 }, 
     2072                                W83627EHF_SYSCTL_FAN3, VALUE(2), 0 }, 
    20732073    { { SENSORS_W83627EHF_FAN4, "fan4", NOMAP, NOMAP, R },  
    2074                                 NOSYSCTL, VALUE(2), 0 }, 
     2074                                W83627EHF_SYSCTL_FAN4, VALUE(2), 0 }, 
    20752075    { { SENSORS_W83627EHF_FAN5, "fan5", NOMAP, NOMAP, R },  
    2076                                 NOSYSCTL, VALUE(2), 0 }, 
     2076                                W83627EHF_SYSCTL_FAN5, VALUE(2), 0 }, 
    20772077    { { SENSORS_W83627EHF_FAN1_ALARM, "fan1_alarm", SENSORS_W83627EHF_FAN1,  
    20782078                                      NOMAP, R },  
     
    20922092    { { SENSORS_W83627EHF_FAN1_MIN, "fan1_min", SENSORS_W83627EHF_FAN1,  
    20932093                                    SENSORS_W83627EHF_FAN1, RW },  
    2094                                     NOSYSCTL, VALUE(1), 0 }, 
     2094                                    W83627EHF_SYSCTL_FAN1, VALUE(1), 0 }, 
    20952095    { { SENSORS_W83627EHF_FAN2_MIN, "fan2_min", SENSORS_W83627EHF_FAN2,  
    20962096                                    SENSORS_W83627EHF_FAN2, RW },  
    2097                                     NOSYSCTL, VALUE(1), 0 }, 
     2097                                    W83627EHF_SYSCTL_FAN2, VALUE(1), 0 }, 
    20982098    { { SENSORS_W83627EHF_FAN3_MIN, "fan3_min", SENSORS_W83627EHF_FAN3,  
    20992099                                    SENSORS_W83627EHF_FAN3, RW },  
    2100                                     NOSYSCTL, VALUE(1), 0 }, 
     2100                                    W83627EHF_SYSCTL_FAN3, VALUE(1), 0 }, 
    21012101    { { SENSORS_W83627EHF_FAN4_MIN, "fan4_min", SENSORS_W83627EHF_FAN4,  
    21022102                                    SENSORS_W83627EHF_FAN4, RW },  
    2103                                     NOSYSCTL, VALUE(1), 0 }, 
     2103                                    W83627EHF_SYSCTL_FAN4, VALUE(1), 0 }, 
    21042104    { { SENSORS_W83627EHF_FAN5_MIN, "fan5_min", SENSORS_W83627EHF_FAN5,  
    21052105                                    SENSORS_W83627EHF_FAN5, RW },  
    2106                                     NOSYSCTL, VALUE(1), 0 }, 
     2106                                    W83627EHF_SYSCTL_FAN5, VALUE(1), 0 }, 
    21072107    { { SENSORS_W83627EHF_FAN1_DIV, "fan1_div", SENSORS_W83627EHF_FAN1, NOMAP, R },  
    2108                                     NOSYSCTL, VALUE(1), 0 }, 
     2108                                    W83627EHF_SYSCTL_FAN_DIV, VALUE(1), 0 }, 
    21092109    { { SENSORS_W83627EHF_FAN2_DIV, "fan2_div", SENSORS_W83627EHF_FAN2, NOMAP, R },  
    2110                                     NOSYSCTL, VALUE(2), 0 }, 
     2110                                    W83627EHF_SYSCTL_FAN_DIV, VALUE(2), 0 }, 
    21112111    { { SENSORS_W83627EHF_FAN3_DIV, "fan3_div", SENSORS_W83627EHF_FAN3, NOMAP, R },  
    2112                                     NOSYSCTL, VALUE(3), 0 }, 
     2112                                    W83627EHF_SYSCTL_FAN_DIV, VALUE(3), 0 }, 
    21132113    { { SENSORS_W83627EHF_FAN4_DIV, "fan4_div", SENSORS_W83627EHF_FAN4, NOMAP, R },  
    2114                                     NOSYSCTL, VALUE(4), 0 }, 
     2114                                    W83627EHF_SYSCTL_FAN_DIV, VALUE(4), 0 }, 
    21152115    { { SENSORS_W83627EHF_FAN5_DIV, "fan5_div", SENSORS_W83627EHF_FAN5, NOMAP, R },  
    2116                                     NOSYSCTL, VALUE(5), 0 }, 
     2116                                    W83627EHF_SYSCTL_FAN_DIV, VALUE(5), 0 }, 
    21172117    { { SENSORS_W83627EHF_TEMP1, "temp1", NOMAP, NOMAP, R },  
    2118                                  NOSYSCTL, VALUE(3), 0 }, 
     2118                                 W83627EHF_SYSCTL_TEMP1, VALUE(3), 1 }, 
    21192119    { { SENSORS_W83627EHF_TEMP2, "temp2", NOMAP, NOMAP, R },  
    2120                                  NOSYSCTL, VALUE(3), 1 }, 
     2120                                 W83627EHF_SYSCTL_TEMP2, VALUE(3), 1 }, 
    21212121    { { SENSORS_W83627EHF_TEMP3, "temp3", NOMAP, NOMAP, R },  
    2122                                  NOSYSCTL, VALUE(3), 1 }, 
     2122                                 W83627EHF_SYSCTL_TEMP3, VALUE(3), 1 }, 
    21232123    { { SENSORS_W83627EHF_TEMP1_ALARM, "temp1_alarm", SENSORS_W83627EHF_TEMP1,  
    21242124                                       NOMAP, R },  
     
    21322132    { { SENSORS_W83627EHF_TEMP1_OVER, "temp1_over", SENSORS_W83627EHF_TEMP1,  
    21332133                                      SENSORS_W83627EHF_TEMP1, RW },  
    2134                                       NOSYSCTL, VALUE(1), 0 }, 
     2134                                      W83627EHF_SYSCTL_TEMP1, VALUE(1), 1 }, 
    21352135    { { SENSORS_W83627EHF_TEMP2_OVER, "temp2_over", SENSORS_W83627EHF_TEMP2,  
    21362136                                      SENSORS_W83627EHF_TEMP2, RW },  
    2137                                       NOSYSCTL, VALUE(1), 1 }, 
     2137                                      W83627EHF_SYSCTL_TEMP2, VALUE(1), 1 }, 
    21382138    { { SENSORS_W83627EHF_TEMP3_OVER, "temp3_over", SENSORS_W83627EHF_TEMP3,  
    21392139                                      SENSORS_W83627EHF_TEMP3, RW },  
    2140                                       NOSYSCTL, VALUE(1), 1 }, 
     2140                                      W83627EHF_SYSCTL_TEMP3, VALUE(1), 1 }, 
    21412141    { { SENSORS_W83627EHF_TEMP1_HYST, "temp1_hyst", SENSORS_W83627EHF_TEMP1,  
    21422142                                      SENSORS_W83627EHF_TEMP1, RW },  
    2143                                       NOSYSCTL, VALUE(2), 0 }, 
     2143                                      W83627EHF_SYSCTL_TEMP1, VALUE(2), 1 }, 
    21442144    { { SENSORS_W83627EHF_TEMP2_HYST, "temp2_hyst", SENSORS_W83627EHF_TEMP2,  
    21452145                                      SENSORS_W83627EHF_TEMP2, RW },  
    2146                                       NOSYSCTL, VALUE(2), 1 }, 
     2146                                      W83627EHF_SYSCTL_TEMP2, VALUE(2), 1 }, 
    21472147    { { SENSORS_W83627EHF_TEMP3_HYST, "temp3_hyst", SENSORS_W83627EHF_TEMP3,  
    21482148                                      SENSORS_W83627EHF_TEMP3, RW },  
    2149                                       NOSYSCTL, VALUE(2), 1 }, 
     2149                                      W83627EHF_SYSCTL_TEMP3, VALUE(2), 1 }, 
     2150    { { SENSORS_W83627EHF_ALARMS, "alarms", NOMAP, NOMAP, R },  
     2151                                      W83627EHF_SYSCTL_ALARMS, VALUE(1), 0 }, 
    21502152    { { 0 }, 0 } 
    21512153  }; 
  • lm-sensors/trunk/lib/chips.h

    r4412 r4449  
    972972#define SENSORS_W83627EHF_TEMP2_HYST    82 /* RW */ 
    973973#define SENSORS_W83627EHF_TEMP3_HYST    83 /* RW */ 
     974#define SENSORS_W83627EHF_ALARMS        250 /* R  */ 
    974975 
    975976 
  • lm-sensors/trunk/prog/sensors/chips.c

    r4422 r4449  
    28982898  int i, valid, num_in; 
    28992899  double cur, min, fdiv, max, alarm, over, hyst; 
     2900  unsigned int in_alarms = 0, fan_alarms = 0, temp_alarms = 0; 
    29002901 
    29012902  if (!strcmp(name->prefix, "w83627dhg")) 
     
    29032904  else 
    29042905    num_in = 10; 
     2906 
     2907  /* For the 2.4 kernel driver, alarms are a bit harder to handle */ 
     2908  if (!sensors_get_feature(*name, SENSORS_W83627EHF_ALARMS, &cur)) { 
     2909    unsigned long alarms = cur + 0.5; 
     2910 
     2911    if (alarms & W83627EHF_ALARM_IN0) 
     2912      in_alarms |= (1 << 0); 
     2913    if (alarms & W83627EHF_ALARM_IN1) 
     2914      in_alarms |= (1 << 1); 
     2915    if (alarms & W83627EHF_ALARM_IN2) 
     2916      in_alarms |= (1 << 2); 
     2917    if (alarms & W83627EHF_ALARM_IN3) 
     2918      in_alarms |= (1 << 3); 
     2919    if (alarms & W83627EHF_ALARM_IN4) 
     2920      in_alarms |= (1 << 4); 
     2921    if (alarms & W83627EHF_ALARM_IN5) 
     2922      in_alarms |= (1 << 5); 
     2923    if (alarms & W83627EHF_ALARM_IN6) 
     2924      in_alarms |= (1 << 6); 
     2925    if (alarms & W83627EHF_ALARM_IN7) 
     2926      in_alarms |= (1 << 7); 
     2927    if (alarms & W83627EHF_ALARM_IN8) 
     2928      in_alarms |= (1 << 8); 
     2929    if (num_in >= 10 && (alarms & W83627EHF_ALARM_IN9)) 
     2930      in_alarms |= (1 << 9); 
     2931 
     2932    if (alarms & W83627EHF_ALARM_FAN1) 
     2933      fan_alarms |= (1 << 0); 
     2934    if (alarms & W83627EHF_ALARM_FAN2) 
     2935      fan_alarms |= (1 << 1); 
     2936    if (alarms & W83627EHF_ALARM_FAN3) 
     2937      fan_alarms |= (1 << 2); 
     2938    if (alarms & W83627EHF_ALARM_FAN4) 
     2939      fan_alarms |= (1 << 3); 
     2940    if (alarms & W83627EHF_ALARM_FAN5) 
     2941      fan_alarms |= (1 << 4); 
     2942 
     2943    if (alarms & W83627EHF_ALARM_TEMP1) 
     2944      temp_alarms |= (1 << 0); 
     2945    if (alarms & W83627EHF_ALARM_TEMP2) 
     2946      temp_alarms |= (1 << 1); 
     2947    if (alarms & W83627EHF_ALARM_TEMP3) 
     2948      temp_alarms |= (1 << 2); 
     2949  } 
    29052950 
    29062951  for (i = 0; i < num_in; i++) { 
     
    29092954      && !sensors_get_feature(*name,SENSORS_W83627EHF_IN0+i,&cur) 
    29102955      && !sensors_get_feature(*name,SENSORS_W83627EHF_IN0_MIN+i,&min) 
    2911       && !sensors_get_feature(*name,SENSORS_W83627EHF_IN0_MAX+i,&max) 
    2912       && !sensors_get_feature(*name,SENSORS_W83627EHF_IN0_ALARM+i,&alarm)) { 
     2956      && !sensors_get_feature(*name,SENSORS_W83627EHF_IN0_MAX+i,&max)) { 
    29132957      if (valid) { 
     2958        if (sensors_get_feature(*name, SENSORS_W83627EHF_IN0_ALARM+i, &alarm)) 
     2959          alarm = in_alarms & (1 << i); 
    29142960        print_label(label,10); 
    29152961        printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V) %s\n", 
     
    29332979          printf(", div = %1.0f", fdiv); 
    29342980        printf(")"); 
    2935         if (!sensors_get_feature(*name, SENSORS_W83627EHF_FAN1_ALARM+i, 
    2936                                  &alarm) && alarm) 
     2981        if (sensors_get_feature(*name, SENSORS_W83627EHF_FAN1_ALARM+i, &alarm)) 
     2982          alarm = fan_alarms & (1 << i); 
     2983        if (alarm) 
    29372984          printf(" ALARM"); 
    29382985        printf("\n"); 
     
    29522999        print_label(label,10); 
    29533000        print_temp_info(cur, over, hyst, HYST, i ? 1 : 0, i ? 1 : 0); 
    2954         if (!sensors_get_feature(*name, SENSORS_W83627EHF_TEMP1_ALARM+i, 
    2955                                  &alarm) && alarm) 
     3001        if (sensors_get_feature(*name, SENSORS_W83627EHF_TEMP1_ALARM+i, &alarm)) 
     3002          alarm = temp_alarms & (1 << i); 
     3003        if (alarm) 
    29563004          printf(" ALARM"); 
    29573005        printf("\n");