1 /********************************************************
2 * Header file for eata_pio.c Linux EATA-PIO SCSI driver *
3 * (c) 1993,94,95 Michael Neuffer *
4 *********************************************************
5 * last change: 95/06/21 *
6 ********************************************************/
7
8
9 #ifndef _EATA_PIO_H
10 #define _EATA_PIO_H
11
12 #include <linux/blk.h>
13 #include "scsi.h"
14 #include "hosts.h"
15 #include <linux/scsicam.h>
16
17 #ifndef HOSTS_C
18 #include "eata_generic.h"
19
20 #define VER_MAJOR 0
21 #define VER_MINOR 0
22 #define VER_SUB "1b"
23
24 /************************************************************************
25 * Here you can switch parts of the code on and of *
26 ************************************************************************/
27
28 #define VERBOSE_SETUP /* show startup screen of 2001 */
29 #define ALLOW_DMA_BOARDS 1
30
31 /************************************************************************
32 * Debug options. *
33 * Enable DEBUG and whichever options you require. *
34 ************************************************************************/
35 #define DEBUG_EATA 1 /* Enable debug code. */
36 #define DPT_DEBUG 0 /* Bobs special */
37 #define DBG_DELAY 0 /* Build in delays so debug messages can be
38 * be read before they vanish of the top of
39 * the screen!
40 */
41 #define DBG_PROBE 0 /* Debug probe routines. */
42 #define DBG_ISA 0 /* Trace ISA routines */
43 #define DBG_EISA 0 /* Trace EISA routines */
44 #define DBG_PCI 0 /* Trace PCI routines */
45 #define DBG_PIO 0 /* Trace get_config_PIO */
46 #define DBG_COM 0 /* Trace command call */
47 #define DBG_QUEUE 0 /* Trace command queueing. */
48 #define DBG_INTR 0 /* Trace interrupt service routine. */
49 #define DBG_INTR2 0 /* Trace interrupt service routine. */
50 #define DBG_PROC 0 /* Debug proc-fs related statistics */
51 #define DBG_PROC_WRITE 0
52 #define DBG_REGISTER 0 /* */
53 #define DBG_ABNORM 1 /* Debug abnormal actions (reset, abort) */
54
55 #if DEBUG_EATA
56 #define DBG(x, y) if ((x)) {y;}
57 #else
58 #define DBG(x, y)
59 #endif
60
61 #endif /* !HOSTS_C */
62
63 int eata_pio_detect(Scsi_Host_Template *);
64 const char *eata_pio_info(struct Scsi_Host *);
65 int eata_pio_command(Scsi_Cmnd *);
66 int eata_pio_queue(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
67 int eata_pio_abort(Scsi_Cmnd *);
68 int eata_pio_reset(Scsi_Cmnd *);
69 int eata_pio_proc_info(char *, char **, off_t, int, int, int);
70 #ifdef MODULE
71 int eata_pio_release(struct Scsi_Host *);
72 #else
73 #define eata_pio_release NULL
74 #endif
75
76
77 #define EATA_PIO { \
78 NULL, NULL, \
79 NULL, /* proc_dir_entry */ \
80 eata_pio_proc_info, /* procinfo */ \
81 "EATA (Extended Attachment) PIO driver", \
82 eata_pio_detect, \
83 eata_pio_release, \
84 NULL, NULL, \
85 eata_pio_queue, \
86 eata_pio_abort, \
87 eata_pio_reset, \
88 NULL, /* Slave attach */ \
89 scsicam_bios_param, \
90 0, /* Canqueue */ \
91 0, /* this_id */ \
92 0, /* sg_tablesize */ \
93 0, /* cmd_per_lun */ \
94 0, /* present */ \
95 1, /* True if ISA */ \
96 ENABLE_CLUSTERING }
97
98 #endif /* _EATA_PIO_H */
99
100 /*
101 * Overrides for Emacs so that we almost follow Linus's tabbing style.
102 * Emacs will notice this stuff at the end of the file and automatically
103 * adjust the settings for this buffer only. This must remain at the end
104 * of the file.
105 * ---------------------------------------------------------------------------
106 * Local variables:
107 * c-indent-level: 4
108 * c-brace-imaginary-offset: 0
109 * c-brace-offset: -4
110 * c-argdecl-indent: 4
111 * c-label-offset: -4
112 * c-continued-statement-offset: 4
113 * c-continued-brace-offset: 0
114 * tab-width: 8
115 * End:
116 */