• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/input/mouse/

Lines Matching refs:psmouse

30 #include "psmouse.h"
51 static int synaptics_mode_cmd(struct psmouse *psmouse, unsigned char mode)
55 if (psmouse_sliced_command(psmouse, mode))
58 if (ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_SETRATE))
63 int synaptics_detect(struct psmouse *psmouse, int set_properties)
65 struct ps2dev *ps2dev = &psmouse->ps2dev;
80 psmouse->vendor = "Synaptics";
81 psmouse->name = "TouchPad";
87 void synaptics_reset(struct psmouse *psmouse)
90 synaptics_mode_cmd(psmouse, 0);
102 static int synaptics_send_cmd(struct psmouse *psmouse, unsigned char c, unsigned char *param)
104 if (psmouse_sliced_command(psmouse, c))
106 if (ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_GETINFO))
115 static int synaptics_model_id(struct psmouse *psmouse)
117 struct synaptics_data *priv = psmouse->private;
120 if (synaptics_send_cmd(psmouse, SYN_QUE_MODEL, mi))
130 static int synaptics_capability(struct psmouse *psmouse)
132 struct synaptics_data *priv = psmouse->private;
135 if (synaptics_send_cmd(psmouse, SYN_QUE_CAPABILITIES, cap))
149 if (synaptics_send_cmd(psmouse, SYN_QUE_EXT_CAPAB, cap)) {
170 static int synaptics_identify(struct psmouse *psmouse)
172 struct synaptics_data *priv = psmouse->private;
175 if (synaptics_send_cmd(psmouse, SYN_QUE_IDENTIFY, id))
183 static int synaptics_query_hardware(struct psmouse *psmouse)
187 while ((retries++ < 3) && psmouse_reset(psmouse))
190 if (synaptics_identify(psmouse))
192 if (synaptics_model_id(psmouse))
194 if (synaptics_capability(psmouse))
200 static int synaptics_set_absolute_mode(struct psmouse *psmouse)
202 struct synaptics_data *priv = psmouse->private;
210 if (synaptics_mode_cmd(psmouse, priv->mode))
216 static void synaptics_set_rate(struct psmouse *psmouse, unsigned int rate)
218 struct synaptics_data *priv = psmouse->private;
222 psmouse->rate = 80;
225 psmouse->rate = 40;
228 synaptics_mode_cmd(psmouse, priv->mode);
236 struct psmouse *parent = serio_get_drvdata(serio->parent);
253 struct psmouse *child = serio_get_drvdata(ptport);
265 static void synaptics_pt_activate(struct psmouse *psmouse)
267 struct serio *ptport = psmouse->ps2dev.serio->child;
268 struct psmouse *child = serio_get_drvdata(ptport);
269 struct synaptics_data *priv = psmouse->private;
278 if (synaptics_mode_cmd(psmouse, priv->mode))
283 static void synaptics_pt_create(struct psmouse *psmouse)
297 serio->parent = psmouse->ps2dev.serio;
299 psmouse->pt_activate = synaptics_pt_activate;
301 printk(KERN_INFO "serio: %s port at %s\n", serio->name, psmouse->phys);
378 static void synaptics_process_packet(struct psmouse *psmouse)
380 struct input_dev *dev = psmouse->dev;
381 struct synaptics_data *priv = psmouse->private;
387 synaptics_parse_hw_state(psmouse->packet, priv, &hw);
496 static unsigned char synaptics_detect_pkt_type(struct psmouse *psmouse)
501 if (!synaptics_validate_byte(psmouse->packet, i, SYN_NEWABS_STRICT)) {
509 static psmouse_ret_t synaptics_process_byte(struct psmouse *psmouse)
511 struct synaptics_data *priv = psmouse->private;
513 if (psmouse->pktcnt >= 6) { /* Full packet received */
515 priv->pkt_type = synaptics_detect_pkt_type(psmouse);
517 if (SYN_CAP_PASS_THROUGH(priv->capabilities) && synaptics_is_pt_packet(psmouse->packet)) {
518 if (psmouse->ps2dev.serio->child)
519 synaptics_pass_pt_packet(psmouse->ps2dev.serio->child, psmouse->packet);
521 synaptics_process_packet(psmouse);
526 return synaptics_validate_byte(psmouse->packet, psmouse->pktcnt - 1, priv->pkt_type) ?
569 static void synaptics_disconnect(struct psmouse *psmouse)
571 synaptics_reset(psmouse);
572 kfree(psmouse->private);
573 psmouse->private = NULL;
576 static int synaptics_reconnect(struct psmouse *psmouse)
578 struct synaptics_data *priv = psmouse->private;
581 if (synaptics_detect(psmouse, 0))
584 if (synaptics_query_hardware(psmouse)) {
595 if (synaptics_set_absolute_mode(psmouse)) {
631 int synaptics_init(struct psmouse *psmouse)
635 psmouse->private = priv = kzalloc(sizeof(struct synaptics_data), GFP_KERNEL);
639 if (synaptics_query_hardware(psmouse)) {
644 if (synaptics_set_absolute_mode(psmouse)) {
656 set_input_params(psmouse->dev, priv);
665 psmouse->model = ((priv->model_id & 0x00ff0000) >> 8) |
668 psmouse->protocol_handler = synaptics_process_byte;
669 psmouse->set_rate = synaptics_set_rate;
670 psmouse->disconnect = synaptics_disconnect;
671 psmouse->reconnect = synaptics_reconnect;
672 psmouse->cleanup = synaptics_reset;
673 psmouse->pktsize = 6;
675 psmouse->resync_time = 0;
678 synaptics_pt_create(psmouse);
686 if (psmouse->rate >= 80 && dmi_check_system(toshiba_dmi_table)) {
689 psmouse->rate = 40;
702 int synaptics_init(struct psmouse *psmouse)