[alsa-devel] Jack detection on HDA vs SoC
Takashi Iwai
tiwai at suse.de
Mon Feb 6 10:48:12 CET 2012
At Sat, 4 Feb 2012 14:02:09 +0000,
Mark Brown wrote:
>
> On Sat, Feb 04, 2012 at 01:20:29PM +0000, Mark Brown wrote:
> > On Fri, Feb 03, 2012 at 06:01:41PM -0800, Dylan Reid wrote:
>
> > > Is there a plan for the soc code to use the control-based method?
>
> > Not exactly. I'm expecting that the new interface will be integrated
> > into the generic ALSA jack support rather than done as a custom thing in
> > the HDA drivers which will mean that anything supporting accessory
> > detect will get support, including ASoC. This stuff should really be
> > handled in the core rather than in individual drivers, there's also
> > extcon which we'll need to integrate with.
>
> BTW, the core code I'm talking about is that in sound/core/jack.c but I
> just noticed we also acquired a sound/core/ctljack.c.
>
> Takashi, we really need to sort this stuff out - it's all getting very
> confusing. We've got two different bits of code with very similar
> interfaces on the driver side but totally different application layer
> interfaces. From a driver point of view it's not great to have to tell
> the core the same thing twice and from an application point of view we
> don't have any consistency.
Yep, absolutely.
> Looking at the code I don't understand why ctljack is done separately to
> the rest of the accessory detection - surely we should just have the
> snd_jack code create a control for each thing that can be reported? I
> can't immediately see a problem with just putting a "Headphone Jack" or
> whatever the naming convention is for these controls on the end of the
> name that we were given for the base jack (probably support that being
> empty).
The simple answer is not to break the things right now :)
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.
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.
Definitely the integration work is necessary and foreseen. The
biggest problem my workload for other tasks.
thanks,
Takashi
More information about the Alsa-devel
mailing list