On Thu, Mar 19, 2015 at 03:09:30PM +0100, Takashi Iwai wrote:
As far as I understand correctly, so far ASoC drivers also report headset as boolean (the bits are multiple, but reports are either zero or N bits). So, we agreed on creating boolean "Headset" kctls.
That's right - every input our output that might appear on the port is a separate boolean flag so we can represent any combination of them.
One option is to provide multiple boolean kctls ("Headset Mic Jack"). Another option is to allow enum type for kctl jacks. Or, yet another alternative is to provide an enum ctl (e.g. "Headset Jack Type") in addition to a boolean kctl ("Headset Jack"). There can be other ways, too...
I think any of those work; my guess is that the "Headset Jack Type" enum is the one that's going to be least disruptive to the ABI (in that it keeps the existing control untouched).