msm8960: Use new pmic type info to determine the type of pmic

Change-Id: I33504f737380d494faa2102c1c1f34f2f87a5104
diff --git a/platform/msm8960/gpio.c b/platform/msm8960/gpio.c
index 07d05a0..57d2591 100755
--- a/platform/msm8960/gpio.c
+++ b/platform/msm8960/gpio.c
@@ -253,11 +253,8 @@
 	int i = 0;
 	int num = 0;
 	struct pm8xxx_gpio_init *gpio_array;
-	uint32_t pmic_type;
 
-	pmic_type = board_pmic_type();
-
-	if (pmic_type == PMIC_IS_PM8917)
+	if (platform_pmic_type(PMIC_IS_PM8917))
 	{
 		num = ARRAY_SIZE(pm8917_keypad_gpios);
 		gpio_array = pm8917_keypad_gpios;
@@ -280,11 +277,8 @@
 	int i = 0;
 	int num = 0;
 	struct pm8xxx_gpio_init *gpio_array;
-	uint32_t pmic_type;
 
-	pmic_type = board_pmic_type();
-
-	if (pmic_type == PMIC_IS_PM8917)
+	if (platform_pmic_type(PMIC_IS_PM8917))
 	{
 		num = ARRAY_SIZE(pm8917_keypad_gpios_apq);
 		gpio_array = pm8917_keypad_gpios_apq;
diff --git a/platform/msm8960/platform.c b/platform/msm8960/platform.c
index ed0be2c..158b483 100644
--- a/platform/msm8960/platform.c
+++ b/platform/msm8960/platform.c
@@ -146,3 +146,23 @@
 {
 	return ticks_per_sec;
 }
+
+/* Return true if the pmic type matches */
+uint8_t platform_pmic_type(uint32_t pmic_type)
+{
+	uint8_t ret = 0;
+	uint8_t i = 0;
+	uint8_t num_ent = 0;
+	struct board_pmic_data pmic_info[SMEM_V7_SMEM_MAX_PMIC_DEVICES];
+
+	num_ent = board_pmic_info(&pmic_info, SMEM_V7_SMEM_MAX_PMIC_DEVICES);
+
+	for(i = 0; i < num_ent; i++) {
+		if (pmic_info[i].pmic_type == pmic_type) {
+			ret = 1;
+			break;
+		}
+	}
+
+	return ret;
+}
diff --git a/target/msm8960/keypad.c b/target/msm8960/keypad.c
index 82e049c..1639f19 100644
--- a/target/msm8960/keypad.c
+++ b/target/msm8960/keypad.c
@@ -134,11 +134,9 @@
 
 void msm8930_keypad_init(void)
 {
-	uint32_t pm_type = board_pmic_type();
-
 	msm8930_keypad_gpio_init();
 
-	if (pm_type == PMIC_IS_PM8917)
+	if (platform_pmic_type(PMIC_IS_PM8917))
 	{
 		ssbi_gpio_keypad_init(&msm8930_pm8917_qwerty_keypad);
 	}
@@ -150,11 +148,9 @@
 
 void apq8064_keypad_init(void)
 {
-	uint32_t pm_type = board_pmic_type();
-
 	apq8064_keypad_gpio_init();
 
-	if (pm_type == PMIC_IS_PM8917)
+	if (platform_pmic_type(PMIC_IS_PM8917))
 		ssbi_gpio_keypad_init(&apq8064_pm8917_qwerty_keypad);
 	else
 		ssbi_gpio_keypad_init(&apq8064_pm8921_qwerty_keypad);