summaryrefslogtreecommitdiff
path: root/util/superiotool/superiotool.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/superiotool/superiotool.c')
-rw-r--r--util/superiotool/superiotool.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/util/superiotool/superiotool.c b/util/superiotool/superiotool.c
index ad3cd45c34..a5dcb2e753 100644
--- a/util/superiotool/superiotool.c
+++ b/util/superiotool/superiotool.c
@@ -83,8 +83,10 @@ void dump_superio(const char *name, const struct superio_registers reg_table[],
for (k = 0;; k++) {
if (idx[k] == EOT)
break;
- if (idx[k] == NANA)
+ else if (idx[k] == NANA)
printf("NA ");
+ else if (idx[k] == RSVD)
+ printf("RR ");
else
printf("%02x ", idx[k]);
}
@@ -93,13 +95,6 @@ void dump_superio(const char *name, const struct superio_registers reg_table[],
}
}
-void probe_superio(unsigned short port)
-{
- probe_idregs_simple(port);
- probe_idregs_fintek(port);
- probe_idregs_ite(port);
-}
-
int main(int argc, char *argv[])
{
if (iopl(3) < 0) {
@@ -107,8 +102,17 @@ int main(int argc, char *argv[])
exit(1);
}
- probe_superio(0x2e); /* Try 0x2e. */
- probe_superio(0x4e); /* Try 0x4e. */
+ probe_idregs_simple(0x2e);
+ probe_idregs_simple(0x4e);
+
+ probe_idregs_fintek(0x2e);
+ probe_idregs_fintek(0x4e);
+
+ probe_idregs_ite(0x2e);
+ probe_idregs_ite(0x4e);
+
+ probe_idregs_smsc(0x3f0);
+ probe_idregs_smsc(0x370);
return 0;
}