aboutsummaryrefslogtreecommitdiffstats
path: root/include/pcmcia/ss.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/pcmcia/ss.h')
-rw-r--r--include/pcmcia/ss.h34
1 files changed, 30 insertions, 4 deletions
diff --git a/include/pcmcia/ss.h b/include/pcmcia/ss.h
index 67b867f31fe4..0f7aacc33fe9 100644
--- a/include/pcmcia/ss.h
+++ b/include/pcmcia/ss.h
@@ -15,10 +15,12 @@
15#ifndef _LINUX_SS_H 15#ifndef _LINUX_SS_H
16#define _LINUX_SS_H 16#define _LINUX_SS_H
17 17
18#include <linux/config.h>
19#include <linux/device.h>
20
18#include <pcmcia/cs_types.h> 21#include <pcmcia/cs_types.h>
19#include <pcmcia/cs.h> 22#include <pcmcia/cs.h>
20#include <pcmcia/bulkmem.h> 23#include <pcmcia/bulkmem.h>
21#include <linux/device.h>
22 24
23/* Definitions for card status flags for GetStatus */ 25/* Definitions for card status flags for GetStatus */
24#define SS_WRPROT 0x0001 26#define SS_WRPROT 0x0001
@@ -171,7 +173,7 @@ typedef struct window_t {
171 173
172struct config_t; 174struct config_t;
173struct pcmcia_callback; 175struct pcmcia_callback;
174 176struct user_info_t;
175 177
176struct pcmcia_socket { 178struct pcmcia_socket {
177 struct module *owner; 179 struct module *owner;
@@ -216,8 +218,9 @@ struct pcmcia_socket {
216 218
217 /* is set to one if resource setup is done using adjust_resource_info() */ 219 /* is set to one if resource setup is done using adjust_resource_info() */
218 u8 resource_setup_old:1; 220 u8 resource_setup_old:1;
221 u8 resource_setup_new:1;
219 222
220 u8 reserved:6; 223 u8 reserved:5;
221 224
222 /* socket operations */ 225 /* socket operations */
223 struct pccard_operations * ops; 226 struct pccard_operations * ops;
@@ -241,9 +244,32 @@ struct pcmcia_socket {
241 unsigned int thread_events; 244 unsigned int thread_events;
242 245
243 /* pcmcia (16-bit) */ 246 /* pcmcia (16-bit) */
244 struct pcmcia_bus_socket *pcmcia;
245 struct pcmcia_callback *callback; 247 struct pcmcia_callback *callback;
246 248
249#if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE)
250 struct list_head devices_list; /* PCMCIA devices */
251 u8 device_count; /* the number of devices, used
252 * only internally and subject
253 * to incorrectness and change */
254
255 struct {
256 u8 present:1, /* PCMCIA card is present in socket */
257 busy:1, /* "master" ioctl is used */
258 dead:1, /* pcmcia module is being unloaded */
259 device_add_pending:1, /* a pseudo-multifunction-device
260 * add event is pending */
261 reserved:4;
262 } pcmcia_state;
263
264 struct work_struct device_add; /* for adding further pseudo-multifunction
265 * devices */
266
267#ifdef CONFIG_PCMCIA_IOCTL
268 struct user_info_t *user;
269 wait_queue_head_t queue;
270#endif
271#endif
272
247 /* cardbus (32-bit) */ 273 /* cardbus (32-bit) */
248#ifdef CONFIG_CARDBUS 274#ifdef CONFIG_CARDBUS
249 struct resource * cb_cis_res; 275 struct resource * cb_cis_res;