]> git.baikalelectronics.ru Git - kernel.git/commitdiff
ASoC: hdac_hdmi: keep DAI driver pointer in private data
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Wed, 20 Dec 2017 01:48:13 +0000 (01:48 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 20 Dec 2017 15:41:08 +0000 (15:41 +0000)
struct snd_soc_component::dai_drv will be removed soon.
hdac_hdmi is only user of it. Let's keep it on private data.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/hdac_hdmi.c

index 68a4a6b4e68e7a54476cf6eefaf57c527e0475cf..15c3638fe345d8b80b02ea819c69319c7b78f54f 100644 (file)
@@ -136,6 +136,7 @@ struct hdac_hdmi_priv {
        struct mutex pin_mutex;
        struct hdac_chmap chmap;
        struct hdac_hdmi_drv_data *drv_data;
+       struct snd_soc_dai_driver *dai_drv;
 };
 
 #define hdev_to_hdmi_priv(_hdev) ((to_ehdac_device(_hdev))->private_data)
@@ -1035,7 +1036,7 @@ static int create_fill_widget_route_map(struct snd_soc_dapm_context *dapm)
        struct snd_soc_dapm_route *route;
        struct hdac_ext_device *edev = to_hda_ext_device(dapm->dev);
        struct hdac_hdmi_priv *hdmi = hdev_to_hdmi_priv(&edev->hdev);
-       struct snd_soc_dai_driver *dai_drv = dapm->component->dai_drv;
+       struct snd_soc_dai_driver *dai_drv = hdmi->dai_drv;
        char widget_name[NAME_SIZE];
        struct hdac_hdmi_cvt *cvt;
        struct hdac_hdmi_pin *pin;
@@ -1437,6 +1438,7 @@ static int hdac_hdmi_create_dais(struct hdac_device *hdev,
        }
 
        *dais = hdmi_dais;
+       hdmi->dai_drv = hdmi_dais;
 
        return 0;
 }