msm8930: Add support for pm8917

Change-Id: I4bd9b02c2928a8fa0e8c287a3bd94297963ea524
diff --git a/target/msm8960/keypad.c b/target/msm8960/keypad.c
index e331606..b84780b 100644
--- a/target/msm8960/keypad.c
+++ b/target/msm8960/keypad.c
@@ -65,14 +65,28 @@
 	[KEYMAP_INDEX(0, 1)] = KEY_VOLUMEDOWN,	/* Volume key on the device/CDP */
 };
 
-unsigned int msm8930_keys_gpiomap[] = {
+unsigned int msm8930_keys_pm8038_gpiomap[] = {
 	[KEYMAP_INDEX(0, 0)] = PM_GPIO(3),	/* Volume key on the device/CDP */
 	[KEYMAP_INDEX(0, 1)] = PM_GPIO(8),	/* Volume key on the device/CDP */
 };
 
-struct qwerty_keypad_info msm8930_qwerty_keypad = {
+unsigned int msm8930_keys_pm8917_gpiomap[] = {
+	[KEYMAP_INDEX(0, 0)] = PM_GPIO(27),	/* Volume key on the device/CDP */
+	[KEYMAP_INDEX(0, 1)] = PM_GPIO(28),	/* Volume key on the device/CDP */
+};
+
+struct qwerty_keypad_info msm8930_pm8038_qwerty_keypad = {
 	.keymap = msm8930_qwerty_keymap,
-	.gpiomap = msm8930_keys_gpiomap,
+	.gpiomap = msm8930_keys_pm8038_gpiomap,
+	.mapsize = ARRAY_SIZE(msm8930_qwerty_keymap),
+	.key_gpio_get = &pm8921_gpio_get,
+	.settle_time = 5 /* msec */ ,
+	.poll_time = 20 /* msec */ ,
+};
+
+struct qwerty_keypad_info msm8930_pm8917_qwerty_keypad = {
+	.keymap = msm8930_qwerty_keymap,
+	.gpiomap = msm8930_keys_pm8917_gpiomap,
 	.mapsize = ARRAY_SIZE(msm8930_qwerty_keymap),
 	.key_gpio_get = &pm8921_gpio_get,
 	.settle_time = 5 /* msec */ ,
@@ -120,8 +134,18 @@
 
 void msm8930_keypad_init(void)
 {
+	uint32_t pm_type = board_pmic_type();
+
 	msm8930_keypad_gpio_init();
-	ssbi_gpio_keypad_init(&msm8930_qwerty_keypad);
+
+	if (pm_type == PMIC_IS_PM8917)
+	{
+		ssbi_gpio_keypad_init(&msm8930_pm8917_qwerty_keypad);
+	}
+	else
+	{
+		ssbi_gpio_keypad_init(&msm8930_pm8038_qwerty_keypad);
+	}
 }
 
 void apq8064_keypad_init(void)