|
@@ -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
|