Lines Matching refs:psmouse
28 psmouse_printk(KERN_DEBUG, psmouse, \
35 static int synaptics_send_cmd(struct psmouse *psmouse, unsigned char c, in synaptics_send_cmd() argument
38 if (ps2_sliced_command(&psmouse->ps2dev, c) || in synaptics_send_cmd()
39 ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_GETINFO)) { in synaptics_send_cmd()
40 psmouse_err(psmouse, "%s query 0x%02x failed.\n", __func__, c); in synaptics_send_cmd()
50 static int elantech_send_cmd(struct psmouse *psmouse, unsigned char c, in elantech_send_cmd() argument
53 struct ps2dev *ps2dev = &psmouse->ps2dev; in elantech_send_cmd()
58 psmouse_err(psmouse, "%s query 0x%02x failed.\n", __func__, c); in elantech_send_cmd()
68 static int elantech_ps2_command(struct psmouse *psmouse, in elantech_ps2_command() argument
71 struct ps2dev *ps2dev = &psmouse->ps2dev; in elantech_ps2_command()
72 struct elantech_data *etd = psmouse->private; in elantech_ps2_command()
87 psmouse_err(psmouse, "ps2 command 0x%02x failed.\n", command); in elantech_ps2_command()
95 static int elantech_read_reg_params(struct psmouse *psmouse, u8 reg, u8 *param) in elantech_read_reg_params() argument
97 if (elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_read_reg_params()
98 elantech_ps2_command(psmouse, NULL, ETP_REGISTER_READWRITE) || in elantech_read_reg_params()
99 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_read_reg_params()
100 elantech_ps2_command(psmouse, NULL, reg) || in elantech_read_reg_params()
101 elantech_ps2_command(psmouse, param, PSMOUSE_CMD_GETINFO)) { in elantech_read_reg_params()
102 psmouse_err(psmouse, in elantech_read_reg_params()
113 static int elantech_write_reg_params(struct psmouse *psmouse, u8 reg, u8 *param) in elantech_write_reg_params() argument
115 if (elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg_params()
116 elantech_ps2_command(psmouse, NULL, ETP_REGISTER_READWRITE) || in elantech_write_reg_params()
117 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg_params()
118 elantech_ps2_command(psmouse, NULL, reg) || in elantech_write_reg_params()
119 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg_params()
120 elantech_ps2_command(psmouse, NULL, param[0]) || in elantech_write_reg_params()
121 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg_params()
122 elantech_ps2_command(psmouse, NULL, param[1]) || in elantech_write_reg_params()
123 elantech_ps2_command(psmouse, NULL, PSMOUSE_CMD_SETSCALE11)) { in elantech_write_reg_params()
124 psmouse_err(psmouse, in elantech_write_reg_params()
136 static int elantech_read_reg(struct psmouse *psmouse, unsigned char reg, in elantech_read_reg() argument
139 struct elantech_data *etd = psmouse->private; in elantech_read_reg()
151 if (ps2_sliced_command(&psmouse->ps2dev, ETP_REGISTER_READ) || in elantech_read_reg()
152 ps2_sliced_command(&psmouse->ps2dev, reg) || in elantech_read_reg()
153 ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_GETINFO)) { in elantech_read_reg()
159 if (elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_read_reg()
160 elantech_ps2_command(psmouse, NULL, ETP_REGISTER_READ) || in elantech_read_reg()
161 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_read_reg()
162 elantech_ps2_command(psmouse, NULL, reg) || in elantech_read_reg()
163 elantech_ps2_command(psmouse, param, PSMOUSE_CMD_GETINFO)) { in elantech_read_reg()
169 if (elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_read_reg()
170 elantech_ps2_command(psmouse, NULL, ETP_REGISTER_READWRITE) || in elantech_read_reg()
171 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_read_reg()
172 elantech_ps2_command(psmouse, NULL, reg) || in elantech_read_reg()
173 elantech_ps2_command(psmouse, param, PSMOUSE_CMD_GETINFO)) { in elantech_read_reg()
180 psmouse_err(psmouse, "failed to read register 0x%02x.\n", reg); in elantech_read_reg()
192 static int elantech_write_reg(struct psmouse *psmouse, unsigned char reg, in elantech_write_reg() argument
195 struct elantech_data *etd = psmouse->private; in elantech_write_reg()
206 if (ps2_sliced_command(&psmouse->ps2dev, ETP_REGISTER_WRITE) || in elantech_write_reg()
207 ps2_sliced_command(&psmouse->ps2dev, reg) || in elantech_write_reg()
208 ps2_sliced_command(&psmouse->ps2dev, val) || in elantech_write_reg()
209 ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_SETSCALE11)) { in elantech_write_reg()
215 if (elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg()
216 elantech_ps2_command(psmouse, NULL, ETP_REGISTER_WRITE) || in elantech_write_reg()
217 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg()
218 elantech_ps2_command(psmouse, NULL, reg) || in elantech_write_reg()
219 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg()
220 elantech_ps2_command(psmouse, NULL, val) || in elantech_write_reg()
221 elantech_ps2_command(psmouse, NULL, PSMOUSE_CMD_SETSCALE11)) { in elantech_write_reg()
227 if (elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg()
228 elantech_ps2_command(psmouse, NULL, ETP_REGISTER_READWRITE) || in elantech_write_reg()
229 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg()
230 elantech_ps2_command(psmouse, NULL, reg) || in elantech_write_reg()
231 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg()
232 elantech_ps2_command(psmouse, NULL, val) || in elantech_write_reg()
233 elantech_ps2_command(psmouse, NULL, PSMOUSE_CMD_SETSCALE11)) { in elantech_write_reg()
239 if (elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg()
240 elantech_ps2_command(psmouse, NULL, ETP_REGISTER_READWRITE) || in elantech_write_reg()
241 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg()
242 elantech_ps2_command(psmouse, NULL, reg) || in elantech_write_reg()
243 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg()
244 elantech_ps2_command(psmouse, NULL, ETP_REGISTER_READWRITE) || in elantech_write_reg()
245 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || in elantech_write_reg()
246 elantech_ps2_command(psmouse, NULL, val) || in elantech_write_reg()
247 elantech_ps2_command(psmouse, NULL, PSMOUSE_CMD_SETSCALE11)) { in elantech_write_reg()
254 psmouse_err(psmouse, in elantech_write_reg()
264 static void elantech_packet_dump(struct psmouse *psmouse) in elantech_packet_dump() argument
266 psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet [%*ph]\n", in elantech_packet_dump()
267 psmouse->pktsize, psmouse->packet); in elantech_packet_dump()
320 static void elantech_report_absolute_v1(struct psmouse *psmouse) in elantech_report_absolute_v1() argument
322 struct input_dev *dev = psmouse->dev; in elantech_report_absolute_v1()
323 struct elantech_data *etd = psmouse->private; in elantech_report_absolute_v1()
324 unsigned char *packet = psmouse->packet; in elantech_report_absolute_v1()
408 static void elantech_report_absolute_v2(struct psmouse *psmouse) in elantech_report_absolute_v2() argument
410 struct elantech_data *etd = psmouse->private; in elantech_report_absolute_v2()
411 struct input_dev *dev = psmouse->dev; in elantech_report_absolute_v2()
412 unsigned char *packet = psmouse->packet; in elantech_report_absolute_v2()
489 static void elantech_report_trackpoint(struct psmouse *psmouse, in elantech_report_trackpoint() argument
507 struct elantech_data *etd = psmouse->private; in elantech_report_trackpoint()
509 unsigned char *packet = psmouse->packet; in elantech_report_trackpoint()
535 elantech_packet_dump(psmouse); in elantech_report_trackpoint()
545 static void elantech_report_absolute_v3(struct psmouse *psmouse, in elantech_report_absolute_v3() argument
548 struct input_dev *dev = psmouse->dev; in elantech_report_absolute_v3()
549 struct elantech_data *etd = psmouse->private; in elantech_report_absolute_v3()
550 unsigned char *packet = psmouse->packet; in elantech_report_absolute_v3()
624 static void elantech_input_sync_v4(struct psmouse *psmouse) in elantech_input_sync_v4() argument
626 struct input_dev *dev = psmouse->dev; in elantech_input_sync_v4()
627 struct elantech_data *etd = psmouse->private; in elantech_input_sync_v4()
628 unsigned char *packet = psmouse->packet; in elantech_input_sync_v4()
640 static void process_packet_status_v4(struct psmouse *psmouse) in process_packet_status_v4() argument
642 struct input_dev *dev = psmouse->dev; in process_packet_status_v4()
643 unsigned char *packet = psmouse->packet; in process_packet_status_v4()
656 elantech_input_sync_v4(psmouse); in process_packet_status_v4()
659 static void process_packet_head_v4(struct psmouse *psmouse) in process_packet_head_v4() argument
661 struct input_dev *dev = psmouse->dev; in process_packet_head_v4()
662 struct elantech_data *etd = psmouse->private; in process_packet_head_v4()
663 unsigned char *packet = psmouse->packet; in process_packet_head_v4()
685 elantech_input_sync_v4(psmouse); in process_packet_head_v4()
688 static void process_packet_motion_v4(struct psmouse *psmouse) in process_packet_motion_v4() argument
690 struct input_dev *dev = psmouse->dev; in process_packet_motion_v4()
691 struct elantech_data *etd = psmouse->private; in process_packet_motion_v4()
692 unsigned char *packet = psmouse->packet; in process_packet_motion_v4()
726 elantech_input_sync_v4(psmouse); in process_packet_motion_v4()
729 static void elantech_report_absolute_v4(struct psmouse *psmouse, in elantech_report_absolute_v4() argument
734 process_packet_status_v4(psmouse); in elantech_report_absolute_v4()
738 process_packet_head_v4(psmouse); in elantech_report_absolute_v4()
742 process_packet_motion_v4(psmouse); in elantech_report_absolute_v4()
752 static int elantech_packet_check_v1(struct psmouse *psmouse) in elantech_packet_check_v1() argument
754 struct elantech_data *etd = psmouse->private; in elantech_packet_check_v1()
755 unsigned char *packet = psmouse->packet; in elantech_packet_check_v1()
776 static int elantech_debounce_check_v2(struct psmouse *psmouse) in elantech_debounce_check_v2() argument
785 unsigned char *packet = psmouse->packet; in elantech_debounce_check_v2()
790 static int elantech_packet_check_v2(struct psmouse *psmouse) in elantech_packet_check_v2() argument
792 struct elantech_data *etd = psmouse->private; in elantech_packet_check_v2()
793 unsigned char *packet = psmouse->packet; in elantech_packet_check_v2()
822 static int elantech_packet_check_v3(struct psmouse *psmouse) in elantech_packet_check_v3() argument
824 struct elantech_data *etd = psmouse->private; in elantech_packet_check_v3()
828 unsigned char *packet = psmouse->packet; in elantech_packet_check_v3()
860 static int elantech_packet_check_v4(struct psmouse *psmouse) in elantech_packet_check_v4() argument
862 struct elantech_data *etd = psmouse->private; in elantech_packet_check_v4()
863 unsigned char *packet = psmouse->packet; in elantech_packet_check_v4()
909 static psmouse_ret_t elantech_process_byte(struct psmouse *psmouse) in elantech_process_byte() argument
911 struct elantech_data *etd = psmouse->private; in elantech_process_byte()
914 if (psmouse->pktcnt < psmouse->pktsize) in elantech_process_byte()
918 elantech_packet_dump(psmouse); in elantech_process_byte()
922 if (etd->info.paritycheck && !elantech_packet_check_v1(psmouse)) in elantech_process_byte()
925 elantech_report_absolute_v1(psmouse); in elantech_process_byte()
930 if (elantech_debounce_check_v2(psmouse)) in elantech_process_byte()
933 if (etd->info.paritycheck && !elantech_packet_check_v2(psmouse)) in elantech_process_byte()
936 elantech_report_absolute_v2(psmouse); in elantech_process_byte()
940 packet_type = elantech_packet_check_v3(psmouse); in elantech_process_byte()
950 elantech_report_trackpoint(psmouse, packet_type); in elantech_process_byte()
954 elantech_report_absolute_v3(psmouse, packet_type); in elantech_process_byte()
961 packet_type = elantech_packet_check_v4(psmouse); in elantech_process_byte()
967 elantech_report_trackpoint(psmouse, packet_type); in elantech_process_byte()
971 elantech_report_absolute_v4(psmouse, packet_type); in elantech_process_byte()
986 static void elantech_set_rate_restore_reg_07(struct psmouse *psmouse, in elantech_set_rate_restore_reg_07() argument
989 struct elantech_data *etd = psmouse->private; in elantech_set_rate_restore_reg_07()
991 etd->original_set_rate(psmouse, rate); in elantech_set_rate_restore_reg_07()
992 if (elantech_write_reg(psmouse, 0x07, etd->reg_07)) in elantech_set_rate_restore_reg_07()
993 psmouse_err(psmouse, "restoring reg_07 failed\n"); in elantech_set_rate_restore_reg_07()
999 static int elantech_set_absolute_mode(struct psmouse *psmouse) in elantech_set_absolute_mode() argument
1001 struct elantech_data *etd = psmouse->private; in elantech_set_absolute_mode()
1010 if (elantech_write_reg(psmouse, 0x10, etd->reg_10) || in elantech_set_absolute_mode()
1011 elantech_write_reg(psmouse, 0x11, etd->reg_11)) { in elantech_set_absolute_mode()
1021 if (elantech_write_reg(psmouse, 0x10, etd->reg_10) || in elantech_set_absolute_mode()
1022 elantech_write_reg(psmouse, 0x11, etd->reg_11) || in elantech_set_absolute_mode()
1023 elantech_write_reg(psmouse, 0x21, etd->reg_21)) { in elantech_set_absolute_mode()
1034 if (elantech_write_reg(psmouse, 0x10, etd->reg_10)) in elantech_set_absolute_mode()
1041 if (elantech_write_reg(psmouse, 0x07, etd->reg_07)) in elantech_set_absolute_mode()
1055 rc = elantech_read_reg(psmouse, 0x10, &val); in elantech_set_absolute_mode()
1064 psmouse_err(psmouse, in elantech_set_absolute_mode()
1068 psmouse_err(psmouse, in elantech_set_absolute_mode()
1076 psmouse_err(psmouse, "failed to initialise registers.\n"); in elantech_set_absolute_mode()
1090 static int elantech_get_resolution_v4(struct psmouse *psmouse, in elantech_get_resolution_v4() argument
1097 if (elantech_send_cmd(psmouse, ETP_RESOLUTION_QUERY, param)) in elantech_get_resolution_v4()
1107 static void elantech_set_buttonpad_prop(struct psmouse *psmouse) in elantech_set_buttonpad_prop() argument
1109 struct input_dev *dev = psmouse->dev; in elantech_set_buttonpad_prop()
1110 struct elantech_data *etd = psmouse->private; in elantech_set_buttonpad_prop()
1151 static int elantech_set_input_params(struct psmouse *psmouse) in elantech_set_input_params() argument
1153 struct input_dev *dev = psmouse->dev; in elantech_set_input_params()
1154 struct elantech_data *etd = psmouse->private; in elantech_set_input_params()
1193 elantech_set_buttonpad_prop(psmouse); in elantech_set_input_params()
1208 elantech_set_buttonpad_prop(psmouse); in elantech_set_input_params()
1257 static ssize_t elantech_show_int_attr(struct psmouse *psmouse, void *data, in elantech_show_int_attr() argument
1260 struct elantech_data *etd = psmouse->private; in elantech_show_int_attr()
1266 rc = elantech_read_reg(psmouse, attr->reg, reg); in elantech_show_int_attr()
1274 static ssize_t elantech_set_int_attr(struct psmouse *psmouse, in elantech_set_int_attr() argument
1277 struct elantech_data *etd = psmouse->private; in elantech_set_int_attr()
1297 if (!attr->reg || elantech_write_reg(psmouse, attr->reg, value) == 0) in elantech_set_int_attr()
1388 int elantech_detect(struct psmouse *psmouse, bool set_properties) in elantech_detect() argument
1390 struct ps2dev *ps2dev = &psmouse->ps2dev; in elantech_detect()
1400 psmouse_dbg(psmouse, "sending Elantech magic knock failed.\n"); in elantech_detect()
1410 psmouse_dbg(psmouse, in elantech_detect()
1421 if (synaptics_send_cmd(psmouse, ETP_FW_VERSION_QUERY, param)) { in elantech_detect()
1422 psmouse_dbg(psmouse, "failed to query firmware version.\n"); in elantech_detect()
1426 psmouse_dbg(psmouse, in elantech_detect()
1431 psmouse_dbg(psmouse, in elantech_detect()
1437 psmouse->vendor = "Elantech"; in elantech_detect()
1438 psmouse->name = "Touchpad"; in elantech_detect()
1447 static void elantech_disconnect(struct psmouse *psmouse) in elantech_disconnect() argument
1449 struct elantech_data *etd = psmouse->private; in elantech_disconnect()
1455 psmouse_smbus_cleanup(psmouse); in elantech_disconnect()
1459 sysfs_remove_group(&psmouse->ps2dev.serio->dev.kobj, in elantech_disconnect()
1461 kfree(psmouse->private); in elantech_disconnect()
1462 psmouse->private = NULL; in elantech_disconnect()
1468 static int elantech_reconnect(struct psmouse *psmouse) in elantech_reconnect() argument
1470 psmouse_reset(psmouse); in elantech_reconnect()
1472 if (elantech_detect(psmouse, 0)) in elantech_reconnect()
1475 if (elantech_set_absolute_mode(psmouse)) { in elantech_reconnect()
1476 psmouse_err(psmouse, in elantech_reconnect()
1576 static int elantech_change_report_id(struct psmouse *psmouse) in elantech_change_report_id() argument
1580 if (elantech_write_reg_params(psmouse, 0x7, param) || in elantech_change_report_id()
1581 elantech_read_reg_params(psmouse, 0x7, param) || in elantech_change_report_id()
1583 psmouse_err(psmouse, "Unable to change report ID to 0x5f.\n"); in elantech_change_report_id()
1658 static int elantech_query_info(struct psmouse *psmouse, in elantech_query_info() argument
1670 if (synaptics_send_cmd(psmouse, ETP_FW_VERSION_QUERY, param)) { in elantech_query_info()
1671 psmouse_err(psmouse, "failed to query firmware version.\n"); in elantech_query_info()
1677 psmouse_err(psmouse, "unknown hardware version, aborting...\n"); in elantech_query_info()
1680 psmouse_info(psmouse, in elantech_query_info()
1684 if (info->send_cmd(psmouse, ETP_CAPABILITIES_QUERY, in elantech_query_info()
1686 psmouse_err(psmouse, "failed to query capabilities.\n"); in elantech_query_info()
1689 psmouse_info(psmouse, in elantech_query_info()
1695 if (info->send_cmd(psmouse, ETP_SAMPLE_QUERY, info->samples)) { in elantech_query_info()
1696 psmouse_err(psmouse, "failed to query sample data\n"); in elantech_query_info()
1699 psmouse_info(psmouse, in elantech_query_info()
1707 if (info->send_cmd(psmouse, ETP_ICBODY_QUERY, ic_body)) { in elantech_query_info()
1708 psmouse_err(psmouse, "failed to query ic body\n"); in elantech_query_info()
1712 psmouse_info(psmouse, in elantech_query_info()
1727 psmouse_info(psmouse, in elantech_query_info()
1745 if (elantech_change_report_id(psmouse)) { in elantech_query_info()
1746 psmouse_info(psmouse, in elantech_query_info()
1755 if (elantech_get_resolution_v4(psmouse, in elantech_query_info()
1759 psmouse_warn(psmouse, in elantech_query_info()
1788 if (info->send_cmd(psmouse, ETP_FW_ID_QUERY, param)) in elantech_query_info()
1794 if (info->send_cmd(psmouse, ETP_SAMPLE_QUERY, param)) in elantech_query_info()
1813 if (info->send_cmd(psmouse, ETP_FW_ID_QUERY, param)) in elantech_query_info()
1821 if (info->send_cmd(psmouse, ETP_FW_ID_QUERY, param)) in elantech_query_info()
1877 static int elantech_create_smbus(struct psmouse *psmouse, in elantech_create_smbus() argument
1923 return psmouse_smbus_init(psmouse, &smbus_board, NULL, 0, false, in elantech_create_smbus()
1931 static int elantech_setup_smbus(struct psmouse *psmouse, in elantech_setup_smbus() argument
1947 psmouse_matches_pnp_id(psmouse, i2c_blacklist_pnp_ids)) in elantech_setup_smbus()
1951 psmouse_info(psmouse, "Trying to set up SMBus access\n"); in elantech_setup_smbus()
1953 error = elantech_create_smbus(psmouse, info, leave_breadcrumbs); in elantech_setup_smbus()
1956 psmouse_info(psmouse, "SMbus companion is not ready yet\n"); in elantech_setup_smbus()
1958 psmouse_err(psmouse, "unable to create intertouch device\n"); in elantech_setup_smbus()
1966 static bool elantech_use_host_notify(struct psmouse *psmouse, in elantech_use_host_notify() argument
1978 psmouse_dbg(psmouse, "Ignoring SMBus provider through alert protocol.\n"); in elantech_use_host_notify()
1984 psmouse_dbg(psmouse, in elantech_use_host_notify()
1992 int elantech_init_smbus(struct psmouse *psmouse) in elantech_init_smbus() argument
1997 psmouse_reset(psmouse); in elantech_init_smbus()
1999 error = elantech_query_info(psmouse, &info); in elantech_init_smbus()
2008 return elantech_create_smbus(psmouse, &info, false); in elantech_init_smbus()
2010 psmouse_reset(psmouse); in elantech_init_smbus()
2018 static int elantech_setup_ps2(struct psmouse *psmouse, in elantech_setup_ps2() argument
2026 psmouse->private = etd = kzalloc(sizeof(*etd), GFP_KERNEL); in elantech_setup_ps2()
2036 if (elantech_set_absolute_mode(psmouse)) { in elantech_setup_ps2()
2037 psmouse_err(psmouse, in elantech_setup_ps2()
2043 etd->original_set_rate = psmouse->set_rate; in elantech_setup_ps2()
2044 psmouse->set_rate = elantech_set_rate_restore_reg_07; in elantech_setup_ps2()
2047 if (elantech_set_input_params(psmouse)) { in elantech_setup_ps2()
2048 psmouse_err(psmouse, "failed to query touchpad range.\n"); in elantech_setup_ps2()
2052 error = sysfs_create_group(&psmouse->ps2dev.serio->dev.kobj, in elantech_setup_ps2()
2055 psmouse_err(psmouse, in elantech_setup_ps2()
2071 psmouse->ps2dev.serio->phys); in elantech_setup_ps2()
2078 tp_dev->dev.parent = &psmouse->ps2dev.serio->dev; in elantech_setup_ps2()
2094 psmouse->protocol_handler = elantech_process_byte; in elantech_setup_ps2()
2095 psmouse->disconnect = elantech_disconnect; in elantech_setup_ps2()
2096 psmouse->reconnect = elantech_reconnect; in elantech_setup_ps2()
2097 psmouse->pktsize = info->hw_version > 1 ? 6 : 4; in elantech_setup_ps2()
2103 sysfs_remove_group(&psmouse->ps2dev.serio->dev.kobj, in elantech_setup_ps2()
2110 int elantech_init_ps2(struct psmouse *psmouse) in elantech_init_ps2() argument
2115 psmouse_reset(psmouse); in elantech_init_ps2()
2117 error = elantech_query_info(psmouse, &info); in elantech_init_ps2()
2121 error = elantech_setup_ps2(psmouse, &info); in elantech_init_ps2()
2127 psmouse_reset(psmouse); in elantech_init_ps2()
2131 int elantech_init(struct psmouse *psmouse) in elantech_init() argument
2136 psmouse_reset(psmouse); in elantech_init()
2138 error = elantech_query_info(psmouse, &info); in elantech_init()
2144 if (elantech_use_host_notify(psmouse, &info)) { in elantech_init()
2147 psmouse_warn(psmouse, in elantech_init()
2151 error = elantech_setup_smbus(psmouse, &info, true); in elantech_init()
2158 error = elantech_setup_ps2(psmouse, &info); in elantech_init()
2164 psmouse_smbus_cleanup(psmouse); in elantech_init()
2170 psmouse_reset(psmouse); in elantech_init()