diff --git a/kernel/chips/asb100.c b/kernel/chips/asb100.c index 0d349819..aed4f94c 100644 --- a/kernel/chips/asb100.c +++ b/kernel/chips/asb100.c @@ -100,28 +100,14 @@ static const u16 asb100_reg_temp_hyst[] = {0, 0x3a, 0x153, 0x253, 0x19}; #define ASB100_REG_I2C_SUBADDR 0x4a #define ASB100_REG_PIN 0x4b #define ASB100_REG_IRQ 0x4c -#define ASB100_REG_BEEP_CONFIG 0x4d #define ASB100_REG_BANK 0x4e #define ASB100_REG_CHIPMAN 0x4f -#define ASB100_REG_BEEP_INTS1 0x56 -#define ASB100_REG_BEEP_INTS2 0x57 #define ASB100_REG_WCHIPID 0x58 /* bit 7 -> enable, bits 0-3 -> duty cycle */ #define ASB100_REG_PWM1 0x59 -/* Does this exist on ASB100? */ -/* The following are undocumented in the data sheets however we - received the information in an email from Winbond tech support */ -/* Sensor selection - not on 781d */ -#define ASB100_REG_SCFG1 0x5D -static const u8 BIT_SCFG1[] = { 0x02, 0x04, 0x08 }; -#define ASB100_REG_SCFG2 0x59 -static const u8 BIT_SCFG2[] = { 0x10, 0x20, 0x40 }; -#define W83781D_DEFAULT_BETA 3435 -/* */ - /* CONVERSIONS Rounding and limit checking is only done on the TO_REG variants. */ @@ -187,22 +173,15 @@ static int ASB100_PWM_FROM_REG(u8 reg) } #define ALARMS_FROM_REG(val) (val) -#define BEEPS_FROM_REG(val) (val) -#define BEEPS_TO_REG(val) ((val) & 0xffffff) - -#define BEEP_ENABLE_TO_REG(val) ((val)?1:0) -#define BEEP_ENABLE_FROM_REG(val) ((val)?1:0) #define DIV_FROM_REG(val) (1 << (val)) -/* Support for larger fan divisors? */ /* FAN DIV: 1, 2, 4, or 8 (defaults to 2) REG: 0, 1, 2, or 3 (respectively) (defaults to 1) */ static u8 DIV_TO_REG(long val) { return val==8 ? 3 : val==4 ? 2 : val==1 ? 0 : 1; } -/* */ /* For each registered client, we need to keep some data in memory. That data is pointed to by client->data. The structure itself is @@ -231,8 +210,6 @@ struct asb100_data { u8 pwm; /* Register encoding */ u8 vid; /* Register encoding, combined */ u32 alarms; /* Register encoding, combined */ - u32 beeps; /* Register encoding, combined */ - u8 beep_enable; /* bitmask */ u8 vrm; }; @@ -260,8 +237,6 @@ static void asb100_vrm(struct i2c_client *client, int operation, int ctl_name, int *nrels_mag, long *results); static void asb100_alarms(struct i2c_client *client, int operation, int ctl_name, int *nrels_mag, long *results); -static void asb100_beep(struct i2c_client *client, int operation, - int ctl_name, int *nrels_mag, long *results); static void asb100_fan_div(struct i2c_client *client, int operation, int ctl_name, int *nrels_mag, long *results); static void asb100_pwm(struct i2c_client *client, int operation, @@ -303,7 +278,6 @@ static struct i2c_driver asb100_driver = { #define ASB100_SYSCTL_FAN_DIV 2000 /* 1, 2, 4 or 8 */ #define ASB100_SYSCTL_ALARMS 2001 /* bitvector */ -#define ASB100_SYSCTL_BEEP 2002 /* bitvector */ #define ASB100_ALARM_IN0 0x0001 /* ? */ #define ASB100_ALARM_IN1 0x0002 /* ? */ @@ -365,8 +339,6 @@ static ctl_table asb100_dir_table_template[] = { &i2c_sysctl_real, NULL, &asb100_fan_div}, {ASB100_SYSCTL_ALARMS, "alarms", NULL, 0, 0444, NULL, &i2c_proc_real, &i2c_sysctl_real, NULL, &asb100_alarms}, - {ASB100_SYSCTL_BEEP, "beep", NULL, 0, 0644, NULL, &i2c_proc_real, - &i2c_sysctl_real, NULL, &asb100_beep}, {ASB100_SYSCTL_PWM1, "pwm1", NULL, 0, 0644, NULL, &i2c_proc_real, &i2c_sysctl_real, NULL, &asb100_pwm}, {0} @@ -530,21 +502,6 @@ static int asb100_detect(struct i2c_adapter *adapter, int address, goto ERROR1; } -/* this test always fails on first load attempt - but it always works after that??? */ -#if 0 - /* On Winbond chips, 0x48 is the I2C address. - On ASB100, it's always zero */ - val1 = asb100_read_value(new_client, ASB100_REG_I2C_ADDR); - if (val1) { - pr_debug("asb100.o: detect failed, nonzero value " - "at register 0x48: (0x%02x)\n", val1); - err = -ENODEV; - goto ERROR1; - } -#endif -/* */ - } /* kind < 0 */ /* We have either had a force parameter, or we have already detected @@ -797,12 +754,6 @@ static void asb100_update_client(struct i2c_client *client) data->alarms = asb100_read_value(client, ASB100_REG_ALARM1) + (asb100_read_value(client, ASB100_REG_ALARM2) << 8); - /* beep */ - i = asb100_read_value(client, ASB100_REG_BEEP_INTS2); - data->beep_enable = i >> 7; - data->beeps = ((i & 0x7f) << 8) + - asb100_read_value(client, ASB100_REG_BEEP_INTS1); - data->last_updated = jiffies; data->valid = 1; @@ -985,38 +936,6 @@ void asb100_alarms(struct i2c_client *client, int operation, int ctl_name, } } -void asb100_beep(struct i2c_client *client, int operation, int ctl_name, - int *nrels_mag, long *results) -{ - struct asb100_data *data = client->data; - int val; - - if (operation == SENSORS_PROC_REAL_INFO) - *nrels_mag = 0; - else if (operation == SENSORS_PROC_REAL_READ) { - asb100_update_client(client); - results[0] = BEEP_ENABLE_FROM_REG(data->beep_enable); - results[1] = BEEPS_FROM_REG(data->beeps); - *nrels_mag = 2; - } else if (operation == SENSORS_PROC_REAL_WRITE) { - if (*nrels_mag >= 2) { - data->beeps = BEEPS_TO_REG(results[1]); - asb100_write_value(client, ASB100_REG_BEEP_INTS1, - data->beeps & 0xff); - val = (data->beeps >> 8) & 0x7f; - } else if (*nrels_mag >= 1) - val = - asb100_read_value(client, - ASB100_REG_BEEP_INTS2) & - 0x7f; - if (*nrels_mag >= 1) { - data->beep_enable = BEEP_ENABLE_TO_REG(results[0]); - asb100_write_value(client, ASB100_REG_BEEP_INTS2, - val | data->beep_enable << 7); - } - } -} - void asb100_fan_div(struct i2c_client *client, int operation, int ctl_name, int *nrels_mag, long *results) { diff --git a/lib/chips.c b/lib/chips.c index 605b116c..3f9409fe 100644 --- a/lib/chips.c +++ b/lib/chips.c @@ -1069,12 +1069,6 @@ static sensors_chip_feature asb100_features[] = { { SENSORS_ASB100_ALARMS, "alarms", NOMAP, NOMAP, R, ASB100_SYSCTL_ALARMS, VALUE(1), 0 }, - { SENSORS_ASB100_BEEP_ENABLE, "beep_enable", SENSORS_ASB100_ALARMS, - NOMAP, RW, - ASB100_SYSCTL_BEEP, VALUE(1), 0 }, - { SENSORS_ASB100_BEEPS, "beeps", SENSORS_ASB100_ALARMS, - SENSORS_ASB100_ALARMS, RW, - ASB100_SYSCTL_BEEP, VALUE(2), 0 }, { 0 } };