diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/mac68k/dev/sbc.c | 14 | ||||
-rw-r--r-- | sys/arch/mac68k/dev/sbc_obio.c | 8 | ||||
-rw-r--r-- | sys/arch/mac68k/dev/sbcvar.h | 6 |
3 files changed, 17 insertions, 11 deletions
diff --git a/sys/arch/mac68k/dev/sbc.c b/sys/arch/mac68k/dev/sbc.c index b54ef531080..86402dbe17d 100644 --- a/sys/arch/mac68k/dev/sbc.c +++ b/sys/arch/mac68k/dev/sbc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sbc.c,v 1.14 2002/03/14 01:26:35 millert Exp $ */ +/* $OpenBSD: sbc.c,v 1.15 2004/12/02 06:43:25 miod Exp $ */ /* $NetBSD: sbc.c,v 1.24 1997/04/18 17:38:08 scottr Exp $ */ /* @@ -114,7 +114,7 @@ sbc_minphys(struct buf *bp) * General support for Mac-specific SCSI logic. ***/ -void +int sbc_irq_intr(p) void *p; { @@ -141,6 +141,8 @@ sbc_irq_intr(p) #endif } } + + return (claimed); } #ifdef SBC_DEBUG @@ -374,7 +376,7 @@ interrupt: * detect and handle the bus error for early termination of a command. * This is usually caused by a disconnecting target. */ -void +int sbc_drq_intr(p) void *p; { @@ -397,7 +399,7 @@ sbc_drq_intr(p) * If we're not ready to xfer data, or have no more, just return. */ if ((*ncr_sc->sci_csr & SCI_CSR_DREQ) == 0 || dh->dh_len == 0) - return; + return (0); #ifdef SBC_DEBUG if (sbc_debug & SBC_DB_INTR) @@ -436,7 +438,7 @@ sbc_drq_intr(p) #endif m68k_fault_addr = 0; - return; + return (1); } if (dh->dh_flags & SBC_DH_OUT) { /* Data Out */ @@ -577,6 +579,8 @@ sbc_drq_intr(p) ncr_sc->sc_dev.dv_xname, *ncr_sc->sci_csr, *ncr_sc->sci_bus_csr); #endif + + return (1); } void diff --git a/sys/arch/mac68k/dev/sbc_obio.c b/sys/arch/mac68k/dev/sbc_obio.c index 7fc2ac9196f..bff4f430845 100644 --- a/sys/arch/mac68k/dev/sbc_obio.c +++ b/sys/arch/mac68k/dev/sbc_obio.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sbc_obio.c,v 1.9 2002/03/14 01:26:35 millert Exp $ */ +/* $OpenBSD: sbc_obio.c,v 1.10 2004/12/02 06:43:25 miod Exp $ */ /* $NetBSD: sbc_obio.c,v 1.1 1997/03/01 20:18:59 scottr Exp $ */ /* @@ -211,10 +211,12 @@ sbc_obio_attach(parent, self, args) ncr_sc->sc_dma_start = sbc_dma_start; ncr_sc->sc_dma_eop = sbc_dma_eop; ncr_sc->sc_dma_stop = sbc_dma_stop; - via2_register_irq(VIA2_SCSIDRQ, sbc_drq_intr, ncr_sc); + via2_register_irq(VIA2_SCSIDRQ, sbc_drq_intr, ncr_sc, + ncr_sc->sc_dev.dv_xname); } - via2_register_irq(VIA2_SCSIIRQ, sbc_irq_intr, ncr_sc); + via2_register_irq(VIA2_SCSIIRQ, sbc_irq_intr, ncr_sc, + ncr_sc->sc_dev.dv_xname); sc->sc_clrintr = sbc_obio_clrintr; if (sc->sc_options) diff --git a/sys/arch/mac68k/dev/sbcvar.h b/sys/arch/mac68k/dev/sbcvar.h index abfbaf51f0f..4bec0604efd 100644 --- a/sys/arch/mac68k/dev/sbcvar.h +++ b/sys/arch/mac68k/dev/sbcvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: sbcvar.h,v 1.3 2002/03/14 01:26:35 millert Exp $ */ +/* $OpenBSD: sbcvar.h,v 1.4 2004/12/02 06:43:25 miod Exp $ */ /* $NetBSD: sbcvar.h,v 1.1 1997/03/01 20:19:00 scottr Exp $ */ /* @@ -109,8 +109,8 @@ extern struct scsi_device sbc_dev; int sbc_pdma_in(struct ncr5380_softc *, int, int, u_char *); int sbc_pdma_out(struct ncr5380_softc *, int, int, u_char *); -void sbc_irq_intr(void *); -void sbc_drq_intr(void *); +int sbc_irq_intr(void *); +int sbc_drq_intr(void *); void sbc_dma_alloc(struct ncr5380_softc *); void sbc_dma_free(struct ncr5380_softc *); void sbc_dma_poll(struct ncr5380_softc *); |