diff options
author | harti <harti@FreeBSD.org> | 2003-04-29 08:07:44 +0000 |
---|---|---|
committer | harti <harti@FreeBSD.org> | 2003-04-29 08:07:44 +0000 |
commit | 434086177ff1782e5033d3ef3944a029b263f85b (patch) | |
tree | 631feff583589aa3eebd1ddb28044891f36cc315 /sys/dev/en | |
parent | db92d84028d043a57be76ff4d516386f5736053e (diff) | |
download | FreeBSD-src-434086177ff1782e5033d3ef3944a029b263f85b.zip FreeBSD-src-434086177ff1782e5033d3ef3944a029b263f85b.tar.gz |
Add module data and version to the atm_subr and reference this info from the
(currently) only consumer (en).
Add a sysctl node hw.atm where the atm drivers will hook on their hardware
sysctl sub-trees.
Make atm_ifattach call if_attach and remove the corresponding call to if_attach
from en. Create atm_ifdetach and use that in en.
While the last change actually changes the interface this is not a problem in
practice because the only other consumer of this API is an older LANAI driver
on the net, that is not ready for current anyway.
Reviewed by: -atm
Diffstat (limited to 'sys/dev/en')
-rw-r--r-- | sys/dev/en/if_en_pci.c | 7 | ||||
-rw-r--r-- | sys/dev/en/midway.c | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/sys/dev/en/if_en_pci.c b/sys/dev/en/if_en_pci.c index 45e5e3a..19b174c 100644 --- a/sys/dev/en/if_en_pci.c +++ b/sys/dev/en/if_en_pci.c @@ -66,6 +66,9 @@ #include <dev/en/midwayreg.h> #include <dev/en/midwayvar.h> +MODULE_DEPEND(en, pci, 1, 1, 1); +MODULE_DEPEND(en, atm, 1, 1, 1); + /* * local structures */ @@ -262,7 +265,7 @@ en_pci_attach(device_t dev) en_intr, sc, &scp->ih); if (error) { en_reset(sc); - if_detach(&sc->enif); + atm_ifdetach(&sc->enif); device_printf(dev, "could not setup irq\n"); bus_release_resource(dev, SYS_RES_IRQ, 0, scp->irq); bus_release_resource(dev, SYS_RES_MEMORY, PCI_CBMA, scp->res); @@ -297,7 +300,7 @@ en_pci_detach(device_t dev) * Close down routes etc. */ en_reset(sc); - if_detach(&sc->enif); + atm_ifdetach(&sc->enif); /* * Deallocate resources. diff --git a/sys/dev/en/midway.c b/sys/dev/en/midway.c index 5ccb66a..e468f4f 100644 --- a/sys/dev/en/midway.c +++ b/sys/dev/en/midway.c @@ -173,7 +173,7 @@ enum { #define ENOTHER_DRAIN 0x02 /* almost free (drain DRQ dma) */ #define ENOTHER_SWSL 0x08 /* in software service list */ -SYSCTL_NODE(_hw, OID_AUTO, en, CTLFLAG_RW, 0, "ENI 155p"); +SYSCTL_DECL(_hw_atm); /* * dma tables @@ -2767,7 +2767,7 @@ en_attach(struct en_softc *sc) sysctl_ctx_init(&sc->sysctl_ctx); if ((sc->sysctl_tree = SYSCTL_ADD_NODE(&sc->sysctl_ctx, - SYSCTL_STATIC_CHILDREN(_hw_en), OID_AUTO, + SYSCTL_STATIC_CHILDREN(_hw_atm), OID_AUTO, device_get_nameunit(sc->dev), CTLFLAG_RD, 0, "")) == NULL) goto fail; @@ -2877,7 +2877,6 @@ en_attach(struct en_softc *sc) /* * final commit */ - if_attach(ifp); atm_ifattach(ifp); #ifdef ENABLE_BPF |