Deleted Added
full compact
pcf_isa.c (155233) pcf_isa.c (155921)
1/*-
2 * Copyright (c) 2004 Joerg Wunsch
3 *
4 * derived from sys/i386/isa/pcf.c which is:
5 *
6 * Copyright (c) 1998 Nicolas Souchu, Marc Bouget
7 * All rights reserved.
8 *

--- 14 unchanged lines hidden (view full) ---

23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 */
30#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2004 Joerg Wunsch
3 *
4 * derived from sys/i386/isa/pcf.c which is:
5 *
6 * Copyright (c) 1998 Nicolas Souchu, Marc Bouget
7 * All rights reserved.
8 *

--- 14 unchanged lines hidden (view full) ---

23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 */
30#include <sys/cdefs.h>
31__FBSDID("$FreeBSD: head/sys/dev/pcf/pcf_isa.c 155233 2006-02-02 23:57:31Z imp $");
31__FBSDID("$FreeBSD: head/sys/dev/pcf/pcf_isa.c 155921 2006-02-22 18:16:26Z jhb $");
32
33/*
34 * Hardware driver for a Philips PCF8584 I2C bus controller sitting
35 * on a generic ISA bus.
36 */
37
38#include <sys/param.h>
39#include <sys/systm.h>

--- 108 unchanged lines hidden (view full) ---

148 sc->pcf_flags |= IIC_POLLED;
149 }
150 }
151
152 /* reset the chip */
153 pcf_rst_card(dev, IIC_FASTEST, PCF_DEFAULT_ADDR, NULL);
154
155 if (sc->res_irq) {
32
33/*
34 * Hardware driver for a Philips PCF8584 I2C bus controller sitting
35 * on a generic ISA bus.
36 */
37
38#include <sys/param.h>
39#include <sys/systm.h>

--- 108 unchanged lines hidden (view full) ---

148 sc->pcf_flags |= IIC_POLLED;
149 }
150 }
151
152 /* reset the chip */
153 pcf_rst_card(dev, IIC_FASTEST, PCF_DEFAULT_ADDR, NULL);
154
155 if (sc->res_irq) {
156 rv = BUS_SETUP_INTR(device_get_parent(dev), dev, sc->res_irq,
156 rv = bus_setup_intr(dev, sc->res_irq,
157 INTR_TYPE_NET /* | INTR_ENTROPY */,
158 pcf_intr, sc, &sc->intr_cookie);
159 if (rv) {
160 device_printf(dev, "could not setup IRQ\n");
161 goto error;
162 }
163 }
164

--- 31 unchanged lines hidden (view full) ---

196
197 if ((rv = bus_generic_detach(dev)) != 0)
198 return (rv);
199
200 if ((rv = device_delete_child(dev, sc->iicbus)) != 0)
201 return (rv);
202
203 if (sc->res_irq != 0) {
157 INTR_TYPE_NET /* | INTR_ENTROPY */,
158 pcf_intr, sc, &sc->intr_cookie);
159 if (rv) {
160 device_printf(dev, "could not setup IRQ\n");
161 goto error;
162 }
163 }
164

--- 31 unchanged lines hidden (view full) ---

196
197 if ((rv = bus_generic_detach(dev)) != 0)
198 return (rv);
199
200 if ((rv = device_delete_child(dev, sc->iicbus)) != 0)
201 return (rv);
202
203 if (sc->res_irq != 0) {
204 BUS_TEARDOWN_INTR(device_get_parent(dev), dev, sc->res_irq,
205 sc->intr_cookie);
204 bus_teardown_intr(dev, sc->res_irq, sc->intr_cookie);
206 bus_deactivate_resource(dev, SYS_RES_IRQ, sc->rid_irq, sc->res_irq);
207 bus_release_resource(dev, SYS_RES_IRQ, sc->rid_irq, sc->res_irq);
208 }
209
210 bus_deactivate_resource(dev, SYS_RES_IOPORT, sc->rid_ioport, sc->res_ioport);
211 bus_release_resource(dev, SYS_RES_IOPORT, sc->rid_ioport, sc->res_ioport);
212
213 return (0);
214}
215
216DRIVER_MODULE(pcf_isa, isa, pcf_isa_driver, pcf_isa_devclass, 0, 0);
217MODULE_DEPEND(pcf_isa, iicbus, PCF_MINVER, PCF_PREFVER, PCF_MAXVER);
218MODULE_VERSION(pcf_isa, PCF_MODVER);
205 bus_deactivate_resource(dev, SYS_RES_IRQ, sc->rid_irq, sc->res_irq);
206 bus_release_resource(dev, SYS_RES_IRQ, sc->rid_irq, sc->res_irq);
207 }
208
209 bus_deactivate_resource(dev, SYS_RES_IOPORT, sc->rid_ioport, sc->res_ioport);
210 bus_release_resource(dev, SYS_RES_IOPORT, sc->rid_ioport, sc->res_ioport);
211
212 return (0);
213}
214
215DRIVER_MODULE(pcf_isa, isa, pcf_isa_driver, pcf_isa_devclass, 0, 0);
216MODULE_DEPEND(pcf_isa, iicbus, PCF_MINVER, PCF_PREFVER, PCF_MAXVER);
217MODULE_VERSION(pcf_isa, PCF_MODVER);