Changeset 601

Show
Ignore:
Timestamp:
10/20/99 03:26:00 (9 years ago)
Author:
mds
Message:

(mds) add support for beep3 register in 782d/783s/627hf.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • lm-sensors/trunk/doc/chips/w83781d

    r526 r601  
    491491TO DO: 
    492492----- 
    493  782d beep 3 register 
    494493 782d programmable pins 
    495494 783s temp2 (labeled as temp1 in data sheet) at different location 
  • lm-sensors/trunk/kernel/chips/w83781d.c

    r600 r601  
    108108#define W83781D_REG_BEEP_INTS1 0x56 
    109109#define W83781D_REG_BEEP_INTS2 0x57 
    110 #define W83781D_REG_BEEP_INTS3 0x453    /* W83782D only */ 
     110#define W83781D_REG_BEEP_INTS3 0x453    /* not on W83781D */ 
    111111 
    112112#define W83781D_REG_VID_FANDIV 0x47 
     
    178178#define PWM_TO_REG(val) (SENSORS_LIMIT((val),0,255)) 
    179179#define BEEPS_FROM_REG(val) (val) 
    180 #define BEEPS_TO_REG(val) ((val) & 0xffff
     180#define BEEPS_TO_REG(val) ((val) & 0xffffff
    181181 
    182182#define BEEP_ENABLE_TO_REG(val) (val) 
     
    343343         u8 vid;                     /* Register encoding, combined */ 
    344344         u32 alarms;                 /* Register encoding, combined */ 
    345          u16 beeps;                  /* Register encoding, combined */ 
     345         u32 beeps;                  /* Register encoding, combined */ 
    346346         u8 beep_enable;             /* Boolean */ 
    347347         u8 pwm[4];                  /* Register value */                                
     
    11541154    data->beeps = ((i & 0x7f) << 8) +  
    11551155                  w83781d_read_value(client,W83781D_REG_BEEP_INTS1); 
     1156    if (data->type != w83781d) { 
     1157      data->beeps |= w83781d_read_value(client,W83781D_REG_BEEP_INTS3) << 16; 
     1158    } 
    11561159    data->last_updated = jiffies; 
    11571160    data->valid = 1; 
     
    13231326      data->beeps = BEEPS_TO_REG(results[1]); 
    13241327      w83781d_write_value(client,W83781D_REG_BEEP_INTS1,data->beeps & 0xff); 
     1328      if(data->type != w83781d) 
     1329      { 
     1330        w83781d_write_value(client,W83781D_REG_BEEP_INTS3, 
     1331          ((data->beeps) >> 16) & 0xff); 
     1332      }  
    13251333      val = data->beeps >> 8; 
    13261334    } else if (*nrels_mag >= 1)