Lines Matching +full:0 +full:x402

22  * nct6106d     9      3       3       6+3    0xc450 0xc1    0x5ca3
23 * nct6116d 9 5 5 3+3 0xd280 0xc1 0x5ca3
24 * nct6775f 9 4 3 6+3 0xb470 0xc1 0x5ca3
25 * nct6776f 9 5 3 6+3 0xc330 0xc1 0x5ca3
26 * nct6779d 15 5 5 2+6 0xc560 0xc1 0x5ca3
27 * nct6791d 15 6 6 2+6 0xc800 0xc1 0x5ca3
28 * nct6792d 15 6 6 2+6 0xc910 0xc1 0x5ca3
29 * nct6793d 15 6 6 2+6 0xd120 0xc1 0x5ca3
30 * nct6795d 14 6 6 2+6 0xd350 0xc1 0x5ca3
31 * nct6796d 14 7 7 2+6 0xd420 0xc1 0x5ca3
32 * nct6797d 14 7 7 2+6 0xd450 0xc1 0x5ca3
33 * (0xd451)
34 * nct6798d 14 7 7 2+6 0xd428 0xc1 0x5ca3
35 * (0xd429)
83 0x2b, 0x2d, 0x2f, 0x31, 0x33, 0x35, 0x37, 0x554, 0x556, 0x558, 0x55a,
84 0x55c, 0x55e, 0x560, 0x562 };
86 0x2c, 0x2e, 0x30, 0x32, 0x34, 0x36, 0x38, 0x555, 0x557, 0x559, 0x55b,
87 0x55d, 0x55f, 0x561, 0x563 };
89 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x550, 0x551, 0x552
92 #define NCT6775_REG_VBAT 0x5D
93 #define NCT6775_REG_DIODE 0x5E
94 #define NCT6775_DIODE_MASK 0x02
96 static const u16 NCT6775_REG_ALARM[NUM_REG_ALARM] = { 0x459, 0x45A, 0x45B };
98 /* 0..15 voltages, 16..23 fans, 24..29 temperatures, 30..31 intrusion */
101 0, 1, 2, 3, 8, 21, 20, 16, /* in0.. in7 */
109 static const u16 NCT6775_REG_BEEP[NUM_REG_BEEP] = { 0x56, 0x57, 0x453, 0x4e };
112 * 0..14 voltages, 15 global beep enable, 16..23 fans, 24..29 temperatures,
116 0, 1, 2, 3, 8, 9, 10, 16, /* in0.. in7 */
125 static const u8 NCT6775_REG_PWM_MODE[] = { 0x04, 0x04, 0x12 };
126 static const u8 NCT6775_PWM_MODE_MASK[] = { 0x01, 0x02, 0x01 };
131 0x101, 0x201, 0x301, 0x801, 0x901, 0xa01, 0xb01 };
133 0x102, 0x202, 0x302, 0x802, 0x902, 0xa02, 0xb02 };
135 0x103, 0x203, 0x303, 0x803, 0x903, 0xa03, 0xb03 };
137 0x104, 0x204, 0x304, 0x804, 0x904, 0xa04, 0xb04 };
139 0x105, 0x205, 0x305, 0x805, 0x905, 0xa05, 0xb05 };
141 0x106, 0x206, 0x306, 0x806, 0x906, 0xa06, 0xb06 };
142 static const u16 NCT6775_REG_FAN_MAX_OUTPUT[] = { 0x10a, 0x20a, 0x30a };
143 static const u16 NCT6775_REG_FAN_STEP_OUTPUT[] = { 0x10b, 0x20b, 0x30b };
146 0x107, 0x207, 0x307, 0x807, 0x907, 0xa07, 0xb07 };
148 0x109, 0x209, 0x309, 0x809, 0x909, 0xa09, 0xb09 };
150 0x01, 0x03, 0x11, 0x13, 0x15, 0xa09, 0xb09 };
152 static const u16 NCT6775_REG_FAN[] = { 0x630, 0x632, 0x634, 0x636, 0x638 };
153 static const u16 NCT6775_REG_FAN_MIN[] = { 0x3b, 0x3c, 0x3d };
155 0x641, 0x642, 0x643, 0x644 };
159 0x27, 0x150, 0x250, 0x62b, 0x62c, 0x62d };
161 static const u16 NCT6775_REG_TEMP_MON[] = { 0x73, 0x75, 0x77 };
164 0, 0x152, 0x252, 0x628, 0x629, 0x62A };
166 0x3a, 0x153, 0x253, 0x673, 0x678, 0x67D };
168 0x39, 0x155, 0x255, 0x672, 0x677, 0x67C };
171 0x621, 0x622, 0x623, 0x624, 0x625, 0x626 };
174 0x100, 0x200, 0x300, 0x800, 0x900, 0xa00, 0xb00 };
177 0x139, 0x239, 0x339, 0x839, 0x939, 0xa39 };
179 0x13a, 0x23a, 0x33a, 0x83a, 0x93a, 0xa3a };
181 0x13b, 0x23b, 0x33b, 0x83b, 0x93b, 0xa3b };
183 0x13c, 0x23c, 0x33c, 0x83c, 0x93c, 0xa3c };
185 0x13d, 0x23d, 0x33d, 0x83d, 0x93d, 0xa3d };
187 static const u16 NCT6775_REG_TEMP_OFFSET[] = { 0x454, 0x455, 0x456 };
190 0x121, 0x221, 0x321, 0x821, 0x921, 0xa21, 0xb21 };
192 0x127, 0x227, 0x327, 0x827, 0x927, 0xa27, 0xb27 };
197 static const u16 NCT6775_REG_CRITICAL_ENAB[] = { 0x134, 0x234, 0x334 };
200 0x135, 0x235, 0x335, 0x835, 0x935, 0xa35, 0xb35 };
202 0x138, 0x238, 0x338, 0x838, 0x938, 0xa38, 0xb38 };
210 "PECI Agent 0",
228 #define NCT6775_TEMP_MASK 0x001ffffe
229 #define NCT6775_VIRT_TEMP_MASK 0x00000000
232 [13] = 0x661,
233 [14] = 0x662,
234 [15] = 0x664,
238 [4] = 0xa00,
239 [5] = 0xa01,
240 [6] = 0xa02,
241 [7] = 0xa03,
242 [8] = 0xa04,
243 [9] = 0xa05,
244 [10] = 0xa06,
245 [11] = 0xa07
248 static const u16 NCT6775_REG_TSI_TEMP[] = { 0x669 };
257 0, 1, 2, 3, 8, 21, 20, 16, /* in0.. in7 */
265 static const u16 NCT6776_REG_BEEP[NUM_REG_BEEP] = { 0xb2, 0xb3, 0xb4, 0xb5 };
268 0, 1, 2, 3, 4, 5, 6, 7, /* in0.. in7 */
277 0x10c, 0x20c, 0x30c, 0x80c, 0x90c, 0xa0c, 0xb0c };
279 static const u8 NCT6776_REG_PWM_MODE[] = { 0x04, 0, 0, 0, 0, 0 };
280 static const u8 NCT6776_PWM_MODE_MASK[] = { 0x01, 0, 0, 0, 0, 0 };
283 0x63a, 0x63c, 0x63e, 0x640, 0x642, 0x64a, 0x64c };
285 0x644, 0x645, 0x646, 0x647, 0x648, 0x649 };
288 0x13e, 0x23e, 0x33e, 0x83e, 0x93e, 0xa3e };
291 0x18, 0x152, 0x252, 0x628, 0x629, 0x62A };
298 "SMBUSMASTER 0",
306 "PECI Agent 0",
319 #define NCT6776_TEMP_MASK 0x007ffffe
320 #define NCT6776_VIRT_TEMP_MASK 0x00000000
323 [14] = 0x401,
324 [15] = 0x402,
325 [16] = 0x404,
329 [11] = 0x709,
330 [12] = 0x70a,
334 0x409, 0x40b, 0x40d, 0x40f, 0x411, 0x413, 0x415, 0x417 };
339 0x480, 0x481, 0x482, 0x483, 0x484, 0x485, 0x486, 0x487,
340 0x488, 0x489, 0x48a, 0x48b, 0x48c, 0x48d, 0x48e };
343 0x459, 0x45A, 0x45B, 0x568 };
346 0, 1, 2, 3, 8, 21, 20, 16, /* in0.. in7 */
355 0, 1, 2, 3, 4, 5, 6, 7, /* in0.. in7 */
364 0x4c0, 0x4c2, 0x4c4, 0x4c6, 0x4c8, 0x4ca, 0x4ce };
366 0x644, 0x645, 0x646, 0x647, 0x648, 0x649, 0x64f };
369 0x136, 0x236, 0x336, 0x836, 0x936, 0xa36, 0xb36 };
370 #define NCT6779_CRITICAL_PWM_ENABLE_MASK 0x01
372 0x137, 0x237, 0x337, 0x837, 0x937, 0xa37, 0xb37 };
374 static const u16 NCT6779_REG_TEMP[] = { 0x27, 0x150 };
375 static const u16 NCT6779_REG_TEMP_MON[] = { 0x73, 0x75, 0x77, 0x79, 0x7b };
377 0x18, 0x152 };
379 0x3a, 0x153 };
381 0x39, 0x155 };
384 0x454, 0x455, 0x456, 0x44a, 0x44b, 0x44c };
395 "SMBUSMASTER 0",
403 "PECI Agent 0",
421 #define NCT6779_TEMP_MASK 0x07ffff7e
422 #define NCT6779_VIRT_TEMP_MASK 0x00000000
423 #define NCT6791_TEMP_MASK 0x87ffff7e
424 #define NCT6791_VIRT_TEMP_MASK 0x80000000
427 = { 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0x400, 0x401, 0x402, 0x404, 0x405, 0x406, 0x407,
430 0x408, 0 };
433 [15] = 0x709,
434 [16] = 0x70a,
439 static const u16 NCT6791_REG_WEIGHT_TEMP_SEL[NUM_FAN] = { 0, 0x239 };
440 static const u16 NCT6791_REG_WEIGHT_TEMP_STEP[NUM_FAN] = { 0, 0x23a };
441 static const u16 NCT6791_REG_WEIGHT_TEMP_STEP_TOL[NUM_FAN] = { 0, 0x23b };
442 static const u16 NCT6791_REG_WEIGHT_DUTY_STEP[NUM_FAN] = { 0, 0x23c };
443 static const u16 NCT6791_REG_WEIGHT_TEMP_BASE[NUM_FAN] = { 0, 0x23d };
444 static const u16 NCT6791_REG_WEIGHT_DUTY_BASE[NUM_FAN] = { 0, 0x23e };
447 0x459, 0x45A, 0x45B, 0x568, 0x45D };
450 0, 1, 2, 3, 8, 21, 20, 16, /* in0.. in7 */
461 0x73, 0x75, 0x77, 0x79, 0x7b, 0x7d };
463 0xb2, 0xb3, 0xb4, 0xb5, 0xbf };
474 "SMBUSMASTER 0",
482 "PECI Agent 0",
493 "PECI Agent 0 Calibration",
500 #define NCT6792_TEMP_MASK 0x9fffff7e
501 #define NCT6792_VIRT_TEMP_MASK 0x80000000
512 "SMBUSMASTER 0",
520 "PECI Agent 0",
532 "PECI Agent 0 Calibration",
538 #define NCT6793_TEMP_MASK 0xbfff037e
539 #define NCT6793_VIRT_TEMP_MASK 0x80000000
550 "SMBUSMASTER 0",
558 "PECI Agent 0",
570 "PECI Agent 0 Calibration",
576 #define NCT6795_TEMP_MASK 0xbfffff7e
577 #define NCT6795_VIRT_TEMP_MASK 0x80000000
588 "SMBUSMASTER 0",
596 "PECI Agent 0",
608 "PECI Agent 0 Calibration",
614 #define NCT6796_TEMP_MASK 0xbfff0ffe
615 #define NCT6796_VIRT_TEMP_MASK 0x80000c00
617 static const u16 NCT6796_REG_TSI_TEMP[] = { 0x409, 0x40b };
628 "SMBUSMASTER 0",
636 "PECI Agent 0",
648 "PECI Agent 0 Calibration", /* undocumented */
654 #define NCT6798_TEMP_MASK 0xbfff0ffe
655 #define NCT6798_VIRT_TEMP_MASK 0x80000c00
659 #define NCT6106_REG_VBAT 0x318
660 #define NCT6106_REG_DIODE 0x319
661 #define NCT6106_DIODE_MASK 0x01
664 0x90, 0x92, 0x94, 0x96, 0x98, 0x9a, 0x9e, 0xa0, 0xa2 };
666 0x91, 0x93, 0x95, 0x97, 0x99, 0x9b, 0x9f, 0xa1, 0xa3 };
668 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x07, 0x08, 0x09 };
670 static const u16 NCT6106_REG_TEMP[] = { 0x10, 0x11, 0x12, 0x13, 0x14, 0x15 };
671 static const u16 NCT6106_REG_TEMP_MON[] = { 0x18, 0x19, 0x1a };
673 0xc3, 0xc7, 0xcb, 0xcf, 0xd3, 0xd7 };
675 0xc2, 0xc6, 0xca, 0xce, 0xd2, 0xd6 };
677 0xc0, 0xc4, 0xc8, 0xcc, 0xd0, 0xd4 };
679 0xc1, 0xc5, 0xc9, 0xcf, 0xd1, 0xd5 };
680 static const u16 NCT6106_REG_TEMP_OFFSET[] = { 0x311, 0x312, 0x313 };
682 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc };
684 static const u16 NCT6106_REG_FAN[] = { 0x20, 0x22, 0x24 };
685 static const u16 NCT6106_REG_FAN_MIN[] = { 0xe0, 0xe2, 0xe4 };
686 static const u16 NCT6106_REG_FAN_PULSES[] = { 0xf6, 0xf6, 0xf6 };
687 static const u16 NCT6106_FAN_PULSE_SHIFT[] = { 0, 2, 4 };
689 static const u8 NCT6106_REG_PWM_MODE[] = { 0xf3, 0xf3, 0xf3 };
690 static const u8 NCT6106_PWM_MODE_MASK[] = { 0x01, 0x02, 0x04 };
691 static const u16 NCT6106_REG_PWM_READ[] = { 0x4a, 0x4b, 0x4c };
692 static const u16 NCT6106_REG_FAN_MODE[] = { 0x113, 0x123, 0x133 };
694 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5 };
696 static const u16 NCT6106_REG_CRITICAL_TEMP[] = { 0x11a, 0x12a, 0x13a };
698 0x11b, 0x12b, 0x13b };
700 static const u16 NCT6106_REG_CRITICAL_PWM_ENABLE[] = { 0x11c, 0x12c, 0x13c };
701 #define NCT6106_CRITICAL_PWM_ENABLE_MASK 0x10
702 static const u16 NCT6106_REG_CRITICAL_PWM[] = { 0x11d, 0x12d, 0x13d };
704 static const u16 NCT6106_REG_FAN_STEP_UP_TIME[] = { 0x114, 0x124, 0x134 };
705 static const u16 NCT6106_REG_FAN_STEP_DOWN_TIME[] = { 0x115, 0x125, 0x135 };
706 static const u16 NCT6106_REG_FAN_STOP_OUTPUT[] = { 0x116, 0x126, 0x136 };
707 static const u16 NCT6106_REG_FAN_START_OUTPUT[] = { 0x117, 0x127, 0x137 };
708 static const u16 NCT6106_REG_FAN_STOP_TIME[] = { 0x118, 0x128, 0x138 };
709 static const u16 NCT6106_REG_TOLERANCE_H[] = { 0x112, 0x122, 0x132 };
711 static const u16 NCT6106_REG_TARGET[] = { 0x111, 0x121, 0x131 };
713 static const u16 NCT6106_REG_WEIGHT_TEMP_SEL[] = { 0x168, 0x178, 0x188 };
714 static const u16 NCT6106_REG_WEIGHT_TEMP_STEP[] = { 0x169, 0x179, 0x189 };
715 static const u16 NCT6106_REG_WEIGHT_TEMP_STEP_TOL[] = { 0x16a, 0x17a, 0x18a };
716 static const u16 NCT6106_REG_WEIGHT_DUTY_STEP[] = { 0x16b, 0x17b, 0x18b };
717 static const u16 NCT6106_REG_WEIGHT_TEMP_BASE[] = { 0x16c, 0x17c, 0x18c };
718 static const u16 NCT6106_REG_WEIGHT_DUTY_BASE[] = { 0x16d, 0x17d, 0x18d };
720 static const u16 NCT6106_REG_AUTO_TEMP[] = { 0x160, 0x170, 0x180 };
721 static const u16 NCT6106_REG_AUTO_PWM[] = { 0x164, 0x174, 0x184 };
724 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d };
727 0, 1, 2, 3, 4, 5, 7, 8, /* in0.. in7 */
737 0x3c0, 0x3c1, 0x3c2, 0x3c3, 0x3c4 };
740 0, 1, 2, 3, 4, 5, 7, 8, /* in0.. in7 */
750 [14] = 0x51,
751 [15] = 0x52,
752 [16] = 0x54,
756 [11] = 0x204,
757 [12] = 0x205,
760 static const u16 NCT6106_REG_TSI_TEMP[] = { 0x59, 0x5b, 0x5d, 0x5f, 0x61, 0x63, 0x65, 0x67 };
764 static const u16 NCT6116_REG_FAN[] = { 0x20, 0x22, 0x24, 0x26, 0x28 };
765 static const u16 NCT6116_REG_FAN_MIN[] = { 0xe0, 0xe2, 0xe4, 0xe6, 0xe8 };
766 static const u16 NCT6116_REG_FAN_PULSES[] = { 0xf6, 0xf6, 0xf6, 0xf6, 0xf5 };
767 static const u16 NCT6116_FAN_PULSE_SHIFT[] = { 0, 2, 4, 6, 6 };
769 static const u16 NCT6116_REG_PWM[] = { 0x119, 0x129, 0x139, 0x199, 0x1a9 };
770 static const u16 NCT6116_REG_FAN_MODE[] = { 0x113, 0x123, 0x133, 0x193, 0x1a3 };
771 static const u16 NCT6116_REG_TEMP_SEL[] = { 0x110, 0x120, 0x130, 0x190, 0x1a0 };
773 0xb0, 0xb1, 0xb2 };
776 0x11a, 0x12a, 0x13a, 0x19a, 0x1aa };
778 0x11b, 0x12b, 0x13b, 0x19b, 0x1ab };
781 0x11c, 0x12c, 0x13c, 0x19c, 0x1ac };
783 0x11d, 0x12d, 0x13d, 0x19d, 0x1ad };
786 0x114, 0x124, 0x134, 0x194, 0x1a4 };
788 0x115, 0x125, 0x135, 0x195, 0x1a5 };
790 0x116, 0x126, 0x136, 0x196, 0x1a6 };
792 0x117, 0x127, 0x137, 0x197, 0x1a7 };
794 0x118, 0x128, 0x138, 0x198, 0x1a8 };
796 0x112, 0x122, 0x132, 0x192, 0x1a2 };
799 0x111, 0x121, 0x131, 0x191, 0x1a1 };
802 0x160, 0x170, 0x180, 0x1d0, 0x1e0 };
804 0x164, 0x174, 0x184, 0x1d4, 0x1e4 };
807 0, 1, 2, 3, 4, 5, 7, 8, /* in0.. in7 */
817 0, 1, 2, 3, 4, 5, 7, 8, /* in0.. in7 */
826 static const u16 NCT6116_REG_TSI_TEMP[] = { 0x59, 0x5b };
830 if (mode == 0 && pwm == 255) in reg_to_pwm_enable()
838 return 0; in pwm_enable_to_reg()
860 if (reg == 0 || reg == 255) in fan_from_reg8()
861 return 0; in fan_from_reg8()
867 if ((reg & 0xff1f) == 0xff1f) in fan_from_reg13()
868 return 0; in fan_from_reg13()
870 reg = (reg & 0x1f) | ((reg & 0xff00) >> 3); in fan_from_reg13()
872 if (reg == 0) in fan_from_reg13()
873 return 0; in fan_from_reg13()
880 if (reg == 0 || reg == 0xffff) in fan_from_reg16()
881 return 0; in fan_from_reg16()
898 return 0; in fan_to_reg()
925 return clamp_val(DIV_ROUND_CLOSEST(val * 100, scale_in[nr]), 0, 255); in in_to_reg()
1004 if (repeat <= 0) in nct6775_add_template_attr_group()
1008 for (count = 0; *t; t++, count++) in nct6775_add_template_attr_group()
1011 if (count == 0) in nct6775_add_template_attr_group()
1031 for (i = 0; i < repeat; i++) { in nct6775_add_template_attr_group()
1071 return reg == 0x20 || reg == 0x22 || reg == 0x24 || in nct6775_reg_is_word_sized()
1072 (reg >= 0x59 && reg < 0x69 && (reg & 1)) || in nct6775_reg_is_word_sized()
1073 reg == 0xe0 || reg == 0xe2 || reg == 0xe4 || in nct6775_reg_is_word_sized()
1074 reg == 0x111 || reg == 0x121 || reg == 0x131; in nct6775_reg_is_word_sized()
1076 return reg == 0x20 || reg == 0x22 || reg == 0x24 || in nct6775_reg_is_word_sized()
1077 reg == 0x26 || reg == 0x28 || reg == 0x59 || reg == 0x5b || in nct6775_reg_is_word_sized()
1078 reg == 0xe0 || reg == 0xe2 || reg == 0xe4 || reg == 0xe6 || in nct6775_reg_is_word_sized()
1079 reg == 0xe8 || reg == 0x111 || reg == 0x121 || reg == 0x131 || in nct6775_reg_is_word_sized()
1080 reg == 0x191 || reg == 0x1a1; in nct6775_reg_is_word_sized()
1082 return (((reg & 0xff00) == 0x100 || in nct6775_reg_is_word_sized()
1083 (reg & 0xff00) == 0x200) && in nct6775_reg_is_word_sized()
1084 ((reg & 0x00ff) == 0x50 || in nct6775_reg_is_word_sized()
1085 (reg & 0x00ff) == 0x53 || in nct6775_reg_is_word_sized()
1086 (reg & 0x00ff) == 0x55)) || in nct6775_reg_is_word_sized()
1087 (reg & 0xfff0) == 0x630 || in nct6775_reg_is_word_sized()
1088 reg == 0x640 || reg == 0x642 || in nct6775_reg_is_word_sized()
1089 reg == 0x662 || reg == 0x669 || in nct6775_reg_is_word_sized()
1090 ((reg & 0xfff0) == 0x650 && (reg & 0x000f) >= 0x06) || in nct6775_reg_is_word_sized()
1091 reg == 0x73 || reg == 0x75 || reg == 0x77; in nct6775_reg_is_word_sized()
1093 return (((reg & 0xff00) == 0x100 || in nct6775_reg_is_word_sized()
1094 (reg & 0xff00) == 0x200) && in nct6775_reg_is_word_sized()
1095 ((reg & 0x00ff) == 0x50 || in nct6775_reg_is_word_sized()
1096 (reg & 0x00ff) == 0x53 || in nct6775_reg_is_word_sized()
1097 (reg & 0x00ff) == 0x55)) || in nct6775_reg_is_word_sized()
1098 (reg & 0xfff0) == 0x630 || in nct6775_reg_is_word_sized()
1099 reg == 0x402 || in nct6775_reg_is_word_sized()
1100 (reg >= 0x409 && reg < 0x419 && (reg & 1)) || in nct6775_reg_is_word_sized()
1101 reg == 0x640 || reg == 0x642 || in nct6775_reg_is_word_sized()
1102 ((reg & 0xfff0) == 0x650 && (reg & 0x000f) >= 0x06) || in nct6775_reg_is_word_sized()
1103 reg == 0x73 || reg == 0x75 || reg == 0x77; in nct6775_reg_is_word_sized()
1112 return reg == 0x150 || reg == 0x153 || reg == 0x155 || in nct6775_reg_is_word_sized()
1113 (reg & 0xfff0) == 0x4c0 || in nct6775_reg_is_word_sized()
1114 reg == 0x402 || in nct6775_reg_is_word_sized()
1115 (reg >= 0x409 && reg < 0x419 && (reg & 1)) || in nct6775_reg_is_word_sized()
1116 reg == 0x63a || reg == 0x63c || reg == 0x63e || in nct6775_reg_is_word_sized()
1117 reg == 0x640 || reg == 0x642 || reg == 0x64a || in nct6775_reg_is_word_sized()
1118 reg == 0x64c || in nct6775_reg_is_word_sized()
1119 reg == 0x73 || reg == 0x75 || reg == 0x77 || reg == 0x79 || in nct6775_reg_is_word_sized()
1120 reg == 0x7b || reg == 0x7d; in nct6775_reg_is_word_sized()
1138 return 0; in nct6775_read_temp()
1152 reg &= 0x70 >> oddshift; in nct6775_write_fan_div()
1153 reg |= data->fan_div[nr] & (0x7 << oddshift); in nct6775_write_fan_div()
1161 return 0; in nct6775_write_fan_div_common()
1172 data->fan_div[0] = i & 0x7; in nct6775_update_fan_div()
1173 data->fan_div[1] = (i & 0x70) >> 4; in nct6775_update_fan_div()
1177 data->fan_div[2] = i & 0x7; in nct6775_update_fan_div()
1179 data->fan_div[3] = (i & 0x70) >> 4; in nct6775_update_fan_div()
1181 return 0; in nct6775_update_fan_div()
1188 return 0; in nct6775_update_fan_div_common()
1205 for (i = 0; i < ARRAY_SIZE(data->fan_div); i++) { in nct6775_init_fan_div()
1208 if (data->fan_div[i] == 0) { in nct6775_init_fan_div()
1216 return 0; in nct6775_init_fan_div()
1232 * If fan_min is not set (0), set it to 0xff to disable it. This in nct6775_init_fan_common()
1233 * prevents the unnecessary warning when fanX_min is reported as 0. in nct6775_init_fan_common()
1235 for (i = 0; i < ARRAY_SIZE(data->fan_min); i++) { in nct6775_init_fan_common()
1242 data->has_fan_div ? 0xff : 0xff1f); in nct6775_init_fan_common()
1249 return 0; in nct6775_init_fan_common()
1260 return 0; in nct6775_select_fan_div()
1267 if (reg == 0x00 && fan_div < 0x07) in nct6775_select_fan_div()
1269 else if (reg != 0x00 && reg < 0x30 && fan_div > 0) in nct6775_select_fan_div()
1303 return 0; in nct6775_select_fan_div()
1313 for (i = 0; i < data->pwm_num; i++) { in nct6775_update_pwm()
1326 for (j = 0; j < ARRAY_SIZE(data->REG_PWM); j++) { in nct6775_update_pwm()
1335 data->pwm_enable[i] = reg_to_pwm_enable(data->pwm[0][i], in nct6775_update_pwm()
1338 if (!data->temp_tolerance[0][i] || in nct6775_update_pwm()
1340 data->temp_tolerance[0][i] = fanmodecfg & 0x0f; in nct6775_update_pwm()
1343 u8 t = fanmodecfg & 0x0f; in nct6775_update_pwm()
1349 t |= (reg & 0x70) >> 1; in nct6775_update_pwm()
1362 data->pwm_temp_sel[i] = reg & 0x1f; in nct6775_update_pwm()
1363 /* If fan can stop, report floor as 0 */ in nct6775_update_pwm()
1364 if (reg & 0x80) in nct6775_update_pwm()
1365 data->pwm[2][i] = 0; in nct6775_update_pwm()
1373 data->pwm_weight_temp_sel[i] = reg & 0x1f; in nct6775_update_pwm()
1374 /* If weight is disabled, report weight source as 0 */ in nct6775_update_pwm()
1375 if (!(reg & 0x80)) in nct6775_update_pwm()
1376 data->pwm_weight_temp_sel[i] = 0; in nct6775_update_pwm()
1379 for (j = 0; j < ARRAY_SIZE(data->weight_temp); j++) { in nct6775_update_pwm()
1387 return 0; in nct6775_update_pwm()
1396 for (i = 0; i < data->pwm_num; i++) { in nct6775_update_pwm_limits()
1400 for (j = 0; j < ARRAY_SIZE(data->fan_time); j++) { in nct6775_update_pwm_limits()
1421 reg_t |= (reg & 0x0f) << 8; in nct6775_update_pwm_limits()
1426 for (j = 0; j < data->auto_pwm_num; j++) { in nct6775_update_pwm_limits()
1450 (reg & 0x02) ? 0xff : 0x00; in nct6775_update_pwm_limits()
1453 data->auto_pwm[i][data->auto_pwm_num] = 0xff; in nct6775_update_pwm_limits()
1473 reg = 0xff; in nct6775_update_pwm_limits()
1480 return 0; in nct6775_update_pwm_limits()
1486 int i, j, err = 0; in nct6775_update_device()
1499 for (i = 0; i < data->in_num; i++) { in nct6775_update_device()
1506 data->in[i][0] = reg; in nct6775_update_device()
1508 err = nct6775_read_value(data, data->REG_IN_MINMAX[0][i], &reg); in nct6775_update_device()
1520 for (i = 0; i < ARRAY_SIZE(data->rpm); i++) { in nct6775_update_device()
1541 data->fan_pulses[i] = (reg >> data->FAN_PULSE_SHIFT[i]) & 0x03; in nct6775_update_device()
1558 for (i = 0; i < NUM_TEMP; i++) { in nct6775_update_device()
1561 for (j = 0; j < ARRAY_SIZE(data->reg_temp); j++) { in nct6775_update_device()
1578 for (i = 0; i < NUM_TSI_TEMP; i++) { in nct6775_update_device()
1587 data->alarms = 0; in nct6775_update_device()
1588 for (i = 0; i < NUM_REG_ALARM; i++) { in nct6775_update_device()
1599 data->beeps = 0; in nct6775_update_device()
1600 for (i = 0; i < NUM_REG_BEEP; i++) { in nct6775_update_device()
1649 if (err < 0) in store_in_reg()
1670 (unsigned int)((data->alarms >> nr) & 0x01)); in nct6775_show_alarm()
1679 for (nr = 0; nr < count; nr++) { in find_temp_source()
1685 if ((src & 0x1f) == source) in find_temp_source()
1696 unsigned int alarm = 0; in show_temp_alarm()
1707 if (nr >= 0) { in show_temp_alarm()
1710 alarm = (data->alarms >> bit) & 0x01; in show_temp_alarm()
1728 (unsigned int)((data->beeps >> nr) & 0x01)); in nct6775_show_beep()
1743 if (err < 0) in nct6775_store_beep()
1754 (data->beeps >> (regindex << 3)) & 0xff); in nct6775_store_beep()
1765 unsigned int beep = 0; in show_temp_beep()
1777 if (nr >= 0) { in show_temp_beep()
1780 beep = (data->beeps >> bit) & 0x01; in show_temp_beep()
1796 if (err < 0) in store_temp_beep()
1802 if (nr < 0) in store_temp_beep()
1814 (data->beeps >> (regindex << 3)) & 0xff); in store_temp_beep()
1828 return 0; in nct6775_in_is_visible()
1833 SENSOR_TEMPLATE_2(in_input, "in%d_input", 0444, show_in_reg, NULL, 0, 0);
1834 SENSOR_TEMPLATE(in_alarm, "in%d_alarm", 0444, nct6775_show_alarm, NULL, 0);
1835 SENSOR_TEMPLATE(in_beep, "in%d_beep", 0644, nct6775_show_beep, nct6775_store_beep, 0);
1836 SENSOR_TEMPLATE_2(in_min, "in%d_min", 0644, show_in_reg, store_in_reg, 0, 1);
1837 SENSOR_TEMPLATE_2(in_max, "in%d_max", 0644, show_in_reg, store_in_reg, 0, 2);
1912 if (err < 0) in store_fan_min()
1919 val = 0xff1f; in store_fan_min()
1924 val = (val & 0x1f) | ((val << 3) & 0xff00); in store_fan_min()
1953 new_div = 0; /* 1 == BIT(0) */ in store_fan_min()
1956 nr + 1, val, data->fan_from_reg_min(1, 0)); in store_fan_min()
1963 new_div = 0; in store_fan_min()
2021 if (err < 0) in store_fan_pulses()
2032 reg &= ~(0x03 << data->FAN_PULSE_SHIFT[nr]); in store_fan_pulses()
2050 return 0; in nct6775_fan_is_visible()
2053 return 0; in nct6775_fan_is_visible()
2055 return 0; in nct6775_fan_is_visible()
2057 return 0; in nct6775_fan_is_visible()
2059 return 0; in nct6775_fan_is_visible()
2061 return 0; in nct6775_fan_is_visible()
2066 SENSOR_TEMPLATE(fan_input, "fan%d_input", 0444, show_fan, NULL, 0);
2070 SENSOR_TEMPLATE(fan_pulses, "fan%d_pulses", 0644, show_fan_pulses, store_fan_pulses, 0);
2071 SENSOR_TEMPLATE(fan_min, "fan%d_min", 0644, show_fan_min, store_fan_min, 0);
2072 SENSOR_TEMPLATE(fan_div, "fan%d_div", 0444, show_fan_div, NULL, 0);
2134 if (err < 0) in store_temp()
2167 if (err < 0) in store_temp_offset()
2209 if (err < 0) in store_temp_type()
2218 vbit = 0x02 << nr; in store_temp_type()
2260 return 0; in nct6775_temp_is_visible()
2263 return 0; in nct6775_temp_is_visible()
2265 if (nr == 2 && find_temp_source(data, temp, data->num_temp_alarms) < 0) in nct6775_temp_is_visible()
2266 return 0; /* alarm */ in nct6775_temp_is_visible()
2268 if (nr == 3 && find_temp_source(data, temp, data->num_temp_beeps) < 0) in nct6775_temp_is_visible()
2269 return 0; /* beep */ in nct6775_temp_is_visible()
2272 return 0; in nct6775_temp_is_visible()
2275 return 0; in nct6775_temp_is_visible()
2278 return 0; in nct6775_temp_is_visible()
2281 return 0; in nct6775_temp_is_visible()
2285 return 0; in nct6775_temp_is_visible()
2290 SENSOR_TEMPLATE_2(temp_input, "temp%d_input", 0444, show_temp, NULL, 0, 0);
2291 SENSOR_TEMPLATE(temp_label, "temp%d_label", 0444, show_temp_label, NULL, 0);
2292 SENSOR_TEMPLATE_2(temp_max, "temp%d_max", 0644, show_temp, store_temp, 0, 1);
2293 SENSOR_TEMPLATE_2(temp_max_hyst, "temp%d_max_hyst", 0644, show_temp, store_temp, 0, 2);
2294 SENSOR_TEMPLATE_2(temp_crit, "temp%d_crit", 0644, show_temp, store_temp, 0, 3);
2295 SENSOR_TEMPLATE_2(temp_lcrit, "temp%d_lcrit", 0644, show_temp, store_temp, 0, 4);
2296 SENSOR_TEMPLATE(temp_offset, "temp%d_offset", 0644, show_temp_offset, store_temp_offset, 0);
2297 SENSOR_TEMPLATE(temp_type, "temp%d_type", 0644, show_temp_type, store_temp_type, 0);
2298 SENSOR_TEMPLATE(temp_alarm, "temp%d_alarm", 0444, show_temp_alarm, NULL, 0);
2299 SENSOR_TEMPLATE(temp_beep, "temp%d_beep", 0644, show_temp_beep, store_temp_beep, 0);
2344 SENSOR_TEMPLATE(tsi_temp_input, "temp%d_input", 0444, show_tsi_temp, NULL, 0);
2345 SENSOR_TEMPLATE(tsi_temp_label, "temp%d_label", 0444, show_tsi_temp_label, NULL, 0);
2354 return (data->have_tsi_temp & BIT(temp)) ? nct6775_attr_mode(data, attr) : 0; in nct6775_tsi_temp_is_visible()
2391 if (err < 0) in store_pwm_mode()
2397 /* Setting DC mode (0) is not supported for all chips/channels */ in store_pwm_mode()
2398 if (data->REG_PWM_MODE[nr] == 0) { in store_pwm_mode()
2435 if (index == 0 && data->pwm_enable[nr] > manual) { in show_pwm()
2455 int minval[7] = { 0, 1, 1, data->pwm[2][nr], 0, 0, 0 }; in store_pwm()
2462 if (err < 0) in store_pwm()
2471 if (index == 2) { /* floor: disable if val == 0 */ in store_pwm()
2475 reg &= 0x7f; in store_pwm()
2477 reg |= 0x80; in store_pwm()
2485 /* Returns 0 if OK, -EINVAL otherwise */
2490 for (i = 0; i < data->auto_pwm_num - 1; i++) { in check_trip_points()
2494 for (i = 0; i < data->auto_pwm_num - 1; i++) { in check_trip_points()
2498 /* validate critical temperature and pwm if enabled (pwm > 0) */ in check_trip_points()
2506 return 0; in check_trip_points()
2528 data->target_speed[nr] & 0xff); in pwm_update_registers()
2532 reg = (data->target_speed[nr] >> 8) & 0x0f; in pwm_update_registers()
2533 reg |= (data->target_speed_tolerance[nr] & 0x38) << 1; in pwm_update_registers()
2549 data->temp_tolerance[0][nr]; in pwm_update_registers()
2556 return 0; in pwm_update_registers()
2583 if (err < 0) in store_pwm_enable()
2604 data->pwm[0][nr] = 255; in store_pwm_enable()
2605 err = nct6775_write_value(data, data->REG_PWM[0][nr], 255); in store_pwm_enable()
2615 reg &= 0x0f; in store_pwm_enable()
2626 int i, sel = 0; in show_pwm_temp_sel_common()
2628 for (i = 0; i < NUM_TEMP; i++) { in show_pwm_temp_sel_common()
2668 if (err < 0) in store_pwm_temp_sel()
2670 if (val == 0 || val > NUM_TEMP) in store_pwm_temp_sel()
2681 reg &= 0xe0; in store_pwm_temp_sel()
2720 if (err < 0) in store_pwm_weight_temp_sel()
2736 reg &= 0xe0; in store_pwm_weight_temp_sel()
2737 reg |= (src | 0x80); in store_pwm_weight_temp_sel()
2740 data->pwm_weight_temp_sel[nr] = 0; in store_pwm_weight_temp_sel()
2744 reg &= 0x7f; in store_pwm_weight_temp_sel()
2776 if (err < 0) in store_target_temp()
2779 val = clamp_val(DIV_ROUND_CLOSEST(val, 1000), 0, in store_target_temp()
2816 if (err < 0) in store_target_speed()
2819 val = clamp_val(val, 0, 1350000U); in store_target_speed()
2856 if (err < 0) in store_temp_tolerance()
2860 val = clamp_val(DIV_ROUND_CLOSEST(val, 1000), 0, data->tolerance_mask); in store_temp_tolerance()
2877 * configured, so only display values other than 0 if that is the case.
2886 int target, tolerance = 0; in show_speed_tolerance()
2897 if (low <= 0) in show_speed_tolerance()
2899 if (high > 0xffff) in show_speed_tolerance()
2900 high = 0xffff; in show_speed_tolerance()
2923 if (err < 0) in store_speed_tolerance()
2928 if (low <= 0) in store_speed_tolerance()
2937 val = clamp_val(val, 0, data->speed_tolerance_limit); in store_speed_tolerance()
2946 SENSOR_TEMPLATE_2(pwm, "pwm%d", 0644, show_pwm, store_pwm, 0, 0);
2947 SENSOR_TEMPLATE(pwm_mode, "pwm%d_mode", 0644, show_pwm_mode, store_pwm_mode, 0);
2948 SENSOR_TEMPLATE(pwm_enable, "pwm%d_enable", 0644, show_pwm_enable, store_pwm_enable, 0);
2949 SENSOR_TEMPLATE(pwm_temp_sel, "pwm%d_temp_sel", 0644, show_pwm_temp_sel, store_pwm_temp_sel, 0);
2950 SENSOR_TEMPLATE(pwm_target_temp, "pwm%d_target_temp", 0644, show_target_temp, store_target_temp, 0);
2951 SENSOR_TEMPLATE(fan_target, "fan%d_target", 0644, show_target_speed, store_target_speed, 0);
2953 store_speed_tolerance, 0);
2983 if (err < 0) in store_weight_temp()
2986 val = clamp_val(DIV_ROUND_CLOSEST(val, 1000), 0, 255); in store_weight_temp()
2996 show_pwm_weight_temp_sel, store_pwm_weight_temp_sel, 0);
2998 0644, show_weight_temp, store_weight_temp, 0, 0);
3000 0644, show_weight_temp, store_weight_temp, 0, 1);
3002 0644, show_weight_temp, store_weight_temp, 0, 2);
3003 SENSOR_TEMPLATE_2(pwm_weight_duty_step, "pwm%d_weight_duty_step", 0644, show_pwm, store_pwm, 0, 5);
3004 SENSOR_TEMPLATE_2(pwm_weight_duty_base, "pwm%d_weight_duty_base", 0644, show_pwm, store_pwm, 0, 6);
3034 if (err < 0) in store_fan_time()
3070 if (err < 0) in store_auto_pwm()
3079 val = 0xff; in store_auto_pwm()
3090 /* disable if needed (pwm == 0) */ in store_auto_pwm()
3095 reg |= 0x02; in store_auto_pwm()
3097 reg &= ~0x02; in store_auto_pwm()
3187 return 0; in nct6775_pwm_is_visible()
3191 return 0; in nct6775_pwm_is_visible()
3193 return 0; in nct6775_pwm_is_visible()
3195 return 0; in nct6775_pwm_is_visible()
3197 return 0; in nct6775_pwm_is_visible()
3203 return 0; in nct6775_pwm_is_visible()
3208 SENSOR_TEMPLATE_2(pwm_stop_time, "pwm%d_stop_time", 0644, show_fan_time, store_fan_time, 0, 0);
3210 show_fan_time, store_fan_time, 0, 1);
3212 show_fan_time, store_fan_time, 0, 2);
3213 SENSOR_TEMPLATE_2(pwm_start, "pwm%d_start", 0644, show_pwm, store_pwm, 0, 1);
3214 SENSOR_TEMPLATE_2(pwm_floor, "pwm%d_floor", 0644, show_pwm, store_pwm, 0, 2);
3216 show_temp_tolerance, store_temp_tolerance, 0, 0);
3218 0644, show_temp_tolerance, store_temp_tolerance, 0, 1);
3220 SENSOR_TEMPLATE_2(pwm_max, "pwm%d_max", 0644, show_pwm, store_pwm, 0, 3);
3222 SENSOR_TEMPLATE_2(pwm_step, "pwm%d_step", 0644, show_pwm, store_pwm, 0, 4);
3225 0644, show_auto_pwm, store_auto_pwm, 0, 0);
3227 0644, show_auto_temp, store_auto_temp, 0, 0);
3230 0644, show_auto_pwm, store_auto_pwm, 0, 1);
3232 0644, show_auto_temp, store_auto_temp, 0, 1);
3235 0644, show_auto_pwm, store_auto_pwm, 0, 2);
3237 0644, show_auto_temp, store_auto_temp, 0, 2);
3240 0644, show_auto_pwm, store_auto_pwm, 0, 3);
3242 0644, show_auto_temp, store_auto_temp, 0, 3);
3245 0644, show_auto_pwm, store_auto_pwm, 0, 4);
3247 0644, show_auto_temp, store_auto_temp, 0, 4);
3250 0644, show_auto_pwm, store_auto_pwm, 0, 5);
3252 0644, show_auto_temp, store_auto_temp, 0, 5);
3255 0644, show_auto_pwm, store_auto_pwm, 0, 6);
3257 0644, show_auto_temp, store_auto_temp, 0, 6);
3321 if (!(tmp & 0x01)) { in nct6775_init_device()
3322 err = nct6775_write_value(data, data->REG_CONFIG, tmp | 0x01); in nct6775_init_device()
3329 for (i = 0; i < NUM_TEMP; i++) { in nct6775_init_device()
3337 if (tmp & 0x01) { in nct6775_init_device()
3338 err = nct6775_write_value(data, data->reg_temp_config[i], tmp & 0xfe); in nct6775_init_device()
3348 if (!(tmp & 0x01)) { in nct6775_init_device()
3349 err = nct6775_write_value(data, data->REG_VBAT, tmp | 0x01); in nct6775_init_device()
3358 for (i = 0; i < data->temp_fixed_num; i++) { in nct6775_init_device()
3368 return 0; in nct6775_init_device()
3377 for (i = 0; i < data->pwm_num && *available; i++) { in add_temp_sensors()
3385 src &= 0x1f; in add_temp_sensors()
3399 return 0; in add_temp_sensors()
3405 int i, s, err = 0; in nct6775_probe()
3421 data->bank = 0xff; /* Force initial bank selection */ in nct6775_probe()
3443 data->REG_IN_MINMAX[0] = NCT6106_REG_IN_MIN; in nct6775_probe()
3451 data->REG_FAN_TIME[0] = NCT6106_REG_FAN_STOP_TIME; in nct6775_probe()
3455 data->REG_PWM[0] = NCT6116_REG_PWM; in nct6775_probe()
3476 data->REG_WEIGHT_TEMP[0] = NCT6106_REG_WEIGHT_TEMP_STEP; in nct6775_probe()
3518 data->REG_IN_MINMAX[0] = NCT6106_REG_IN_MIN; in nct6775_probe()
3526 data->REG_FAN_TIME[0] = NCT6116_REG_FAN_STOP_TIME; in nct6775_probe()
3530 data->REG_PWM[0] = NCT6116_REG_PWM; in nct6775_probe()
3551 data->REG_WEIGHT_TEMP[0] = NCT6106_REG_WEIGHT_TEMP_STEP; in nct6775_probe()
3588 data->target_temp_mask = 0x7f; in nct6775_probe()
3589 data->tolerance_mask = 0x0f; in nct6775_probe()
3601 data->REG_IN_MINMAX[0] = NCT6775_REG_IN_MIN; in nct6775_probe()
3609 data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME; in nct6775_probe()
3612 data->REG_PWM[0] = NCT6775_REG_PWM; in nct6775_probe()
3630 data->REG_WEIGHT_TEMP[0] = NCT6775_REG_WEIGHT_TEMP_STEP; in nct6775_probe()
3663 data->target_temp_mask = 0xff; in nct6775_probe()
3664 data->tolerance_mask = 0x07; in nct6775_probe()
3676 data->REG_IN_MINMAX[0] = NCT6775_REG_IN_MIN; in nct6775_probe()
3684 data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME; in nct6775_probe()
3688 data->REG_PWM[0] = NCT6775_REG_PWM; in nct6775_probe()
3705 data->REG_WEIGHT_TEMP[0] = NCT6775_REG_WEIGHT_TEMP_STEP; in nct6775_probe()
3738 data->target_temp_mask = 0xff; in nct6775_probe()
3739 data->tolerance_mask = 0x07; in nct6775_probe()
3751 data->REG_IN_MINMAX[0] = NCT6775_REG_IN_MIN; in nct6775_probe()
3759 data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME; in nct6775_probe()
3763 data->REG_PWM[0] = NCT6775_REG_PWM; in nct6775_probe()
3784 data->REG_WEIGHT_TEMP[0] = NCT6775_REG_WEIGHT_TEMP_STEP; in nct6775_probe()
3825 data->target_temp_mask = 0xff; in nct6775_probe()
3826 data->tolerance_mask = 0x07; in nct6775_probe()
3869 data->REG_IN_MINMAX[0] = NCT6775_REG_IN_MIN; in nct6775_probe()
3877 data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME; in nct6775_probe()
3881 data->REG_PWM[0] = NCT6775_REG_PWM; in nct6775_probe()
3902 data->REG_WEIGHT_TEMP[0] = NCT6791_REG_WEIGHT_TEMP_STEP; in nct6775_probe()
3925 num_reg_tsi_temp = 0; in nct6775_probe()
3949 data->have_temp = 0; in nct6775_probe()
3959 mask = 0; in nct6775_probe()
3960 available = 0; in nct6775_probe()
3961 for (i = 0; i < num_reg_temp; i++) { in nct6775_probe()
3962 if (reg_temp[i] == 0) in nct6775_probe()
3968 src &= 0x1f; in nct6775_probe()
3986 mask = 0; in nct6775_probe()
3988 for (i = 0; i < num_reg_temp; i++) { in nct6775_probe()
3989 if (reg_temp[i] == 0) in nct6775_probe()
3995 src &= 0x1f; in nct6775_probe()
4001 "Invalid temperature source %d at index %d, source register 0x%x, temp register 0x%x\n", in nct6775_probe()
4012 data->reg_temp[0][src - 1] = reg_temp[i]; in nct6775_probe()
4032 data->reg_temp[0][s] = reg_temp[i]; in nct6775_probe()
4051 for (i = 0; i < num_reg_temp_mon; i++) { in nct6775_probe()
4052 if (reg_temp_mon[i] == 0) in nct6775_probe()
4058 src &= 0x1f; in nct6775_probe()
4064 "Invalid temperature source %d at index %d, source register 0x%x, temp register 0x%x\n", in nct6775_probe()
4087 data->reg_temp[0][src - 1] = reg_temp_mon[i]; in nct6775_probe()
4097 data->reg_temp[0][s] = reg_temp_mon[i]; in nct6775_probe()
4109 for (i = 0; i < 31; i++) { in nct6775_probe()
4121 data->reg_temp[0][i] = reg_temp_alternate[i]; in nct6775_probe()
4134 data->reg_temp[0][s] = reg_temp_alternate[i]; in nct6775_probe()
4141 for (i = 0; i < num_reg_tsi_temp; i++) { in nct6775_probe()