Changeset 4168

Show
Ignore:
Timestamp:
09/23/06 11:32:29 (7 years ago)
Author:
khali
Message:

vt1211: Rework the voltage and temperature conversions and the temperature

input order to match the Linux 2.6 driver.

libsensors: Change vt1211 temp3-7 magnitude from 1 to 3.
sensors.conf.eg: Adjust the vt1211 section to match the new driver

interface.

Location:
lm-sensors/trunk
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/CHANGES

    r4164 r4168  
    99                            Add an it8716 section 
    1010                            Add a w83793 section 
     11                            Adjust the vt1211 section to match the new driver 
     12                             interface 
    1113  Library: Fix device scan when no i2c support is present 
    1214           Add support for W83627EHF voltage inputs and alarms 
     
    1820           Map the 2.6 adm1026's fan8 to fan0 
    1921           Missing sysfs busses and classes are not errors 
     22           Change vt1211 temp3-7 magnitude from 1 to 3 
    2023  Makefile: Don't grep autoconf.h on user-space targets 
    2124            Fix depmod on non-running kernel version 
     
    3740  Module lm83: Add LM82 support (2.6 backport) 
    3841  Module vt1211: The VT1211 has no in6 
     42                 Rework the voltage and temperature conversions and the 
     43                  temperature input order to match the Linux 2.6 driver 
    3944  Module w83781d: Use real-time alarm registers when possible (2.6 backport) 
    4045                  Add specific alarm and beep defines for the W83791D 
  • lm-sensors/trunk/etc/sensors.conf.eg

    r4154 r4168  
    20382038 
    20392039chip "vt1211-*" 
    2040 # 
     2040 
    20412041#                                                       1 for temp, 0 for volt. 
    20422042#       Sensor          Voltage Mode    Temp Mode       config bit 
    20432043#       --------        ------------    ---------       -------------- 
    2044 #       Reading 1                       temp3 
    2045 #       Reading 3                       temp1            
    2046 #       UCH1/Reading2   in0             temp2           0x04 (4) 
     2044#       Reading 1                       temp1 
     2045#       Reading 3                       temp2            
     2046#       UCH1/Reading2   in0             temp3           0x04 (4) 
    20472047#       UCH2            in1             temp4           0x08 (8) 
    20482048#       UCH3            in2             temp5           0x10 (16) 
     
    20502050#       UCH5            in4             temp7           0x40 (64) 
    20512051#       3.3V            in5 
    2052 # 
    2053 # set uch1-2 to temp mode, uch3-5 to voltage mode 
    2054 # 
    2055 #   set config 12 
    2056     ignore in0 
    2057     ignore in1 
     2052 
     2053# Set uch1-2 to temp mode, uch3-5 to voltage mode. This works only  
     2054# for the 2.4 driver. For the 2.6 driver use the uch_config module parameter. 
     2055# If the value doesn't match the hardware wiring, you'll get weird readings! 
     2056#    set config 12 
     2057 
     2058# The 2.6 driver will automatically ignore the inputs which are not 
     2059# configured, but the 2.4 driver will not so you'll need to add ignore 
     2060# statements depending on the config value above. 
     2061#   ignore in0 
     2062#   ignore in1 
     2063#   ignore temp3 
     2064#   ignore temp4 
    20582065    ignore temp5 
    20592066    ignore temp6 
    20602067    ignore temp7 
    20612068 
    2062 # IMPORTANT: If you get "ERROR: Can't get TEMPX data!" from "sensors", 
    2063 # where X is 2, 4, 5, 6 or 7, although you have this UCH set to 
    2064 # temperature, this generally means that this UCH isn't (physically) 
    2065 # used for temperature, so you should add an ignore statement for tempX 
    2066 # and change the "config" value to reflect the fact that this UCH is 
    2067 # probably used for voltage. 
    2068  
    2069 #   label in0 "unused" 
    2070 #   label in1 "unused" 
    2071     label in2 "VCore1" 
     2069    label in0 "+3.3V" 
     2070    label in1 "+2.5V" 
     2071    label in2 "VCore" 
    20722072    label in3 "+5V" 
    20732073    label in4 "+12V" 
    20742074    label in5 "+3.3V" 
    20752075 
    2076     label temp1 "Int Temp" 
    2077     label temp2 "MB1 Temp" 
    2078     label temp3 "Proc Temp" 
    2079     label temp4 "MB2 Temp" 
    2080 # 
    2081 #   All voltage calculations have the form 
    2082 #       ((@ * 100) - 3) / (K * 95.8), (@ * K * 0.958) + .03 
    2083 #   where K = R2 / (R1 + R2). 
    2084 #   Use the following K values based on input voltage. 
    2085 #   This of course assumes the mobo has the resistors 
    2086 #   recommended by Via in the datasheet. 
    2087 #       Voltage                 K 
    2088 #       VCore                   1.0 
    2089 #       2.5                     0.8333 
    2090 #       3.3 (in5 internal)      0.6296 
    2091 #       3.5 (3.3V ext.)         0.5952 
    2092 #       5.0                     0.4167 
    2093 #       12.0                    0.1754 
    2094 # 
    2095 #   compute in0 ((@ * 100) - 3) / (0.5952 * 95.8), (@ * 0.5952 * 0.958) + .03 
    2096 #   compute in1 ((@ * 100) - 3) / (0.8333 * 95.8), (@ * 0.8333 * 0.958) + .03 
    2097     compute in2 ((@ * 100) - 3) / (0.5952 * 95.8), (@ * 0.5952 * 0.958) + .03 
    2098     compute in3 ((@ * 100) - 3) / (0.4167 * 95.8), (@ * 0.4167 * 0.958) + .03 
    2099     compute in4 ((@ * 100) - 3) / (0.1754 * 95.8), (@ * 0.1754 * 0.958) + .03 
    2100     compute in5 ((@ * 100) - 3) / (0.6296 * 95.8), (@ * 0.6296 * 0.958) + .03 
    2101  
    2102 # adjust this if your vid is wrong; see doc/vid 
     2076    label temp1 "CPU Temp" 
     2077    label temp2 "Int Temp" 
     2078 
     2079    label fan1 "Case Fan" 
     2080    label fan2 "CPU Fan" 
     2081 
     2082# All voltage calculations have the form 
     2083#    compute inX  @ * (1 + R1 / R2), @ / (1 + R1 / R2) 
     2084# 
     2085# The following are the resistor values as recommended by VIA 
     2086#       Voltage         R1      R2 
     2087#       -------         ----    ---- 
     2088#       VCore           -       -       (no scaling) 
     2089#        3.3            6.8k    10k 
     2090#        2.5            2k      10k 
     2091#        5.0            14k     10k 
     2092#       12.0            47k     10k 
     2093# 
     2094# The VT1211 internal 3.3V (in5) is scaled by the driver and doesn't 
     2095# need to be adjusted here. VCore doesn't need scaling at all. 
     2096 
     2097    compute in0  @ * (1 + 6.8 / 10),  @ / (1 + 6.8 / 10) 
     2098    compute in1  @ * (1 +   2 / 10),  @ / (1 +   2 / 10) 
     2099    compute in3  @ * (1 +  14 / 10),  @ / (1 +  14 / 10) 
     2100    compute in4  @ * (1 +  47 / 10),  @ / (1 +  47 / 10) 
     2101 
     2102# Adjust this if your vid is wrong (for 2.4 only); see doc/vid 
    21032103#   set vrm 9.1 
    21042104 
    2105 #   set in0_min 2.5 * 0.95 
    2106 #   set in0_max 2.5 * 1.05 
     2105#   set in0_min 3.3 * 0.95 
     2106#   set in0_max 3.3 * 1.05 
    21072107#   set in1_min 2.5 * 0.95 
    21082108#   set in1_max 2.5 * 1.05 
     2109# If your vid is wrong, hardcode the CPU voltage (e.g. 1.4) 
    21092110#   set in2_min vid * 0.97 
    21102111#   set in2_max vid * 1.03 
     
    21132114#   set in4_min 12.0 * 0.90 
    21142115#   set in4_max 12.0 * 1.10 
    2115 #   set in5_min 3.3 * 0.95 
    2116 #   set in5_max 3.3 * 1.05 
    2117  
    2118     compute temp1  (@ - 65) / 0.9686,  (@ * 0.9686) + 65 
    2119     compute temp3  (@ - 65) / 0.9686,  (@ * 0.9686) + 65 
    2120 # 
    2121 # thermistor calculations. 
    2122 # 3435 is the thermistor beta. 
    2123 # '^' is the e**x operator; '`' is the ln(x) operator 
    2124 # (valid in library version 1.4.0 / lm_sensors 2.7.1 or higher) 
    2125 # This assumes that the thermistor forms a resistor divider with a resistor 
    2126 # equal to its nominal value @ 25C. If not, the math gets even harder. 
    2127 # 
    2128     compute temp2  (1 / (((1 / 3435) * (` ((253 - @) / (@ - 43)))) + (1 / 298.15)))  - 273.15, \ 
    2129                    253 - (210 / (1 + (1 / (^ (((3435 * (25 - @)) / ((@ + 273.15) * 298.15))))))) 
    2130     compute temp4  (1 / (((1 / 3435) * (` ((253 - @) / (@ - 43)))) + (1 / 298.15)))  - 273.15, \ 
    2131                    253 - (210 / (1 + (1 / (^ (((3435 * (25 - @)) / ((@ + 273.15) * 298.15))))))) 
    2132     compute temp5  (1 / (((1 / 3435) * (` ((253 - @) / (@ - 43)))) + (1 / 298.15)))  - 273.15, \ 
    2133                    253 - (210 / (1 + (1 / (^ (((3435 * (25 - @)) / ((@ + 273.15) * 298.15))))))) 
    2134     compute temp6  (1 / (((1 / 3435) * (` ((253 - @) / (@ - 43)))) + (1 / 298.15)))  - 273.15, \ 
    2135                    253 - (210 / (1 + (1 / (^ (((3435 * (25 - @)) / ((@ + 273.15) * 298.15))))))) 
    2136     compute temp7  (1 / (((1 / 3435) * (` ((253 - @) / (@ - 43)))) + (1 / 298.15)))  - 273.15, \ 
    2137                    253 - (210 / (1 + (1 / (^ (((3435 * (25 - @)) / ((@ + 273.15) * 298.15))))))) 
    2138  
    2139 #    set temp2_hyst 40 
    2140 #    set temp2_over 45 
     2116    set in5_min 3.3 * 0.95 
     2117    set in5_max 3.3 * 1.05 
     2118 
     2119# The temperature calculations are of the form 
     2120#    compute tempX  (@ - Offset) / Gain, (@ * Gain) + Offset 
     2121# 
     2122# The following are the gain and offset values as recommended by VIA 
     2123#       Diode Type      Gain    Offset 
     2124#       ----------      ----    ------ 
     2125#       Intel CPU       0.9528  88.638 
     2126#                       0.9686  65.000  *) 
     2127#       VIA C3 Ezra     0.9528  83.869 
     2128#       VIA C3 Ezra-T   0.9528  73.869 
     2129# 
     2130# *) These are the values from the previous sensors.conf. I don't know 
     2131# where they came from or how they got derived. 
     2132# 
     2133# The VT1211 internal temperature (temp2) is scaled by the driver 
     2134# and doesn't need to be adjusted here. 
     2135 
     2136    compute temp1  (@ - 73.869) / 0.9528,  (@ * 0.9528) + 73.869 
     2137 
     2138# The thermistor calculations are of the form 
     2139#    compute tempX  1 / (1 / 298.15 - (` Vmax / @ - 1)) / B) - 273.15, \ 
     2140#                   Vmax / (1 + (^ (B / 298.15 - B / (273.15 + @)))) 
     2141# 
     2142# B is the thermistor beta value, Vmax is the reference voltage, '^' is the 
     2143# exp() operator and '`' is the ln() operator. 
     2144# Given B = 3435 and Vmax = 2.2V and assuming that the thermistor forms a 
     2145# resistor divider with a resistor equal to the thermistor's nominal value at 
     2146# 25 degrees C, the following compute lines can be used: 
     2147 
     2148    compute temp3  1 / (1 / 298.15 - (` (2.2 / @ - 1)) / 3435) - 273.15, \ 
     2149                   2.2 / (1 + (^ (3435 / 298.15 - 3435 / (273.15 + @)))) 
     2150    compute temp4  1 / (1 / 298.15 - (` (2.2 / @ - 1)) / 3435) - 273.15, \ 
     2151                   2.2 / (1 + (^ (3435 / 298.15 - 3435 / (273.15 + @)))) 
     2152    compute temp5  1 / (1 / 298.15 - (` (2.2 / @ - 1)) / 3435) - 273.15, \ 
     2153                   2.2 / (1 + (^ (3435 / 298.15 - 3435 / (273.15 + @)))) 
     2154    compute temp6  1 / (1 / 298.15 - (` (2.2 / @ - 1)) / 3435) - 273.15, \ 
     2155                   2.2 / (1 + (^ (3435 / 298.15 - 3435 / (273.15 + @)))) 
     2156    compute temp7  1 / (1 / 298.15 - (` (2.2 / @ - 1)) / 3435) - 273.15, \ 
     2157                   2.2 / (1 + (^ (3435 / 298.15 - 3435 / (273.15 + @)))) 
     2158 
     2159#    set temp1_hyst 80 
     2160#    set temp1_over 85 
     2161#    set temp2_hyst 60 
     2162#    set temp2_over 65 
    21412163#    set temp3_hyst 60 
    21422164#    set temp3_over 65 
  • lm-sensors/trunk/kernel/chips/vt1211.c

    r4154 r4168  
    100100        Sensor          Voltage Mode    Temp Mode 
    101101        --------        ------------    --------- 
    102         Reading 1                       temp3   Intel thermal diode 
    103         Reading 3                       temp1   VT1211 internal thermal diode 
    104         UCH1/Reading2   in0             temp2 
     102        Reading 1                       temp1   Intel thermal diode 
     103        Reading 3                       temp2   VT1211 internal thermal diode 
     104        UCH1/Reading2   in0             temp3 
    105105        UCH2            in1             temp4 
    106106        UCH3            in2             temp5 
     
    119119#define VT1211_REG_FAN(nr)     (0x28 + (nr)) 
    120120 
    121 static const u8 regtemp[] = { 0x20, 0x21, 0x1f, 0x22, 0x23, 0x24, 0x25 }; 
    122 static const u8 regover[] = { 0x39, 0x3d, 0x1d, 0x2b, 0x2d, 0x2f, 0x31 }; 
    123 static const u8 reghyst[] = { 0x3a, 0x3e, 0x1e, 0x2c, 0x2e, 0x30, 0x32 }; 
     121static const u8 regtemp[] = { 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 }; 
     122static const u8 regover[] = { 0x39, 0x1d, 0x3d, 0x2b, 0x2d, 0x2f, 0x31 }; 
     123static const u8 reghyst[] = { 0x3a, 0x1e, 0x3e, 0x2c, 0x2e, 0x30, 0x32 }; 
    124124 
    125125/* temps numbered 1-7 */ 
     
    127127#define VT1211_REG_TEMP_OVER(nr)        (regover[(nr) - 1]) 
    128128#define VT1211_REG_TEMP_HYST(nr)        (reghyst[(nr) - 1]) 
    129 #define VT1211_REG_TEMP_LOW3    0x4b    /* bits 7-6 */ 
    130 #define VT1211_REG_TEMP_LOW2    0x49    /* bits 5-4 */ 
     129#define VT1211_REG_TEMP_LOW1    0x4b    /* bits 7-6 */ 
     130#define VT1211_REG_TEMP_LOW3    0x49    /* bits 5-4 */ 
    131131#define VT1211_REG_TEMP_LOW47   0x4d 
    132132 
     
    141141 
    142142/* temps 1-7; voltages 0-5 */ 
    143 #define ISTEMP(i, ch_config) ((i) == 1 ? 1 : \ 
    144                               (i) == 3 ? 1 : \ 
    145                               (i) == 2 ? ((ch_config) >> 1) & 0x01 : \ 
    146                                          ((ch_config) >> ((i)-1)) & 0x01) 
     143#define ISTEMP(i, ch_config) ((i) <= 2 ? 1 : \ 
     144                              ((ch_config) >> ((i)-1)) & 1) 
    147145#define ISVOLT(i, ch_config) ((i) > 4 ? 1 : !(((ch_config) >> ((i)+2)) & 0x01)) 
    148146 
     
    152150#define PWM_TO_REG(val) SENSORS_LIMIT((val), 0, 255) 
    153151 
    154 #define TEMP_FROM_REG(val) ((val)*10) 
    155 #define TEMP_FROM_REG10(val) (((val)*10)/4) 
    156 #define TEMP_TO_REG(val) (SENSORS_LIMIT(((val)<0?(((val)-5)/10):\ 
    157                                                  ((val)+5)/10),0,255)) 
    158 #define IN_FROM_REG(val) /*(((val)*10+5)/10)*/ (val) 
    159 #define IN_TO_REG(val)  (SENSORS_LIMIT((((val) * 10 + 5)/10),0,255)) 
    160  
     152/* temp1 (i = 1) is an Intel thermal diode which is scaled in user space. 
     153   temp2 (i = 2) is the internal temp diode so it's scaled in the driver 
     154   according to some measurements taken on an EPIA M10000. 
     155   temp3-7 are thermistor based so the driver returns the voltage measured at 
     156   the pin (range 0V - 2.2V). */ 
     157#define TEMP_FROM_REG(i, reg)   ((i) == 1 ? (reg) * 10 : \ 
     158                                 (i) == 2 ? (reg) < 51 ? 0 : \ 
     159                                 ((reg) - 51) * 10 : \ 
     160                                 ((253 - (reg)) * 2200 + 105) / 210) 
     161/* for 10-bit temp values */ 
     162#define TEMP_FROM_REG10(i, reg) ((i) == 1 ? (reg) * 10 / 4 : \ 
     163                                 (i) == 2 ? (reg) < 204 ? 0 : \ 
     164                                 ((reg) - 204) * 10 / 4 : \ 
     165                                 ((1012 - (reg)) * 550 + 105) / 210) 
     166#define TEMP_TO_REG(i, val)     SENSORS_LIMIT( \ 
     167                                 ((i) == 1 ? ((val) + 5) / 10 : \ 
     168                                  (i) == 2 ? ((val) + 5) / 10 + 51 : \ 
     169                                  253 - ((val) * 210 + 1100) / 2200), 0, 255) 
     170 
     171/* in5 (i = 5) is special. It's the internal 3.3V so it's scaled in the 
     172   driver according to the VT1211 BIOS porting guide */ 
     173#define IN_FROM_REG(i, reg)     ((reg) < 3 ? 0 : (i) == 5 ? \ 
     174                                 (((reg) - 3) * 15882 + 4790) / 9580 : \ 
     175                                 (((reg) - 3) * 10000 + 4790) / 9580) 
     176#define IN_TO_REG(i, val)       (SENSORS_LIMIT((i) == 5 ? \ 
     177                                 ((val) * 9580 + 7941) / 15882 + 3 : \ 
     178                                 ((val) * 9580 + 5000) / 10000 + 3, 0, 255)) 
    161179 
    162180/********* FAN RPM CONVERSIONS ********/ 
     
    271289#define VT1211_ALARM_FAN2 0x80 
    272290#define VT1211_ALARM_IN4 0x100 
    273 #define VT1211_ALARM_TEMP2 0x800 
     291#define VT1211_ALARM_TEMP3 0x800 
    274292#define VT1211_ALARM_CHAS 0x1000 
    275 #define VT1211_ALARM_TEMP3 0x8000 
     293#define VT1211_ALARM_TEMP2 0x8000 
    276294/* duplicates */ 
    277 #define VT1211_ALARM_IN0 VT1211_ALARM_TEMP2 
     295#define VT1211_ALARM_IN0 VT1211_ALARM_TEMP3 
    278296#define VT1211_ALARM_TEMP4 VT1211_ALARM_IN1 
    279297#define VT1211_ALARM_TEMP5 VT1211_ALARM_IN2 
     
    512530                                switch(i) { 
    513531                                        case 1: 
    514                                                 /* ? */ 
    515                                                 j = 0; 
     532                                                j = (vt_rdval(client, 
     533                                                  VT1211_REG_TEMP_LOW1) >> 
     534                                                        6) & 3; 
    516535                                                break; 
    517536                                        case 2: 
    518                                                 j = (vt_rdval(client, 
    519                                                   VT1211_REG_TEMP_LOW2) & 
    520                                                                     0x30) >> 4; 
     537                                                j = 0; 
    521538                                                break; 
    522539                                        case 3: 
    523540                                                j = (vt_rdval(client, 
    524                                                   VT1211_REG_TEMP_LOW3) & 
    525                                                                     0xc0) >> 6; 
     541                                                  VT1211_REG_TEMP_LOW3) >> 
     542                                                        4) & 3; 
    526543                                                break; 
    527                                         case 4: 
    528                                         case 5: 
    529                                         case 6: 
    530                                         case 7: 
    531544                                        default: 
    532545                                                j = (vt_rdval(client, 
    533546                                                  VT1211_REG_TEMP_LOW47) >> 
    534547                                                            ((i-4)*2)) & 0x03;   
    535                                                 break; 
    536          
    537548                                } 
    538549                                data->temp[i - 1] |= j; 
     
    580591        else if (operation == SENSORS_PROC_REAL_READ) { 
    581592                vt1211_update_client(client); 
    582                 results[0] = IN_FROM_REG(data->in_min[nr]); 
    583                 results[1] = IN_FROM_REG(data->in_max[nr]); 
    584                 results[2] = IN_FROM_REG(data->in[nr]); 
     593                results[0] = IN_FROM_REG(nr, data->in_min[nr]); 
     594                results[1] = IN_FROM_REG(nr, data->in_max[nr]); 
     595                results[2] = IN_FROM_REG(nr, data->in[nr]); 
    585596                *nrels_mag = 3; 
    586597        } else if (operation == SENSORS_PROC_REAL_WRITE) { 
    587598                if (*nrels_mag >= 1) { 
    588                         data->in_min[nr] = IN_TO_REG(results[0]); 
     599                        data->in_min[nr] = IN_TO_REG(nr, results[0]); 
    589600                        vt1211_write_value(client, VT1211_REG_IN_MIN(nr), 
    590601                                            data->in_min[nr]); 
    591602                } 
    592603                if (*nrels_mag >= 2) { 
    593                         data->in_max[nr] = IN_TO_REG(results[1]); 
     604                        data->in_max[nr] = IN_TO_REG(nr, results[1]); 
    594605                        vt1211_write_value(client, VT1211_REG_IN_MAX(nr), 
    595606                                            data->in_max[nr]); 
     
    634645 
    635646        if (operation == SENSORS_PROC_REAL_INFO) 
    636                 *nrels_mag = 1; 
     647                *nrels_mag = nr < 2 ? 1 : 3; 
    637648        else if (operation == SENSORS_PROC_REAL_READ) { 
    638649                vt1211_update_client(client); 
    639                 results[0] = TEMP_FROM_REG(data->temp_over[nr]); 
    640                 results[1] = TEMP_FROM_REG(data->temp_hyst[nr]); 
    641                 results[2] = TEMP_FROM_REG10(data->temp[nr]); 
     650                results[0] = TEMP_FROM_REG(nr + 1, data->temp_over[nr]); 
     651                results[1] = TEMP_FROM_REG(nr + 1, data->temp_hyst[nr]); 
     652                results[2] = TEMP_FROM_REG10(nr + 1, data->temp[nr]); 
    642653                *nrels_mag = 3; 
    643654        } else if (operation == SENSORS_PROC_REAL_WRITE) { 
    644655                if (*nrels_mag >= 1) { 
    645                         data->temp_over[nr] = TEMP_TO_REG(results[0]); 
     656                        data->temp_over[nr] = TEMP_TO_REG(nr + 1, results[0]); 
    646657                        vt1211_write_value(client, 
    647658                                            VT1211_REG_TEMP_OVER(nr + 1), 
     
    649660                } 
    650661                if (*nrels_mag >= 2) { 
    651                         data->temp_hyst[nr] = TEMP_TO_REG(results[1]); 
     662                        data->temp_hyst[nr] = TEMP_TO_REG(nr + 1, results[1]); 
    652663                        vt1211_write_value(client, 
    653664                                            VT1211_REG_TEMP_HYST(nr + 1), 
  • lm-sensors/trunk/lib/chips.c

    r4118 r4168  
    47514751                              VT1211_SYSCTL_TEMP2, VALUE(1), 1 }, 
    47524752    { SENSORS_VT1211_TEMP3, "temp3", NOMAP, NOMAP, 
    4753                          R, VT1211_SYSCTL_TEMP3, VALUE(3), 1 }, 
     4753                         R, VT1211_SYSCTL_TEMP3, VALUE(3), 3 }, 
    47544754    { SENSORS_VT1211_TEMP3_HYST, "temp3_hyst", SENSORS_VT1211_TEMP3, 
    47554755                              SENSORS_VT1211_TEMP3, RW,  
    4756                               VT1211_SYSCTL_TEMP3, VALUE(2), 1 }, 
     4756                              VT1211_SYSCTL_TEMP3, VALUE(2), 3 }, 
    47574757    { SENSORS_VT1211_TEMP3_OVER, "temp3_over", SENSORS_VT1211_TEMP3, 
    47584758                              SENSORS_VT1211_TEMP3, RW,  
    4759                               VT1211_SYSCTL_TEMP3, VALUE(1), 1 }, 
     4759                              VT1211_SYSCTL_TEMP3, VALUE(1), 3 }, 
    47604760    { SENSORS_VT1211_TEMP4, "temp4", NOMAP, NOMAP, 
    4761                          R, VT1211_SYSCTL_TEMP4, VALUE(3), 1 }, 
     4761                         R, VT1211_SYSCTL_TEMP4, VALUE(3), 3 }, 
    47624762    { SENSORS_VT1211_TEMP4_HYST, "temp4_hyst", SENSORS_VT1211_TEMP4, 
    47634763                              SENSORS_VT1211_TEMP4, RW,  
    4764                               VT1211_SYSCTL_TEMP4, VALUE(2), 1 }, 
     4764                              VT1211_SYSCTL_TEMP4, VALUE(2), 3 }, 
    47654765    { SENSORS_VT1211_TEMP4_OVER, "temp4_over", SENSORS_VT1211_TEMP4, 
    47664766                              SENSORS_VT1211_TEMP4, RW,  
    4767                               VT1211_SYSCTL_TEMP4, VALUE(1), 1 }, 
     4767                              VT1211_SYSCTL_TEMP4, VALUE(1), 3 }, 
    47684768    { SENSORS_VT1211_TEMP5, "temp5", NOMAP, NOMAP, 
    4769                          R, VT1211_SYSCTL_TEMP5, VALUE(3), 1 }, 
     4769                         R, VT1211_SYSCTL_TEMP5, VALUE(3), 3 }, 
    47704770    { SENSORS_VT1211_TEMP5_HYST, "temp5_hyst", SENSORS_VT1211_TEMP5, 
    47714771                              SENSORS_VT1211_TEMP5, RW,  
    4772                               VT1211_SYSCTL_TEMP5, VALUE(2), 1 }, 
     4772                              VT1211_SYSCTL_TEMP5, VALUE(2), 3 }, 
    47734773    { SENSORS_VT1211_TEMP5_OVER, "temp5_over", SENSORS_VT1211_TEMP5, 
    47744774                              SENSORS_VT1211_TEMP5, RW,  
    4775                               VT1211_SYSCTL_TEMP5, VALUE(1), 1 }, 
     4775                              VT1211_SYSCTL_TEMP5, VALUE(1), 3 }, 
    47764776    { SENSORS_VT1211_TEMP6, "temp6", NOMAP, NOMAP, 
    4777                          R, VT1211_SYSCTL_TEMP6, VALUE(3), 1 }, 
     4777                         R, VT1211_SYSCTL_TEMP6, VALUE(3), 3 }, 
    47784778    { SENSORS_VT1211_TEMP6_HYST, "temp6_hyst", SENSORS_VT1211_TEMP6, 
    47794779                              SENSORS_VT1211_TEMP6, RW,  
    4780                               VT1211_SYSCTL_TEMP6, VALUE(2), 1 }, 
     4780                              VT1211_SYSCTL_TEMP6, VALUE(2), 3 }, 
    47814781    { SENSORS_VT1211_TEMP6_OVER, "temp6_over", SENSORS_VT1211_TEMP6, 
    47824782                              SENSORS_VT1211_TEMP6, RW,  
    4783                               VT1211_SYSCTL_TEMP6, VALUE(1), 1 }, 
     4783                              VT1211_SYSCTL_TEMP6, VALUE(1), 3 }, 
    47844784    { SENSORS_VT1211_TEMP7, "temp7", NOMAP, NOMAP, 
    4785                          R, VT1211_SYSCTL_TEMP7, VALUE(3), 1 }, 
     4785                         R, VT1211_SYSCTL_TEMP7, VALUE(3), 3 }, 
    47864786    { SENSORS_VT1211_TEMP7_HYST, "temp7_hyst", SENSORS_VT1211_TEMP7, 
    47874787                              SENSORS_VT1211_TEMP7, RW,  
    4788                               VT1211_SYSCTL_TEMP7, VALUE(2), 1 }, 
     4788                              VT1211_SYSCTL_TEMP7, VALUE(2), 3 }, 
    47894789    { SENSORS_VT1211_TEMP7_OVER, "temp7_over", SENSORS_VT1211_TEMP7, 
    47904790                              SENSORS_VT1211_TEMP7, RW,  
    4791                               VT1211_SYSCTL_TEMP7, VALUE(1), 1 }, 
     4791                              VT1211_SYSCTL_TEMP7, VALUE(1), 3 }, 
    47924792    { SENSORS_VT1211_FAN1_DIV, "fan1_div", SENSORS_VT1211_FAN1, 
    47934793                             NOMAP,