power: add battery type selection and check lge battery

lk should support battery check to enable this feature.
if you want to use it, set CONFIG_LGE_PM_BATTERY_ID_CHECKER=y
in defconfig

Change-Id: Ie92c612e197aeede39b8da526332add3fab15a19
diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
index a263750..8489196 100644
--- a/drivers/power/Kconfig
+++ b/drivers/power/Kconfig
@@ -434,4 +434,10 @@
 	help
 	  Say Y to enable battery temperature measurements using
 	  thermistor connected on BATCTRL ADC.
+
+config LGE_PM_BATTERY_ID_CHECKER
+	default n
+	bool "LGE battery id checker"
+	help
+	  LGE Battery Id Checker Configuration
 endif # POWER_SUPPLY
diff --git a/drivers/power/pm8921-charger.c b/drivers/power/pm8921-charger.c
index c983389..a74459d 100644
--- a/drivers/power/pm8921-charger.c
+++ b/drivers/power/pm8921-charger.c
@@ -31,6 +31,10 @@
 #include <mach/msm_xo.h>
 #include <mach/msm_hsusb.h>
 
+#ifdef CONFIG_LGE_PM_BATTERY_ID_CHECKER
+#include <mach/board_lge.h>
+#endif
+
 #define CHG_BUCK_CLOCK_CTRL	0x14
 
 #define PBL_ACCESS1		0x04
@@ -989,6 +993,7 @@
 	}
 }
 
+#ifndef CONFIG_LGE_PM_BATTERY_ID_CHECKER
 static int64_t read_battery_id(struct pm8921_chg_chip *chip)
 {
 	int rc;
@@ -1004,11 +1009,20 @@
 						result.measurement);
 	return result.physical;
 }
+#endif
 
 static int is_battery_valid(struct pm8921_chg_chip *chip)
 {
+#ifndef CONFIG_LGE_PM_BATTERY_ID_CHECKER
 	int64_t rc;
+#endif
 
+#ifdef CONFIG_LGE_PM_BATTERY_ID_CHECKER
+	if (is_lge_battery())
+		return 1;
+	else
+		return 0;
+#else
 	if (chip->batt_id_min == 0 && chip->batt_id_max == 0)
 		return 1;
 
@@ -1025,6 +1039,7 @@
 		return 0;
 	}
 	return 1;
+#endif
 }
 
 static void check_battery_valid(struct pm8921_chg_chip *chip)
@@ -1289,6 +1304,11 @@
 
 static int get_prop_batt_present(struct pm8921_chg_chip *chip)
 {
+
+#ifdef CONFIG_LGE_PM_BATTERY_ID_CHECKER
+	if (is_lge_battery() == false)
+		return 0;
+#endif
 	return pm_chg_get_rt_status(chip, BATT_INSERTED_IRQ);
 }
 
@@ -1341,6 +1361,11 @@
 {
 	int temp;
 
+#ifdef CONFIG_LGE_PM_BATTERY_ID_CHECKER
+	if (is_lge_battery() == false)
+		return POWER_SUPPLY_HEALTH_UNSPEC_FAILURE;
+#endif
+
 	temp = pm_chg_get_rt_status(chip, BATTTEMP_HOT_IRQ);
 	if (temp)
 		return POWER_SUPPLY_HEALTH_OVERHEAT;