Changeset 2642

Show
Ignore:
Timestamp:
07/23/04 19:35:19 (4 years ago)
Author:
khali
Message:

Support 2.6 smsc47m1 better.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • lm-sensors/trunk/etc/sensors.conf.eg

    r2633 r2642  
    19111911 
    19121912 
    1913  
    1914 # 
    19151913chip "smsc47m1-*" 
    19161914 
    1917     set fan1_min 3000 
    1918     set fan2_min 3000 
     1915# SMSC LPC47M10x, LPC47M13x, LPC47M14x and LPC47B27x chips 
     1916 
     1917# We don't set the fan mins by default anymore because they may not exist 
     1918# when using the Linux 2.6 driver (since we respect the original chip 
     1919# configuration). 
     1920#    set fan1_min 3000 
     1921#    set fan2_min 3000 
     1922 
    19191923 
    19201924# 
  • lm-sensors/trunk/prog/sensors/chips.c

    r2636 r2642  
    38863886{ 
    38873887  char *label = NULL; 
    3888   double cur,min,fdiv; 
    3889   int alarms,valid
     3888  double cur, min, div; 
     3889  int alarms, valid, i
    38903890 
    38913891  if (!sensors_get_feature(*name,SENSORS_SMSC47M1_ALARMS,&cur))  
     
    38963896  } 
    38973897 
    3898   if (!sensors_get_label_and_valid(*name,SENSORS_SMSC47M1_FAN1,&label,&valid) && 
    3899       !sensors_get_feature(*name,SENSORS_SMSC47M1_FAN1,&cur) && 
    3900       !sensors_get_feature(*name,SENSORS_SMSC47M1_FAN1_DIV,&fdiv) && 
    3901       !sensors_get_feature(*name,SENSORS_SMSC47M1_FAN1_MIN,&min)) { 
    3902     if (valid) { 
    3903     print_label(label,10); 
    3904     printf("%4.0f RPM  (min = %4.0f RPM, div = %1.0f)          %s\n", 
    3905            cur,min,fdiv, alarms&SMSC47M1_ALARM_FAN1?"ALARM":""); 
    3906     } 
    3907   } else 
    3908     printf("ERROR: Can't get FAN1 data!\n"); 
    3909   free_the_label(&label); 
    3910  
    3911   if (!sensors_get_label_and_valid(*name,SENSORS_SMSC47M1_FAN2,&label,&valid) && 
    3912       !sensors_get_feature(*name,SENSORS_SMSC47M1_FAN2,&cur) && 
    3913       !sensors_get_feature(*name,SENSORS_SMSC47M1_FAN2_DIV,&fdiv) && 
    3914       !sensors_get_feature(*name,SENSORS_SMSC47M1_FAN2_MIN,&min)) { 
    3915     if (valid) { 
    3916     print_label(label,10); 
    3917     printf("%4.0f RPM  (min = %4.0f RPM, div = %1.0f)          %s\n", 
    3918            cur,min,fdiv, alarms&SMSC47M1_ALARM_FAN2?"ALARM":""); 
    3919     } 
    3920   } else 
    3921     printf("ERROR: Can't get FAN2 data!\n"); 
    3922   free_the_label(&label); 
    3923  
     3898  for (i=0; i<2; i++) { /* 2 fans */ 
     3899    if (!sensors_get_label_and_valid(*name, SENSORS_SMSC47M1_FAN1+i, &label, &valid) 
     3900     && !sensors_get_feature(*name, SENSORS_SMSC47M1_FAN1+i, &cur) 
     3901     && !sensors_get_feature(*name, SENSORS_SMSC47M1_FAN1_DIV+i, &div) 
     3902     && !sensors_get_feature(*name, SENSORS_SMSC47M1_FAN1_MIN+i, &min)) { 
     3903      if (valid) { 
     3904        print_label(label, 10); 
     3905        printf("%4.0f RPM  (min = %4.0f RPM, div = %1.0f)          %s\n", 
     3906               cur, min, div, alarms&(SMSC47M1_ALARM_FAN1<<i) ? 
     3907               "ALARM" : ""); 
     3908      } 
     3909    } 
     3910    /* In Linux 2.6, the original chip configuration is respected, so channels 
     3911       may be missing without it being considered an error; thus we don't 
     3912       print any error if this happens. */ 
     3913    free_the_label(&label); 
     3914  } 
    39243915} 
    39253916