AC'97 codecs contain the analog-to-digital (A/D), digital-to-analog
(D/A), and mixing circuitry of many modern sound cards.
AC'97 codecs, for the most part, do not talk to host buses like the PCI bus
directly.
Instead, they communicate through an interface chip, called
the host controller.
The Ensoniq AudioPCI 97 (see
eap(4))
is an example of such a host controller.
Unlike many drivers, the
ac97
driver does not appear in the configuration file.
Instead, the driver is automatically attached by the drivers that require it.
The
ac97
driver does not keep track of the current user settings and instead
relies on the hardware to do this.
The
ac97
driver could do more to detect mixer channels that don't work and cull
them from the list.