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 "../block/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 "1a"
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 0
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 eata_pio_proc_info,/* procinfo */ \
80 "eata_pio", /* proc dir entry */ \
81 PROC_SCSI_EATA_PIO,/* proc dir inode */ \
82 "EATA (Extended Attachment) PIO driver",\
83 eata_pio_detect, \
84 eata_pio_release, \
85 NULL, NULL, \
86 eata_pio_queue, \
87 eata_pio_abort, \
88 eata_pio_reset, \
89 NULL, /* Slave attach */ \
90 scsicam_bios_param, \
91 0, /* Canqueue */ \
92 0, /* this_id */ \
93 0, /* sg_tablesize */ \
94 0, /* cmd_per_lun */ \
95 0, /* present */ \
96 1, /* True if ISA */ \
97 ENABLE_CLUSTERING }
98
99 #endif /* _EATA_PIO_H */
100
101 /*
102 * Overrides for Emacs so that we almost follow Linus's tabbing style.
103 * Emacs will notice this stuff at the end of the file and automatically
104 * adjust the settings for this buffer only. This must remain at the end
105 * of the file.
106 * ---------------------------------------------------------------------------
107 * Local variables:
108 * c-indent-level: 4
109 * c-brace-imaginary-offset: 0
110 * c-brace-offset: -4
111 * c-argdecl-indent: 4
112 * c-label-offset: -4
113 * c-continued-statement-offset: 4
114 * c-continued-brace-offset: 0
115 * indent-tabs-mode: nil
116 * tab-width: 8
117 * End:
118 */