浏览代码

ALSA: hda - Add a generic fixup callback for Realtek codecs

Add a generic callback function for fixup elements.  This can be used
to do some unusual things like overriding the AMP cache, etc.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 14 年之前
父节点
当前提交
9d57883f08
共有 1 个文件被更改,包括 9 次插入0 次删除
  1. 9 0
      sound/pci/hda/patch_realtek.c

+ 9 - 0
sound/pci/hda/patch_realtek.c

@@ -1681,6 +1681,8 @@ struct alc_fixup {
 	unsigned int sku;
 	const struct alc_pincfg *pins;
 	const struct hda_verb *verbs;
+	void (*func)(struct hda_codec *codec, const struct alc_fixup *fix,
+		     int pre_init);
 };
 
 static void alc_pick_fixup(struct hda_codec *codec,
@@ -1720,6 +1722,13 @@ static void alc_pick_fixup(struct hda_codec *codec,
 #endif
 		add_verb(codec->spec, fix->verbs);
 	}
+	if (fix->func) {
+#ifdef CONFIG_SND_DEBUG_VERBOSE
+		snd_printdd(KERN_INFO "hda_codec: %s: Apply fix-func for %s\n",
+			    codec->chip_name, quirk->name);
+#endif
+		fix->func(codec, fix, pre_init);
+	}
 }
 
 static int alc_read_coef_idx(struct hda_codec *codec,