1 #ifndef _I2O_SCSI_H
2 #define _I2O_SCSI_H
3 
4 #if !defined(LINUX_VERSION_CODE)
5 #include <linux/version.h>
6 #endif
7 
8 #define LinuxVersionCode(v, p, s) (((v)<<16)+((p)<<8)+(s))
9 
10 #include <linux/types.h>
11 #include <linux/kdev_t.h>
12 
13 #define I2O_SCSI_ID 15
14 #define I2O_SCSI_CAN_QUEUE 4
15 #define I2O_SCSI_CMD_PER_LUN 6
16 
17 static int i2o_scsi_detect(Scsi_Host_Template *);
18 static const char *i2o_scsi_info(struct Scsi_Host *);
19 static int i2o_scsi_command(Scsi_Cmnd *);
20 static int i2o_scsi_queuecommand(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
21 static int i2o_scsi_abort(Scsi_Cmnd *);
22 static int i2o_scsi_reset(Scsi_Cmnd *, unsigned int);
23 static int i2o_scsi_bios_param(Disk *, kdev_t, int *);
24 extern void i2o_scsi_setup(char *str, int *ints);
25 static int i2o_scsi_release(struct Scsi_Host *host);
26 
27 #define I2OSCSI {                                          \
28 		  next: NULL,				    \
29                   proc_name:         "i2o_scsi",   \
30                   name:              "I2O SCSI Layer", 	    \
31                   detect:            i2o_scsi_detect,       \
32                   release:	     i2o_scsi_release,	    \
33                   info:              i2o_scsi_info,         \
34                   command:           i2o_scsi_command,      \
35                   queuecommand:      i2o_scsi_queuecommand, \
36                   abort:             i2o_scsi_abort,        \
37                   reset:             i2o_scsi_reset,        \
38                   bios_param:        i2o_scsi_bios_param,   \
39                   can_queue:         I2O_SCSI_CAN_QUEUE,    \
40                   this_id:           I2O_SCSI_ID,           \
41                   sg_tablesize:      8,                     \
42                   cmd_per_lun:       I2O_SCSI_CMD_PER_LUN,  \
43                   unchecked_isa_dma: 0,                     \
44                   use_clustering:    ENABLE_CLUSTERING     \
45                   }
46 
47 #endif
48