kernel: modularize dma shared buffer code to eliminate kernel bloat

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

Backport of r48371

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@48392 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2016-01-20 10:32:18 +00:00
parent d0c51b67ce
commit 8b4564cce8
3 changed files with 46 additions and 0 deletions

View File

@ -101,6 +101,16 @@ endef
$(eval $(call KernelPackage,bluetooth-hci-h4p))
define KernelPackage/dma-buf
TITLE:=DMA shared buffer support
HIDDEN:=1
KCONFIG:=CONFIG_DMA_SHARED_BUFFER
FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
endef
$(eval $(call KernelPackage,dma-buf))
define KernelPackage/eeprom-93cx6
SUBMENU:=$(OTHER_MENU)
TITLE:=EEPROM 93CX6 support

View File

@ -121,6 +121,7 @@ endef
define KernelPackage/video-videobuf2
TITLE:=videobuf2 lib
DEPENDS:=+kmod-dma-buf
KCONFIG:= \
CONFIG_VIDEOBUF2_CORE \
CONFIG_VIDEOBUF2_MEMOPS \

View File

@ -0,0 +1,35 @@
--- a/drivers/base/Kconfig
+++ b/drivers/base/Kconfig
@@ -229,7 +229,7 @@ config SOC_BUS
source "drivers/base/regmap/Kconfig"
config DMA_SHARED_BUFFER
- bool
+ tristate
default n
select ANON_INODES
help
--- a/drivers/dma-buf/Makefile
+++ b/drivers/dma-buf/Makefile
@@ -1 +1,2 @@
-obj-y := dma-buf.o fence.o reservation.o seqno-fence.o
+obj-$(CONFIG_DMA_SHARED_BUFFER) := dma-shared-buffer.o
+dma-shared-buffer-objs := dma-buf.o fence.o reservation.o seqno-fence.o
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -904,4 +904,4 @@ static void __exit dma_buf_deinit(void)
{
dma_buf_uninit_debugfs();
}
-__exitcall(dma_buf_deinit);
+module_exit(dma_buf_deinit);
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -1801,6 +1801,7 @@ int wake_up_state(struct task_struct *p,
{
return try_to_wake_up(p, state, 0);
}
+EXPORT_SYMBOL_GPL(wake_up_state);
/*
* This function clears the sched_dl_entity static params.