Random minor fixes. Use svn revision as superiotool version number.
authorUwe Hermann <uwe@hermann-uwe.de>
Fri, 28 Sep 2007 15:45:43 +0000 (15:45 +0000)
committerUwe Hermann <uwe@hermann-uwe.de>
Fri, 28 Sep 2007 15:45:43 +0000 (15:45 +0000)
Make the -V output more informative.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2814 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

util/superiotool/Makefile
util/superiotool/ali.c
util/superiotool/fintek.c
util/superiotool/ite.c
util/superiotool/nsc.c
util/superiotool/smsc.c
util/superiotool/superiotool.c
util/superiotool/superiotool.h
util/superiotool/winbond.c

index 45d218eebd9ffd3c56dbf6844e11697101415b30..1491075e7f86ebe2d4c3ec43fdecd16939c9fb0c 100644 (file)
@@ -1,5 +1,5 @@
 ##
-## This file is part of the LinuxBIOS project.
+## This file is part of the superiotool project.
 ##
 ## Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
 ##
index a2500885040a2d31b3dc75ea29a6331f186c9619..99dd00f69480785bc044fc8689986507b31b4359 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the LinuxBIOS project.
+ * This file is part of the superiotool project.
  *
  * Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
  *
@@ -79,7 +79,7 @@ void probe_idregs_ali(uint16_t port)
        rev = regval(port, DEVICE_REV_REG);
 
        if (superio_unknown(reg_table, id)) {
-               no_superio_found(port);
+               no_superio_found("ALi", "", port);
                exit_conf_mode_ali(port);
                return;
        }
index 7794481fad0689b53116bc9a048000908ffb5b18..757d01c020b8f4314ff0eb2c254387ede00e1997 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the LinuxBIOS project.
+ * This file is part of the superiotool project.
  *
  * Copyright (C) 2006 coresystems GmbH <info@coresystems.de>
  * Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
@@ -145,7 +145,7 @@ void probe_idregs_fintek(uint16_t port)
        vid |= (regval(port, VENDOR_ID_BYTE2_REG) << 8);
 
        if (vid != FINTEK_VENDOR_ID || superio_unknown(reg_table, did)) {
-               no_superio_found(port);
+               no_superio_found("Fintek", "", port);
                exit_conf_mode_winbond_fintek_ite_8787(port);
                return;
        }
index 3fe7190207d346840d42b1d84d6edf87e388a3a9..e44460c06533ae816704ea16202606428ef08bca 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the LinuxBIOS project.
+ * This file is part of the superiotool project.
  *
  * Copyright (C) 2007 Carl-Daniel Hailfinger
  * Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
@@ -261,7 +261,7 @@ static void exit_conf_mode_ite(uint16_t port)
        regwrite(port, 0x02, 0x02);
 }
 
-static void probe_idregs_ite_helper(uint16_t port)
+static void probe_idregs_ite_helper(const char *init, uint16_t port)
 {
        uint16_t id, chipver;
 
@@ -270,7 +270,7 @@ static void probe_idregs_ite_helper(uint16_t port)
        chipver = regval(port, CHIP_VERSION_REG) & 0x0f; /* Only bits 3..0 */
 
        if (superio_unknown(reg_table, id)) {
-               no_superio_found(port);
+               no_superio_found("ITE", init, port);
                exit_conf_mode_ite(port);
                return;
        }
@@ -285,11 +285,11 @@ static void probe_idregs_ite_helper(uint16_t port)
 void probe_idregs_ite(uint16_t port)
 {
        enter_conf_mode_ite(port);
-       probe_idregs_ite_helper(port);
+       probe_idregs_ite_helper("(init=0x87,0x01,0x55,0x55/0xaa) ", port);
        exit_conf_mode_ite(port);
 
        enter_conf_mode_winbond_fintek_ite_8787(port);
-       probe_idregs_ite_helper(port);
+       probe_idregs_ite_helper("(init=0x87,0x87) ", port);
        exit_conf_mode_winbond_fintek_ite_8787(port);
 }
 
index 797f3d4c4d750950277dd8e70cfa4ad9f309e542..0b58642a40a7935634a58632740f1de8d5f28e20 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the LinuxBIOS project.
+ * This file is part of the superiotool project.
  *
  * Copyright (C) 2006 Ronald Minnich <rminnich@gmail.com>
  *
@@ -65,7 +65,7 @@ void probe_idregs_simple(uint16_t port)
 
        outb(0x20, port);
        if (inb(port) != 0x20) {
-               no_superio_found(port);
+               no_superio_found("NSC", "", port);
                /* TODO: Exit config mode? */
                return;
        }
index 64995c2a6c0c3221f9bf2035997b5764317481fc..a6f27497102ad8c7912142838f167369242031db 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the LinuxBIOS project.
+ * This file is part of the superiotool project.
  *
  * Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
  *
@@ -140,7 +140,7 @@ static void probe_idregs_smsc_helper(uint16_t port, uint8_t idreg,
        rev = regval(port, revreg);
 
        if (superio_unknown(reg_table, id)) {
-               no_superio_found(port);
+               no_superio_found("SMSC", "", port);
                exit_conf_mode_smsc(port);
                return;
        }
index 99d97275d595ec8753b23ad62fa7f8928ead846c..9bde779a81aee8becd240b9bb8f6b85d4f0891f0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the LinuxBIOS project.
+ * This file is part of the superiotool project.
  *
  * Copyright (C) 2006 Ronald Minnich <rminnich@gmail.com>
  * Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
@@ -155,15 +155,17 @@ void dump_superio_readable(uint16_t port)
                printf("No human-readable dump available for this Super I/O\n");
 }
 
-void no_superio_found(uint16_t port)
+void no_superio_found(const char *vendor, const char *info, uint16_t port)
 {
        if (!verbose)
                return;
 
        if (inb(port) == 0xff)
-               printf("No Super I/O chip found at 0x%04x\n", port);
+               /* Yes, there's no space between '%s' and 'at'! */
+               printf("Probing for %s Super I/O %sat 0x%x... failed\n",
+                      vendor, info, port);
        else
-               printf("Probing 0x%04x, failed (0x%02x), data returns 0x%02x\n",
+               printf("Probing 0x%x, failed (0x%02x), data returns 0x%02x\n",
                       port, inb(port), inb(port + 1));
 }
 
index 5f2de5dc381c8b925e9e16907dff13cfbb3b5dca..3045124af9b0d162d27a0536bd929070356fb4e7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the LinuxBIOS project.
+ * This file is part of the superiotool project.
  *
  * Copyright (C) 2007 Carl-Daniel Hailfinger
  * Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
@@ -29,7 +29,7 @@
 #include <getopt.h>
 #include <sys/io.h>
 
-#define SUPERIOTOOL_VERSION "0.1"
+#define SUPERIOTOOL_VERSION "r$Rev$"
 
 #define USAGE "Usage: superiotool [-d] [-D] [-V] [-v] [-h]\n\n\
   -d | --dump            Dump Super I/O registers\n\
@@ -38,7 +38,7 @@
   -v | --version         Show the superiotool version\n\
   -h | --help            Show a short help text\n\n\
 Per default (no options) superiotool will just probe for a Super I/O\n\
-and print its vendor, name, ID, version, and config port.\n"
+and print its vendor, name, ID, revision, and config port.\n"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
 
@@ -79,7 +79,7 @@ const char *get_superio_name(const struct superio_registers reg_table[],
 void dump_superio(const char *name, const struct superio_registers reg_table[],
                  uint16_t port, uint16_t id);
 void dump_superio_readable(uint16_t port);
-void no_superio_found(uint16_t port);
+void no_superio_found(const char *vendor, const char *info, uint16_t port);
 
 /* ali.c */
 void probe_idregs_ali(uint16_t port);
index 78b002d2ec1bb6a715c17997b5c5eadf2af30b55..f45acb78736799e2c6bc912f8c67dcec9b97f4ed 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the LinuxBIOS project.
+ * This file is part of the superiotool project.
  *
  * Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
  *
@@ -179,7 +179,7 @@ static void enter_conf_mode_winbond_86(uint16_t port)
        outb(0x86, port);
 }
 
-void probe_idregs_winbond_helper(uint16_t port)
+void probe_idregs_winbond_helper(const char *init, uint16_t port)
 {
        uint16_t id;
        uint8_t devid, rev, olddevid;
@@ -199,7 +199,7 @@ void probe_idregs_winbond_helper(uint16_t port)
                id = olddevid & 0x0f;                    /* ID[3..0] */
 
        if (superio_unknown(reg_table, id)) {
-               no_superio_found(port);
+               no_superio_found("Winbond", init, port);
                exit_conf_mode_winbond_fintek_ite_8787(port);
                return;
        }
@@ -220,20 +220,20 @@ void probe_idregs_winbond(uint16_t port)
 {
        /* TODO: Not all init sequences are valid for all ports. */
 
-       enter_conf_mode_winbond_fintek_ite_8787(port);
-       probe_idregs_winbond_helper(port);
-       exit_conf_mode_winbond_fintek_ite_8787(port);
-
        enter_conf_mode_winbond_88(port);
-       probe_idregs_winbond_helper(port);
+       probe_idregs_winbond_helper("(init=0x88) ", port);
        exit_conf_mode_winbond_fintek_ite_8787(port);
 
        enter_conf_mode_winbond_89(port);
-       probe_idregs_winbond_helper(port);
+       probe_idregs_winbond_helper("(init=0x89) ", port);
        exit_conf_mode_winbond_fintek_ite_8787(port);
 
        enter_conf_mode_winbond_86(port);
-       probe_idregs_winbond_helper(port);
+       probe_idregs_winbond_helper("(init=0x86,0x86) ", port);
+       exit_conf_mode_winbond_fintek_ite_8787(port);
+
+       enter_conf_mode_winbond_fintek_ite_8787(port);
+       probe_idregs_winbond_helper("(init=0x87,0x87) ", port);
        exit_conf_mode_winbond_fintek_ite_8787(port);
 }