Lines Matching refs:psmouse
114 static ssize_t trackpoint_show_int_attr(struct psmouse *psmouse, void *data, char *buf) in trackpoint_show_int_attr() argument
116 struct trackpoint_data *tp = psmouse->private; in trackpoint_show_int_attr()
126 static ssize_t trackpoint_set_int_attr(struct psmouse *psmouse, void *data, in trackpoint_set_int_attr() argument
129 struct trackpoint_data *tp = psmouse->private; in trackpoint_set_int_attr()
140 trackpoint_write(&psmouse->ps2dev, attr->command, value); in trackpoint_set_int_attr()
155 static ssize_t trackpoint_set_bit_attr(struct psmouse *psmouse, void *data, in trackpoint_set_bit_attr() argument
158 struct trackpoint_data *tp = psmouse->private; in trackpoint_set_bit_attr()
176 trackpoint_toggle_bit(&psmouse->ps2dev, attr->command, attr->mask); in trackpoint_set_bit_attr()
261 static int trackpoint_start_protocol(struct psmouse *psmouse, unsigned char *firmware_id) in trackpoint_start_protocol() argument
265 if (ps2_command(&psmouse->ps2dev, param, MAKE_PS2_CMD(0, 2, TP_READ_ID))) in trackpoint_start_protocol()
283 static int trackpoint_sync(struct psmouse *psmouse, bool in_power_on_state) in trackpoint_sync() argument
285 struct trackpoint_data *tp = psmouse->private; in trackpoint_sync()
292 trackpoint_update_bit(&psmouse->ps2dev, TP_TOGGLE_TWOHAND, in trackpoint_sync()
295 trackpoint_update_bit(&psmouse->ps2dev, TP_TOGGLE_SOURCE_TAG, in trackpoint_sync()
298 trackpoint_update_bit(&psmouse->ps2dev, TP_TOGGLE_MB, in trackpoint_sync()
307 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, sensitivity); in trackpoint_sync()
308 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, inertia); in trackpoint_sync()
309 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, speed); in trackpoint_sync()
310 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, reach); in trackpoint_sync()
311 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, draghys); in trackpoint_sync()
312 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, mindrag); in trackpoint_sync()
313 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, thresh); in trackpoint_sync()
314 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, upthresh); in trackpoint_sync()
315 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, ztime); in trackpoint_sync()
316 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, jenks); in trackpoint_sync()
317 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, drift_time); in trackpoint_sync()
320 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, press_to_select); in trackpoint_sync()
321 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, skipback); in trackpoint_sync()
322 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, ext_dev); in trackpoint_sync()
347 static void trackpoint_disconnect(struct psmouse *psmouse) in trackpoint_disconnect() argument
349 sysfs_remove_group(&psmouse->ps2dev.serio->dev.kobj, &trackpoint_attr_group); in trackpoint_disconnect()
351 kfree(psmouse->private); in trackpoint_disconnect()
352 psmouse->private = NULL; in trackpoint_disconnect()
355 static int trackpoint_reconnect(struct psmouse *psmouse) in trackpoint_reconnect() argument
359 if (trackpoint_start_protocol(psmouse, NULL)) in trackpoint_reconnect()
362 reset_fail = trackpoint_power_on_reset(&psmouse->ps2dev); in trackpoint_reconnect()
363 if (trackpoint_sync(psmouse, !reset_fail)) in trackpoint_reconnect()
369 int trackpoint_detect(struct psmouse *psmouse, bool set_properties) in trackpoint_detect() argument
371 struct ps2dev *ps2dev = &psmouse->ps2dev; in trackpoint_detect()
376 if (trackpoint_start_protocol(psmouse, &firmware_id)) in trackpoint_detect()
382 if (trackpoint_read(&psmouse->ps2dev, TP_EXT_BTN, &button_info)) { in trackpoint_detect()
383 psmouse_warn(psmouse, "failed to get extended button data\n"); in trackpoint_detect()
387 psmouse->private = kzalloc(sizeof(struct trackpoint_data), GFP_KERNEL); in trackpoint_detect()
388 if (!psmouse->private) in trackpoint_detect()
391 psmouse->vendor = "IBM"; in trackpoint_detect()
392 psmouse->name = "TrackPoint"; in trackpoint_detect()
394 psmouse->reconnect = trackpoint_reconnect; in trackpoint_detect()
395 psmouse->disconnect = trackpoint_disconnect; in trackpoint_detect()
398 __set_bit(BTN_MIDDLE, psmouse->dev->keybit); in trackpoint_detect()
400 __set_bit(INPUT_PROP_POINTER, psmouse->dev->propbit); in trackpoint_detect()
401 __set_bit(INPUT_PROP_POINTING_STICK, psmouse->dev->propbit); in trackpoint_detect()
403 trackpoint_defaults(psmouse->private); in trackpoint_detect()
405 error = trackpoint_power_on_reset(&psmouse->ps2dev); in trackpoint_detect()
409 trackpoint_sync(psmouse, false); in trackpoint_detect()
413 psmouse_err(psmouse, in trackpoint_detect()
416 kfree(psmouse->private); in trackpoint_detect()
417 psmouse->private = NULL; in trackpoint_detect()
421 psmouse_info(psmouse, in trackpoint_detect()