driver core: Make the dev_*() family of macros in device.h complete
[linux-2.6.git] / arch / m68k / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5 config M68K
6         bool
7         default y
8
9 config MMU
10         bool
11         default y
12
13 config RWSEM_GENERIC_SPINLOCK
14         bool
15         default y
16
17 config RWSEM_XCHGADD_ALGORITHM
18         bool
19
20 config ARCH_HAS_ILOG2_U32
21         bool
22         default n
23
24 config ARCH_HAS_ILOG2_U64
25         bool
26         default n
27
28 config GENERIC_HWEIGHT
29         bool
30         default y
31
32 config GENERIC_CALIBRATE_DELAY
33         bool
34         default y
35
36 config TIME_LOW_RES
37         bool
38         default y
39
40 config GENERIC_IOMAP
41         bool
42         default y
43
44 config ARCH_MAY_HAVE_PC_FDC
45         bool
46         depends on Q40 || (BROKEN && SUN3X)
47         default y
48
49 config NO_IOPORT
50         def_bool y
51
52 config NO_DMA
53         def_bool SUN3
54
55 mainmenu "Linux/68k Kernel Configuration"
56
57 source "init/Kconfig"
58
59 menu "Platform dependent setup"
60
61 config EISA
62         bool
63         ---help---
64           The Extended Industry Standard Architecture (EISA) bus was
65           developed as an open alternative to the IBM MicroChannel bus.
66
67           The EISA bus provided some of the features of the IBM MicroChannel
68           bus while maintaining backward compatibility with cards made for
69           the older ISA bus.  The EISA bus saw limited use between 1988 and
70           1995 when it was made obsolete by the PCI bus.
71
72           Say Y here if you are building a kernel for an EISA-based machine.
73
74           Otherwise, say N.
75
76 config MCA
77         bool
78         help
79           MicroChannel Architecture is found in some IBM PS/2 machines and
80           laptops.  It is a bus system similar to PCI or ISA. See
81           <file:Documentation/mca.txt> (and especially the web page given
82           there) before attempting to build an MCA bus kernel.
83
84 config PCMCIA
85         tristate
86         ---help---
87           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
88           computer.  These are credit-card size devices such as network cards,
89           modems or hard drives often used with laptops computers.  There are
90           actually two varieties of these cards: the older 16 bit PCMCIA cards
91           and the newer 32 bit CardBus cards.  If you want to use CardBus
92           cards, you need to say Y here and also to "CardBus support" below.
93
94           To use your PC-cards, you will need supporting software from David
95           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
96           for location).  Please also read the PCMCIA-HOWTO, available from
97           <http://www.tldp.org/docs.html#howto>.
98
99           To compile this driver as modules, choose M here: the
100           modules will be called pcmcia_core and ds.
101
102 config SUN3
103         bool "Sun3 support"
104         select M68020
105         select MMU_SUN3 if MMU
106         help
107           This option enables support for the Sun 3 series of workstations
108           (3/50, 3/60, 3/1xx, 3/2xx systems). Enabling this option requires
109           that all other hardware types must be disabled, as Sun 3 kernels
110           are incompatible with all other m68k targets (including Sun 3x!).
111
112           If you don't want to compile a kernel exclusively for a Sun 3, say N.
113
114 config AMIGA
115         bool "Amiga support"
116         depends on !MMU_SUN3
117         help
118           This option enables support for the Amiga series of computers. If
119           you plan to use this kernel on an Amiga, say Y here and browse the
120           material available in <file:Documentation/m68k>; otherwise say N.
121
122 config ATARI
123         bool "Atari support"
124         depends on !MMU_SUN3
125         help
126           This option enables support for the 68000-based Atari series of
127           computers (including the TT, Falcon and Medusa). If you plan to use
128           this kernel on an Atari, say Y here and browse the material
129           available in <file:Documentation/m68k>; otherwise say N.
130
131 config HADES
132         bool "Hades support"
133         depends on ATARI && BROKEN
134         help
135           This option enables support for the Hades Atari clone. If you plan
136           to use this kernel on a Hades, say Y here; otherwise say N.
137
138 config PCI
139         bool
140         depends on HADES
141         default y
142         help
143           Find out whether you have a PCI motherboard. PCI is the name of a
144           bus system, i.e. the way the CPU talks to the other stuff inside
145           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
146           VESA. If you have PCI, say Y, otherwise N.
147
148           The PCI-HOWTO, available from
149           <http://www.tldp.org/docs.html#howto>, contains valuable
150           information about which PCI hardware does work under Linux and which
151           doesn't.
152
153 config MAC
154         bool "Macintosh support"
155         depends on !MMU_SUN3
156         help
157           This option enables support for the Apple Macintosh series of
158           computers (yes, there is experimental support now, at least for part
159           of the series).
160
161           Say N unless you're willing to code the remaining necessary support.
162           ;)
163
164 config NUBUS
165         bool
166         depends on MAC
167         default y
168
169 config M68K_L2_CACHE
170         bool
171         depends on MAC
172         default y
173
174 config APOLLO
175         bool "Apollo support"
176         depends on !MMU_SUN3
177         help
178           Say Y here if you want to run Linux on an MC680x0-based Apollo
179           Domain workstation such as the DN3500.
180
181 config VME
182         bool "VME (Motorola and BVM) support"
183         depends on !MMU_SUN3
184         help
185           Say Y here if you want to build a kernel for a 680x0 based VME
186           board.  Boards currently supported include Motorola boards MVME147,
187           MVME162, MVME166, MVME167, MVME172, and MVME177.  BVME4000 and
188           BVME6000 boards from BVM Ltd are also supported.
189
190 config MVME147
191         bool "MVME147 support"
192         depends on VME
193         help
194           Say Y to include support for early Motorola VME boards.  This will
195           build a kernel which can run on MVME147 single-board computers.  If
196           you select this option you will have to select the appropriate
197           drivers for SCSI, Ethernet and serial ports later on.
198
199 config MVME16x
200         bool "MVME162, 166 and 167 support"
201         depends on VME
202         help
203           Say Y to include support for Motorola VME boards.  This will build a
204           kernel which can run on MVME162, MVME166, MVME167, MVME172, and
205           MVME177 boards.  If you select this option you will have to select
206           the appropriate drivers for SCSI, Ethernet and serial ports later
207           on.
208
209 config BVME6000
210         bool "BVME4000 and BVME6000 support"
211         depends on VME
212         help
213           Say Y to include support for VME boards from BVM Ltd.  This will
214           build a kernel which can run on BVME4000 and BVME6000 boards.  If
215           you select this option you will have to select the appropriate
216           drivers for SCSI, Ethernet and serial ports later on.
217
218 config HP300
219         bool "HP9000/300 and HP9000/400 support"
220         depends on !MMU_SUN3
221         help
222           This option enables support for the HP9000/300 and HP9000/400 series
223           of workstations. Support for these machines is still somewhat
224           experimental. If you plan to try to use the kernel on such a machine
225           say Y here.
226           Everybody else says N.
227
228 config DIO
229         bool "DIO bus support"
230         depends on HP300
231         default y
232         help
233           Say Y here to enable support for the "DIO" expansion bus used in
234           HP300 machines. If you are using such a system you almost certainly
235           want this.
236
237 config SUN3X
238         bool "Sun3x support"
239         depends on !MMU_SUN3
240         select M68030
241         help
242           This option enables support for the Sun 3x series of workstations.
243           Be warned that this support is very experimental.
244           Note that Sun 3x kernels are not compatible with Sun 3 hardware.
245           General Linux information on the Sun 3x series (now discontinued)
246           is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
247
248           If you don't want to compile a kernel for a Sun 3x, say N.
249
250 config Q40
251         bool "Q40/Q60 support"
252         depends on !MMU_SUN3
253         help
254           The Q40 is a Motorola 68040-based successor to the Sinclair QL
255           manufactured in Germany.  There is an official Q40 home page at
256           <http://www.q40.de/>.  This option enables support for the Q40 and
257           Q60. Select your CPU below.  For 68LC060 don't forget to enable FPU
258           emulation.
259
260 comment "Processor type"
261
262 config M68020
263         bool "68020 support"
264         help
265           If you anticipate running this kernel on a computer with a MC68020
266           processor, say Y. Otherwise, say N. Note that the 68020 requires a
267           68851 MMU (Memory Management Unit) to run Linux/m68k, except on the
268           Sun 3, which provides its own version.
269
270 config M68030
271         bool "68030 support"
272         depends on !MMU_SUN3
273         help
274           If you anticipate running this kernel on a computer with a MC68030
275           processor, say Y. Otherwise, say N. Note that a MC68EC030 will not
276           work, as it does not include an MMU (Memory Management Unit).
277
278 config M68040
279         bool "68040 support"
280         depends on !MMU_SUN3
281         help
282           If you anticipate running this kernel on a computer with a MC68LC040
283           or MC68040 processor, say Y. Otherwise, say N. Note that an
284           MC68EC040 will not work, as it does not include an MMU (Memory
285           Management Unit).
286
287 config M68060
288         bool "68060 support"
289         depends on !MMU_SUN3
290         help
291           If you anticipate running this kernel on a computer with a MC68060
292           processor, say Y. Otherwise, say N.
293
294 config MMU_MOTOROLA
295         bool
296         depends on MMU && !MMU_SUN3
297         default y
298
299 config MMU_SUN3
300         bool
301
302 config M68KFPU_EMU
303         bool "Math emulation support (EXPERIMENTAL)"
304         depends on EXPERIMENTAL
305         help
306           At some point in the future, this will cause floating-point math
307           instructions to be emulated by the kernel on machines that lack a
308           floating-point math coprocessor.  Thrill-seekers and chronically
309           sleep-deprived psychotic hacker types can say Y now, everyone else
310           should probably wait a while.
311
312 config M68KFPU_EMU_EXTRAPREC
313         bool "Math emulation extra precision"
314         depends on M68KFPU_EMU
315         help
316           The fpu uses normally a few bit more during calculations for
317           correct rounding, the emulator can (often) do the same but this
318           extra calculation can cost quite some time, so you can disable
319           it here. The emulator will then "only" calculate with a 64 bit
320           mantissa and round slightly incorrect, what is more then enough
321           for normal usage.
322
323 config M68KFPU_EMU_ONLY
324         bool "Math emulation only kernel"
325         depends on M68KFPU_EMU
326         help
327           This option prevents any floating-point instructions from being
328           compiled into the kernel, thereby the kernel doesn't save any
329           floating point context anymore during task switches, so this
330           kernel will only be usable on machines without a floating-point
331           math coprocessor. This makes the kernel a bit faster as no tests
332           needs to be executed whether a floating-point instruction in the
333           kernel should be executed or not.
334
335 config ADVANCED
336         bool "Advanced configuration options"
337         ---help---
338           This gives you access to some advanced options for the CPU. The
339           defaults should be fine for most users, but these options may make
340           it possible for you to improve performance somewhat if you know what
341           you are doing.
342
343           Note that the answer to this question won't directly affect the
344           kernel: saying N will just cause the configurator to skip all
345           the questions about these options.
346
347           Most users should say N to this question.
348
349 config RMW_INSNS
350         bool "Use read-modify-write instructions"
351         depends on ADVANCED
352         ---help---
353           This allows to use certain instructions that work with indivisible
354           read-modify-write bus cycles. While this is faster than the
355           workaround of disabling interrupts, it can conflict with DMA
356           ( = direct memory access) on many Amiga systems, and it is also said
357           to destabilize other machines. It is very likely that this will
358           cause serious problems on any Amiga or Atari Medusa if set. The only
359           configuration where it should work are 68030-based Ataris, where it
360           apparently improves performance. But you've been warned! Unless you
361           really know what you are doing, say N. Try Y only if you're quite
362           adventurous.
363
364 config SINGLE_MEMORY_CHUNK
365         bool "Use one physical chunk of memory only" if ADVANCED && !SUN3
366         default y if SUN3
367         select NEED_MULTIPLE_NODES
368         help
369           Ignore all but the first contiguous chunk of physical memory for VM
370           purposes.  This will save a few bytes kernel size and may speed up
371           some operations.  Say N if not sure.
372
373 config 060_WRITETHROUGH
374         bool "Use write-through caching for 68060 supervisor accesses"
375         depends on ADVANCED && M68060
376         ---help---
377           The 68060 generally uses copyback caching of recently accessed data.
378           Copyback caching means that memory writes will be held in an on-chip
379           cache and only written back to memory some time later.  Saying Y
380           here will force supervisor (kernel) accesses to use writethrough
381           caching.  Writethrough caching means that data is written to memory
382           straight away, so that cache and memory data always agree.
383           Writethrough caching is less efficient, but is needed for some
384           drivers on 68060 based systems where the 68060 bus snooping signal
385           is hardwired on.  The 53c710 SCSI driver is known to suffer from
386           this problem.
387
388 config ARCH_DISCONTIGMEM_ENABLE
389         def_bool !SINGLE_MEMORY_CHUNK
390
391 config NODES_SHIFT
392         int
393         default "3"
394         depends on !SINGLE_MEMORY_CHUNK
395
396 source "mm/Kconfig"
397
398 endmenu
399
400 menu "General setup"
401
402 source "fs/Kconfig.binfmt"
403
404 config ZORRO
405         bool "Amiga Zorro (AutoConfig) bus support"
406         depends on AMIGA
407         help
408           This enables support for the Zorro bus in the Amiga. If you have
409           expansion cards in your Amiga that conform to the Amiga
410           AutoConfig(tm) specification, say Y, otherwise N. Note that even
411           expansion cards that do not fit in the Zorro slots but fit in e.g.
412           the CPU slot may fall in this category, so you have to say Y to let
413           Linux use these.
414
415 config AMIGA_PCMCIA
416         bool "Amiga 1200/600 PCMCIA support (EXPERIMENTAL)"
417         depends on AMIGA && EXPERIMENTAL
418         help
419           Include support in the kernel for pcmcia on Amiga 1200 and Amiga
420           600. If you intend to use pcmcia cards say Y; otherwise say N.
421
422 config STRAM_PROC
423         bool "ST-RAM statistics in /proc"
424         depends on ATARI
425         help
426           Say Y here to report ST-RAM usage statistics in /proc/stram.
427
428 config HEARTBEAT
429         bool "Use power LED as a heartbeat" if AMIGA || APOLLO || ATARI || MAC ||Q40
430         default y if !AMIGA && !APOLLO && !ATARI && !MAC && !Q40 && HP300
431         help
432           Use the power-on LED on your machine as a load meter.  The exact
433           behavior is platform-dependent, but normally the flash frequency is
434           a hyperbolic function of the 5-minute load average.
435
436 # We have a dedicated heartbeat LED. :-)
437 config PROC_HARDWARE
438         bool "/proc/hardware support"
439         help
440           Say Y here to support the /proc/hardware file, which gives you
441           access to information about the machine you're running on,
442           including the model, CPU, MMU, clock speed, BogoMIPS rating,
443           and memory size.
444
445 config ISA
446         bool
447         depends on Q40 || AMIGA_PCMCIA || GG2
448         default y
449         help
450           Find out whether you have ISA slots on your motherboard.  ISA is the
451           name of a bus system, i.e. the way the CPU talks to the other stuff
452           inside your box.  Other bus systems are PCI, EISA, MicroChannel
453           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
454           newer boards don't support it.  If you have ISA, say Y, otherwise N.
455
456 config GENERIC_ISA_DMA
457         bool
458         depends on Q40 || AMIGA_PCMCIA || GG2
459         default y
460
461 config ZONE_DMA
462         bool
463         default y
464
465 source "drivers/pci/Kconfig"
466
467 source "drivers/zorro/Kconfig"
468
469 endmenu
470
471 source "net/Kconfig"
472
473 source "drivers/Kconfig"
474
475 menu "Character devices"
476
477 config ATARI_MFPSER
478         tristate "Atari MFP serial support"
479         depends on ATARI
480         ---help---
481           If you like to use the MFP serial ports ("Modem1", "Serial1") under
482           Linux, say Y. The driver equally supports all kinds of MFP serial
483           ports and automatically detects whether Serial1 is available.
484
485           To compile this driver as a module, choose M here.
486
487           Note for Falcon users: You also have an MFP port, it's just not
488           wired to the outside... But you could use the port under Linux.
489
490 config ATARI_SCC
491         tristate "Atari SCC serial support"
492         depends on ATARI
493         ---help---
494           If you have serial ports based on a Zilog SCC chip (Modem2, Serial2,
495           LAN) and like to use them under Linux, say Y. All built-in SCC's are
496           supported (TT, MegaSTE, Falcon), and also the ST-ESCC. If you have
497           two connectors for channel A (Serial2 and LAN), they are visible as
498           two separate devices.
499
500           To compile this driver as a module, choose M here.
501
502 config ATARI_SCC_DMA
503         bool "Atari SCC serial DMA support"
504         depends on ATARI_SCC
505         help
506           This enables DMA support for receiving data on channel A of the SCC.
507           If you have a TT you may say Y here and read
508           drivers/char/atari_SCC.README. All other users should say N here,
509           because only the TT has SCC-DMA, even if your machine keeps claiming
510           so at boot time.
511
512 config ATARI_MIDI
513         tristate "Atari MIDI serial support"
514         depends on ATARI
515         help
516           If you want to use your Atari's MIDI port in Linux, say Y.
517
518           To compile this driver as a module, choose M here.
519
520 config ATARI_DSP56K
521         tristate "Atari DSP56k support (EXPERIMENTAL)"
522         depends on ATARI && EXPERIMENTAL
523         help
524           If you want to be able to use the DSP56001 in Falcons, say Y. This
525           driver is still experimental, and if you don't know what it is, or
526           if you don't have this processor, just say N.
527
528           To compile this driver as a module, choose M here.
529
530 config AMIGA_BUILTIN_SERIAL
531         tristate "Amiga builtin serial support"
532         depends on AMIGA
533         help
534           If you want to use your Amiga's built-in serial port in Linux,
535           answer Y.
536
537           To compile this driver as a module, choose M here.
538
539 config WHIPPET_SERIAL
540         tristate "Hisoft Whippet PCMCIA serial support"
541         depends on AMIGA_PCMCIA
542         help
543           HiSoft has a web page at <http://www.hisoft.co.uk/>, but there
544           is no listing for the Whippet in their Amiga section.
545
546 config MULTIFACE_III_TTY
547         tristate "Multiface Card III serial support"
548         depends on AMIGA
549         help
550           If you want to use a Multiface III card's serial port in Linux,
551           answer Y.
552
553           To compile this driver as a module, choose M here.
554
555 config GVPIOEXT
556         tristate "GVP IO-Extender support"
557         depends on PARPORT=n && ZORRO
558         help
559           If you want to use a GVP IO-Extender serial card in Linux, say Y.
560           Otherwise, say N.
561
562 config GVPIOEXT_LP
563         tristate "GVP IO-Extender parallel printer support"
564         depends on GVPIOEXT
565         help
566           Say Y to enable driving a printer from the parallel port on your
567           GVP IO-Extender card, N otherwise.
568
569 config GVPIOEXT_PLIP
570         tristate "GVP IO-Extender PLIP support"
571         depends on GVPIOEXT
572         help
573           Say Y to enable doing IP over the parallel port on your GVP
574           IO-Extender card, N otherwise.
575
576 config MAC_SCC
577         tristate "Macintosh serial support"
578         depends on MAC
579
580 config MAC_HID
581         bool
582         depends on INPUT_ADBHID
583         default y
584
585 config MAC_ADBKEYCODES
586         bool "Support for ADB raw keycodes"
587         depends on INPUT_ADBHID
588         help
589           This provides support for sending raw ADB keycodes to console
590           devices.  This is the default up to 2.4.0, but in future this may be
591           phased out in favor of generic Linux keycodes.  If you say Y here,
592           you can dynamically switch via the
593           /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes
594           sysctl and with the "keyboard_sends_linux_keycodes=" kernel
595           argument.
596
597           If unsure, say Y here.
598
599 config ADB_KEYBOARD
600         bool "Support for ADB keyboard (old driver)"
601         depends on MAC && !INPUT_ADBHID
602         help
603           This option allows you to use an ADB keyboard attached to your
604           machine. Note that this disables any other (ie. PS/2) keyboard
605           support, even if your machine is physically capable of using both at
606           the same time.
607
608           If you use an ADB keyboard (4 pin connector), say Y here.
609           If you use a PS/2 keyboard (6 pin connector), say N here.
610
611 config HPDCA
612         tristate "HP DCA serial support"
613         depends on DIO && SERIAL_8250
614         help
615           If you want to use the internal "DCA" serial ports on an HP300
616           machine, say Y here.
617
618 config HPAPCI
619         tristate "HP APCI serial support"
620         depends on HP300 && SERIAL_8250 && EXPERIMENTAL
621         help
622           If you want to use the internal "APCI" serial ports on an HP400
623           machine, say Y here.
624
625 config MVME147_SCC
626         bool "SCC support for MVME147 serial ports"
627         depends on MVME147
628         help
629           This is the driver for the serial ports on the Motorola MVME147
630           boards.  Everyone using one of these boards should say Y here.
631
632 config SERIAL167
633         bool "CD2401 support for MVME166/7 serial ports"
634         depends on MVME16x
635         help
636           This is the driver for the serial ports on the Motorola MVME166,
637           167, and 172 boards.  Everyone using one of these boards should say
638           Y here.
639
640 config MVME162_SCC
641         bool "SCC support for MVME162 serial ports"
642         depends on MVME16x
643         help
644           This is the driver for the serial ports on the Motorola MVME162 and
645           172 boards.  Everyone using one of these boards should say Y here.
646
647 config BVME6000_SCC
648         bool "SCC support for BVME6000 serial ports"
649         depends on BVME6000
650         help
651           This is the driver for the serial ports on the BVME4000 and BVME6000
652           boards from BVM Ltd.  Everyone using one of these boards should say
653           Y here.
654
655 config DN_SERIAL
656         bool "Support for DN serial port (dummy)"
657         depends on APOLLO
658
659 config SERIAL_CONSOLE
660         bool "Support for serial port console"
661         depends on (AMIGA || ATARI || MAC || SUN3 || SUN3X || VME || APOLLO) && (ATARI_MFPSER=y || ATARI_SCC=y || ATARI_MIDI=y || MAC_SCC=y || AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y || SERIAL=y || MVME147_SCC || SERIAL167 || MVME162_SCC || BVME6000_SCC || DN_SERIAL)
662         ---help---
663           If you say Y here, it will be possible to use a serial port as the
664           system console (the system console is the device which receives all
665           kernel messages and warnings and which allows logins in single user
666           mode). This could be useful if some terminal or printer is connected
667           to that serial port.
668
669           Even if you say Y here, the currently visible virtual console
670           (/dev/tty0) will still be used as the system console by default, but
671           you can alter that using a kernel command line option such as
672           "console=ttyS1". (Try "man bootparam" or see the documentation of
673           your boot loader (lilo or loadlin) about how to pass options to the
674           kernel at boot time.)
675
676           If you don't have a VGA card installed and you say Y here, the
677           kernel will automatically use the first serial line, /dev/ttyS0, as
678           system console.
679
680           If unsure, say N.
681
682 endmenu
683
684 source "fs/Kconfig"
685
686 source "kernel/Kconfig.instrumentation"
687
688 source "arch/m68k/Kconfig.debug"
689
690 source "security/Kconfig"
691
692 source "crypto/Kconfig"
693
694 source "lib/Kconfig"