aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/input/touchscreen/atmel_mxt_ts.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index a248414642d9..31113c372f59 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -654,10 +654,11 @@ static void mxt_input_button(struct mxt_data *data, struct mxt_message *message)
654 } 654 }
655} 655}
656 656
657static void mxt_input_sync(struct input_dev *input_dev) 657static void mxt_input_sync(struct mxt_data *data)
658{ 658{
659 input_mt_report_pointer_emulation(input_dev, false); 659 input_mt_report_pointer_emulation(data->input_dev,
660 input_sync(input_dev); 660 data->pdata->t19_num_keys);
661 input_sync(data->input_dev);
661} 662}
662 663
663static void mxt_input_touchevent(struct mxt_data *data, 664static void mxt_input_touchevent(struct mxt_data *data,
@@ -707,7 +708,7 @@ static void mxt_input_touchevent(struct mxt_data *data,
707 if (status & MXT_T9_RELEASE) { 708 if (status & MXT_T9_RELEASE) {
708 input_mt_report_slot_state(input_dev, 709 input_mt_report_slot_state(input_dev,
709 MT_TOOL_FINGER, 0); 710 MT_TOOL_FINGER, 0);
710 mxt_input_sync(input_dev); 711 mxt_input_sync(data);
711 } 712 }
712 713
713 /* Touch active */ 714 /* Touch active */
@@ -783,7 +784,7 @@ static irqreturn_t mxt_process_messages_until_invalid(struct mxt_data *data)
783 } while (reportid != 0xff); 784 } while (reportid != 0xff);
784 785
785 if (update_input) 786 if (update_input)
786 mxt_input_sync(data->input_dev); 787 mxt_input_sync(data);
787 788
788 return IRQ_HANDLED; 789 return IRQ_HANDLED;
789} 790}