kernel: modularize dma shared buffer code to eliminate kernel bloat
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48371
This commit is contained in:
		@@ -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 \
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										35
									
								
								target/linux/generic/patches-3.18/904-debloat_dma_buf.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								target/linux/generic/patches-3.18/904-debloat_dma_buf.patch
									
									
									
									
									
										Normal 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.
 | 
				
			||||||
							
								
								
									
										35
									
								
								target/linux/generic/patches-4.1/904-debloat_dma_buf.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								target/linux/generic/patches-4.1/904-debloat_dma_buf.patch
									
									
									
									
									
										Normal 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
 | 
				
			||||||
 | 
					@@ -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.
 | 
				
			||||||
							
								
								
									
										35
									
								
								target/linux/generic/patches-4.3/904-debloat_dma_buf.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								target/linux/generic/patches-4.3/904-debloat_dma_buf.patch
									
									
									
									
									
										Normal 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
 | 
				
			||||||
 | 
					@@ -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.
 | 
				
			||||||
							
								
								
									
										35
									
								
								target/linux/generic/patches-4.4/904-debloat_dma_buf.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								target/linux/generic/patches-4.4/904-debloat_dma_buf.patch
									
									
									
									
									
										Normal 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
 | 
				
			||||||
 | 
					@@ -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.
 | 
				
			||||||
		Reference in New Issue
	
	Block a user