]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ASoC: Use component DAPM context for platforms
authorLars-Peter Clausen <lars@metafoo.de>
Mon, 16 Jun 2014 16:13:07 +0000 (18:13 +0200)
committerMark Brown <broonie@linaro.org>
Sat, 21 Jun 2014 20:34:15 +0000 (21:34 +0100)
The snd_soc_platform dapm field is not accessed outside of the ASoC core. Switch
it over to using the snd_soc_component DAPM context.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
include/sound/soc.h
sound/soc/soc-core.c

index a21dfecba56b429a5c1e53b2dc3bbc4baeee7b60..84ebc079c92f04b2fb98f1d53ef113b752a634a4 100644 (file)
@@ -862,8 +862,6 @@ struct snd_soc_platform {
 
        struct snd_soc_component component;
 
-       struct snd_soc_dapm_context dapm;
-
 #ifdef CONFIG_DEBUG_FS
        struct dentry *debugfs_platform_root;
 #endif
@@ -1203,7 +1201,7 @@ static inline struct snd_soc_codec *snd_soc_dapm_to_codec(
 static inline struct snd_soc_platform *snd_soc_dapm_to_platform(
        struct snd_soc_dapm_context *dapm)
 {
-       return container_of(dapm, struct snd_soc_platform, dapm);
+       return snd_soc_component_to_platform(snd_soc_dapm_to_component(dapm));
 }
 
 /**
index f519a9f7571ce97fd75cf5500a4e34f98db9a8c4..711e99c43be31f24b1c4e3a7a4c106db75aad258 100644 (file)
@@ -314,7 +314,7 @@ static void soc_init_platform_debugfs(struct snd_soc_platform *platform)
                return;
        }
 
-       snd_soc_dapm_debugfs_init(&platform->dapm,
+       snd_soc_dapm_debugfs_init(&platform->component.dapm,
                platform->debugfs_platform_root);
 }
 
@@ -974,7 +974,7 @@ static int soc_remove_platform(struct snd_soc_platform *platform)
        }
 
        /* Make sure all DAPM widgets are freed */
-       snd_soc_dapm_free(&platform->dapm);
+       snd_soc_dapm_free(&platform->component.dapm);
 
        soc_cleanup_platform_debugfs(platform);
        platform->probed = 0;
@@ -1210,7 +1210,7 @@ static int soc_probe_platform(struct snd_soc_card *card,
        struct snd_soc_dai *dai;
 
        platform->card = card;
-       platform->dapm.card = card;
+       platform->component.dapm.card = card;
 
        if (!try_module_get(platform->dev->driver->owner))
                return -ENODEV;
@@ -1218,7 +1218,7 @@ static int soc_probe_platform(struct snd_soc_card *card,
        soc_init_platform_debugfs(platform);
 
        if (driver->dapm_widgets)
-               snd_soc_dapm_new_controls(&platform->dapm,
+               snd_soc_dapm_new_controls(&platform->component.dapm,
                        driver->dapm_widgets, driver->num_dapm_widgets);
 
        /* Create DAPM widgets for each DAI stream */
@@ -1226,10 +1226,11 @@ static int soc_probe_platform(struct snd_soc_card *card,
                if (component->dev != platform->dev)
                        continue;
                list_for_each_entry(dai, &component->dai_list, list)
-                       snd_soc_dapm_new_dai_widgets(&platform->dapm, dai);
+                       snd_soc_dapm_new_dai_widgets(&platform->component.dapm,
+                               dai);
        }
 
-       platform->dapm.idle_bias_off = 1;
+       platform->component.dapm.idle_bias_off = 1;
 
        if (driver->probe) {
                ret = driver->probe(platform);
@@ -1244,13 +1245,13 @@ static int soc_probe_platform(struct snd_soc_card *card,
                snd_soc_add_platform_controls(platform, driver->controls,
                                     driver->num_controls);
        if (driver->dapm_routes)
-               snd_soc_dapm_add_routes(&platform->dapm, driver->dapm_routes,
-                                       driver->num_dapm_routes);
+               snd_soc_dapm_add_routes(&platform->component.dapm,
+                       driver->dapm_routes, driver->num_dapm_routes);
 
        /* mark platform as probed and add to card platform list */
        platform->probed = 1;
        list_add(&platform->card_list, &card->platform_dev_list);
-       list_add(&platform->dapm.list, &card->dapm_list);
+       list_add(&platform->component.dapm.list, &card->dapm_list);
 
        return 0;
 
@@ -4141,8 +4142,6 @@ int snd_soc_add_platform(struct device *dev, struct snd_soc_platform *platform,
 {
        int ret;
 
-       platform->component.dapm_ptr = &platform->dapm;
-
        ret = snd_soc_component_initialize(&platform->component,
                        &platform_drv->component_driver, dev);
        if (ret)
@@ -4150,8 +4149,8 @@ int snd_soc_add_platform(struct device *dev, struct snd_soc_platform *platform,
 
        platform->dev = dev;
        platform->driver = platform_drv;
-       platform->dapm.platform = platform;
-       platform->dapm.stream_event = platform_drv->stream_event;
+       platform->component.dapm.platform = platform;
+       platform->component.dapm.stream_event = platform_drv->stream_event;
        if (platform_drv->write)
                platform->component.write = snd_soc_platform_drv_write;
        if (platform_drv->read)