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 #if defined(HOSTS_C) || defined(MODULE)
55
56 #define GENERIC_NCR5380 {NULL, NULL, NULL, NULL, \
57 "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 #endif
65
66 #ifndef HOSTS_C
67
68 #define NCR5380_implementation_fields \
69 int port
70
71 #define NCR5380_local_declare() \
72 register int port
73
74 #define NCR5380_setup(instance) \
75 port = (instance)->io_port
76
77 #define NCR5380_read(reg) (inb(port + (reg)))
78 #define NCR5380_write(reg, value) (outb((value), (port + (reg))))
79
80 #define NCR5380_intr generic_NCR5380_intr
81 #define NCR5380_queue_command generic_NCR5380_queue_command
82 #define NCR5380_abort generic_NCR5380_abort
83 #define NCR5380_reset generic_NCR5380_reset
84
85 #define BOARD_NORMAL 0
86 #define BOARD_NCR53C400 1
87
88 #endif
89 #endif
90 #endif
91