Lines Matching refs:drvdat
150 static void asus_report_contact_down(struct asus_drvdata *drvdat, in asus_report_contact_down() argument
153 struct input_dev *input = drvdat->input; in asus_report_contact_down()
157 y = drvdat->tp->max_y - ((data[0] & CONTACT_Y_MSB_MASK) << 8 | data[2]); in asus_report_contact_down()
162 if (drvdat->tp->contact_size < 5) in asus_report_contact_down()
178 static void asus_report_tool_width(struct asus_drvdata *drvdat) in asus_report_tool_width() argument
180 struct input_mt *mt = drvdat->input->mt; in asus_report_tool_width()
184 if (drvdat->tp->contact_size < 5) in asus_report_tool_width()
205 input_report_abs(drvdat->input, ABS_TOOL_WIDTH, in asus_report_tool_width()
210 static int asus_report_input(struct asus_drvdata *drvdat, u8 *data, int size) in asus_report_input() argument
215 if (size != 3 + drvdat->tp->contact_size * drvdat->tp->max_contacts) in asus_report_input()
218 for (i = 0; i < drvdat->tp->max_contacts; i++) { in asus_report_input()
221 if (drvdat->tp->contact_size >= 5) in asus_report_input()
225 input_mt_slot(drvdat->input, i); in asus_report_input()
226 input_mt_report_slot_state(drvdat->input, toolType, down); in asus_report_input()
229 asus_report_contact_down(drvdat, toolType, contactData); in asus_report_input()
230 contactData += drvdat->tp->contact_size; in asus_report_input()
234 input_report_key(drvdat->input, BTN_LEFT, data[1] & BTN_LEFT_MASK); in asus_report_input()
235 asus_report_tool_width(drvdat); in asus_report_input()
237 input_mt_sync_frame(drvdat->input); in asus_report_input()
238 input_sync(drvdat->input); in asus_report_input()