[alsa-devel] [PATCH 1/2] ALSA: hda - Fix phantom jacks on VT1708
Takashi Iwai
tiwai at suse.de
Tue Feb 5 12:27:59 CET 2013
At Tue, 5 Feb 2013 12:06:02 +0100,
David Henningsson wrote:
>
> The VT1708 has no unsol event capability, and polling is set using
> the "Jack Detect" alsamixer control. In order not to create
> phantom Jack controls, temporary enable jackpoll during build_controls.
>
> Signed-off-by: David Henningsson <david.henningsson at canonical.com>
Applied both now. Thanks.
Takashi
> ---
> sound/pci/hda/patch_via.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> Sorry, the previous version of this patch the "int err" got lost.
>
> diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
> index 9641c0e..e934c49 100644
> --- a/sound/pci/hda/patch_via.c
> +++ b/sound/pci/hda/patch_via.c
> @@ -661,6 +661,18 @@ static int via_init(struct hda_codec *codec)
> return 0;
> }
>
> +static int vt1708_build_controls(struct hda_codec *codec)
> +{
> + /* In order not to create "Phantom Jack" controls,
> + temporary enable jackpoll */
> + int err;
> + int old_interval = codec->jackpoll_interval;
> + codec->jackpoll_interval = msecs_to_jiffies(100);
> + err = via_build_controls(codec);
> + codec->jackpoll_interval = old_interval;
> + return err;
> +}
> +
> static int vt1708_build_pcms(struct hda_codec *codec)
> {
> struct via_spec *spec = codec->spec;
> @@ -723,6 +735,7 @@ static int patch_vt1708(struct hda_codec *codec)
> spec->init_verbs[spec->num_iverbs++] = vt1708_init_verbs;
>
> codec->patch_ops = via_patch_ops;
> + codec->patch_ops.build_controls = vt1708_build_controls;
> codec->patch_ops.build_pcms = vt1708_build_pcms;
>
> /* clear jackpoll_interval again; it's set dynamically */
> --
> 1.7.9.5
>
More information about the Alsa-devel
mailing list