if_an_isa.c (77217) | if_an_isa.c (83270) |
---|---|
1/* 2 * Copyright (c) 1997, 1998, 1999 3 * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 15 unchanged lines hidden (view full) --- 24 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 30 * THE POSSIBILITY OF SUCH DAMAGE. 31 * | 1/* 2 * Copyright (c) 1997, 1998, 1999 3 * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 15 unchanged lines hidden (view full) --- 24 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 30 * THE POSSIBILITY OF SUCH DAMAGE. 31 * |
32 * $FreeBSD: head/sys/dev/an/if_an_isa.c 77217 2001-05-26 09:27:08Z phk $ | 32 * $FreeBSD: head/sys/dev/an/if_an_isa.c 83270 2001-09-10 02:36:18Z brooks $ |
33 */ 34 35/* 36 * Aironet 4500/4800 802.11 PCMCIA/ISA/PCI driver for FreeBSD. 37 * 38 * Written by Bill Paul <wpaul@ctr.columbia.edu> 39 * Electrical Engineering Department 40 * Columbia University, New York City --- 27 unchanged lines hidden (view full) --- 68#include <isa/isavar.h> 69#include <isa/pnpvar.h> 70 71#include <dev/an/if_aironet_ieee.h> 72#include <dev/an/if_anreg.h> 73 74#ifndef lint 75static const char rcsid[] = | 33 */ 34 35/* 36 * Aironet 4500/4800 802.11 PCMCIA/ISA/PCI driver for FreeBSD. 37 * 38 * Written by Bill Paul <wpaul@ctr.columbia.edu> 39 * Electrical Engineering Department 40 * Columbia University, New York City --- 27 unchanged lines hidden (view full) --- 68#include <isa/isavar.h> 69#include <isa/pnpvar.h> 70 71#include <dev/an/if_aironet_ieee.h> 72#include <dev/an/if_anreg.h> 73 74#ifndef lint 75static const char rcsid[] = |
76 "$FreeBSD: head/sys/dev/an/if_an_isa.c 77217 2001-05-26 09:27:08Z phk $"; | 76 "$FreeBSD: head/sys/dev/an/if_an_isa.c 83270 2001-09-10 02:36:18Z brooks $"; |
77#endif 78 79static struct isa_pnp_id an_ids[] = { 80 { 0x0100ec06, "Aironet ISA4500/ISA4800" }, 81 { 0, NULL } 82}; 83 84static int an_probe_isa __P((device_t)); 85static int an_attach_isa __P((device_t)); 86static int an_detach_isa __P((device_t)); 87 | 77#endif 78 79static struct isa_pnp_id an_ids[] = { 80 { 0x0100ec06, "Aironet ISA4500/ISA4800" }, 81 { 0, NULL } 82}; 83 84static int an_probe_isa __P((device_t)); 85static int an_attach_isa __P((device_t)); 86static int an_detach_isa __P((device_t)); 87 |
88static int an_probe_isa(dev) | 88static int 89an_probe_isa(dev) |
89 device_t dev; 90{ 91 int error = 0; 92 93 error = ISA_PNP_PROBE(device_get_parent(dev), dev, an_ids); 94 if (error == ENXIO) 95 return(error); 96 97 error = an_probe(dev); 98 an_release_resources(dev); 99 if (error == 0) 100 return (ENXIO); 101 102 error = an_alloc_irq(dev, 0, 0); 103 an_release_resources(dev); 104 if (!error) 105 device_set_desc(dev, "Aironet ISA4500/ISA4800"); | 90 device_t dev; 91{ 92 int error = 0; 93 94 error = ISA_PNP_PROBE(device_get_parent(dev), dev, an_ids); 95 if (error == ENXIO) 96 return(error); 97 98 error = an_probe(dev); 99 an_release_resources(dev); 100 if (error == 0) 101 return (ENXIO); 102 103 error = an_alloc_irq(dev, 0, 0); 104 an_release_resources(dev); 105 if (!error) 106 device_set_desc(dev, "Aironet ISA4500/ISA4800"); |
106 return (error); | 107 return (error); |
107} 108 109static int 110an_attach_isa(dev) 111 device_t dev; 112{ 113 struct an_softc *sc = device_get_softc(dev); 114 int flags = device_get_flags(dev); 115 int error; | 108} 109 110static int 111an_attach_isa(dev) 112 device_t dev; 113{ 114 struct an_softc *sc = device_get_softc(dev); 115 int flags = device_get_flags(dev); 116 int error; |
116 | 117 |
117 an_alloc_port(dev, sc->port_rid, 1); 118 an_alloc_irq(dev, sc->irq_rid, 0); | 118 an_alloc_port(dev, sc->port_rid, 1); 119 an_alloc_irq(dev, sc->irq_rid, 0); |
119 | 120 |
120 error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET, 121 an_intr, sc, &sc->irq_handle); 122 if (error) { 123 an_release_resources(dev); 124 return (error); 125 } 126 127 sc->an_bhandle = rman_get_bushandle(sc->port_res); 128 sc->an_btag = rman_get_bustag(sc->port_res); 129 sc->an_dev = dev; 130 131 return an_attach(sc, device_get_unit(dev), flags); | 121 error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET, 122 an_intr, sc, &sc->irq_handle); 123 if (error) { 124 an_release_resources(dev); 125 return (error); 126 } 127 128 sc->an_bhandle = rman_get_bushandle(sc->port_res); 129 sc->an_btag = rman_get_bustag(sc->port_res); 130 sc->an_dev = dev; 131 132 return an_attach(sc, device_get_unit(dev), flags); |
132} | 133} |
133 134static int 135an_detach_isa(device_t dev) 136{ 137 struct an_softc *sc = device_get_softc(dev); 138 struct ifnet *ifp = &sc->arpcom.ac_if; 139 140 an_stop(sc); --- 26 unchanged lines hidden --- | 134 135static int 136an_detach_isa(device_t dev) 137{ 138 struct an_softc *sc = device_get_softc(dev); 139 struct ifnet *ifp = &sc->arpcom.ac_if; 140 141 an_stop(sc); --- 26 unchanged lines hidden --- |