mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-18 06:33:43 -04:00
ASoC: SOF: core: Add probe_early and remove_late callbacks
The existing DSP probe may be handled in a workqueue to allow for extra time, typically for the i915 request_module and HDAudio codec handling. With the upcoming changes for i915/Xe driver relying on the -EPROBE_DEFER mechanism, we need to have a first pass of the probe which cannot be pushed to a workqueue. Introduce 2 new optional callbacks. probe_early is called before the workqueue runs. remove_late may be called from the workqueue if load is unsuccesful, but will otherwise be called on module unload. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Acked-by: Mark Brown <broonie@kernel.org> Reviewed-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20231009115437.99976-3-maarten.lankhorst@linux.intel.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
committed by
Takashi Iwai
parent
f549a82aff
commit
17baaa1f95
@@ -165,8 +165,10 @@ struct sof_firmware {
|
||||
struct snd_sof_dsp_ops {
|
||||
|
||||
/* probe/remove/shutdown */
|
||||
int (*probe_early)(struct snd_sof_dev *sof_dev); /* optional */
|
||||
int (*probe)(struct snd_sof_dev *sof_dev); /* mandatory */
|
||||
int (*remove)(struct snd_sof_dev *sof_dev); /* optional */
|
||||
int (*remove_late)(struct snd_sof_dev *sof_dev); /* optional */
|
||||
int (*shutdown)(struct snd_sof_dev *sof_dev); /* optional */
|
||||
|
||||
/* DSP core boot / reset */
|
||||
|
||||
Reference in New Issue
Block a user