Merge branch 'core/topology' of git://git.kernel.org/pub/scm/linux/kernel/git/tip...
[sfrench/cifs-2.6.git] / include / pcmcia / ds.h
index 8c339f5678cf94c2288b331347a23ed9ddecc494..b316027c853d7845dc374591b5a3f4c155f8f03d 100644 (file)
@@ -20,7 +20,6 @@
 #include <linux/mod_devicetable.h>
 #endif
 
-#include <pcmcia/bulkmem.h>
 #include <pcmcia/cs_types.h>
 #include <pcmcia/device_id.h>
 
@@ -51,6 +50,24 @@ typedef struct mtd_info_t {
     u_int              CardOffset;
 } mtd_info_t;
 
+typedef struct region_info_t {
+    u_int              Attributes;
+    u_int              CardOffset;
+    u_int              RegionSize;
+    u_int              AccessSpeed;
+    u_int              BlockSize;
+    u_int              PartMultiple;
+    u_char             JedecMfr, JedecInfo;
+    memory_handle_t    next;
+} region_info_t;
+#define REGION_TYPE            0x0001
+#define REGION_TYPE_CM         0x0000
+#define REGION_TYPE_AM         0x0001
+#define REGION_PREFETCH                0x0008
+#define REGION_CACHEABLE       0x0010
+#define REGION_BAR_MASK                0xe000
+#define REGION_BAR_SHIFT       13
+
 typedef union ds_ioctl_arg_t {
     adjust_t           adjust;
     config_info_t      config;
@@ -108,6 +125,11 @@ typedef struct dev_node_t {
 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);
@@ -118,6 +140,7 @@ struct pcmcia_driver {
        struct module           *owner;
        struct pcmcia_device_id *id_table;
        struct device_driver    drv;
+       struct pcmcia_dynids    dynids;
 };
 
 /* driver registration */
@@ -178,6 +201,7 @@ struct pcmcia_device {
 
        char *                  prod_id[4];
 
+       u64                     dma_mask;
        struct device           dev;
 
 #ifdef CONFIG_PCMCIA_IOCTL