static int s3c2412_iis_dev_probe(struct platform_device *pdev) { int ret = 0; struct resource *res; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); s3c2412_i2s.regs = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(s3c2412_i2s.regs)) return PTR_ERR(s3c2412_i2s.regs); s3c2412_i2s_pcm_stereo_out.dma_addr = res->start + S3C2412_IISTXD; s3c2412_i2s_pcm_stereo_in.dma_addr = res->start + S3C2412_IISRXD; ret = s3c_i2sv2_register_component(&pdev->dev, -1, &s3c2412_i2s_component, &s3c2412_i2s_dai); if (ret) { pr_err("failed to register the dai\n"); return ret; } ret = samsung_asoc_dma_platform_register(&pdev->dev); if (ret) pr_err("failed to register the DMA: %d\n", ret); return ret; }
static int s3c2412_iis_dev_probe(struct platform_device *pdev) { int ret = 0; ret = s3c_i2sv2_register_component(&pdev->dev, -1, &s3c2412_i2s_component, &s3c2412_i2s_dai); if (ret) { pr_err("failed to register the dai\n"); return ret; } ret = samsung_asoc_dma_platform_register(&pdev->dev); if (ret) pr_err("failed to register the DMA: %d\n", ret); return ret; }
static int s3c2412_iis_dev_probe(struct platform_device *pdev) { int ret = 0; struct resource *res; struct s3c_audio_pdata *pdata = dev_get_platdata(&pdev->dev); if (!pdata) { dev_err(&pdev->dev, "missing platform data"); return -ENXIO; } res = platform_get_resource(pdev, IORESOURCE_MEM, 0); s3c2412_i2s.regs = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(s3c2412_i2s.regs)) return PTR_ERR(s3c2412_i2s.regs); s3c2412_i2s_pcm_stereo_out.addr = res->start + S3C2412_IISTXD; s3c2412_i2s_pcm_stereo_out.filter_data = pdata->dma_playback; s3c2412_i2s_pcm_stereo_in.addr = res->start + S3C2412_IISRXD; s3c2412_i2s_pcm_stereo_in.filter_data = pdata->dma_capture; ret = samsung_asoc_dma_platform_register(&pdev->dev, pdata->dma_filter, NULL, NULL); if (ret) { pr_err("failed to register the DMA: %d\n", ret); return ret; } ret = s3c_i2sv2_register_component(&pdev->dev, -1, &s3c2412_i2s_component, &s3c2412_i2s_dai); if (ret) pr_err("failed to register the dai\n"); return ret; }