pcmcia: disable pcmcia ioctl for !ARM, prepare for removal
[linux-2.6.git] / drivers / pcmcia / Kconfig
1 #
2 # PCCARD (PCMCIA/CardBus) bus subsystem configuration
3 #
4
5 menuconfig PCCARD
6         tristate "PCCard (PCMCIA/CardBus) support"
7         depends on HOTPLUG
8         ---help---
9           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
10           computer.  These are credit-card size devices such as network cards,
11           modems or hard drives often used with laptops computers.  There are
12           actually two varieties of these cards: 16 bit PCMCIA and 32 bit
13           CardBus cards.
14
15           To compile this driver as modules, choose M here: the
16           module will be called pcmcia_core.
17
18 if PCCARD
19
20 config PCMCIA
21         tristate "16-bit PCMCIA support"
22         select CRC32
23         default y
24         ---help---
25            This option enables support for 16-bit PCMCIA cards. Most older
26            PC-cards are such 16-bit PCMCIA cards, so unless you know you're
27            only using 32-bit CardBus cards, say Y or M here.
28
29            To use 16-bit PCMCIA cards, you will need supporting software in
30            most cases. (see the file <file:Documentation/Changes> for
31            location and details).
32
33            To compile this driver as modules, choose M here: the
34            module will be called pcmcia.
35
36            If unsure, say Y.
37
38 config PCMCIA_LOAD_CIS
39         bool "Load CIS updates from userspace (EXPERIMENTAL)"
40         depends on PCMCIA && EXPERIMENTAL
41         select FW_LOADER
42         default y
43         help
44           Some PCMCIA cards require an updated Card Information Structure (CIS)
45           to be loaded from userspace to work correctly. If you say Y here,
46           and your userspace is arranged correctly, this will be loaded
47           automatically using the in-kernel firmware loader and the hotplug
48           subsystem, instead of relying on cardmgr from pcmcia-cs to do so.
49
50           If unsure, say Y.
51
52 config PCMCIA_IOCTL
53         bool "PCMCIA control ioctl (obsolete)"
54         depends on PCMCIA && ARM && !SMP && !PREEMPT
55         default y
56         help
57           If you say Y here, the deprecated ioctl interface to the PCMCIA
58           subsystem will be built. It is needed by the deprecated pcmcia-cs
59           tools (cardmgr, cardctl) to function properly.
60
61           You should use the new pcmciautils package instead (see
62           <file:Documentation/Changes> for location and details).
63
64           This config option will most likely be removed from kernel 2.6.35,
65           the associated code from kernel 2.6.36.
66
67           As the PCMCIA ioctl is not locking safe, it depends on !SMP and
68           !PREEMPT.
69
70           If unsure, say N.
71
72 config CARDBUS
73         bool "32-bit CardBus support"
74         depends on PCI
75         default y
76         ---help---
77           CardBus is a bus mastering architecture for PC-cards, which allows
78           for 32 bit PC-cards (the original PCMCIA standard specifies only
79           a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
80
81           To use 32 bit PC-cards, you also need a CardBus compatible host
82           bridge. Virtually all modern PCMCIA bridges do this, and most of
83           them are "yenta-compatible", so say Y or M there, too.
84
85           If unsure, say Y.
86
87 comment "PC-card bridges"
88
89 config YENTA
90         tristate "CardBus yenta-compatible bridge support"
91         depends on PCI
92         select CARDBUS if !EMBEDDED
93         select PCCARD_NONSTATIC if PCMCIA != n
94         ---help---
95           This option enables support for CardBus host bridges.  Virtually
96           all modern PCMCIA bridges are CardBus compatible.  A "bridge" is
97           the hardware inside your computer that PCMCIA cards are plugged
98           into.
99
100           To compile this driver as modules, choose M here: the
101           module will be called yenta_socket.
102
103           If unsure, say Y.
104
105 config YENTA_O2
106         default y
107         bool "Special initialization for O2Micro bridges" if EMBEDDED
108         depends on YENTA
109
110 config YENTA_RICOH
111         default y
112         bool "Special initialization for Ricoh bridges" if EMBEDDED
113         depends on YENTA
114
115 config YENTA_TI
116         default y
117         bool "Special initialization for TI and EnE bridges" if EMBEDDED
118         depends on YENTA
119
120 config YENTA_ENE_TUNE
121         default y
122         bool "Auto-tune EnE bridges for CB cards" if EMBEDDED
123         depends on YENTA_TI && CARDBUS
124
125 config YENTA_TOSHIBA
126         default y
127         bool "Special initialization for Toshiba ToPIC bridges" if EMBEDDED
128         depends on YENTA
129
130 config PD6729
131         tristate "Cirrus PD6729 compatible bridge support"
132         depends on PCMCIA && PCI
133         select PCCARD_NONSTATIC
134         help
135           This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge
136           device, found in some older laptops and PCMCIA card readers.
137
138 config I82092
139         tristate "i82092 compatible bridge support"
140         depends on PCMCIA && PCI
141         select PCCARD_NONSTATIC
142         help
143           This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device,
144           found in some older laptops and more commonly in evaluation boards for the
145           chip.
146
147 config I82365
148         tristate "i82365 compatible bridge support"
149         depends on PCMCIA && ISA
150         select PCCARD_NONSTATIC
151         help
152           Say Y here to include support for ISA-bus PCMCIA host bridges that
153           are register compatible with the Intel i82365.  These are found on
154           older laptops and ISA-bus card readers for desktop systems.  A
155           "bridge" is the hardware inside your computer that PCMCIA cards are
156           plugged into. If unsure, say N.
157
158 config TCIC
159         tristate "Databook TCIC host bridge support"
160         depends on PCMCIA && ISA
161         select PCCARD_NONSTATIC
162         help
163           Say Y here to include support for the Databook TCIC family of PCMCIA
164           host bridges. These are only found on a handful of old systems.
165           "Bridge" is the name used for the hardware inside your computer that
166           PCMCIA cards are plugged into. If unsure, say N.
167
168 config PCMCIA_M8XX
169         tristate "MPC8xx PCMCIA support"
170         depends on PCCARD && PPC && 8xx
171         select PCCARD_IODYN if PCMCIA != n
172         help
173           Say Y here to include support for PowerPC 8xx series PCMCIA
174           controller.
175
176           This driver is also available as a module called m8xx_pcmcia.
177
178 config PCMCIA_AU1X00
179         tristate "Au1x00 pcmcia support"
180         depends on SOC_AU1X00 && PCMCIA
181
182 config PCMCIA_ALCHEMY_DEVBOARD
183         tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
184         depends on SOC_AU1X00 && PCMCIA
185         select 64BIT_PHYS_ADDR
186         help
187           Enable this driver of you want PCMCIA support on your Alchemy
188           Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200 board.
189           NOT suitable for the PB1000!
190
191           This driver is also available as a module called db1xxx_ss.ko
192
193 config PCMCIA_XXS1500
194         tristate "MyCable XXS1500 PCMCIA socket support"
195         depends on PCMCIA && MIPS_XXS1500
196         select 64BIT_PHYS_ADDR
197         help
198           Support for the PCMCIA/CF socket interface on MyCable XXS1500
199           systems.
200
201           This driver is also available as a module called xxs1500_ss.ko
202
203 config PCMCIA_BCM63XX
204         tristate "bcm63xx pcmcia support"
205         depends on BCM63XX && PCMCIA
206
207 config PCMCIA_SOC_COMMON
208         tristate
209
210 config PCMCIA_SA1100
211         tristate "SA1100 support"
212         depends on ARM && ARCH_SA1100 && PCMCIA
213         select PCMCIA_SOC_COMMON
214         help
215           Say Y here to include support for SA11x0-based PCMCIA or CF
216           sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/
217           Xscale(R) embedded machines.
218
219           This driver is also available as a module called sa1100_cs.
220
221 config PCMCIA_SA1111
222         tristate "SA1111 support"
223         depends on ARM && ARCH_SA1100 && SA1111 && PCMCIA
224         select PCMCIA_SOC_COMMON
225         help
226           Say Y  here to include support for SA1111-based PCMCIA or CF
227           sockets, found on the Jornada 720, Graphicsmaster and other
228           StrongARM(R)/Xscale(R) embedded machines.
229
230           This driver is also available as a module called sa1111_cs.
231
232 config PCMCIA_PXA2XX
233         tristate "PXA2xx support"
234         depends on ARM && ARCH_PXA && PCMCIA
235         depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \
236                     || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
237                     || ARCOM_PCMCIA || ARCH_PXA_ESERIES || MACH_STARGATE2)
238         select PCMCIA_SOC_COMMON
239         help
240           Say Y here to include support for the PXA2xx PCMCIA controller
241
242 config PCMCIA_DEBUG
243         bool "Enable debugging"
244         depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX)
245         help
246           Say Y here to enable debugging for the SoC PCMCIA layer.
247           You will need to choose the debugging level either via the
248           kernel command line, or module options depending whether
249           you build the drivers as modules.
250
251           The kernel command line options are:
252             sa11xx_core.pc_debug=N
253             pxa2xx_core.pc_debug=N
254
255           The module option is called pc_debug=N
256
257           In all the above examples, N is the debugging verbosity
258           level.
259
260 config PCMCIA_PROBE
261         bool
262         default y if ISA && !ARCH_SA1100 && !ARCH_CLPS711X && !PARISC
263
264 config M32R_PCC
265         bool "M32R PCMCIA I/F"
266         depends on M32R && CHIP_M32700 && PCMCIA
267         help
268           Say Y here to use the M32R PCMCIA controller.
269
270 config M32R_CFC
271         bool "M32R CF I/F Controller"
272         depends on M32R && (PLAT_USRV || PLAT_M32700UT || PLAT_MAPPI2 || PLAT_MAPPI3 || PLAT_OPSPUT)
273         help
274           Say Y here to use the M32R CompactFlash controller.
275
276 config M32R_CFC_NUM
277         int "M32R CF I/F number"
278         depends on M32R_CFC
279         default "1" if PLAT_USRV || PLAT_M32700UT || PLAT_MAPPI2 || PLAT_MAPPI3 || PLAT_OPSPUT
280         help
281           Set the number of M32R CF slots.
282
283 config PCMCIA_VRC4171
284         tristate "NEC VRC4171 Card Controllers support"
285         depends on CPU_VR41XX && ISA && PCMCIA
286
287 config PCMCIA_VRC4173
288         tristate "NEC VRC4173 CARDU support"
289         depends on CPU_VR41XX && PCI && PCMCIA
290
291 config OMAP_CF
292         tristate "OMAP CompactFlash Controller"
293         depends on PCMCIA && ARCH_OMAP16XX
294         help
295           Say Y here to support the CompactFlash controller on OMAP.
296           Note that this doesn't support "True IDE" mode.
297
298 config BFIN_CFPCMCIA
299         tristate "Blackfin CompactFlash PCMCIA Driver"
300         depends on PCMCIA && BLACKFIN
301         help
302           Say Y here to support the CompactFlash PCMCIA driver for Blackfin.
303
304
305 config AT91_CF
306         tristate "AT91 CompactFlash Controller"
307         depends on PCMCIA && ARCH_AT91RM9200
308         help
309           Say Y here to support the CompactFlash controller on AT91 chips.
310           Or choose M to compile the driver as a module named "at91_cf".
311
312 config ELECTRA_CF
313         tristate "Electra CompactFlash Controller"
314         depends on PCMCIA && PPC_PASEMI
315         help
316           Say Y here to support the CompactFlash controller on the
317           PA Semi Electra eval board.
318
319 config PCCARD_NONSTATIC
320         tristate
321
322 config PCCARD_IODYN
323         bool
324
325 endif   # PCCARD