Changeset 1227 for lm-sensors/trunk/kernel/chips/fscscy.c
- Timestamp:
- 11/09/01 16:58:13 (12 years ago)
- Files:
-
- 1 modified
-
lm-sensors/trunk/kernel/chips/fscscy.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lm-sensors/trunk/kernel/chips/fscscy.c
r1224 r1227 130 130 #define FSCSCY_REG_TEMP0_ACT 0x64 131 131 #define FSCSCY_REG_TEMP0_STATE 0x71 132 #define FSCSCY_REG_TEMP0_ MAX0x76132 #define FSCSCY_REG_TEMP0_LIM 0x76 133 133 134 134 /* sensor 1 */ 135 135 #define FSCSCY_REG_TEMP1_ACT 0xD0 136 136 #define FSCSCY_REG_TEMP1_STATE 0xD1 137 #define FSCSCY_REG_TEMP1_ MAX0xD6137 #define FSCSCY_REG_TEMP1_LIM 0xD6 138 138 139 139 /* sensor 2 */ 140 140 #define FSCSCY_REG_TEMP2_ACT 0x32 141 141 #define FSCSCY_REG_TEMP2_STATE 0x81 142 #define FSCSCY_REG_TEMP2_ MAX0x86142 #define FSCSCY_REG_TEMP2_LIM 0x86 143 143 144 144 /* sensor3 */ 145 145 #define FSCSCY_REG_TEMP3_ACT 0x35 146 146 #define FSCSCY_REG_TEMP3_STATE 0x91 147 #define FSCSCY_REG_TEMP3_ MAX0x96147 #define FSCSCY_REG_TEMP3_LIM 0x96 148 148 149 149 /* PCI Load */ … … 186 186 u8 volt[3]; /* 12, 5, battery current */ 187 187 u8 temp_act[4]; /* temperature */ 188 u8 temp_status[4]; /* status of sensor */ 189 u8 temp_max[4]; /* maximum of sensor */ 188 u8 temp_status[4]; /* status of temp. sensor */ 189 u8 temp_lim[4]; /* limit temperature of temp. sensor */ 190 u8 temp_min[4]; /* minimum of temp. sensor, this is just calculated by the module */ 191 u8 temp_max[4]; /* maximum of temp. sensor, this is just calculsted by the module */ 190 192 u8 fan_act[6]; /* fans revolutions per second */ 191 193 u8 fan_status[6]; /* fan status */ … … 461 463 /* setup missing fan2_min value */ 462 464 /* data->fan_min[2] = 0xff; */ 465 466 /* Initialize min/max values from chip */ 467 data->temp_min[0] = data->temp_max[0] = fscscy_read_value(client, FSCSCY_REG_TEMP0_ACT); 468 data->temp_min[1] = data->temp_max[1] = fscscy_read_value(client, FSCSCY_REG_TEMP1_ACT); 469 data->temp_min[2] = data->temp_max[2] = fscscy_read_value(client, FSCSCY_REG_TEMP2_ACT); 470 data->temp_min[3] = data->temp_max[3] = fscscy_read_value(client, FSCSCY_REG_TEMP3_ACT); 463 471 } 464 472 … … 476 484 #endif 477 485 data->temp_act[0] = fscscy_read_value(client, FSCSCY_REG_TEMP0_ACT); 486 if (data->temp_min[0] > data->temp_act[0]) data->temp_min[0] = data->temp_act[0]; 487 if (data->temp_max[0] < data->temp_act[0]) data->temp_max[0] = data->temp_act[0]; 478 488 data->temp_act[1] = fscscy_read_value(client, FSCSCY_REG_TEMP1_ACT); 489 if (data->temp_min[1] > data->temp_act[1]) data->temp_min[1] = data->temp_act[1]; 490 if (data->temp_max[1] < data->temp_act[1]) data->temp_max[1] = data->temp_act[1]; 479 491 data->temp_act[2] = fscscy_read_value(client, FSCSCY_REG_TEMP2_ACT); 492 if (data->temp_min[2] > data->temp_act[2]) data->temp_min[2] = data->temp_act[2]; 493 if (data->temp_max[2] < data->temp_act[2]) data->temp_max[2] = data->temp_act[2]; 480 494 data->temp_act[3] = fscscy_read_value(client, FSCSCY_REG_TEMP3_ACT); 495 if (data->temp_min[3] > data->temp_act[3]) data->temp_min[3] = data->temp_act[3]; 496 if (data->temp_max[3] < data->temp_act[3]) data->temp_max[3] = data->temp_act[3]; 497 481 498 data->temp_status[0] = fscscy_read_value(client, FSCSCY_REG_TEMP0_STATE); 482 499 data->temp_status[1] = fscscy_read_value(client, FSCSCY_REG_TEMP1_STATE); 483 500 data->temp_status[2] = fscscy_read_value(client, FSCSCY_REG_TEMP2_STATE); 484 501 data->temp_status[3] = fscscy_read_value(client, FSCSCY_REG_TEMP3_STATE); 485 data->temp_ max[0] = fscscy_read_value(client, FSCSCY_REG_TEMP0_MAX);486 data->temp_ max[1] = fscscy_read_value(client, FSCSCY_REG_TEMP1_MAX);487 data->temp_ max[2] = fscscy_read_value(client, FSCSCY_REG_TEMP2_MAX);488 data->temp_ max[3] = fscscy_read_value(client, FSCSCY_REG_TEMP3_MAX);502 data->temp_lim[0] = fscscy_read_value(client, FSCSCY_REG_TEMP0_LIM); 503 data->temp_lim[1] = fscscy_read_value(client, FSCSCY_REG_TEMP1_LIM); 504 data->temp_lim[2] = fscscy_read_value(client, FSCSCY_REG_TEMP2_LIM); 505 data->temp_lim[3] = fscscy_read_value(client, FSCSCY_REG_TEMP3_LIM); 489 506 490 507 data->volt[0] = fscscy_read_value(client, FSCSCY_REG_VOLT_12); … … 603 620 results[0] = data->temp_status[0] & 0x03; 604 621 results[1] = TEMP_FROM_REG(data->temp_act[0]); 605 results[2] = TEMP_FROM_REG(data->temp_max[0]); 622 results[2] = TEMP_FROM_REG(data->temp_lim[0]); 623 results[3] = TEMP_FROM_REG(data->temp_min[0]); 624 results[4] = TEMP_FROM_REG(data->temp_max[0]); 606 625 break; 607 626 case FSCSCY_SYSCTL_TEMP1: 608 627 results[0] = data->temp_status[1] & 0x03; 609 628 results[1] = TEMP_FROM_REG(data->temp_act[1]); 610 results[2] = TEMP_FROM_REG(data->temp_max[1]); 629 results[2] = TEMP_FROM_REG(data->temp_lim[1]); 630 results[3] = TEMP_FROM_REG(data->temp_min[1]); 631 results[4] = TEMP_FROM_REG(data->temp_max[1]); 611 632 break; 612 633 case FSCSCY_SYSCTL_TEMP2: 613 634 results[0] = data->temp_status[2] & 0x03; 614 635 results[1] = TEMP_FROM_REG(data->temp_act[2]); 615 results[2] = TEMP_FROM_REG(data->temp_max[2]); 636 results[2] = TEMP_FROM_REG(data->temp_lim[2]); 637 results[3] = TEMP_FROM_REG(data->temp_min[2]); 638 results[4] = TEMP_FROM_REG(data->temp_max[2]); 616 639 break; 617 640 case FSCSCY_SYSCTL_TEMP3: 618 641 results[0] = data->temp_status[3] & 0x03; 619 642 results[1] = TEMP_FROM_REG(data->temp_act[3]); 620 results[2] = TEMP_FROM_REG(data->temp_max[3]); 643 results[2] = TEMP_FROM_REG(data->temp_lim[3]); 644 results[3] = TEMP_FROM_REG(data->temp_min[3]); 645 results[4] = TEMP_FROM_REG(data->temp_max[3]); 621 646 break; 622 647 default: … … 626 651 return; 627 652 } 628 *nrels_mag = 3;653 *nrels_mag = 5; 629 654 } else if (operation == SENSORS_PROC_REAL_WRITE) { 630 655 if(*nrels_mag >= 1) {
