Skip to contentSkip to conversation

BINFMT_ZFLAT can't be a module

PATCH In review Matthew Wilcox 3 participants 5 messages Jun 26, 2003 – Jun 27, 2003

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 BINFMT_ZFLAT can't be a module

BINFMT_ZFLAT is an attribute of BINFMT_FLAT not a distinct option in its own right. So the test in lib/Kconfig has to be changed to something like this:

Index: lib/Kconfig
===================================================================
RCS file: /var/cvs/linux-2.5/lib/Kconfig,v
retrieving revision 1.4

Kconfig +2 -2
diff -u -p -r1.4 Kconfig
@@ -17,8 +17,8 @@ config CRC32
 #
 config ZLIB_INFLATE
 	tristate
-	default y if CRAMFS=y || PPP_DEFLATE=y || JFFS2_FS=y || ZISOFS_FS=y || BINFMT_ZFLAT=y || CRYPTO_DEFLATE=y
-	default m if CRAMFS=m || PPP_DEFLATE=m || JFFS2_FS=m || ZISOFS_FS=m || BINFMT_ZFLAT=m || CRYPTO_DEFLATE=m
+	default y if CRAMFS=y || PPP_DEFLATE=y || JFFS2_FS=y || ZISOFS_FS=y || CRYPTO_DEFLATE=y || (BINFMT_FLAT=y && BINFMT_ZFLAT=y)
+	default m if CRAMFS=m || PPP_DEFLATE=m || JFFS2_FS=m || ZISOFS_FS=m || CRYPTO_DEFLATE=m || (BINFMT_FLAT=m && BINFMT_ZFLAT=y)
 
 config ZLIB_DEFLATE
 	tristate
Signature · 3 lines
"It's not Hollywood.  War is real, war is primarily not about defeat or
victory, it is about death.  I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk
#1 lore raw

Hi,

Quoted 12 lines · Matthew Wilcox

BINFMT_ZFLAT is an attribute of BINFMT_FLAT not a distinct option in its own right. So the test in lib/Kconfig has to be changed to something like this:

Index: lib/Kconfig
===================================================================
RCS file: /var/cvs/linux-2.5/lib/Kconfig,v
retrieving revision 1.4
diff -u -p -r1.4 Kconfig

Kconfig config CRC32 · line 21

Quoted 7 lines
Kconfig +2 -2
@@ -17,8 +17,8 @@ config CRC32
 #
 config ZLIB_INFLATE
 	tristate
-	default y if CRAMFS=y || PPP_DEFLATE=y || JFFS2_FS=y || ZISOFS_FS=y || BINFMT_ZFLAT=y || CRYPTO_DEFLATE=y
-	default m if CRAMFS=m || PPP_DEFLATE=m || JFFS2_FS=m || ZISOFS_FS=m || BINFMT_ZFLAT=m || CRYPTO_DEFLATE=m
+	default y if CRAMFS=y || PPP_DEFLATE=y || JFFS2_FS=y || ZISOFS_FS=y || CRYPTO_DEFLATE=y || (BINFMT_FLAT=y && BINFMT_ZFLAT=y)
+	default m if CRAMFS=m || PPP_DEFLATE=m || JFFS2_FS=m || ZISOFS_FS=m || CRYPTO_DEFLATE=m || (BINFMT_FLAT=m && BINFMT_ZFLAT=y)

This can be simplified now to:

config ZLIB_INFLATE

	def_tristate CRAMFS || PPP_DEFLATE || JFFS2_FS || \
		     ZISOFS_FS || CRYPTO_DEFLATE || \
		     (BINFMT_FLAT && BINFMT_ZFLAT)

bye, Roman

#2 lore raw
Quoted 11 lines · Roman Zippel

Kconfig config CRC32 · line 21

Quoted 4 lines
Kconfig +2 -2
-	default y if CRAMFS=y || PPP_DEFLATE=y || JFFS2_FS=y || ZISOFS_FS=y || BINFMT_ZFLAT=y || CRYPTO_DEFLATE=y
-	default m if CRAMFS=m || PPP_DEFLATE=m || JFFS2_FS=m || ZISOFS_FS=m || BINFMT_ZFLAT=m || CRYPTO_DEFLATE=m
+	default y if CRAMFS=y || PPP_DEFLATE=y || JFFS2_FS=y || ZISOFS_FS=y || CRYPTO_DEFLATE=y || (BINFMT_FLAT=y && BINFMT_ZFLAT=y)
+	default m if CRAMFS=m || PPP_DEFLATE=m || JFFS2_FS=m || ZISOFS_FS=m || CRYPTO_DEFLATE=m || (BINFMT_FLAT=m && BINFMT_ZFLAT=y)

This can be simplified now to:

config ZLIB_INFLATE

	def_tristate CRAMFS || PPP_DEFLATE || JFFS2_FS || \
		     ZISOFS_FS || CRYPTO_DEFLATE || \
		     (BINFMT_FLAT && BINFMT_ZFLAT)

Could you document this in Documentation/kbuild/kconfig-language.txt please? The thing is, I'm not sure it'll work, and it's hard to convince myself without docs.

Here's what I want:

CRAMFS FLAT ZFLAT outcome
Y Y Y Y
Y Y N Y
Y M Y Y
Y M N Y
Y N - Y

M Y Y Y
M Y N M (*)
M M Y M
M M N M
M N - M

N Y Y Y
N Y N N
N M Y M
N M N N
N N - N

Does dep_tristate give me that? Particularly the one with a (*) by it.

Signature · 3 lines
"It's not Hollywood.  War is real, war is primarily not about defeat or
victory, it is about death.  I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk
#3 lore raw

Hi,

Quoted 7 lines · Matthew Wilcox
Quoted 4 lines

config ZLIB_INFLATE

	def_tristate CRAMFS || PPP_DEFLATE || JFFS2_FS || \
		     ZISOFS_FS || CRYPTO_DEFLATE || \
		     (BINFMT_FLAT && BINFMT_ZFLAT)

Could you document this in Documentation/kbuild/kconfig-language.txt please?

Expressions are documented and 'def_tristate ...' is short for 'tristate' and 'default ...'

Quoted 1 line

Does dep_tristate give me that? Particularly the one with a (*) by it.

Yes.

bye, Roman

#4 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"roman" == Roman Zippel <[email protected]> writes:

Hi

roman> Expressions are documented and 'def_tristate ...' is short for 'tristate' roman> and 'default ...'

/me wonders if default_tristate or tristate_default will not be better (it looks confusing with define_tristate).

Later, Juan.

Signature · 2 lines
In theory, practice and theory are the same, but in practice they 
are different -- Larry McVoy