summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sound/soc/samsung/spdif.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/sound/soc/samsung/spdif.c b/sound/soc/samsung/spdif.c
index 704b7b12bf8b..779504f54bc0 100644
--- a/sound/soc/samsung/spdif.c
+++ b/sound/soc/samsung/spdif.c
@@ -416,6 +416,15 @@ static int spdif_probe(struct platform_device *pdev)
goto err3;
}
+ spdif_stereo_out.addr_width = 2;
+ spdif_stereo_out.addr = mem_res->start + DATA_OUTBUF;
+ filter = NULL;
+ if (spdif_pdata) {
+ spdif_stereo_out.filter_data = spdif_pdata->dma_playback;
+ filter = spdif_pdata->dma_filter;
+ }
+ spdif->dma_playback = &spdif_stereo_out;
+
ret = samsung_asoc_dma_platform_register(&pdev->dev, filter,
NULL, NULL);
if (ret) {
@@ -432,16 +441,6 @@ static int spdif_probe(struct platform_device *pdev)
goto err4;
}
- spdif_stereo_out.addr_width = 2;
- spdif_stereo_out.addr = mem_res->start + DATA_OUTBUF;
- filter = NULL;
- if (spdif_pdata) {
- spdif_stereo_out.filter_data = spdif_pdata->dma_playback;
- filter = spdif_pdata->dma_filter;
- }
-
- spdif->dma_playback = &spdif_stereo_out;
-
return 0;
err4:
iounmap(spdif->regs);