[alsa-devel] [PATCH 04/11] ASoC: S3C2412: I2S: Return correct source clock

Jassi Brar jassi.brar at samsung.com
Tue Apr 27 08:56:34 CEST 2010


Until now, s3c2412_get_iisclk would return NULL since iis_clk was never
initialized.
Return appropriate pointer as per the selection made for source clock.

Signed-off-by: Jassi Brar <jassi.brar at samsung.com>
---
 sound/soc/s3c24xx/s3c2412-i2s.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/sound/soc/s3c24xx/s3c2412-i2s.c b/sound/soc/s3c24xx/s3c2412-i2s.c
index cf0c154..ce2daac 100644
--- a/sound/soc/s3c24xx/s3c2412-i2s.c
+++ b/sound/soc/s3c24xx/s3c2412-i2s.c
@@ -94,7 +94,13 @@ static int s3c2412_i2s_set_sysclk(struct snd_soc_dai *cpu_dai,
 
 struct clk *s3c2412_get_iisclk(void)
 {
-	return s3c2412_i2s.iis_clk;
+	struct s3c_i2sv2_info *i2s = &s3c2412_i2s;
+	u32 iismod = readl(i2s->regs + S3C2412_IISMOD);
+
+	if (iismod & S3C2412_IISMOD_IMS_SYSMUX)
+		return i2s->iis_cclk;
+	else
+		return i2s->iis_pclk;
 }
 EXPORT_SYMBOL_GPL(s3c2412_get_iisclk);
 
-- 
1.6.2.5



More information about the Alsa-devel mailing list