Introduction to machine class drivers
Codec and platform drivers cannot work alone. Machine drivers are responsible for binding them together in order to finish audio information processing. The machine driver class acts as the glue that describes and ties the other component drivers together to form an ALSA sound card device. It manages any machine-specific controls and machine-level audio events (such as turning on an amp at the start of playback). The machine drivers describe and bind the CPU Digital Audio Interfaces (DAIs) and codec drivers together to create the DAI links and the ALSA sound card. The machine driver connects the codec drivers by linking the DAIs exposed by each module (the CPU and codec) described in Chapter 5, ALSA SoC Framework – Leveraging Codec and Platform Class Drivers. It defines the struct snd_soc_dai_link
structure and instantiates the sound card, struct snd_soc_card
.
Platform and codec drivers are generally reusable, but machine drivers are...