ALSA: hda - Allow jack state to depend on another jack
authorDylan Reid <dgreid@chromium.org>
Mon, 19 Nov 2012 18:48:07 +0000 (19:48 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 19 Nov 2012 18:49:58 +0000 (19:49 +0100)
commit0619ba8c17b121ef0273be181198659b17d84247
tree81cb3273e7376734b517d4695efa3d02455458ad
parent379170a42c84cee5f95fac536a4b5b76843baf90
ALSA: hda - Allow jack state to depend on another jack

Introduce the concept of a "gated" jack.  The gated jack's pin sense
is
only valid when the "gating" jack is plugged.  This requires checking
the gating jack when the gated jack changes and re-checking the gated
jack when the gating jack is plugged/unplugged.

This allows handling of devices where the mic jack detect floats when
the headphone jack is unplugged.

[Rewritten for fixing the possible snd_array reallocation, covering
 the missing callback calls and jack sync operations, as well as some
 code cleanups -- tiwai]

Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_jack.c
sound/pci/hda/hda_jack.h