[PATCH 6/8] ALSA: hda/sigmatel: Add model option to codec driver, too
Takashi Iwai
tiwai at suse.de
Thu Sep 29 09:35:43 CEST 2022
The model option of snd-hda-intel or SOF driver is useful for testing
/ debugging quirks. Since many devices have multiple codecs and the
quirk is rather codec-specific, it's often difficult to pass the model
to the proper target.
This patch adds the equivalent model option to IDT/Sigmatel codec
driver, so that user can optionally specify the option for the codec
instead of snd-hda-intel or SOF drivers.
That is, you can pass the boot option like
snd_hda_codec_idt.model=foobar
or
snd_hda_codec_idt.model=103c:3610
for applying a quirk no matter whether you use snd-hda-intel or SOF.
The model option of snd-hda-intel or SOF is still effective. When the
option is given for both, the option for the controller driver wins.
Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
sound/pci/hda/patch_sigmatel.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 7f340f18599c..f3143f8b59f0 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -17,6 +17,7 @@
#include <linux/pci.h>
#include <linux/dmi.h>
#include <linux/module.h>
+#include <linux/moduleparam.h>
#include <sound/core.h>
#include <sound/jack.h>
#include <sound/hda_codec.h>
@@ -26,6 +27,11 @@
#include "hda_jack.h"
#include "hda_generic.h"
+/* codec-specific model option -- equivalent with snd-hda-intel.model option */
+static char *codec_model;
+module_param_named(model, codec_model, charp, 0444);
+MODULE_PARM_DESC(model, "Use the given board model.");
+
enum {
STAC_REF,
STAC_9200_OQO,
@@ -4494,6 +4500,11 @@ static int alloc_stac_spec(struct hda_codec *codec)
codec->no_trigger_sense = 1; /* seems common with STAC/IDT codecs */
spec->gen.dac_min_mute = true;
codec->patch_ops = stac_patch_ops;
+
+ /* assign optional modelname; freed at snd_hda_codec_dev_release() */
+ if (!codec->modelname && codec_model)
+ codec->modelname = kstrdup(codec_model, GFP_KERNEL);
+
return 0;
}
--
2.35.3
More information about the Alsa-devel
mailing list