dma-buf/sync_file: refactor fence storage in struct sync_file
[sfrench/cifs-2.6.git] / include / linux / sync_file.h
index c6ffe8b0725c63a9931ea60c9ec65383100ed257..2efc5ec60575f1c8e5670bf401d18684b6a15c76 100644 (file)
 #include <linux/list.h>
 #include <linux/spinlock.h>
 #include <linux/fence.h>
-
-struct sync_file_cb {
-       struct fence_cb cb;
-       struct fence *fence;
-       struct sync_file *sync_file;
-};
+#include <linux/fence-array.h>
 
 /**
  * struct sync_file - sync file to export to the userspace
@@ -32,10 +27,9 @@ struct sync_file_cb {
  * @kref:              reference count on fence.
  * @name:              name of sync_file.  Useful for debugging
  * @sync_file_list:    membership in global file list
- * @num_fences:                number of sync_pts in the fence
  * @wq:                        wait queue for fence signaling
- * @status:            0: signaled, >0:active, <0: error
- * @cbs:               sync_pts callback information
+ * @fence:             fence with the fences in the sync_file
+ * @cb:                        fence callback information
  */
 struct sync_file {
        struct file             *file;
@@ -44,12 +38,11 @@ struct sync_file {
 #ifdef CONFIG_DEBUG_FS
        struct list_head        sync_file_list;
 #endif
-       int num_fences;
 
        wait_queue_head_t       wq;
-       atomic_t                status;
 
-       struct sync_file_cb     cbs[];
+       struct fence            *fence;
+       struct fence_cb cb;
 };
 
 struct sync_file *sync_file_create(struct fence *fence);