Hi Ok, I was wrong in assuming that the W83627THF was on the I2C bus. It is on the ISA bus, id 0x90 (thanks to Alex Van Kaam author of MBM who corrected my assumption). Attached is two patches .. one against sources without my previous broken patch, and one that will revert the broken one. Regards, -- Martin Schlemmer -------------- next part -------------- --- drivers/i2c/chips/w83781d.c.orig 2003-06-17 01:35:22.000000000 +0200 +++ drivers/i2c/chips/w83781d.c 2003-06-17 01:35:33.000000000 +0200 @@ -28,6 +28,7 @@ asb100 "bach" (type_name = as99127f) 0x30 0x0694 yes no w83781d 7 3 0 3 0x10 0x5ca3 yes yes w83627hf 9 3 2 3 0x20 0x5ca3 yes yes(LPC) + w83627thf 9 3 2 3 0x90 0x5ca3 no yes(LPC) w83782d 9 3 2-4 3 0x30 0x5ca3 yes yes w83783s 5-6 3 2 1-2 0x40 0x5ca3 yes no w83697hf 8 2 2 2 0x60 0x5ca3 no yes(LPC) @@ -1285,7 +1286,7 @@ kind = w83782d; else if (val1 == 0x40 && vendid == winbond && !is_isa) kind = w83783s; - else if (val1 == 0x20 && vendid == winbond) + else if ((val1 == 0x20 || val1 == 0x90) && vendid == winbond) kind = w83627hf; else if (val1 == 0x30 && vendid == asus && !is_isa) kind = as99127f; @@ -1309,7 +1310,10 @@ } else if (kind == w83783s) { client_name = "W83783S chip"; } else if (kind == w83627hf) { - client_name = "W83627HF chip"; + if (val1 == 0x90) + client_name = "W83627THF chip"; + else + client_name = "W83627HF chip"; } else if (kind == as99127f) { client_name = "AS99127F chip"; } else if (kind == w83697hf) { @@ -1321,6 +1325,8 @@ goto ERROR2; } + printk(KERN_INFO "w83781d: Found sensor chip, name: %s\n", client_name); + /* Fill in the remaining client fields and put into the global list */ strlcpy(new_client->dev.name, client_name, DEVICE_NAME_SIZE); data->type = kind; -------------- next part -------------- --- drivers/i2c/chips/w83781d.c.orig 2003-06-17 01:36:19.000000000 +0200 +++ drivers/i2c/chips/w83781d.c 2003-06-17 01:36:26.000000000 +0200 @@ -28,6 +28,7 @@ asb100 "bach" (type_name = as99127f) 0x30 0x0694 yes no w83781d 7 3 0 3 0x10 0x5ca3 yes yes w83627hf 9 3 2 3 0x20 0x5ca3 yes yes(LPC) + w83627thf 9 3 2 3 0x90 0x5ca3 no yes(LPC) w83782d 9 3 2-4 3 0x30 0x5ca3 yes yes w83783s 5-6 3 2 1-2 0x40 0x5ca3 yes no w83697hf 8 2 2 2 0x60 0x5ca3 no yes(LPC) @@ -1285,7 +1286,7 @@ kind = w83782d; else if (val1 == 0x40 && vendid == winbond && !is_isa) kind = w83783s; - else if ((val1 == 0x20 || val1 == 0x72) && vendid == winbond) + else if ((val1 == 0x20 || val1 == 0x90) && vendid == winbond) kind = w83627hf; else if (val1 == 0x30 && vendid == asus && !is_isa) kind = as99127f; @@ -1309,7 +1310,10 @@ } else if (kind == w83783s) { client_name = "W83783S chip"; } else if (kind == w83627hf) { - client_name = "W83627HF chip"; + if (val1 == 0x90) + client_name = "W83627THF chip"; + else + client_name = "W83627HF chip"; } else if (kind == as99127f) { client_name = "AS99127F chip"; } else if (kind == w83697hf) { @@ -1321,6 +1325,8 @@ goto ERROR2; } + printk(KERN_INFO "w83781d: Found sensor chip, name: %s\n", client_name); + /* Fill in the remaining client fields and put into the global list */ strlcpy(new_client->dev.name, client_name, DEVICE_NAME_SIZE); data->type = kind; -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20030617/e2ae133b/attachment.bin