Staging: merge staging patches into Linus's main branch
[pandora-kernel.git] / include / pcmcia / ss.h
index e756069..32896a7 100644 (file)
@@ -134,7 +134,6 @@ struct pccard_operations {
 
 struct pcmcia_socket {
        struct module                   *owner;
-       spinlock_t                      lock;
        socket_state_t                  socket;
        u_int                           state;
        u_int                           suspended_state;        /* state before suspend */
@@ -201,11 +200,14 @@ struct pcmcia_socket {
        struct task_struct              *thread;
        struct completion               thread_done;
        unsigned int                    thread_events;
-       /* protects socket h/w state */
+       unsigned int                    sysfs_events;
+
+       /* For the non-trivial interaction between these locks,
+        * see Documentation/pcmcia/locking.txt */
        struct mutex                    skt_mutex;
-       /* protects PCMCIA state */
        struct mutex                    ops_mutex;
-       /* protects thread_events */
+
+       /* protects thread_events and sysfs_events */
        spinlock_t                      thread_lock;
 
        /* pcmcia (16-bit) */
@@ -228,18 +230,13 @@ struct pcmcia_socket {
                u8                      busy:1;
                /* pcmcia module is being unloaded */
                u8                      dead:1;
-               /* a multifunction-device add event is pending */
-               u8                      device_add_pending:1;
-               /* the pending event adds a mfc (1) or pfc (0) */
-               u8                      mfc_pfc:1;
+               /* the PCMCIA card consists of two pseudo devices */
+               u8                      has_pfc:1;
 
-               u8                      reserved:3;
+               u8                      reserved:4;
        } pcmcia_state;
 
 
-       /* for adding further pseudo-multifunction devices */
-       struct work_struct              device_add;
-
 #ifdef CONFIG_PCMCIA_IOCTL
        struct user_info_t              *user;
        wait_queue_head_t               queue;