Bladeren bron

[PATCH] Kconfig fix (BLK_DEV_FD dependencies)

Sanitized and fixed floppy dependencies: split the messy dependencies for
BLK_DEV_FD by introducing a new symbol (ARCH_MAY_HAVE_PC_FDC), making
BLK_DEV_FD depend on that one and taking declarations of ARCH_MAY_HAVE_PC_FDC
to arch/*/Kconfig.  While we are at it, fixed several obvious cases when
BLK_DEV_FD should have been excluded (architectures lacking asm/floppy.h
are *not* going to have floppy.c compile, let alone work).

If you can come up with better name for that ("this architecture might
have working PC-compatible floppy disk controller"), you are more than
welcome - just s/ARCH_MAY_HAVE_PC_FDC/your_prefered_name/g in the patch
below...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
viro@ZenIV.linux.org.uk 19 jaren geleden
bovenliggende
commit
a08b6b7968

+ 3 - 0
arch/alpha/Kconfig

@@ -479,6 +479,9 @@ config EISA
 	depends on ALPHA_GENERIC || ALPHA_JENSEN || ALPHA_ALCOR || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_RAWHIDE
 	depends on ALPHA_GENERIC || ALPHA_JENSEN || ALPHA_ALCOR || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_RAWHIDE
 	default y
 	default y
 
 
+config ARCH_MAY_HAVE_PC_FDC
+	def_bool y
+
 config SMP
 config SMP
 	bool "Symmetric multi-processing support"
 	bool "Symmetric multi-processing support"
 	depends on ALPHA_SABLE || ALPHA_LYNX || ALPHA_RAWHIDE || ALPHA_DP264 || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_GENERIC || ALPHA_SHARK || ALPHA_MARVEL
 	depends on ALPHA_SABLE || ALPHA_LYNX || ALPHA_RAWHIDE || ALPHA_DP264 || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_GENERIC || ALPHA_SHARK || ALPHA_MARVEL

+ 4 - 0
arch/arm/Kconfig

@@ -64,6 +64,9 @@ config GENERIC_CALIBRATE_DELAY
 config GENERIC_BUST_SPINLOCK
 config GENERIC_BUST_SPINLOCK
 	bool
 	bool
 
 
+config ARCH_MAY_HAVE_PC_FDC
+	bool
+
 config GENERIC_ISA_DMA
 config GENERIC_ISA_DMA
 	bool
 	bool
 
 
@@ -150,6 +153,7 @@ config ARCH_RPC
 	select ARCH_ACORN
 	select ARCH_ACORN
 	select FIQ
 	select FIQ
 	select TIMER_ACORN
 	select TIMER_ACORN
+	select ARCH_MAY_HAVE_PC_FDC
 	help
 	help
 	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
 	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
 	  CD-ROM interface, serial and parallel port, and the floppy drive.
 	  CD-ROM interface, serial and parallel port, and the floppy drive.

+ 1 - 0
arch/arm/mach-footbridge/Kconfig

@@ -87,6 +87,7 @@ config FOOTBRIDGE_ADDIN
 
 
 # EBSA285 board in either host or addin mode
 # EBSA285 board in either host or addin mode
 config ARCH_EBSA285
 config ARCH_EBSA285
+	select ARCH_MAY_HAVE_PC_FDC
 	bool
 	bool
 
 
 endif
 endif

+ 4 - 0
arch/arm26/Kconfig

@@ -55,6 +55,10 @@ config GENERIC_BUST_SPINLOCK
 config GENERIC_ISA_DMA
 config GENERIC_ISA_DMA
 	bool
 	bool
 
 
+config ARCH_MAY_HAVE_PC_FDC
+	bool
+	default y
+
 source "init/Kconfig"
 source "init/Kconfig"
 
 
 
 

+ 4 - 0
arch/i386/Kconfig

@@ -37,6 +37,10 @@ config GENERIC_IOMAP
 	bool
 	bool
 	default y
 	default y
 
 
+config ARCH_MAY_HAVE_PC_FDC
+	bool
+	default y
+
 source "init/Kconfig"
 source "init/Kconfig"
 
 
 menu "Processor type and features"
 menu "Processor type and features"

+ 5 - 0
arch/m68k/Kconfig

@@ -25,6 +25,11 @@ config GENERIC_CALIBRATE_DELAY
 	bool
 	bool
 	default y
 	default y
 
 
+config ARCH_MAY_HAVE_PC_FDC
+	bool
+	depends on Q40 || (BROKEN && SUN3X)
+	default y
+
 mainmenu "Linux/68k Kernel Configuration"
 mainmenu "Linux/68k Kernel Configuration"
 
 
 source "init/Kconfig"
 source "init/Kconfig"

+ 5 - 0
arch/mips/Kconfig

@@ -4,6 +4,11 @@ config MIPS
 	# Horrible source of confusion.  Die, die, die ...
 	# Horrible source of confusion.  Die, die, die ...
 	select EMBEDDED
 	select EMBEDDED
 
 
+# shouldn't it be per-subarchitecture?
+config ARCH_MAY_HAVE_PC_FDC
+	bool
+	default y
+
 mainmenu "Linux/MIPS Kernel Configuration"
 mainmenu "Linux/MIPS Kernel Configuration"
 
 
 source "init/Kconfig"
 source "init/Kconfig"

+ 4 - 0
arch/parisc/Kconfig

@@ -49,6 +49,10 @@ config ISA_DMA_API
 	bool
 	bool
 	default y
 	default y
 
 
+config ARCH_MAY_HAVE_PC_FDC
+	bool
+	default y
+
 source "init/Kconfig"
 source "init/Kconfig"
 
 
 
 

+ 4 - 0
arch/ppc/Kconfig

@@ -47,6 +47,10 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER
 	bool
 	bool
 	default y
 	default y
 
 
+config ARCH_MAY_HAVE_PC_FDC
+	bool
+	default y
+
 source "init/Kconfig"
 source "init/Kconfig"
 
 
 menu "Processor"
 menu "Processor"

+ 4 - 0
arch/ppc64/Kconfig

@@ -44,6 +44,10 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER
 	bool
 	bool
 	default y
 	default y
 
 
+config ARCH_MAY_HAVE_PC_FDC
+	bool
+	default y
+
 # We optimistically allocate largepages from the VM, so make the limit
 # We optimistically allocate largepages from the VM, so make the limit
 # large enough (16MB). This badly named config option is actually
 # large enough (16MB). This badly named config option is actually
 # max order + 1
 # max order + 1

+ 4 - 0
arch/sh/Kconfig

@@ -37,6 +37,10 @@ config GENERIC_CALIBRATE_DELAY
 	bool
 	bool
 	default y
 	default y
 
 
+config ARCH_MAY_HAVE_PC_FDC
+	bool
+	default y
+
 source "init/Kconfig"
 source "init/Kconfig"
 
 
 menu "System type"
 menu "System type"

+ 4 - 0
arch/sparc/Kconfig

@@ -211,6 +211,10 @@ config GENERIC_CALIBRATE_DELAY
 	bool
 	bool
 	default y
 	default y
 
 
+config ARCH_MAY_HAVE_PC_FDC
+	bool
+	default y
+
 config SUN_PM
 config SUN_PM
 	bool
 	bool
 	default y
 	default y

+ 4 - 0
arch/sparc64/Kconfig

@@ -26,6 +26,10 @@ config TIME_INTERPOLATION
 	bool
 	bool
 	default y
 	default y
 
 
+config ARCH_MAY_HAVE_PC_FDC
+	bool
+	default y
+
 choice
 choice
 	prompt "Kernel page size"
 	prompt "Kernel page size"
 	default SPARC64_PAGE_SIZE_8KB
 	default SPARC64_PAGE_SIZE_8KB

+ 4 - 0
arch/x86_64/Kconfig

@@ -65,6 +65,10 @@ config GENERIC_IOMAP
 	bool
 	bool
 	default y
 	default y
 
 
+config ARCH_MAY_HAVE_PC_FDC
+	bool
+	default y
+
 source "init/Kconfig"
 source "init/Kconfig"
 
 
 
 

+ 1 - 1
drivers/block/Kconfig

@@ -6,7 +6,7 @@ menu "Block devices"
 
 
 config BLK_DEV_FD
 config BLK_DEV_FD
 	tristate "Normal floppy disk support"
 	tristate "Normal floppy disk support"
-	depends on (!ARCH_S390 && !M68K && !IA64 && !UML && !ARM) || Q40 || (SUN3X && BROKEN) || ARCH_RPC || ARCH_EBSA285
+	depends on ARCH_MAY_HAVE_PC_FDC
 	---help---
 	---help---
 	  If you want to use the floppy disk drive(s) of your PC under Linux,
 	  If you want to use the floppy disk drive(s) of your PC under Linux,
 	  say Y. Information about this driver, especially important for IBM
 	  say Y. Information about this driver, especially important for IBM