source: src/linux/universal/linux-3.18/drivers/char/Kconfig @ 31885

Last change on this file since 31885 was 31885, checked in by brainslayer, 2 months ago


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