mirror of https://github.com/hak5/openwrt.git
kernel: modularize dma shared buffer code to eliminate kernel bloat
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48371lede-17.01
parent
000295f8ba
commit
20ba5a01cf
|
@ -130,6 +130,16 @@ endef
|
||||||
$(eval $(call KernelPackage,bluetooth-hci-h4p))
|
$(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
|
define KernelPackage/eeprom-93cx6
|
||||||
SUBMENU:=$(OTHER_MENU)
|
SUBMENU:=$(OTHER_MENU)
|
||||||
TITLE:=EEPROM 93CX6 support
|
TITLE:=EEPROM 93CX6 support
|
||||||
|
|
|
@ -121,6 +121,7 @@ endef
|
||||||
|
|
||||||
define KernelPackage/video-videobuf2
|
define KernelPackage/video-videobuf2
|
||||||
TITLE:=videobuf2 lib
|
TITLE:=videobuf2 lib
|
||||||
|
DEPENDS:=+kmod-dma-buf
|
||||||
KCONFIG:= \
|
KCONFIG:= \
|
||||||
CONFIG_VIDEOBUF2_CORE \
|
CONFIG_VIDEOBUF2_CORE \
|
||||||
CONFIG_VIDEOBUF2_MEMOPS \
|
CONFIG_VIDEOBUF2_MEMOPS \
|
||||||
|
|
|
@ -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.
|
|
@ -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
|
||||||
|
@@ -901,4 +901,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
|
||||||
|
@@ -1768,6 +1768,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.
|
|
@ -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
|
||||||
|
@@ -914,4 +914,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
|
||||||
|
@@ -2040,6 +2040,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.
|
|
@ -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
|
||||||
|
@@ -914,4 +914,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
|
||||||
|
@@ -2072,6 +2072,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.
|
Loading…
Reference in New Issue