diff --git a/sys/i386/isa/elink.c b/sys/i386/isa/elink.c index 11b107f3f79e..13eb8247e167 100644 --- a/sys/i386/isa/elink.c +++ b/sys/i386/isa/elink.c @@ -33,7 +33,10 @@ * Common code for dealing with 3COM ethernet cards. */ -#include +#include +#include +#include +#include #include @@ -53,6 +56,10 @@ elink_reset() x = 1; outb(ELINK_ID_PORT, ELINK_RESET); } + outb(ELINK_ID_PORT, 0); + outb(ELINK_ID_PORT, 0); + + return; } /* @@ -75,3 +82,12 @@ elink_idseq(u_char p) c <<= 1; } } + +static moduledata_t elink_mod = { + "elink",/* module name */ + NULL, /* event handler */ + 0 /* extra data */ +}; + +DECLARE_MODULE(elink, elink_mod, SI_SUB_PSEUDO, SI_ORDER_ANY); +MODULE_VERSION(elink, 1); diff --git a/sys/i386/isa/elink.h b/sys/i386/isa/elink.h index 44bf06ed7d8c..52eb10579ebb 100644 --- a/sys/i386/isa/elink.h +++ b/sys/i386/isa/elink.h @@ -32,12 +32,13 @@ #ifdef PC98 #define ELINK_ID_PORT 0x71d0 #else -#define ELINK_ID_PORT 0x110 +#define ELINK_ID_PORT 0x100 #endif #define ELINK_RESET 0xc0 #define ELINK_507_POLY 0xe7 #define ELINK_509_POLY 0xcf +#define TLINK_619_POLY 0x63 void elink_reset(void); void elink_idseq(u_char p);