pcmcia: convert pcmcia_request_configuration to pcmcia_enable_device
[linux-2.6.git] / include / pcmcia / ss.h
index ea5dec8..731cde0 100644 (file)
@@ -19,8 +19,6 @@
 #include <linux/sched.h>       /* task_struct, completion */
 #include <linux/mutex.h>
 
-#include <pcmcia/cs_types.h>
-#include <pcmcia/cs.h>
 #ifdef CONFIG_CARDBUS
 #include <linux/pci.h>
 #endif
@@ -141,10 +139,6 @@ struct pcmcia_socket {
        u_short                         lock_count;
        pccard_mem_map                  cis_mem;
        void __iomem                    *cis_virt;
-       struct {
-               u_int                   AssignedIRQ;
-               u_int                   Config;
-       } irq;
        io_window_t                     io[MAX_IO_WIN];
        pccard_mem_map                  win[MAX_WIN];
        struct list_head                cis_cache;
@@ -166,17 +160,10 @@ struct pcmcia_socket {
        u_int                           pci_irq;
        struct pci_dev                  *cb_dev;
 
-
        /* socket setup is done so resources should be able to be allocated.
         * Only if set to 1, calls to find_{io,mem}_region are handled, and
         * insertio events are actually managed by the PCMCIA layer.*/
-       u8                              resource_setup_done:1;
-
-       /* It's old if resource setup is done using adjust_resource_info() */
-       u8                              resource_setup_old:1;
-       u8                              resource_setup_new:1;
-
-       u8                              reserved:5;
+       u8                              resource_setup_done;
 
        /* socket operations */
        struct pccard_operations        *ops;
@@ -222,30 +209,15 @@ struct pcmcia_socket {
         * incorrectness and change */
        u8                              device_count;
 
-       /* 16-bit state: */
-       struct {
-               /* PCMCIA card is present in socket */
-               u8                      present:1;
-               /* "master" ioctl is used */
-               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;
-
-               u8                      reserved:3;
-       } 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;
-#endif /* CONFIG_PCMCIA_IOCTL */
+       /* does the PCMCIA card consist of two pseudo devices? */
+       u8                              pcmcia_pfc;
+
+       /* non-zero if PCMCIA card is present */
+       atomic_t                        present;
+
+       /* IRQ to be used by PCMCIA devices. May not be IRQ 0. */
+       unsigned int                    pcmcia_irq;
+
 #endif /* CONFIG_PCMCIA */
 
        /* socket device */
@@ -282,12 +254,6 @@ extern struct pccard_resource_ops pccard_nonstatic_ops;
 #endif
 
 
-/* socket drivers are expected to use these callbacks in their .drv struct */
-extern int pcmcia_socket_dev_suspend(struct device *dev);
-extern void pcmcia_socket_dev_early_resume(struct device *dev);
-extern void pcmcia_socket_dev_late_resume(struct device *dev);
-extern int pcmcia_socket_dev_resume(struct device *dev);
-
 /* socket drivers use this callback in their IRQ handler */
 extern void pcmcia_parse_events(struct pcmcia_socket *socket,
                                unsigned int events);