Summary
In this chapter, we analyzed the ASoC architecture. On this basis, we dealt with both the codec driver and the platform driver. By learning about these topics, we went through several concepts, such as controls and widgets. We have seen how the ASoC framework differs from the classic PC ALSA system, mostly by targeting code reusability and implementing power management.
Last but not least, we have seen that platform and codec drivers do not work standalone. They need to be bound together by the machine driver, which is responsible for registering the final audio device, and this is the main topic in the next chapter.