ASoC: SOF: Intel: hda-dai: use component_get_drvdata to find hdac_bus
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Mon, 24 Oct 2022 16:53:01 +0000 (11:53 -0500)
committerMark Brown <broonie@kernel.org>
Wed, 26 Oct 2022 13:17:59 +0000 (14:17 +0100)
Remove the last usage of substream->runtime->private_data in the
HDAudio BE hw_params.

The SOF core saves the 'sdev' global context as component drvdata, and
we already save the bus information in sdev.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20221024165310.246183-8-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-dai.c

index c7b07c2..2bce8df 100644 (file)
@@ -207,14 +207,17 @@ static int hda_link_dma_params(struct hdac_ext_stream *hext_stream,
 static int hda_link_dma_hw_params(struct snd_pcm_substream *substream,
                                  struct snd_pcm_hw_params *params)
 {
-       struct hdac_stream *hstream = substream->runtime->private_data;
-       struct hdac_ext_stream *hext_stream;
        struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);
        struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0);
        struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0);
        struct hda_pipe_params p_params = {0};
-       struct hdac_bus *bus = hstream->bus;
+       struct hdac_ext_stream *hext_stream;
        struct hdac_ext_link *hlink;
+       struct snd_sof_dev *sdev;
+       struct hdac_bus *bus;
+
+       sdev = snd_soc_component_get_drvdata(cpu_dai->component);
+       bus = sof_to_bus(sdev);
 
        hext_stream = snd_soc_dai_get_dma_data(cpu_dai, substream);
        if (!hext_stream) {