On Mon, Feb 06, 2012 at 10:48:12AM +0100, Takashi Iwai wrote:
In the current release, I left ctljack.c as is before the integration with jack.c simply because of different use-cases I faced: the input-jack provides the multiple switches for a single jack while the current ctljack.c provides only a boolean. Although the ctljack can provide an enum instead of a boolean for representing a similar model, I wanted to get the global overlook and a consensus at first.
That's not the case with the standard jack stuff at all - it's not using any enumerations. Everything that's grouped together is bitfields, it's just a set of booleans all the way up to userspace.
Meanwhile, the boolean implementation is enough for most of PC (especially HD-audio) stuff and the ctljack implementation was demanded. Thus I decided to merge the branch for 3.2.
So are they just booleans, and is there a naming standard for the controls? I've never seen any clear description of the semantics and I'd been assuming from the fact that all this had been done outside the standard infrastructure that there was some deep HDA specificness in the current somewhere but it's not sounding that way.
Definitely the integration work is necessary and foreseen. The biggest problem my workload for other tasks.
TBH it looks like it'd have been less work to start off in the core - all the hooks were already in the drivers.