Linux v6.6.1 - drivers

# SPDX-License-Identifier: GPL-2.0-only
config SND_MPU401_UART
	tristate
	select SND_RAWMIDI

config SND_OPL3_LIB
	tristate
	select SND_TIMER
	select SND_HWDEP
	select SND_SEQ_DEVICE if SND_SEQUENCER != n

config SND_OPL4_LIB
	tristate
	select SND_TIMER
	select SND_HWDEP
	select SND_SEQ_DEVICE if SND_SEQUENCER != n

# select SEQ stuff to min(SND_SEQUENCER,SND_XXX)
config SND_OPL3_LIB_SEQ
	def_tristate SND_SEQUENCER && SND_OPL3_LIB
	select SND_SEQ_MIDI_EMUL
	select SND_SEQ_MIDI_EVENT

config SND_OPL4_LIB_SEQ
	def_tristate SND_SEQUENCER && SND_OPL4_LIB
	select SND_SEQ_MIDI_EMUL
	select SND_SEQ_MIDI_EVENT

config SND_VX_LIB
	tristate
	select FW_LOADER
	select SND_HWDEP
	select SND_PCM

config SND_AC97_CODEC
	tristate
	select SND_PCM
	select AC97_BUS
	select SND_VMASTER

menuconfig SND_DRIVERS
	bool "Generic sound devices"
	default y
	help
	  Support for generic sound devices.
  
if SND_DRIVERS

config SND_PCSP
	tristate "PC-Speaker support (READ HELP!)"
	depends on PCSPKR_PLATFORM && X86 && HIGH_RES_TIMERS
	depends on INPUT
	select SND_PCM
	help
	  If you don't have a sound card in your computer, you can include a
	  driver for the PC speaker which allows it to act like a primitive
	  sound card.
	  This driver also replaces the pcspkr driver for beeps.

	  You can compile this as a module which will be called snd-pcsp.

	  WARNING: if you already have a soundcard, enabling this
	  driver may lead to a problem. Namely, it may get loaded
	  before the other sound driver of yours, making the
	  pc-speaker a default sound device. Which is likely not
	  what you want. To make this driver play nicely with other
	  sound driver, you can add this in a configuration file under
	  /etc/modprobe.d/ directory:
	  options snd-pcsp index=2

	  You don't need this driver if you only want your pc-speaker to beep.
	  You don't need this driver if you have a tablet piezo beeper
	  in your PC instead of the real speaker.

	  Say N if you have a sound card.
	  Say M if you don't.
	  Say Y only if you really know what you do.

config SND_DUMMY
	tristate "Dummy (/dev/null) soundcard"
	select SND_PCM
	help
	  Say Y here to include the dummy driver.  This driver does
	  nothing, but emulates various mixer controls and PCM devices.

	  You don't need this unless you're testing the hardware support
	  of programs using the ALSA API.

	  To compile this driver as a module, choose M here: the module
	  will be called snd-dummy.

config SND_ALOOP
	tristate "Generic loopback driver (PCM)"
	select SND_PCM
	select SND_TIMER
	help
	  Say 'Y' or 'M' to include support for the PCM loopback device.
	  This module returns played samples back to the user space using
	  the standard ALSA PCM device. The devices are routed 0->1 and
	  1->0, where first number is the playback PCM device and second
	  number is the capture device. Module creates two PCM devices and
	  configured number of substreams (see the pcm_substreams module
	  parameter).

	  The loopback device allows time synchronization with an external
	  timing source using the time shift universal control (+-20%
	  of system time).

	  To compile this driver as a module, choose M here: the module
	  will be called snd-aloop.

config SND_PCMTEST
	tristate "Virtual PCM test driver"
	depends on DEBUG_FS
	select SND_PCM
	help
	  Say 'Y' or 'M' to include support for the Virtual PCM test driver.
	  This driver is aimed at extended testing of the userspace applications
	  which use the ALSA API, as well as the PCM middle layer testing.

	  It can generate random or pattern-based data into the capture stream,
	  check the playback stream for containing the selected pattern, inject
	  time delays during capture/playback, redefine the RESET ioctl operation
	  to perform the PCM middle layer testing and inject errors during the
	  PCM callbacks. It supports both interleaved and non-interleaved access
	  modes. You can find the corresponding selftest in the 'alsa'
	  selftests folder.

config SND_VIRMIDI
	tristate "Virtual MIDI soundcard"
	depends on SND_SEQUENCER
	select SND_TIMER
	select SND_RAWMIDI
	select SND_SEQ_VIRMIDI
	select SND_SEQ_MIDI_EVENT
	help
	  Say Y here to include the virtual MIDI driver.  This driver
	  allows to connect applications using raw MIDI devices to
	  sequencer clients.

	  If you don't know what MIDI is, say N here.

	  To compile this driver as a module, choose M here: the module
	  will be called snd-virmidi.

config SND_MTPAV
	tristate "MOTU MidiTimePiece AV multiport MIDI"
	depends on HAS_IOPORT
	select SND_RAWMIDI
	help
	  To use a MOTU MidiTimePiece AV multiport MIDI adapter
	  connected to the parallel port, say Y here and make sure that
	  the standard parallel port driver isn't used for the port.

	  To compile this driver as a module, choose M here: the module
	  will be called snd-mtpav.

config SND_MTS64
	tristate "ESI Miditerminal 4140 driver"
	depends on PARPORT
	select SND_RAWMIDI
	help
	  The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with 
	  additional SMPTE Timecode capabilities for the parallel port.

	  Say 'Y' to include support for this device.

	  To compile this driver as a module, chose 'M' here: the module 
	  will be called snd-mts64.

config SND_SERIAL_U16550
	tristate "UART16550 serial MIDI driver"
	depends on HAS_IOPORT
	select SND_RAWMIDI
	help
	  To include support for MIDI serial port interfaces, say Y here
	  and read <file:Documentation/sound/cards/serial-u16550.rst>.
	  This driver works with serial UARTs 16550 and better.

	  This driver accesses the serial port hardware directly, so
	  make sure that the standard serial driver isn't used or
	  deactivated with setserial before loading this driver.

	  To compile this driver as a module, choose M here: the module
	  will be called snd-serial-u16550.

config SND_SERIAL_GENERIC
	tristate "Generic serial MIDI driver"
	depends on SERIAL_DEV_BUS
	depends on OF
	select SND_RAWMIDI
	help
	  To include support for mapping generic serial devices as raw
	  ALSA MIDI devices, say Y here. The driver only supports setting
	  the serial port to standard baudrates. To attain the standard MIDI
	  baudrate of 31.25 kBaud, configure the clock of the underlying serial
	  device so that a requested 38.4 kBaud will result in the standard speed.

	  Use this devicetree binding to configure serial port mapping
	  <file:Documentation/devicetree/bindings/sound/serial-midi.yaml>

	  To compile this driver as a module, choose M here: the module
	  will be called snd-serial-generic.

config SND_MPU401
	tristate "Generic MPU-401 UART driver"
	depends on HAS_IOPORT
	select SND_MPU401_UART
	help
	  Say Y here to include support for MIDI ports compatible with
	  the Roland MPU-401 interface in UART mode.

	  To compile this driver as a module, choose M here: the module
	  will be called snd-mpu401.

config SND_PORTMAN2X4
	tristate "Portman 2x4 driver"
	depends on PARPORT
	select SND_RAWMIDI
	help
	  Say Y here to include support for Midiman Portman 2x4 parallel
	  port MIDI device.

	  To compile this driver as a module, choose M here: the module
	  will be called snd-portman2x4.

config SND_AC97_POWER_SAVE
	bool "AC97 Power-Saving Mode"
	depends on SND_AC97_CODEC
	default n
	help
	  Say Y here to enable the aggressive power-saving support of
	  AC97 codecs.  In this mode, the power-mode is dynamically
	  controlled at each open/close.

	  The mode is activated by passing 'power_save=X' to the
	  snd-ac97-codec driver module, where 'X' is the time-out
	  value, a nonnegative integer that specifies how many
	  seconds of idle time the driver must count before it may
	  put the AC97 into power-save mode;  a value of 0 (zero)
	  disables the use of this power-save mode.

	  After the snd-ac97-codec driver module has been loaded,
	  the 'power_save' parameter can be set via sysfs as follows:

	    echo 10 > /sys/module/snd_ac97_codec/parameters/power_save

	  In this case, the time-out is set to 10 seconds; setting
	  the time-out to 1 second (the minimum activation value)
	  isn't recommended because many applications try to reopen
	  the device frequently.  A value of 10 seconds would be a
	  good choice for normal operations.

	  See Documentation/sound/designs/powersave.rst for more details.

config SND_AC97_POWER_SAVE_DEFAULT
	int "Default time-out for AC97 power-save mode"
	depends on SND_AC97_POWER_SAVE
	default 0
	help
	  The default time-out value in seconds for AC97 automatic
	  power-save mode.  0 means to disable the power-save mode.

	  See SND_AC97_POWER_SAVE for more details.

endif	# SND_DRIVERS