[PATCH 5/8] ALSA: hda/analog: Add model option to codec driver, too
Takashi Iwai
tiwai at suse.de
Thu Sep 29 09:35:42 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 Analog 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_analog.model=foobar
or
snd_hda_codec_analog.model=103c:2a82
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_analog.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index 8afe6000f7da..1a6efa79309f 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -9,6 +9,7 @@
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/module.h>
+#include <linux/moduleparam.h>
#include <sound/core.h>
#include <sound/hda_codec.h>
@@ -18,6 +19,10 @@
#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.");
struct ad198x_spec {
struct hda_gen_spec gen;
@@ -203,6 +208,11 @@ static int alloc_ad_spec(struct hda_codec *codec)
codec->spec = spec;
snd_hda_gen_spec_init(&spec->gen);
codec->patch_ops = ad198x_auto_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