summary refs log tree commit diff
path: root/sound/soc/omap/osk5912.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-11-25 21:16:52 +0000
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-11-25 21:16:52 +0000
commitfdc1f5d0608faa9bb06c1e7c662831550b32d2d3 (patch)
tree322b20dad4c7e7d3aa95484a78523651b0721c7e /sound/soc/omap/osk5912.c
parent77c667d1365e19c2848d37bf408e2f0b086b63d9 (diff)
parent25436180ee8bed6740f29d92c2030c759885c147 (diff)
downloadlinux-fdc1f5d0608faa9bb06c1e7c662831550b32d2d3.tar.gz
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.c11
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);
 }