ALSA: hda/ca0132 - Remove input select enum for ZxR
authorConnor McAdams <conmanx360@gmail.com>
Sun, 30 Sep 2018 03:03:24 +0000 (23:03 -0400)
committerTakashi Iwai <tiwai@suse.de>
Tue, 2 Oct 2018 15:21:44 +0000 (17:21 +0200)
This patch removes the input select control for the ZxR, as it only has
one input option, rear microphone.

Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_ca0132.c

index bc8745f..f0781e4 100644 (file)
@@ -6402,8 +6402,13 @@ static int ca0132_build_controls(struct hda_codec *codec)
         */
        if (spec->use_alt_functions) {
                ca0132_alt_add_output_enum(codec);
-               ca0132_alt_add_input_enum(codec);
                ca0132_alt_add_mic_boost_enum(codec);
+               /*
+                * ZxR only has microphone input, there is no front panel
+                * header on the card, and aux-in is handled by the DBPro board.
+                */
+               if (spec->quirk != QUIRK_ZXR)
+                       ca0132_alt_add_input_enum(codec);
        }
 
        if (spec->quirk == QUIRK_AE5) {
@@ -7665,6 +7670,14 @@ static void ca0132_init_chip(struct hda_codec *codec)
        spec->effects_switch[PLAY_ENHANCEMENT - EFFECT_START_NID] = 1;
        spec->effects_switch[CRYSTAL_VOICE - EFFECT_START_NID] = 0;
 
+       /*
+        * The ZxR doesn't have a front panel header, and it's line-in is on
+        * the daughter board. So, there is no input enum control, and we need
+        * to make sure that spec->in_enum_val is set properly.
+        */
+       if (spec->quirk == QUIRK_ZXR)
+               spec->in_enum_val = REAR_MIC;
+
 #ifdef ENABLE_TUNING_CONTROLS
        ca0132_init_tuning_defaults(codec);
 #endif