1/*
2 * Low Level Driver for the IBM Microchannel SCSI Subsystem
3 * (Headerfile, see README.ibmmca for description of the IBM MCA SCSI-driver
4 * For use under the GNU General Public License within the Linux-kernel project.
5 * This include file works only correctly with kernel 2.4.0 or higher!!! */
6
7#ifndef _IBMMCA_H
8#define _IBMMCA_H
9
10/* Common forward declarations for all Linux-versions: */
11
12/* Interfaces to the midlevel Linux SCSI driver */
13extern int ibmmca_proc_info (char *, char **, off_t, int, int, int);
14extern int ibmmca_detect (Scsi_Host_Template *);
15extern int ibmmca_release (struct Scsi_Host *);
16extern int ibmmca_command (Scsi_Cmnd *);
17extern int ibmmca_queuecommand (Scsi_Cmnd *, void (*done) (Scsi_Cmnd *));
18extern int ibmmca_abort (Scsi_Cmnd *);
19extern int ibmmca_reset (Scsi_Cmnd *, unsigned int);
20extern int ibmmca_biosparam (Disk *, kdev_t, int *);
21
22/*structure for /proc filesystem */
23extern struct proc_dir_entry proc_scsi_ibmmca;
24
25/*
26 * 2/8/98
27 * Note to maintainer of IBMMCA.  Do not change this initializer back to
28 * the old format.  Please ask eric@andante.jic.com if you have any questions
29 * about this, but it will break things in the future.
30 */
31#define IBMMCA {                                                      \
32          proc_name:      "ibmmca",             /*proc_name*/         \
33	  proc_info:	  ibmmca_proc_info,     /*proc info fn*/      \
34          name:           "IBM SCSI-Subsystem", /*name*/              \
35          detect:         ibmmca_detect,        /*detect fn*/         \
36          release:        ibmmca_release,       /*release fn*/        \
37          command:        ibmmca_command,       /*command fn*/        \
38          queuecommand:   ibmmca_queuecommand,  /*queuecommand fn*/   \
39          abort:          ibmmca_abort,         /*abort fn*/          \
40          reset:          ibmmca_reset,         /*reset fn*/          \
41          bios_param:     ibmmca_biosparam,     /*bios fn*/           \
42          can_queue:      16,                   /*can_queue*/         \
43          this_id:        7,                    /*set by detect*/     \
44          sg_tablesize:   16,                   /*sg_tablesize*/      \
45          cmd_per_lun:    1,                    /*cmd_per_lun*/       \
46          unchecked_isa_dma: 0,                 /*32-Bit Busmaster */ \
47          use_clustering: ENABLE_CLUSTERING     /*use_clustering*/    \
48          }
49
50#endif /* _IBMMCA_H */
51