mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-01 10:13:58 +08:00
ASoC: SOF: core: check for mandatory fw_ready op during SOF probe
fw_ready should be a mandatory op. Make sure fw_ready ops is set during probe. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20190927200538.660-8-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
9a06508bf7
commit
8692d498d6
@ -466,7 +466,8 @@ int snd_sof_device_probe(struct device *dev, struct snd_sof_pdata *plat_data)
|
||||
if (!sof_ops(sdev) || !sof_ops(sdev)->probe || !sof_ops(sdev)->run ||
|
||||
!sof_ops(sdev)->block_read || !sof_ops(sdev)->block_write ||
|
||||
!sof_ops(sdev)->send_msg || !sof_ops(sdev)->load_firmware ||
|
||||
!sof_ops(sdev)->ipc_msg_data || !sof_ops(sdev)->ipc_pcm_params)
|
||||
!sof_ops(sdev)->ipc_msg_data || !sof_ops(sdev)->ipc_pcm_params ||
|
||||
!sof_ops(sdev)->fw_ready)
|
||||
return -EINVAL;
|
||||
|
||||
INIT_LIST_HEAD(&sdev->pcm_list);
|
||||
|
@ -792,12 +792,6 @@ struct snd_sof_ipc *snd_sof_ipc_init(struct snd_sof_dev *sdev)
|
||||
struct snd_sof_ipc *ipc;
|
||||
struct snd_sof_ipc_msg *msg;
|
||||
|
||||
/* check if mandatory ops required for ipc are defined */
|
||||
if (!sof_ops(sdev)->fw_ready) {
|
||||
dev_err(sdev->dev, "error: ipc mandatory ops not defined\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ipc = devm_kzalloc(sdev->dev, sizeof(*ipc), GFP_KERNEL);
|
||||
if (!ipc)
|
||||
return NULL;
|
||||
|
@ -133,7 +133,7 @@ struct snd_sof_dsp_ops {
|
||||
* FW ready checks for ABI compatibility and creates
|
||||
* memory windows at first boot
|
||||
*/
|
||||
int (*fw_ready)(struct snd_sof_dev *sdev, u32 msg_id); /* optional */
|
||||
int (*fw_ready)(struct snd_sof_dev *sdev, u32 msg_id); /* mandatory */
|
||||
|
||||
/* connect pcm substream to a host stream */
|
||||
int (*pcm_open)(struct snd_sof_dev *sdev,
|
||||
|
Loading…
Reference in New Issue
Block a user