36 if (bit_P.version == 1)
37 therm = nv_ro16(bios, bit_P.offset + 12);
38 else if (bit_P.version == 2)
39 therm = nv_ro16(bios, bit_P.offset + 16);
42 "unknown offset for thermal in BIT P %d\n",
50 *ver = nv_ro08(bios, therm + 0);
51 *hdr = nv_ro08(bios, therm + 1);
52 *len = nv_ro08(bios, therm + 2);
53 *cnt = nv_ro08(bios, therm + 3);
55 return therm + nv_ro08(bios, therm + 1);
62 u16 therm = therm_table(bios, ver, &hdr, len, &cnt);
63 if (therm && idx < cnt)
64 return therm + idx * *len;
73 s8 thrs_section, sensor_section,
offset;
86 s16 value = nv_ro16(bios, entry + 1);
88 switch (nv_ro08(bios, entry + 0)) {
96 if (sensor_section == 0) {
97 offset = ((
s8) nv_ro08(bios, entry + 2)) / 2;
103 if (thrs_section == 0) {
110 if (thrs_section == 0) {
117 if (thrs_section == 0) {
124 if (sensor_section == 0)
129 if (sensor_section == 0)
134 if (sensor_section == 0)
139 if (sensor_section == 0)
143 if (thrs_section == 0) {
163 s16 value = nv_ro16(bios, entry + 1);
165 switch (nv_ro08(bios, entry + 0)) {
168 fan->
max_duty = (value & 0xff00) >> 8;