hwmon: fix Abit Uguru3 driver detection on some motherboards
[safe/jmp/linux-2.6] / drivers / hwmon / abituguru3.c
index cf6ac4c..a003d10 100644 (file)
@@ -351,7 +351,7 @@ static const struct abituguru3_motherboard_info abituguru3_motherboards[] = {
                { "AUX4 Fan",           38, 2, 60, 1, 0 },
                { NULL, 0, 0, 0, 0, 0 } }
        },
-       { 0x0014, "unknown", {
+       { 0x0014, "Abit AB9 Pro", {
                { "CPU Core",            0, 0, 10, 1, 0 },
                { "DDR",                 1, 0, 10, 1, 0 },
                { "DDR VTT",             2, 0, 10, 1, 0 },
@@ -1053,12 +1053,13 @@ static struct platform_driver abituguru3_driver = {
 
 static int __init abituguru3_detect(void)
 {
-       /* See if there is an uguru3 there. An idle uGuru3 will hold 0x00
-          at DATA and 0xAC at CMD. Sometimes the uGuru3 will hold 0x05 at
-          CMD instead, why is unknown. So we test for 0x05 too. */
+       /* See if there is an uguru3 there. An idle uGuru3 will hold 0x00 or
+          0x08 at DATA and 0xAC at CMD. Sometimes the uGuru3 will hold 0x05
+          at CMD instead, why is unknown. So we test for 0x05 too. */
        u8 data_val = inb_p(ABIT_UGURU3_BASE + ABIT_UGURU3_DATA);
        u8 cmd_val = inb_p(ABIT_UGURU3_BASE + ABIT_UGURU3_CMD);
-       if ((data_val == 0x00) && ((cmd_val == 0xAC) || (cmd_val == 0x05)))
+       if (((data_val == 0x00) || (data_val == 0x08)) &&
+                       ((cmd_val == 0xAC) || (cmd_val == 0x05)))
                return ABIT_UGURU3_BASE;
 
        ABIT_UGURU3_DEBUG("no Abit uGuru3 found, data = 0x%02X, cmd = "