summaryrefslogtreecommitdiffstats
path: root/sound/soc/fsl/imx-ssi.c
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2013-03-22 14:12:12 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-03-26 14:17:31 +0000
commit312bb4f626328fdc246c8d13082ab00e26e7d048 (patch)
treeb0252427b7dcc44643f228980610cd13ccaca58a /sound/soc/fsl/imx-ssi.c
parentac581e60dfb4cc55ac20cca18202c7689d324aa7 (diff)
downloadtalos-op-linux-312bb4f626328fdc246c8d13082ab00e26e7d048.tar.gz
talos-op-linux-312bb4f626328fdc246c8d13082ab00e26e7d048.zip
ASoC: imx-pcm: Embed the imx_dma_data struct in the dma_params struct
Currently the imx_dma_data struct, which gets passed to the dmaengine driver, is allocated and constructed in the pcm driver from the data stored in the dma_params struct. The dma_params struct gets passed to the pcm driver from the dai driver. Instead of going this route of indirection embed the dma_data struct directly into the dma_params struct and let the dai driver fill it in. This allows us to simplify the imx-pcm-dma driver quite a bit, since it doesn't have care about memory managing the imx_dma_data struct anymore. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/fsl/imx-ssi.c')
-rw-r--r--sound/soc/fsl/imx-ssi.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sound/soc/fsl/imx-ssi.c b/sound/soc/fsl/imx-ssi.c
index 55464a5b0706..14018c4628ec 100644
--- a/sound/soc/fsl/imx-ssi.c
+++ b/sound/soc/fsl/imx-ssi.c
@@ -577,12 +577,16 @@ static int imx_ssi_probe(struct platform_device *pdev)
ssi->dma_params_rx.burstsize = 4;
res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx0");
- if (res)
- ssi->dma_params_tx.dma = res->start;
+ if (res) {
+ imx_pcm_dma_params_init_data(&ssi->dma_params_tx, res->start,
+ false);
+ }
res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx0");
- if (res)
- ssi->dma_params_rx.dma = res->start;
+ if (res) {
+ imx_pcm_dma_params_init_data(&ssi->dma_params_rx, res->start,
+ false);
+ }
platform_set_drvdata(pdev, ssi);
OpenPOWER on IntegriCloud