+++ /dev/null
-From 4681a858c83430f29850d1da6eb86354a08df94a Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 14 Apr 2022 13:48:08 -0500
-Subject: ASoC: SOF: sof-pci-dev: add parameter to override topology filename
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-
-[ Upstream commit 772627acfeb0e670ede534b7d5502dae9668d3ee ]
-
-The existing 'tplg_path' module parameter can be used to load
-alternate firmware files, be it for development or to handle
-OEM-specific or board-specific releases. However the topology filename
-is either hard-coded in machine descriptors or modified by specific
-DMI-quirks.
-
-For additional flexibility, this patch adds the 'tplg_filename' module
-parameter to override topology names.
-
-To avoid any confusion between DMI- and parameter-override, a variable
-rename is added.
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
-Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
-Reviewed-by: Paul Olaru <paul.olaru@oss.nxp.com>
-Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
-Link: https://lore.kernel.org/r/20220414184817.362215-7-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-Stable-dep-of: 7dd692217b86 ("ASoC: SOF: sof-pci-dev: Fix community key quirk detection")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- sound/soc/sof/sof-pci-dev.c | 25 ++++++++++++++++++++-----
- 1 file changed, 20 insertions(+), 5 deletions(-)
-
-diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c
-index c1cd156996b43..6b103118cfd1b 100644
---- a/sound/soc/sof/sof-pci-dev.c
-+++ b/sound/soc/sof/sof-pci-dev.c
-@@ -27,17 +27,21 @@ static char *tplg_path;
- module_param(tplg_path, charp, 0444);
- MODULE_PARM_DESC(tplg_path, "alternate path for SOF topology.");
-
-+static char *tplg_filename;
-+module_param(tplg_filename, charp, 0444);
-+MODULE_PARM_DESC(tplg_filename, "alternate filename for SOF topology.");
-+
- static int sof_pci_debug;
- module_param_named(sof_pci_debug, sof_pci_debug, int, 0444);
- MODULE_PARM_DESC(sof_pci_debug, "SOF PCI debug options (0x0 all off)");
-
--static const char *sof_override_tplg_name;
-+static const char *sof_dmi_override_tplg_name;
-
- #define SOF_PCI_DISABLE_PM_RUNTIME BIT(0)
-
- static int sof_tplg_cb(const struct dmi_system_id *id)
- {
-- sof_override_tplg_name = id->driver_data;
-+ sof_dmi_override_tplg_name = id->driver_data;
- return 1;
- }
-
-@@ -183,9 +187,20 @@ int sof_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
- sof_pdata->tplg_filename_prefix =
- sof_pdata->desc->default_tplg_path;
-
-- dmi_check_system(sof_tplg_table);
-- if (sof_override_tplg_name)
-- sof_pdata->tplg_filename = sof_override_tplg_name;
-+ /*
-+ * the topology filename will be provided in the machine descriptor, unless
-+ * it is overridden by a module parameter or DMI quirk.
-+ */
-+ if (tplg_filename) {
-+ sof_pdata->tplg_filename = tplg_filename;
-+
-+ dev_dbg(dev, "Module parameter used, changed tplg filename to %s\n",
-+ sof_pdata->tplg_filename);
-+ } else {
-+ dmi_check_system(sof_tplg_table);
-+ if (sof_dmi_override_tplg_name)
-+ sof_pdata->tplg_filename = sof_dmi_override_tplg_name;
-+ }
-
- /* set callback to be called on successful device probe to enable runtime_pm */
- sof_pdata->sof_probe_complete = sof_pci_probe_complete;
---
-2.42.0
-