• Home
  • Raw
  • Download

Lines Matching +full:hi +full:- +full:z

16 #include "hid-ids.h"
32 #define U1_ABSOLUTE_REPORT_ID_SECD 0x02 /* FW-PTP Absolute data ReportID */
151 length -= tlen; in t4_calc_check_sum()
157 } while (--tlen > 0); in t4_calc_check_sum()
179 return -ENOMEM; in t4_read_write_register()
204 dev_err(&hdev->dev, "failed to read command (%d)\n", ret); in t4_read_write_register()
211 ret = -ENOMEM; in t4_read_write_register()
219 dev_err(&hdev->dev, "failed read register (%d)\n", ret); in t4_read_write_register()
223 ret = -EINVAL; in t4_read_write_register()
226 dev_err(&hdev->dev, "read register address error (%x,%x)\n", in t4_read_write_register()
232 dev_err(&hdev->dev, "read register size error (%x)\n", in t4_read_write_register()
239 dev_err(&hdev->dev, "read register checksum error (%x,%x)\n", in t4_read_write_register()
266 return -ENOMEM; in u1_read_write_register()
281 for (i = 0; i < U1_FEATURE_REPORT_LEN - 1; i++) in u1_read_write_register()
290 dev_err(&hdev->dev, "failed to read command (%d)\n", ret); in u1_read_write_register()
297 ret = -ENOMEM; in u1_read_write_register()
306 dev_err(&hdev->dev, "failed read register (%d)\n", ret); in u1_read_write_register()
325 unsigned int x, y, z; in t4_raw_event() local
331 for (i = 0; i < hdata->max_fingers; i++) { in t4_raw_event()
332 x = p_report->contact[i].x_hi << 8 | p_report->contact[i].x_lo; in t4_raw_event()
333 y = p_report->contact[i].y_hi << 8 | p_report->contact[i].y_lo; in t4_raw_event()
334 y = hdata->y_max - y + hdata->y_min; in t4_raw_event()
335 z = (p_report->contact[i].palm < 0x80 && in t4_raw_event()
336 p_report->contact[i].palm > 0) * 62; in t4_raw_event()
340 z = 0; in t4_raw_event()
342 input_mt_slot(hdata->input, i); in t4_raw_event()
344 input_mt_report_slot_state(hdata->input, in t4_raw_event()
345 MT_TOOL_FINGER, z != 0); in t4_raw_event()
347 if (!z) in t4_raw_event()
350 input_report_abs(hdata->input, ABS_MT_POSITION_X, x); in t4_raw_event()
351 input_report_abs(hdata->input, ABS_MT_POSITION_Y, y); in t4_raw_event()
352 input_report_abs(hdata->input, ABS_MT_PRESSURE, z); in t4_raw_event()
354 input_mt_sync_frame(hdata->input); in t4_raw_event()
356 input_report_key(hdata->input, BTN_LEFT, p_report->button); in t4_raw_event()
358 input_sync(hdata->input); in t4_raw_event()
364 unsigned int x, y, z; in u1_raw_event() local
377 for (i = 0; i < hdata->max_fingers; i++) { in u1_raw_event()
382 z = contact[7] & 0x7F; in u1_raw_event()
384 input_mt_slot(hdata->input, i); in u1_raw_event()
386 if (z != 0) { in u1_raw_event()
387 input_mt_report_slot_state(hdata->input, in u1_raw_event()
389 input_report_abs(hdata->input, in u1_raw_event()
391 input_report_abs(hdata->input, in u1_raw_event()
393 input_report_abs(hdata->input, in u1_raw_event()
394 ABS_MT_PRESSURE, z); in u1_raw_event()
396 input_mt_report_slot_state(hdata->input, in u1_raw_event()
401 input_mt_sync_frame(hdata->input); in u1_raw_event()
403 input_report_key(hdata->input, BTN_LEFT, in u1_raw_event()
405 input_report_key(hdata->input, BTN_RIGHT, in u1_raw_event()
407 input_report_key(hdata->input, BTN_MIDDLE, in u1_raw_event()
410 input_sync(hdata->input); in u1_raw_event()
421 input_report_rel(hdata->input2, REL_X, sp_x); in u1_raw_event()
422 input_report_rel(hdata->input2, REL_Y, sp_y); in u1_raw_event()
424 input_report_key(hdata->input2, BTN_LEFT, in u1_raw_event()
426 input_report_key(hdata->input2, BTN_RIGHT, in u1_raw_event()
428 input_report_key(hdata->input2, BTN_MIDDLE, in u1_raw_event()
431 input_sync(hdata->input2); in u1_raw_event()
445 switch (hdev->product) { in alps_raw_event()
458 int ret = -1; in alps_post_reset()
461 switch (data->dev_type) { in alps_post_reset()
466 dev_err(&hdev->dev, "failed T4_PRM_FEED_CONFIG_1 (%d)\n", in alps_post_reset()
474 dev_err(&hdev->dev, "failed T4_PRM_FEED_CONFIG_4 (%d)\n", in alps_post_reset()
484 dev_err(&hdev->dev, "failed to change TP mode (%d)\n", in alps_post_reset()
512 dev_err(&hdev->dev, "failed U1_DEV_CTRL_1 (%d)\n", ret); in u1_init()
521 dev_err(&hdev->dev, "failed to change TP mode (%d)\n", ret); in u1_init()
528 dev_err(&hdev->dev, "failed U1_NUM_SENS_X (%d)\n", ret); in u1_init()
535 dev_err(&hdev->dev, "failed U1_NUM_SENS_Y (%d)\n", ret); in u1_init()
542 dev_err(&hdev->dev, "failed U1_PITCH_SENS_X (%d)\n", ret); in u1_init()
549 dev_err(&hdev->dev, "failed U1_PITCH_SENS_Y (%d)\n", ret); in u1_init()
556 dev_err(&hdev->dev, "failed U1_RESO_DWN_ABS (%d)\n", ret); in u1_init()
559 pri_data->x_active_len_mm = in u1_init()
560 (pitch_x * (sen_line_num_x - 1)) / 10; in u1_init()
561 pri_data->y_active_len_mm = in u1_init()
562 (pitch_y * (sen_line_num_y - 1)) / 10; in u1_init()
564 pri_data->x_max = in u1_init()
565 (resolution << 2) * (sen_line_num_x - 1); in u1_init()
566 pri_data->x_min = 1; in u1_init()
567 pri_data->y_max = in u1_init()
568 (resolution << 2) * (sen_line_num_y - 1); in u1_init()
569 pri_data->y_min = 1; in u1_init()
574 dev_err(&hdev->dev, "failed U1_PAD_BTN (%d)\n", ret); in u1_init()
578 pri_data->btn_cnt = (tmp & 0x0F); in u1_init()
581 pri_data->btn_cnt = 1; in u1_init()
584 pri_data->has_sp = 0; in u1_init()
589 dev_err(&hdev->dev, "failed U1_DEVICE_TYP (%d)\n", ret); in u1_init()
597 dev_err(&hdev->dev, "failed SP mode (%d)\n", ret); in u1_init()
602 &pri_data->sp_btn_info, 0, true); in u1_init()
604 dev_err(&hdev->dev, "failed U1_SP_BTN (%d)\n", ret); in u1_init()
607 pri_data->has_sp = 1; in u1_init()
609 pri_data->max_fingers = 5; in u1_init()
621 dev_err(&hdev->dev, "failed T4_PRM_ID_CONFIG_3 (%d)\n", ret); in T4_init()
627 pri_data->x_max = sen_line_num_x * T4_COUNT_PER_ELECTRODE; in T4_init()
628 pri_data->x_min = T4_COUNT_PER_ELECTRODE; in T4_init()
629 pri_data->y_max = sen_line_num_y * T4_COUNT_PER_ELECTRODE; in T4_init()
630 pri_data->y_min = T4_COUNT_PER_ELECTRODE; in T4_init()
631 pri_data->x_active_len_mm = pri_data->y_active_len_mm = 0; in T4_init()
632 pri_data->btn_cnt = 1; in T4_init()
636 dev_err(&hdev->dev, "failed PRM_SYS_CONFIG_1 (%d)\n", ret); in T4_init()
642 dev_err(&hdev->dev, "failed PRM_SYS_CONFIG_1 (%d)\n", ret); in T4_init()
649 dev_err(&hdev->dev, "failed T4_PRM_FEED_CONFIG_1 (%d)\n", ret); in T4_init()
656 dev_err(&hdev->dev, "failed T4_PRM_FEED_CONFIG_4 (%d)\n", ret); in T4_init()
659 pri_data->max_fingers = 5; in T4_init()
660 pri_data->has_sp = 0; in T4_init()
679 static int alps_input_configured(struct hid_device *hdev, struct hid_input *hi) in alps_input_configured() argument
682 struct input_dev *input = hi->input, *input2; in alps_input_configured()
686 data->input = input; in alps_input_configured()
695 switch (data->dev_type) { in alps_input_configured()
709 __set_bit(EV_ABS, input->evbit); in alps_input_configured()
711 data->x_min, data->x_max, 0, 0); in alps_input_configured()
713 data->y_min, data->y_max, 0, 0); in alps_input_configured()
715 if (data->x_active_len_mm && data->y_active_len_mm) { in alps_input_configured()
716 res_x = (data->x_max - 1) / data->x_active_len_mm; in alps_input_configured()
717 res_y = (data->y_max - 1) / data->y_active_len_mm; in alps_input_configured()
725 input_mt_init_slots(input, data->max_fingers, INPUT_MT_POINTER); in alps_input_configured()
727 __set_bit(EV_KEY, input->evbit); in alps_input_configured()
729 if (data->btn_cnt == 1) in alps_input_configured()
730 __set_bit(INPUT_PROP_BUTTONPAD, input->propbit); in alps_input_configured()
732 for (i = 0; i < data->btn_cnt; i++) in alps_input_configured()
733 __set_bit(BTN_LEFT + i, input->keybit); in alps_input_configured()
736 if (data->has_sp) { in alps_input_configured()
739 ret = -ENOMEM; in alps_input_configured()
743 data->input2 = input2; in alps_input_configured()
744 input2->phys = input->phys; in alps_input_configured()
745 input2->name = "DualPoint Stick"; in alps_input_configured()
746 input2->id.bustype = BUS_I2C; in alps_input_configured()
747 input2->id.vendor = input->id.vendor; in alps_input_configured()
748 input2->id.product = input->id.product; in alps_input_configured()
749 input2->id.version = input->id.version; in alps_input_configured()
750 input2->dev.parent = input->dev.parent; in alps_input_configured()
753 input2->open = alps_sp_open; in alps_input_configured()
754 input2->close = alps_sp_close; in alps_input_configured()
756 __set_bit(EV_KEY, input2->evbit); in alps_input_configured()
757 data->sp_btn_cnt = (data->sp_btn_info & 0x0F); in alps_input_configured()
758 for (i = 0; i < data->sp_btn_cnt; i++) in alps_input_configured()
759 __set_bit(BTN_LEFT + i, input2->keybit); in alps_input_configured()
761 __set_bit(EV_REL, input2->evbit); in alps_input_configured()
762 __set_bit(REL_X, input2->relbit); in alps_input_configured()
763 __set_bit(REL_Y, input2->relbit); in alps_input_configured()
764 __set_bit(INPUT_PROP_POINTER, input2->propbit); in alps_input_configured()
765 __set_bit(INPUT_PROP_POINTING_STICK, input2->propbit); in alps_input_configured()
767 if (input_register_device(data->input2)) { in alps_input_configured()
780 struct hid_input *hi, struct hid_field *field, in alps_input_mapping() argument
783 return -1; in alps_input_mapping()
790 data = devm_kzalloc(&hdev->dev, sizeof(struct alps_dev), GFP_KERNEL); in alps_probe()
792 return -ENOMEM; in alps_probe()
794 data->hdev = hdev; in alps_probe()
797 hdev->quirks |= HID_QUIRK_NO_INIT_REPORTS; in alps_probe()
805 switch (hdev->product) { in alps_probe()
807 data->dev_type = T4; in alps_probe()
812 data->dev_type = U1; in alps_probe()
815 data->dev_type = UNKNOWN; in alps_probe()
844 .name = "hid-alps",