patch-2.1.102 linux/drivers/sound/README.CONFIG

Next file: linux/drivers/sound/ad1848.c
Previous file: linux/drivers/sound/Makefile
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.101/linux/drivers/sound/README.CONFIG linux/drivers/sound/README.CONFIG
@@ -0,0 +1,75 @@
+Sound Driver Configuration Notes
+Michael Chastain, <mailto:mec@shout.net>
+18 Apr 1998
+
+The Linux sound driver is derived from OSS/Free, a multi-platform
+Unix sound driver by Hannu Savolainen.  You can find out
+more about OSS/Free and the commercial version, OSS/Linux, at
+<http://www.opensound.com/ossfree>.
+
+OSS/Free comes with the configuration program 'configure.c'.  We have
+discarded that program in favor of a standard Linux configuration file
+Config.in.
+
+Config.in defines a set of symbols with the form CONFIG_SOUND_*.
+These are the -native symbols-.  Here is a description:
+
+    CONFIG_SOUND
+
+	This is the master symbol.  It controls whether the basic
+	sound-driver code is resident, modular, or not present at all.
+
+	If the basic driver is resident, each primary and secondary
+	driver can be resident, modular, or not present.
+
+	If the basic driver is modular, each primary and secondary driver
+	can be modular or not present.
+
+	And if the basic driver is not present, all other drivers are
+	not present, too.
+
+    Primary drivers
+
+	These are symbols such as CONFIG_SOUND_SB, CONFIG_SOUND_SB_MODULE,
+	CONFIG_SOUND_TRIX, or CONFIG_SOUND_TRIX_MODULE.  Each driver
+	that the user can directly select is a primary driver and has
+	the usual pair of symbols: one resident and one modular.
+
+	Each primary driver can be either resident or modular.
+
+    Secondary drivers
+
+	Primary drivers require the support of secondary drivers, such
+	as ad1848.o and uart401.o.
+
+	In Makefile, each primary driver has a list of required secondary
+	drivers.  The secondary driver requirements are merged and a
+	single definition is emitted at the end.
+
+	For each secondary driver: if any resident primary driver
+	requires it, that secondary driver will be resident.  If no
+	resident primary driver requires it but some modular primary
+	driver requires it, then that secondary driver will be modular.
+	Otherwise that secondary driver will be not present.
+
+	OSS/Free also contains tests for secondary drivers.  The Makefile
+	defines symbols for these drivers in EXTRA_CFLAGS.
+
+    CONFIG_AUDIO, CONFIG_MIDI, CONFIG_SEQUENCER
+
+	These three drivers are like secondary drivers, but not quite.
+	They can not yet be separated into modules.  They are always
+	linked into the basic sound driver, whether they are needed
+	or not.  (This is in case a primary driver is added to the
+	system later, as a module, and needs these facilities.	If it
+	were possible to modularise them, then they would get built as
+	additional modules at that time).
+
+The OSS/Free code does not use the native symbols directly, primarily
+because it does not know about modules.  I could edit the code, but that
+would make it harder to upgrade to new versions of OSS/Free.  Instead,
+the OSS/Free code continues to use -legacy symbols-.
+
+legacy.h defines all the legacy symbols to 1.  This is because, whenever
+OSS/Free tests a symbol, the Makefile has already arranged for that
+driver to be included.

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov