Lines Matching refs:app

174 					   struct mt_application *app);
175 static void mt_post_parse(struct mt_device *td, struct mt_application *app);
711 mt_store_field(hdev, app, \
717 unsigned long **bit, int *max, struct mt_application *app)
729 app->mt_flags |= INPUT_MT_POINTER;
735 app->buttons_count++;
787 if (app->quirks & MT_QUIRK_HOVERING) {
800 app->quirks |= MT_QUIRK_CONFIDENCE;
802 if (app->quirks & MT_QUIRK_CONFIDENCE)
818 app->touches_by_report++;
821 if (!(app->quirks & MT_QUIRK_NO_AREA))
827 if (!(app->quirks & MT_QUIRK_NO_AREA)) {
849 app->scantime = &field->value[usage->usage_index];
850 app->scantime_logical_max = field->logical_maximum;
853 app->have_contact_count = true;
854 app->raw_cc = &field->value[usage->usage_index];
886 if ((app->quirks & MT_QUIRK_WIN8_PTP_BUTTONS) &&
908 static int mt_compute_slot(struct mt_device *td, struct mt_application *app,
912 __s32 quirks = app->quirks;
918 return cypress_compute_slot(app, slot);
921 return app->num_received;
930 struct mt_application *app,
936 for_each_set_bit(slotnum, app->pending_palm_slots, td->maxcontacts) {
937 clear_bit(slotnum, app->pending_palm_slots);
955 static void mt_sync_frame(struct mt_device *td, struct mt_application *app,
958 if (app->quirks & MT_QUIRK_WIN8_PTP_BUTTONS)
959 input_event(input, EV_KEY, BTN_LEFT, app->left_button_state);
962 input_event(input, EV_MSC, MSC_TIMESTAMP, app->timestamp);
965 mt_release_pending_palms(td, app, input);
967 app->num_received = 0;
968 app->left_button_state = 0;
977 static int mt_compute_timestamp(struct mt_application *app, __s32 value)
979 long delta = value - app->prev_scantime;
980 unsigned long jdelta = jiffies_to_usecs(jiffies - app->jiffies);
982 app->jiffies = jiffies;
985 delta += app->scantime_logical_max;
994 return app->timestamp + delta;
1008 struct mt_application *app,
1013 __s32 quirks = app->quirks;
1025 app->num_received >= app->num_expected)
1040 slotnum = mt_compute_slot(td, app, slot, input);
1060 if (app->application == HID_GD_SYSTEM_MULTIAXIS)
1076 set_bit(slotnum, app->pending_palm_slots);
1156 struct mt_application *app,
1162 __s32 quirks = app->quirks;
1186 app->left_button_state |= value;
1199 struct mt_application *app = rdata->application;
1213 scantime = *app->scantime;
1214 app->timestamp = mt_compute_timestamp(app, scantime);
1215 if (app->raw_cc != DEFAULT_ZERO)
1216 contact_count = *app->raw_cc;
1230 if ((app->quirks & MT_QUIRK_WIN8_PTP_BUTTONS) &&
1231 app->num_received == 0 &&
1232 app->prev_scantime != scantime)
1233 app->num_expected = contact_count;
1236 app->num_expected = contact_count;
1238 app->prev_scantime = scantime;
1240 first_packet = app->num_received == 0;
1244 list_for_each_entry(slot, &app->mt_usages, list) {
1245 if (!mt_process_slot(td, input, app, slot))
1246 app->num_received++;
1257 mt_process_mt_event(hid, app, field,
1262 if (app->num_received >= app->num_expected)
1263 mt_sync_frame(td, app, input);
1283 if (app->quirks & MT_QUIRK_STICKY_FINGERS) {
1296 struct mt_application *app)
1306 mt_post_parse(td, app);
1308 mt_post_parse_default_settings(td, app);
1311 app->mt_flags |= INPUT_MT_POINTER;
1313 if (app->quirks & MT_QUIRK_NOT_SEEN_MEANS_UP)
1314 app->mt_flags |= INPUT_MT_DROP_UNUSED;
1317 if ((app->mt_flags & INPUT_MT_POINTER) &&
1318 (app->buttons_count == 1))
1324 app->pending_palm_slots = devm_kcalloc(&hi->input->dev,
1328 if (!app->pending_palm_slots)
1331 ret = input_mt_init_slots(input, td->maxcontacts, app->mt_flags);
1335 app->mt_flags = 0;
1571 struct mt_application *app)
1573 __s32 quirks = app->quirks;
1576 if (list_is_singular(&app->mt_usages)) {
1584 app->quirks = quirks;
1587 static void mt_post_parse(struct mt_device *td, struct mt_application *app)
1589 if (!app->have_contact_count)
1590 app->quirks &= ~MT_QUIRK_CONTACT_CNT_ACCURATE;