power: pm8921-bms: fix soc repoting for fake battery

There is an issue where the real state of charge is reported
 even when the fake battery parameter is set.

Fix it by checking this parameter just before returning the
 state of charge value.

Change-Id: I3840373a6b52011c165baa79dc8d096a3533b358
Signed-off-by: Patrick Cain <pcain@codeaurora.org> rFu
diff --git a/drivers/power/pm8921-bms.c b/drivers/power/pm8921-bms.c
index df2d556..5f63cd7 100644
--- a/drivers/power/pm8921-bms.c
+++ b/drivers/power/pm8921-bms.c
@@ -1063,12 +1063,6 @@
 		soc = 100;
 	pr_debug("SOC = %u%%\n", soc);
 
-	if (bms_fake_battery) {
-		soc = BATTERY_POWER_SUPPLY_SOC;
-		pr_debug("setting SOC = %u%% bms_fake_battery = %d\n", soc,
-							bms_fake_battery);
-	}
-
 	if (soc < 0) {
 		pr_err("bad rem_usb_chg = %d rem_chg %d,"
 				"cc_mah %d, unusb_chg %d\n",
@@ -1085,7 +1079,7 @@
 
 	if (last_soc == -EINVAL || soc <= last_soc) {
 		last_soc = update_userspace ? soc : last_soc;
-		return soc;
+		return bms_fake_battery ? BATTERY_POWER_SUPPLY_SOC : soc;
 	}
 
 	/*
@@ -1100,7 +1094,7 @@
 		soc = last_soc;
 	}
 
-	return soc;
+	return bms_fake_battery ? BATTERY_POWER_SUPPLY_SOC : soc;
 }
 
 #define XOADC_MAX_1P25V		1312500