xref: /openbmc/linux/drivers/scsi/aha152x.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds #ifndef _AHA152X_H
31da177e4SLinus Torvalds #define _AHA152X_H
41da177e4SLinus Torvalds 
51da177e4SLinus Torvalds /*
61da177e4SLinus Torvalds  * $Id: aha152x.h,v 2.7 2004/01/24 11:39:03 fischer Exp $
71da177e4SLinus Torvalds  */
81da177e4SLinus Torvalds 
91da177e4SLinus Torvalds /* number of queueable commands
101da177e4SLinus Torvalds    (unless we support more than 1 cmd_per_lun this should do) */
111da177e4SLinus Torvalds #define AHA152X_MAXQUEUE 7
121da177e4SLinus Torvalds 
131da177e4SLinus Torvalds #define AHA152X_REVID "Adaptec 152x SCSI driver; $Revision: 2.7 $"
141da177e4SLinus Torvalds 
151da177e4SLinus Torvalds /* port addresses */
161da177e4SLinus Torvalds #define SCSISEQ      (HOSTIOPORT0+0x00)    /* SCSI sequence control */
171da177e4SLinus Torvalds #define SXFRCTL0     (HOSTIOPORT0+0x01)    /* SCSI transfer control 0 */
181da177e4SLinus Torvalds #define SXFRCTL1     (HOSTIOPORT0+0x02)    /* SCSI transfer control 1 */
191da177e4SLinus Torvalds #define SCSISIG      (HOSTIOPORT0+0x03)    /* SCSI signal in/out */
201da177e4SLinus Torvalds #define SCSIRATE     (HOSTIOPORT0+0x04)    /* SCSI rate control */
211da177e4SLinus Torvalds #define SELID        (HOSTIOPORT0+0x05)    /* selection/reselection ID */
221da177e4SLinus Torvalds #define SCSIID       SELID                 /* SCSI ID */
231da177e4SLinus Torvalds #define SCSIDAT      (HOSTIOPORT0+0x06)    /* SCSI latched data */
241da177e4SLinus Torvalds #define SCSIBUS      (HOSTIOPORT0+0x07)    /* SCSI data bus */
251da177e4SLinus Torvalds #define STCNT0       (HOSTIOPORT0+0x08)    /* SCSI transfer count 0 */
261da177e4SLinus Torvalds #define STCNT1       (HOSTIOPORT0+0x09)    /* SCSI transfer count 1 */
271da177e4SLinus Torvalds #define STCNT2       (HOSTIOPORT0+0x0a)    /* SCSI transfer count 2 */
281da177e4SLinus Torvalds #define SSTAT0       (HOSTIOPORT0+0x0b)    /* SCSI interrupt status 0 */
291da177e4SLinus Torvalds #define SSTAT1       (HOSTIOPORT0+0x0c)    /* SCSI interrupt status 1 */
301da177e4SLinus Torvalds #define SSTAT2       (HOSTIOPORT0+0x0d)    /* SCSI interrupt status 2 */
311da177e4SLinus Torvalds #define SCSITEST     (HOSTIOPORT0+0x0e)    /* SCSI test control */
321da177e4SLinus Torvalds #define SSTAT3       SCSITEST              /* SCSI interrupt status 3 */
331da177e4SLinus Torvalds #define SSTAT4       (HOSTIOPORT0+0x0f)    /* SCSI status 4 */
341da177e4SLinus Torvalds #define SIMODE0      (HOSTIOPORT1+0x10)    /* SCSI interrupt mode 0 */
351da177e4SLinus Torvalds #define SIMODE1      (HOSTIOPORT1+0x11)    /* SCSI interrupt mode 1 */
361da177e4SLinus Torvalds #define DMACNTRL0    (HOSTIOPORT1+0x12)    /* DMA control 0 */
371da177e4SLinus Torvalds #define DMACNTRL1    (HOSTIOPORT1+0x13)    /* DMA control 1 */
381da177e4SLinus Torvalds #define DMASTAT      (HOSTIOPORT1+0x14)    /* DMA status */
391da177e4SLinus Torvalds #define FIFOSTAT     (HOSTIOPORT1+0x15)    /* FIFO status */
401da177e4SLinus Torvalds #define DATAPORT     (HOSTIOPORT1+0x16)    /* DATA port */
411da177e4SLinus Torvalds #define BRSTCNTRL    (HOSTIOPORT1+0x18)    /* burst control */
421da177e4SLinus Torvalds #define PORTA        (HOSTIOPORT1+0x1a)    /* PORT A */
431da177e4SLinus Torvalds #define PORTB        (HOSTIOPORT1+0x1b)    /* PORT B */
441da177e4SLinus Torvalds #define REV          (HOSTIOPORT1+0x1c)    /* revision */
451da177e4SLinus Torvalds #define STACK        (HOSTIOPORT1+0x1d)    /* stack */
461da177e4SLinus Torvalds #define TEST         (HOSTIOPORT1+0x1e)    /* test register */
471da177e4SLinus Torvalds 
481da177e4SLinus Torvalds #define IO_RANGE        0x20
491da177e4SLinus Torvalds 
501da177e4SLinus Torvalds /* used in aha152x_porttest */
511da177e4SLinus Torvalds #define O_PORTA         0x1a               /* PORT A */
521da177e4SLinus Torvalds #define O_PORTB         0x1b               /* PORT B */
531da177e4SLinus Torvalds #define O_DMACNTRL1     0x13               /* DMA control 1 */
541da177e4SLinus Torvalds #define O_STACK         0x1d               /* stack */
551da177e4SLinus Torvalds 
561da177e4SLinus Torvalds /* used in tc1550_porttest */
571da177e4SLinus Torvalds #define O_TC_PORTA      0x0a               /* PORT A */
581da177e4SLinus Torvalds #define O_TC_PORTB      0x0b               /* PORT B */
591da177e4SLinus Torvalds #define O_TC_DMACNTRL1  0x03               /* DMA control 1 */
601da177e4SLinus Torvalds #define O_TC_STACK      0x0d               /* stack */
611da177e4SLinus Torvalds 
621da177e4SLinus Torvalds /* bits and bitmasks to ports */
631da177e4SLinus Torvalds 
641da177e4SLinus Torvalds /* SCSI sequence control */
651da177e4SLinus Torvalds #define TEMODEO      0x80
661da177e4SLinus Torvalds #define ENSELO       0x40
671da177e4SLinus Torvalds #define ENSELI       0x20
681da177e4SLinus Torvalds #define ENRESELI     0x10
691da177e4SLinus Torvalds #define ENAUTOATNO   0x08
701da177e4SLinus Torvalds #define ENAUTOATNI   0x04
711da177e4SLinus Torvalds #define ENAUTOATNP   0x02
721da177e4SLinus Torvalds #define SCSIRSTO     0x01
731da177e4SLinus Torvalds 
741da177e4SLinus Torvalds /* SCSI transfer control 0 */
751da177e4SLinus Torvalds #define SCSIEN       0x80
761da177e4SLinus Torvalds #define DMAEN        0x40
771da177e4SLinus Torvalds #define CH1          0x20
781da177e4SLinus Torvalds #define CLRSTCNT     0x10
791da177e4SLinus Torvalds #define SPIOEN       0x08
801da177e4SLinus Torvalds #define CLRCH1       0x02
811da177e4SLinus Torvalds 
821da177e4SLinus Torvalds /* SCSI transfer control 1 */
831da177e4SLinus Torvalds #define BITBUCKET    0x80
841da177e4SLinus Torvalds #define SWRAPEN      0x40
851da177e4SLinus Torvalds #define ENSPCHK      0x20
861da177e4SLinus Torvalds #define STIMESEL     0x18    /* mask */
871da177e4SLinus Torvalds #define STIMESEL_    3
881da177e4SLinus Torvalds #define ENSTIMER     0x04
891da177e4SLinus Torvalds #define BYTEALIGN    0x02
901da177e4SLinus Torvalds 
911da177e4SLinus Torvalds /* SCSI signal IN */
921da177e4SLinus Torvalds #define SIG_CDI          0x80
931da177e4SLinus Torvalds #define SIG_IOI          0x40
941da177e4SLinus Torvalds #define SIG_MSGI         0x20
951da177e4SLinus Torvalds #define SIG_ATNI         0x10
961da177e4SLinus Torvalds #define SIG_SELI         0x08
971da177e4SLinus Torvalds #define SIG_BSYI         0x04
981da177e4SLinus Torvalds #define SIG_REQI         0x02
991da177e4SLinus Torvalds #define SIG_ACKI         0x01
1001da177e4SLinus Torvalds 
1011da177e4SLinus Torvalds /* SCSI Phases */
1021da177e4SLinus Torvalds #define P_MASK       (SIG_MSGI|SIG_CDI|SIG_IOI)
1031da177e4SLinus Torvalds #define P_DATAO      (0)
1041da177e4SLinus Torvalds #define P_DATAI      (SIG_IOI)
1051da177e4SLinus Torvalds #define P_CMD        (SIG_CDI)
1061da177e4SLinus Torvalds #define P_STATUS     (SIG_CDI|SIG_IOI)
1071da177e4SLinus Torvalds #define P_MSGO       (SIG_MSGI|SIG_CDI)
1081da177e4SLinus Torvalds #define P_MSGI       (SIG_MSGI|SIG_CDI|SIG_IOI)
1091da177e4SLinus Torvalds 
1101da177e4SLinus Torvalds /* SCSI signal OUT */
1111da177e4SLinus Torvalds #define SIG_CDO          0x80
1121da177e4SLinus Torvalds #define SIG_IOO          0x40
1131da177e4SLinus Torvalds #define SIG_MSGO         0x20
1141da177e4SLinus Torvalds #define SIG_ATNO         0x10
1151da177e4SLinus Torvalds #define SIG_SELO         0x08
1161da177e4SLinus Torvalds #define SIG_BSYO         0x04
1171da177e4SLinus Torvalds #define SIG_REQO         0x02
1181da177e4SLinus Torvalds #define SIG_ACKO         0x01
1191da177e4SLinus Torvalds 
1201da177e4SLinus Torvalds /* SCSI rate control */
1211da177e4SLinus Torvalds #define SXFR         0x70    /* mask */
1221da177e4SLinus Torvalds #define SXFR_        4
1231da177e4SLinus Torvalds #define SOFS         0x0f    /* mask */
1241da177e4SLinus Torvalds 
1251da177e4SLinus Torvalds /* SCSI ID */
1261da177e4SLinus Torvalds #define OID          0x70
1271da177e4SLinus Torvalds #define OID_         4
1281da177e4SLinus Torvalds #define TID          0x07
1291da177e4SLinus Torvalds 
1301da177e4SLinus Torvalds /* SCSI transfer count */
1311da177e4SLinus Torvalds #define GETSTCNT() ( (GETPORT(STCNT2)<<16) \
1321da177e4SLinus Torvalds                    + (GETPORT(STCNT1)<< 8) \
1331da177e4SLinus Torvalds                    + GETPORT(STCNT0) )
1341da177e4SLinus Torvalds 
1351da177e4SLinus Torvalds #define SETSTCNT(X) { SETPORT(STCNT2, ((X) & 0xFF0000) >> 16); \
1361da177e4SLinus Torvalds                       SETPORT(STCNT1, ((X) & 0x00FF00) >>  8); \
1371da177e4SLinus Torvalds                       SETPORT(STCNT0, ((X) & 0x0000FF) ); }
1381da177e4SLinus Torvalds 
1391da177e4SLinus Torvalds /* SCSI interrupt status */
1401da177e4SLinus Torvalds #define TARGET       0x80
1411da177e4SLinus Torvalds #define SELDO        0x40
1421da177e4SLinus Torvalds #define SELDI        0x20
1431da177e4SLinus Torvalds #define SELINGO      0x10
1441da177e4SLinus Torvalds #define SWRAP        0x08
1451da177e4SLinus Torvalds #define SDONE        0x04
1461da177e4SLinus Torvalds #define SPIORDY      0x02
1471da177e4SLinus Torvalds #define DMADONE      0x01
1481da177e4SLinus Torvalds 
1491da177e4SLinus Torvalds #define SETSDONE     0x80
1501da177e4SLinus Torvalds #define CLRSELDO     0x40
1511da177e4SLinus Torvalds #define CLRSELDI     0x20
1521da177e4SLinus Torvalds #define CLRSELINGO   0x10
1531da177e4SLinus Torvalds #define CLRSWRAP     0x08
1541da177e4SLinus Torvalds #define CLRSDONE     0x04
1551da177e4SLinus Torvalds #define CLRSPIORDY   0x02
1561da177e4SLinus Torvalds #define CLRDMADONE   0x01
1571da177e4SLinus Torvalds 
1581da177e4SLinus Torvalds /* SCSI status 1 */
1591da177e4SLinus Torvalds #define SELTO        0x80
1601da177e4SLinus Torvalds #define ATNTARG      0x40
1611da177e4SLinus Torvalds #define SCSIRSTI     0x20
1621da177e4SLinus Torvalds #define PHASEMIS     0x10
1631da177e4SLinus Torvalds #define BUSFREE      0x08
1641da177e4SLinus Torvalds #define SCSIPERR     0x04
1651da177e4SLinus Torvalds #define PHASECHG     0x02
1661da177e4SLinus Torvalds #define REQINIT      0x01
1671da177e4SLinus Torvalds 
1681da177e4SLinus Torvalds #define CLRSELTIMO   0x80
1691da177e4SLinus Torvalds #define CLRATNO      0x40
1701da177e4SLinus Torvalds #define CLRSCSIRSTI  0x20
1711da177e4SLinus Torvalds #define CLRBUSFREE   0x08
1721da177e4SLinus Torvalds #define CLRSCSIPERR  0x04
1731da177e4SLinus Torvalds #define CLRPHASECHG  0x02
1741da177e4SLinus Torvalds #define CLRREQINIT   0x01
1751da177e4SLinus Torvalds 
1761da177e4SLinus Torvalds /* SCSI status 2 */
1771da177e4SLinus Torvalds #define SOFFSET      0x20
1781da177e4SLinus Torvalds #define SEMPTY       0x10
1791da177e4SLinus Torvalds #define SFULL        0x08
1801da177e4SLinus Torvalds #define SFCNT        0x07    /* mask */
1811da177e4SLinus Torvalds 
1821da177e4SLinus Torvalds /* SCSI status 3 */
1831da177e4SLinus Torvalds #define SCSICNT      0xf0    /* mask */
1841da177e4SLinus Torvalds #define SCSICNT_     4
1851da177e4SLinus Torvalds #define OFFCNT       0x0f    /* mask */
1861da177e4SLinus Torvalds 
1871da177e4SLinus Torvalds /* SCSI TEST control */
1881da177e4SLinus Torvalds #define SCTESTU      0x08
1891da177e4SLinus Torvalds #define SCTESTD      0x04
1901da177e4SLinus Torvalds #define STCTEST      0x01
1911da177e4SLinus Torvalds 
1921da177e4SLinus Torvalds /* SCSI status 4 */
1931da177e4SLinus Torvalds #define SYNCERR      0x04
1941da177e4SLinus Torvalds #define FWERR        0x02
1951da177e4SLinus Torvalds #define FRERR        0x01
1961da177e4SLinus Torvalds 
1971da177e4SLinus Torvalds #define CLRSYNCERR   0x04
1981da177e4SLinus Torvalds #define CLRFWERR     0x02
1991da177e4SLinus Torvalds #define CLRFRERR     0x01
2001da177e4SLinus Torvalds 
2011da177e4SLinus Torvalds /* SCSI interrupt mode 0 */
2021da177e4SLinus Torvalds #define ENSELDO      0x40
2031da177e4SLinus Torvalds #define ENSELDI      0x20
2041da177e4SLinus Torvalds #define ENSELINGO    0x10
2051da177e4SLinus Torvalds #define ENSWRAP      0x08
2061da177e4SLinus Torvalds #define ENSDONE      0x04
2071da177e4SLinus Torvalds #define ENSPIORDY    0x02
2081da177e4SLinus Torvalds #define ENDMADONE    0x01
2091da177e4SLinus Torvalds 
2101da177e4SLinus Torvalds /* SCSI interrupt mode 1 */
2111da177e4SLinus Torvalds #define ENSELTIMO    0x80
2121da177e4SLinus Torvalds #define ENATNTARG    0x40
2131da177e4SLinus Torvalds #define ENSCSIRST    0x20
2141da177e4SLinus Torvalds #define ENPHASEMIS   0x10
2151da177e4SLinus Torvalds #define ENBUSFREE    0x08
2161da177e4SLinus Torvalds #define ENSCSIPERR   0x04
2171da177e4SLinus Torvalds #define ENPHASECHG   0x02
2181da177e4SLinus Torvalds #define ENREQINIT    0x01
2191da177e4SLinus Torvalds 
2201da177e4SLinus Torvalds /* DMA control 0 */
2211da177e4SLinus Torvalds #define ENDMA        0x80
2221da177e4SLinus Torvalds #define _8BIT        0x40
2231da177e4SLinus Torvalds #define DMA          0x20
2241da177e4SLinus Torvalds #define WRITE_READ   0x08
2251da177e4SLinus Torvalds #define INTEN        0x04
2261da177e4SLinus Torvalds #define RSTFIFO      0x02
2271da177e4SLinus Torvalds #define SWINT        0x01
2281da177e4SLinus Torvalds 
2291da177e4SLinus Torvalds /* DMA control 1 */
2301da177e4SLinus Torvalds #define PWRDWN       0x80
2311da177e4SLinus Torvalds #define STK          0x07    /* mask */
2321da177e4SLinus Torvalds 
2331da177e4SLinus Torvalds /* DMA status */
2341da177e4SLinus Torvalds #define ATDONE       0x80
2351da177e4SLinus Torvalds #define WORDRDY      0x40
2361da177e4SLinus Torvalds #define INTSTAT      0x20
2371da177e4SLinus Torvalds #define DFIFOFULL    0x10
2381da177e4SLinus Torvalds #define DFIFOEMP     0x08
2391da177e4SLinus Torvalds 
2401da177e4SLinus Torvalds /* BURST control */
2411da177e4SLinus Torvalds #define BON          0xf0
2421da177e4SLinus Torvalds #define BOFF         0x0f
2431da177e4SLinus Torvalds 
2441da177e4SLinus Torvalds /* TEST REGISTER */
2451da177e4SLinus Torvalds #define BOFFTMR      0x40
2461da177e4SLinus Torvalds #define BONTMR       0x20
2471da177e4SLinus Torvalds #define STCNTH       0x10
2481da177e4SLinus Torvalds #define STCNTM       0x08
2491da177e4SLinus Torvalds #define STCNTL       0x04
2501da177e4SLinus Torvalds #define SCSIBLK      0x02
2511da177e4SLinus Torvalds #define DMABLK       0x01
2521da177e4SLinus Torvalds 
2531da177e4SLinus Torvalds /* On the AHA-152x board PORTA and PORTB contain
2541da177e4SLinus Torvalds    some information about the board's configuration. */
2551da177e4SLinus Torvalds typedef union {
2561da177e4SLinus Torvalds   struct {
2571da177e4SLinus Torvalds     unsigned reserved:2;    /* reserved */
2581da177e4SLinus Torvalds     unsigned tardisc:1;     /* Target disconnect: 0=disabled, 1=enabled */
2591da177e4SLinus Torvalds     unsigned syncneg:1;     /* Initial sync neg: 0=disabled, 1=enabled */
2601da177e4SLinus Torvalds     unsigned msgclasses:2;  /* Message classes
2611da177e4SLinus Torvalds                                  0=#4
2621da177e4SLinus Torvalds                                  1=#0, #1, #2, #3, #4
2631da177e4SLinus Torvalds                                  2=#0, #3, #4
2641da177e4SLinus Torvalds                                  3=#0, #4
2651da177e4SLinus Torvalds                              */
2661da177e4SLinus Torvalds     unsigned boot:1;        /* boot: 0=disabled, 1=enabled */
2671da177e4SLinus Torvalds     unsigned dma:1;         /* Transfer mode: 0=PIO; 1=DMA */
2681da177e4SLinus Torvalds     unsigned id:3;          /* SCSI-id */
2691da177e4SLinus Torvalds     unsigned irq:2;         /* IRQ-Channel: 0,3=12, 1=10, 2=11 */
2701da177e4SLinus Torvalds     unsigned dmachan:2;     /* DMA-Channel: 0=0, 1=5, 2=6, 3=7 */
2711da177e4SLinus Torvalds     unsigned parity:1;      /* SCSI-parity: 1=enabled 0=disabled */
2721da177e4SLinus Torvalds   } fields;
2731da177e4SLinus Torvalds   unsigned short port;
2741da177e4SLinus Torvalds } aha152x_config ;
2751da177e4SLinus Torvalds 
2761da177e4SLinus Torvalds #define cf_parity     fields.parity
2771da177e4SLinus Torvalds #define cf_dmachan    fields.dmachan
2781da177e4SLinus Torvalds #define cf_irq        fields.irq
2791da177e4SLinus Torvalds #define cf_id         fields.id
2801da177e4SLinus Torvalds #define cf_dma        fields.dma
2811da177e4SLinus Torvalds #define cf_boot       fields.boot
2821da177e4SLinus Torvalds #define cf_msgclasses fields.msgclasses
2831da177e4SLinus Torvalds #define cf_syncneg    fields.syncneg
2841da177e4SLinus Torvalds #define cf_tardisc    fields.tardisc
2851da177e4SLinus Torvalds #define cf_port       port
2861da177e4SLinus Torvalds 
2871da177e4SLinus Torvalds /* Some macros to manipulate ports and their bits */
2881da177e4SLinus Torvalds 
2891da177e4SLinus Torvalds #define SETPORT(PORT, VAL)	outb( (VAL), (PORT) )
2901da177e4SLinus Torvalds #define GETPORT(PORT)		inb( PORT )
2911da177e4SLinus Torvalds #define SETBITS(PORT, BITS)	outb( (inb(PORT) | (BITS)), (PORT) )
2921da177e4SLinus Torvalds #define CLRBITS(PORT, BITS)	outb( (inb(PORT) & ~(BITS)), (PORT) )
2931da177e4SLinus Torvalds #define TESTHI(PORT, BITS)	((inb(PORT) & (BITS)) == (BITS))
2941da177e4SLinus Torvalds #define TESTLO(PORT, BITS)	((inb(PORT) & (BITS)) == 0)
2951da177e4SLinus Torvalds 
2961da177e4SLinus Torvalds #define SETRATE(RATE)		SETPORT(SCSIRATE,(RATE) & 0x7f)
2971da177e4SLinus Torvalds 
2981da177e4SLinus Torvalds #if defined(AHA152X_DEBUG)
2991da177e4SLinus Torvalds enum {
3001da177e4SLinus Torvalds   debug_procinfo  = 0x0001,
3011da177e4SLinus Torvalds   debug_queue     = 0x0002,
30250535df3SBoaz Harrosh   debug_locking   = 0x0004,
3031da177e4SLinus Torvalds   debug_intr      = 0x0008,
3041da177e4SLinus Torvalds   debug_selection = 0x0010,
3051da177e4SLinus Torvalds   debug_msgo      = 0x0020,
3061da177e4SLinus Torvalds   debug_msgi      = 0x0040,
3071da177e4SLinus Torvalds   debug_status    = 0x0080,
3081da177e4SLinus Torvalds   debug_cmd       = 0x0100,
3091da177e4SLinus Torvalds   debug_datai     = 0x0200,
3101da177e4SLinus Torvalds   debug_datao     = 0x0400,
3111da177e4SLinus Torvalds   debug_eh	  = 0x0800,
3121da177e4SLinus Torvalds   debug_done      = 0x1000,
3131da177e4SLinus Torvalds   debug_phases    = 0x2000,
3141da177e4SLinus Torvalds };
3151da177e4SLinus Torvalds #endif
3161da177e4SLinus Torvalds 
3171da177e4SLinus Torvalds /* for the pcmcia stub */
3181da177e4SLinus Torvalds struct aha152x_setup {
3191da177e4SLinus Torvalds 	int io_port;
3201da177e4SLinus Torvalds 	int irq;
3211da177e4SLinus Torvalds 	int scsiid;
3221da177e4SLinus Torvalds 	int reconnect;
3231da177e4SLinus Torvalds 	int parity;
3241da177e4SLinus Torvalds 	int synchronous;
3251da177e4SLinus Torvalds 	int delay;
3261da177e4SLinus Torvalds 	int ext_trans;
3271da177e4SLinus Torvalds 	int tc1550;
3281da177e4SLinus Torvalds #if defined(AHA152X_DEBUG)
3291da177e4SLinus Torvalds 	int debug;
3301da177e4SLinus Torvalds #endif
3311da177e4SLinus Torvalds 	char *conf;
3321da177e4SLinus Torvalds };
3331da177e4SLinus Torvalds 
3341da177e4SLinus Torvalds struct Scsi_Host *aha152x_probe_one(struct aha152x_setup *);
3351da177e4SLinus Torvalds void aha152x_release(struct Scsi_Host *);
336e2482fa1SJürgen E. Fischer int aha152x_host_reset_host(struct Scsi_Host *);
3371da177e4SLinus Torvalds 
3381da177e4SLinus Torvalds #endif /* _AHA152X_H */
339