aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/cy
diff options
context:
space:
mode:
authorPaolo Pisati <piso@FreeBSD.org>2007-02-23 12:19:07 +0000
committerPaolo Pisati <piso@FreeBSD.org>2007-02-23 12:19:07 +0000
commitef544f631226436ef590825881e7a28369df82f6 (patch)
tree10833d4edb6c0d0a5efcf7762d842a4c378404b0 /sys/dev/cy
parent68cb8659050380e1245328796e2783f030c94974 (diff)
Notes
Diffstat (limited to 'sys/dev/cy')
-rw-r--r--sys/dev/cy/cy.c5
-rw-r--r--sys/dev/cy/cy_isa.c4
-rw-r--r--sys/dev/cy/cy_pci.c6
-rw-r--r--sys/dev/cy/cyvar.h2
4 files changed, 9 insertions, 8 deletions
diff --git a/sys/dev/cy/cy.c b/sys/dev/cy/cy.c
index c09bb1de609f..bfb83dfdcf6a 100644
--- a/sys/dev/cy/cy.c
+++ b/sys/dev/cy/cy.c
@@ -644,7 +644,7 @@ cyinput(struct com_s *com)
com->mcr_image |= com->mcr_rts);
}
-void
+int
cyintr(void *vcom)
{
struct com_s *basecom;
@@ -671,7 +671,7 @@ cyintr(void *vcom)
/* poll to see if it has any work */
status = cd_inb(iobase, CD1400_SVRR, cy_align);
if (status == 0)
- continue;
+ continue; // XXX - FILTER_STRAY?
#ifdef CyDebug
++cy_svrr_probes;
#endif
@@ -1111,6 +1111,7 @@ terminate_tx_service:
swi_sched(cy_slow_ih, SWI_DELAY);
COM_UNLOCK();
+ return (FILTER_HANDLED);
}
static void
diff --git a/sys/dev/cy/cy_isa.c b/sys/dev/cy/cy_isa.c
index a5203a7c7b05..390ccd22dd20 100644
--- a/sys/dev/cy/cy_isa.c
+++ b/sys/dev/cy/cy_isa.c
@@ -133,8 +133,8 @@ cy_isa_attach(device_t dev)
device_printf(dev, "interrupt resource allocation failed\n");
goto fail;
}
- if (bus_setup_intr(dev, irq_res, INTR_TYPE_TTY | INTR_FAST, cyintr,
- vsc, &irq_cookie) != 0) {
+ if (bus_setup_intr(dev, irq_res, INTR_TYPE_TTY,
+ cyintr, NULL, vsc, &irq_cookie) != 0) {
device_printf(dev, "interrupt setup failed\n");
goto fail;
}
diff --git a/sys/dev/cy/cy_pci.c b/sys/dev/cy/cy_pci.c
index 2d072359e07b..3cc3a3bd5df8 100644
--- a/sys/dev/cy/cy_pci.c
+++ b/sys/dev/cy/cy_pci.c
@@ -145,14 +145,14 @@ cy_pci_attach(dev)
goto fail;
}
#ifdef CY_PCI_FASTINTR
- irq_setup = bus_setup_intr(dev, irq_res, INTR_TYPE_TTY | INTR_FAST,
- cyintr, vsc, &irq_cookie);
+ irq_setup = bus_setup_intr(dev, irq_res, INTR_TYPE_TTY,
+ cyintr, NULL, vsc, &irq_cookie);
#else
irq_setup = ENXIO;
#endif
if (irq_setup != 0)
irq_setup = bus_setup_intr(dev, irq_res, INTR_TYPE_TTY,
- cyintr, vsc, &irq_cookie);
+ NULL, (driver_intr_t *)cyintr, vsc, &irq_cookie);
if (irq_setup != 0) {
device_printf(dev, "interrupt setup failed\n");
goto fail;
diff --git a/sys/dev/cy/cyvar.h b/sys/dev/cy/cyvar.h
index 15ee98ca3f89..6b770e8761fa 100644
--- a/sys/dev/cy/cyvar.h
+++ b/sys/dev/cy/cyvar.h
@@ -32,5 +32,5 @@ extern devclass_t cy_devclass;
extern char cy_driver_name[];
void *cyattach_common(cy_addr cy_iobase, int cy_align);
-driver_intr_t cyintr;
+driver_filter_t cyintr;
int cy_units(cy_addr cy_iobase, int cy_align);