aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/fsl/imx-ssi.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2013-04-12 08:56:56 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-04-12 08:56:56 -0400
commit13419625774f9f3e65e07257ad2a7beb445e9942 (patch)
treee106f4be80e6c8f6cc3be861cd555718a3142ab7 /sound/soc/fsl/imx-ssi.c
parent604c724ba38f6ecc82c9023bee692a7b2fb7e0ee (diff)
parent89cab4624a8c0ed81a1b74b6f8c884641cac5b9d (diff)
Merge remote-tracking branch 'asoc/topic/component' into asoc-next
Diffstat (limited to 'sound/soc/fsl/imx-ssi.c')
-rw-r--r--sound/soc/fsl/imx-ssi.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sound/soc/fsl/imx-ssi.c b/sound/soc/fsl/imx-ssi.c
index 810c7eeb7b03..4a26d88d7236 100644
--- a/sound/soc/fsl/imx-ssi.c
+++ b/sound/soc/fsl/imx-ssi.c
@@ -413,6 +413,10 @@ static struct snd_soc_dai_driver imx_ac97_dai = {
413 .ops = &imx_ssi_pcm_dai_ops, 413 .ops = &imx_ssi_pcm_dai_ops,
414}; 414};
415 415
416static const struct snd_soc_component_driver imx_component = {
417 .name = DRV_NAME,
418};
419
416static void setup_channel_to_ac97(struct imx_ssi *imx_ssi) 420static void setup_channel_to_ac97(struct imx_ssi *imx_ssi)
417{ 421{
418 void __iomem *base = imx_ssi->base; 422 void __iomem *base = imx_ssi->base;
@@ -591,7 +595,8 @@ static int imx_ssi_probe(struct platform_device *pdev)
591 595
592 platform_set_drvdata(pdev, ssi); 596 platform_set_drvdata(pdev, ssi);
593 597
594 ret = snd_soc_register_dai(&pdev->dev, dai); 598 ret = snd_soc_register_component(&pdev->dev, &imx_component,
599 dai, 1);
595 if (ret) { 600 if (ret) {
596 dev_err(&pdev->dev, "register DAI failed\n"); 601 dev_err(&pdev->dev, "register DAI failed\n");
597 goto failed_register; 602 goto failed_register;
@@ -632,7 +637,7 @@ failed_pdev_alloc:
632failed_pdev_fiq_add: 637failed_pdev_fiq_add:
633 platform_device_put(ssi->soc_platform_pdev_fiq); 638 platform_device_put(ssi->soc_platform_pdev_fiq);
634failed_pdev_fiq_alloc: 639failed_pdev_fiq_alloc:
635 snd_soc_unregister_dai(&pdev->dev); 640 snd_soc_unregister_component(&pdev->dev);
636failed_register: 641failed_register:
637 release_mem_region(res->start, resource_size(res)); 642 release_mem_region(res->start, resource_size(res));
638failed_get_resource: 643failed_get_resource:
@@ -650,7 +655,7 @@ static int imx_ssi_remove(struct platform_device *pdev)
650 platform_device_unregister(ssi->soc_platform_pdev); 655 platform_device_unregister(ssi->soc_platform_pdev);
651 platform_device_unregister(ssi->soc_platform_pdev_fiq); 656 platform_device_unregister(ssi->soc_platform_pdev_fiq);
652 657
653 snd_soc_unregister_dai(&pdev->dev); 658 snd_soc_unregister_component(&pdev->dev);
654 659
655 if (ssi->flags & IMX_SSI_USE_AC97) 660 if (ssi->flags & IMX_SSI_USE_AC97)
656 ac97_ssi = NULL; 661 ac97_ssi = NULL;