msm: board-msm7x27a: Fix for Wifi Error issue.

Wifi and BT have shared voltage regulator. So if both
needs to be enabled, there is a voltage level conflict
between them. In case of older vreg implementation
there is no such sanity check regarding the voltage
levels, hence no conflict.

But in case of regulator API's, it has a sanity check for
previously voted voltage for a particular regulator. Hence
in this case we need to pass the minimum & maximum voltage
range for both BT & WIFI, so that regulator framework will
internally set the common voltage level for both devices.

Change-Id: I48cc70ffe78407dc1013ac09da4cddfcda0ab2cf
Signed-off-by: Pankaj Kumar <pakuma@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-msm7x27a.c b/arch/arm/mach-msm/board-msm7x27a.c
index 56c135d..ca1da75 100644
--- a/arch/arm/mach-msm/board-msm7x27a.c
+++ b/arch/arm/mach-msm/board-msm7x27a.c
@@ -466,13 +466,14 @@
 struct bt_vreg_info {
 	const char *name;
 	unsigned int pmapp_id;
-	unsigned int level;
+	unsigned int min_level;
+	unsigned int max_level;
 	unsigned int is_pin_controlled;
 	struct regulator *reg;
 };
 static struct bt_vreg_info bt_vregs[] = {
-	{"msme1", 2, 1800000, 0, NULL},
-	{"bt", 21, 2900000, 1, NULL}
+	{"msme1", 2, 1800000, 1800000, 0, NULL},
+	{"bt", 21, 2900000, 3050000, 1, NULL}
 };
 
 static int bahama_bt(int on)
@@ -640,7 +641,8 @@
 		}
 
 		rc = on ? regulator_set_voltage(bt_vregs[i].reg,
-				bt_vregs[i].level, bt_vregs[i].level) : 0;
+				bt_vregs[i].min_level,
+					bt_vregs[i].max_level) : 0;
 		if (rc) {
 			dev_err(&msm_bt_power_device.dev,
 				"%s: could not set voltage for %s: %d\n",