ASoC: topology: add SND_SOC_DOBJ_GRAPH type for dapm routes
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Fri, 25 Jan 2019 20:06:46 +0000 (14:06 -0600)
committerMark Brown <broonie@kernel.org>
Tue, 29 Jan 2019 18:03:44 +0000 (18:03 +0000)
Add a new dobj type SND_SOC_DOBJ_GRAPH for dapm routes
and add snd_soc_dobj member to struct snd_soc_dapm_route.
This enables device drivers to save driver specific
data pertaining to dapm routes and also be able
to clean up the data when the driver module is unloaded.

Also, reorder the snd_soc_dobj_type types to align with
matching topology header types.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc-dapm.h
include/sound/soc-topology.h

index bd8163f..46f2ba3 100644 (file)
@@ -540,6 +540,8 @@ struct snd_soc_dapm_route {
        /* Note: currently only supported for links where source is a supply */
        int (*connected)(struct snd_soc_dapm_widget *source,
                         struct snd_soc_dapm_widget *sink);
+
+       struct snd_soc_dobj dobj;
 };
 
 /* dapm audio path between two widgets */
index fa4b841..8c43cfc 100644 (file)
@@ -38,12 +38,13 @@ struct snd_soc_dapm_route;
 enum snd_soc_dobj_type {
        SND_SOC_DOBJ_NONE               = 0,    /* object is not dynamic */
        SND_SOC_DOBJ_MIXER,
-       SND_SOC_DOBJ_ENUM,
        SND_SOC_DOBJ_BYTES,
-       SND_SOC_DOBJ_PCM,
+       SND_SOC_DOBJ_ENUM,
+       SND_SOC_DOBJ_GRAPH,
+       SND_SOC_DOBJ_WIDGET,
        SND_SOC_DOBJ_DAI_LINK,
+       SND_SOC_DOBJ_PCM,
        SND_SOC_DOBJ_CODEC_LINK,
-       SND_SOC_DOBJ_WIDGET,
 };
 
 /* dynamic control object */