regulator: lock supply in regulator enable

This patch add locks around regulator supply enable.

Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index ba521f0..81336e2 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1267,17 +1267,15 @@
 {
 	int ret, delay;
 
-	if (rdev->use_count == 0) {
-		/* do we need to enable the supply regulator first */
-		if (rdev->supply) {
-			mutex_lock(&rdev->supply->mutex);
-			ret = _regulator_enable(rdev->supply);
-			mutex_unlock(&rdev->supply->mutex);
-			if (ret < 0) {
-				printk(KERN_ERR "%s: failed to enable %s: %d\n",
-				       __func__, rdev_get_name(rdev), ret);
-				return ret;
-			}
+	/* do we need to enable the supply regulator first */
+	if (rdev->supply) {
+		mutex_lock(&rdev->supply->mutex);
+		ret = _regulator_enable(rdev->supply);
+		mutex_unlock(&rdev->supply->mutex);
+		if (ret < 0) {
+			printk(KERN_ERR "%s: failed to enable %s: %d\n",
+			       __func__, rdev_get_name(rdev), ret);
+			return ret;
 		}
 	}