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>
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 7955944..cc9fa69 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -358,10 +358,20 @@
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 @@
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 03c2c24..e37f061 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -98,6 +98,19 @@
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 e2a21d5..d9ac5a4 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -11,8 +11,7 @@
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_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