Rename fscher fan_min to pwn (which it really is). (Reinhard

Nissl)


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2280 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
Jean Delvare committed 2004-02-08 21:10:19 +00:00
1 parent 70d27bc759
commit 5007ebb449
3 files changed
+91 -44

No files matched your search

+73 -26
View File
@@ -144,12 +144,16 @@ static void fscher_init_client(struct i2c_client *client);
static void fscher_in(struct i2c_client *client, int operation, int ctl_name,
int *nrels_mag, long *results);
static void fscher_pwm(struct i2c_client *client, int operation,
int ctl_name, int *nrels_mag, long *results);
static void fscher_pwm_internal(struct i2c_client *client, int operation,
int ctl_name, int *nrels_mag, long *results,
int nr, int reg_min);
static void fscher_fan(struct i2c_client *client, int operation,
int ctl_name, int *nrels_mag, long *results);
static void fscher_fan_internal(struct i2c_client *client, int operation,
int ctl_name, int *nrels_mag, long *results,
int nr, int reg_state, int reg_min,
int res_ripple);
int nr, int reg_state, int res_ripple);
static void fscher_temp(struct i2c_client *client, int operation,
int ctl_name, int *nrels_mag, long *results);
static void fscher_volt(struct i2c_client *client, int operation,
@@ -172,11 +176,11 @@ static struct i2c_driver fscher_driver = {
#define FSCHER_SYSCTL_VOLT0 1000 /* 12 volt supply */
#define FSCHER_SYSCTL_VOLT1 1001 /* 5 volt supply */
#define FSCHER_SYSCTL_VOLT2 1002 /* batterie voltage */
#define FSCHER_SYSCTL_FAN0 1101 /* state, min, ripple, actual value
#define FSCHER_SYSCTL_FAN0 1101 /* state, ripple, actual value
fan 0 */
#define FSCHER_SYSCTL_FAN1 1102 /* state, min, ripple, actual value
#define FSCHER_SYSCTL_FAN1 1102 /* state, ripple, actual value
fan 1 */
#define FSCHER_SYSCTL_FAN2 1103 /* state, min, ripple, actual value
#define FSCHER_SYSCTL_FAN2 1103 /* state, ripple, actual value
fan 2 */
#define FSCHER_SYSCTL_TEMP0 1201 /* state and value of sensor 0,
cpu die */
@@ -184,6 +188,9 @@ static struct i2c_driver fscher_driver = {
motherboard */
#define FSCHER_SYSCTL_TEMP2 1203 /* state and value of sensor 2,
chassis */
#define FSCHER_SYSCTL_PWM0 1301 /* min fan 0 */
#define FSCHER_SYSCTL_PWM1 1302 /* min fan 1 */
#define FSCHER_SYSCTL_PWM2 1303 /* min fan 2 */
#define FSCHER_SYSCTL_REV 2000 /* revision */
#define FSCHER_SYSCTL_EVENT 2001 /* global event status */
#define FSCHER_SYSCTL_CONTROL 2002 /* global control byte */
@@ -221,6 +228,12 @@ static ctl_table fscher_dir_table_template[] = {
&i2c_sysctl_real, NULL, &fscher_fan},
{FSCHER_SYSCTL_FAN2, "fan3", NULL, 0, 0644, NULL, &i2c_proc_real,
&i2c_sysctl_real, NULL, &fscher_fan},
{FSCHER_SYSCTL_PWM0, "pwm1", NULL, 0, 0644, NULL, &i2c_proc_real,
&i2c_sysctl_real, NULL, &fscher_pwm},
{FSCHER_SYSCTL_PWM1, "pwm2", NULL, 0, 0644, NULL, &i2c_proc_real,
&i2c_sysctl_real, NULL, &fscher_pwm},
{FSCHER_SYSCTL_PWM2, "pwm3", NULL, 0, 0644, NULL, &i2c_proc_real,
&i2c_sysctl_real, NULL, &fscher_pwm},
{FSCHER_SYSCTL_WDOG, "wdog", NULL, 0, 0644, NULL, &i2c_proc_real,
&i2c_sysctl_real, NULL, &fscher_wdog},
{0}
@@ -539,6 +552,7 @@ void fscher_volt(struct i2c_client *client, int operation, int ctl_name,
int *nrels_mag, long *results)
{
struct fscher_data *data = client->data;
if (operation == SENSORS_PROC_REAL_INFO)
*nrels_mag = 2;
else if (operation == SENSORS_PROC_REAL_READ) {
@@ -564,25 +578,65 @@ void fscher_volt(struct i2c_client *client, int operation, int ctl_name,
}
}
void fscher_fan(struct i2c_client *client, int operation, int ctl_name,
void fscher_pwm(struct i2c_client *client, int operation, int ctl_name,
int *nrels_mag, long *results)
{
switch(ctl_name) {
case FSCHER_SYSCTL_PWM0:
fscher_pwm_internal(client,operation,ctl_name,nrels_mag,results,
0,FSCHER_REG_FAN0_MIN);
break;
case FSCHER_SYSCTL_PWM1:
fscher_pwm_internal(client,operation,ctl_name,nrels_mag,results,
1,FSCHER_REG_FAN1_MIN);
break;
case FSCHER_SYSCTL_PWM2:
fscher_pwm_internal(client,operation,ctl_name,nrels_mag,results,
2,FSCHER_REG_FAN2_MIN);
break;
default:
printk("fscher: illegal pwm nr %d\n",ctl_name);
}
}
void fscher_pwm_internal(struct i2c_client *client, int operation,
int ctl_name, int *nrels_mag, long *results,
int nr, int reg_min)
{
struct fscher_data *data = client->data;
if (operation == SENSORS_PROC_REAL_INFO)
*nrels_mag = 0;
else if (operation == SENSORS_PROC_REAL_READ) {
fscher_update_client(client);
results[0] = data->fan_min[nr];
*nrels_mag = 1;
} else if (operation == SENSORS_PROC_REAL_WRITE) {
if(*nrels_mag >= 1) {
data->fan_min[nr] = results[0];
printk("fscher: writing value 0x%02x to fan%d_min\n",
data->fan_min[nr],nr);
fscher_write_value(client,reg_min,data->fan_min[nr]);
}
}
}
void fscher_fan(struct i2c_client *client, int operation, int ctl_name,
int *nrels_mag, long *results)
{
switch(ctl_name) {
case FSCHER_SYSCTL_FAN0:
fscher_fan_internal(client,operation,ctl_name,nrels_mag,results,
0,FSCHER_REG_FAN0_STATE,FSCHER_REG_FAN0_MIN,
FSCHER_REG_FAN0_RIPPLE);
0,FSCHER_REG_FAN0_STATE, FSCHER_REG_FAN0_RIPPLE);
break;
case FSCHER_SYSCTL_FAN1:
fscher_fan_internal(client,operation,ctl_name,nrels_mag,results,
1,FSCHER_REG_FAN1_STATE,FSCHER_REG_FAN1_MIN,
FSCHER_REG_FAN1_RIPPLE);
1,FSCHER_REG_FAN1_STATE, FSCHER_REG_FAN1_RIPPLE);
break;
case FSCHER_SYSCTL_FAN2:
fscher_fan_internal(client,operation,ctl_name,nrels_mag,results,
2,FSCHER_REG_FAN2_STATE,FSCHER_REG_FAN2_MIN,
FSCHER_REG_FAN2_RIPPLE);
2,FSCHER_REG_FAN2_STATE, FSCHER_REG_FAN2_RIPPLE);
break;
default:
printk("fscher: illegal fan nr %d\n",ctl_name);
@@ -593,7 +647,7 @@ void fscher_fan(struct i2c_client *client, int operation, int ctl_name,
void fscher_fan_internal(struct i2c_client *client, int operation,
int ctl_name, int *nrels_mag, long *results,
int nr, int reg_state, int reg_min, int reg_ripple)
int nr, int reg_state, int reg_ripple)
{
struct fscher_data *data = client->data;
@@ -602,10 +656,9 @@ void fscher_fan_internal(struct i2c_client *client, int operation,
else if (operation == SENSORS_PROC_REAL_READ) {
fscher_update_client(client);
results[0] = data->fan_status[nr] & 0x04;
results[1] = data->fan_min[nr];
results[2] = data->fan_ripple[nr] & 0x03;
results[3] = RPM_FROM_REG(data->fan_act[nr]);
*nrels_mag = 4;
results[1] = data->fan_ripple[nr] & 0x03;
results[2] = RPM_FROM_REG(data->fan_act[nr]);
*nrels_mag = 3;
} else if (operation == SENSORS_PROC_REAL_WRITE) {
if(*nrels_mag >= 1) {
data->fan_status[nr] = results[0] & 0x04;
@@ -613,18 +666,12 @@ void fscher_fan_internal(struct i2c_client *client, int operation,
data->fan_status[nr],nr);
fscher_write_value(client,reg_state,data->fan_status[nr]);
}
if(*nrels_mag >= 2) {
data->fan_min[nr] = results[1];
printk("fscher: writing value 0x%02x to fan%d_min\n",
data->fan_min[nr],nr);
fscher_write_value(client,reg_min,data->fan_min[nr]);
}
if(*nrels_mag >= 3) {
if((results[2] & 0x03) == 0) {
if(*nrels_mag >= 2) {
if((results[1] & 0x03) == 0) {
printk("fscher: fan%d ripple 0 not allowed\n",nr);
return;
}
data->fan_ripple[nr] = results[2] & 0x03;
data->fan_ripple[nr] = results[1] & 0x03;
printk("fscher: writing value 0x%02x to fan%d_ripple\n",
data->fan_ripple[nr],nr);
fscher_write_value(client,reg_ripple,data->fan_ripple[nr]);
+15 -15
View File
@@ -4038,20 +4038,20 @@ static sensors_chip_feature fscscy_features[] =
SENSORS_FSCHER_TEMP3, RW,
FSCHER_SYSCTL_TEMP2, VALUE(1), 0 },
{ SENSORS_FSCHER_FAN1, "fan1", NOMAP, NOMAP,
R, FSCHER_SYSCTL_FAN0, VALUE(4), 0 },
R, FSCHER_SYSCTL_FAN0, VALUE(3), 0 },
{ SENSORS_FSCHER_FAN2, "fan2", NOMAP, NOMAP,
R, FSCHER_SYSCTL_FAN1, VALUE(4), 0 },
R, FSCHER_SYSCTL_FAN1, VALUE(3), 0 },
{ SENSORS_FSCHER_FAN3, "fan3", NOMAP, NOMAP,
R, FSCHER_SYSCTL_FAN2, VALUE(4), 0 },
{ SENSORS_FSCHER_FAN1_MIN, "fan1_min", SENSORS_FSCHER_FAN1,
SENSORS_FSCHER_FAN1, RW,
FSCHER_SYSCTL_FAN0, VALUE(2), 0 },
{ SENSORS_FSCHER_FAN2_MIN, "fan2_min", SENSORS_FSCHER_FAN2,
SENSORS_FSCHER_FAN2, RW,
FSCHER_SYSCTL_FAN1, VALUE(2), 0 },
{ SENSORS_FSCHER_FAN3_MIN, "fan3_min", SENSORS_FSCHER_FAN3,
SENSORS_FSCHER_FAN3, RW,
FSCHER_SYSCTL_FAN2, VALUE(2), 0 },
R, FSCHER_SYSCTL_FAN2, VALUE(3), 0 },
{ SENSORS_FSCHER_PWM1, "pwm1", SENSORS_FSCHER_FAN1,
NOMAP, RW,
FSCHER_SYSCTL_PWM0, VALUE(1), 0 },
{ SENSORS_FSCHER_PWM2, "pwm2", SENSORS_FSCHER_FAN2,
NOMAP, RW,
FSCHER_SYSCTL_PWM1, VALUE(1), 0 },
{ SENSORS_FSCHER_PWM3, "pwm3", SENSORS_FSCHER_FAN3,
NOMAP, RW,
FSCHER_SYSCTL_PWM2, VALUE(1), 0 },
{ SENSORS_FSCHER_FAN1_STATE, "fan1_state", SENSORS_FSCHER_FAN1,
SENSORS_FSCHER_FAN1, RW,
FSCHER_SYSCTL_FAN0, VALUE(1), 0 },
@@ -4063,13 +4063,13 @@ static sensors_chip_feature fscscy_features[] =
FSCHER_SYSCTL_FAN2, VALUE(1), 0 },
{ SENSORS_FSCHER_FAN1_RIPPLE, "fan1_ripple", SENSORS_FSCHER_FAN1,
SENSORS_FSCHER_FAN1, RW,
FSCHER_SYSCTL_FAN0, VALUE(3), 0 },
FSCHER_SYSCTL_FAN0, VALUE(2), 0 },
{ SENSORS_FSCHER_FAN2_RIPPLE, "fan2_ripple", SENSORS_FSCHER_FAN2,
SENSORS_FSCHER_FAN2, RW,
FSCHER_SYSCTL_FAN1, VALUE(3), 0 },
FSCHER_SYSCTL_FAN1, VALUE(2), 0 },
{ SENSORS_FSCHER_FAN3_RIPPLE, "fan3_ripple", SENSORS_FSCHER_FAN3,
SENSORS_FSCHER_FAN3, RW,
FSCHER_SYSCTL_FAN2, VALUE(3), 0 },
FSCHER_SYSCTL_FAN2, VALUE(2), 0 },
{ SENSORS_FSCHER_WDOG_PRESET, "wdog_preset", NOMAP,
NOMAP, RW,
FSCHER_SYSCTL_WDOG, VALUE(1), 0 },
+3 -3
View File
@@ -1514,9 +1514,9 @@
#define SENSORS_FSCHER_FAN1 4 /* R */
#define SENSORS_FSCHER_FAN2 5 /* R */
#define SENSORS_FSCHER_FAN3 6 /* R */
#define SENSORS_FSCHER_FAN1_MIN 7 /* RW */
#define SENSORS_FSCHER_FAN2_MIN 8 /* RW */
#define SENSORS_FSCHER_FAN3_MIN 9 /* RW */
#define SENSORS_FSCHER_PWM1 7 /* RW */
#define SENSORS_FSCHER_PWM2 8 /* RW */
#define SENSORS_FSCHER_PWM3 9 /* RW */
#define SENSORS_FSCHER_FAN1_STATE 10 /* RW */
#define SENSORS_FSCHER_FAN2_STATE 11 /* RW */
#define SENSORS_FSCHER_FAN3_STATE 12 /* RW */