|
Takashi Iwai |
056b91 |
From: Takashi Iwai <tiwai@suse.de>
|
|
Takashi Iwai |
056b91 |
Subject: kABI workaround for snd_hda_pick_pin_fixup() changes
|
|
Takashi Iwai |
056b91 |
Patch-mainline: Never, kABI workaround
|
|
Takashi Iwai |
056b91 |
References: bsc#1051510
|
|
Takashi Iwai |
056b91 |
|
|
Takashi Iwai |
056b91 |
The recent patch
|
|
Takashi Iwai |
056b91 |
patches.suse/ALSA-hda-Expand-pin_match-function-to-match-upcoming.patch
|
|
Takashi Iwai |
056b91 |
added an extra argument to the exported snd_hda_pick_pin_fixup() function.
|
|
Takashi Iwai |
056b91 |
Keep the old one while rename to a new function for keeping the kABI.
|
|
Takashi Iwai |
056b91 |
|
|
Takashi Iwai |
056b91 |
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Takashi Iwai |
056b91 |
|
|
Takashi Iwai |
056b91 |
---
|
|
Takashi Iwai |
056b91 |
sound/pci/hda/hda_auto_parser.c | 11 ++++++++++-
|
|
Takashi Iwai |
056b91 |
sound/pci/hda/hda_local.h | 5 ++++-
|
|
Takashi Iwai |
056b91 |
sound/pci/hda/patch_realtek.c | 6 +++---
|
|
Takashi Iwai |
056b91 |
3 files changed, 17 insertions(+), 5 deletions(-)
|
|
Takashi Iwai |
056b91 |
|
|
Takashi Iwai |
056b91 |
--- a/sound/pci/hda/hda_auto_parser.c
|
|
Takashi Iwai |
056b91 |
+++ b/sound/pci/hda/hda_auto_parser.c
|
|
Takashi Iwai |
056b91 |
@@ -928,7 +928,7 @@ static bool pin_config_match(struct hda_
|
|
Takashi Iwai |
056b91 |
* @fixlist: the fixup list
|
|
Takashi Iwai |
056b91 |
* @match_all_pins: all valid pins must match with the table entries
|
|
Takashi Iwai |
056b91 |
*/
|
|
Takashi Iwai |
056b91 |
-void snd_hda_pick_pin_fixup(struct hda_codec *codec,
|
|
Takashi Iwai |
056b91 |
+void snd_hda_pick_pin_fixup2(struct hda_codec *codec,
|
|
Takashi Iwai |
056b91 |
const struct snd_hda_pin_quirk *pin_quirk,
|
|
Takashi Iwai |
056b91 |
const struct hda_fixup *fixlist,
|
|
Takashi Iwai |
056b91 |
bool match_all_pins)
|
|
Takashi Iwai |
056b91 |
@@ -955,6 +955,15 @@ void snd_hda_pick_pin_fixup(struct hda_c
|
|
Takashi Iwai |
056b91 |
}
|
|
Takashi Iwai |
056b91 |
}
|
|
Takashi Iwai |
056b91 |
}
|
|
Takashi Iwai |
056b91 |
+EXPORT_SYMBOL_GPL(snd_hda_pick_pin_fixup2);
|
|
Takashi Iwai |
056b91 |
+
|
|
Takashi Iwai |
056b91 |
+// XXX FIXME: SLE15 kABI compatibility
|
|
Takashi Iwai |
056b91 |
+void snd_hda_pick_pin_fixup(struct hda_codec *codec,
|
|
Takashi Iwai |
056b91 |
+ const struct snd_hda_pin_quirk *pin_quirk,
|
|
Takashi Iwai |
056b91 |
+ const struct hda_fixup *fixlist)
|
|
Takashi Iwai |
056b91 |
+{
|
|
Takashi Iwai |
056b91 |
+ snd_hda_pick_pin_fixup2(codec, pin_quirk, fixlist, true);
|
|
Takashi Iwai |
056b91 |
+}
|
|
Takashi Iwai |
056b91 |
EXPORT_SYMBOL_GPL(snd_hda_pick_pin_fixup);
|
|
Takashi Iwai |
056b91 |
|
|
Takashi Iwai |
056b91 |
/**
|
|
Takashi Iwai |
056b91 |
--- a/sound/pci/hda/patch_realtek.c
|
|
Takashi Iwai |
056b91 |
+++ b/sound/pci/hda/patch_realtek.c
|
|
Takashi Iwai |
056b91 |
@@ -7648,8 +7648,8 @@ static int patch_alc269(struct hda_codec
|
|
Takashi Iwai |
056b91 |
|
|
Takashi Iwai |
056b91 |
snd_hda_pick_fixup(codec, alc269_fixup_models,
|
|
Takashi Iwai |
056b91 |
alc269_fixup_tbl, alc269_fixups);
|
|
Takashi Iwai |
056b91 |
- snd_hda_pick_pin_fixup(codec, alc269_pin_fixup_tbl, alc269_fixups, true);
|
|
Takashi Iwai |
056b91 |
- snd_hda_pick_pin_fixup(codec, alc269_fallback_pin_fixup_tbl, alc269_fixups, false);
|
|
Takashi Iwai |
056b91 |
+ snd_hda_pick_pin_fixup2(codec, alc269_pin_fixup_tbl, alc269_fixups, true);
|
|
Takashi Iwai |
056b91 |
+ snd_hda_pick_pin_fixup2(codec, alc269_fallback_pin_fixup_tbl, alc269_fixups, false);
|
|
Takashi Iwai |
056b91 |
snd_hda_pick_fixup(codec, NULL, alc269_fixup_vendor_tbl,
|
|
Takashi Iwai |
056b91 |
alc269_fixups);
|
|
Takashi Iwai |
056b91 |
snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE);
|
|
Takashi Iwai |
056b91 |
@@ -8734,7 +8734,7 @@ static int patch_alc662(struct hda_codec
|
|
Takashi Iwai |
056b91 |
|
|
Takashi Iwai |
056b91 |
snd_hda_pick_fixup(codec, alc662_fixup_models,
|
|
Takashi Iwai |
056b91 |
alc662_fixup_tbl, alc662_fixups);
|
|
Takashi Iwai |
056b91 |
- snd_hda_pick_pin_fixup(codec, alc662_pin_fixup_tbl, alc662_fixups, true);
|
|
Takashi Iwai |
056b91 |
+ snd_hda_pick_pin_fixup2(codec, alc662_pin_fixup_tbl, alc662_fixups, true);
|
|
Takashi Iwai |
056b91 |
snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE);
|
|
Takashi Iwai |
056b91 |
|
|
Takashi Iwai |
056b91 |
alc_auto_parse_customize_define(codec);
|
|
Takashi Iwai |
056b91 |
--- a/sound/pci/hda/hda_local.h
|
|
Takashi Iwai |
056b91 |
+++ b/sound/pci/hda/hda_local.h
|
|
Takashi Iwai |
056b91 |
@@ -372,10 +372,13 @@ void snd_hda_pick_fixup(struct hda_codec
|
|
Takashi Iwai |
056b91 |
const struct hda_model_fixup *models,
|
|
Takashi Iwai |
056b91 |
const struct snd_pci_quirk *quirk,
|
|
Takashi Iwai |
056b91 |
const struct hda_fixup *fixlist);
|
|
Takashi Iwai |
056b91 |
-void snd_hda_pick_pin_fixup(struct hda_codec *codec,
|
|
Takashi Iwai |
056b91 |
+void snd_hda_pick_pin_fixup2(struct hda_codec *codec,
|
|
Takashi Iwai |
056b91 |
const struct snd_hda_pin_quirk *pin_quirk,
|
|
Takashi Iwai |
056b91 |
const struct hda_fixup *fixlist,
|
|
Takashi Iwai |
056b91 |
bool match_all_pins);
|
|
Takashi Iwai |
056b91 |
+void snd_hda_pick_pin_fixup(struct hda_codec *codec,
|
|
Takashi Iwai |
056b91 |
+ const struct snd_hda_pin_quirk *pin_quirk,
|
|
Takashi Iwai |
056b91 |
+ const struct hda_fixup *fixlist);
|
|
Takashi Iwai |
056b91 |
|
|
Takashi Iwai |
056b91 |
/* helper macros to retrieve pin default-config values */
|
|
Takashi Iwai |
056b91 |
#define get_defcfg_connect(cfg) \
|