aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/abituguru3.c
diff options
context:
space:
mode:
authorHans de Goede <j.w.r.degoede@hhs.nl>2007-07-02 17:08:26 -0400
committerMark M. Hoffman <mhoffman@lightlink.com>2007-07-19 14:22:18 -0400
commit9c2e14afb98f761ec80ea809adbc87b15b060e7b (patch)
tree4bdf2bd9f70303cdf729ab32cc9c70e186e851bd /drivers/hwmon/abituguru3.c
parent9f66036b4f95f5e830d68a3ce90aeece0e0c4bf3 (diff)
hwmon: fix Abit Uguru3 driver detection on some motherboards
This patch changes the driver to also detect uguru3's which hold 0x08 at DATA initially, as has been reported here: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=220160 Also when an uguru3's holds 0x0014 in the ID register it will now report "Abit AB9 Pro" as motherboard identification. Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
Diffstat (limited to 'drivers/hwmon/abituguru3.c')
-rw-r--r--drivers/hwmon/abituguru3.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/hwmon/abituguru3.c b/drivers/hwmon/abituguru3.c
index cf6ac4cdff9a..a003d104ca45 100644
--- a/drivers/hwmon/abituguru3.c
+++ b/drivers/hwmon/abituguru3.c
@@ -351,7 +351,7 @@ static const struct abituguru3_motherboard_info abituguru3_motherboards[] = {
351 { "AUX4 Fan", 38, 2, 60, 1, 0 }, 351 { "AUX4 Fan", 38, 2, 60, 1, 0 },
352 { NULL, 0, 0, 0, 0, 0 } } 352 { NULL, 0, 0, 0, 0, 0 } }
353 }, 353 },
354 { 0x0014, "unknown", { 354 { 0x0014, "Abit AB9 Pro", {
355 { "CPU Core", 0, 0, 10, 1, 0 }, 355 { "CPU Core", 0, 0, 10, 1, 0 },
356 { "DDR", 1, 0, 10, 1, 0 }, 356 { "DDR", 1, 0, 10, 1, 0 },
357 { "DDR VTT", 2, 0, 10, 1, 0 }, 357 { "DDR VTT", 2, 0, 10, 1, 0 },
@@ -1053,12 +1053,13 @@ static struct platform_driver abituguru3_driver = {
1053 1053
1054static int __init abituguru3_detect(void) 1054static int __init abituguru3_detect(void)
1055{ 1055{
1056 /* See if there is an uguru3 there. An idle uGuru3 will hold 0x00 1056 /* See if there is an uguru3 there. An idle uGuru3 will hold 0x00 or
1057 at DATA and 0xAC at CMD. Sometimes the uGuru3 will hold 0x05 at 1057 0x08 at DATA and 0xAC at CMD. Sometimes the uGuru3 will hold 0x05
1058 CMD instead, why is unknown. So we test for 0x05 too. */ 1058 at CMD instead, why is unknown. So we test for 0x05 too. */
1059 u8 data_val = inb_p(ABIT_UGURU3_BASE + ABIT_UGURU3_DATA); 1059 u8 data_val = inb_p(ABIT_UGURU3_BASE + ABIT_UGURU3_DATA);
1060 u8 cmd_val = inb_p(ABIT_UGURU3_BASE + ABIT_UGURU3_CMD); 1060 u8 cmd_val = inb_p(ABIT_UGURU3_BASE + ABIT_UGURU3_CMD);
1061 if ((data_val == 0x00) && ((cmd_val == 0xAC) || (cmd_val == 0x05))) 1061 if (((data_val == 0x00) || (data_val == 0x08)) &&
1062 ((cmd_val == 0xAC) || (cmd_val == 0x05)))
1062 return ABIT_UGURU3_BASE; 1063 return ABIT_UGURU3_BASE;
1063 1064
1064 ABIT_UGURU3_DEBUG("no Abit uGuru3 found, data = 0x%02X, cmd = " 1065 ABIT_UGURU3_DEBUG("no Abit uGuru3 found, data = 0x%02X, cmd = "