pcmcia: avoid pccard_validate_cis failure in resume callpath
[safe/jmp/linux-2.6] / drivers / pcmcia / Kconfig
index 6485f75..d189e47 100644 (file)
@@ -2,11 +2,9 @@
 # PCCARD (PCMCIA/CardBus) bus subsystem configuration
 #
 
-menu "PCCARD (PCMCIA/CardBus) support"
-
-config PCCARD
+menuconfig PCCARD
        tristate "PCCard (PCMCIA/CardBus) support"
-       select HOTPLUG
+       depends on HOTPLUG
        ---help---
          Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
          computer.  These are credit-card size devices such as network cards,
@@ -19,24 +17,6 @@ config PCCARD
 
 if PCCARD
 
-config PCMCIA_DEBUG
-       bool "Enable PCCARD debugging"
-       help
-         Say Y here to enable PCMCIA subsystem debugging.  You
-         will need to choose the debugging level either via the
-         kernel command line, or module options depending whether
-         you build the PCMCIA as modules.
-
-         The kernel command line options are:
-           pcmcia_core.pc_debug=N
-           pcmcia.pc_debug=N
-           sa11xx_core.pc_debug=N
-
-         The module option is called pc_debug=N
-
-         In all the above examples, N is the debugging verbosity
-         level.
-
 config PCMCIA
        tristate "16-bit PCMCIA support"
        select CRC32
@@ -71,20 +51,26 @@ config PCMCIA_LOAD_CIS
 
 config PCMCIA_IOCTL
        bool "PCMCIA control ioctl (obsolete)"
-       depends on PCMCIA
+       depends on PCMCIA && ARM && !SMP && !PREEMPT
        default y
        help
          If you say Y here, the deprecated ioctl interface to the PCMCIA
-         subsystem will be built. It is needed by cardmgr and cardctl
-         (pcmcia-cs) to function properly.
+         subsystem will be built. It is needed by the deprecated pcmcia-cs
+         tools (cardmgr, cardctl) to function properly.
 
          You should use the new pcmciautils package instead (see
          <file:Documentation/Changes> for location and details).
 
-         If unsure, say Y.
+         This config option will most likely be removed from kernel 2.6.35,
+         the associated code from kernel 2.6.36.
+
+         As the PCMCIA ioctl is not locking safe, it depends on !SMP and
+         !PREEMPT.
+
+         If unsure, say N.
 
 config CARDBUS
-       bool "32-bit CardBus support"   
+       bool "32-bit CardBus support"
        depends on PCI
        default y
        ---help---
@@ -104,11 +90,11 @@ config YENTA
        tristate "CardBus yenta-compatible bridge support"
        depends on PCI
        select CARDBUS if !EMBEDDED
-       select PCCARD_NONSTATIC
+       select PCCARD_NONSTATIC if PCMCIA != n
        ---help---
          This option enables support for CardBus host bridges.  Virtually
-         all modern PCMCIA bridges are CardBus compatible.  A "bridge" is 
-         the hardware inside your computer that PCMCIA cards are plugged 
+         all modern PCMCIA bridges are CardBus compatible.  A "bridge" is
+         the hardware inside your computer that PCMCIA cards are plugged
          into.
 
          To compile this driver as modules, choose M here: the
@@ -116,6 +102,31 @@ config YENTA
 
          If unsure, say Y.
 
+config YENTA_O2
+       default y
+       bool "Special initialization for O2Micro bridges" if EMBEDDED
+       depends on YENTA
+
+config YENTA_RICOH
+       default y
+       bool "Special initialization for Ricoh bridges" if EMBEDDED
+       depends on YENTA
+
+config YENTA_TI
+       default y
+       bool "Special initialization for TI and EnE bridges" if EMBEDDED
+       depends on YENTA
+
+config YENTA_ENE_TUNE
+       default y
+       bool "Auto-tune EnE bridges for CB cards" if EMBEDDED
+       depends on YENTA_TI && CARDBUS
+
+config YENTA_TOSHIBA
+       default y
+       bool "Special initialization for Toshiba ToPIC bridges" if EMBEDDED
+       depends on YENTA
+
 config PD6729
        tristate "Cirrus PD6729 compatible bridge support"
        depends on PCMCIA && PCI
@@ -146,7 +157,7 @@ config I82365
 
 config TCIC
        tristate "Databook TCIC host bridge support"
-       depends on PCMCIA
+       depends on PCMCIA && ISA
        select PCCARD_NONSTATIC
        help
          Say Y here to include support for the Databook TCIC family of PCMCIA
@@ -154,17 +165,52 @@ config TCIC
          "Bridge" is the name used for the hardware inside your computer that
          PCMCIA cards are plugged into. If unsure, say N.
 
-config HD64465_PCMCIA
-       tristate "HD64465 host bridge support"
-       depends on HD64465 && PCMCIA
+config PCMCIA_M8XX
+       tristate "MPC8xx PCMCIA support"
+       depends on PCCARD && PPC && 8xx
+       select PCCARD_IODYN if PCMCIA != n
+       help
+         Say Y here to include support for PowerPC 8xx series PCMCIA
+         controller.
+
+         This driver is also available as a module called m8xx_pcmcia.
 
 config PCMCIA_AU1X00
        tristate "Au1x00 pcmcia support"
        depends on SOC_AU1X00 && PCMCIA
 
+config PCMCIA_ALCHEMY_DEVBOARD
+       tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
+       depends on SOC_AU1X00 && PCMCIA
+       select 64BIT_PHYS_ADDR
+       help
+         Enable this driver of you want PCMCIA support on your Alchemy
+         Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200 board.
+         NOT suitable for the PB1000!
+
+         This driver is also available as a module called db1xxx_ss.ko
+
+config PCMCIA_XXS1500
+       tristate "MyCable XXS1500 PCMCIA socket support"
+       depends on PCMCIA && MIPS_XXS1500
+       select 64BIT_PHYS_ADDR
+       help
+         Support for the PCMCIA/CF socket interface on MyCable XXS1500
+         systems.
+
+         This driver is also available as a module called xxs1500_ss.ko
+
+config PCMCIA_BCM63XX
+       tristate "bcm63xx pcmcia support"
+       depends on BCM63XX && PCMCIA
+
+config PCMCIA_SOC_COMMON
+       tristate
+
 config PCMCIA_SA1100
        tristate "SA1100 support"
        depends on ARM && ARCH_SA1100 && PCMCIA
+       select PCMCIA_SOC_COMMON
        help
          Say Y here to include support for SA11x0-based PCMCIA or CF
          sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/
@@ -175,6 +221,7 @@ config PCMCIA_SA1100
 config PCMCIA_SA1111
        tristate "SA1111 support"
        depends on ARM && ARCH_SA1100 && SA1111 && PCMCIA
+       select PCMCIA_SOC_COMMON
        help
          Say Y  here to include support for SA1111-based PCMCIA or CF
          sockets, found on the Jornada 720, Graphicsmaster and other
@@ -185,24 +232,44 @@ config PCMCIA_SA1111
 config PCMCIA_PXA2XX
        tristate "PXA2xx support"
        depends on ARM && ARCH_PXA && PCMCIA
+       depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \
+                   || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
+                   || ARCOM_PCMCIA || ARCH_PXA_ESERIES || MACH_STARGATE2)
+       select PCMCIA_SOC_COMMON
        help
          Say Y here to include support for the PXA2xx PCMCIA controller
 
+config PCMCIA_DEBUG
+       bool "Enable debugging"
+       depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX)
+       help
+         Say Y here to enable debugging for the SoC PCMCIA layer.
+         You will need to choose the debugging level either via the
+         kernel command line, or module options depending whether
+         you build the drivers as modules.
+
+         The kernel command line options are:
+           sa11xx_core.pc_debug=N
+           pxa2xx_core.pc_debug=N
+
+         The module option is called pc_debug=N
+
+         In all the above examples, N is the debugging verbosity
+         level.
+
 config PCMCIA_PROBE
        bool
-       default y if ISA && !ARCH_SA1100 && !ARCH_CLPS711X
+       default y if ISA && !ARCH_SA1100 && !ARCH_CLPS711X && !PARISC
 
 config M32R_PCC
        bool "M32R PCMCIA I/F"
        depends on M32R && CHIP_M32700 && PCMCIA
-       select PCCARD_NONSTATIC
        help
          Say Y here to use the M32R PCMCIA controller.
 
 config M32R_CFC
        bool "M32R CF I/F Controller"
        depends on M32R && (PLAT_USRV || PLAT_M32700UT || PLAT_MAPPI2 || PLAT_MAPPI3 || PLAT_OPSPUT)
-       select PCCARD_NONSTATIC
        help
          Say Y here to use the M32R CompactFlash controller.
 
@@ -215,15 +282,44 @@ config M32R_CFC_NUM
 
 config PCMCIA_VRC4171
        tristate "NEC VRC4171 Card Controllers support"
-       depends on VRC4171 && PCMCIA
+       depends on CPU_VR41XX && ISA && PCMCIA
 
 config PCMCIA_VRC4173
        tristate "NEC VRC4173 CARDU support"
        depends on CPU_VR41XX && PCI && PCMCIA
 
+config OMAP_CF
+       tristate "OMAP CompactFlash Controller"
+       depends on PCMCIA && ARCH_OMAP16XX
+       help
+         Say Y here to support the CompactFlash controller on OMAP.
+         Note that this doesn't support "True IDE" mode.
+
+config BFIN_CFPCMCIA
+       tristate "Blackfin CompactFlash PCMCIA Driver"
+       depends on PCMCIA && BLACKFIN
+       help
+         Say Y here to support the CompactFlash PCMCIA driver for Blackfin.
+
+
+config AT91_CF
+       tristate "AT91 CompactFlash Controller"
+       depends on PCMCIA && ARCH_AT91RM9200
+       help
+         Say Y here to support the CompactFlash controller on AT91 chips.
+         Or choose M to compile the driver as a module named "at91_cf".
+
+config ELECTRA_CF
+       tristate "Electra CompactFlash Controller"
+       depends on PCMCIA && PPC_PASEMI
+       help
+         Say Y here to support the CompactFlash controller on the
+         PA Semi Electra eval board.
+
 config PCCARD_NONSTATIC
        tristate
 
-endif  # PCCARD
+config PCCARD_IODYN
+       bool
 
-endmenu
+endif  # PCCARD