diff options
author | Stephen Warren <swarren@nvidia.com> | 2013-11-11 17:21:01 -0500 |
---|---|---|
committer | Stephen Warren <swarren@nvidia.com> | 2013-12-11 18:43:57 -0500 |
commit | 5608bd3ed23e62bba96cc019030c742c78981b59 (patch) | |
tree | f441a68e603aea1baa49abedf19059fa167fdbde /sound/soc/tegra/tegra_pcm.c | |
parent | d59afb6a961519d81557f6b13d04ec1498c074fe (diff) |
ASoC: tegra: convert to standard DMA DT bindings
By passing no flags when calling snd_dmaengine_pcm_register() from
tegra_pcm.c, we end up using dma_request_slave_channel() rather than
dmaengine_pcm_compat_request_channel(), and hence rely on the standard
DMA DT bindings and stashing the DMA slave ID away during channel
allocation. This means there's no need to use a custom DT property to
store the slave ID. So, remove all the code that parsed it.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/tegra/tegra_pcm.c')
-rw-r--r-- | sound/soc/tegra/tegra_pcm.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/sound/soc/tegra/tegra_pcm.c b/sound/soc/tegra/tegra_pcm.c index 7b2d23ba69b3..7ce5c334a660 100644 --- a/sound/soc/tegra/tegra_pcm.c +++ b/sound/soc/tegra/tegra_pcm.c | |||
@@ -61,12 +61,23 @@ static const struct snd_dmaengine_pcm_config tegra_dmaengine_pcm_config = { | |||
61 | 61 | ||
62 | int tegra_pcm_platform_register(struct device *dev) | 62 | int tegra_pcm_platform_register(struct device *dev) |
63 | { | 63 | { |
64 | return snd_dmaengine_pcm_register(dev, &tegra_dmaengine_pcm_config, | 64 | return snd_dmaengine_pcm_register(dev, &tegra_dmaengine_pcm_config, 0); |
65 | SND_DMAENGINE_PCM_FLAG_NO_DT | | ||
66 | SND_DMAENGINE_PCM_FLAG_COMPAT); | ||
67 | } | 65 | } |
68 | EXPORT_SYMBOL_GPL(tegra_pcm_platform_register); | 66 | EXPORT_SYMBOL_GPL(tegra_pcm_platform_register); |
69 | 67 | ||
68 | int tegra_pcm_platform_register_with_chan_names(struct device *dev, | ||
69 | struct snd_dmaengine_pcm_config *config, | ||
70 | char *txdmachan, char *rxdmachan) | ||
71 | { | ||
72 | *config = tegra_dmaengine_pcm_config; | ||
73 | config->dma_dev = dev->parent; | ||
74 | config->chan_names[0] = txdmachan; | ||
75 | config->chan_names[1] = rxdmachan; | ||
76 | |||
77 | return snd_dmaengine_pcm_register(dev, config, 0); | ||
78 | } | ||
79 | EXPORT_SYMBOL_GPL(tegra_pcm_platform_register_with_chan_names); | ||
80 | |||
70 | void tegra_pcm_platform_unregister(struct device *dev) | 81 | void tegra_pcm_platform_unregister(struct device *dev) |
71 | { | 82 | { |
72 | return snd_dmaengine_pcm_unregister(dev); | 83 | return snd_dmaengine_pcm_unregister(dev); |