config BACKPORT_MII
bool
-config BACKPORT_BUILD_DMA_SHARED_BUFFER
- bool
- depends on ANON_INODES
- depends on !BACKPORT_KERNEL_3_0
- depends on !DMA_SHARED_BUFFER || BACKPORT_KERNEL_3_5
- default y if BACKPORT_DMA_SHARED_BUFFER
- default y if BACKPORT_USERSEL_BUILD_ALL
- #h-file linux/dma-buf.h
- #c-file drivers/base/dma-buf.c
-
-config BACKPORT_DMA_SHARED_BUFFER
- bool
-
config BACKPORT_BUILD_DMA_SHARED_HELPERS
bool
depends on HAS_DMA
+++ /dev/null
---- a/compat/drivers-base-dma-buf.c
-+++ b/compat/drivers-base-dma-buf.c
-@@ -27,6 +27,10 @@
- #include <linux/dma-buf.h>
- #include <linux/anon_inodes.h>
- #include <linux/export.h>
-+#include <linux/file.h>
-+#include <linux/fdtable.h>
-+#include <linux/bitops.h>
-+#include <linux/sched.h>
- #include <linux/debugfs.h>
- #include <linux/seq_file.h>
-
-@@ -179,6 +183,27 @@ struct dma_buf *dma_buf_export_named(voi
- }
- EXPORT_SYMBOL_GPL(dma_buf_export_named);
-
-+static void dma_buf_fd_set_flag(int fd, int flags)
-+{
-+ struct fdtable *fdt;
-+ struct files_struct *files = current->files;
-+
-+ spin_lock(&files->file_lock);
-+ fdt = files_fdtable(files);
-+ if (flags & O_CLOEXEC)
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
-+ __set_bit(fd, fdt->close_on_exec);
-+#else
-+ FD_SET(fd, fdt->close_on_exec);
-+#endif
-+ else
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
-+ __clear_bit(fd, fdt->close_on_exec);
-+#else
-+ FD_CLR(fd, fdt->close_on_exec);
-+#endif
-+ spin_unlock(&files->file_lock);
-+}
-
- /**
- * dma_buf_fd - returns a file descriptor for the given dma_buf
-@@ -194,9 +219,10 @@ int dma_buf_fd(struct dma_buf *dmabuf, i
- if (!dmabuf || !dmabuf->file)
- return -EINVAL;
-
-- fd = get_unused_fd_flags(flags);
-+ fd = get_unused_fd();
- if (fd < 0)
- return fd;
-+ dma_buf_fd_set_flag(fd, flags);
-
- fd_install(fd, dmabuf->file);
-
-@@ -727,17 +753,15 @@ static inline void dma_buf_uninit_debugf
- }
- #endif
-
--static int __init dma_buf_init(void)
-+int __init dma_buf_init(void)
- {
- mutex_init(&db_list.lock);
- INIT_LIST_HEAD(&db_list.head);
- dma_buf_init_debugfs();
- return 0;
- }
--subsys_initcall(dma_buf_init);
-
--static void __exit dma_buf_deinit(void)
-+void __exit dma_buf_deinit(void)
- {
- dma_buf_uninit_debugfs();
- }
--__exitcall(dma_buf_deinit);