mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-04 09:59:32 +00:00
![Tejun Heo](/assets/img/avatar_default.png)
sound/sound_core.c implements soundcore.ko and contains two parts - sound_class which is shared by both ALSA and OSS and device redirection support for OSS. It's always compiled when any sound support is enabled although it's necessary only when OSS (the actual one or emulation) is enabled. This is slightly wasteful and as device redirection always registers character device region for major 14, it prevents alternative implementation. This patch introduces a new config SOUND_OSS_CORE which is selected iff OSS support is actually necessary and build the OSS core part conditionally. If OSS is disabled, soundcore merely contains sound_class but leaving it that way seems to be the simplest approach as otherwise sound_class should be in ALSA core file if OSS is disabled but should be in soundcore if OSS is enabled. Also, there's also the user confusion factor. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
239 lines
8.5 KiB
Text
239 lines
8.5 KiB
Text
|
|
menu "Character Devices"
|
|
|
|
config STDERR_CONSOLE
|
|
bool "stderr console"
|
|
default y
|
|
help
|
|
console driver which dumps all printk messages to stderr.
|
|
|
|
config STDIO_CONSOLE
|
|
bool
|
|
default y
|
|
|
|
config SSL
|
|
bool "Virtual serial line"
|
|
help
|
|
The User-Mode Linux environment allows you to create virtual serial
|
|
lines on the UML that are usually made to show up on the host as
|
|
ttys or ptys.
|
|
|
|
See <http://user-mode-linux.sourceforge.net/old/input.html> for more
|
|
information and command line examples of how to use this facility.
|
|
|
|
Unless you have a specific reason for disabling this, say Y.
|
|
|
|
config NULL_CHAN
|
|
bool "null channel support"
|
|
help
|
|
This option enables support for attaching UML consoles and serial
|
|
lines to a device similar to /dev/null. Data written to it disappears
|
|
and there is never any data to be read.
|
|
|
|
config PORT_CHAN
|
|
bool "port channel support"
|
|
help
|
|
This option enables support for attaching UML consoles and serial
|
|
lines to host portals. They may be accessed with 'telnet <host>
|
|
<port number>'. Any number of consoles and serial lines may be
|
|
attached to a single portal, although what UML device you get when
|
|
you telnet to that portal will be unpredictable.
|
|
It is safe to say 'Y' here.
|
|
|
|
config PTY_CHAN
|
|
bool "pty channel support"
|
|
help
|
|
This option enables support for attaching UML consoles and serial
|
|
lines to host pseudo-terminals. Access to both traditional
|
|
pseudo-terminals (/dev/pty*) and pts pseudo-terminals are controlled
|
|
with this option. The assignment of UML devices to host devices
|
|
will be announced in the kernel message log.
|
|
It is safe to say 'Y' here.
|
|
|
|
config TTY_CHAN
|
|
bool "tty channel support"
|
|
help
|
|
This option enables support for attaching UML consoles and serial
|
|
lines to host terminals. Access to both virtual consoles
|
|
(/dev/tty*) and the slave side of pseudo-terminals (/dev/ttyp* and
|
|
/dev/pts/*) are controlled by this option.
|
|
It is safe to say 'Y' here.
|
|
|
|
config XTERM_CHAN
|
|
bool "xterm channel support"
|
|
help
|
|
This option enables support for attaching UML consoles and serial
|
|
lines to xterms. Each UML device so assigned will be brought up in
|
|
its own xterm.
|
|
It is safe to say 'Y' here.
|
|
|
|
config NOCONFIG_CHAN
|
|
bool
|
|
default !(XTERM_CHAN && TTY_CHAN && PTY_CHAN && PORT_CHAN && NULL_CHAN)
|
|
|
|
config CON_ZERO_CHAN
|
|
string "Default main console channel initialization"
|
|
default "fd:0,fd:1"
|
|
help
|
|
This is the string describing the channel to which the main console
|
|
will be attached by default. This value can be overridden from the
|
|
command line. The default value is "fd:0,fd:1", which attaches the
|
|
main console to stdin and stdout.
|
|
It is safe to leave this unchanged.
|
|
|
|
config CON_CHAN
|
|
string "Default console channel initialization"
|
|
default "xterm"
|
|
help
|
|
This is the string describing the channel to which all consoles
|
|
except the main console will be attached by default. This value can
|
|
be overridden from the command line. The default value is "xterm",
|
|
which brings them up in xterms.
|
|
It is safe to leave this unchanged, although you may wish to change
|
|
this if you expect the UML that you build to be run in environments
|
|
which don't have X or xterm available.
|
|
|
|
config SSL_CHAN
|
|
string "Default serial line channel initialization"
|
|
default "pty"
|
|
help
|
|
This is the string describing the channel to which the serial lines
|
|
will be attached by default. This value can be overridden from the
|
|
command line. The default value is "pty", which attaches them to
|
|
traditional pseudo-terminals.
|
|
It is safe to leave this unchanged, although you may wish to change
|
|
this if you expect the UML that you build to be run in environments
|
|
which don't have a set of /dev/pty* devices.
|
|
|
|
config UNIX98_PTYS
|
|
bool "Unix98 PTY support"
|
|
help
|
|
A pseudo terminal (PTY) is a software device consisting of two
|
|
halves: a master and a slave. The slave device behaves identical to
|
|
a physical terminal; the master device is used by a process to
|
|
read data from and write data to the slave, thereby emulating a
|
|
terminal. Typical programs for the master side are telnet servers
|
|
and xterms.
|
|
|
|
Linux has traditionally used the BSD-like names /dev/ptyxx for
|
|
masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
|
|
has a number of problems. The GNU C library glibc 2.1 and later,
|
|
however, supports the Unix98 naming standard: in order to acquire a
|
|
pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
|
|
terminal is then made available to the process and the pseudo
|
|
terminal slave can be accessed as /dev/pts/<number>. What was
|
|
traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
|
|
|
|
All modern Linux systems use the Unix98 ptys. Say Y unless
|
|
you're on an embedded system and want to conserve memory.
|
|
|
|
config LEGACY_PTYS
|
|
bool "Legacy (BSD) PTY support"
|
|
default y
|
|
help
|
|
A pseudo terminal (PTY) is a software device consisting of two
|
|
halves: a master and a slave. The slave device behaves identical to
|
|
a physical terminal; the master device is used by a process to
|
|
read data from and write data to the slave, thereby emulating a
|
|
terminal. Typical programs for the master side are telnet servers
|
|
and xterms.
|
|
|
|
Linux has traditionally used the BSD-like names /dev/ptyxx
|
|
for masters and /dev/ttyxx for slaves of pseudo
|
|
terminals. This scheme has a number of problems, including
|
|
security. This option enables these legacy devices; on most
|
|
systems, it is safe to say N.
|
|
|
|
config RAW_DRIVER
|
|
tristate "RAW driver (/dev/raw/rawN)"
|
|
depends on BLOCK
|
|
help
|
|
The raw driver permits block devices to be bound to /dev/raw/rawN.
|
|
Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O.
|
|
See the raw(8) manpage for more details.
|
|
|
|
Applications should preferably open the device (eg /dev/hda1)
|
|
with the O_DIRECT flag.
|
|
|
|
config MAX_RAW_DEVS
|
|
int "Maximum number of RAW devices to support (1-8192)"
|
|
depends on RAW_DRIVER
|
|
default "256"
|
|
help
|
|
The maximum number of RAW devices that are supported.
|
|
Default is 256. Increase this number in case you need lots of
|
|
raw devices.
|
|
|
|
config LEGACY_PTY_COUNT
|
|
int "Maximum number of legacy PTY in use"
|
|
depends on LEGACY_PTYS
|
|
default "256"
|
|
help
|
|
The maximum number of legacy PTYs that can be used at any one time.
|
|
The default is 256, and should be more than enough. Embedded
|
|
systems may want to reduce this to save memory.
|
|
|
|
When not in use, each legacy PTY occupies 12 bytes on 32-bit
|
|
architectures and 24 bytes on 64-bit architectures.
|
|
|
|
config WATCHDOG
|
|
bool "Watchdog Timer Support"
|
|
|
|
config WATCHDOG_NOWAYOUT
|
|
bool "Disable watchdog shutdown on close"
|
|
depends on WATCHDOG
|
|
|
|
config SOFT_WATCHDOG
|
|
tristate "Software Watchdog"
|
|
depends on WATCHDOG
|
|
|
|
config UML_WATCHDOG
|
|
tristate "UML watchdog"
|
|
depends on WATCHDOG
|
|
|
|
config UML_SOUND
|
|
tristate "Sound support"
|
|
help
|
|
This option enables UML sound support. If enabled, it will pull in
|
|
soundcore and the UML hostaudio relay, which acts as a intermediary
|
|
between the host's dsp and mixer devices and the UML sound system.
|
|
It is safe to say 'Y' here.
|
|
|
|
config SOUND
|
|
tristate
|
|
default UML_SOUND
|
|
|
|
config SOUND_OSS_CORE
|
|
bool
|
|
default UML_SOUND
|
|
|
|
config HOSTAUDIO
|
|
tristate
|
|
default UML_SOUND
|
|
|
|
#It is selected elsewhere, so kconfig would warn without this.
|
|
config HW_RANDOM
|
|
tristate
|
|
default n
|
|
|
|
config UML_RANDOM
|
|
tristate "Hardware random number generator"
|
|
help
|
|
This option enables UML's "hardware" random number generator. It
|
|
attaches itself to the host's /dev/random, supplying as much entropy
|
|
as the host has, rather than the small amount the UML gets from its
|
|
own drivers. It registers itself as a standard hardware random number
|
|
generator, major 10, minor 183, and the canonical device name is
|
|
/dev/hwrng.
|
|
The way to make use of this is to install the rng-tools package
|
|
(check your distro, or download from
|
|
http://sourceforge.net/projects/gkernel/). rngd periodically reads
|
|
/dev/hwrng and injects the entropy into /dev/random.
|
|
|
|
config MMAPPER
|
|
tristate "iomem emulation driver"
|
|
help
|
|
This driver allows a host file to be used as emulated IO memory inside
|
|
UML.
|
|
|
|
endmenu
|