pcmcia: split up modify_configuration() into two fixup functions
[linux-2.6-block.git] / include / pcmcia / cs.h
1 /*
2  * cs.h
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * The initial developer of the original code is David A. Hinds
9  * <dahinds@users.sourceforge.net>.  Portions created by David A. Hinds
10  * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
11  *
12  * (C) 1999             David A. Hinds
13  */
14
15 #ifndef _LINUX_CS_H
16 #define _LINUX_CS_H
17
18 #ifdef __KERNEL__
19 #include <linux/interrupt.h>
20 #endif
21
22 /* For RequestConfiguration */
23 typedef struct config_req_t {
24     u_int       Attributes;
25     u_int       Vpp; /* both Vpp1 and Vpp2 */
26     u_int       IntType;
27     u_int       ConfigBase;
28     u_char      Status, Pin, Copy, ExtStatus;
29     u_char      ConfigIndex;
30     u_int       Present;
31 } config_req_t;
32
33 /* Attributes for RequestConfiguration */
34 #define CONF_ENABLE_IRQ         0x01
35 #define CONF_ENABLE_DMA         0x02
36 #define CONF_ENABLE_SPKR        0x04
37 #define CONF_ENABLE_PULSE_IRQ   0x08
38 #define CONF_VALID_CLIENT       0x100
39
40 /* IntType field */
41 #define INT_MEMORY              0x01
42 #define INT_MEMORY_AND_IO       0x02
43 #define INT_CARDBUS             0x04
44 #define INT_ZOOMED_VIDEO        0x08
45
46 /* Configuration registers present */
47 #define PRESENT_OPTION          0x001
48 #define PRESENT_STATUS          0x002
49 #define PRESENT_PIN_REPLACE     0x004
50 #define PRESENT_COPY            0x008
51 #define PRESENT_EXT_STATUS      0x010
52 #define PRESENT_IOBASE_0        0x020
53 #define PRESENT_IOBASE_1        0x040
54 #define PRESENT_IOBASE_2        0x080
55 #define PRESENT_IOBASE_3        0x100
56 #define PRESENT_IOSIZE          0x200
57
58 #endif /* _LINUX_CS_H */