Lines Matching refs:index
116 #define W83793_REG_BEEP(index) (0x53 + (index))
117 #define W83793_REG_ALARM(index) (0x4b + (index))
146 #define W83793_REG_FAN(index) (0x23 + 2 * (index)) /* High byte */
147 #define W83793_REG_FAN_MIN(index) (0x90 + 2 * (index)) /* High byte */
159 #define W83793_REG_PWM(index, nr) (((nr) == 0 ? 0xb3 : \
160 (nr) == 1 ? 0x220 : 0x218) + (index))
163 #define W83793_REG_TEMP_FAN_MAP(index) (0x201 + (index))
164 #define W83793_REG_TEMP_TOL(index) (0x208 + (index))
165 #define W83793_REG_TEMP_CRUISE(index) (0x210 + (index))
166 #define W83793_REG_PWM_STOP_TIME(index) (0x228 + (index))
167 #define W83793_REG_SF2_TEMP(index, nr) (0x230 + ((index) << 4) + (nr))
168 #define W83793_REG_SF2_PWM(index, nr) (0x238 + ((index) << 4) + (nr))
324 int index = sensor_attr->index;
326 return sprintf(buf, "%d\n", vid_from_reg(data->vid[index], data->vrm));
357 int index = sensor_attr->index >> 3;
358 int bit = sensor_attr->index & 0x07;
362 val = (data->alarms[index] >> (bit)) & 1;
364 val = (data->beeps[index] >> (bit)) & 1;
378 int index = sensor_attr->index >> 3;
379 int shift = sensor_attr->index & 0x07;
392 data->beeps[index] = w83793_read_value(client, W83793_REG_BEEP(index));
393 data->beeps[index] &= ~beep_bit;
394 data->beeps[index] |= val << shift;
395 w83793_write_value(client, W83793_REG_BEEP(index), data->beeps[index]);
468 int index = sensor_attr->index;
473 val = data->fan[index] & 0x0fff;
475 val = data->fan_min[index] & 0x0fff;
486 int index = sensor_attr->index;
498 data->fan_min[index] = val;
499 w83793_write_value(client, W83793_REG_FAN_MIN(index),
501 w83793_write_value(client, W83793_REG_FAN_MIN(index) + 1, val & 0xff);
515 int index = sensor_attr->index;
518 val = TIME_FROM_REG(data->pwm_stop_time[index]);
520 val = (data->pwm[index][nr] & 0x3f) << 2;
534 int index = sensor_attr->index;
545 data->pwm_stop_time[index] = val;
546 w83793_write_value(client, W83793_REG_PWM_STOP_TIME(index),
550 data->pwm[index][nr] =
551 w83793_read_value(client, W83793_REG_PWM(index, nr)) & 0xc0;
552 data->pwm[index][nr] |= val;
553 w83793_write_value(client, W83793_REG_PWM(index, nr),
554 data->pwm[index][nr]);
567 int index = sensor_attr->index;
569 long temp = TEMP_FROM_REG(data->temp[index][nr]);
571 if (nr == TEMP_READ && index < 4) { /* Only TD1-TD4 have low bits */
572 int low = ((data->temp_low_bits >> (index * 2)) & 0x03) * 250;
585 int index = sensor_attr->index;
596 data->temp[index][nr] = TEMP_TO_REG(tmp, -128, 127);
597 w83793_write_value(client, W83793_REG_TEMP[index][nr],
598 data->temp[index][nr]);
626 int index = sensor_attr->index;
627 u8 mask = (index < 4) ? 0x03 : 0x01;
628 u8 shift = (index < 4) ? (2 * index) : (index - 4);
630 index = (index < 4) ? 0 : 1;
632 tmp = (data->temp_mode[index] >> shift) & mask;
636 tmp = index == 0 ? 3 : 4;
651 int index = sensor_attr->index;
652 u8 mask = (index < 4) ? 0x03 : 0x01;
653 u8 shift = (index < 4) ? (2 * index) : (index - 4);
662 if ((val == 6) && (index < 4)) {
664 } else if ((val == 3 && index < 4)
665 || (val == 4 && index >= 4)) {
672 index = (index < 4) ? 0 : 1;
674 data->temp_mode[index] =
675 w83793_read_value(client, W83793_REG_TEMP_MODE[index]);
676 data->temp_mode[index] &= ~(mask << shift);
677 data->temp_mode[index] |= val << shift;
678 w83793_write_value(client, W83793_REG_TEMP_MODE[index],
679 data->temp_mode[index]);
792 int index = sensor_attr->index;
797 val = data->temp_fan_map[index];
800 val = ((data->pwm_enable >> index) & 0x01) + 2;
802 val = TEMP_FROM_REG(data->temp_cruise[index] & 0x7f);
804 val = data->tolerance[index >> 1] >> ((index & 0x01) ? 4 : 0);
817 int index = sensor_attr->index;
830 w83793_write_value(client, W83793_REG_TEMP_FAN_MAP(index), val);
831 data->temp_fan_map[index] = val;
837 data->pwm_enable |= 1 << index;
839 data->pwm_enable &= ~(1 << index);
847 data->temp_cruise[index] =
848 w83793_read_value(client, W83793_REG_TEMP_CRUISE(index));
849 data->temp_cruise[index] &= 0x80;
850 data->temp_cruise[index] |= TEMP_TO_REG(val, 0, 0x7f);
852 w83793_write_value(client, W83793_REG_TEMP_CRUISE(index),
853 data->temp_cruise[index]);
855 int i = index >> 1;
856 u8 shift = (index & 0x01) ? 4 : 0;
876 int index = sensor_attr->index;
879 return sprintf(buf, "%d\n", (data->sf2_pwm[index][nr] & 0x3f) << 2);
891 int index = sensor_attr->index;
901 data->sf2_pwm[index][nr] =
902 w83793_read_value(client, W83793_REG_SF2_PWM(index, nr)) & 0xc0;
903 data->sf2_pwm[index][nr] |= val;
904 w83793_write_value(client, W83793_REG_SF2_PWM(index, nr),
905 data->sf2_pwm[index][nr]);
916 int index = sensor_attr->index;
920 TEMP_FROM_REG(data->sf2_temp[index][nr] & 0x7f));
932 int index = sensor_attr->index;
942 data->sf2_temp[index][nr] =
943 w83793_read_value(client, W83793_REG_SF2_TEMP(index, nr)) & 0x80;
944 data->sf2_temp[index][nr] |= val;
945 w83793_write_value(client, W83793_REG_SF2_TEMP(index, nr),
946 data->sf2_temp[index][nr]);
958 int index = sensor_attr->index;
960 u16 val = data->in[index][nr];
962 if (index < 3) {
964 val += (data->in_low_bits[nr] >> (index * 2)) & 0x3;
967 val = val * scale_in[index] + scale_in_add[index];
978 int index = sensor_attr->index;
987 val = (val + scale_in[index] / 2) / scale_in[index];
990 if (index > 2) {
993 val -= scale_in_add[index] / scale_in[index];
999 data->in_low_bits[nr] &= ~(0x03 << (2 * index));
1000 data->in_low_bits[nr] |= (val & 0x03) << (2 * index);
1005 data->in[index][nr] = val;
1006 w83793_write_value(client, W83793_REG_IN[index][nr],
1007 data->in[index][nr]);
1014 #define SENSOR_ATTR_IN(index) \
1015 SENSOR_ATTR_2(in##index##_input, S_IRUGO, show_in, NULL, \
1016 IN_READ, index), \
1017 SENSOR_ATTR_2(in##index##_max, S_IRUGO | S_IWUSR, show_in, \
1018 store_in, IN_MAX, index), \
1019 SENSOR_ATTR_2(in##index##_min, S_IRUGO | S_IWUSR, show_in, \
1020 store_in, IN_LOW, index), \
1021 SENSOR_ATTR_2(in##index##_alarm, S_IRUGO, show_alarm_beep, \
1022 NULL, ALARM_STATUS, index + ((index > 2) ? 1 : 0)), \
1023 SENSOR_ATTR_2(in##index##_beep, S_IWUSR | S_IRUGO, \
1025 index + ((index > 2) ? 1 : 0))
1027 #define SENSOR_ATTR_FAN(index) \
1028 SENSOR_ATTR_2(fan##index##_alarm, S_IRUGO, show_alarm_beep, \
1029 NULL, ALARM_STATUS, index + 17), \
1030 SENSOR_ATTR_2(fan##index##_beep, S_IWUSR | S_IRUGO, \
1031 show_alarm_beep, store_beep, BEEP_ENABLE, index + 17), \
1032 SENSOR_ATTR_2(fan##index##_input, S_IRUGO, show_fan, \
1033 NULL, FAN_INPUT, index - 1), \
1034 SENSOR_ATTR_2(fan##index##_min, S_IWUSR | S_IRUGO, \
1035 show_fan, store_fan_min, FAN_MIN, index - 1)
1037 #define SENSOR_ATTR_PWM(index) \
1038 SENSOR_ATTR_2(pwm##index, S_IWUSR | S_IRUGO, show_pwm, \
1039 store_pwm, PWM_DUTY, index - 1), \
1040 SENSOR_ATTR_2(pwm##index##_nonstop, S_IWUSR | S_IRUGO, \
1041 show_pwm, store_pwm, PWM_NONSTOP, index - 1), \
1042 SENSOR_ATTR_2(pwm##index##_start, S_IWUSR | S_IRUGO, \
1043 show_pwm, store_pwm, PWM_START, index - 1), \
1044 SENSOR_ATTR_2(pwm##index##_stop_time, S_IWUSR | S_IRUGO, \
1045 show_pwm, store_pwm, PWM_STOP_TIME, index - 1)
1047 #define SENSOR_ATTR_TEMP(index) \
1048 SENSOR_ATTR_2(temp##index##_type, S_IRUGO | S_IWUSR, \
1049 show_temp_mode, store_temp_mode, NOT_USED, index - 1), \
1050 SENSOR_ATTR_2(temp##index##_input, S_IRUGO, show_temp, \
1051 NULL, TEMP_READ, index - 1), \
1052 SENSOR_ATTR_2(temp##index##_max, S_IRUGO | S_IWUSR, show_temp, \
1053 store_temp, TEMP_CRIT, index - 1), \
1054 SENSOR_ATTR_2(temp##index##_max_hyst, S_IRUGO | S_IWUSR, \
1055 show_temp, store_temp, TEMP_CRIT_HYST, index - 1), \
1056 SENSOR_ATTR_2(temp##index##_warn, S_IRUGO | S_IWUSR, show_temp, \
1057 store_temp, TEMP_WARN, index - 1), \
1058 SENSOR_ATTR_2(temp##index##_warn_hyst, S_IRUGO | S_IWUSR, \
1059 show_temp, store_temp, TEMP_WARN_HYST, index - 1), \
1060 SENSOR_ATTR_2(temp##index##_alarm, S_IRUGO, \
1061 show_alarm_beep, NULL, ALARM_STATUS, index + 11), \
1062 SENSOR_ATTR_2(temp##index##_beep, S_IWUSR | S_IRUGO, \
1063 show_alarm_beep, store_beep, BEEP_ENABLE, index + 11), \
1064 SENSOR_ATTR_2(temp##index##_auto_channels_pwm, \
1066 TEMP_FAN_MAP, index - 1), \
1067 SENSOR_ATTR_2(temp##index##_pwm_enable, S_IWUSR | S_IRUGO, \
1069 index - 1), \
1070 SENSOR_ATTR_2(thermal_cruise##index, S_IRUGO | S_IWUSR, \
1071 show_sf_ctrl, store_sf_ctrl, TEMP_CRUISE, index - 1), \
1072 SENSOR_ATTR_2(tolerance##index, S_IRUGO | S_IWUSR, show_sf_ctrl,\
1073 store_sf_ctrl, TEMP_TOLERANCE, index - 1), \
1074 SENSOR_ATTR_2(temp##index##_auto_point1_pwm, S_IRUGO | S_IWUSR, \
1075 show_sf2_pwm, store_sf2_pwm, 0, index - 1), \
1076 SENSOR_ATTR_2(temp##index##_auto_point2_pwm, S_IRUGO | S_IWUSR, \
1077 show_sf2_pwm, store_sf2_pwm, 1, index - 1), \
1078 SENSOR_ATTR_2(temp##index##_auto_point3_pwm, S_IRUGO | S_IWUSR, \
1079 show_sf2_pwm, store_sf2_pwm, 2, index - 1), \
1080 SENSOR_ATTR_2(temp##index##_auto_point4_pwm, S_IRUGO | S_IWUSR, \
1081 show_sf2_pwm, store_sf2_pwm, 3, index - 1), \
1082 SENSOR_ATTR_2(temp##index##_auto_point5_pwm, S_IRUGO | S_IWUSR, \
1083 show_sf2_pwm, store_sf2_pwm, 4, index - 1), \
1084 SENSOR_ATTR_2(temp##index##_auto_point6_pwm, S_IRUGO | S_IWUSR, \
1085 show_sf2_pwm, store_sf2_pwm, 5, index - 1), \
1086 SENSOR_ATTR_2(temp##index##_auto_point7_pwm, S_IRUGO | S_IWUSR, \
1087 show_sf2_pwm, store_sf2_pwm, 6, index - 1), \
1088 SENSOR_ATTR_2(temp##index##_auto_point1_temp, S_IRUGO | S_IWUSR,\
1089 show_sf2_temp, store_sf2_temp, 0, index - 1), \
1090 SENSOR_ATTR_2(temp##index##_auto_point2_temp, S_IRUGO | S_IWUSR,\
1091 show_sf2_temp, store_sf2_temp, 1, index - 1), \
1092 SENSOR_ATTR_2(temp##index##_auto_point3_temp, S_IRUGO | S_IWUSR,\
1093 show_sf2_temp, store_sf2_temp, 2, index - 1), \
1094 SENSOR_ATTR_2(temp##index##_auto_point4_temp, S_IRUGO | S_IWUSR,\
1095 show_sf2_temp, store_sf2_temp, 3, index - 1), \
1096 SENSOR_ATTR_2(temp##index##_auto_point5_temp, S_IRUGO | S_IWUSR,\
1097 show_sf2_temp, store_sf2_temp, 4, index - 1), \
1098 SENSOR_ATTR_2(temp##index##_auto_point6_temp, S_IRUGO | S_IWUSR,\
1099 show_sf2_temp, store_sf2_temp, 5, index - 1), \
1100 SENSOR_ATTR_2(temp##index##_auto_point7_temp, S_IRUGO | S_IWUSR,\
1101 show_sf2_temp, store_sf2_temp, 6, index - 1)