Deleted ioskip member of the structure pc98_edregister. The member

port is always used for accessing PAR and MAR instead of constant
interval of I/O address.
This commit is contained in:
KATO Takenori 1997-02-06 14:16:52 +00:00
parent a43de6bdb2
commit 8716a6359b
2 changed files with 8 additions and 18 deletions

View File

@ -109,7 +109,6 @@
/* register offsets */
struct pc98_edregister {
u_int *port;
u_int ioskip;
u_int nic_offset;
u_int asic_offset;
u_int data;
@ -2728,8 +2727,7 @@ ed_init(xsc)
*/
#ifdef PC98
for (i = 0; i < ETHER_ADDR_LEN; ++i)
outb(sc->nic_addr + ED_P1_PAR0 + i * sc->edreg.ioskip,
sc->arpcom.ac_enaddr[i]);
outb(sc->nic_addr + ED_P1_PAR(i), sc->arpcom.ac_enaddr[i]);
#else
for (i = 0; i < ETHER_ADDR_LEN; ++i)
outb(sc->nic_addr + ED_P1_PAR0 + i, sc->arpcom.ac_enaddr[i]);
@ -4134,7 +4132,7 @@ ed_setrcr(sc)
*/
#ifdef PC98
for (i = 0; i < 8; i++)
outb(sc->nic_addr + ED_P1_MAR0 + i * sc->edreg.ioskip, 0xff);
outb(sc->nic_addr + ED_P1_MAR(i), 0xff);
#else
for (i = 0; i < 8; i++)
outb(sc->nic_addr + ED_P1_MAR0 + i, 0xff);
@ -4164,8 +4162,7 @@ ed_setrcr(sc)
*/
#ifdef PC98
for (i = 0; i < 8; i++)
outb(sc->nic_addr + ED_P1_MAR0 + i * sc->edreg.ioskip,
((u_char *) mcaf)[i]);
outb(sc->nic_addr + ED_P1_MAR(i), ((u_char *) mcaf)[i]);
#else
for (i = 0; i < 8; i++)
outb(sc->nic_addr + ED_P1_MAR0 + i, ((u_char *) mcaf)[i]);
@ -4182,7 +4179,7 @@ ed_setrcr(sc)
*/
#ifdef PC98
for (i = 0; i < 8; ++i)
outb(sc->nic_addr + ED_P1_MAR0 + i * sc->edreg.ioskip, 0x00);
outb(sc->nic_addr + ED_P1_MAR(i), 0x00);
#else
for (i = 0; i < 8; ++i)
outb(sc->nic_addr + ED_P1_MAR0 + i, 0x00);

View File

@ -198,6 +198,8 @@ static int pc98_set_register __P((struct isa_device *dev, int type));
#define ED_P1_PAR4 sc->edreg.port[0x05]
#undef ED_P1_PAR5
#define ED_P1_PAR5 sc->edreg.port[0x06]
#undef ED_P1_PAR
#define ED_P1_PAR(i) sc->edreg.port[0x01 + i]
#undef ED_P1_CURR
#define ED_P1_CURR sc->edreg.port[0x07]
#undef ED_P1_MAR0
@ -216,6 +218,8 @@ static int pc98_set_register __P((struct isa_device *dev, int type));
#define ED_P1_MAR6 sc->edreg.port[0x0e]
#undef ED_P1_MAR7
#define ED_P1_MAR7 sc->edreg.port[0x0f]
#undef ED_P1_MAR
#define ED_P1_MAR(i) sc->edreg.port[0x08 + i]
/*
* Page 2 register offsets.
@ -389,7 +393,6 @@ pc98_set_register(struct isa_device *dev, int type)
switch (type) {
case ED_TYPE98_GENERIC:
sc->edreg.port = edp_generic;
sc->edreg.ioskip = 1;
ED_NOVELL_NIC_OFFSET = 0x0000;
ED_NOVELL_ASIC_OFFSET = 0x0010;
ED_NOVELL_DATA = 0x0000;
@ -401,7 +404,6 @@ pc98_set_register(struct isa_device *dev, int type)
case ED_TYPE98_LGY:
sc->edreg.port = edp_generic;
sc->edreg.ioskip = 1;
ED_NOVELL_NIC_OFFSET = 0x0000;
ED_NOVELL_ASIC_OFFSET = 0x0200;
ED_NOVELL_DATA = 0x0000;
@ -413,7 +415,6 @@ pc98_set_register(struct isa_device *dev, int type)
case ED_TYPE98_EGY:
sc->edreg.port = edp_egy98;
sc->edreg.ioskip = 2;
ED_NOVELL_NIC_OFFSET = 0;
ED_NOVELL_ASIC_OFFSET = 0x0200;
ED_NOVELL_DATA = 0x0000;
@ -425,7 +426,6 @@ pc98_set_register(struct isa_device *dev, int type)
case ED_TYPE98_ICM:
sc->edreg.port = edp_generic;
sc->edreg.ioskip = 1;
ED_NOVELL_NIC_OFFSET = 0;
ED_NOVELL_ASIC_OFFSET = 0x0100;
ED_NOVELL_DATA = 0x0000;
@ -437,7 +437,6 @@ pc98_set_register(struct isa_device *dev, int type)
case ED_TYPE98_BDN:
sc->edreg.port = edp_la98;
sc->edreg.ioskip = 0x1000;
ED_NOVELL_NIC_OFFSET = 0x0000;
ED_NOVELL_ASIC_OFFSET = 0x0100;
ED_NOVELL_DATA = 0;
@ -449,7 +448,6 @@ pc98_set_register(struct isa_device *dev, int type)
case ED_TYPE98_SIC:
sc->edreg.port = edp_sic98;
sc->edreg.ioskip = 0x200;
ED_NOVELL_NIC_OFFSET = 0x0000;
ED_NOVELL_ASIC_OFFSET = 0x2000;
ED_NOVELL_DATA = 0x00; /* dummy */
@ -461,7 +459,6 @@ pc98_set_register(struct isa_device *dev, int type)
case ED_TYPE98_LPC:
sc->edreg.port = edp_generic;
sc->edreg.ioskip = 0x1;
ED_NOVELL_NIC_OFFSET = 0x0000;
ED_NOVELL_ASIC_OFFSET = 0x0100;
ED_NOVELL_DATA = 0x0000;
@ -473,7 +470,6 @@ pc98_set_register(struct isa_device *dev, int type)
case ED_TYPE98_108:
sc->edreg.port = edp_nec108;
sc->edreg.ioskip = 2;
adj = (dev->id_iobase & 0xf000) / 2;
ED_NOVELL_NIC_OFFSET = 0;
ED_NOVELL_ASIC_OFFSET = (0x888 | adj) - dev->id_iobase;
@ -486,7 +482,6 @@ pc98_set_register(struct isa_device *dev, int type)
case ED_TYPE98_LA98:
sc->edreg.port = edp_la98;
sc->edreg.ioskip = 0x1000;
ED_NOVELL_NIC_OFFSET = 0;
ED_NOVELL_ASIC_OFFSET = 0x100;
ED_NOVELL_DATA = 0x0000;
@ -498,7 +493,6 @@ pc98_set_register(struct isa_device *dev, int type)
case ED_TYPE98_CNET98EL:
sc->edreg.port = edp_generic;
sc->edreg.ioskip = 1;
ED_NOVELL_NIC_OFFSET = 0;
ED_NOVELL_ASIC_OFFSET = 0x0400;
ED_NOVELL_DATA = 0x000e;
@ -509,7 +503,6 @@ pc98_set_register(struct isa_device *dev, int type)
case ED_TYPE98_CNET98:
sc->edreg.port = edp_cnet98;
sc->edreg.ioskip = 2;
ED_NOVELL_NIC_OFFSET = 0;
ED_NOVELL_ASIC_OFFSET = 0x0400;
ED_NOVELL_DATA = 0x0000;