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

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


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