我試圖在amlogic設備上調試聲音系統。 amixer和alsamixer沒有按預期工作,並且amixer可能會導致系統崩潰。我所苦惱的是,驅動程序通過構建一個snd_kcontrol對象來傳遞訪問硬件寄存器的方法,所有這些都是在ALSA網站上編寫ALSA驅動程序中描述的。但是,amixer cset從control.c調用snd_ctl_elem_write,它指向snd_ctl_t對象中的element_write。需要幫助瞭解alsa驅動程序
我看不到定義的snd_kcontrol和任何snd_ctl_t對象之間的任何鏈接,所以看不到amixer應該如何寫入硬件。通常情況如何?
該鏈接由'cnd_ctl_add()'建立。 –
謝謝,但afaict snd_ctl_add()只需要一個snd_card和snd_kcontrol結構。與snd_ctl_t無關。對不起,如果我很厚。 – graham