diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-04-30 08:09:33 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-04-30 08:30:42 -0400 |
commit | c86bde54062a4d02c1b58203b7802797e4007a8a (patch) | |
tree | 23005156c1180cf95ce3f4667ed0d9cde3492232 /sound/soc/s3c24xx/s3c-i2s-v2.c | |
parent | 07736d48051869c37838635b41850618aa63b9a7 (diff) |
ASoC: Allow use of resource from the platform device for S3C IISv2
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/s3c24xx/s3c-i2s-v2.c')
-rw-r--r-- | sound/soc/s3c24xx/s3c-i2s-v2.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.c b/sound/soc/s3c24xx/s3c-i2s-v2.c index 34142c859225..cb85498723dd 100644 --- a/sound/soc/s3c24xx/s3c-i2s-v2.c +++ b/sound/soc/s3c24xx/s3c-i2s-v2.c | |||
@@ -580,6 +580,24 @@ int s3c_i2sv2_probe(struct platform_device *pdev, | |||
580 | /* record our i2s structure for later use in the callbacks */ | 580 | /* record our i2s structure for later use in the callbacks */ |
581 | dai->private_data = i2s; | 581 | dai->private_data = i2s; |
582 | 582 | ||
583 | if (!base) { | ||
584 | struct resource *res = platform_get_resource(pdev, | ||
585 | IORESOURCE_MEM, | ||
586 | 0); | ||
587 | if (!res) { | ||
588 | dev_err(dev, "Unable to get register resource\n"); | ||
589 | return -ENXIO; | ||
590 | } | ||
591 | |||
592 | if (!request_mem_region(res->start, resource_size(res), | ||
593 | "s3c64xx-i2s-v4")) { | ||
594 | dev_err(dev, "Unable to request register region\n"); | ||
595 | return -EBUSY; | ||
596 | } | ||
597 | |||
598 | base = res->start; | ||
599 | } | ||
600 | |||
583 | i2s->regs = ioremap(base, 0x100); | 601 | i2s->regs = ioremap(base, 0x100); |
584 | if (i2s->regs == NULL) { | 602 | if (i2s->regs == NULL) { |
585 | dev_err(dev, "cannot ioremap registers\n"); | 603 | dev_err(dev, "cannot ioremap registers\n"); |