kernel: Copy patches from kernel 4.14 to 4.19
[openwrt/openwrt.git] / target / linux / generic / hack-4.19 / 904-debloat_dma_buf.patch
diff --git a/target/linux/generic/hack-4.19/904-debloat_dma_buf.patch b/target/linux/generic/hack-4.19/904-debloat_dma_buf.patch
new file mode 100644 (file)
index 0000000..4d9f947
--- /dev/null
@@ -0,0 +1,64 @@
+From e3692cb2fcd5ba1244512a0f43b8118f65f1c375 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sat, 8 Jul 2017 08:20:43 +0200
+Subject: debloat: dmabuf
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/base/Kconfig      |  2 +-
+ drivers/dma-buf/Makefile  | 10 +++++++---
+ drivers/dma-buf/dma-buf.c |  4 +++-
+ kernel/sched/core.c       |  1 +
+ 4 files changed, 12 insertions(+), 5 deletions(-)
+
+--- a/drivers/base/Kconfig
++++ b/drivers/base/Kconfig
+@@ -246,7 +246,7 @@ config SOC_BUS
+ source "drivers/base/regmap/Kconfig"
+ config DMA_SHARED_BUFFER
+-      bool
++      tristate
+       default n
+       select ANON_INODES
+       select IRQ_WORK
+--- a/drivers/dma-buf/Makefile
++++ b/drivers/dma-buf/Makefile
+@@ -1,3 +1,7 @@
+-obj-y := dma-buf.o dma-fence.o dma-fence-array.o reservation.o seqno-fence.o
+-obj-$(CONFIG_SYNC_FILE)               += sync_file.o
+-obj-$(CONFIG_SW_SYNC)         += sw_sync.o sync_debug.o
++obj-$(CONFIG_DMA_SHARED_BUFFER) := dma-shared-buffer.o
++
++dma-buf-objs-y := dma-buf.o dma-fence.o dma-fence-array.o reservation.o seqno-fence.o
++dma-buf-objs-$(CONFIG_SYNC_FILE)              += sync_file.o
++dma-buf-objs-$(CONFIG_SW_SYNC)                += sw_sync.o sync_debug.o
++
++dma-shared-buffer-objs :=  $(dma-buf-objs-y)
+--- a/drivers/dma-buf/dma-buf.c
++++ b/drivers/dma-buf/dma-buf.c
+@@ -34,6 +34,7 @@
+ #include <linux/poll.h>
+ #include <linux/reservation.h>
+ #include <linux/mm.h>
++#include <linux/module.h>
+ #include <uapi/linux/dma-buf.h>
+@@ -1205,4 +1206,5 @@ static void __exit dma_buf_deinit(void)
+ {
+       dma_buf_uninit_debugfs();
+ }
+-__exitcall(dma_buf_deinit);
++module_exit(dma_buf_deinit);
++MODULE_LICENSE("GPL");
+--- a/kernel/sched/core.c
++++ b/kernel/sched/core.c
+@@ -2164,6 +2164,7 @@ int wake_up_state(struct task_struct *p,
+ {
+       return try_to_wake_up(p, state, 0);
+ }
++EXPORT_SYMBOL_GPL(wake_up_state);
+ /*
+  * Perform scheduler related setup for a newly forked process p.