On Jul 18 2016 11:47, Mengdong Lin wrote:
Thanks for your suggestions. But this tool is not for directly adding controls from the user space.
It's for ADSP firmware vendors to describe the controls/widgets/pcms for a specific version of firmware. Previously, these components are hard coded in ASoC platforms drivers and not so convenient to share a common driver for different firmwares. The topology binary generated by this tool will be loaded by ASoC platform driver with a specific firmware binary, and so ASoC will create the controls/widgets/pcms that match the firmware automatically.
I know all of what you explained. Therefore, You misunderstand about my suggestion.
What I suggested is to drop a support of SNDRV_CTL_ELEM_ACCESS_USER flag from current topology implementation in userspace library, because current implementation of ALSA SoC part doesn't support it.
In ALSA SoC part, snd_ctl_new1() is called to add a control element set as a result of parsing binary blob generated by topology implementation.
In snd_ctl_new1(), SNDRV_CTL_ELEM_ACCESS_USER flag is dropped, in these lines: http://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/sound/core/...
Totally, the flag cannot be supported by current implementation of topology in kernel. Thus, in userspace, we should drop this line to prevent users from confusions: http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/topology/ctl.c;h=b9...
That's all what I mentioned. If something unclear, please tell it to me.
Regards
Takashi Sakamoto