diff options
author | Mark Brown <broonie@kernel.org> | 2022-04-20 14:22:06 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-04-20 14:22:06 +0100 |
commit | 7ed1bf73345a3fe5439f50c1d0fb24bfede417b0 (patch) | |
tree | 8a3b186a5ac6504c64800e761bb0c0864f0fc51e /sound/soc/sof/core.c | |
parent | e1bbfccf3c52944dbdb83d8333dba4ae6b8a094c (diff) | |
parent | 03cf7262076f08601108cc896416fc1d66671994 (diff) |
ASoC: SOF: add INTEL_IPC4 plumbing
Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
The INTEL_IPC4 protocol and firmware architecture will rely on
different sets of firmware binary and topology files. Some platforms
will only support INTEL_IPC4, some will support both INTEL_IPC4 and
SOF_IPC for development, and some will stay with the existing SOF_IPC.
This patchset adds new IPC definitions, and search paths for firmware
and topology files, along with means to override the default IPC type
and search paths for development. The firmware binary names are
aligned with those used by the Intel AVS driver to avoid duplicate
firmware installs, but the topology will have to differ due to driver
architecture differences.
Diffstat (limited to 'sound/soc/sof/core.c')
-rw-r--r-- | sound/soc/sof/core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/soc/sof/core.c b/sound/soc/sof/core.c index e91631618bff..d981a1c3fb05 100644 --- a/sound/soc/sof/core.c +++ b/sound/soc/sof/core.c @@ -342,6 +342,7 @@ static void sof_probe_work(struct work_struct *work) int snd_sof_device_probe(struct device *dev, struct snd_sof_pdata *plat_data) { struct snd_sof_dev *sdev; + int ret; sdev = devm_kzalloc(dev, sizeof(*sdev), GFP_KERNEL); if (!sdev) @@ -357,6 +358,11 @@ int snd_sof_device_probe(struct device *dev, struct snd_sof_pdata *plat_data) sdev->first_boot = true; dev_set_drvdata(dev, sdev); + /* init ops, if necessary */ + ret = sof_ops_init(sdev); + if (ret < 0) + return ret; + /* check all mandatory ops */ if (!sof_ops(sdev) || !sof_ops(sdev)->probe || !sof_ops(sdev)->run || !sof_ops(sdev)->block_read || !sof_ops(sdev)->block_write || |