diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-11-22 13:29:19 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-11-22 13:29:19 +0100 |
commit | 9d57883f08d3c0c111b50bf185dfee9731a12c76 (patch) | |
tree | 5d35f1d97789730bf40dff660b0144b64eedc92a /sound/pci | |
parent | 01e0f1378c47947b825eac05c98697ab1be1c86f (diff) | |
download | blackbird-op-linux-9d57883f08d3c0c111b50bf185dfee9731a12c76.tar.gz blackbird-op-linux-9d57883f08d3c0c111b50bf185dfee9731a12c76.zip |
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>
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 564e6c136ddd..f10c613c530f 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/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, |