On Oct 10 2016 18:26, Arnaud Pouliquen wrote: > Sorry if my approach to treat the topic is not good. My Aim is to find a > way to support multi instances of an alsa control. > As I suppose that i'm not alone to have this kind of problematic. I am > trying to look for a generic way to do it. > >> >> On Oct 8 2016 01:41, Arnaud Pouliquen wrote: >>> Perhaps this could be handled in a generic way in control.c? >>> Today if control is identical, snd_ctl_add returns an error. >>> Instead an auto-incrementation mechanism could be implemented to >>> increase index. >> >> Just for ALSA SoC part, something like below (not tested). This never >> work well because 0 is still assigned to the index field later. > Index is forced to 0 in snd_soc_cnew. Not updated after, please find > comment in line in your patch. I should write that '0 is assigned to the index field later than calculated index number is assigned'. >> But I still oppose this idea. This idea allows drivers to add control >> element sets of different types (int/int64/bytes etc...) with the same >> name and different index number. This certainly brings confusions to >> applications. > Today is already possible using the device or subdevice field instead of > index. Please explain about the reason or show references to the reason that usage of iface/card/device/subdevice combination is not convenient to your issue. To me, this solves the issue (second issue in your previous message) because at least, from user land, applications can identify a control element corresponding to each PCM subdevice. In other words, in your taste, why this is not a generic way for something you face (this is not cleared yet to me). >> In a framework of ALSA SoC part, several drivers are associated to one >> sound card instance can add their own control element sets. There's no >> mechanism to prevent my concern. This idea is bad. > Please tell me if i misunderstand. So for you, there is no real solution > to do it in a generic way. Drivers has to implement it, if they want to > support. Over-generalizing, you did. In my insistent, the usage of index field for this purpose is not just better. I've never said that no real solutions we have. > Another solution is to declare a card per instance of control. > This should work for my use case and for use cases with several codecs > that declare same controls.> But this should not work for DPCM... > The drawback for my use case, would be that i need to declare one card > per PCM device. In my understanding, this idea is not good for simple-card implementation in ALSA SoC part, too. The idea needs more complicated driver to have several instances of sound card. Regards Takashi Sakamoto _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel