linux/drivers/char/Kconfig
<<
>>
Prefs
   1#
   2# Character device configuration
   3#
   4
   5menu "Character devices"
   6
   7source "drivers/tty/Kconfig"
   8
   9config DEVKMEM
  10        bool "/dev/kmem virtual device support"
  11        default y
  12        help
  13          Say Y here if you want to support the /dev/kmem device. The
  14          /dev/kmem device is rarely used, but can be used for certain
  15          kind of kernel debugging operations.
  16          When in doubt, say "N".
  17
  18config SGI_SNSC
  19        bool "SGI Altix system controller communication support"
  20        depends on (IA64_SGI_SN2 || IA64_GENERIC)
  21        help
  22          If you have an SGI Altix and you want to enable system
  23          controller communication from user space (you want this!),
  24          say Y.  Otherwise, say N.
  25
  26config SGI_TIOCX
  27       bool "SGI TIO CX driver support"
  28       depends on (IA64_SGI_SN2 || IA64_GENERIC)
  29       help
  30         If you have an SGI Altix and you have fpga devices attached
  31         to your TIO, say Y here, otherwise say N.
  32
  33config SGI_MBCS
  34       tristate "SGI FPGA Core Services driver support"
  35       depends on SGI_TIOCX
  36       help
  37         If you have an SGI Altix with an attached SABrick
  38         say Y or M here, otherwise say N.
  39
  40source "drivers/tty/serial/Kconfig"
  41
  42config TTY_PRINTK
  43        tristate "TTY driver to output user messages via printk"
  44        depends on EXPERT && TTY
  45        default n
  46        ---help---
  47          If you say Y here, the support for writing user messages (i.e.
  48          console messages) via printk is available.
  49
  50          The feature is useful to inline user messages with kernel
  51          messages.
  52          In order to use this feature, you should output user messages
  53          to /dev/ttyprintk or redirect console to this TTY.
  54
  55          If unsure, say N.
  56
  57config BFIN_OTP
  58        tristate "Blackfin On-Chip OTP Memory Support"
  59        depends on BLACKFIN && (BF51x || BF52x || BF54x)
  60        default y
  61        help
  62          If you say Y here, you will get support for a character device
  63          interface into the One Time Programmable memory pages that are
  64          stored on the Blackfin processor.  This will not get you access
  65          to the secure memory pages however.  You will need to write your
  66          own secure code and reader for that.
  67
  68          To compile this driver as a module, choose M here: the module
  69          will be called bfin-otp.
  70
  71          If unsure, it is safe to say Y.
  72
  73config BFIN_OTP_WRITE_ENABLE
  74        bool "Enable writing support of OTP pages"
  75        depends on BFIN_OTP
  76        default n
  77        help
  78          If you say Y here, you will enable support for writing of the
  79          OTP pages.  This is dangerous by nature as you can only program
  80          the pages once, so only enable this option when you actually
  81          need it so as to not inadvertently clobber data.
  82
  83          If unsure, say N.
  84
  85config PRINTER
  86        tristate "Parallel printer support"
  87        depends on PARPORT
  88        ---help---
  89          If you intend to attach a printer to the parallel port of your Linux
  90          box (as opposed to using a serial printer; if the connector at the
  91          printer has 9 or 25 holes ["female"], then it's serial), say Y.
  92          Also read the Printing-HOWTO, available from
  93          <http://www.tldp.org/docs.html#howto>.
  94
  95          It is possible to share one parallel port among several devices
  96          (e.g. printer and ZIP drive) and it is safe to compile the
  97          corresponding drivers into the kernel.
  98
  99          To compile this driver as a module, choose M here and read
 100          <file:Documentation/parport.txt>.  The module will be called lp.
 101
 102          If you have several parallel ports, you can specify which ports to
 103          use with the "lp" kernel command line option.  (Try "man bootparam"
 104          or see the documentation of your boot loader (lilo or loadlin) about
 105          how to pass options to the kernel at boot time.)  The syntax of the
 106          "lp" command line option can be found in <file:drivers/char/lp.c>.
 107
 108          If you have more than 8 printers, you need to increase the LP_NO
 109          macro in lp.c and the PARPORT_MAX macro in parport.h.
 110
 111config LP_CONSOLE
 112        bool "Support for console on line printer"
 113        depends on PRINTER
 114        ---help---
 115          If you want kernel messages to be printed out as they occur, you
 116          can have a console on the printer. This option adds support for
 117          doing that; to actually get it to happen you need to pass the
 118          option "console=lp0" to the kernel at boot time.
 119
 120          If the printer is out of paper (or off, or unplugged, or too
 121          busy..) the kernel will stall until the printer is ready again.
 122          By defining CONSOLE_LP_STRICT to 0 (at your own risk) you
 123          can make the kernel continue when this happens,
 124          but it'll lose the kernel messages.
 125
 126          If unsure, say N.
 127
 128config PPDEV
 129        tristate "Support for user-space parallel port device drivers"
 130        depends on PARPORT
 131        ---help---
 132          Saying Y to this adds support for /dev/parport device nodes.  This
 133          is needed for programs that want portable access to the parallel
 134          port, for instance deviceid (which displays Plug-and-Play device
 135          IDs).
 136
 137          This is the parallel port equivalent of SCSI generic support (sg).
 138          It is safe to say N to this -- it is not needed for normal printing
 139          or parallel port CD-ROM/disk support.
 140
 141          To compile this driver as a module, choose M here: the
 142          module will be called ppdev.
 143
 144          If unsure, say N.
 145
 146source "drivers/tty/hvc/Kconfig"
 147
 148config VIRTIO_CONSOLE
 149        tristate "Virtio console"
 150        depends on VIRTIO && TTY
 151        select HVC_DRIVER
 152        help
 153          Virtio console for use with lguest and other hypervisors.
 154
 155          Also serves as a general-purpose serial device for data
 156          transfer between the guest and host.  Character devices at
 157          /dev/vportNpn will be created when corresponding ports are
 158          found, where N is the device number and n is the port number
 159          within that device.  If specified by the host, a sysfs
 160          attribute called 'name' will be populated with a name for
 161          the port which can be used by udev scripts to create a
 162          symlink to the device.
 163
 164config IBM_BSR
 165        tristate "IBM POWER Barrier Synchronization Register support"
 166        depends on PPC_PSERIES
 167        help
 168          This devices exposes a hardware mechanism for fast synchronization
 169          of threads across a large system which avoids bouncing a cacheline
 170          between several cores on a system
 171
 172source "drivers/char/ipmi/Kconfig"
 173
 174config DS1620
 175        tristate "NetWinder thermometer support"
 176        depends on ARCH_NETWINDER
 177        help
 178          Say Y here to include support for the thermal management hardware
 179          found in the NetWinder. This driver allows the user to control the
 180          temperature set points and to read the current temperature.
 181
 182          It is also possible to say M here to build it as a module (ds1620)
 183          It is recommended to be used on a NetWinder, but it is not a
 184          necessity.
 185
 186config NWBUTTON
 187        tristate "NetWinder Button"
 188        depends on ARCH_NETWINDER
 189        ---help---
 190          If you say Y here and create a character device node /dev/nwbutton
 191          with major and minor numbers 10 and 158 ("man mknod"), then every
 192          time the orange button is pressed a number of times, the number of
 193          times the button was pressed will be written to that device.
 194
 195          This is most useful for applications, as yet unwritten, which
 196          perform actions based on how many times the button is pressed in a
 197          row.
 198
 199          Do not hold the button down for too long, as the driver does not
 200          alter the behaviour of the hardware reset circuitry attached to the
 201          button; it will still execute a hard reset if the button is held
 202          down for longer than approximately five seconds.
 203
 204          To compile this driver as a module, choose M here: the
 205          module will be called nwbutton.
 206
 207          Most people will answer Y to this question and "Reboot Using Button"
 208          below to be able to initiate a system shutdown from the button.
 209
 210config NWBUTTON_REBOOT
 211        bool "Reboot Using Button"
 212        depends on NWBUTTON
 213        help
 214          If you say Y here, then you will be able to initiate a system
 215          shutdown and reboot by pressing the orange button a number of times.
 216          The number of presses to initiate the shutdown is two by default,
 217          but this can be altered by modifying the value of NUM_PRESSES_REBOOT
 218          in nwbutton.h and recompiling the driver or, if you compile the
 219          driver as a module, you can specify the number of presses at load
 220          time with "insmod button reboot_count=<something>".
 221
 222config NWFLASH
 223        tristate "NetWinder flash support"
 224        depends on ARCH_NETWINDER
 225        ---help---
 226          If you say Y here and create a character device /dev/flash with
 227          major 10 and minor 160 you can manipulate the flash ROM containing
 228          the NetWinder firmware. Be careful as accidentally overwriting the
 229          flash contents can render your computer unbootable. On no account
 230          allow random users access to this device. :-)
 231
 232          To compile this driver as a module, choose M here: the
 233          module will be called nwflash.
 234
 235          If you're not sure, say N.
 236
 237source "drivers/char/hw_random/Kconfig"
 238
 239config NVRAM
 240        tristate "/dev/nvram support"
 241        depends on ATARI || X86 || (ARM && RTC_DRV_CMOS) || GENERIC_NVRAM
 242        ---help---
 243          If you say Y here and create a character special file /dev/nvram
 244          with major number 10 and minor number 144 using mknod ("man mknod"),
 245          you get read and write access to the extra bytes of non-volatile
 246          memory in the real time clock (RTC), which is contained in every PC
 247          and most Ataris.  The actual number of bytes varies, depending on the
 248          nvram in the system, but is usually 114 (128-14 for the RTC).
 249
 250          This memory is conventionally called "CMOS RAM" on PCs and "NVRAM"
 251          on Ataris. /dev/nvram may be used to view settings there, or to
 252          change them (with some utility). It could also be used to frequently
 253          save a few bits of very important data that may not be lost over
 254          power-off and for which writing to disk is too insecure. Note
 255          however that most NVRAM space in a PC belongs to the BIOS and you
 256          should NEVER idly tamper with it. See Ralf Brown's interrupt list
 257          for a guide to the use of CMOS bytes by your BIOS.
 258
 259          On Atari machines, /dev/nvram is always configured and does not need
 260          to be selected.
 261
 262          To compile this driver as a module, choose M here: the
 263          module will be called nvram.
 264
 265#
 266# These legacy RTC drivers just cause too many conflicts with the generic
 267# RTC framework ... let's not even try to coexist any more.
 268#
 269if RTC_LIB=n
 270
 271config RTC
 272        tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)"
 273        depends on !PPC && !PARISC && !IA64 && !M68K && !SPARC && !FRV \
 274                        && !ARM && !SUPERH && !S390 && !AVR32 && !BLACKFIN && !UML
 275        ---help---
 276          If you say Y here and create a character special file /dev/rtc with
 277          major number 10 and minor number 135 using mknod ("man mknod"), you
 278          will get access to the real time clock (or hardware clock) built
 279          into your computer.
 280
 281          Every PC has such a clock built in. It can be used to generate
 282          signals from as low as 1Hz up to 8192Hz, and can also be used
 283          as a 24 hour alarm. It reports status information via the file
 284          /proc/driver/rtc and its behaviour is set by various ioctls on
 285          /dev/rtc.
 286
 287          If you run Linux on a multiprocessor machine and said Y to
 288          "Symmetric Multi Processing" above, you should say Y here to read
 289          and set the RTC in an SMP compatible fashion.
 290
 291          If you think you have a use for such a device (such as periodic data
 292          sampling), then say Y here, and read <file:Documentation/rtc.txt>
 293          for details.
 294
 295          To compile this driver as a module, choose M here: the
 296          module will be called rtc.
 297
 298config JS_RTC
 299        tristate "Enhanced Real Time Clock Support"
 300        depends on SPARC32 && PCI
 301        ---help---
 302          If you say Y here and create a character special file /dev/rtc with
 303          major number 10 and minor number 135 using mknod ("man mknod"), you
 304          will get access to the real time clock (or hardware clock) built
 305          into your computer.
 306
 307          Every PC has such a clock built in. It can be used to generate
 308          signals from as low as 1Hz up to 8192Hz, and can also be used
 309          as a 24 hour alarm. It reports status information via the file
 310          /proc/driver/rtc and its behaviour is set by various ioctls on
 311          /dev/rtc.
 312
 313          If you think you have a use for such a device (such as periodic data
 314          sampling), then say Y here, and read <file:Documentation/rtc.txt>
 315          for details.
 316
 317          To compile this driver as a module, choose M here: the
 318          module will be called js-rtc.
 319
 320config GEN_RTC
 321        tristate "Generic /dev/rtc emulation"
 322        depends on RTC!=y && !IA64 && !ARM && !M32R && !MIPS && !SPARC && !FRV && !S390 && !SUPERH && !AVR32 && !BLACKFIN && !UML
 323        ---help---
 324          If you say Y here and create a character special file /dev/rtc with
 325          major number 10 and minor number 135 using mknod ("man mknod"), you
 326          will get access to the real time clock (or hardware clock) built
 327          into your computer.
 328
 329          It reports status information via the file /proc/driver/rtc and its
 330          behaviour is set by various ioctls on /dev/rtc. If you enable the
 331          "extended RTC operation" below it will also provide an emulation
 332          for RTC_UIE which is required by some programs and may improve
 333          precision in some cases.
 334
 335          To compile this driver as a module, choose M here: the
 336          module will be called genrtc.
 337
 338config GEN_RTC_X
 339        bool "Extended RTC operation"
 340        depends on GEN_RTC
 341        help
 342          Provides an emulation for RTC_UIE which is required by some programs
 343          and may improve precision of the generic RTC support in some cases.
 344
 345config EFI_RTC
 346        bool "EFI Real Time Clock Services"
 347        depends on IA64
 348
 349config DS1302
 350        tristate "DS1302 RTC support"
 351        depends on M32R && (PLAT_M32700UT || PLAT_OPSPUT)
 352        help
 353          If you say Y here and create a character special file /dev/rtc with
 354          major number 121 and minor number 0 using mknod ("man mknod"), you
 355          will get access to the real time clock (or hardware clock) built
 356          into your computer.
 357
 358endif # RTC_LIB
 359
 360config DTLK
 361        tristate "Double Talk PC internal speech card support"
 362        depends on ISA
 363        help
 364          This driver is for the DoubleTalk PC, a speech synthesizer
 365          manufactured by RC Systems (<http://www.rcsys.com/>).  It is also
 366          called the `internal DoubleTalk'.
 367
 368          To compile this driver as a module, choose M here: the
 369          module will be called dtlk.
 370
 371config XILINX_HWICAP
 372        tristate "Xilinx HWICAP Support"
 373        depends on XILINX_VIRTEX || MICROBLAZE
 374        help
 375          This option enables support for Xilinx Internal Configuration
 376          Access Port (ICAP) driver.  The ICAP is used on Xilinx Virtex
 377          FPGA platforms to partially reconfigure the FPGA at runtime.
 378
 379          If unsure, say N.
 380
 381config R3964
 382        tristate "Siemens R3964 line discipline"
 383        depends on TTY
 384        ---help---
 385          This driver allows synchronous communication with devices using the
 386          Siemens R3964 packet protocol. Unless you are dealing with special
 387          hardware like PLCs, you are unlikely to need this.
 388
 389          To compile this driver as a module, choose M here: the
 390          module will be called n_r3964.
 391
 392          If unsure, say N.
 393
 394config APPLICOM
 395        tristate "Applicom intelligent fieldbus card support"
 396        depends on PCI
 397        ---help---
 398          This driver provides the kernel-side support for the intelligent
 399          fieldbus cards made by Applicom International. More information
 400          about these cards can be found on the WWW at the address
 401          <http://www.applicom-int.com/>, or by email from David Woodhouse
 402          <dwmw2@infradead.org>.
 403
 404          To compile this driver as a module, choose M here: the
 405          module will be called applicom.
 406
 407          If unsure, say N.
 408
 409config SONYPI
 410        tristate "Sony Vaio Programmable I/O Control Device support"
 411        depends on X86_32 && PCI && INPUT
 412        ---help---
 413          This driver enables access to the Sony Programmable I/O Control
 414          Device which can be found in many (all ?) Sony Vaio laptops.
 415
 416          If you have one of those laptops, read
 417          <file:Documentation/laptops/sonypi.txt>, and say Y or M here.
 418
 419          To compile this driver as a module, choose M here: the
 420          module will be called sonypi.
 421
 422config GPIO_TB0219
 423        tristate "TANBAC TB0219 GPIO support"
 424        depends on TANBAC_TB022X
 425        select GPIO_VR41XX
 426
 427source "drivers/char/pcmcia/Kconfig"
 428
 429config MWAVE
 430        tristate "ACP Modem (Mwave) support"
 431        depends on X86 && TTY
 432        select SERIAL_8250
 433        ---help---
 434          The ACP modem (Mwave) for Linux is a WinModem. It is composed of a
 435          kernel driver and a user level application. Together these components
 436          support direct attachment to public switched telephone networks (PSTNs)
 437          and support selected world wide countries.
 438
 439          This version of the ACP Modem driver supports the IBM Thinkpad 600E,
 440          600, and 770 that include on board ACP modem hardware.
 441
 442          The modem also supports the standard communications port interface
 443          (ttySx) and is compatible with the Hayes AT Command Set.
 444
 445          The user level application needed to use this driver can be found at
 446          the IBM Linux Technology Center (LTC) web site:
 447          <http://www.ibm.com/linux/ltc/>.
 448
 449          If you own one of the above IBM Thinkpads which has the Mwave chipset
 450          in it, say Y.
 451
 452          To compile this driver as a module, choose M here: the
 453          module will be called mwave.
 454
 455config SCx200_GPIO
 456        tristate "NatSemi SCx200 GPIO Support"
 457        depends on SCx200
 458        select NSC_GPIO
 459        help
 460          Give userspace access to the GPIO pins on the National
 461          Semiconductor SCx200 processors.
 462
 463          If compiled as a module, it will be called scx200_gpio.
 464
 465config PC8736x_GPIO
 466        tristate "NatSemi PC8736x GPIO Support"
 467        depends on X86_32 && !UML
 468        default SCx200_GPIO     # mostly N
 469        select NSC_GPIO         # needed for support routines
 470        help
 471          Give userspace access to the GPIO pins on the National
 472          Semiconductor PC-8736x (x=[03456]) SuperIO chip.  The chip
 473          has multiple functional units, inc several managed by
 474          hwmon/pc87360 driver.  Tested with PC-87366
 475
 476          If compiled as a module, it will be called pc8736x_gpio.
 477
 478config NSC_GPIO
 479        tristate "NatSemi Base GPIO Support"
 480        depends on X86_32
 481        # selected by SCx200_GPIO and PC8736x_GPIO
 482        # what about 2 selectors differing: m != y
 483        help
 484          Common support used (and needed) by scx200_gpio and
 485          pc8736x_gpio drivers.  If those drivers are built as
 486          modules, this one will be too, named nsc_gpio
 487
 488config RAW_DRIVER
 489        tristate "RAW driver (/dev/raw/rawN)"
 490        depends on BLOCK
 491        help
 492          The raw driver permits block devices to be bound to /dev/raw/rawN.
 493          Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O.
 494          See the raw(8) manpage for more details.
 495
 496          Applications should preferably open the device (eg /dev/hda1)
 497          with the O_DIRECT flag.
 498
 499config MAX_RAW_DEVS
 500        int "Maximum number of RAW devices to support (1-65536)"
 501        depends on RAW_DRIVER
 502        range 1 65536
 503        default "256"
 504        help
 505          The maximum number of RAW devices that are supported.
 506          Default is 256. Increase this number in case you need lots of
 507          raw devices.
 508
 509config HPET
 510        bool "HPET - High Precision Event Timer" if (X86 || IA64)
 511        default n
 512        depends on ACPI
 513        help
 514          If you say Y here, you will have a miscdevice named "/dev/hpet/".  Each
 515          open selects one of the timers supported by the HPET.  The timers are
 516          non-periodic and/or periodic.
 517
 518config HPET_MMAP
 519        bool "Allow mmap of HPET"
 520        default y
 521        depends on HPET
 522        help
 523          If you say Y here, user applications will be able to mmap
 524          the HPET registers.
 525
 526config HPET_MMAP_DEFAULT
 527        bool "Enable HPET MMAP access by default"
 528        default y
 529        depends on HPET_MMAP
 530        help
 531          In some hardware implementations, the page containing HPET
 532          registers may also contain other things that shouldn't be
 533          exposed to the user.  This option selects the default (if
 534          kernel parameter hpet_mmap is not set) user access to the
 535          registers for applications that require it.
 536
 537config HANGCHECK_TIMER
 538        tristate "Hangcheck timer"
 539        depends on X86 || IA64 || PPC64 || S390
 540        help
 541          The hangcheck-timer module detects when the system has gone
 542          out to lunch past a certain margin.  It can reboot the system
 543          or merely print a warning.
 544
 545config MMTIMER
 546        tristate "MMTIMER Memory mapped RTC for SGI Altix"
 547        depends on IA64_GENERIC || IA64_SGI_SN2
 548        default y
 549        help
 550          The mmtimer device allows direct userspace access to the
 551          Altix system timer.
 552
 553config UV_MMTIMER
 554        tristate "UV_MMTIMER Memory mapped RTC for SGI UV"
 555        depends on X86_UV
 556        default m
 557        help
 558          The uv_mmtimer device allows direct userspace access to the
 559          UV system timer.
 560
 561source "drivers/char/tpm/Kconfig"
 562
 563config TELCLOCK
 564        tristate "Telecom clock driver for ATCA SBC"
 565        depends on X86
 566        default n
 567        help
 568          The telecom clock device is specific to the MPCBL0010 and MPCBL0050
 569          ATCA computers and allows direct userspace access to the
 570          configuration of the telecom clock configuration settings.  This
 571          device is used for hardware synchronization across the ATCA backplane
 572          fabric.  Upon loading, the driver exports a sysfs directory,
 573          /sys/devices/platform/telco_clock, with a number of files for
 574          controlling the behavior of this hardware.
 575
 576config DEVPORT
 577        bool
 578        depends on !M68K
 579        depends on ISA || PCI
 580        default y
 581
 582source "drivers/s390/char/Kconfig"
 583
 584config MSM_SMD_PKT
 585        bool "Enable device interface for some SMD packet ports"
 586        default n
 587        depends on MSM_SMD
 588        help
 589          Enables userspace clients to read and write to some packet SMD
 590          ports via device interface for MSM chipset.
 591
 592config TILE_SROM
 593        bool "Character-device access via hypervisor to the Tilera SPI ROM"
 594        depends on TILE
 595        default y
 596        ---help---
 597          This device provides character-level read-write access
 598          to the SROM, typically via the "0", "1", and "2" devices
 599          in /dev/srom/.  The Tilera hypervisor makes the flash
 600          device appear much like a simple EEPROM, and knows
 601          how to partition a single ROM for multiple purposes.
 602
 603endmenu
 604
 605