summaryrefslogtreecommitdiffstats
path: root/sys/dev/ep/if_epvar.h
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2005-07-01 04:23:32 +0000
committerimp <imp@FreeBSD.org>2005-07-01 04:23:32 +0000
commit859ea2829a28d02b3236eb9df9dd9c704b5791c5 (patch)
tree63c15e249f3bf93b8be71dd95de522ffc568b6ae /sys/dev/ep/if_epvar.h
parent6076b037abed7e2fff919b4430455b5ebff5f572 (diff)
downloadFreeBSD-src-859ea2829a28d02b3236eb9df9dd9c704b5791c5.zip
FreeBSD-src-859ea2829a28d02b3236eb9df9dd9c704b5791c5.tar.gz
Minor cleanup of ep driver and pccard attachment:
o Grab the MAC address out of the CIS if the card has the special 3Com 0x88 tuple. Most 3Com cards don't have this tuple, but we prefer it to the eeprom since it only appears to be present when the eeprom doesn't have the info. So far, I've only observed this on my 3C362 and 3C362B cards, but the NetBSD driver implies that the 3C362C also has this tuple, and that some 3C574 cards do too (none of mine do). ep_pccard_mac was written after looking at the NetBSD code. o Store the enet addr in the softc for this device, so we can use the overridden MAC to set the station address. o Create a routine to set the station address and use it where we need it. o setup the cmd shitfs and such before we call ep_alloc(), and remove setting up the cmd shift value there. It initializes to 0, and those attachments that need to frob it do so before calling ep_alloc. o Remove some obsolete comments o No longer a need to export ep_get_macaddr, so make it static o ep_alloc already grabs the EEPROM id, so we don't need to grab it again in ep_pccard_attach. o eliminate unit, it isn't needed, fix some printfs to be device_printf instead. # All my pccards except the 3C1 work now. Didn't test ISA or cbus cards # that I have: 3C509B-TP or 3C569B-J-TPO Tested on: 3C589B, 3C589C, 3C589D, 3C589D-TP, 3C562, 3C562B/3C563B, 3C562D/3C563D, 3CCFE574BT, 3CXEM556, 3CCSH572BT, 3C574-TX, 3CCE589EC, 3CXE589EC, 3CCFEM556, 3C1 Approved by: re (scottl)
Diffstat (limited to 'sys/dev/ep/if_epvar.h')
-rw-r--r--sys/dev/ep/if_epvar.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/dev/ep/if_epvar.h b/sys/dev/ep/if_epvar.h
index 31ff786..3c3fc62 100644
--- a/sys/dev/ep/if_epvar.h
+++ b/sys/dev/ep/if_epvar.h
@@ -55,14 +55,13 @@ struct ep_softc {
int stat; /* some flags */
#define F_RX_FIRST 0x001
+#define F_ENADDR_SKIP 0x002
#define F_PROMISC 0x008
#define F_ACCESS_32_BITS 0x100
int gone; /* adapter is not present (for PCCARD) */
-
struct ep_board epb;
-
- int unit;
+ uint8_t eaddr[6];
#ifdef EP_LOCAL_STATS
short tx_underrun;
@@ -80,7 +79,6 @@ void ep_get_media(struct ep_softc *);
int ep_attach(struct ep_softc *);
void ep_intr(void *);
int ep_get_e(struct ep_softc *, uint16_t, uint16_t *);
-int ep_get_macaddr(struct ep_softc *, u_char *);
#define CSR_READ_1(sc, off) (bus_space_read_1((sc)->bst, (sc)->bsh, off))
#define CSR_READ_2(sc, off) (bus_space_read_2((sc)->bst, (sc)->bsh, off))
OpenPOWER on IntegriCloud