[PATCH] Kconfig fix (BLK_DEV_FD dependencies)
authorviro@ZenIV.linux.org.uk <viro@ZenIV.linux.org.uk>
Tue, 6 Sep 2005 00:48:42 +0000 (01:48 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Thu, 8 Sep 2005 00:17:12 +0000 (17:17 -0700)
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>
15 files changed:
arch/alpha/Kconfig
arch/arm/Kconfig
arch/arm/mach-footbridge/Kconfig
arch/arm26/Kconfig
arch/i386/Kconfig
arch/m68k/Kconfig
arch/mips/Kconfig
arch/parisc/Kconfig
arch/ppc/Kconfig
arch/ppc64/Kconfig
arch/sh/Kconfig
arch/sparc/Kconfig
arch/sparc64/Kconfig
arch/x86_64/Kconfig
drivers/block/Kconfig

index 189d5eababa8d15708e15e354e0eb372d5e7fad1..786491f9ceb2c072ae6108615211b1bf3d95306c 100644 (file)
@@ -479,6 +479,9 @@ config EISA
        depends on ALPHA_GENERIC || ALPHA_JENSEN || ALPHA_ALCOR || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_RAWHIDE
        default y
 
+config ARCH_MAY_HAVE_PC_FDC
+       def_bool y
+
 config SMP
        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
index 68dfdba71d74126512efcd4996282ffce11b63a4..0f2899b4159dfb4f12c4cc2d69f411dd9d88e0af 100644 (file)
@@ -64,6 +64,9 @@ config GENERIC_CALIBRATE_DELAY
 config GENERIC_BUST_SPINLOCK
        bool
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+
 config GENERIC_ISA_DMA
        bool
 
@@ -150,6 +153,7 @@ config ARCH_RPC
        select ARCH_ACORN
        select FIQ
        select TIMER_ACORN
+       select ARCH_MAY_HAVE_PC_FDC
        help
          On the Acorn Risc-PC, Linux can support the internal IDE disk and
          CD-ROM interface, serial and parallel port, and the floppy drive.
index 324d9edeec38f3e1dc70cff7248705e0837429ea..bdd257921cfbe639cd0adfb8c30c4febd79487cc 100644 (file)
@@ -87,6 +87,7 @@ config FOOTBRIDGE_ADDIN
 
 # EBSA285 board in either host or addin mode
 config ARCH_EBSA285
+       select ARCH_MAY_HAVE_PC_FDC
        bool
 
 endif
index 1f0373267306c20738862141b4dc8f5bd3173bb0..1f00b3d03a076a9a9f70a694198c42e96d9277ba 100644 (file)
@@ -55,6 +55,10 @@ config GENERIC_BUST_SPINLOCK
 config GENERIC_ISA_DMA
        bool
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       default y
+
 source "init/Kconfig"
 
 
index 4b7de3e1e57b17da3f864cb7950fae3639845d76..5d51b38bd70d2d0bdc86ed14ee613e3f4786c993 100644 (file)
@@ -37,6 +37,10 @@ config GENERIC_IOMAP
        bool
        default y
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       default y
+
 source "init/Kconfig"
 
 menu "Processor type and features"
index 178c4a3fbb72c22229edeec9be348c6899a7bd95..ba960bbc8e6d41124dd9b706ce92f1d27be7b832 100644 (file)
@@ -25,6 +25,11 @@ config GENERIC_CALIBRATE_DELAY
        bool
        default y
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       depends on Q40 || (BROKEN && SUN3X)
+       default y
+
 mainmenu "Linux/68k Kernel Configuration"
 
 source "init/Kconfig"
index d79fba0aa8bf12657cdaab3e9946fdd884a76c7e..8d76eb1ff29169080b025ca5f0a7c153c6e4e72c 100644 (file)
@@ -4,6 +4,11 @@ config MIPS
        # Horrible source of confusion.  Die, die, die ...
        select EMBEDDED
 
+# shouldn't it be per-subarchitecture?
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       default y
+
 mainmenu "Linux/MIPS Kernel Configuration"
 
 source "init/Kconfig"
index 1c2d87435233ca911ff1d4773cf7268a0847e504..0b07922a2ac603e32451514a64a5250878389b5c 100644 (file)
@@ -49,6 +49,10 @@ config ISA_DMA_API
        bool
        default y
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       default y
+
 source "init/Kconfig"
 
 
index 36dee0ff5ca048719ba8b6f9187fb6918ccb7cf7..6ab7e5ea5fcfd9e0ae748d83bde3f31f158fa25b 100644 (file)
@@ -47,6 +47,10 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER
        bool
        default y
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       default y
+
 source "init/Kconfig"
 
 menu "Processor"
index 13b262f10216aa4d88d88988374ef744f9b3174f..deca68ad644ae41681537867c7e8accdb6d2a18b 100644 (file)
@@ -44,6 +44,10 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER
        bool
        default y
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       default y
+
 # We optimistically allocate largepages from the VM, so make the limit
 # large enough (16MB). This badly named config option is actually
 # max order + 1
index adc8109f8b7719ca25c910f1600abd90495bc0e2..3e804c736e640eb9340128cf2adb18435a2ee61c 100644 (file)
@@ -37,6 +37,10 @@ config GENERIC_CALIBRATE_DELAY
        bool
        default y
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       default y
+
 source "init/Kconfig"
 
 menu "System type"
index aca028aa29bfb5d2fb42896a7a73019b4fca4697..aba05394d30a05603685e2bcc62cc9c2b85b4d3b 100644 (file)
@@ -211,6 +211,10 @@ config GENERIC_CALIBRATE_DELAY
        bool
        default y
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       default y
+
 config SUN_PM
        bool
        default y
index 73ec6aec5ed5c60198f25876bd8e21f079ee3ab2..1e9d8638a28a249823d31f53c7d629d392240088 100644 (file)
@@ -26,6 +26,10 @@ config TIME_INTERPOLATION
        bool
        default y
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       default y
+
 choice
        prompt "Kernel page size"
        default SPARC64_PAGE_SIZE_8KB
index 251ce7cf1a3891165c97f7ef68e692bdb31d3ca5..8f868b67ef0f1fe0060d3688cd2a37573a830c4f 100644 (file)
@@ -65,6 +65,10 @@ config GENERIC_IOMAP
        bool
        default y
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       default y
+
 source "init/Kconfig"
 
 
index 6b736364cc5b886589c54a21bfdc8afdda448fe9..51b0af1cebee15f0406ceaf4517538bb9a39edb3 100644 (file)
@@ -6,7 +6,7 @@ menu "Block devices"
 
 config BLK_DEV_FD
        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---
          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