Lines Matching +full:render +full:- +full:max

5  * Copyright (c) 2003-2005 Peter Osterlund <petero2@telia.com>
78 #define ALPS_PASS 0x04 /* device has a pass-through port */
84 #define ALPS_PS2_INTERLEAVED 0x80 /* 3-byte PS/2 packet interleaved with
85 6-byte ALPS packet */
89 { { 0x33, 0x02, 0x0a }, 0x00, ALPS_PROTO_V1, 0x88, 0xf8, 0 }, /* UMAX-530T */
96 …3, 0x02, 0x3c }, 0x00, ALPS_PROTO_V2, 0x8f, 0x8f, ALPS_WHEEL }, /* Toshiba Satellite S2400-103 */
100 …{ { 0x73, 0x00, 0x0a }, 0x00, ALPS_PROTO_V2, 0xf8, 0xf8, ALPS_DUALPOINT }, /* ThinkPad R61 8918-5…
111 ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, /* Toshiba Tecra A11-11L */
118 * XXX - this entry is suspicious. First byte has zero lower nibble,
128 return (data & model->mask0) == model->byte0; in alps_is_valid_first_byte()
142 dev = test_bit(BTN_LEFT, dev2->key) ? dev2 : dev1; in alps_report_buttons()
145 dev = test_bit(BTN_RIGHT, dev2->key) ? dev2 : dev1; in alps_report_buttons()
148 dev = test_bit(BTN_MIDDLE, dev2->key) ? dev2 : dev1; in alps_report_buttons()
160 struct alps_data *priv = psmouse->private; in alps_process_packet_v1_v2()
161 const struct alps_model_info *model = priv->i; in alps_process_packet_v1_v2()
162 unsigned char *packet = psmouse->packet; in alps_process_packet_v1_v2()
163 struct input_dev *dev = psmouse->dev; in alps_process_packet_v1_v2()
164 struct input_dev *dev2 = priv->dev2; in alps_process_packet_v1_v2()
168 if (model->proto_version == ALPS_PROTO_V1) { in alps_process_packet_v1_v2()
179 x = packet[1] | ((packet[2] & 0x78) << (7 - 3)); in alps_process_packet_v1_v2()
180 y = packet[4] | ((packet[3] & 0x70) << (7 - 4)); in alps_process_packet_v1_v2()
184 if (model->flags & ALPS_FW_BK_1) { in alps_process_packet_v1_v2()
189 if (model->flags & ALPS_FW_BK_2) { in alps_process_packet_v1_v2()
199 if ((model->flags & ALPS_DUALPOINT) && z == 127) { in alps_process_packet_v1_v2()
200 input_report_rel(dev2, REL_X, (x > 383 ? (x - 768) : x)); in alps_process_packet_v1_v2()
201 input_report_rel(dev2, REL_Y, -(y > 255 ? (y - 512) : y)); in alps_process_packet_v1_v2()
220 if (ges && fin && !priv->prev_fin) { in alps_process_packet_v1_v2()
227 priv->prev_fin = fin; in alps_process_packet_v1_v2()
242 if (model->flags & ALPS_WHEEL) in alps_process_packet_v1_v2()
243 input_report_rel(dev, REL_WHEEL, ((packet[2] << 1) & 0x08) - ((packet[0] >> 4) & 0x07)); in alps_process_packet_v1_v2()
245 if (model->flags & (ALPS_FW_BK_1 | ALPS_FW_BK_2)) { in alps_process_packet_v1_v2()
250 if (model->flags & ALPS_FOUR_BUTTONS) { in alps_process_packet_v1_v2()
295 point->start_bit = i; in alps_process_bitmap()
298 point->num_bits++; in alps_process_bitmap()
303 point->num_bits = 0; in alps_process_bitmap()
312 y_map = y_map << (sizeof(y_map) * BITS_PER_BYTE - ALPS_BITMAP_Y_BITS); in alps_process_bitmap()
316 bit = y_map & (1 << (sizeof(y_map) * BITS_PER_BYTE - 1)); in alps_process_bitmap()
319 point->start_bit = i; in alps_process_bitmap()
322 point->num_bits++; in alps_process_bitmap()
327 point->num_bits = 0; in alps_process_bitmap()
336 fingers = max(fingers_x, fingers_y); in alps_process_bitmap()
347 x_low.num_bits = x_low.num_bits - i; in alps_process_bitmap()
349 x_high.num_bits = max(i, 1); in alps_process_bitmap()
352 y_low.num_bits = y_low.num_bits - i; in alps_process_bitmap()
354 y_high.num_bits = max(i, 1); in alps_process_bitmap()
358 *x1 = (ALPS_V3_X_MAX * (2 * x_low.start_bit + x_low.num_bits - 1)) / in alps_process_bitmap()
359 (2 * (ALPS_BITMAP_X_BITS - 1)); in alps_process_bitmap()
360 *y1 = (ALPS_V3_Y_MAX * (2 * y_low.start_bit + y_low.num_bits - 1)) / in alps_process_bitmap()
361 (2 * (ALPS_BITMAP_Y_BITS - 1)); in alps_process_bitmap()
364 *x2 = (ALPS_V3_X_MAX * (2 * x_high.start_bit + x_high.num_bits - 1)) / in alps_process_bitmap()
365 (2 * (ALPS_BITMAP_X_BITS - 1)); in alps_process_bitmap()
366 *y2 = (ALPS_V3_Y_MAX * (2 * y_high.start_bit + y_high.num_bits - 1)) / in alps_process_bitmap()
367 (2 * (ALPS_BITMAP_Y_BITS - 1)); in alps_process_bitmap()
393 struct alps_data *priv = psmouse->private; in alps_process_trackstick_packet_v3()
394 unsigned char *packet = psmouse->packet; in alps_process_trackstick_packet_v3()
395 struct input_dev *dev = priv->dev2; in alps_process_trackstick_packet_v3()
424 input_report_rel(dev, REL_Y, -y); in alps_process_trackstick_packet_v3()
437 if (!(priv->quirks & ALPS_QUIRK_TRACKSTICK_BUTTONS) && in alps_process_trackstick_packet_v3()
439 priv->quirks |= ALPS_QUIRK_TRACKSTICK_BUTTONS; in alps_process_trackstick_packet_v3()
441 if (priv->quirks & ALPS_QUIRK_TRACKSTICK_BUTTONS) { in alps_process_trackstick_packet_v3()
453 struct alps_data *priv = psmouse->private; in alps_process_touchpad_packet_v3()
454 unsigned char *packet = psmouse->packet; in alps_process_touchpad_packet_v3()
455 struct input_dev *dev = psmouse->dev; in alps_process_touchpad_packet_v3()
456 struct input_dev *dev2 = priv->dev2; in alps_process_touchpad_packet_v3()
469 if (priv->multi_packet) { in alps_process_touchpad_packet_v3()
471 * Sometimes a position packet will indicate a multi-packet in alps_process_touchpad_packet_v3()
496 packet = priv->multi_data; in alps_process_touchpad_packet_v3()
498 priv->multi_packet = 0; in alps_process_touchpad_packet_v3()
513 if (!priv->multi_packet && (packet[4] & 0x40)) { in alps_process_touchpad_packet_v3()
514 priv->multi_packet = 1; in alps_process_touchpad_packet_v3()
515 memcpy(priv->multi_data, packet, sizeof(priv->multi_data)); in alps_process_touchpad_packet_v3()
519 priv->multi_packet = 0; in alps_process_touchpad_packet_v3()
573 if (!(priv->quirks & ALPS_QUIRK_TRACKSTICK_BUTTONS)) { in alps_process_touchpad_packet_v3()
587 unsigned char *packet = psmouse->packet; in alps_process_packet_v3()
607 unsigned char *packet = psmouse->packet; in alps_process_packet_v4()
608 struct input_dev *dev = psmouse->dev; in alps_process_packet_v4()
640 struct alps_data *priv = psmouse->private; in alps_process_packet()
641 const struct alps_model_info *model = priv->i; in alps_process_packet()
643 switch (model->proto_version) { in alps_process_packet()
661 struct alps_data *priv = psmouse->private; in alps_report_bare_ps2_packet()
662 struct input_dev *dev2 = priv->dev2; in alps_report_bare_ps2_packet()
665 alps_report_buttons(psmouse, dev2, psmouse->dev, in alps_report_bare_ps2_packet()
669 packet[1] ? packet[1] - ((packet[0] << 4) & 0x100) : 0); in alps_report_bare_ps2_packet()
671 packet[2] ? ((packet[0] << 3) & 0x100) - packet[2] : 0); in alps_report_bare_ps2_packet()
678 struct alps_data *priv = psmouse->private; in alps_handle_interleaved_ps2()
680 if (psmouse->pktcnt < 6) in alps_handle_interleaved_ps2()
683 if (psmouse->pktcnt == 6) { in alps_handle_interleaved_ps2()
686 * 6-byte packet in the stream. Timer needs to fire in alps_handle_interleaved_ps2()
690 mod_timer(&priv->timer, jiffies + msecs_to_jiffies(20)); in alps_handle_interleaved_ps2()
694 del_timer(&priv->timer); in alps_handle_interleaved_ps2()
696 if (psmouse->packet[6] & 0x80) { in alps_handle_interleaved_ps2()
699 * Highest bit is set - that means we either had in alps_handle_interleaved_ps2()
704 if (((psmouse->packet[3] | in alps_handle_interleaved_ps2()
705 psmouse->packet[4] | in alps_handle_interleaved_ps2()
706 psmouse->packet[5]) & 0x80) || in alps_handle_interleaved_ps2()
707 (!alps_is_valid_first_byte(priv->i, psmouse->packet[6]))) { in alps_handle_interleaved_ps2()
710 psmouse->packet[3], psmouse->packet[4], in alps_handle_interleaved_ps2()
711 psmouse->packet[5], psmouse->packet[6]); in alps_handle_interleaved_ps2()
718 psmouse->packet[0] = psmouse->packet[6]; in alps_handle_interleaved_ps2()
719 psmouse->pktcnt = 1; in alps_handle_interleaved_ps2()
724 * High bit is 0 - that means that we indeed got a PS/2 in alps_handle_interleaved_ps2()
727 * There is also possibility that we got 6-byte ALPS in alps_handle_interleaved_ps2()
728 * packet followed by 3-byte packet from trackpoint. We in alps_handle_interleaved_ps2()
736 * de-synchronization. in alps_handle_interleaved_ps2()
739 alps_report_bare_ps2_packet(psmouse, &psmouse->packet[3], in alps_handle_interleaved_ps2()
749 psmouse->packet[3] = psmouse->packet[6] & 0xf7; in alps_handle_interleaved_ps2()
750 psmouse->pktcnt = 4; in alps_handle_interleaved_ps2()
760 serio_pause_rx(psmouse->ps2dev.serio); in alps_flush_packet()
762 if (psmouse->pktcnt == psmouse->pktsize) { in alps_flush_packet()
769 if ((psmouse->packet[3] | in alps_flush_packet()
770 psmouse->packet[4] | in alps_flush_packet()
771 psmouse->packet[5]) & 0x80) { in alps_flush_packet()
774 psmouse->packet[3], psmouse->packet[4], in alps_flush_packet()
775 psmouse->packet[5]); in alps_flush_packet()
779 psmouse->pktcnt = 0; in alps_flush_packet()
782 serio_continue_rx(psmouse->ps2dev.serio); in alps_flush_packet()
787 struct alps_data *priv = psmouse->private; in alps_process_byte()
788 const struct alps_model_info *model = priv->i; in alps_process_byte()
790 if ((psmouse->packet[0] & 0xc8) == 0x08) { /* PS/2 packet */ in alps_process_byte()
791 if (psmouse->pktcnt == 3) { in alps_process_byte()
792 alps_report_bare_ps2_packet(psmouse, psmouse->packet, in alps_process_byte()
801 if ((model->flags & ALPS_PS2_INTERLEAVED) && in alps_process_byte()
802 psmouse->pktcnt >= 4 && (psmouse->packet[3] & 0x0f) == 0x0f) { in alps_process_byte()
806 if (!alps_is_valid_first_byte(model, psmouse->packet[0])) { in alps_process_byte()
809 psmouse->packet[0], model->mask0, model->byte0); in alps_process_byte()
813 /* Bytes 2 - pktsize should have 0 in the highest bit */ in alps_process_byte()
814 if (psmouse->pktcnt >= 2 && psmouse->pktcnt <= psmouse->pktsize && in alps_process_byte()
815 (psmouse->packet[psmouse->pktcnt - 1] & 0x80)) { in alps_process_byte()
817 psmouse->pktcnt - 1, in alps_process_byte()
818 psmouse->packet[psmouse->pktcnt - 1]); in alps_process_byte()
822 if (psmouse->pktcnt == psmouse->pktsize) { in alps_process_byte()
832 struct ps2dev *ps2dev = &psmouse->ps2dev; in alps_command_mode_send_nibble()
833 struct alps_data *priv = psmouse->private; in alps_command_mode_send_nibble()
840 command = priv->nibble_commands[nibble].command; in alps_command_mode_send_nibble()
842 dummy : (unsigned char *)&priv->nibble_commands[nibble].data; in alps_command_mode_send_nibble()
845 return -1; in alps_command_mode_send_nibble()
852 struct ps2dev *ps2dev = &psmouse->ps2dev; in alps_command_mode_set_addr()
853 struct alps_data *priv = psmouse->private; in alps_command_mode_set_addr()
856 if (ps2_command(ps2dev, NULL, priv->addr_command)) in alps_command_mode_set_addr()
857 return -1; in alps_command_mode_set_addr()
859 for (i = 12; i >= 0; i -= 4) { in alps_command_mode_set_addr()
862 return -1; in alps_command_mode_set_addr()
870 struct ps2dev *ps2dev = &psmouse->ps2dev; in __alps_command_mode_read_reg()
874 return -1; in __alps_command_mode_read_reg()
882 return -1; in __alps_command_mode_read_reg()
890 return -1; in alps_command_mode_read_reg()
897 return -1; in __alps_command_mode_write_reg()
899 return -1; in __alps_command_mode_write_reg()
907 return -1; in alps_command_mode_write_reg()
915 struct ps2dev *ps2dev = &psmouse->ps2dev; in alps_enter_command_mode()
922 return -1; in alps_enter_command_mode()
929 return -1; in alps_enter_command_mode()
939 struct ps2dev *ps2dev = &psmouse->ps2dev; in alps_exit_command_mode()
941 return -1; in alps_exit_command_mode()
947 struct ps2dev *ps2dev = &psmouse->ps2dev; in alps_get_model()
956 * The bits 0-2 of the first byte will be 1s if some buttons are in alps_get_model()
1009 if (model && model->proto_version > ALPS_PROTO_V2) { in alps_get_model()
1045 struct ps2dev *ps2dev = &psmouse->ps2dev; in alps_passthrough_mode_v2()
1052 return -1; in alps_passthrough_mode_v2()
1062 struct ps2dev *ps2dev = &psmouse->ps2dev; in alps_absolute_mode_v1_v2()
1064 /* Try ALPS magic knock - 4 disable before enable */ in alps_absolute_mode_v1_v2()
1070 return -1; in alps_absolute_mode_v1_v2()
1076 return ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_SETPOLL); in alps_absolute_mode_v1_v2()
1081 struct ps2dev *ps2dev = &psmouse->ps2dev; in alps_get_status()
1088 return -1; in alps_get_status()
1107 struct ps2dev *ps2dev = &psmouse->ps2dev; in alps_tap_mode()
1116 return -1; in alps_tap_mode()
1119 return -1; in alps_tap_mode()
1125 * alps_poll() - poll the touchpad for current motion packet.
1130 struct alps_data *priv = psmouse->private; in alps_poll()
1131 unsigned char buf[sizeof(psmouse->packet)]; in alps_poll()
1134 if (priv->i->flags & ALPS_PASS) in alps_poll()
1137 poll_failed = ps2_command(&psmouse->ps2dev, buf, in alps_poll()
1138 PSMOUSE_CMD_POLL | (psmouse->pktsize << 8)) < 0; in alps_poll()
1140 if (priv->i->flags & ALPS_PASS) in alps_poll()
1143 if (poll_failed || (buf[0] & priv->i->mask0) != priv->i->byte0) in alps_poll()
1144 return -1; in alps_poll()
1146 if ((psmouse->badbyte & 0xc8) == 0x08) { in alps_poll()
1150 if (ps2_command(&psmouse->ps2dev, buf, PSMOUSE_CMD_POLL | (3 << 8))) in alps_poll()
1151 return -1; in alps_poll()
1154 memcpy(psmouse->packet, buf, sizeof(buf)); in alps_poll()
1160 struct alps_data *priv = psmouse->private; in alps_hw_init_v1_v2()
1161 const struct alps_model_info *model = priv->i; in alps_hw_init_v1_v2()
1163 if ((model->flags & ALPS_PASS) && in alps_hw_init_v1_v2()
1165 return -1; in alps_hw_init_v1_v2()
1170 return -1; in alps_hw_init_v1_v2()
1175 return -1; in alps_hw_init_v1_v2()
1178 if ((model->flags & ALPS_PASS) && in alps_hw_init_v1_v2()
1180 return -1; in alps_hw_init_v1_v2()
1184 if (ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_SETSTREAM)) { in alps_hw_init_v1_v2()
1186 return -1; in alps_hw_init_v1_v2()
1201 if (reg_val == -1) in alps_passthrough_mode_v3()
1202 return -1; in alps_passthrough_mode_v3()
1210 return -1; in alps_passthrough_mode_v3()
1221 if (reg_val == -1) in alps_absolute_mode_v3()
1222 return -1; in alps_absolute_mode_v3()
1226 return -1; in alps_absolute_mode_v3()
1233 struct alps_data *priv = psmouse->private; in alps_hw_init_v3()
1234 struct ps2dev *ps2dev = &psmouse->ps2dev; in alps_hw_init_v3()
1238 priv->nibble_commands = alps_v3_nibble_commands; in alps_hw_init_v3()
1239 priv->addr_command = PSMOUSE_CMD_RESET_WRAP; in alps_hw_init_v3()
1246 if (reg_val == -1) in alps_hw_init_v3()
1303 if (reg_val == -1) in alps_hw_init_v3()
1309 if (reg_val == -1) in alps_hw_init_v3()
1314 if (alps_command_mode_read_reg(psmouse, 0x0144) == -1) in alps_hw_init_v3()
1319 if (alps_command_mode_read_reg(psmouse, 0x0159) == -1) in alps_hw_init_v3()
1324 if (alps_command_mode_read_reg(psmouse, 0x0163) == -1) in alps_hw_init_v3()
1329 if (alps_command_mode_read_reg(psmouse, 0x0162) == -1) in alps_hw_init_v3()
1349 return -1; in alps_hw_init_v3()
1360 * Leaving the touchpad in command mode will essentially render in alps_hw_init_v3()
1365 return -1; in alps_hw_init_v3()
1374 if (reg_val == -1) in alps_absolute_mode_v4()
1375 return -1; in alps_absolute_mode_v4()
1379 return -1; in alps_absolute_mode_v4()
1386 struct alps_data *priv = psmouse->private; in alps_hw_init_v4()
1387 struct ps2dev *ps2dev = &psmouse->ps2dev; in alps_hw_init_v4()
1390 priv->nibble_commands = alps_v4_nibble_commands; in alps_hw_init_v4()
1391 priv->addr_command = PSMOUSE_CMD_DISABLE; in alps_hw_init_v4()
1428 * This sequence changes the output from a 9-byte to an in alps_hw_init_v4()
1429 * 8-byte format. All the same data seems to be present, in alps_hw_init_v4()
1439 return -1; in alps_hw_init_v4()
1446 return -1; in alps_hw_init_v4()
1453 * Leaving the touchpad in command mode will essentially render in alps_hw_init_v4()
1458 return -1; in alps_hw_init_v4()
1463 struct alps_data *priv = psmouse->private; in alps_hw_init()
1464 const struct alps_model_info *model = priv->i; in alps_hw_init()
1465 int ret = -1; in alps_hw_init()
1467 switch (model->proto_version) { in alps_hw_init()
1491 return -1; in alps_reconnect()
1498 struct alps_data *priv = psmouse->private; in alps_disconnect()
1501 del_timer_sync(&priv->timer); in alps_disconnect()
1502 input_unregister_device(priv->dev2); in alps_disconnect()
1510 struct input_dev *dev1 = psmouse->dev, *dev2; in alps_init()
1518 priv->dev2 = dev2; in alps_init()
1519 setup_timer(&priv->timer, alps_flush_packet, (unsigned long)psmouse); in alps_init()
1521 psmouse->private = priv; in alps_init()
1529 priv->i = model; in alps_init()
1538 __clear_bit(EV_REL, dev1->evbit); in alps_init()
1539 __clear_bit(REL_X, dev1->relbit); in alps_init()
1540 __clear_bit(REL_Y, dev1->relbit); in alps_init()
1545 dev1->evbit[BIT_WORD(EV_KEY)] |= BIT_MASK(EV_KEY); in alps_init()
1546 dev1->keybit[BIT_WORD(BTN_TOUCH)] |= BIT_MASK(BTN_TOUCH); in alps_init()
1547 dev1->keybit[BIT_WORD(BTN_TOOL_FINGER)] |= BIT_MASK(BTN_TOOL_FINGER); in alps_init()
1548 dev1->keybit[BIT_WORD(BTN_LEFT)] |= in alps_init()
1551 dev1->evbit[BIT_WORD(EV_ABS)] |= BIT_MASK(EV_ABS); in alps_init()
1553 switch (model->proto_version) { in alps_init()
1560 set_bit(INPUT_PROP_SEMI_MT, dev1->propbit); in alps_init()
1565 set_bit(BTN_TOOL_DOUBLETAP, dev1->keybit); in alps_init()
1566 set_bit(BTN_TOOL_TRIPLETAP, dev1->keybit); in alps_init()
1567 set_bit(BTN_TOOL_QUADTAP, dev1->keybit); in alps_init()
1577 if (model->flags & ALPS_WHEEL) { in alps_init()
1578 dev1->evbit[BIT_WORD(EV_REL)] |= BIT_MASK(EV_REL); in alps_init()
1579 dev1->relbit[BIT_WORD(REL_WHEEL)] |= BIT_MASK(REL_WHEEL); in alps_init()
1582 if (model->flags & (ALPS_FW_BK_1 | ALPS_FW_BK_2)) { in alps_init()
1583 dev1->keybit[BIT_WORD(BTN_FORWARD)] |= BIT_MASK(BTN_FORWARD); in alps_init()
1584 dev1->keybit[BIT_WORD(BTN_BACK)] |= BIT_MASK(BTN_BACK); in alps_init()
1587 if (model->flags & ALPS_FOUR_BUTTONS) { in alps_init()
1588 dev1->keybit[BIT_WORD(BTN_0)] |= BIT_MASK(BTN_0); in alps_init()
1589 dev1->keybit[BIT_WORD(BTN_1)] |= BIT_MASK(BTN_1); in alps_init()
1590 dev1->keybit[BIT_WORD(BTN_2)] |= BIT_MASK(BTN_2); in alps_init()
1591 dev1->keybit[BIT_WORD(BTN_3)] |= BIT_MASK(BTN_3); in alps_init()
1593 dev1->keybit[BIT_WORD(BTN_MIDDLE)] |= BIT_MASK(BTN_MIDDLE); in alps_init()
1596 snprintf(priv->phys, sizeof(priv->phys), "%s/input1", psmouse->ps2dev.serio->phys); in alps_init()
1597 dev2->phys = priv->phys; in alps_init()
1598 dev2->name = (model->flags & ALPS_DUALPOINT) ? "DualPoint Stick" : "PS/2 Mouse"; in alps_init()
1599 dev2->id.bustype = BUS_I8042; in alps_init()
1600 dev2->id.vendor = 0x0002; in alps_init()
1601 dev2->id.product = PSMOUSE_ALPS; in alps_init()
1602 dev2->id.version = 0x0000; in alps_init()
1603 dev2->dev.parent = &psmouse->ps2dev.serio->dev; in alps_init()
1605 dev2->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL); in alps_init()
1606 dev2->relbit[BIT_WORD(REL_X)] = BIT_MASK(REL_X) | BIT_MASK(REL_Y); in alps_init()
1607 dev2->keybit[BIT_WORD(BTN_LEFT)] = in alps_init()
1610 if (input_register_device(priv->dev2)) in alps_init()
1613 psmouse->protocol_handler = alps_process_byte; in alps_init()
1614 psmouse->poll = alps_poll; in alps_init()
1615 psmouse->disconnect = alps_disconnect; in alps_init()
1616 psmouse->reconnect = alps_reconnect; in alps_init()
1617 psmouse->pktsize = model->proto_version == ALPS_PROTO_V4 ? 8 : 6; in alps_init()
1620 psmouse->resync_time = 0; in alps_init()
1628 psmouse->private = NULL; in alps_init()
1629 return -1; in alps_init()
1639 return -1; in alps_detect()
1642 psmouse->vendor = "ALPS"; in alps_detect()
1643 psmouse->name = model->flags & ALPS_DUALPOINT ? in alps_detect()
1645 psmouse->model = version; in alps_detect()