diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-25 21:16:52 +0000 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-25 21:16:52 +0000 |
commit | fdc1f5d0608faa9bb06c1e7c662831550b32d2d3 (patch) | |
tree | 322b20dad4c7e7d3aa95484a78523651b0721c7e /sound/soc/omap/osk5912.c | |
parent | 77c667d1365e19c2848d37bf408e2f0b086b63d9 (diff) | |
parent | 25436180ee8bed6740f29d92c2030c759885c147 (diff) |
Merge branch 'for-2.6.37' into for-2.6.38
Diffstat (limited to 'sound/soc/omap/osk5912.c')
-rw-r--r-- | sound/soc/omap/osk5912.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sound/soc/omap/osk5912.c b/sound/soc/omap/osk5912.c index 18d053d2ba8c..7e75e775fb4a 100644 --- a/sound/soc/omap/osk5912.c +++ b/sound/soc/omap/osk5912.c @@ -177,7 +177,8 @@ static int __init osk_soc_init(void) tlv320aic23_mclk = clk_get(dev, "mclk"); if (IS_ERR(tlv320aic23_mclk)) { printk(KERN_ERR "Could not get mclk clock\n"); - return -ENODEV; + err = PTR_ERR(tlv320aic23_mclk); + goto err2; } /* @@ -188,7 +189,7 @@ static int __init osk_soc_init(void) if (clk_set_rate(tlv320aic23_mclk, CODEC_CLOCK)) { printk(KERN_ERR "Cannot set MCLK for AIC23 CODEC\n"); err = -ECANCELED; - goto err1; + goto err3; } } @@ -196,9 +197,12 @@ static int __init osk_soc_init(void) (uint) clk_get_rate(tlv320aic23_mclk), CODEC_CLOCK); return 0; -err1: + +err3: clk_put(tlv320aic23_mclk); +err2: platform_device_del(osk_snd_device); +err1: platform_device_put(osk_snd_device); return err; @@ -207,6 +211,7 @@ err1: static void __exit osk_soc_exit(void) { + clk_put(tlv320aic23_mclk); platform_device_unregister(osk_snd_device); } |