私は、amlogicデバイスでサウンドシステムをデバッグしようとしています。 amixerとalsamixerは期待どおりに動作せず、amixerはシステムをクラッシュさせる可能性があります。私が苦労しているのは、ドライバがALSAウェブサイトにALSAドライバを書き込むので説明されているように、snd_kcontrolオブジェクトを構築することによってドライバがハードウェアレジスタにアクセスするためのメソッドを渡すということです。しかし、amixer csetは、snd_ctl_tオブジェクト内のelement_writeを参照するcontrol.cからsnd_ctl_elem_writeを呼び出します。alsaドライバの理解に役立つ
定義済みのsnd_kcontrolオブジェクトとsnd_ctl_tオブジェクトの間にリンクがないため、どのようにamixerがハードウェアに書き込むのか分かりません。それはどのようにして正常に行われますか?
このリンクは 'cnd_ctl_add()'によって確立されます。 –
ありがとう、afaict snd_ctl_add()は、snd_cardとsnd_kcontrol構造体しか取ることができません。 snd_ctl_tとは何も関係ありません。もし私が厚いなら、申し訳ありません。 – graham