]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/char/vmur.h
Move the ehci-omap code into omap-pool branch
[linux-2.6-omap-h63xx.git] / drivers / s390 / char / vmur.h
index 16d0a4e38e40a17ec4943c3fed13f0cba8245e04..fa320ad4593d790fb34af20f27afb9c3825e8af4 100644 (file)
@@ -50,7 +50,10 @@ struct file_control_block {
        char  rest[200];
 } __attribute__ ((packed));
 
-#define FLG_CP_DUMP 0x10
+#define FLG_SYSTEM_HOLD        0x04
+#define FLG_CP_DUMP    0x10
+#define FLG_USER_HOLD  0x20
+#define FLG_IN_USE     0x80
 
 /*
  * A struct urdev is created for each ur device that is made available
@@ -59,7 +62,6 @@ struct file_control_block {
 struct urdev {
        struct ccw_device *cdev;        /* Backpointer to ccw device */
        struct mutex io_mutex;          /* Serialises device IO */
-       struct mutex open_mutex;        /* Serialises access to device */
        struct completion *io_done;     /* do_ur_io waits; irq completes */
        struct device *device;
        struct cdev *char_device;
@@ -67,6 +69,10 @@ struct urdev {
        size_t reclen;                  /* Record length for *write* CCWs */
        int class;                      /* VM device class */
        int io_request_rc;              /* return code from I/O request */
+       atomic_t ref_count;             /* reference counter */
+       wait_queue_head_t wait;         /* wait queue to serialize open */
+       int open_flag;                  /* "urdev is open" flag */
+       spinlock_t open_lock;           /* serialize critical sections */
 };
 
 /*