没有合适的资源?快使用搜索试试~ 我知道了~
首页mt_soc_snd_init.pdf
资源详情
资源评论
资源推荐
1 / 1
snd_soc_card
指针赋值给driver_data
+rtd是个数组,数组大小等
于dai_link大小
snd_kcontrol
通过snd_ctl_new1
创建snd_kcontrol_new
snd_soc_dai_link
+
+
+
+
+
+
+
+
+
+
+
const char *name
const char *cpu_name
const char *cpu_dai_name
const char *codec_name
const char *codec_dai_name
struct snd_soc_dai_link_component *
codecs
const struct snd_soc_pcm_stream *params
const struct snd_soc_ops *ops;
const char *platform_name
struct device_node *cpu_of_node
struct device_node *codec_of_node
: char
: int
: int
: int
: int
: snd_soc_dai_link_component
: int
: int
: int
: int
: int
snd_soc_pcm_stream
+
+
+
+
+
+
const char *stream_name
unsigned int rates
unsigned int rate_min
unsigned int rate_max
unsigned int channels_min
unsigned int channels_max
:
:
:
:
:
:
snd_pcm_substream
+
+
+
+
+
+
+
+
+
struct snd_pcm *pcm
struct snd_pcm_str *pstr
void *private_data
char name[32]
int stream
const struct snd_pcm_ops *ops
struct snd_pcm_runtime *runtime
struct snd_pcm_substream *next;
struct list_head link_list
:
:
:
:
:
:
:
:
:
snd_soc_pcm_runtime
+
+
+
+
+
+
+
+
+
+
+
struct device *dev
struct snd_soc_card *card;
struct snd_pcm_ops ops;
struct snd_pcm *pcm;
struct snd_soc_dai_link *dai_link
struct snd_soc_codec *codec;
struct snd_soc_platform *platform
struct snd_soc_dai *codec_dai
struct snd_soc_dai *cpu_dai
struct snd_soc_component *component
struct snd_soc_dai **codec_dais
snd_card
+
+
+
+
+
+
char id[16]
char driver[16]
struct list_head devices
struct device ctl_dev
struct list_head controls
struct device *dev
:
:
:
:
:
:
+ void *private_data ()
snd_soc_card
+
+
+
+
+
+
+
const char *name
const char *driver_name;
struct device *dev
struct snd_card *snd_card
struct snd_soc_dai_link *dai_link
struct snd_soc_pcm_runtime *rtd
const struct snd_kcontrol_new *controls
:
:
:
:
:
:
:
+ int (*probe)(struct snd_soc_card *card)
()
mt_soc_snd_init
device
+
+
+
+
+
struct device *parent;
struct device_driver *driver
void *platform_data
void *driver_data
const struct device_type *type
:
:
:
:
:
+dai_link 数组
snd_soc_dai_link_component
+
+
+
const char *name
struct device_node *of_node
const char *dai_name
:
:
:
mt_snd_soc_card_mt 填充
snd_soc_dai
+
+
+
+
+
-
const char *name
struct device *dev
struct snd_soc_dai_driver *driver
struct snd_soc_codec *codec;
struct snd_soc_component *component
struct list_head list
:
:
:
:
:
:
snd_soc_platform
+
+
+
+
struct device *dev;
const struct snd_soc_platform_driver *
driver
struct list_head list
structsnd_soc_component component
:
:
:
:
snd_soc_codec
+
+
+
+
+
struct device *dev
const struct snd_soc_codec_driver *
driver;
struct list_head list;
struct list_head card_list;
struct snd_soc_component component
:
:
:
:
:
通过soc_bind_dai_link 绑定对应的cpu_dai
code_dai codec platform
+codec
+platform
+code_dai/cpu_dai
snd_pcm
+
+
+
+
struct snd_card *card;
struct list_head list;
struct snd_pcm_str streams[2]
void *private_data
:
:
:
:
snd_pcm_str
+
+
+
+
+
+
+
int stream
struct snd_pcm *pcm
unsigned int substream_count
struct snd_pcm_substream *substream
unsigned int substream_opened;
struct device dev
struct snd_kcontrol *chmap_kctl
:
:
:
:
:
:
:
snd_pcm_ops
+
+
+
+
+
+
int (*open)(struct snd_pcm_substream *
substream) ()
int (*close)(struct snd_pcm_substream *
substream); ()
int (*hw_params)(struct snd_pcm_
substream *substream,
struct snd_
pcm_hw_params *params) ()
int (*hw_free)(struct snd_pcm_
substream *substream) ()
int (*ioctl)(struct snd_pcm_substream *
substream,
unsigned int cmd,
void *arg); ()
snd_pcm_uframes_t (*pointer)(struct snd_
pcm_substream *substream) ()
+ops
+pcm
snd_kcontrol_new
+
+
+
+
+
+
+
snd_ctl_elem_iface_t iface
unsigned int device;
unsigned int subdevice
const unsigned char *name
snd_kcontrol_info_t
snd_kcontrol_get_t
snd_kcontrol_put_t
:
:
:
:
:
:
:
snd_kcontrol
+
+
+
+
+
struct list_head list
struct snd_ctl_elem_id id;
unsigned int count;
snd_kcontrol_get_t *get
snd_kcontrol_put_t *put
:
:
:
:
:
+snd_card
Bill_xiao
- 粉丝: 144
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0