ide: make remaining built-in only IDE host drivers modular (take 2)
* Make remaining built-in only IDE host drivers modular, add ide-scan-pci.c
file for probing PCI host drivers registered with IDE core (special case
for built-in IDE and CONFIG_IDEPCI_PCIBUS_ORDER=y) and then take care of
the ordering in which all IDE host drivers are probed when IDE is built-in
during link time.
* Move probing of gayle, falconide, macide, q40ide and buddha (m68k arch
specific) host drivers, before PCI ones (no PCI on m68k), ide-cris (cris
arch specific), cmd640 (x86 arch specific) and pmac (ppc arch specific).
* Move probing of ide-cris (cris arch specific) host driver before cmd640
(x86 arch specific).
* Move probing of mpc8xx (ppc specific) host driver before ide-pnp (depends
on ISA and none of ppc platform that use mpc8xx supports ISA) and ide-h8300
(h8300 arch specific).
* Add "probe_vlb" kernel parameter to cmd640 host driver and update
Documentation/ide.txt accordingly.
* Make IDE_ARM config option visible so it can also be disabled if needed.
* Remove bogus comment from ide.c while at it.
v2:
* Fix two issues spotted by Sergei:
- replace ENOMEM error value by ENOENT in ide-h8300 host driver
- fix MODULE_PARM_DESC() in cmd640 host driver
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Mikael Starvik <starvik@axis.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
index 7c419e8..e92128a 100644
--- a/drivers/ide/Kconfig
+++ b/drivers/ide/Kconfig
@@ -325,7 +325,7 @@
If unsure, say N.
config BLK_DEV_CMD640
- bool "CMD640 chipset bugfix/support"
+ tristate "CMD640 chipset bugfix/support"
depends on X86
---help---
The CMD-Technologies CMD640 IDE chip is used on many common 486 and
@@ -359,7 +359,7 @@
Otherwise say N.
config BLK_DEV_IDEPNP
- bool "PNP EIDE support"
+ tristate "PNP EIDE support"
depends on PNP
help
If you have a PnP (Plug and Play) compatible EIDE card and
@@ -788,7 +788,7 @@
endif
config BLK_DEV_IDE_PMAC
- bool "Builtin PowerMac IDE support"
+ tristate "Builtin PowerMac IDE support"
depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y
help
This driver provides support for the built-in IDE controller on
@@ -842,7 +842,9 @@
depends on BLK_DEV_IDE_AU1XXX
config IDE_ARM
- def_bool ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
+ tristate "ARM IDE support"
+ depends on ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
+ default y
config BLK_DEV_IDE_ICSIDE
tristate "ICS IDE interface support"
@@ -874,7 +876,7 @@
Simtec BAST or the Thorcom VR1000
config ETRAX_IDE
- bool "ETRAX IDE support"
+ tristate "ETRAX IDE support"
depends on CRIS && BROKEN
select BLK_DEV_IDEDMA
help
@@ -908,14 +910,14 @@
endchoice
config IDE_H8300
- bool "H8300 IDE support"
+ tristate "H8300 IDE support"
depends on H8300
default y
help
Enables the H8300 IDE driver.
config BLK_DEV_GAYLE
- bool "Amiga Gayle IDE interface support"
+ tristate "Amiga Gayle IDE interface support"
depends on AMIGA
help
This is the IDE driver for the Amiga Gayle IDE interface. It supports
@@ -946,7 +948,7 @@
runtime using the "ide=doubler" kernel boot parameter.
config BLK_DEV_BUDDHA
- bool "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
+ tristate "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
depends on ZORRO && EXPERIMENTAL
help
This is the IDE driver for the IDE interfaces on the Buddha,
@@ -958,7 +960,7 @@
to one of its IDE interfaces.
config BLK_DEV_FALCON_IDE
- bool "Falcon IDE interface support"
+ tristate "Falcon IDE interface support"
depends on ATARI
help
This is the IDE driver for the builtin IDE interface on the Atari
@@ -967,7 +969,7 @@
interface.
config BLK_DEV_MAC_IDE
- bool "Macintosh Quadra/Powerbook IDE interface support"
+ tristate "Macintosh Quadra/Powerbook IDE interface support"
depends on MAC
help
This is the IDE driver for the builtin IDE interface on some m68k
@@ -980,7 +982,7 @@
builtin IDE interface.
config BLK_DEV_Q40IDE
- bool "Q40/Q60 IDE interface support"
+ tristate "Q40/Q60 IDE interface support"
depends on Q40
help
Enable the on-board IDE controller in the Q40/Q60. This should
@@ -988,7 +990,7 @@
drive subsystem through an expansion card.
config BLK_DEV_MPC8xx_IDE
- bool "MPC8xx IDE support"
+ tristate "MPC8xx IDE support"
depends on 8xx && (LWMON || IVMS8 || IVML24 || TQM8xxL) && IDE=y && BLK_DEV_IDE=y && !PPC_MERGE
help
This option provides support for IDE on Motorola MPC8xx Systems.