[alsa-devel] Changes on Realtek fix-up handling
Takashi Iwai
tiwai at suse.de
Fri Jan 14 10:02:40 CET 2011
Hi,
there were slight changes in the handling of fix-up's in HD-audio
patch_realtek.c. Now, the fixup struct is like:
struct alc_fixup {
int type;
bool chained;
int chain_id;
union {
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 action);
} v;
};
and each fixup entry has only one type, either sku, pins, verbs or
func specified by the type field. If chained is set, the entry
corresponding to chain_id is evaluated at next, so fixup entries
can be reused if an additional change is required to the existing
one.
The callback function can take "action" instead of "pre_init" flag.
This can be either ALC_FIXUP_ACT_PRE_PROBE, ALC_FIXUP_ACT_PROBE or
AL_FIXUP_ACT_INIT. The first two are the cases pre_init=1 and
pre_init=0, i.e. the fix-up is handled during probing only once.
The last one means that the fix-up is called in the init callback,
i.e. at initialization during the first loading and PM resume.
My plan is to move from the quirk entries to fixup entries with
auto-parse mode in more cases, and the above changes are of help
for that.
thanks,
Takashi
More information about the Alsa-devel
mailing list