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