asoc驱动注册

概要

asoc驱动指基于asoc框架实现的驱动模块,包括platform、codec、DAI、machine。

  • platform驱动注册接口snd_soc_register_platform
  • codec、codec dai驱动注册接口snd_soc_register_codec
  • machine驱动注册接口snd_soc_register_card
  • cpu DAI驱动注册接口snd_soc_register_component

asoc core 会为codec、platform、DAI创建相应的component实例。codec创建的component实例会包含所属的所有DAI实例,DAI创建的component实例也是一样。

接口

snd_soc_register_codec

创建codec实例,把codec实例、codec driver实例抽象成component实例、component driver实例。根据codec dai driver创建相应的dai实例并挂在到component实例的链表里。把component实例挂在到全局链表component_list。

snd_soc_register_platform

创建platform实例,把platform实例、driver实例抽象成component实例、component driver实例。把component实例挂在到全局链表component_list。

snd_soc_register_component

创建component实例,根据 dai driver创建相应的dai实例并挂在到component实例的链表里。把component实例挂在到全局链表component_list。

原文地址:https://www.cnblogs.com/bobfly1984/p/13967039.html