1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #ifndef GENERIC_NCR5380_H
30 #define GENERIC_NCR5380_H
31
32 #define GENERIC_NCR5380_PUBLIC_RELEASE 1
33
34
35 #ifndef ASM
36 int generic_NCR5380_abort(Scsi_Cmnd *);
37 int generic_NCR5380_detect(Scsi_Host_Template *);
38 int generic_NCR5380_queue_command(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
39 int generic_NCR5380_reset(Scsi_Cmnd *);
40
41
42 #ifndef NULL
43 #define NULL 0
44 #endif
45
46 #ifndef CMD_PER_LUN
47 #define CMD_PER_LUN 2
48 #endif
49
50 #ifndef CAN_QUEUE
51 #define CAN_QUEUE 16
52 #endif
53
54 #ifdef HOSTS_C
55
56 #define GENERIC_NCR5380 {NULL, NULL, NULL, "g_NCR5380", \
57 PROC_SCSI_GENERIC_NCR5380, "Trantor T128/T128F/T228", \
58 generic_NCR5380_detect, NULL, NULL, NULL, \
59 generic_NCR5380_queue_command, generic_NCR5380_abort, \
60 generic_NCR5380_reset, NULL, \
61 NULL, CAN_QUEUE, 7, SG_ALL, \
62 CMD_PER_LUN , 0, 0, DISABLE_CLUSTERING}
63
64 #else
65 #define NCR5380_implementation_fields \
66 int port
67
68 #define NCR5380_local_declare() \
69 register int port
70
71 #define NCR5380_setup(instance) \
72 port = (instance)->io_port
73
74 #define NCR5380_read(reg) (inb(port + (reg)))
75 #define NCR5380_write(reg, value) (outb((value), (port + (reg))))
76
77 #define NCR5380_intr generic_NCR5380_intr
78 #define NCR5380_queue_command generic_NCR5380_queue_command
79 #define NCR5380_abort generic_NCR5380_abort
80 #define NCR5380_reset generic_NCR5380_reset
81
82 #define BOARD_NORMAL 0
83 #define BOARD_NCR53C400 1
84
85 #endif
86 #endif
87 #endif
88