[alsa-devel] [PATCH] ALSA: hda/jack - Also add jack kctls for Conexant codecs

Takashi Iwai tiwai at suse.de
Thu Dec 22 15:19:40 CET 2011

At Thu, 22 Dec 2011 14:12:51 +0000,
Mark Brown wrote:
> On Thu, Dec 22, 2011 at 02:55:57PM +0100, Takashi Iwai wrote:
> > Mark Brown wrote:
> > > A pure addition can still cause problems as we roll out the same
> > > interface into other drivers, for example if there's assumptions that
> > > aren't generally true.
> > In later future, yes.  But I was talking about 3.3 kernel.
> Once we've got a userspace interface we're pretty much stuck with it...

Yes, but this is no new interface.  It uses the existing control API.

> > > I'm guessing that as this is just a simple boolean each jack will have a
> > > series of controls like "Headset Jack Headphone" and "Headset Jack
> > > Microphone" or whatever and userspace should match them all together in
> > > the same way that it does for Volume and Switch controls?
> > My current assumption is so, too.  OTOH, if a single jack must provide
> > several values inevitably, it may take an integer or an enum, in
> > theory.  But I think (and hope) this wouldn't happen.
> Supporting multiple objects on a single jack is a very basic requirement
> in order to support headsets (which exist on PCs as well, the MacBooks
> for example) - we can usually distinguish between at least headset and
> headphone.

Interesting.  This can be a single jack connected to multiple pins, so
the codec sees two individual detection points.  So, if we want to
expose pins, it'd become different from the jack representation.

>  I think if we're going to do this via a single multi-state
> control rather than a series of booleans it'd need to be an enum for
> usability ("an object of type 2!"), Android uses integers and it's
> pretty miserable for usability.

I see, good to know.


> > >  That sounds
> > > like it'll work well, we just need to define some strings for standard
> > > jacks and conections.
> > Yeah.  Unfortunately this standardization isn't always trivial,
> > especially when multiple jacks are present with the same type...
> I was thinking more about the things you might detect rather than the
> jacks, that's a much more tractable problem.
> > My idea is to give some association between this jack kctl and another
> > kctl, in a simple way like TLV.  But it's likely a new year's dream.
> Associating the jacks with the audio routes is definitely a separate
> problem.

More information about the Alsa-devel mailing list