1# 2# Character device configuration 3# 4 5menu "Character devices" 6 7config VT 8 bool "Virtual terminal" if EMBEDDED 9 depends on !S390 10 select INPUT 11 default y 12 ---help--- 13 If you say Y here, you will get support for terminal devices with 14 display and keyboard devices. These are called "virtual" because you 15 can run several virtual terminals (also called virtual consoles) on 16 one physical terminal. This is rather useful, for example one 17 virtual terminal can collect system messages and warnings, another 18 one can be used for a text-mode user session, and a third could run 19 an X session, all in parallel. Switching between virtual terminals 20 is done with certain key combinations, usually Alt-<function key>. 21 22 The setterm command ("man setterm") can be used to change the 23 properties (such as colors or beeping) of a virtual terminal. The 24 man page console_codes(4) ("man console_codes") contains the special 25 character sequences that can be used to change those properties 26 directly. The fonts used on virtual terminals can be changed with 27 the setfont ("man setfont") command and the key bindings are defined 28 with the loadkeys ("man loadkeys") command. 29 30 You need at least one virtual terminal device in order to make use 31 of your keyboard and monitor. Therefore, only people configuring an 32 embedded system would want to say N here in order to save some 33 memory; the only way to log into such a system is then via a serial 34 or network connection. 35 36 If unsure, say Y, or else you won't be able to do much with your new 37 shiny Linux system :-) 38 39config CONSOLE_TRANSLATIONS 40 depends on VT 41 default y 42 bool "Enable character translations in console" if EMBEDDED 43 ---help--- 44 This enables support for font mapping and Unicode translation 45 on virtual consoles. 46 47config VT_CONSOLE 48 bool "Support for console on virtual terminal" if EMBEDDED 49 depends on VT 50 default y 51 ---help--- 52 The system console is the device which receives all kernel messages 53 and warnings and which allows logins in single user mode. If you 54 answer Y here, a virtual terminal (the device used to interact with 55 a physical terminal) can be used as system console. This is the most 56 common mode of operations, so you should say Y here unless you want 57 the kernel messages be output only to a serial port (in which case 58 you should say Y to "Console on serial port", below). 59 60 If you do say Y here, by default the currently visible virtual 61 terminal (/dev/tty0) will be used as system console. You can change 62 that with a kernel command line option such as "console=tty3" which 63 would use the third virtual terminal as system console. (Try "man 64 bootparam" or see the documentation of your boot loader (lilo or 65 loadlin) about how to pass options to the kernel at boot time.) 66 67 If unsure, say Y. 68 69config HW_CONSOLE 70 bool 71 depends on VT && !S390 && !UML 72 default y 73 74config VT_HW_CONSOLE_BINDING 75 bool "Support for binding and unbinding console drivers" 76 depends on HW_CONSOLE 77 default n 78 ---help--- 79 The virtual terminal is the device that interacts with the physical 80 terminal through console drivers. On these systems, at least one 81 console driver is loaded. In other configurations, additional console 82 drivers may be enabled, such as the framebuffer console. If more than 83 1 console driver is enabled, setting this to 'y' will allow you to 84 select the console driver that will serve as the backend for the 85 virtual terminals. 86 87 See <file:Documentation/console/console.txt> for more 88 information. For framebuffer console users, please refer to 89 <file:Documentation/fb/fbcon.txt>. 90 91config DEVKMEM 92 bool "/dev/kmem virtual device support" 93 default y 94 help 95 Say Y here if you want to support the /dev/kmem device. The 96 /dev/kmem device is rarely used, but can be used for certain 97 kind of kernel debugging operations. 98 When in doubt, say "N". 99 100config BFIN_JTAG_COMM 101 tristate "Blackfin JTAG Communication" 102 depends on BLACKFIN 103 help 104 Add support for emulating a TTY device over the Blackfin JTAG. 105 106 To compile this driver as a module, choose M here: the 107 module will be called bfin_jtag_comm. 108 109config BFIN_JTAG_COMM_CONSOLE 110 bool "Console on Blackfin JTAG" 111 depends on BFIN_JTAG_COMM=y 112 113config SERIAL_NONSTANDARD 114 bool "Non-standard serial port support" 115 depends on HAS_IOMEM 116 ---help--- 117 Say Y here if you have any non-standard serial boards -- boards 118 which aren't supported using the standard "dumb" serial driver. 119 This includes intelligent serial boards such as Cyclades, 120 Digiboards, etc. These are usually used for systems that need many 121 serial ports because they serve many terminals or dial-in 122 connections. 123 124 Note that the answer to this question won't directly affect the 125 kernel: saying N will just cause the configurator to skip all 126 the questions about non-standard serial boards. 127 128 Most people can say N here. 129 130config COMPUTONE 131 tristate "Computone IntelliPort Plus serial support" 132 depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) 133 ---help--- 134 This driver supports the entire family of Intelliport II/Plus 135 controllers with the exception of the MicroChannel controllers and 136 products previous to the Intelliport II. These are multiport cards, 137 which give you many serial ports. You would need something like this 138 to connect more than two modems to your Linux box, for instance in 139 order to become a dial-in server. If you have a card like that, say 140 Y here and read <file:Documentation/serial/computone.txt>. 141 142 To compile this driver as module, choose M here: the 143 module will be called ip2. 144 145config ROCKETPORT 146 tristate "Comtrol RocketPort support" 147 depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) 148 help 149 This driver supports Comtrol RocketPort and RocketModem PCI boards. 150 These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or 151 modems. For information about the RocketPort/RocketModem boards 152 and this driver read <file:Documentation/serial/rocket.txt>. 153 154 To compile this driver as a module, choose M here: the 155 module will be called rocket. 156 157 If you want to compile this driver into the kernel, say Y here. If 158 you don't have a Comtrol RocketPort/RocketModem card installed, say N. 159 160config CYCLADES 161 tristate "Cyclades async mux support" 162 depends on SERIAL_NONSTANDARD && (PCI || ISA) 163 select FW_LOADER 164 ---help--- 165 This driver supports Cyclades Z and Y multiserial boards. 166 You would need something like this to connect more than two modems to 167 your Linux box, for instance in order to become a dial-in server. 168 169 For information about the Cyclades-Z card, read 170 <file:Documentation/serial/README.cycladesZ>. 171 172 To compile this driver as a module, choose M here: the 173 module will be called cyclades. 174 175 If you haven't heard about it, it's safe to say N. 176 177config CYZ_INTR 178 bool "Cyclades-Z interrupt mode operation (EXPERIMENTAL)" 179 depends on EXPERIMENTAL && CYCLADES 180 help 181 The Cyclades-Z family of multiport cards allows 2 (two) driver op 182 modes: polling and interrupt. In polling mode, the driver will check 183 the status of the Cyclades-Z ports every certain amount of time 184 (which is called polling cycle and is configurable). In interrupt 185 mode, it will use an interrupt line (IRQ) in order to check the 186 status of the Cyclades-Z ports. The default op mode is polling. If 187 unsure, say N. 188 189config DIGIEPCA 190 tristate "Digiboard Intelligent Async Support" 191 depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) 192 ---help--- 193 This is a driver for Digi International's Xx, Xeve, and Xem series 194 of cards which provide multiple serial ports. You would need 195 something like this to connect more than two modems to your Linux 196 box, for instance in order to become a dial-in server. This driver 197 supports the original PC (ISA) boards as well as PCI, and EISA. If 198 you have a card like this, say Y here and read the file 199 <file:Documentation/serial/digiepca.txt>. 200 201 To compile this driver as a module, choose M here: the 202 module will be called epca. 203 204config ESPSERIAL 205 tristate "Hayes ESP serial port support" 206 depends on SERIAL_NONSTANDARD && ISA && ISA_DMA_API && BROKEN 207 help 208 This is a driver which supports Hayes ESP serial ports. Both single 209 port cards and multiport cards are supported. Make sure to read 210 <file:Documentation/hayes-esp.txt>. 211 212 To compile this driver as a module, choose M here: the 213 module will be called esp. 214 215 If unsure, say N. 216 217config MOXA_INTELLIO 218 tristate "Moxa Intellio support" 219 depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) 220 select FW_LOADER 221 help 222 Say Y here if you have a Moxa Intellio multiport serial card. 223 224 To compile this driver as a module, choose M here: the 225 module will be called moxa. 226 227config MOXA_SMARTIO 228 tristate "Moxa SmartIO support v. 2.0" 229 depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA) 230 help 231 Say Y here if you have a Moxa SmartIO multiport serial card and/or 232 want to help develop a new version of this driver. 233 234 This is upgraded (1.9.1) driver from original Moxa drivers with 235 changes finally resulting in PCI probing. 236 237 This driver can also be built as a module. The module will be called 238 mxser. If you want to do that, say M here. 239 240config ISI 241 tristate "Multi-Tech multiport card support (EXPERIMENTAL)" 242 depends on SERIAL_NONSTANDARD && PCI 243 select FW_LOADER 244 help 245 This is a driver for the Multi-Tech cards which provide several 246 serial ports. The driver is experimental and can currently only be 247 built as a module. The module will be called isicom. 248 If you want to do that, choose M here. 249 250config SYNCLINK 251 tristate "Microgate SyncLink card support" 252 depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API 253 help 254 Provides support for the SyncLink ISA and PCI multiprotocol serial 255 adapters. These adapters support asynchronous and HDLC bit 256 synchronous communication up to 10Mbps (PCI adapter). 257 258 This driver can only be built as a module ( = code which can be 259 inserted in and removed from the running kernel whenever you want). 260 The module will be called synclink. If you want to do that, say M 261 here. 262 263config SYNCLINKMP 264 tristate "SyncLink Multiport support" 265 depends on SERIAL_NONSTANDARD && PCI 266 help 267 Enable support for the SyncLink Multiport (2 or 4 ports) 268 serial adapter, running asynchronous and HDLC communications up 269 to 2.048Mbps. Each ports is independently selectable for 270 RS-232, V.35, RS-449, RS-530, and X.21 271 272 This driver may be built as a module ( = code which can be 273 inserted in and removed from the running kernel whenever you want). 274 The module will be called synclinkmp. If you want to do that, say M 275 here. 276 277config SYNCLINK_GT 278 tristate "SyncLink GT/AC support" 279 depends on SERIAL_NONSTANDARD && PCI 280 help 281 Support for SyncLink GT and SyncLink AC families of 282 synchronous and asynchronous serial adapters 283 manufactured by Microgate Systems, Ltd. (www.microgate.com) 284 285config N_HDLC 286 tristate "HDLC line discipline support" 287 depends on SERIAL_NONSTANDARD 288 help 289 Allows synchronous HDLC communications with tty device drivers that 290 support synchronous HDLC such as the Microgate SyncLink adapter. 291 292 This driver can only be built as a module ( = code which can be 293 inserted in and removed from the running kernel whenever you want). 294 The module will be called n_hdlc. If you want to do that, say M 295 here. 296 297config RISCOM8 298 tristate "SDL RISCom/8 card support" 299 depends on SERIAL_NONSTANDARD 300 help 301 This is a driver for the SDL Communications RISCom/8 multiport card, 302 which gives you many serial ports. You would need something like 303 this to connect more than two modems to your Linux box, for instance 304 in order to become a dial-in server. If you have a card like that, 305 say Y here and read the file <file:Documentation/serial/riscom8.txt>. 306 307 Also it's possible to say M here and compile this driver as kernel 308 loadable module; the module will be called riscom8. 309 310config SPECIALIX 311 tristate "Specialix IO8+ card support" 312 depends on SERIAL_NONSTANDARD 313 help 314 This is a driver for the Specialix IO8+ multiport card (both the 315 ISA and the PCI version) which gives you many serial ports. You 316 would need something like this to connect more than two modems to 317 your Linux box, for instance in order to become a dial-in server. 318 319 If you have a card like that, say Y here and read the file 320 <file:Documentation/serial/specialix.txt>. Also it's possible to say 321 M here and compile this driver as kernel loadable module which will be 322 called specialix. 323 324config SX 325 tristate "Specialix SX (and SI) card support" 326 depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA) 327 help 328 This is a driver for the SX and SI multiport serial cards. 329 Please read the file <file:Documentation/serial/sx.txt> for details. 330 331 This driver can only be built as a module ( = code which can be 332 inserted in and removed from the running kernel whenever you want). 333 The module will be called sx. If you want to do that, say M here. 334 335config RIO 336 tristate "Specialix RIO system support" 337 depends on SERIAL_NONSTANDARD 338 help 339 This is a driver for the Specialix RIO, a smart serial card which 340 drives an outboard box that can support up to 128 ports. Product 341 information is at <http://www.perle.com/support/documentation.html#multiport>. 342 There are both ISA and PCI versions. 343 344config RIO_OLDPCI 345 bool "Support really old RIO/PCI cards" 346 depends on RIO 347 help 348 Older RIO PCI cards need some initialization-time configuration to 349 determine the IRQ and some control addresses. If you have a RIO and 350 this doesn't seem to work, try setting this to Y. 351 352config STALDRV 353 bool "Stallion multiport serial support" 354 depends on SERIAL_NONSTANDARD 355 help 356 Stallion cards give you many serial ports. You would need something 357 like this to connect more than two modems to your Linux box, for 358 instance in order to become a dial-in server. If you say Y here, 359 you will be asked for your specific card model in the next 360 questions. Make sure to read <file:Documentation/serial/stallion.txt> 361 in this case. If you have never heard about all this, it's safe to 362 say N. 363 364config STALLION 365 tristate "Stallion EasyIO or EC8/32 support" 366 depends on STALDRV && (ISA || EISA || PCI) 367 help 368 If you have an EasyIO or EasyConnection 8/32 multiport Stallion 369 card, then this is for you; say Y. Make sure to read 370 <file:Documentation/serial/stallion.txt>. 371 372 To compile this driver as a module, choose M here: the 373 module will be called stallion. 374 375config ISTALLION 376 tristate "Stallion EC8/64, ONboard, Brumby support" 377 depends on STALDRV && (ISA || EISA || PCI) 378 help 379 If you have an EasyConnection 8/64, ONboard, Brumby or Stallion 380 serial multiport card, say Y here. Make sure to read 381 <file:Documentation/serial/stallion.txt>. 382 383 To compile this driver as a module, choose M here: the 384 module will be called istallion. 385 386config NOZOMI 387 tristate "HSDPA Broadband Wireless Data Card - Globe Trotter" 388 depends on PCI && EXPERIMENTAL 389 help 390 If you have a HSDPA driver Broadband Wireless Data Card - 391 Globe Trotter PCMCIA card, say Y here. 392 393 To compile this driver as a module, choose M here, the module 394 will be called nozomi. 395 396config A2232 397 tristate "Commodore A2232 serial support (EXPERIMENTAL)" 398 depends on EXPERIMENTAL && ZORRO && BROKEN_ON_SMP 399 ---help--- 400 This option supports the 2232 7-port serial card shipped with the 401 Amiga 2000 and other Zorro-bus machines, dating from 1989. At 402 a max of 19,200 bps, the ports are served by a 6551 ACIA UART chip 403 each, plus a 8520 CIA, and a master 6502 CPU and buffer as well. The 404 ports were connected with 8 pin DIN connectors on the card bracket, 405 for which 8 pin to DB25 adapters were supplied. The card also had 406 jumpers internally to toggle various pinning configurations. 407 408 This driver can be built as a module; but then "generic_serial" 409 will also be built as a module. This has to be loaded before 410 "ser_a2232". If you want to do this, answer M here. 411 412config SGI_SNSC 413 bool "SGI Altix system controller communication support" 414 depends on (IA64_SGI_SN2 || IA64_GENERIC) 415 help 416 If you have an SGI Altix and you want to enable system 417 controller communication from user space (you want this!), 418 say Y. Otherwise, say N. 419 420config SGI_TIOCX 421 bool "SGI TIO CX driver support" 422 depends on (IA64_SGI_SN2 || IA64_GENERIC) 423 help 424 If you have an SGI Altix and you have fpga devices attached 425 to your TIO, say Y here, otherwise say N. 426 427config SGI_MBCS 428 tristate "SGI FPGA Core Services driver support" 429 depends on SGI_TIOCX 430 help 431 If you have an SGI Altix with an attached SABrick 432 say Y or M here, otherwise say N. 433 434source "drivers/serial/Kconfig" 435 436config UNIX98_PTYS 437 bool "Unix98 PTY support" if EMBEDDED 438 default y 439 ---help--- 440 A pseudo terminal (PTY) is a software device consisting of two 441 halves: a master and a slave. The slave device behaves identical to 442 a physical terminal; the master device is used by a process to 443 read data from and write data to the slave, thereby emulating a 444 terminal. Typical programs for the master side are telnet servers 445 and xterms. 446 447 Linux has traditionally used the BSD-like names /dev/ptyxx for 448 masters and /dev/ttyxx for slaves of pseudo terminals. This scheme 449 has a number of problems. The GNU C library glibc 2.1 and later, 450 however, supports the Unix98 naming standard: in order to acquire a 451 pseudo terminal, a process opens /dev/ptmx; the number of the pseudo 452 terminal is then made available to the process and the pseudo 453 terminal slave can be accessed as /dev/pts/<number>. What was 454 traditionally /dev/ttyp2 will then be /dev/pts/2, for example. 455 456 All modern Linux systems use the Unix98 ptys. Say Y unless 457 you're on an embedded system and want to conserve memory. 458 459config DEVPTS_MULTIPLE_INSTANCES 460 bool "Support multiple instances of devpts" 461 depends on UNIX98_PTYS 462 default n 463 ---help--- 464 Enable support for multiple instances of devpts filesystem. 465 If you want to have isolated PTY namespaces (eg: in containers), 466 say Y here. Otherwise, say N. If enabled, each mount of devpts 467 filesystem with the '-o newinstance' option will create an 468 independent PTY namespace. 469 470config LEGACY_PTYS 471 bool "Legacy (BSD) PTY support" 472 default y 473 ---help--- 474 A pseudo terminal (PTY) is a software device consisting of two 475 halves: a master and a slave. The slave device behaves identical to 476 a physical terminal; the master device is used by a process to 477 read data from and write data to the slave, thereby emulating a 478 terminal. Typical programs for the master side are telnet servers 479 and xterms. 480 481 Linux has traditionally used the BSD-like names /dev/ptyxx 482 for masters and /dev/ttyxx for slaves of pseudo 483 terminals. This scheme has a number of problems, including 484 security. This option enables these legacy devices; on most 485 systems, it is safe to say N. 486 487 488config LEGACY_PTY_COUNT 489 int "Maximum number of legacy PTY in use" 490 depends on LEGACY_PTYS 491 range 0 256 492 default "256" 493 ---help--- 494 The maximum number of legacy PTYs that can be used at any one time. 495 The default is 256, and should be more than enough. Embedded 496 systems may want to reduce this to save memory. 497 498 When not in use, each legacy PTY occupies 12 bytes on 32-bit 499 architectures and 24 bytes on 64-bit architectures. 500 501config BRIQ_PANEL 502 tristate 'Total Impact briQ front panel driver' 503 depends on PPC_CHRP 504 ---help--- 505 The briQ is a small footprint CHRP computer with a frontpanel VFD, a 506 tristate led and two switches. It is the size of a CDROM drive. 507 508 If you have such one and want anything showing on the VFD then you 509 must answer Y here. 510 511 To compile this driver as a module, choose M here: the 512 module will be called briq_panel. 513 514 It's safe to say N here. 515 516config BFIN_OTP 517 tristate "Blackfin On-Chip OTP Memory Support" 518 depends on BLACKFIN && (BF52x || BF54x) 519 default y 520 help 521 If you say Y here, you will get support for a character device 522 interface into the One Time Programmable memory pages that are 523 stored on the Blackfin processor. This will not get you access 524 to the secure memory pages however. You will need to write your 525 own secure code and reader for that. 526 527 To compile this driver as a module, choose M here: the module 528 will be called bfin-otp. 529 530 If unsure, it is safe to say Y. 531 532config BFIN_OTP_WRITE_ENABLE 533 bool "Enable writing support of OTP pages" 534 depends on BFIN_OTP 535 default n 536 help 537 If you say Y here, you will enable support for writing of the 538 OTP pages. This is dangerous by nature as you can only program 539 the pages once, so only enable this option when you actually 540 need it so as to not inadvertently clobber data. 541 542 If unsure, say N. 543 544config PRINTER 545 tristate "Parallel printer support" 546 depends on PARPORT 547 ---help--- 548 If you intend to attach a printer to the parallel port of your Linux 549 box (as opposed to using a serial printer; if the connector at the 550 printer has 9 or 25 holes ["female"], then it's serial), say Y. 551 Also read the Printing-HOWTO, available from 552 <http://www.tldp.org/docs.html#howto>. 553 554 It is possible to share one parallel port among several devices 555 (e.g. printer and ZIP drive) and it is safe to compile the 556 corresponding drivers into the kernel. 557 558 To compile this driver as a module, choose M here and read 559 <file:Documentation/parport.txt>. The module will be called lp. 560 561 If you have several parallel ports, you can specify which ports to 562 use with the "lp" kernel command line option. (Try "man bootparam" 563 or see the documentation of your boot loader (lilo or loadlin) about 564 how to pass options to the kernel at boot time.) The syntax of the 565 "lp" command line option can be found in <file:drivers/char/lp.c>. 566 567 If you have more than 8 printers, you need to increase the LP_NO 568 macro in lp.c and the PARPORT_MAX macro in parport.h. 569 570config LP_CONSOLE 571 bool "Support for console on line printer" 572 depends on PRINTER 573 ---help--- 574 If you want kernel messages to be printed out as they occur, you 575 can have a console on the printer. This option adds support for 576 doing that; to actually get it to happen you need to pass the 577 option "console=lp0" to the kernel at boot time. 578 579 If the printer is out of paper (or off, or unplugged, or too 580 busy..) the kernel will stall until the printer is ready again. 581 By defining CONSOLE_LP_STRICT to 0 (at your own risk) you 582 can make the kernel continue when this happens, 583 but it'll lose the kernel messages. 584 585 If unsure, say N. 586 587config PPDEV 588 tristate "Support for user-space parallel port device drivers" 589 depends on PARPORT 590 ---help--- 591 Saying Y to this adds support for /dev/parport device nodes. This 592 is needed for programs that want portable access to the parallel 593 port, for instance deviceid (which displays Plug-and-Play device 594 IDs). 595 596 This is the parallel port equivalent of SCSI generic support (sg). 597 It is safe to say N to this -- it is not needed for normal printing 598 or parallel port CD-ROM/disk support. 599 600 To compile this driver as a module, choose M here: the 601 module will be called ppdev. 602 603 If unsure, say N. 604 605config HVC_DRIVER 606 bool 607 help 608 Generic "hypervisor virtual console" infrastructure for various 609 hypervisors (pSeries, iSeries, Xen, lguest). 610 It will automatically be selected if one of the back-end console drivers 611 is selected. 612 613config HVC_IRQ 614 bool 615 616config HVC_CONSOLE 617 bool "pSeries Hypervisor Virtual Console support" 618 depends on PPC_PSERIES 619 select HVC_DRIVER 620 select HVC_IRQ 621 help 622 pSeries machines when partitioned support a hypervisor virtual 623 console. This driver allows each pSeries partition to have a console 624 which is accessed via the HMC. 625 626config HVC_ISERIES 627 bool "iSeries Hypervisor Virtual Console support" 628 depends on PPC_ISERIES 629 default y 630 select HVC_DRIVER 631 select HVC_IRQ 632 select VIOPATH 633 help 634 iSeries machines support a hypervisor virtual console. 635 636config HVC_RTAS 637 bool "IBM RTAS Console support" 638 depends on PPC_RTAS 639 select HVC_DRIVER 640 help 641 IBM Console device driver which makes use of RTAS 642 643config HVC_BEAT 644 bool "Toshiba's Beat Hypervisor Console support" 645 depends on PPC_CELLEB 646 select HVC_DRIVER 647 help 648 Toshiba's Cell Reference Set Beat Console device driver 649 650config HVC_IUCV 651 bool "z/VM IUCV Hypervisor console support (VM only)" 652 depends on S390 653 select HVC_DRIVER 654 select IUCV 655 default y 656 help 657 This driver provides a Hypervisor console (HVC) back-end to access 658 a Linux (console) terminal via a z/VM IUCV communication path. 659 660config HVC_XEN 661 bool "Xen Hypervisor Console support" 662 depends on XEN 663 select HVC_DRIVER 664 select HVC_IRQ 665 default y 666 help 667 Xen virtual console device driver 668 669config HVC_UDBG 670 bool "udbg based fake hypervisor console" 671 depends on PPC && EXPERIMENTAL 672 select HVC_DRIVER 673 default n 674 675config VIRTIO_CONSOLE 676 tristate "Virtio console" 677 depends on VIRTIO 678 select HVC_DRIVER 679 help 680 Virtio console for use with lguest and other hypervisors. 681 682 683config HVCS 684 tristate "IBM Hypervisor Virtual Console Server support" 685 depends on PPC_PSERIES 686 help 687 Partitionable IBM Power5 ppc64 machines allow hosting of 688 firmware virtual consoles from one Linux partition by 689 another Linux partition. This driver allows console data 690 from Linux partitions to be accessed through TTY device 691 interfaces in the device tree of a Linux partition running 692 this driver. 693 694 To compile this driver as a module, choose M here: the 695 module will be called hvcs.ko. Additionally, this module 696 will depend on arch specific APIs exported from hvcserver.ko 697 which will also be compiled when this driver is built as a 698 module. 699 700config IBM_BSR 701 tristate "IBM POWER Barrier Synchronization Register support" 702 depends on PPC_PSERIES 703 help 704 This devices exposes a hardware mechanism for fast synchronization 705 of threads across a large system which avoids bouncing a cacheline 706 between several cores on a system 707 708source "drivers/char/ipmi/Kconfig" 709 710config DS1620 711 tristate "NetWinder thermometer support" 712 depends on ARCH_NETWINDER 713 help 714 Say Y here to include support for the thermal management hardware 715 found in the NetWinder. This driver allows the user to control the 716 temperature set points and to read the current temperature. 717 718 It is also possible to say M here to build it as a module (ds1620) 719 It is recommended to be used on a NetWinder, but it is not a 720 necessity. 721 722config NWBUTTON 723 tristate "NetWinder Button" 724 depends on ARCH_NETWINDER 725 ---help--- 726 If you say Y here and create a character device node /dev/nwbutton 727 with major and minor numbers 10 and 158 ("man mknod"), then every 728 time the orange button is pressed a number of times, the number of 729 times the button was pressed will be written to that device. 730 731 This is most useful for applications, as yet unwritten, which 732 perform actions based on how many times the button is pressed in a 733 row. 734 735 Do not hold the button down for too long, as the driver does not 736 alter the behaviour of the hardware reset circuitry attached to the 737 button; it will still execute a hard reset if the button is held 738 down for longer than approximately five seconds. 739 740 To compile this driver as a module, choose M here: the 741 module will be called nwbutton. 742 743 Most people will answer Y to this question and "Reboot Using Button" 744 below to be able to initiate a system shutdown from the button. 745 746config NWBUTTON_REBOOT 747 bool "Reboot Using Button" 748 depends on NWBUTTON 749 help 750 If you say Y here, then you will be able to initiate a system 751 shutdown and reboot by pressing the orange button a number of times. 752 The number of presses to initiate the shutdown is two by default, 753 but this can be altered by modifying the value of NUM_PRESSES_REBOOT 754 in nwbutton.h and recompiling the driver or, if you compile the 755 driver as a module, you can specify the number of presses at load 756 time with "insmod button reboot_count=<something>". 757 758config NWFLASH 759 tristate "NetWinder flash support" 760 depends on ARCH_NETWINDER 761 ---help--- 762 If you say Y here and create a character device /dev/flash with 763 major 10 and minor 160 you can manipulate the flash ROM containing 764 the NetWinder firmware. Be careful as accidentally overwriting the 765 flash contents can render your computer unbootable. On no account 766 allow random users access to this device. :-) 767 768 To compile this driver as a module, choose M here: the 769 module will be called nwflash. 770 771 If you're not sure, say N. 772 773source "drivers/char/hw_random/Kconfig" 774 775config NVRAM 776 tristate "/dev/nvram support" 777 depends on ATARI || X86 || (ARM && RTC_DRV_CMOS) || GENERIC_NVRAM 778 ---help--- 779 If you say Y here and create a character special file /dev/nvram 780 with major number 10 and minor number 144 using mknod ("man mknod"), 781 you get read and write access to the extra bytes of non-volatile 782 memory in the real time clock (RTC), which is contained in every PC 783 and most Ataris. The actual number of bytes varies, depending on the 784 nvram in the system, but is usually 114 (128-14 for the RTC). 785 786 This memory is conventionally called "CMOS RAM" on PCs and "NVRAM" 787 on Ataris. /dev/nvram may be used to view settings there, or to 788 change them (with some utility). It could also be used to frequently 789 save a few bits of very important data that may not be lost over 790 power-off and for which writing to disk is too insecure. Note 791 however that most NVRAM space in a PC belongs to the BIOS and you 792 should NEVER idly tamper with it. See Ralf Brown's interrupt list 793 for a guide to the use of CMOS bytes by your BIOS. 794 795 On Atari machines, /dev/nvram is always configured and does not need 796 to be selected. 797 798 To compile this driver as a module, choose M here: the 799 module will be called nvram. 800 801# 802# These legacy RTC drivers just cause too many conflicts with the generic 803# RTC framework ... let's not even try to coexist any more. 804# 805if RTC_LIB=n 806 807config RTC 808 tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)" 809 depends on !PPC && !PARISC && !IA64 && !M68K && !SPARC && !FRV \ 810 && !ARM && !SUPERH && !S390 && !AVR32 811 ---help--- 812 If you say Y here and create a character special file /dev/rtc with 813 major number 10 and minor number 135 using mknod ("man mknod"), you 814 will get access to the real time clock (or hardware clock) built 815 into your computer. 816 817 Every PC has such a clock built in. It can be used to generate 818 signals from as low as 1Hz up to 8192Hz, and can also be used 819 as a 24 hour alarm. It reports status information via the file 820 /proc/driver/rtc and its behaviour is set by various ioctls on 821 /dev/rtc. 822 823 If you run Linux on a multiprocessor machine and said Y to 824 "Symmetric Multi Processing" above, you should say Y here to read 825 and set the RTC in an SMP compatible fashion. 826 827 If you think you have a use for such a device (such as periodic data 828 sampling), then say Y here, and read <file:Documentation/rtc.txt> 829 for details. 830 831 To compile this driver as a module, choose M here: the 832 module will be called rtc. 833 834config JS_RTC 835 tristate "Enhanced Real Time Clock Support" 836 depends on SPARC32 && PCI 837 ---help--- 838 If you say Y here and create a character special file /dev/rtc with 839 major number 10 and minor number 135 using mknod ("man mknod"), you 840 will get access to the real time clock (or hardware clock) built 841 into your computer. 842 843 Every PC has such a clock built in. It can be used to generate 844 signals from as low as 1Hz up to 8192Hz, and can also be used 845 as a 24 hour alarm. It reports status information via the file 846 /proc/driver/rtc and its behaviour is set by various ioctls on 847 /dev/rtc. 848 849 If you think you have a use for such a device (such as periodic data 850 sampling), then say Y here, and read <file:Documentation/rtc.txt> 851 for details. 852 853 To compile this driver as a module, choose M here: the 854 module will be called js-rtc. 855 856config GEN_RTC 857 tristate "Generic /dev/rtc emulation" 858 depends on RTC!=y && !IA64 && !ARM && !M32R && !MIPS && !SPARC && !FRV && !S390 && !SUPERH && !AVR32 && !BLACKFIN 859 ---help--- 860 If you say Y here and create a character special file /dev/rtc with 861 major number 10 and minor number 135 using mknod ("man mknod"), you 862 will get access to the real time clock (or hardware clock) built 863 into your computer. 864 865 It reports status information via the file /proc/driver/rtc and its 866 behaviour is set by various ioctls on /dev/rtc. If you enable the 867 "extended RTC operation" below it will also provide an emulation 868 for RTC_UIE which is required by some programs and may improve 869 precision in some cases. 870 871 To compile this driver as a module, choose M here: the 872 module will be called genrtc. 873 874config GEN_RTC_X 875 bool "Extended RTC operation" 876 depends on GEN_RTC 877 help 878 Provides an emulation for RTC_UIE which is required by some programs 879 and may improve precision of the generic RTC support in some cases. 880 881config EFI_RTC 882 bool "EFI Real Time Clock Services" 883 depends on IA64 884 885config DS1302 886 tristate "DS1302 RTC support" 887 depends on M32R && (PLAT_M32700UT || PLAT_OPSPUT) 888 help 889 If you say Y here and create a character special file /dev/rtc with 890 major number 121 and minor number 0 using mknod ("man mknod"), you 891 will get access to the real time clock (or hardware clock) built 892 into your computer. 893 894endif # RTC_LIB 895 896config DTLK 897 tristate "Double Talk PC internal speech card support" 898 depends on ISA 899 help 900 This driver is for the DoubleTalk PC, a speech synthesizer 901 manufactured by RC Systems (<http://www.rcsys.com/>). It is also 902 called the `internal DoubleTalk'. 903 904 To compile this driver as a module, choose M here: the 905 module will be called dtlk. 906 907config XILINX_HWICAP 908 tristate "Xilinx HWICAP Support" 909 depends on XILINX_VIRTEX 910 help 911 This option enables support for Xilinx Internal Configuration 912 Access Port (ICAP) driver. The ICAP is used on Xilinx Virtex 913 FPGA platforms to partially reconfigure the FPGA at runtime. 914 915 If unsure, say N. 916 917config R3964 918 tristate "Siemens R3964 line discipline" 919 ---help--- 920 This driver allows synchronous communication with devices using the 921 Siemens R3964 packet protocol. Unless you are dealing with special 922 hardware like PLCs, you are unlikely to need this. 923 924 To compile this driver as a module, choose M here: the 925 module will be called n_r3964. 926 927 If unsure, say N. 928 929config APPLICOM 930 tristate "Applicom intelligent fieldbus card support" 931 depends on PCI 932 ---help--- 933 This driver provides the kernel-side support for the intelligent 934 fieldbus cards made by Applicom International. More information 935 about these cards can be found on the WWW at the address 936 <http://www.applicom-int.com/>, or by email from David Woodhouse 937 <dwmw2@infradead.org>. 938 939 To compile this driver as a module, choose M here: the 940 module will be called applicom. 941 942 If unsure, say N. 943 944config SONYPI 945 tristate "Sony Vaio Programmable I/O Control Device support (EXPERIMENTAL)" 946 depends on EXPERIMENTAL && X86 && PCI && INPUT && !64BIT 947 ---help--- 948 This driver enables access to the Sony Programmable I/O Control 949 Device which can be found in many (all ?) Sony Vaio laptops. 950 951 If you have one of those laptops, read 952 <file:Documentation/laptops/sonypi.txt>, and say Y or M here. 953 954 To compile this driver as a module, choose M here: the 955 module will be called sonypi. 956 957config GPIO_TB0219 958 tristate "TANBAC TB0219 GPIO support" 959 depends on TANBAC_TB022X 960 select GPIO_VR41XX 961 962source "drivers/char/pcmcia/Kconfig" 963 964config MWAVE 965 tristate "ACP Modem (Mwave) support" 966 depends on X86 967 select SERIAL_8250 968 ---help--- 969 The ACP modem (Mwave) for Linux is a WinModem. It is composed of a 970 kernel driver and a user level application. Together these components 971 support direct attachment to public switched telephone networks (PSTNs) 972 and support selected world wide countries. 973 974 This version of the ACP Modem driver supports the IBM Thinkpad 600E, 975 600, and 770 that include on board ACP modem hardware. 976 977 The modem also supports the standard communications port interface 978 (ttySx) and is compatible with the Hayes AT Command Set. 979 980 The user level application needed to use this driver can be found at 981 the IBM Linux Technology Center (LTC) web site: 982 <http://www.ibm.com/linux/ltc/>. 983 984 If you own one of the above IBM Thinkpads which has the Mwave chipset 985 in it, say Y. 986 987 To compile this driver as a module, choose M here: the 988 module will be called mwave. 989 990config SCx200_GPIO 991 tristate "NatSemi SCx200 GPIO Support" 992 depends on SCx200 993 select NSC_GPIO 994 help 995 Give userspace access to the GPIO pins on the National 996 Semiconductor SCx200 processors. 997 998 If compiled as a module, it will be called scx200_gpio. 999 1000config PC8736x_GPIO 1001 tristate "NatSemi PC8736x GPIO Support" 1002 depends on X86 1003 default SCx200_GPIO # mostly N 1004 select NSC_GPIO # needed for support routines 1005 help 1006 Give userspace access to the GPIO pins on the National 1007 Semiconductor PC-8736x (x=[03456]) SuperIO chip. The chip 1008 has multiple functional units, inc several managed by 1009 hwmon/pc87360 driver. Tested with PC-87366 1010 1011 If compiled as a module, it will be called pc8736x_gpio. 1012 1013config NSC_GPIO 1014 tristate "NatSemi Base GPIO Support" 1015 depends on X86_32 1016 # selected by SCx200_GPIO and PC8736x_GPIO 1017 # what about 2 selectors differing: m != y 1018 help 1019 Common support used (and needed) by scx200_gpio and 1020 pc8736x_gpio drivers. If those drivers are built as 1021 modules, this one will be too, named nsc_gpio 1022 1023config CS5535_GPIO 1024 tristate "AMD CS5535/CS5536 GPIO (Geode Companion Device)" 1025 depends on X86_32 1026 help 1027 Give userspace access to the GPIO pins on the AMD CS5535 and 1028 CS5536 Geode companion devices. 1029 1030 If compiled as a module, it will be called cs5535_gpio. 1031 1032config GPIO_VR41XX 1033 tristate "NEC VR4100 series General-purpose I/O Unit support" 1034 depends on CPU_VR41XX 1035 1036config RAW_DRIVER 1037 tristate "RAW driver (/dev/raw/rawN)" 1038 depends on BLOCK 1039 help 1040 The raw driver permits block devices to be bound to /dev/raw/rawN. 1041 Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O. 1042 See the raw(8) manpage for more details. 1043 1044 Applications should preferably open the device (eg /dev/hda1) 1045 with the O_DIRECT flag. 1046 1047config MAX_RAW_DEVS 1048 int "Maximum number of RAW devices to support (1-8192)" 1049 depends on RAW_DRIVER 1050 default "256" 1051 help 1052 The maximum number of RAW devices that are supported. 1053 Default is 256. Increase this number in case you need lots of 1054 raw devices. 1055 1056config HPET 1057 bool "HPET - High Precision Event Timer" if (X86 || IA64) 1058 default n 1059 depends on ACPI 1060 help 1061 If you say Y here, you will have a miscdevice named "/dev/hpet/". Each 1062 open selects one of the timers supported by the HPET. The timers are 1063 non-periodic and/or periodic. 1064 1065config HPET_MMAP 1066 bool "Allow mmap of HPET" 1067 default y 1068 depends on HPET 1069 help 1070 If you say Y here, user applications will be able to mmap 1071 the HPET registers. 1072 1073 In some hardware implementations, the page containing HPET 1074 registers may also contain other things that shouldn't be 1075 exposed to the user. If this applies to your hardware, 1076 say N here. 1077 1078config HANGCHECK_TIMER 1079 tristate "Hangcheck timer" 1080 depends on X86 || IA64 || PPC64 || S390 1081 help 1082 The hangcheck-timer module detects when the system has gone 1083 out to lunch past a certain margin. It can reboot the system 1084 or merely print a warning. 1085 1086config MMTIMER 1087 tristate "MMTIMER Memory mapped RTC for SGI Altix" 1088 depends on IA64_GENERIC || IA64_SGI_SN2 1089 default y 1090 help 1091 The mmtimer device allows direct userspace access to the 1092 Altix system timer. 1093 1094source "drivers/char/tpm/Kconfig" 1095 1096config TELCLOCK 1097 tristate "Telecom clock driver for ATCA SBC" 1098 depends on EXPERIMENTAL && X86 1099 default n 1100 help 1101 The telecom clock device is specific to the MPCBL0010 and MPCBL0050 1102 ATCA computers and allows direct userspace access to the 1103 configuration of the telecom clock configuration settings. This 1104 device is used for hardware synchronization across the ATCA backplane 1105 fabric. Upon loading, the driver exports a sysfs directory, 1106 /sys/devices/platform/telco_clock, with a number of files for 1107 controlling the behavior of this hardware. 1108 1109config DEVPORT 1110 bool 1111 depends on !M68K 1112 depends on ISA || PCI 1113 default y 1114 1115source "drivers/s390/char/Kconfig" 1116 1117endmenu 1118 1119