diff options
author | wollman <wollman@FreeBSD.org> | 1994-10-19 01:59:11 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1994-10-19 01:59:11 +0000 |
commit | 24e218260af83b7292524d1581b8dfcf5d3c8c5b (patch) | |
tree | 5d1fe7fa29fd95ce356cefa187ddba64b0b97b6d /sys/dev/ie | |
parent | c2771d0d1bd4ee9f81f73a838d7aa075897c1b71 (diff) | |
download | FreeBSD-src-24e218260af83b7292524d1581b8dfcf5d3c8c5b.zip FreeBSD-src-24e218260af83b7292524d1581b8dfcf5d3c8c5b.tar.gz |
Add support for devconf to a large number of device drivers, and do
the right thing in dev_goawayall() when kdc_goaway is null.
Diffstat (limited to 'sys/dev/ie')
-rw-r--r-- | sys/dev/ie/if_ie.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/sys/dev/ie/if_ie.c b/sys/dev/ie/if_ie.c index 0371610..43bd9cc 100644 --- a/sys/dev/ie/if_ie.c +++ b/sys/dev/ie/if_ie.c @@ -43,7 +43,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_ie.c,v 1.14 1994/09/05 22:28:31 ats Exp $ + * $Id: if_ie.c,v 1.15 1994/09/07 03:34:12 wollman Exp $ */ /* @@ -115,6 +115,7 @@ iomem, and to make 16-pointers, we subtract iomem and and with 0xffff. #include <sys/ioctl.h> #include <sys/errno.h> #include <sys/syslog.h> +#include <sys/devconf.h> #include <net/if.h> #include <net/if_types.h> @@ -305,6 +306,22 @@ static int sl_probe(struct isa_device *); static int el_probe(struct isa_device *); static int ni_probe(struct isa_device *); +static struct kern_devconf kdc_ie[NIE] = { { + 0, 0, 0, /* filled in by dev_attach */ + "ie", 0, { "isa0", MDDT_ISA, 0 }, + isa_generic_externalize, 0, 0, ISA_EXTERNALLEN +} }; + +static inline void +ie_registerdev(struct isa_device *id) +{ + if(id->id_unit) + kdc_ie[id->id_unit] = kdc_ie[0]; + kdc_ie[id->id_unit].kdc_unit = id->id_unit; + kdc_ie[id->id_unit].kdc_isa = id; + dev_attach(&kdc_ie[id->id_unit]); +} + /* This routine written by Charles Martin Hannum. */ int ieprobe(dvp) struct isa_device *dvp; @@ -569,6 +586,8 @@ ieattach(dvp) #endif if_attach(ifp); + ie_registerdev(dvp); + { struct ifaddr *ifa = ifp->if_addrlist; struct sockaddr_dl *sdl; |