diff --git a/include/sound/sof.h b/include/sound/sof.h index 23b374311d1616..0bf2e2a2e13a3d 100644 --- a/include/sound/sof.h +++ b/include/sound/sof.h @@ -68,6 +68,9 @@ struct sof_dev_desc { bool use_acpi_target_states; + /*set to 1 to not use ignore_machine and still keep the normal platform driver*/ + bool sof_keep_normal_fes; + /* Platform resource indexes in BAR / ACPI resources. */ /* Must set to -1 if not used - add new items to end */ int resindex_lpe_base; diff --git a/sound/soc/sof/pcm.c b/sound/soc/sof/pcm.c index 1bf7e60be77216..fba147445e1e0b 100644 --- a/sound/soc/sof/pcm.c +++ b/sound/soc/sof/pcm.c @@ -948,7 +948,8 @@ void snd_sof_new_platform_drv(struct snd_sof_dev *sdev) pd->compress_ops = &sof_probe_compressed_ops; #endif pd->pcm_construct = sof_pcm_new; - pd->ignore_machine = drv_name; + if (!plat_data->desc->sof_keep_normal_fes) + pd->ignore_machine = drv_name; pd->be_hw_params_fixup = sof_pcm_dai_link_fixup; pd->be_pcm_base = SOF_BE_PCM_BASE; pd->use_dai_pcm_id = true;