On Tue, Jun 28, 2011 at 06:35:33PM +0200, Takashi Iwai wrote:
If only the same functionality is required as currently done in the input-jack layer, re-implementing the jack-detection elements in ALSA control API is pretty easy. It means that the control element would have some jack name with a location prefix or such, reports the current jack status, and notifies the jack change. That's all. Optionally, it can have a TLV data giving the HD-audio jack attribute, too.
It needs a subset of the current information - it should report only audio events, so pretty much only headphone, microphone or line out presence. Anything else needs to be reported via a different API and figured out by userspace, and the input device should stay there for button press events.