【发布时间】:2018-03-06 18:27:55
【问题描述】:
我正在尝试调试 amlogic 设备上的音响系统。 amixer 和 alsamixer 未按预期工作,并且 amixer 可能会使系统崩溃。我正在努力解决的是驱动程序通过构造一个 snd_kcontrol 对象来传递访问硬件寄存器的方法,所有这些都如 ALSA 网站上的编写 ALSA 驱动程序中所述。但是 amixer cset 从 control.c 调用 snd_ctl_elem_write ,它指的是 snd_ctl_t 对象中的 element_write。
我看不到定义的 snd_kcontrol 和任何 snd_ctl_t 对象之间的任何链接,因此看不到 amixer 应该如何写入硬件。一般是怎么做的?
【问题讨论】:
-
该链接由
cnd_ctl_add()建立。 -
谢谢,但是 snd_ctl_add() 只需要一个 snd_card 和 snd_kcontrol 结构。与 snd_ctl_t 无关。对不起,如果我很厚。