Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / media / videobuf2-memops.h
diff --git a/kernel/include/media/videobuf2-memops.h b/kernel/include/media/videobuf2-memops.h
new file mode 100644 (file)
index 0000000..f05444c
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * videobuf2-memops.h - generic memory handling routines for videobuf2
+ *
+ * Copyright (C) 2010 Samsung Electronics
+ *
+ * Author: Pawel Osciak <pawel@osciak.com>
+ *        Marek Szyprowski <m.szyprowski@samsung.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation.
+ */
+
+#ifndef _MEDIA_VIDEOBUF2_MEMOPS_H
+#define _MEDIA_VIDEOBUF2_MEMOPS_H
+
+#include <media/videobuf2-core.h>
+
+/**
+ * vb2_vmarea_handler - common vma refcount tracking handler
+ * @refcount:  pointer to refcount entry in the buffer
+ * @put:       callback to function that decreases buffer refcount
+ * @arg:       argument for @put callback
+ */
+struct vb2_vmarea_handler {
+       atomic_t                *refcount;
+       void                    (*put)(void *arg);
+       void                    *arg;
+};
+
+extern const struct vm_operations_struct vb2_common_vm_ops;
+
+int vb2_get_contig_userptr(unsigned long vaddr, unsigned long size,
+                          struct vm_area_struct **res_vma, dma_addr_t *res_pa);
+
+struct vm_area_struct *vb2_get_vma(struct vm_area_struct *vma);
+void vb2_put_vma(struct vm_area_struct *vma);
+
+
+#endif