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>
This commit is contained in:
Hans de Goede 2007-07-02 23:08:26 +02:00 committed by Mark M. Hoffman
parent 9f66036b4f
commit 9c2e14afb9

View file

@ -351,7 +351,7 @@ static const struct abituguru3_motherboard_info abituguru3_motherboards[] = {
{ "AUX4 Fan", 38, 2, 60, 1, 0 }, { "AUX4 Fan", 38, 2, 60, 1, 0 },
{ NULL, 0, 0, 0, 0, 0 } } { NULL, 0, 0, 0, 0, 0 } }
}, },
{ 0x0014, "unknown", { { 0x0014, "Abit AB9 Pro", {
{ "CPU Core", 0, 0, 10, 1, 0 }, { "CPU Core", 0, 0, 10, 1, 0 },
{ "DDR", 1, 0, 10, 1, 0 }, { "DDR", 1, 0, 10, 1, 0 },
{ "DDR VTT", 2, 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) static int __init abituguru3_detect(void)
{ {
/* See if there is an uguru3 there. An idle uGuru3 will hold 0x00 /* See if there is an uguru3 there. An idle uGuru3 will hold 0x00 or
at DATA and 0xAC at CMD. Sometimes the uGuru3 will hold 0x05 at 0x08 at DATA and 0xAC at CMD. Sometimes the uGuru3 will hold 0x05
CMD instead, why is unknown. So we test for 0x05 too. */ at CMD instead, why is unknown. So we test for 0x05 too. */
u8 data_val = inb_p(ABIT_UGURU3_BASE + ABIT_UGURU3_DATA); u8 data_val = inb_p(ABIT_UGURU3_BASE + ABIT_UGURU3_DATA);
u8 cmd_val = inb_p(ABIT_UGURU3_BASE + ABIT_UGURU3_CMD); 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; return ABIT_UGURU3_BASE;
ABIT_UGURU3_DEBUG("no Abit uGuru3 found, data = 0x%02X, cmd = " ABIT_UGURU3_DEBUG("no Abit uGuru3 found, data = 0x%02X, cmd = "