@@ -397,19 +397,17 @@ static int ep93xx_ac97_probe(struct platform_device *pdev)
if (ret)
goto fail;
- ret = snd_soc_register_component(&pdev->dev, &ep93xx_ac97_component,
- &ep93xx_ac97_dai, 1);
+ ret = devm_snd_soc_register_component(&pdev->dev,
+ &ep93xx_ac97_component, &ep93xx_ac97_dai, 1);
if (ret)
goto fail;
ret = devm_ep93xx_pcm_platform_register(&pdev->dev);
if (ret)
- goto fail_unregister;
+ goto fail;
return 0;
-fail_unregister:
- snd_soc_unregister_component(&pdev->dev);
fail:
ep93xx_ac97_info = NULL;
snd_soc_set_ac97_ops(NULL);
@@ -420,8 +418,6 @@ static int ep93xx_ac97_remove(struct platform_device *pdev)
{
struct ep93xx_ac97_info *info = platform_get_drvdata(pdev);
- snd_soc_unregister_component(&pdev->dev);
-
/* disable the AC97 controller */
ep93xx_ac97_write_reg(info, AC97GCR, 0);