Commit Graph

7 Commits

Author SHA1 Message Date
Brooks Davis
fc74a9f93a Stop embedding struct ifnet at the top of driver softcs. Instead the
struct ifnet or the layer 2 common structure it was embedded in have
been replaced with a struct ifnet pointer to be filled by a call to the
new function, if_alloc(). The layer 2 common structure is also allocated
via if_alloc() based on the interface type. It is hung off the new
struct ifnet member, if_l2com.

This change removes the size of these structures from the kernel ABI and
will allow us to better manage them as interfaces come and go.

Other changes of note:
 - Struct arpcom is no longer referenced in normal interface code.
   Instead the Ethernet address is accessed via the IFP2ENADDR() macro.
   To enforce this ac_enaddr has been renamed to _ac_enaddr.
 - The second argument to ether_ifattach is now always the mac address
   from driver private storage rather than sometimes being ac_enaddr.

Reviewed by:	sobomax, sam
2005-06-10 16:49:24 +00:00
Warner Losh
26cfd0d78b Cleanup tabs vs spaces. 2005-01-28 06:45:42 +00:00
Warner Losh
eb71b55c32 For the PC Card implementation of the CS8920M that's in my IBM
EtherJet, the interrupt is selected in the eeprom based on the layout
of the PC Card board.  Since this is encoded into the EEPROM, and has
no relationship to the IRQ that the pccard bridge routes the PC Card's
interrupt pin to.

As such, stop writing to that register.  This gets my EtherJet working.

# The eeprom reading code appears to be totally wrong for my EtherJet
# card.  This causes the card to bogusly detect the media options
# available.
2005-01-28 06:35:39 +00:00
Warner Losh
221db7416d Write cs_detach() and use it. This resolves the twin problems of the
cs1 interface linger on card eject, as well as the warnings about the
card still using resources.  Ooops.
2005-01-27 04:51:44 +00:00
Warner Losh
098ca2bda9 Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
Brooks Davis
9bf40ede4a Replace the if_name and if_unit members of struct ifnet with new members
if_xname, if_dname, and if_dunit. if_xname is the name of the interface
and if_dname/unit are the driver name and instance.

This change paves the way for interface renaming and enhanced pseudo
device creation and configuration symantics.

Approved By:	re (in principle)
Reviewed By:	njl, imp
Tested On:	i386, amd64, sparc64
Obtained From:	NetBSD (if_xname)
2003-10-31 18:32:15 +00:00
Warner Losh
11f3349f34 Break the isa attachment of the Crystal Semiconductor 89x0 into two
parts: isa and pccard.  The isa one is known to work with an IBM
EtherJet ISA card.  The pccard one isn't known to work because the
EtherJet pccard I purchased recently arrived DOA :-(.  I'll commit the
pccard.conf entry when the replacement card arrives.

I plan on MFC this in a week or two.
2001-01-21 04:56:12 +00:00