Skip to content

Commit

Permalink
ASoC: samsung: Use devm_snd_soc_register_component
Browse files Browse the repository at this point in the history
Replaced snd_soc_register_component with its devres equivalent,
devm_snd_soc_register_component.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
  • Loading branch information
Tushar Behera authored and Mark Brown committed May 21, 2014
1 parent 55313bd commit 7253e35
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 54 deletions.
8 changes: 2 additions & 6 deletions sound/soc/samsung/ac97.c
Original file line number Diff line number Diff line change
Expand Up @@ -433,20 +433,18 @@ static int s3c_ac97_probe(struct platform_device *pdev)
goto err4;
}

ret = snd_soc_register_component(&pdev->dev, &s3c_ac97_component,
ret = devm_snd_soc_register_component(&pdev->dev, &s3c_ac97_component,
s3c_ac97_dai, ARRAY_SIZE(s3c_ac97_dai));
if (ret)
goto err5;

ret = samsung_asoc_dma_platform_register(&pdev->dev);
if (ret) {
dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret);
goto err6;
goto err5;
}

return 0;
err6:
snd_soc_unregister_component(&pdev->dev);
err5:
free_irq(irq_res->start, NULL);
err4:
Expand All @@ -461,8 +459,6 @@ static int s3c_ac97_remove(struct platform_device *pdev)
{
struct resource *irq_res;

snd_soc_unregister_component(&pdev->dev);

irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
if (irq_res)
free_irq(irq_res->start, NULL);
Expand Down
9 changes: 3 additions & 6 deletions sound/soc/samsung/goni_wm8994.c
Original file line number Diff line number Diff line change
Expand Up @@ -274,8 +274,8 @@ static int __init goni_init(void)
return -ENOMEM;

/* register voice DAI here */
ret = snd_soc_register_component(&goni_snd_device->dev, &voice_component,
&voice_dai, 1);
ret = devm_snd_soc_register_component(&goni_snd_device->dev,
&voice_component, &voice_dai, 1);
if (ret) {
platform_device_put(goni_snd_device);
return ret;
Expand All @@ -284,17 +284,14 @@ static int __init goni_init(void)
platform_set_drvdata(goni_snd_device, &goni);
ret = platform_device_add(goni_snd_device);

if (ret) {
snd_soc_unregister_component(&goni_snd_device->dev);
if (ret)
platform_device_put(goni_snd_device);
}

return ret;
}

static void __exit goni_exit(void)
{
snd_soc_unregister_component(&goni_snd_device->dev);
platform_device_unregister(goni_snd_device);
}

Expand Down
8 changes: 2 additions & 6 deletions sound/soc/samsung/pcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -588,7 +588,7 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)

pm_runtime_enable(&pdev->dev);

ret = snd_soc_register_component(&pdev->dev, &s3c_pcm_component,
ret = devm_snd_soc_register_component(&pdev->dev, &s3c_pcm_component,
&s3c_pcm_dai[pdev->id], 1);
if (ret != 0) {
dev_err(&pdev->dev, "failed to get register DAI: %d\n", ret);
Expand All @@ -598,13 +598,11 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
ret = samsung_asoc_dma_platform_register(&pdev->dev);
if (ret) {
dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret);
goto err6;
goto err5;
}

return 0;

err6:
snd_soc_unregister_component(&pdev->dev);
err5:
clk_disable_unprepare(pcm->pclk);
clk_put(pcm->pclk);
Expand All @@ -624,8 +622,6 @@ static int s3c_pcm_dev_remove(struct platform_device *pdev)
struct s3c_pcm_info *pcm = &s3c_pcm[pdev->id];
struct resource *mem_res;

snd_soc_unregister_component(&pdev->dev);

pm_runtime_disable(&pdev->dev);

iounmap(pcm->regs);
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/samsung/s3c-i2s-v2.c
Original file line number Diff line number Diff line change
Expand Up @@ -745,7 +745,7 @@ int s3c_i2sv2_register_component(struct device *dev, int id,
dai_drv->suspend = s3c2412_i2s_suspend;
dai_drv->resume = s3c2412_i2s_resume;

return snd_soc_register_component(dev, cmp_drv, dai_drv, 1);
return devm_snd_soc_register_component(dev, cmp_drv, dai_drv, 1);
}
EXPORT_SYMBOL_GPL(s3c_i2sv2_register_component);

Expand Down
14 changes: 1 addition & 13 deletions sound/soc/samsung/s3c2412-i2s.c
Original file line number Diff line number Diff line change
Expand Up @@ -179,26 +179,14 @@ static int s3c2412_iis_dev_probe(struct platform_device *pdev)
}

ret = samsung_asoc_dma_platform_register(&pdev->dev);
if (ret) {
if (ret)
pr_err("failed to register the DMA: %d\n", ret);
goto err;
}

return 0;
err:
snd_soc_unregister_component(&pdev->dev);
return ret;
}

static int s3c2412_iis_dev_remove(struct platform_device *pdev)
{
snd_soc_unregister_component(&pdev->dev);
return 0;
}

static struct platform_driver s3c2412_iis_driver = {
.probe = s3c2412_iis_dev_probe,
.remove = s3c2412_iis_dev_remove,
.driver = {
.name = "s3c2412-iis",
.owner = THIS_MODULE,
Expand Down
18 changes: 3 additions & 15 deletions sound/soc/samsung/s3c24xx-i2s.c
Original file line number Diff line number Diff line change
Expand Up @@ -475,34 +475,22 @@ static int s3c24xx_iis_dev_probe(struct platform_device *pdev)
{
int ret = 0;

ret = snd_soc_register_component(&pdev->dev, &s3c24xx_i2s_component,
&s3c24xx_i2s_dai, 1);
ret = devm_snd_soc_register_component(&pdev->dev,
&s3c24xx_i2s_component, &s3c24xx_i2s_dai, 1);
if (ret) {
pr_err("failed to register the dai\n");
return ret;
}

ret = samsung_asoc_dma_platform_register(&pdev->dev);
if (ret) {
if (ret)
pr_err("failed to register the dma: %d\n", ret);
goto err;
}

return 0;
err:
snd_soc_unregister_component(&pdev->dev);
return ret;
}

static int s3c24xx_iis_dev_remove(struct platform_device *pdev)
{
snd_soc_unregister_component(&pdev->dev);
return 0;
}

static struct platform_driver s3c24xx_iis_driver = {
.probe = s3c24xx_iis_dev_probe,
.remove = s3c24xx_iis_dev_remove,
.driver = {
.name = "s3c24xx-iis",
.owner = THIS_MODULE,
Expand Down
10 changes: 3 additions & 7 deletions sound/soc/samsung/spdif.c
Original file line number Diff line number Diff line change
Expand Up @@ -427,8 +427,8 @@ static int spdif_probe(struct platform_device *pdev)

dev_set_drvdata(&pdev->dev, spdif);

ret = snd_soc_register_component(&pdev->dev, &samsung_spdif_component,
&samsung_spdif_dai, 1);
ret = devm_snd_soc_register_component(&pdev->dev,
&samsung_spdif_component, &samsung_spdif_dai, 1);
if (ret != 0) {
dev_err(&pdev->dev, "fail to register dai\n");
goto err4;
Expand All @@ -444,12 +444,10 @@ static int spdif_probe(struct platform_device *pdev)
ret = samsung_asoc_dma_platform_register(&pdev->dev);
if (ret) {
dev_err(&pdev->dev, "failed to register DMA: %d\n", ret);
goto err5;
goto err4;
}

return 0;
err5:
snd_soc_unregister_component(&pdev->dev);
err4:
iounmap(spdif->regs);
err3:
Expand All @@ -467,8 +465,6 @@ static int spdif_remove(struct platform_device *pdev)
struct samsung_spdif_info *spdif = &spdif_info;
struct resource *mem_res;

snd_soc_unregister_component(&pdev->dev);

iounmap(spdif->regs);

mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
Expand Down

0 comments on commit 7253e35

Please sign in to comment.