[OpenWrt-Devel] modules: add lz4 compression support
diff mbox

Message ID BLU437-SMTP647FF3BC084B79A9A53929AC370@phx.gbl
State Accepted
Headers show

Commit Message

Nathan Hintz Jan. 24, 2015, 4:41 a.m. UTC
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
---
 package/kernel/linux/modules/lib.mk                  | 20 ++++++++++++++++++++
 target/linux/generic/config-3.18                     |  4 ++++
 .../patches-3.18/262-compressor_kconfig_hack.patch   | 16 ++++++++++++++--
 3 files changed, 38 insertions(+), 2 deletions(-)

Patch
diff mbox

diff --git a/package/kernel/linux/modules/lib.mk b/package/kernel/linux/modules/lib.mk
index cd919ba..f230a99 100644
--- a/package/kernel/linux/modules/lib.mk
+++ b/package/kernel/linux/modules/lib.mk
@@ -117,6 +117,26 @@  endef
 $(eval $(call KernelPackage,lib-lzo))
 
 
+define KernelPackage/lib-lz4
+  SUBMENU:=$(LIB_MENU)
+  DEPENDS:=@!(LINUX_3_3||LINUX_3_8||LINUX_3_10||LINUX_3_13||LINUX_3_14)
+  TITLE:=LZ4 support
+  KCONFIG:= \
+	CONFIG_LZ4_COMPRESS \
+	CONFIG_LZ4_DECOMPRESS
+  FILES:= \
+	$(LINUX_DIR)/lib/lz4/lz4_compress.ko \
+	$(LINUX_DIR)/lib/lz4/lz4_decompress.ko
+  AUTOLOAD:=$(call AutoProbe,lz4_compress lz4_decompress)
+endef
+
+define KernelPackage/lib-lz4/description
+ Kernel module for LZ4 compression/decompression support
+endef
+
+$(eval $(call KernelPackage,lib-lz4))
+
+
 define KernelPackage/lib-raid6
   SUBMENU:=$(LIB_MENU)
   TITLE:=RAID6 algorithm support
diff --git a/target/linux/generic/config-3.18 b/target/linux/generic/config-3.18
index 1642b60..828c5b6 100644
--- a/target/linux/generic/config-3.18
+++ b/target/linux/generic/config-3.18
@@ -1876,6 +1876,9 @@  CONFIG_LZMA_COMPRESS=y
 CONFIG_LZMA_DECOMPRESS=y
 # CONFIG_LZO_COMPRESS is not set
 # CONFIG_LZO_DECOMPRESS is not set
+# CONFIG_LZ4_COMPRESS is not set
+# CONFIG_LZ4_DECOMPRESS is not set
+# CONFIG_LZ4HC_COMPRESS is not set
 # CONFIG_M25PXX_PREFER_SMALL_SECTOR_ERASE is not set
 # CONFIG_MAC80211 is not set
 # CONFIG_MAC80211_MESSAGE_TRACING is not set
@@ -4569,4 +4572,5 @@  CONFIG_XZ_DEC=y
 CONFIG_ZONE_DMA=y
 CONFIG_ZONE_DMA_FLAG=1
 # CONFIG_ZRAM is not set
+# CONFIG_ZRAM_LZ4_COMPRESS is not set
 # CONFIG_ZSMALLOC is not set
diff --git a/target/linux/generic/patches-3.18/262-compressor_kconfig_hack.patch b/target/linux/generic/patches-3.18/262-compressor_kconfig_hack.patch
index a24405d..51b4fc8 100644
--- a/target/linux/generic/patches-3.18/262-compressor_kconfig_hack.patch
+++ b/target/linux/generic/patches-3.18/262-compressor_kconfig_hack.patch
@@ -1,6 +1,6 @@ 
 --- a/lib/Kconfig
 +++ b/lib/Kconfig
-@@ -205,16 +205,16 @@ config RANDOM32_SELFTEST
+@@ -205,25 +205,25 @@ config RANDOM32_SELFTEST
  # compression support is select'ed if needed
  #
  config ZLIB_INFLATE
@@ -20,4 +20,16 @@ 
 +	tristate "LZO decompress support"
  
  config LZ4_COMPRESS
- 	tristate
+-	tristate
++	tristate "LZ4 compress support"
+ 
+ config LZ4HC_COMPRESS
+-	tristate
++	tristate "LZ4HC compress support"
+ 
+ config LZ4_DECOMPRESS
+-	tristate
++	tristate "LZ4 decompress support"
+ 
+ source "lib/xz/Kconfig"
+