mako: touch: disable button and clean up

- disable button function
- clean up configuration
- remove unused codes
- remove softkey handlers
- remove interrupt thread (ISR send to work queue directly)

Change-Id: Id8bbf5d554e12a477e402c966b9ef21e1a02d86f
diff --git a/drivers/input/touchscreen/touch_synaptics.c b/drivers/input/touchscreen/touch_synaptics.c
index e708146..7541449 100644
--- a/drivers/input/touchscreen/touch_synaptics.c
+++ b/drivers/input/touchscreen/touch_synaptics.c
@@ -105,7 +105,7 @@
 #define REPORT_MODE_REDUCED         0x01
 #define ABS_FILTER                  0x08
 #define PALM_DETECT_REG      (ts->finger_dsc.control_base+1) /* Palm Detect */
-#define DELTA_X_THRESH_REGi  (ts->finger_dsc.control_base+2) /* Delta-X Thresh */
+#define DELTA_X_THRESH_REG  (ts->finger_dsc.control_base+2) /* Delta-X Thresh */
 #define DELTA_Y_THRESH_REG   (ts->finger_dsc.control_base+3) /* Delta-Y Thresh */
 #define SENSOR_MAX_X_POS     (ts->finger_dsc.control_base+6) /* SensorMaxXPos */
 #define SENSOR_MAX_Y_POS     (ts->finger_dsc.control_base+8) /* SensorMaxYPos */
@@ -241,6 +241,7 @@
 		goto err_synaptics_device_damage;
 	}
 
+//printk("[S:%x,M:%x", ts->ts_data.interrupt_status_reg, ts->interrupt_mask.abs);
 	/* Finger */
 	if (likely(ts->ts_data.interrupt_status_reg & ts->interrupt_mask.abs)) {
 		if (unlikely(touch_i2c_read(client, FINGER_STATE_REG,
@@ -251,6 +252,7 @@
 		}
 
 		touch_finger_bit_mask = GET_BIT_MASK(ts->ts_data.finger.finger_status_reg);
+//printk("F:%x", touch_finger_bit_mask);
 		if (unlikely(touch_debug_mask & DEBUG_GET_DATA)) {
 			TOUCH_INFO_MSG("Finger_status : 0x%x, 0x%x, 0x%x\n",
 				ts->ts_data.finger.finger_status_reg[0],
@@ -300,10 +302,12 @@
 			index++;
 		}
 		*total_num = index;
+//printk(" -> %d]", index);
 		if (unlikely(touch_debug_mask & DEBUG_GET_DATA))
 			TOUCH_INFO_MSG("Total_num: %d\n", *total_num);
 	}
 
+//printk("button_id = %d\n", ts->button_dsc.id);
 	 /* Button */
 	if (unlikely(ts->button_dsc.id != 0)) {
 		if (likely(ts->ts_data.interrupt_status_reg &
@@ -631,6 +635,8 @@
 {
 	struct synaptics_ts_data* ts =
 			(struct synaptics_ts_data*)get_touch_handle(client);
+	struct lge_touch_data *lg_ts =
+			(struct lge_touch_data *) i2c_get_clientdata(client);
 	u8 buf;
 
 	if (touch_debug_mask & DEBUG_TRACE)
@@ -651,6 +657,12 @@
 		TOUCH_ERR_MSG("INTERRUPT_ENABLE_REG read fail\n");
 		return -EIO;
 	}
+
+	if (!lg_ts->pdata->caps->button_support) {
+		buf &= ~ts->interrupt_mask.button;
+		ts->interrupt_mask.button = 0;
+	}
+
 	if (unlikely(touch_i2c_write_byte(client, INTERRUPT_ENABLE_REG,
 		buf | ts->interrupt_mask.abs | ts->interrupt_mask.button) < 0)) {
 		TOUCH_ERR_MSG("INTERRUPT_ENABLE_REG write fail\n");
@@ -659,6 +671,7 @@
 
 #if defined(CONFIG_TOUCH_REG_MAP_TM2000) || defined(CONFIG_TOUCH_REG_MAP_TM2372)
 	/* do nothing */
+
 #else
 	if (unlikely(touch_i2c_write_byte(client,
 					GESTURE_ENABLE_1_REG, 0x00) < 0)) {
@@ -1000,17 +1013,56 @@
 		}
 		break;
 	case IC_CTRL_READ:
+#if defined(CONFIG_TOUCH_REG_MAP_TM2000) || defined(CONFIG_TOUCH_REG_MAP_TM2372)
+		if (unlikely(touch_i2c_write_byte(client,
+			PAGE_SELECT_REG, ((value & 0xFF00) >> 8)) < 0)) {
+			TOUCH_ERR_MSG("PAGE_SELECT_REG write fail\n");
+			return -EIO;
+		}
+
+		if (touch_i2c_read(client, (value & 0xFF), 1, &buf) < 0) {
+			TOUCH_ERR_MSG("IC register read fail\n");
+			return -EIO;
+		}
+
+		if (unlikely(touch_i2c_write_byte(client,
+						PAGE_SELECT_REG, 0x00) < 0)) {
+			TOUCH_ERR_MSG("PAGE_SELECT_REG write fail\n");
+			return -EIO;
+		}
+#else
 		if (touch_i2c_read(client, value, 1, &buf) < 0) {
 			TOUCH_ERR_MSG("IC register read fail\n");
 			return -EIO;
 		}
+#endif
 		break;
 	case IC_CTRL_WRITE:
+#if defined(CONFIG_TOUCH_REG_MAP_TM2000) || defined(CONFIG_TOUCH_REG_MAP_TM2372)
+		if (unlikely(touch_i2c_write_byte(client,
+			PAGE_SELECT_REG, ((value & 0xFF0000) >> 16)) < 0)) {
+			TOUCH_ERR_MSG("PAGE_SELECT_REG write fail\n");
+			return -EIO;
+		}
+
 		if (touch_i2c_write_byte(client,
 				((value & 0xFF00) >> 8), (value & 0xFF)) < 0) {
 			TOUCH_ERR_MSG("IC register write fail\n");
 			return -EIO;
 		}
+
+		if (unlikely(touch_i2c_write_byte(client,
+						PAGE_SELECT_REG, 0x00) < 0)) {
+			TOUCH_ERR_MSG("PAGE_SELECT_REG write fail\n");
+			return -EIO;
+		}
+#else
+		if (touch_i2c_write_byte(client,
+				((value & 0xFF00) >> 8), (value & 0xFF)) < 0) {
+			TOUCH_ERR_MSG("IC register write fail\n");
+			return -EIO;
+		}
+#endif
 		break;
 	case IC_CTRL_RESET_CMD:
 		if (unlikely(touch_i2c_write_byte(client,
@@ -1084,15 +1136,7 @@
 		}
 	}
 #else
-	/* test revision should be over 100 */
-	if (((ts->fw_info.fw_rev >= ts->fw_info.fw_image_rev &&
-		ts->fw_info.fw_rev < 100) ||
-		strncmp(ts->fw_info.product_id ,
-			ts->fw_info.fw_image_product_id, 10)) &&
-		!ts->fw_upgrade.fw_force_upgrade) {
-		TOUCH_INFO_MSG("FW-upgrade is not executed\n");
-		return -1;
-	}
+#error NOT SUPPORTED TYPE
 #endif
 
 	return 0;