* better
[mascara-docs.git] / i386 / linux-2.3.21 / drivers / acorn / scsi / eesox.h
blob31c6c883ed78512fcfcd1dfb3c455fb4035e006b
1 /*
2 * EESOX SCSI driver
4 * Copyright (C) 1997-1998 Russell King
5 */
6 #ifndef EESOXSCSI_H
7 #define EESOXSCSI_H
9 extern int eesoxscsi_detect (Scsi_Host_Template *);
10 extern int eesoxscsi_release (struct Scsi_Host *);
11 extern const char *eesoxscsi_info (struct Scsi_Host *);
12 extern int eesoxscsi_proc_info (char *buffer, char **start, off_t offset,
13 int length, int hostno, int inout);
15 #ifndef NULL
16 #define NULL ((void *)0)
17 #endif
19 #ifndef CAN_QUEUE
21 * Default queue size
23 #define CAN_QUEUE 1
24 #endif
26 #ifndef CMD_PER_LUN
27 #define CMD_PER_LUN 1
28 #endif
30 #ifndef SCSI_ID
32 * Default SCSI host ID
34 #define SCSI_ID 7
35 #endif
37 #include <scsi/scsicam.h>
39 #include "fas216.h"
41 #define EESOXSCSI { \
42 proc_info: eesoxscsi_proc_info, \
43 name: "EESOX SCSI", \
44 detect: eesoxscsi_detect, /* detect */ \
45 release: eesoxscsi_release, /* release */ \
46 info: eesoxscsi_info, /* info */ \
47 command: fas216_command, /* command */ \
48 queuecommand: fas216_queue_command, /* queuecommand */ \
49 abort: fas216_abort, /* abort */ \
50 reset: fas216_reset, /* reset */ \
51 bios_param: scsicam_bios_param, /* biosparam */ \
52 can_queue: CAN_QUEUE, /* can queue */ \
53 this_id: SCSI_ID, /* scsi host id */ \
54 sg_tablesize: SG_ALL, /* sg_tablesize */ \
55 cmd_per_lun: CAN_QUEUE, /* cmd per lun */ \
56 use_clustering: DISABLE_CLUSTERING \
59 #ifndef HOSTS_C
61 #include <asm/dma.h>
63 #define NR_SG 256
65 struct control {
66 unsigned int io_port;
67 unsigned int control;
70 typedef struct {
71 FAS216_Info info;
73 struct control control;
75 unsigned int dmaarea; /* Pseudo DMA area */
76 dmasg_t dmasg[NR_SG]; /* Scatter DMA list */
77 } EESOXScsi_Info;
79 #endif /* HOSTS_C */
81 #endif /* EESOXSCSI_H */