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