aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-01-05 13:48:31 -0800
committerH. Peter Anvin <hpa@zytor.com>2009-01-05 13:48:31 -0800
commitc8531ab343dec88ed8005e403b1b304c710b7494 (patch)
tree40bef451a13ca4b3d54645e69d03c14631364e89
parent2e9f3bddcbc711bb14d86c6f068a779bf3710247 (diff)
bzip2/lzma: proper Kconfig dependencies for the ramdisk options
Impact: Partial resolution of build failure Make all the compression algorithms properly configurable, and make sure the ramdisk options pull in the proper compression algorithms, as they should. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--drivers/block/Kconfig20
-rw-r--r--lib/Kconfig13
-rw-r--r--lib/Makefile7
3 files changed, 29 insertions, 11 deletions
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 79559444242..cc9fa69c1ce 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -358,10 +358,20 @@ config BLK_DEV_XIP
will prevent RAM block device backing store memory from being
allocated from highmem (only a problem for highmem systems).
+config RD_GZIP
+ bool "Initial ramdisk compressed using gzip"
+ default y
+ depends on BLK_DEV_INITRD=y
+ select DECOMPRESS_GZIP
+ help
+ Support loading of a gzip encoded initial ramdisk or cpio buffer.
+ If unsure, say Y.
+
config RD_BZIP2
bool "Initial ramdisk compressed using bzip2"
default n
depends on BLK_DEV_INITRD=y
+ select DECOMPRESS_BZIP2
help
Support loading of a bzip2 encoded initial ramdisk or cpio buffer
If unsure, say N.
@@ -370,19 +380,11 @@ config RD_LZMA
bool "Initial ramdisk compressed using lzma"
default n
depends on BLK_DEV_INITRD=y
+ select DECOMPRESS_LZMA
help
Support loading of a lzma encoded initial ramdisk or cpio buffer
If unsure, say N.
-config RD_GZIP
- bool "Initial ramdisk compressed using gzip"
- default y
- depends on BLK_DEV_INITRD=y
- select ZLIB_INFLATE
- help
- Support loading of a gzip encoded initial ramdisk or cpio buffer.
- If unsure, say Y.
-
config CDROM_PKTCDVD
tristate "Packet writing on CD/DVD media"
depends on !UML
diff --git a/lib/Kconfig b/lib/Kconfig
index 03c2c24b908..e37f061fd32 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -98,6 +98,19 @@ config LZO_DECOMPRESS
tristate
#
+# These all provide a common interface (hence the apparent duplication with
+# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
+#
+config DECOMPRESS_GZIP
+ tristate
+
+config DECOMPRESS_BZIP2
+ tristate
+
+config DECOMPRESS_LZMA
+ tristate
+
+#
# Generic allocator support is selected if needed
#
config GENERIC_ALLOCATOR
diff --git a/lib/Makefile b/lib/Makefile
index e2a21d5a264..d9ac5a414fa 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -11,8 +11,7 @@ lib-y := ctype.o string.o vsprintf.o cmdline.o \
rbtree.o radix-tree.o dump_stack.o \
idr.o int_sqrt.o extable.o prio_tree.o \
sha1.o irq_regs.o reciprocal_div.o argv_split.o \
- proportions.o prio_heap.o ratelimit.o show_mem.o is_single_threaded.o \
- decompress_inflate.o decompress_bunzip2.o decompress_unlzma.o
+ proportions.o prio_heap.o ratelimit.o show_mem.o is_single_threaded.o
lib-$(CONFIG_MMU) += ioremap.o
lib-$(CONFIG_SMP) += cpumask.o
@@ -66,6 +65,10 @@ obj-$(CONFIG_REED_SOLOMON) += reed_solomon/
obj-$(CONFIG_LZO_COMPRESS) += lzo/
obj-$(CONFIG_LZO_DECOMPRESS) += lzo/
+obj-$(CONFIG_DECOMPRESS_GZIP) += decompress_inflate.o
+obj-$(CONFIG_DECOMPRESS_BZIP2) += decompress_bunzip2.o
+obj-$(CONFIG_DECOMPRESS_LZMA) += decompress_unlzma.o
+
obj-$(CONFIG_TEXTSEARCH) += textsearch.o
obj-$(CONFIG_TEXTSEARCH_KMP) += ts_kmp.o
obj-$(CONFIG_TEXTSEARCH_BM) += ts_bm.o