From: Jassi Brar jassi.brar@samsung.com
Instead of having I2Sv2 core to figure out the base address of I2Sv3 controller pass the address directly.
Signed-off-by: Jassi Brar jassi.brar@samsung.com --- sound/soc/s3c24xx/s3c64xx-i2s.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/sound/soc/s3c24xx/s3c64xx-i2s.c b/sound/soc/s3c24xx/s3c64xx-i2s.c index 751a1b6..9cf62c2 100644 --- a/sound/soc/s3c24xx/s3c64xx-i2s.c +++ b/sound/soc/s3c24xx/s3c64xx-i2s.c @@ -166,6 +166,13 @@ static __devinit int s3c64xx_iis_dev_probe(struct platform_device *pdev) dev_err(&pdev->dev, "Unable to get I2S SFR address\n"); return -ENXIO; } + + if (!request_mem_region(res->start, resource_size(res), + "s3c64xx-i2s")) { + dev_err(&pdev->dev, "Unable to request SFR region\n"); + return -EBUSY; + } + i2s->dma_capture->dma_addr = res->start + S3C2412_IISRXD; i2s->dma_playback->dma_addr = res->start + S3C2412_IISTXD;
@@ -191,7 +198,8 @@ static __devinit int s3c64xx_iis_dev_probe(struct platform_device *pdev)
clk_enable(i2s->iis_cclk);
- ret = s3c_i2sv2_probe(pdev, dai, i2s, 0); + ret = s3c_i2sv2_probe(pdev, dai, i2s, + i2s->dma_playback->dma_addr - S3C2412_IISTXD); if (ret) goto err_clk;