Message ID | 1401092564-14293-1-git-send-email-hui.wang@canonical.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Takashi Iwai |
Headers | show |
At Mon, 26 May 2014 16:22:40 +0800, Hui Wang wrote: > > From: David Henningsson <david.henningsson@canonical.com> > > The "fixup_forced" flag will indicate whether a specific fixup > (or nofixup) has been set by the user, to override the driver's > default. > This flag will help future patches. > > Signed-off-by: David Henningsson <david.henningsson@canonical.com> In general, when you submit a patch, *you* need to sign off the patch in addition. It's no big problem in this case since I already got the same patches from David, though. In anyway, I applied all patches now. Thanks. Takashi > --- > sound/pci/hda/hda_auto_parser.c | 9 ++++++--- > sound/pci/hda/hda_codec.h | 1 + > 2 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c > index 90d2fda..36961ab 100644 > --- a/sound/pci/hda/hda_auto_parser.c > +++ b/sound/pci/hda/hda_auto_parser.c > @@ -852,15 +852,17 @@ void snd_hda_pick_fixup(struct hda_codec *codec, > if (codec->modelname && !strcmp(codec->modelname, "nofixup")) { > codec->fixup_list = NULL; > codec->fixup_id = -1; > + codec->fixup_forced = 1; > return; > } > > if (codec->modelname && models) { > while (models->name) { > if (!strcmp(codec->modelname, models->name)) { > - id = models->id; > - name = models->name; > - break; > + codec->fixup_id = models->id; > + codec->fixup_name = models->name; > + codec->fixup_forced = 1; > + return; > } > models++; > } > @@ -889,6 +891,7 @@ void snd_hda_pick_fixup(struct hda_codec *codec, > } > } > > + codec->fixup_forced = 0; > codec->fixup_id = id; > if (id >= 0) { > codec->fixup_list = fixlist; > diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h > index a423313..5825aa1 100644 > --- a/sound/pci/hda/hda_codec.h > +++ b/sound/pci/hda/hda_codec.h > @@ -402,6 +402,7 @@ struct hda_codec { > > /* fix-up list */ > int fixup_id; > + unsigned int fixup_forced:1; /* fixup explicitly set by user */ > const struct hda_fixup *fixup_list; > const char *fixup_name; > > -- > 1.8.1.2 >
diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c index 90d2fda..36961ab 100644 --- a/sound/pci/hda/hda_auto_parser.c +++ b/sound/pci/hda/hda_auto_parser.c @@ -852,15 +852,17 @@ void snd_hda_pick_fixup(struct hda_codec *codec, if (codec->modelname && !strcmp(codec->modelname, "nofixup")) { codec->fixup_list = NULL; codec->fixup_id = -1; + codec->fixup_forced = 1; return; } if (codec->modelname && models) { while (models->name) { if (!strcmp(codec->modelname, models->name)) { - id = models->id; - name = models->name; - break; + codec->fixup_id = models->id; + codec->fixup_name = models->name; + codec->fixup_forced = 1; + return; } models++; } @@ -889,6 +891,7 @@ void snd_hda_pick_fixup(struct hda_codec *codec, } } + codec->fixup_forced = 0; codec->fixup_id = id; if (id >= 0) { codec->fixup_list = fixlist; diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index a423313..5825aa1 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h @@ -402,6 +402,7 @@ struct hda_codec { /* fix-up list */ int fixup_id; + unsigned int fixup_forced:1; /* fixup explicitly set by user */ const struct hda_fixup *fixup_list; const char *fixup_name;