On Thu, Apr 20, 2023 at 04:27:35PM +0200, Takashi Iwai wrote:
But why this has to be buried in the middle of a patch containing lots
of other changes...? Better to split out and start a new thread.
this "patch" doesn't contain any changes, only a bunch of questions.
given the expected audience, i don't think that "burying" it was
detrimental.
IIRC, this was a result after struggles with the structured control
implementations. It became too complex, and the plain array with
string representation can cover all complexity, while it still allows
the grouping in user-space side.
i can see how a keyword based interface description is appealing - it
keeps the kernel interface slim and flexible. but of course that comes
at a steep cost in user space - i for one got completely lost and was
unable to debug the bug described in the OP.
maybe a middle way would have been the best option?
Again, the choice was done in a quarter century ago, and if you change
it, you'll certainly break the whole things badly. We must keep the
compatibility.
i don't intend to actually change it. but suppose we did.
i suppose we'd have to add SNDRV_CTL_ELEM_ACCESS_{PLAYBACK,CAPTURE}.
both could be set for unspecific and actually bidirectional controls. if
neither is set, user space would fall back to the keyword based rules
(and exceptions ...) - that would be backwards compatible and would
enable a gradual migration.
regards