diff options
Diffstat (limited to 'sound/soc/samsung/s3c2412-i2s.c')
-rw-r--r-- | sound/soc/samsung/s3c2412-i2s.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/sound/soc/samsung/s3c2412-i2s.c b/sound/soc/samsung/s3c2412-i2s.c index ac7701b3c5dc..edf5f527c5a2 100644 --- a/sound/soc/samsung/s3c2412-i2s.c +++ b/sound/soc/samsung/s3c2412-i2s.c | |||
@@ -162,11 +162,29 @@ static struct snd_soc_dai_driver s3c2412_i2s_dai = { | |||
162 | 162 | ||
163 | static __devinit int s3c2412_iis_dev_probe(struct platform_device *pdev) | 163 | static __devinit int s3c2412_iis_dev_probe(struct platform_device *pdev) |
164 | { | 164 | { |
165 | return s3c_i2sv2_register_dai(&pdev->dev, -1, &s3c2412_i2s_dai); | 165 | int ret = 0; |
166 | |||
167 | ret = s3c_i2sv2_register_dai(&pdev->dev, -1, &s3c2412_i2s_dai); | ||
168 | if (ret) { | ||
169 | pr_err("failed to register the dai\n"); | ||
170 | return ret; | ||
171 | } | ||
172 | |||
173 | ret = asoc_dma_platform_register(&pdev->dev); | ||
174 | if (ret) { | ||
175 | pr_err("failed to register the DMA: %d\n", ret); | ||
176 | goto err; | ||
177 | } | ||
178 | |||
179 | return 0; | ||
180 | err: | ||
181 | snd_soc_unregister_dai(&pdev->dev); | ||
182 | return ret; | ||
166 | } | 183 | } |
167 | 184 | ||
168 | static __devexit int s3c2412_iis_dev_remove(struct platform_device *pdev) | 185 | static __devexit int s3c2412_iis_dev_remove(struct platform_device *pdev) |
169 | { | 186 | { |
187 | asoc_dma_platform_unregister(&pdev->dev); | ||
170 | snd_soc_unregister_dai(&pdev->dev); | 188 | snd_soc_unregister_dai(&pdev->dev); |
171 | return 0; | 189 | return 0; |
172 | } | 190 | } |