]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: Intel: sof_rt5682: Add quirk override support
authorBalamurugan C <balamurugan.c@intel.com>
Tue, 11 Nov 2025 10:35:12 +0000 (18:35 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 11 Nov 2025 12:29:53 +0000 (12:29 +0000)
adding quirk override support to configure different quirk configuration
at runtime.

Signed-off-by: Balamurugan C <balamurugan.c@intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://patch.msgid.link/20251111103512.244147-1-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/sof_rt5682.c

index 4994aaccc583ae293248e69f708f0d5fe4cc0835..6ca114c30ae16864399bc5cafa9dfd80f0bc1937 100644 (file)
 static unsigned long sof_rt5682_quirk = SOF_RT5682_MCLK_EN |
                                        SOF_SSP_PORT_CODEC(0);
 
+static int quirk_override = -1;
+module_param_named(quirk, quirk_override, int, 0444);
+MODULE_PARM_DESC(quirk, "Board-specific quirk override");
+
 static int sof_rt5682_quirk_cb(const struct dmi_system_id *id)
 {
        sof_rt5682_quirk = (unsigned long)id->driver_data;
@@ -643,6 +647,12 @@ static int sof_audio_probe(struct platform_device *pdev)
 
        dmi_check_system(sof_rt5682_quirk_table);
 
+       if (quirk_override != -1) {
+               dev_info(&pdev->dev, "Overriding quirk 0x%lx => 0x%x\n",
+                        sof_rt5682_quirk, quirk_override);
+               sof_rt5682_quirk = quirk_override;
+       }
+
        dev_dbg(&pdev->dev, "sof_rt5682_quirk = %lx\n", sof_rt5682_quirk);
 
        /* initialize ctx with board quirk */