Lines Matching refs:psmouse

39 int focaltech_detect(struct psmouse *psmouse, bool set_properties)  in focaltech_detect()  argument
41 if (!psmouse_matches_pnp_id(psmouse, focaltech_pnp_ids)) in focaltech_detect()
45 psmouse->vendor = "FocalTech"; in focaltech_detect()
46 psmouse->name = "FocalTech Touchpad"; in focaltech_detect()
52 static void focaltech_reset(struct psmouse *psmouse) in focaltech_reset() argument
54 ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_RESET_DIS); in focaltech_reset()
55 psmouse_reset(psmouse); in focaltech_reset()
125 static void focaltech_report_state(struct psmouse *psmouse) in focaltech_report_state() argument
127 struct focaltech_data *priv = psmouse->private; in focaltech_report_state()
129 struct input_dev *dev = psmouse->dev; in focaltech_report_state()
155 input_report_key(psmouse->dev, BTN_LEFT, state->pressed); in focaltech_report_state()
156 input_sync(psmouse->dev); in focaltech_report_state()
159 static void focaltech_process_touch_packet(struct psmouse *psmouse, in focaltech_process_touch_packet() argument
162 struct focaltech_data *priv = psmouse->private; in focaltech_process_touch_packet()
183 static void focaltech_process_abs_packet(struct psmouse *psmouse, in focaltech_process_abs_packet() argument
186 struct focaltech_data *priv = psmouse->private; in focaltech_process_abs_packet()
192 psmouse_err(psmouse, "Invalid finger in abs packet: %d\n", in focaltech_process_abs_packet()
205 static void focaltech_process_rel_packet(struct psmouse *psmouse, in focaltech_process_rel_packet() argument
208 struct focaltech_data *priv = psmouse->private; in focaltech_process_rel_packet()
218 psmouse_err(psmouse, "First finger in rel packet invalid: %d\n", in focaltech_process_rel_packet()
236 static void focaltech_process_packet(struct psmouse *psmouse) in focaltech_process_packet() argument
238 unsigned char *packet = psmouse->packet; in focaltech_process_packet()
242 focaltech_process_touch_packet(psmouse, packet); in focaltech_process_packet()
246 focaltech_process_abs_packet(psmouse, packet); in focaltech_process_packet()
250 focaltech_process_rel_packet(psmouse, packet); in focaltech_process_packet()
254 psmouse_err(psmouse, "Unknown packet type: %02x\n", packet[0]); in focaltech_process_packet()
258 focaltech_report_state(psmouse); in focaltech_process_packet()
261 static psmouse_ret_t focaltech_process_byte(struct psmouse *psmouse) in focaltech_process_byte() argument
263 if (psmouse->pktcnt >= 6) { /* Full packet received */ in focaltech_process_byte()
264 focaltech_process_packet(psmouse); in focaltech_process_byte()
275 static int focaltech_switch_protocol(struct psmouse *psmouse) in focaltech_switch_protocol() argument
277 struct ps2dev *ps2dev = &psmouse->ps2dev; in focaltech_switch_protocol()
303 static void focaltech_disconnect(struct psmouse *psmouse) in focaltech_disconnect() argument
305 focaltech_reset(psmouse); in focaltech_disconnect()
306 kfree(psmouse->private); in focaltech_disconnect()
307 psmouse->private = NULL; in focaltech_disconnect()
310 static int focaltech_reconnect(struct psmouse *psmouse) in focaltech_reconnect() argument
314 focaltech_reset(psmouse); in focaltech_reconnect()
316 error = focaltech_switch_protocol(psmouse); in focaltech_reconnect()
318 psmouse_err(psmouse, "Unable to initialize the device\n"); in focaltech_reconnect()
325 static void focaltech_set_input_params(struct psmouse *psmouse) in focaltech_set_input_params() argument
327 struct input_dev *dev = psmouse->dev; in focaltech_set_input_params()
328 struct focaltech_data *priv = psmouse->private; in focaltech_set_input_params()
377 static int focaltech_read_size(struct psmouse *psmouse) in focaltech_read_size() argument
379 struct ps2dev *ps2dev = &psmouse->ps2dev; in focaltech_read_size()
380 struct focaltech_data *priv = psmouse->private; in focaltech_read_size()
393 void focaltech_set_resolution(struct psmouse *psmouse, unsigned int resolution) in focaltech_set_resolution() argument
398 static void focaltech_set_rate(struct psmouse *psmouse, unsigned int rate) in focaltech_set_rate() argument
403 static void focaltech_set_scale(struct psmouse *psmouse, in focaltech_set_scale() argument
409 int focaltech_init(struct psmouse *psmouse) in focaltech_init() argument
414 psmouse->private = priv = kzalloc(sizeof(struct focaltech_data), in focaltech_init()
419 focaltech_reset(psmouse); in focaltech_init()
421 error = focaltech_read_size(psmouse); in focaltech_init()
423 psmouse_err(psmouse, in focaltech_init()
428 error = focaltech_switch_protocol(psmouse); in focaltech_init()
430 psmouse_err(psmouse, "Unable to initialize the device\n"); in focaltech_init()
434 focaltech_set_input_params(psmouse); in focaltech_init()
436 psmouse->protocol_handler = focaltech_process_byte; in focaltech_init()
437 psmouse->pktsize = 6; in focaltech_init()
438 psmouse->disconnect = focaltech_disconnect; in focaltech_init()
439 psmouse->reconnect = focaltech_reconnect; in focaltech_init()
440 psmouse->cleanup = focaltech_reset; in focaltech_init()
442 psmouse->resync_time = 0; in focaltech_init()
448 psmouse->set_resolution = focaltech_set_resolution; in focaltech_init()
449 psmouse->set_rate = focaltech_set_rate; in focaltech_init()
450 psmouse->set_scale = focaltech_set_scale; in focaltech_init()
455 focaltech_reset(psmouse); in focaltech_init()
462 int focaltech_init(struct psmouse *psmouse) in focaltech_init() argument
464 focaltech_reset(psmouse); in focaltech_init()