[WATCHDOG] Mixcom Watchdog - get rid of port offset's
authorWim Van Sebroeck <wim@iguana.be>
Sun, 3 Jun 2007 15:39:25 +0000 (15:39 +0000)
committerWim Van Sebroeck <wim@iguana.be>
Sun, 3 Jun 2007 15:48:54 +0000 (15:48 +0000)
Get rid of the port offset's used for the
mixcom and flashcom watchdog devices.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/char/watchdog/mixcomwd.c

index df5fc769fcc376033e5add1e6323f6c4a86d196e..b614a5f6e331ae6710d4df018a1cca1096d7527e 100644 (file)
 #include <asm/uaccess.h>
 #include <asm/io.h>
 
-static int mixcomwd_ioports[] = { 0x180, 0x280, 0x380, 0x000 };
-
-#define MIXCOM_WATCHDOG_OFFSET 0xc10
+/*
+ * We have two types of cards that can be probed:
+ * 1) The Mixcom cards: these cards can be found at addresses
+ *    0x180, 0x280, 0x380 with an additional offset of 0xc10.
+ *    (Or 0xd90, 0xe90, 0xf90).
+ * 2) The FlashCOM cards: these cards can be set up at
+ *    0x300 -> 0x378, in 0x8 jumps with an offset of 0x04.
+ *    (Or 0x304 -> 0x37c in 0x8 jumps).
+ *    Each card has it's own ID.
+ */
 #define MIXCOM_ID 0x11
-#define FLASHCOM_WATCHDOG_OFFSET 0x4
 #define FLASHCOM_ID 0x18
+static int mixcomwd_ioports[] = { 0xd90, 0xe90, 0xf90, 0x000 };
 
 static void mixcomwd_timerfun(unsigned long d);
 
@@ -214,7 +221,6 @@ static int __init mixcomwd_checkcard(int port)
 {
        int id;
 
-       port += MIXCOM_WATCHDOG_OFFSET;
        if (!request_region(port, 1, "MixCOM watchdog")) {
                return 0;
        }
@@ -231,7 +237,6 @@ static int __init flashcom_checkcard(int port)
 {
        int id;
 
-       port += FLASHCOM_WATCHDOG_OFFSET;
        if (!request_region(port, 1, "MixCOM watchdog")) {
                return 0;
        }
@@ -257,8 +262,8 @@ static int __init mixcomwd_init(void)
                }
        }
 
-       /* The FlashCOM card can be set up at 0x300 -> 0x378, in 0x8 jumps */
-       for (i = 0x300; !found && i < 0x380; i+=0x8) {
+       /* The FlashCOM card can be set up at 0x304 -> 0x37c, in 0x8 jumps */
+       for (i = 0x304; !found && i < 0x380; i+=0x8) {
                watchdog_port = flashcom_checkcard(i);
                if (watchdog_port) {
                        found = 1;