Lines Matching defs:psmouse

16 #include "psmouse.h"
104 static ssize_t trackpoint_show_int_attr(struct psmouse *psmouse,
107 struct trackpoint_data *tp = psmouse->private;
117 static ssize_t trackpoint_set_int_attr(struct psmouse *psmouse, void *data,
120 struct trackpoint_data *tp = psmouse->private;
131 err = trackpoint_write(&psmouse->ps2dev, attr->command, value);
146 static ssize_t trackpoint_set_bit_attr(struct psmouse *psmouse, void *data,
149 struct trackpoint_data *tp = psmouse->private;
164 err = trackpoint_toggle_bit(&psmouse->ps2dev,
204 static bool trackpoint_is_attr_available(struct psmouse *psmouse,
207 struct trackpoint_data *tp = psmouse->private;
219 struct psmouse *psmouse = psmouse_from_serio(serio);
221 return trackpoint_is_attr_available(psmouse, attr) ? attr->mode : 0;
269 static int trackpoint_start_protocol(struct psmouse *psmouse,
275 error = ps2_command(&psmouse->ps2dev,
303 static int trackpoint_sync(struct psmouse *psmouse, bool in_power_on_state)
305 struct trackpoint_data *tp = psmouse->private;
312 trackpoint_update_bit(&psmouse->ps2dev, TP_TOGGLE_TWOHAND,
315 trackpoint_update_bit(&psmouse->ps2dev, TP_TOGGLE_SOURCE_TAG,
318 trackpoint_update_bit(&psmouse->ps2dev, TP_TOGGLE_MB,
327 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, sensitivity);
328 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, inertia);
329 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, speed);
330 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, reach);
331 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, draghys);
332 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, mindrag);
333 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, thresh);
334 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, upthresh);
335 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, ztime);
336 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, jenks);
337 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, drift_time);
340 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, press_to_select);
341 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, skipback);
342 TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, ext_dev);
367 static void trackpoint_disconnect(struct psmouse *psmouse)
369 device_remove_group(&psmouse->ps2dev.serio->dev,
372 kfree(psmouse->private);
373 psmouse->private = NULL;
376 static int trackpoint_reconnect(struct psmouse *psmouse)
378 struct trackpoint_data *tp = psmouse->private;
382 error = trackpoint_start_protocol(psmouse, NULL, NULL);
387 trackpoint_power_on_reset(&psmouse->ps2dev) == 0;
389 error = trackpoint_sync(psmouse, was_reset);
396 int trackpoint_detect(struct psmouse *psmouse, bool set_properties)
398 struct ps2dev *ps2dev = &psmouse->ps2dev;
405 error = trackpoint_start_protocol(psmouse, &variant_id, &firmware_id);
420 psmouse->private = tp;
422 psmouse->vendor = trackpoint_variants[variant_id];
423 psmouse->name = "TrackPoint";
425 psmouse->reconnect = trackpoint_reconnect;
426 psmouse->disconnect = trackpoint_disconnect;
434 psmouse_warn(psmouse,
438 psmouse_warn(psmouse,
445 input_set_capability(psmouse->dev, EV_KEY, BTN_MIDDLE);
447 __set_bit(INPUT_PROP_POINTER, psmouse->dev->propbit);
448 __set_bit(INPUT_PROP_POINTING_STICK, psmouse->dev->propbit);
455 trackpoint_sync(psmouse, false);
460 psmouse_err(psmouse,
463 kfree(psmouse->private);
464 psmouse->private = NULL;
468 psmouse_info(psmouse,
470 psmouse->vendor, firmware_id,