From c73a081460afeef4aae637e4113bc3e6e1895c0d Mon Sep 17 00:00:00 2001 From: "Mark D. Studebaker" Date: Wed, 15 Mar 2000 02:56:56 +0000 Subject: [PATCH] (mds) don't register address or update values for 2nd "lm75" in a w83783s because there is only one. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@777 7894878c-1315-0410-8ee3-d5d059ff63e0 --- kernel/chips/w83781d.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/kernel/chips/w83781d.c b/kernel/chips/w83781d.c index 51507ce2..d6a83ed5 100644 --- a/kernel/chips/w83781d.c +++ b/kernel/chips/w83781d.c @@ -858,6 +858,8 @@ int w83781d_detect(struct i2c_adapter *adapter, int address, else goto ERROR5; } + if (kind == w83783s) + break; } } else { data->lm75 = NULL; @@ -934,7 +936,8 @@ int w83781d_detach_client(struct i2c_client *client) (((struct w83781d_data *) (client->data))-> lm75[0])); - i2c_detach_client(& + if((((struct w83781d_data *) (client->data))->type) != w83783s); + i2c_detach_client(& (((struct w83781d_data *) (client->data))-> lm75[1])); @@ -1382,12 +1385,14 @@ void w83781d_update_client(struct i2c_client *client) w83781d_read_value(client, W83781D_REG_TEMP2_OVER); data->temp_add_hyst[0] = w83781d_read_value(client, W83781D_REG_TEMP2_HYST); - data->temp_add[1] = - w83781d_read_value(client, W83781D_REG_TEMP3); - data->temp_add_over[1] = - w83781d_read_value(client, W83781D_REG_TEMP3_OVER); - data->temp_add_hyst[1] = - w83781d_read_value(client, W83781D_REG_TEMP3_HYST); + if (data->type != w83783s) { + data->temp_add[1] = + w83781d_read_value(client, W83781D_REG_TEMP3); + data->temp_add_over[1] = + w83781d_read_value(client, W83781D_REG_TEMP3_OVER); + data->temp_add_hyst[1] = + w83781d_read_value(client, W83781D_REG_TEMP3_HYST); + } i = w83781d_read_value(client, W83781D_REG_VID_FANDIV); data->vid = i & 0x0f; data->vid |=