arkfb: new framebuffer driver for ARK Logic cards
[powerpc.git] / include / pcmcia / ds.h
index a8ce8fc..90ef552 100644 (file)
@@ -104,16 +104,15 @@ typedef struct dev_node_t {
     struct dev_node_t  *next;
 } dev_node_t;
 
-#define pcmcia_dev_present(p_dev) \
-    (p_dev->socket->pcmcia_state.present)
-
-#define DEV_OK(l) \
-    ((l) && (!l->suspended) && pcmcia_dev_present(l))
-
 
 struct pcmcia_socket;
 struct config_t;
 
+struct pcmcia_dynids {
+       spinlock_t              lock;
+       struct list_head        list;
+};
+
 struct pcmcia_driver {
        int (*probe)            (struct pcmcia_device *dev);
        void (*remove)          (struct pcmcia_device *dev);
@@ -124,6 +123,7 @@ struct pcmcia_driver {
        struct module           *owner;
        struct pcmcia_device_id *id_table;
        struct device_driver    drv;
+       struct pcmcia_dynids    dynids;
 };
 
 /* driver registration */
@@ -155,8 +155,10 @@ struct pcmcia_device {
        config_req_t            conf;
        window_handle_t         win;
 
-       /* Is the device suspended? */
+       /* Is the device suspended, or in the process of
+        * being removed? */
        u16                     suspended:1;
+       u16                     _removed:1;
 
        /* Flags whether io, irq, win configurations were
         * requested, and whether the configuration is "locked" */
@@ -174,7 +176,7 @@ struct pcmcia_device {
        u16                     has_card_id:1;
        u16                     has_func_id:1;
 
-       u16                     reserved:4;
+       u16                     reserved:3;
 
        u8                      func_id;
        u16                     manf_id;