Show
Ignore:
Timestamp:
12/24/98 19:40:58 (14 years ago)
Author:
frodo
Message:

Unknown chip support

Some basic support, in the form of sensors_get_all_features(), for chips that
are known to the library, but unknown to the application. prog/sensors has
a demo of how to use this, in function print_unknown_chip in chips.c.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/lib/chips.c

    r95 r110  
    2020#include "chips.h" 
    2121#include "access.h" 
     22#include "sensors.h" 
    2223#include "src/sensors.h" 
    2324 
     
    4142  {  
    4243    { SENSORS_LM78_IN0, "in0", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,  
    43                         SENSORS_R, LM78_SYSCTL_IN0, VALUE(3), 2 }, 
     44                        SENSORS_MODE_R, LM78_SYSCTL_IN0, VALUE(3), 2 }, 
    4445    { SENSORS_LM78_IN1, "in1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    45                         SENSORS_R, LM78_SYSCTL_IN1, VALUE(3), 2 }, 
     46                        SENSORS_MODE_R, LM78_SYSCTL_IN1, VALUE(3), 2 }, 
    4647    { SENSORS_LM78_IN2, "in2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    47                         SENSORS_R, LM78_SYSCTL_IN2, VALUE(3), 2 }, 
     48                        SENSORS_MODE_R, LM78_SYSCTL_IN2, VALUE(3), 2 }, 
    4849    { SENSORS_LM78_IN3, "in3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    49                         SENSORS_R, LM78_SYSCTL_IN3, VALUE(3), 2 }, 
     50                        SENSORS_MODE_R, LM78_SYSCTL_IN3, VALUE(3), 2 }, 
    5051    { SENSORS_LM78_IN4, "in4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    51                         SENSORS_R, LM78_SYSCTL_IN4, VALUE(3), 2 }, 
     52                        SENSORS_MODE_R, LM78_SYSCTL_IN4, VALUE(3), 2 }, 
    5253    { SENSORS_LM78_IN5, "in5", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    53                         SENSORS_R, LM78_SYSCTL_IN5, VALUE(3), 2 }, 
     54                        SENSORS_MODE_R, LM78_SYSCTL_IN5, VALUE(3), 2 }, 
    5455    { SENSORS_LM78_IN6, "in6", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    55                         SENSORS_R, LM78_SYSCTL_IN6, VALUE(3), 2 }, 
     56                        SENSORS_MODE_R, LM78_SYSCTL_IN6, VALUE(3), 2 }, 
    5657    { SENSORS_LM78_IN0_MIN, "in0_min", SENSORS_LM78_IN0, SENSORS_LM78_IN0, 
    57                             SENSORS_RW, LM78_SYSCTL_IN0, VALUE(1), 2 }, 
     58                            SENSORS_MODE_RW, LM78_SYSCTL_IN0, VALUE(1), 2 }, 
    5859    { SENSORS_LM78_IN1_MIN, "in1_min", SENSORS_LM78_IN1, SENSORS_LM78_IN1, 
    59                             SENSORS_RW, LM78_SYSCTL_IN1, VALUE(1), 2 }, 
     60                            SENSORS_MODE_RW, LM78_SYSCTL_IN1, VALUE(1), 2 }, 
    6061    { SENSORS_LM78_IN2_MIN, "in2_min", SENSORS_LM78_IN2, SENSORS_LM78_IN2, 
    61                             SENSORS_RW, LM78_SYSCTL_IN2, VALUE(1), 2 }, 
     62                            SENSORS_MODE_RW, LM78_SYSCTL_IN2, VALUE(1), 2 }, 
    6263    { SENSORS_LM78_IN3_MIN, "in3_min", SENSORS_LM78_IN3, SENSORS_LM78_IN3, 
    63                             SENSORS_RW, LM78_SYSCTL_IN3, VALUE(1), 2 }, 
     64                            SENSORS_MODE_RW, LM78_SYSCTL_IN3, VALUE(1), 2 }, 
    6465    { SENSORS_LM78_IN4_MIN, "in4_min", SENSORS_LM78_IN4, SENSORS_LM78_IN4, 
    65                             SENSORS_RW, LM78_SYSCTL_IN4, VALUE(1), 2 }, 
     66                            SENSORS_MODE_RW, LM78_SYSCTL_IN4, VALUE(1), 2 }, 
    6667    { SENSORS_LM78_IN5_MIN, "in5_min", SENSORS_LM78_IN5, SENSORS_LM78_IN5, 
    67                             SENSORS_RW, LM78_SYSCTL_IN5, VALUE(1), 2 }, 
     68                            SENSORS_MODE_RW, LM78_SYSCTL_IN5, VALUE(1), 2 }, 
    6869    { SENSORS_LM78_IN6_MIN, "in6_min", SENSORS_LM78_IN6, SENSORS_LM78_IN6, 
    69                             SENSORS_RW, LM78_SYSCTL_IN6, VALUE(1), 2 }, 
     70                            SENSORS_MODE_RW, LM78_SYSCTL_IN6, VALUE(1), 2 }, 
    7071    { SENSORS_LM78_IN0_MAX, "in0_max", SENSORS_LM78_IN0, SENSORS_LM78_IN0, 
    71                             SENSORS_RW, LM78_SYSCTL_IN0, VALUE(2), 2 }, 
     72                            SENSORS_MODE_RW, LM78_SYSCTL_IN0, VALUE(2), 2 }, 
    7273    { SENSORS_LM78_IN1_MAX, "in1_max", SENSORS_LM78_IN1, SENSORS_LM78_IN1, 
    73                             SENSORS_RW, LM78_SYSCTL_IN1, VALUE(2), 2 }, 
     74                            SENSORS_MODE_RW, LM78_SYSCTL_IN1, VALUE(2), 2 }, 
    7475    { SENSORS_LM78_IN2_MAX, "in2_max", SENSORS_LM78_IN2, SENSORS_LM78_IN2, 
    75                             SENSORS_RW, LM78_SYSCTL_IN2, VALUE(2), 2 }, 
     76                            SENSORS_MODE_RW, LM78_SYSCTL_IN2, VALUE(2), 2 }, 
    7677    { SENSORS_LM78_IN3_MAX, "in3_max", SENSORS_LM78_IN3, SENSORS_LM78_IN3, 
    77                             SENSORS_RW, LM78_SYSCTL_IN3, VALUE(2), 2 }, 
     78                            SENSORS_MODE_RW, LM78_SYSCTL_IN3, VALUE(2), 2 }, 
    7879    { SENSORS_LM78_IN4_MAX, "in4_max", SENSORS_LM78_IN4, SENSORS_LM78_IN4, 
    79                             SENSORS_RW, LM78_SYSCTL_IN4, VALUE(2), 2 }, 
     80                            SENSORS_MODE_RW, LM78_SYSCTL_IN4, VALUE(2), 2 }, 
    8081    { SENSORS_LM78_IN5_MAX, "in5_max", SENSORS_LM78_IN5, SENSORS_LM78_IN5, 
    81                             SENSORS_RW, LM78_SYSCTL_IN5, VALUE(2), 2 }, 
     82                            SENSORS_MODE_RW, LM78_SYSCTL_IN5, VALUE(2), 2 }, 
    8283    { SENSORS_LM78_IN6_MAX, "in6_max", SENSORS_LM78_IN6, SENSORS_LM78_IN6, 
    83                             SENSORS_RW, LM78_SYSCTL_IN6, VALUE(2), 2 }, 
     84                            SENSORS_MODE_RW, LM78_SYSCTL_IN6, VALUE(2), 2 }, 
    8485    { SENSORS_LM78_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    85                          SENSORS_R, LM78_SYSCTL_FAN1, VALUE(2), 0 }, 
     86                         SENSORS_MODE_R, LM78_SYSCTL_FAN1, VALUE(2), 0 }, 
    8687    { SENSORS_LM78_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    87                          SENSORS_R, LM78_SYSCTL_FAN2, VALUE(2), 0 }, 
     88                         SENSORS_MODE_R, LM78_SYSCTL_FAN2, VALUE(2), 0 }, 
    8889    { SENSORS_LM78_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    89                          SENSORS_R, LM78_SYSCTL_FAN3, VALUE(2), 0 }, 
     90                         SENSORS_MODE_R, LM78_SYSCTL_FAN3, VALUE(2), 0 }, 
    9091    { SENSORS_LM78_FAN1_MIN, "fan1_min", SENSORS_LM78_FAN1, SENSORS_NO_MAPPING, 
    91                              SENSORS_RW, LM78_SYSCTL_FAN1, VALUE(1), 0 }, 
     92                             SENSORS_MODE_RW, LM78_SYSCTL_FAN1, VALUE(1), 0 }, 
    9293    { SENSORS_LM78_FAN2_MIN, "fan2_min", SENSORS_LM78_FAN2, SENSORS_NO_MAPPING, 
    93                              SENSORS_RW, LM78_SYSCTL_FAN2, VALUE(1), 0 }, 
     94                             SENSORS_MODE_RW, LM78_SYSCTL_FAN2, VALUE(1), 0 }, 
    9495    { SENSORS_LM78_FAN3_MIN, "fan3_min", SENSORS_LM78_FAN3, SENSORS_NO_MAPPING, 
    95                              SENSORS_RW, LM78_SYSCTL_FAN3, VALUE(1), 0 }, 
     96                             SENSORS_MODE_RW, LM78_SYSCTL_FAN3, VALUE(1), 0 }, 
    9697    { SENSORS_LM78_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    97                          SENSORS_R, LM78_SYSCTL_TEMP, VALUE(3), 1 }, 
     98                         SENSORS_MODE_R, LM78_SYSCTL_TEMP, VALUE(3), 1 }, 
    9899    { SENSORS_LM78_TEMP_HYST, "temp_hyst", SENSORS_LM78_TEMP, 
    99                               SENSORS_LM78_TEMP, SENSORS_RW, LM78_SYSCTL_TEMP, 
    100                               VALUE(2), 1 }, 
     100                              SENSORS_LM78_TEMP, SENSORS_MODE_RW,  
     101                              LM78_SYSCTL_TEMP, VALUE(2), 1 }, 
    101102    { SENSORS_LM78_TEMP_OVER, "temp_over", SENSORS_LM78_TEMP, 
    102                               SENSORS_LM78_TEMP, SENSORS_RW, LM78_SYSCTL_TEMP, 
    103                               VALUE(1), 1 }, 
     103                              SENSORS_LM78_TEMP, SENSORS_MODE_RW,  
     104                              LM78_SYSCTL_TEMP, VALUE(1), 1 }, 
    104105    { SENSORS_LM78_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    105                         SENSORS_R, LM78_SYSCTL_VID, VALUE(1), 2 }, 
     106                        SENSORS_MODE_R, LM78_SYSCTL_VID, VALUE(1), 2 }, 
    106107    { SENSORS_LM78_FAN1_DIV, "fan1_div", SENSORS_LM78_FAN1, SENSORS_NO_MAPPING, 
    107                              SENSORS_RW, LM78_SYSCTL_FAN_DIV, VALUE(1), 0 }, 
     108                             SENSORS_MODE_RW, LM78_SYSCTL_FAN_DIV, VALUE(1),  
     109                             0 }, 
    108110    { SENSORS_LM78_FAN2_DIV, "fan2_div", SENSORS_LM78_FAN2, SENSORS_NO_MAPPING, 
    109                              SENSORS_RW, LM78_SYSCTL_FAN_DIV, VALUE(2), 0 }, 
     111                             SENSORS_MODE_RW, LM78_SYSCTL_FAN_DIV, VALUE(2),  
     112                             0 }, 
    110113    { SENSORS_LM78_FAN3_DIV, "fan3_div", SENSORS_LM78_FAN3, SENSORS_NO_MAPPING, 
    111                               SENSORS_R, LM78_SYSCTL_FAN_DIV, VALUE(3), 0 }, 
     114                              SENSORS_MODE_R, LM78_SYSCTL_FAN_DIV, VALUE(3),  
     115                              0 }, 
    112116    { SENSORS_LM78_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,  
    113                            SENSORS_R, LM78_SYSCTL_ALARMS, VALUE(1), 0 }, 
     117                           SENSORS_MODE_R, LM78_SYSCTL_ALARMS, VALUE(1), 0 }, 
    114118    { 0 } 
    115119  }; 
     
    118122  {  
    119123    { SENSORS_LM78J_IN0, "in0", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,  
    120                          SENSORS_R, LM78_SYSCTL_IN0, VALUE(3), 2 }, 
     124                         SENSORS_MODE_R, LM78_SYSCTL_IN0, VALUE(3), 2 }, 
    121125    { SENSORS_LM78J_IN1, "in1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    122                          SENSORS_R, LM78_SYSCTL_IN1, VALUE(3), 2 }, 
     126                         SENSORS_MODE_R, LM78_SYSCTL_IN1, VALUE(3), 2 }, 
    123127    { SENSORS_LM78J_IN2, "in2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    124                          SENSORS_R, LM78_SYSCTL_IN2, VALUE(3), 2 }, 
     128                         SENSORS_MODE_R, LM78_SYSCTL_IN2, VALUE(3), 2 }, 
    125129    { SENSORS_LM78J_IN3, "in3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    126                          SENSORS_R, LM78_SYSCTL_IN3, VALUE(3), 2 }, 
     130                         SENSORS_MODE_R, LM78_SYSCTL_IN3, VALUE(3), 2 }, 
    127131    { SENSORS_LM78J_IN4, "in4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    128                          SENSORS_R, LM78_SYSCTL_IN4, VALUE(3), 2 }, 
     132                         SENSORS_MODE_R, LM78_SYSCTL_IN4, VALUE(3), 2 }, 
    129133    { SENSORS_LM78J_IN5, "in5", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    130                          SENSORS_R, LM78_SYSCTL_IN5, VALUE(3), 2 }, 
     134                         SENSORS_MODE_R, LM78_SYSCTL_IN5, VALUE(3), 2 }, 
    131135    { SENSORS_LM78J_IN6, "in6", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    132                          SENSORS_R, LM78_SYSCTL_IN6, VALUE(3), 2 }, 
     136                         SENSORS_MODE_R, LM78_SYSCTL_IN6, VALUE(3), 2 }, 
    133137    { SENSORS_LM78J_IN0_MIN, "in0_min", SENSORS_LM78J_IN0, SENSORS_LM78J_IN0, 
    134                              SENSORS_RW, LM78_SYSCTL_IN0, VALUE(1), 2 }, 
     138                             SENSORS_MODE_RW, LM78_SYSCTL_IN0, VALUE(1), 2 }, 
    135139    { SENSORS_LM78J_IN1_MIN, "in1_min", SENSORS_LM78J_IN1, SENSORS_LM78J_IN1, 
    136                              SENSORS_RW, LM78_SYSCTL_IN1, VALUE(1), 2 }, 
     140                             SENSORS_MODE_RW, LM78_SYSCTL_IN1, VALUE(1), 2 }, 
    137141    { SENSORS_LM78J_IN2_MIN, "in2_min", SENSORS_LM78J_IN2, SENSORS_LM78J_IN2, 
    138                              SENSORS_RW, LM78_SYSCTL_IN2, VALUE(1), 2 }, 
     142                             SENSORS_MODE_RW, LM78_SYSCTL_IN2, VALUE(1), 2 }, 
    139143    { SENSORS_LM78J_IN3_MIN, "in3_min", SENSORS_LM78J_IN3, SENSORS_LM78J_IN3, 
    140                              SENSORS_RW, LM78_SYSCTL_IN3, VALUE(1), 2 }, 
     144                             SENSORS_MODE_RW, LM78_SYSCTL_IN3, VALUE(1), 2 }, 
    141145    { SENSORS_LM78J_IN4_MIN, "in4_min", SENSORS_LM78J_IN4, SENSORS_LM78J_IN4, 
    142                              SENSORS_RW, LM78_SYSCTL_IN4, VALUE(1), 2 }, 
     146                             SENSORS_MODE_RW, LM78_SYSCTL_IN4, VALUE(1), 2 }, 
    143147    { SENSORS_LM78J_IN5_MIN, "in5_min", SENSORS_LM78J_IN5, SENSORS_LM78J_IN5, 
    144                              SENSORS_RW, LM78_SYSCTL_IN5, VALUE(1), 2 }, 
     148                             SENSORS_MODE_RW, LM78_SYSCTL_IN5, VALUE(1), 2 }, 
    145149    { SENSORS_LM78J_IN6_MIN, "in6_min", SENSORS_LM78J_IN6, SENSORS_LM78J_IN6, 
    146                              SENSORS_RW, LM78_SYSCTL_IN6, VALUE(1), 2 }, 
     150                             SENSORS_MODE_RW, LM78_SYSCTL_IN6, VALUE(1), 2 }, 
    147151    { SENSORS_LM78J_IN0_MAX, "in0_max", SENSORS_LM78J_IN0, SENSORS_LM78J_IN0, 
    148                              SENSORS_RW, LM78_SYSCTL_IN0, VALUE(2), 2 }, 
     152                             SENSORS_MODE_RW, LM78_SYSCTL_IN0, VALUE(2), 2 }, 
    149153    { SENSORS_LM78J_IN1_MAX, "in1_max", SENSORS_LM78J_IN1, SENSORS_LM78J_IN1, 
    150                              SENSORS_RW, LM78_SYSCTL_IN1, VALUE(2), 2 }, 
     154                             SENSORS_MODE_RW, LM78_SYSCTL_IN1, VALUE(2), 2 }, 
    151155    { SENSORS_LM78J_IN2_MAX, "in2_max", SENSORS_LM78J_IN2, SENSORS_LM78J_IN2, 
    152                              SENSORS_RW, LM78_SYSCTL_IN2, VALUE(2), 2 }, 
     156                             SENSORS_MODE_RW, LM78_SYSCTL_IN2, VALUE(2), 2 }, 
    153157    { SENSORS_LM78J_IN3_MAX, "in3_max", SENSORS_LM78J_IN3, SENSORS_LM78J_IN3, 
    154                              SENSORS_RW, LM78_SYSCTL_IN3, VALUE(2), 2 }, 
     158                             SENSORS_MODE_RW, LM78_SYSCTL_IN3, VALUE(2), 2 }, 
    155159    { SENSORS_LM78J_IN4_MAX, "in4_max", SENSORS_LM78J_IN4, SENSORS_LM78J_IN4, 
    156                              SENSORS_RW, LM78_SYSCTL_IN4, VALUE(2), 2 }, 
     160                             SENSORS_MODE_RW, LM78_SYSCTL_IN4, VALUE(2), 2 }, 
    157161    { SENSORS_LM78J_IN5_MAX, "in5_max", SENSORS_LM78J_IN5, SENSORS_LM78J_IN5, 
    158                              SENSORS_RW, LM78_SYSCTL_IN5, VALUE(2), 2 }, 
     162                             SENSORS_MODE_RW, LM78_SYSCTL_IN5, VALUE(2), 2 }, 
    159163    { SENSORS_LM78J_IN6_MAX, "in6_max", SENSORS_LM78J_IN6, SENSORS_LM78J_IN6, 
    160                              SENSORS_RW, LM78_SYSCTL_IN6, VALUE(2), 2 }, 
     164                             SENSORS_MODE_RW, LM78_SYSCTL_IN6, VALUE(2), 2 }, 
    161165    { SENSORS_LM78J_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    162                           SENSORS_R, LM78_SYSCTL_FAN1, VALUE(2), 0 }, 
     166                          SENSORS_MODE_R, LM78_SYSCTL_FAN1, VALUE(2), 0 }, 
    163167    { SENSORS_LM78J_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    164                           SENSORS_R, LM78_SYSCTL_FAN2, VALUE(2), 0 }, 
     168                          SENSORS_MODE_R, LM78_SYSCTL_FAN2, VALUE(2), 0 }, 
    165169    { SENSORS_LM78J_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    166                           SENSORS_R, LM78_SYSCTL_FAN3, VALUE(2), 0 }, 
     170                          SENSORS_MODE_R, LM78_SYSCTL_FAN3, VALUE(2), 0 }, 
    167171    { SENSORS_LM78J_FAN1_MIN, "fan1_min", SENSORS_LM78J_FAN1, 
    168                               SENSORS_NO_MAPPING, SENSORS_RW, LM78_SYSCTL_FAN1, 
    169                               VALUE(1), 0 }, 
     172                              SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     173                              LM78_SYSCTL_FAN1, VALUE(1), 0 }, 
    170174    { SENSORS_LM78J_FAN2_MIN, "fan2_min", SENSORS_LM78J_FAN2, 
    171                               SENSORS_NO_MAPPING, SENSORS_RW, LM78_SYSCTL_FAN2, 
    172                               VALUE(1), 0 }, 
     175                              SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     176                              LM78_SYSCTL_FAN2, VALUE(1), 0 }, 
    173177    { SENSORS_LM78J_FAN3_MIN, "fan3_min", SENSORS_LM78J_FAN3, 
    174                               SENSORS_NO_MAPPING, SENSORS_RW, LM78_SYSCTL_FAN3, 
    175                               VALUE(1), 0 }, 
     178                              SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     179                              LM78_SYSCTL_FAN3, VALUE(1), 0 }, 
    176180    { SENSORS_LM78J_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    177                           SENSORS_R, LM78_SYSCTL_TEMP, VALUE(3), 1 }, 
     181                          SENSORS_MODE_R, LM78_SYSCTL_TEMP, VALUE(3), 1 }, 
    178182    { SENSORS_LM78J_TEMP_HYST, "temp_hyst", SENSORS_LM78J_TEMP, 
    179                                SENSORS_LM78J_TEMP, SENSORS_RW, LM78_SYSCTL_TEMP, 
    180                                VALUE(2), 1 }, 
     183                               SENSORS_LM78J_TEMP, SENSORS_MODE_RW,  
     184                               LM78_SYSCTL_TEMP, VALUE(2), 1 }, 
    181185    { SENSORS_LM78J_TEMP_OVER, "temp_over", SENSORS_LM78J_TEMP, 
    182                                SENSORS_LM78J_TEMP, SENSORS_RW, LM78_SYSCTL_TEMP, 
    183                                VALUE(1), 1 }, 
     186                               SENSORS_LM78J_TEMP, SENSORS_MODE_RW,  
     187                               LM78_SYSCTL_TEMP, VALUE(1), 1 }, 
    184188    { SENSORS_LM78J_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    185                          SENSORS_R, LM78_SYSCTL_VID, VALUE(1), 2 }, 
     189                         SENSORS_MODE_R, LM78_SYSCTL_VID, VALUE(1), 2 }, 
    186190    { SENSORS_LM78J_FAN1_DIV, "fan1_div", SENSORS_LM78J_FAN1, 
    187                               SENSORS_NO_MAPPING, SENSORS_RW,  
     191                              SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
    188192                              LM78_SYSCTL_FAN_DIV, VALUE(1), 0 }, 
    189193    { SENSORS_LM78J_FAN2_DIV, "fan2_div", SENSORS_LM78J_FAN2, 
    190                               SENSORS_NO_MAPPING, SENSORS_RW, 
     194                              SENSORS_NO_MAPPING, SENSORS_MODE_RW, 
    191195                              LM78_SYSCTL_FAN_DIV, VALUE(2), 0 }, 
    192196    { SENSORS_LM78J_FAN3_DIV, "fan3_div", SENSORS_LM78J_FAN3, 
    193                               SENSORS_NO_MAPPING, SENSORS_R, 
     197                              SENSORS_NO_MAPPING, SENSORS_MODE_R, 
    194198                              LM78_SYSCTL_FAN_DIV, VALUE(3), 0 }, 
    195199    { SENSORS_LM78J_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,  
    196                             SENSORS_R, LM78_SYSCTL_ALARMS, VALUE(1), 0 }, 
     200                            SENSORS_MODE_R, LM78_SYSCTL_ALARMS, VALUE(1), 0 }, 
    197201    { 0 } 
    198202  }; 
     
    201205  {  
    202206    { SENSORS_LM79_IN0, "in0", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,  
    203                         SENSORS_R, LM78_SYSCTL_IN0, VALUE(3), 2 }, 
     207                        SENSORS_MODE_R, LM78_SYSCTL_IN0, VALUE(3), 2 }, 
    204208    { SENSORS_LM79_IN1, "in1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    205                         SENSORS_R, LM78_SYSCTL_IN1, VALUE(3), 2 }, 
     209                        SENSORS_MODE_R, LM78_SYSCTL_IN1, VALUE(3), 2 }, 
    206210    { SENSORS_LM79_IN2, "in2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    207                         SENSORS_R, LM78_SYSCTL_IN2, VALUE(3), 2 }, 
     211                        SENSORS_MODE_R, LM78_SYSCTL_IN2, VALUE(3), 2 }, 
    208212    { SENSORS_LM79_IN3, "in3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    209                         SENSORS_R, LM78_SYSCTL_IN3, VALUE(3), 2 }, 
     213                        SENSORS_MODE_R, LM78_SYSCTL_IN3, VALUE(3), 2 }, 
    210214    { SENSORS_LM79_IN4, "in4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    211                         SENSORS_R, LM78_SYSCTL_IN4, VALUE(3), 2 }, 
     215                        SENSORS_MODE_R, LM78_SYSCTL_IN4, VALUE(3), 2 }, 
    212216    { SENSORS_LM79_IN5, "in5", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    213                         SENSORS_R, LM78_SYSCTL_IN5, VALUE(3), 2 }, 
     217                        SENSORS_MODE_R, LM78_SYSCTL_IN5, VALUE(3), 2 }, 
    214218    { SENSORS_LM79_IN6, "in6", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    215                         SENSORS_R, LM78_SYSCTL_IN6, VALUE(3), 2 }, 
     219                        SENSORS_MODE_R, LM78_SYSCTL_IN6, VALUE(3), 2 }, 
    216220    { SENSORS_LM79_IN0_MIN, "in0_min", SENSORS_LM79_IN0, SENSORS_LM79_IN0, 
    217                             SENSORS_RW, LM78_SYSCTL_IN0, VALUE(1), 2 }, 
     221                            SENSORS_MODE_RW, LM78_SYSCTL_IN0, VALUE(1), 2 }, 
    218222    { SENSORS_LM79_IN1_MIN, "in1_min", SENSORS_LM79_IN1, SENSORS_LM79_IN1, 
    219                             SENSORS_RW, LM78_SYSCTL_IN1, VALUE(1), 2 }, 
     223                            SENSORS_MODE_RW, LM78_SYSCTL_IN1, VALUE(1), 2 }, 
    220224    { SENSORS_LM79_IN2_MIN, "in2_min", SENSORS_LM79_IN2, SENSORS_LM79_IN2, 
    221                             SENSORS_RW, LM78_SYSCTL_IN2, VALUE(1), 2 }, 
     225                            SENSORS_MODE_RW, LM78_SYSCTL_IN2, VALUE(1), 2 }, 
    222226    { SENSORS_LM79_IN3_MIN, "in3_min", SENSORS_LM79_IN3, SENSORS_LM79_IN3, 
    223                             SENSORS_RW, LM78_SYSCTL_IN3, VALUE(1), 2 }, 
     227                            SENSORS_MODE_RW, LM78_SYSCTL_IN3, VALUE(1), 2 }, 
    224228    { SENSORS_LM79_IN4_MIN, "in4_min", SENSORS_LM79_IN4, SENSORS_LM79_IN4, 
    225                             SENSORS_RW, LM78_SYSCTL_IN4, VALUE(1), 2 }, 
     229                            SENSORS_MODE_RW, LM78_SYSCTL_IN4, VALUE(1), 2 }, 
    226230    { SENSORS_LM79_IN5_MIN, "in5_min", SENSORS_LM79_IN5, SENSORS_LM79_IN5, 
    227                             SENSORS_RW, LM78_SYSCTL_IN5, VALUE(1), 2 }, 
     231                            SENSORS_MODE_RW, LM78_SYSCTL_IN5, VALUE(1), 2 }, 
    228232    { SENSORS_LM79_IN6_MIN, "in6_min", SENSORS_LM79_IN6, SENSORS_LM79_IN6, 
    229                             SENSORS_RW, LM78_SYSCTL_IN6, VALUE(1), 2 }, 
     233                            SENSORS_MODE_RW, LM78_SYSCTL_IN6, VALUE(1), 2 }, 
    230234    { SENSORS_LM79_IN0_MAX, "in0_max", SENSORS_LM79_IN0, SENSORS_LM79_IN0, 
    231                             SENSORS_RW, LM78_SYSCTL_IN0, VALUE(2), 2 }, 
     235                            SENSORS_MODE_RW, LM78_SYSCTL_IN0, VALUE(2), 2 }, 
    232236    { SENSORS_LM79_IN1_MAX, "in1_max", SENSORS_LM79_IN1, SENSORS_LM79_IN1, 
    233                             SENSORS_RW, LM78_SYSCTL_IN1, VALUE(2), 2 }, 
     237                            SENSORS_MODE_RW, LM78_SYSCTL_IN1, VALUE(2), 2 }, 
    234238    { SENSORS_LM79_IN2_MAX, "in2_max", SENSORS_LM79_IN2, SENSORS_LM79_IN2, 
    235                             SENSORS_RW, LM78_SYSCTL_IN2, VALUE(2), 2 }, 
     239                            SENSORS_MODE_RW, LM78_SYSCTL_IN2, VALUE(2), 2 }, 
    236240    { SENSORS_LM79_IN3_MAX, "in3_max", SENSORS_LM79_IN3, SENSORS_LM79_IN3, 
    237                             SENSORS_RW, LM78_SYSCTL_IN3, VALUE(2), 2 }, 
     241                            SENSORS_MODE_RW, LM78_SYSCTL_IN3, VALUE(2), 2 }, 
    238242    { SENSORS_LM79_IN4_MAX, "in4_max", SENSORS_LM79_IN4, SENSORS_LM79_IN4, 
    239                             SENSORS_RW, LM78_SYSCTL_IN4, VALUE(2), 2 }, 
     243                            SENSORS_MODE_RW, LM78_SYSCTL_IN4, VALUE(2), 2 }, 
    240244    { SENSORS_LM79_IN5_MAX, "in5_max", SENSORS_LM79_IN5, SENSORS_LM79_IN5, 
    241                             SENSORS_RW, LM78_SYSCTL_IN5, VALUE(2), 2 }, 
     245                            SENSORS_MODE_RW, LM78_SYSCTL_IN5, VALUE(2), 2 }, 
    242246    { SENSORS_LM79_IN6_MAX, "in6_max", SENSORS_LM79_IN6, SENSORS_LM79_IN6, 
    243                             SENSORS_RW, LM78_SYSCTL_IN6, VALUE(2), 2 }, 
     247                            SENSORS_MODE_RW, LM78_SYSCTL_IN6, VALUE(2), 2 }, 
    244248    { SENSORS_LM79_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    245                          SENSORS_R, LM78_SYSCTL_FAN1, VALUE(2), 0 }, 
     249                         SENSORS_MODE_R, LM78_SYSCTL_FAN1, VALUE(2), 0 }, 
    246250    { SENSORS_LM79_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    247                          SENSORS_R, LM78_SYSCTL_FAN2, VALUE(2), 0 }, 
     251                         SENSORS_MODE_R, LM78_SYSCTL_FAN2, VALUE(2), 0 }, 
    248252    { SENSORS_LM79_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    249                          SENSORS_R, LM78_SYSCTL_FAN3, VALUE(2), 0 }, 
     253                         SENSORS_MODE_R, LM78_SYSCTL_FAN3, VALUE(2), 0 }, 
    250254    { SENSORS_LM79_FAN1_MIN, "fan1_min", SENSORS_LM79_FAN1, SENSORS_NO_MAPPING, 
    251                              SENSORS_RW, LM78_SYSCTL_FAN1, VALUE(1), 0 }, 
     255                             SENSORS_MODE_RW, LM78_SYSCTL_FAN1, VALUE(1), 0 }, 
    252256    { SENSORS_LM79_FAN2_MIN, "fan2_min", SENSORS_LM79_FAN2, SENSORS_NO_MAPPING, 
    253                              SENSORS_RW, LM78_SYSCTL_FAN2, VALUE(1), 0 }, 
     257                             SENSORS_MODE_RW, LM78_SYSCTL_FAN2, VALUE(1), 0 }, 
    254258    { SENSORS_LM79_FAN3_MIN, "fan3_min", SENSORS_LM79_FAN3, SENSORS_NO_MAPPING, 
    255                              SENSORS_RW, LM78_SYSCTL_FAN3, VALUE(1), 0 }, 
     259                             SENSORS_MODE_RW, LM78_SYSCTL_FAN3, VALUE(1), 0 }, 
    256260    { SENSORS_LM79_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    257                          SENSORS_R, LM78_SYSCTL_TEMP, VALUE(3), 1 }, 
     261                         SENSORS_MODE_R, LM78_SYSCTL_TEMP, VALUE(3), 1 }, 
    258262    { SENSORS_LM79_TEMP_HYST, "temp_hyst", SENSORS_LM79_TEMP, 
    259                               SENSORS_LM79_TEMP, SENSORS_RW, LM78_SYSCTL_TEMP, 
    260                               VALUE(2), 1 }, 
     263                              SENSORS_LM79_TEMP, SENSORS_MODE_RW,  
     264                              LM78_SYSCTL_TEMP, VALUE(2), 1 }, 
    261265    { SENSORS_LM79_TEMP_OVER, "temp_over", SENSORS_LM79_TEMP, 
    262                               SENSORS_LM79_TEMP, SENSORS_RW, LM78_SYSCTL_TEMP, 
    263                               VALUE(1), 1 }, 
     266                              SENSORS_LM79_TEMP, SENSORS_MODE_RW,  
     267                              LM78_SYSCTL_TEMP, VALUE(1), 1 }, 
    264268    { SENSORS_LM79_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    265                         SENSORS_R, LM78_SYSCTL_VID, VALUE(1), 2 }, 
     269                        SENSORS_MODE_R, LM78_SYSCTL_VID, VALUE(1), 2 }, 
    266270    { SENSORS_LM79_FAN1_DIV, "fan1_div", SENSORS_LM79_FAN1, SENSORS_NO_MAPPING, 
    267                              SENSORS_RW, LM78_SYSCTL_FAN_DIV, VALUE(1), 0 }, 
     271                             SENSORS_MODE_RW, LM78_SYSCTL_FAN_DIV, VALUE(1),  
     272                             0 }, 
    268273    { SENSORS_LM79_FAN2_DIV, "fan2_div", SENSORS_LM79_FAN2, SENSORS_NO_MAPPING, 
    269                              SENSORS_RW, LM78_SYSCTL_FAN_DIV, VALUE(2), 0 }, 
     274                             SENSORS_MODE_RW, LM78_SYSCTL_FAN_DIV, VALUE(2),  
     275                             0 }, 
    270276    { SENSORS_LM79_FAN3_DIV, "fan3_div", SENSORS_LM79_FAN3, SENSORS_NO_MAPPING, 
    271                               SENSORS_R, LM78_SYSCTL_FAN_DIV, VALUE(3), 0 }, 
     277                              SENSORS_MODE_R, LM78_SYSCTL_FAN_DIV, VALUE(3),  
     278                              0 }, 
    272279    { SENSORS_LM79_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,  
    273                            SENSORS_R, LM78_SYSCTL_ALARMS, VALUE(1), 0 }, 
     280                           SENSORS_MODE_R, LM78_SYSCTL_ALARMS, VALUE(1), 0 }, 
    274281    { 0 } 
    275282  }; 
     
    279286  { 
    280287    { SENSORS_LM75_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    281                          SENSORS_R, LM75_SYSCTL_TEMP, VALUE(3), 1 }, 
     288                         SENSORS_MODE_R, LM75_SYSCTL_TEMP, VALUE(3), 1 }, 
    282289    { SENSORS_LM75_TEMP_HYST, "temp_hyst", SENSORS_LM75_TEMP, 
    283                               SENSORS_LM75_TEMP, SENSORS_RW, LM75_SYSCTL_TEMP, 
    284                               VALUE(2), 1 }, 
     290                              SENSORS_LM75_TEMP, SENSORS_MODE_RW,  
     291                              LM75_SYSCTL_TEMP, VALUE(2), 1 }, 
    285292    { SENSORS_LM75_TEMP_OVER, "temp_over", SENSORS_LM75_TEMP, 
    286                               SENSORS_LM75_TEMP, SENSORS_RW, LM75_SYSCTL_TEMP, 
    287                               VALUE(1), 1 }, 
     293                              SENSORS_LM75_TEMP, SENSORS_MODE_RW,  
     294                              LM75_SYSCTL_TEMP, VALUE(1), 1 }, 
    288295    { 0 } 
    289296  }; 
     
    292299  { 
    293300    { SENSORS_GL518R00_VDD, "vdd", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING, 
    294                             SENSORS_NO_RW, GL518_SYSCTL_VDD, VALUE(3), 2 }, 
     301                            SENSORS_MODE_NO_RW, GL518_SYSCTL_VDD, VALUE(3), 2 }, 
    295302    { SENSORS_GL518R00_VIN1, "vin1", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING, 
    296                              SENSORS_NO_RW, GL518_SYSCTL_VIN1, VALUE(3), 2 }, 
     303                             SENSORS_MODE_NO_RW, GL518_SYSCTL_VIN1, VALUE(3),  
     304                             2 }, 
    297305    { SENSORS_GL518R00_VIN2, "vin2", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING, 
    298                              SENSORS_NO_RW, GL518_SYSCTL_VIN2, VALUE(3), 2 }, 
     306                             SENSORS_MODE_NO_RW, GL518_SYSCTL_VIN2, VALUE(3),  
     307                             2 }, 
    299308    { SENSORS_GL518R00_VIN3, "vin3", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING, 
    300                              SENSORS_R, GL518_SYSCTL_VIN3, VALUE(3), 2 }, 
     309                             SENSORS_MODE_R, GL518_SYSCTL_VIN3, VALUE(3), 2 }, 
    301310    { SENSORS_GL518R00_VDD_MIN, "vdd_min", SENSORS_GL518R00_VDD, 
    302                                 SENSORS_GL518R00_VDD, SENSORS_RW, 
     311                                SENSORS_GL518R00_VDD, SENSORS_MODE_RW, 
    303312                                GL518_SYSCTL_VDD, VALUE(1), 2 }, 
    304313    { SENSORS_GL518R00_VIN1_MIN, "vin1_min", SENSORS_GL518R00_VIN1,  
    305                                  SENSORS_GL518R00_VIN1, SENSORS_RW, 
     314                                 SENSORS_GL518R00_VIN1, SENSORS_MODE_RW, 
    306315                                 GL518_SYSCTL_VIN1, VALUE(1), 2 }, 
    307316    { SENSORS_GL518R00_VIN2_MIN, "vin2_min", SENSORS_GL518R00_VIN2,  
    308                                  SENSORS_GL518R00_VIN2, SENSORS_RW, 
     317                                 SENSORS_GL518R00_VIN2, SENSORS_MODE_RW, 
    309318                                 GL518_SYSCTL_VIN2, VALUE(1), 2 }, 
    310319    { SENSORS_GL518R00_VIN3_MIN, "vin3_min", SENSORS_GL518R00_VIN3,  
    311                                  SENSORS_GL518R00_VIN3, SENSORS_RW, 
     320                                 SENSORS_GL518R00_VIN3, SENSORS_MODE_RW, 
    312321                                 GL518_SYSCTL_VIN3, VALUE(1), 2 }, 
    313322    { SENSORS_GL518R00_VDD_MAX, "vdd_max", SENSORS_GL518R00_VDD, 
    314                                 SENSORS_GL518R00_VDD, SENSORS_RW, 
     323                                SENSORS_GL518R00_VDD, SENSORS_MODE_RW, 
    315324                                GL518_SYSCTL_VDD, VALUE(2), 2 }, 
    316325    { SENSORS_GL518R00_VIN1_MAX, "vin1_max", SENSORS_GL518R00_VIN1,  
    317                                  SENSORS_GL518R00_VIN1, SENSORS_RW, 
     326                                 SENSORS_GL518R00_VIN1, SENSORS_MODE_RW, 
    318327                                 GL518_SYSCTL_VIN1, VALUE(2), 2 }, 
    319328    { SENSORS_GL518R00_VIN2_MAX, "vin2_max", SENSORS_GL518R00_VIN2,  
    320                                  SENSORS_GL518R00_VIN2, SENSORS_RW, 
     329                                 SENSORS_GL518R00_VIN2, SENSORS_MODE_RW, 
    321330                                 GL518_SYSCTL_VIN2, VALUE(2), 2 }, 
    322331    { SENSORS_GL518R00_VIN3_MAX, "vin3_max", SENSORS_GL518R00_VIN3,  
    323                                  SENSORS_GL518R00_VIN3, SENSORS_RW, 
     332                                 SENSORS_GL518R00_VIN3, SENSORS_MODE_RW, 
    324333                                 GL518_SYSCTL_VIN3, VALUE(2), 2 }, 
    325334    { SENSORS_GL518R00_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    326                              SENSORS_R, GL518_SYSCTL_FAN1, VALUE(2), 0 }, 
     335                             SENSORS_MODE_R, GL518_SYSCTL_FAN1, VALUE(2), 0 }, 
    327336    { SENSORS_GL518R00_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    328                              SENSORS_R, GL518_SYSCTL_FAN2, VALUE(2), 0 }, 
     337                             SENSORS_MODE_R, GL518_SYSCTL_FAN2, VALUE(2), 0 }, 
    329338    { SENSORS_GL518R00_FAN1_MIN, "fan1_min", SENSORS_GL518R00_FAN1,  
    330                                  SENSORS_GL518R00_FAN1, SENSORS_RW, 
     339                                 SENSORS_GL518R00_FAN1, SENSORS_MODE_RW, 
    331340                                 GL518_SYSCTL_FAN1, VALUE(1), 0 }, 
    332341    { SENSORS_GL518R00_FAN2_MIN, "fan2_min", SENSORS_GL518R00_FAN2,  
    333                                  SENSORS_GL518R00_FAN2, SENSORS_RW, 
     342                                 SENSORS_GL518R00_FAN2, SENSORS_MODE_RW, 
    334343                                 GL518_SYSCTL_FAN2, VALUE(1), 0 }, 
    335344    { SENSORS_GL518R00_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    336                              SENSORS_R, GL518_SYSCTL_TEMP, VALUE(3), 1 }, 
     345                             SENSORS_MODE_R, GL518_SYSCTL_TEMP, VALUE(3), 1 }, 
    337346    { SENSORS_GL518R00_TEMP_HYST, "temp_hyst", SENSORS_GL518R00_TEMP,  
    338                                   SENSORS_GL518R00_TEMP, SENSORS_RW, 
     347                                  SENSORS_GL518R00_TEMP, SENSORS_MODE_RW, 
    339348                                  GL518_SYSCTL_TEMP, VALUE(2), 1 }, 
    340349    { SENSORS_GL518R00_TEMP_OVER, "temp_over", SENSORS_GL518R00_TEMP,  
    341                                   SENSORS_GL518R00_TEMP, SENSORS_RW, 
     350                                  SENSORS_GL518R00_TEMP, SENSORS_MODE_RW, 
    342351                                  GL518_SYSCTL_VDD, VALUE(1), 1 }, 
    343352    { SENSORS_GL518R00_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    344                             SENSORS_R, GL518_SYSCTL_VID, VALUE(1), 0 }, 
     353                            SENSORS_MODE_R, GL518_SYSCTL_VID, VALUE(1), 0 }, 
    345354    { SENSORS_GL518R00_FAN1_DIV, "fan1_div", SENSORS_GL518R00_FAN1,  
    346                                  SENSORS_NO_MAPPING, SENSORS_RW, 
     355                                 SENSORS_NO_MAPPING, SENSORS_MODE_RW, 
    347356                                 GL518_SYSCTL_FAN_DIV, VALUE(1), 0 }, 
    348357    { SENSORS_GL518R00_FAN2_DIV, "fan2_div", SENSORS_GL518R00_FAN2,  
    349                                  SENSORS_NO_MAPPING, SENSORS_RW, 
     358                                 SENSORS_NO_MAPPING, SENSORS_MODE_RW, 
    350359                                 GL518_SYSCTL_FAN_DIV, VALUE(2), 0 }, 
    351360    { SENSORS_GL518R00_ALARMS, "alarms", SENSORS_NO_MAPPING, 
    352                                SENSORS_NO_MAPPING, SENSORS_R, 
     361                               SENSORS_NO_MAPPING, SENSORS_MODE_R, 
    353362                               GL518_SYSCTL_FAN_DIV, VALUE(3), 0 }, 
    354363    { 0 } 
     
    359368  { 
    360369    { SENSORS_GL518R80_VDD, "vdd", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING, 
    361                             SENSORS_NO_RW, GL518_SYSCTL_VDD, VALUE(3), 2 }, 
     370                            SENSORS_MODE_NO_RW, GL518_SYSCTL_VDD, VALUE(3), 2 }, 
    362371    { SENSORS_GL518R80_VIN1, "vin1", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING, 
    363                              SENSORS_NO_RW, GL518_SYSCTL_VIN1, VALUE(3), 2 }, 
     372                             SENSORS_MODE_NO_RW, GL518_SYSCTL_VIN1, VALUE(3),  
     373                             2 }, 
    364374    { SENSORS_GL518R80_VIN2, "vin2", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING, 
    365                              SENSORS_NO_RW, GL518_SYSCTL_VIN2, VALUE(3), 2 }, 
     375                             SENSORS_MODE_NO_RW, GL518_SYSCTL_VIN2, VALUE(3),  
     376                             2 }, 
    366377    { SENSORS_GL518R80_VIN3, "vin3", SENSORS_NO_MAPPING,SENSORS_NO_MAPPING, 
    367                              SENSORS_R, GL518_SYSCTL_VIN3, VALUE(3), 2 }, 
     378                             SENSORS_MODE_R, GL518_SYSCTL_VIN3, VALUE(3), 2 }, 
    368379    { SENSORS_GL518R80_VDD_MIN, "vdd_min", SENSORS_GL518R80_VDD, 
    369                                 SENSORS_GL518R80_VDD, SENSORS_RW, 
     380                                SENSORS_GL518R80_VDD, SENSORS_MODE_RW, 
    370381                                GL518_SYSCTL_VDD, VALUE(1), 2 }, 
    371382    { SENSORS_GL518R80_VIN1_MIN, "vin1_min", SENSORS_GL518R80_VIN1,  
    372                                  SENSORS_GL518R80_VIN1, SENSORS_RW, 
     383                                 SENSORS_GL518R80_VIN1, SENSORS_MODE_RW, 
    373384                                 GL518_SYSCTL_VIN1, VALUE(1), 2 }, 
    374385    { SENSORS_GL518R80_VIN2_MIN, "vin2_min", SENSORS_GL518R80_VIN2,  
    375                                  SENSORS_GL518R80_VIN2, SENSORS_RW, 
     386                                 SENSORS_GL518R80_VIN2, SENSORS_MODE_RW, 
    376387                                 GL518_SYSCTL_VIN2, VALUE(1), 2 }, 
    377388    { SENSORS_GL518R80_VIN3_MIN, "vin3_min", SENSORS_GL518R80_VIN3,  
    378                                  SENSORS_GL518R80_VIN3, SENSORS_RW, 
     389                                 SENSORS_GL518R80_VIN3, SENSORS_MODE_RW, 
    379390                                 GL518_SYSCTL_VIN3, VALUE(1), 2 }, 
    380391    { SENSORS_GL518R80_VDD_MAX, "vdd_max", SENSORS_GL518R80_VDD, 
    381                                 SENSORS_GL518R80_VDD, SENSORS_RW, 
     392                                SENSORS_GL518R80_VDD, SENSORS_MODE_RW, 
    382393                                GL518_SYSCTL_VDD, VALUE(2), 2 }, 
    383394    { SENSORS_GL518R80_VIN1_MAX, "vin1_max", SENSORS_GL518R80_VIN1,  
    384                                  SENSORS_GL518R80_VIN1, SENSORS_RW, 
     395                                 SENSORS_GL518R80_VIN1, SENSORS_MODE_RW, 
    385396                                 GL518_SYSCTL_VIN1, VALUE(2), 2 }, 
    386397    { SENSORS_GL518R80_VIN2_MAX, "vin2_max", SENSORS_GL518R80_VIN2,  
    387                                  SENSORS_GL518R80_VIN2, SENSORS_RW, 
     398                                 SENSORS_GL518R80_VIN2, SENSORS_MODE_RW, 
    388399                                 GL518_SYSCTL_VIN2, VALUE(2), 2 }, 
    389400    { SENSORS_GL518R80_VIN3_MAX, "vin3_max", SENSORS_GL518R80_VIN3,  
    390                                  SENSORS_GL518R80_VIN3, SENSORS_RW, 
     401                                 SENSORS_GL518R80_VIN3, SENSORS_MODE_RW, 
    391402                                 GL518_SYSCTL_VIN3, VALUE(2), 2 }, 
    392403    { SENSORS_GL518R80_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    393                              SENSORS_R, GL518_SYSCTL_FAN1, VALUE(2), 0 }, 
     404                             SENSORS_MODE_R, GL518_SYSCTL_FAN1, VALUE(2), 0 }, 
    394405    { SENSORS_GL518R80_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    395                              SENSORS_R, GL518_SYSCTL_FAN2, VALUE(2), 0 }, 
     406                             SENSORS_MODE_R, GL518_SYSCTL_FAN2, VALUE(2), 0 }, 
    396407    { SENSORS_GL518R80_FAN1_MIN, "fan1_min", SENSORS_GL518R80_FAN1,  
    397                                  SENSORS_GL518R80_FAN1, SENSORS_RW, 
     408                                 SENSORS_GL518R80_FAN1, SENSORS_MODE_RW, 
    398409                                 GL518_SYSCTL_FAN1, VALUE(1), 0 }, 
    399410    { SENSORS_GL518R80_FAN2_MIN, "fan2_min", SENSORS_GL518R80_FAN2,  
    400                                  SENSORS_GL518R80_FAN2, SENSORS_RW, 
     411                                 SENSORS_GL518R80_FAN2, SENSORS_MODE_RW, 
    401412                                 GL518_SYSCTL_FAN2, VALUE(1), 0 }, 
    402413    { SENSORS_GL518R80_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    403                              SENSORS_R, GL518_SYSCTL_TEMP, VALUE(3), 1 }, 
     414                             SENSORS_MODE_R, GL518_SYSCTL_TEMP, VALUE(3), 1 }, 
    404415    { SENSORS_GL518R80_TEMP_HYST, "temp_hyst", SENSORS_GL518R80_TEMP,  
    405                                   SENSORS_GL518R80_TEMP, SENSORS_RW, 
     416                                  SENSORS_GL518R80_TEMP, SENSORS_MODE_RW, 
    406417                                  GL518_SYSCTL_TEMP, VALUE(2), 1 }, 
    407418    { SENSORS_GL518R80_TEMP_OVER, "temp_over", SENSORS_GL518R80_TEMP,  
    408                                   SENSORS_GL518R80_TEMP, SENSORS_RW, 
     419                                  SENSORS_GL518R80_TEMP, SENSORS_MODE_RW, 
    409420                                  GL518_SYSCTL_VDD, VALUE(1), 1 }, 
    410421    { SENSORS_GL518R80_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    411                             SENSORS_R, GL518_SYSCTL_VID, VALUE(1), 0 }, 
     422                            SENSORS_MODE_R, GL518_SYSCTL_VID, VALUE(1), 0 }, 
    412423    { SENSORS_GL518R80_FAN1_DIV, "fan1_div", SENSORS_GL518R80_FAN1,  
    413                                  SENSORS_NO_MAPPING, SENSORS_RW, 
     424                                 SENSORS_NO_MAPPING, SENSORS_MODE_RW, 
    414425                                 GL518_SYSCTL_FAN_DIV, VALUE(1), 0 }, 
    415426    { SENSORS_GL518R80_FAN2_DIV, "fan2_div", SENSORS_GL518R80_FAN2,  
    416                                  SENSORS_NO_MAPPING, SENSORS_RW, 
     427                                 SENSORS_NO_MAPPING, SENSORS_MODE_RW, 
    417428                                 GL518_SYSCTL_FAN_DIV, VALUE(2), 0 }, 
    418429    { SENSORS_GL518R80_ALARMS, "alarms", SENSORS_NO_MAPPING, 
    419                                SENSORS_NO_MAPPING, SENSORS_R, 
     430                               SENSORS_NO_MAPPING, SENSORS_MODE_R, 
    420431                               GL518_SYSCTL_FAN_DIV, VALUE(3), 0 }, 
    421432    { 0 }