diff options
author | Jassi Brar <jassi.brar@samsung.com> | 2010-04-27 02:56:34 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-05-05 10:11:52 -0400 |
commit | d79696ff443eb16a1a13bd7db030a25fee9f44a7 (patch) | |
tree | 55d4d4b2c47f8812066443a1432eee3c12d15340 /sound/soc | |
parent | ce76f9fd34d4d39fbda330f14b327273551e2f54 (diff) |
ASoC: S3C2412: I2S: Return correct source clock
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@samsung.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | 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 cf0c15482c34..ce2daacc4eb9 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, | |||
94 | 94 | ||
95 | struct clk *s3c2412_get_iisclk(void) | 95 | struct clk *s3c2412_get_iisclk(void) |
96 | { | 96 | { |
97 | return s3c2412_i2s.iis_clk; | 97 | struct s3c_i2sv2_info *i2s = &s3c2412_i2s; |
98 | u32 iismod = readl(i2s->regs + S3C2412_IISMOD); | ||
99 | |||
100 | if (iismod & S3C2412_IISMOD_IMS_SYSMUX) | ||
101 | return i2s->iis_cclk; | ||
102 | else | ||
103 | return i2s->iis_pclk; | ||
98 | } | 104 | } |
99 | EXPORT_SYMBOL_GPL(s3c2412_get_iisclk); | 105 | EXPORT_SYMBOL_GPL(s3c2412_get_iisclk); |
100 | 106 | ||