Ядерное API для ALSA-драйверов - сущий ад из бойлерплейта и poor man vtables. Я написал уже килостроку, трижды запутался и несчетное количество раз забыл, чем отличаются сущности pcm, substream, codec, soc_dai, soc, hw. А оно все еще нихуя не делает и даже не собирается.