On Thu, May 12, 2016 at 09:54:18AM +0200, Peter Rosin wrote:
On 2016-05-11 22:50, Mark Brown wrote:
If you don't CC maintainers the chances are your mails just won't get seen...
To me, it feels rude to single out people when asking general questions.
It's not a general question, it's a question about the ASoC APIs.
I my world, these kind of questions are exactly what mailing lists are for. But ok, lesson learned, noone actually reads alsa-devel...
People do read the lists but it's very easy for things to get missed and they won't always check them so often as their inbox, if you're looking for a quick reply you're likely to be disappointed.
You should change DAPM so that it understands what your control is doing, possibly by using custom accessors though it seems like something in the vein of the invert flag ought to do the trick. You don't want to actually use the invert flag since increasing values do mean increasing volume but something along those lines. Possibly doing it by parsing the TLV for a mute value at probe time might make sense?
It seems nicest to do the runtime scan of the TLV for the mute value when the control is attached (or thereabouts), i.e. your last suggestion, and then in snd_soc_dapm_put_volsw() change the line
That's definitely the nicest if it isn't too horrible to implemenent, yes.
However, I don't see where to add the runtime scan of the TLV, and I don't see what "something" in the above should be, i.e. where I should store the result of the TLV scan?
In the mixer control data where the invert and so on are at the minute.
Also, fixing DAPM to understand this problematic field will probably not make any difference for the confusion seen in alsamixer. This, coupled with the fact that the sidetone is not a function that I need makes me less than eager to take this on...
If alsamixer is failing to parse the TLV properly that needs fixing anyway. You could just leave that bit for someone else who cares if it's mostly cosmetic though.