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>
This commit is contained in:
Takashi Iwai 2010-11-22 13:29:19 +01:00
parent 01e0f1378c
commit 9d57883f08

View File

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