ALSA声卡驱动创建过程

参考linux内核:3.4.99

一.概述

ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构。在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA为我们提供了alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。


二.声卡的建立(参考/sound/arm/pxa2xx-ac97.c)

从probe函数开始看起:

pxa2xx_ac97_probe()
  |-->snd_card_create() 创建声卡芯片专用数据
  |   |-->snd_ctl_create()创建control控制设备
  |   |    |-->snd_device_new()-->snd_ctl_dev_register()
  |   |                            |-->snd_register_device()创建control字符设备,注册file_ops结构体
  |   |                                |-->snd_register_device_for_dev()此时创建了controlC%i设备
  |   |-->snd_info_card_create()创建该声卡的proc文件
  |
  |-->pxa2xx_pcm_new()
  |      |-->snd_pcm_new()创建声卡PCM数据设备
  |      |       |-->_snd_pcm_new()-->snd_pcm_dev_register()
  |      |                

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值