• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/input/mouse/

Lines Matching defs:psmouse

32 #include "psmouse.h"
55 static int synaptics_mode_cmd(struct psmouse *psmouse, unsigned char mode)
59 if (psmouse_sliced_command(psmouse, mode))
62 if (ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_SETRATE))
67 int synaptics_detect(struct psmouse *psmouse, bool set_properties)
69 struct ps2dev *ps2dev = &psmouse->ps2dev;
84 psmouse->vendor = "Synaptics";
85 psmouse->name = "TouchPad";
91 void synaptics_reset(struct psmouse *psmouse)
94 synaptics_mode_cmd(psmouse, 0);
106 static int synaptics_send_cmd(struct psmouse *psmouse, unsigned char c, unsigned char *param)
108 if (psmouse_sliced_command(psmouse, c))
110 if (ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_GETINFO))
119 static int synaptics_model_id(struct psmouse *psmouse)
121 struct synaptics_data *priv = psmouse->private;
124 if (synaptics_send_cmd(psmouse, SYN_QUE_MODEL, mi))
134 static int synaptics_capability(struct psmouse *psmouse)
136 struct synaptics_data *priv = psmouse->private;
139 if (synaptics_send_cmd(psmouse, SYN_QUE_CAPABILITIES, cap))
159 if (synaptics_send_cmd(psmouse, SYN_QUE_EXT_CAPAB, cap)) {
175 if (synaptics_send_cmd(psmouse, SYN_QUE_EXT_CAPAB_0C, cap)) {
190 static int synaptics_identify(struct psmouse *psmouse)
192 struct synaptics_data *priv = psmouse->private;
195 if (synaptics_send_cmd(psmouse, SYN_QUE_IDENTIFY, id))
207 static int synaptics_resolution(struct psmouse *psmouse)
209 struct synaptics_data *priv = psmouse->private;
216 if (synaptics_send_cmd(psmouse, SYN_QUE_RESOLUTION, res) == 0) {
225 if (synaptics_send_cmd(psmouse, SYN_QUE_EXT_DIMENSIONS, max)) {
237 static int synaptics_query_hardware(struct psmouse *psmouse)
239 if (synaptics_identify(psmouse))
241 if (synaptics_model_id(psmouse))
243 if (synaptics_capability(psmouse))
245 if (synaptics_resolution(psmouse))
251 static int synaptics_set_absolute_mode(struct psmouse *psmouse)
253 struct synaptics_data *priv = psmouse->private;
261 if (synaptics_mode_cmd(psmouse, priv->mode))
267 static void synaptics_set_rate(struct psmouse *psmouse, unsigned int rate)
269 struct synaptics_data *priv = psmouse->private;
273 psmouse->rate = 80;
276 psmouse->rate = 40;
279 synaptics_mode_cmd(psmouse, priv->mode);
287 struct psmouse *parent = serio_get_drvdata(serio->parent);
304 struct psmouse *child = serio_get_drvdata(ptport);
316 static void synaptics_pt_activate(struct psmouse *psmouse)
318 struct serio *ptport = psmouse->ps2dev.serio->child;
319 struct psmouse *child = serio_get_drvdata(ptport);
320 struct synaptics_data *priv = psmouse->private;
329 if (synaptics_mode_cmd(psmouse, priv->mode))
334 static void synaptics_pt_create(struct psmouse *psmouse)
348 serio->parent = psmouse->ps2dev.serio;
350 psmouse->pt_activate = synaptics_pt_activate;
352 printk(KERN_INFO "serio: %s port at %s\n", serio->name, psmouse->phys);
437 static void synaptics_process_packet(struct psmouse *psmouse)
439 struct input_dev *dev = psmouse->dev;
440 struct synaptics_data *priv = psmouse->private;
446 synaptics_parse_hw_state(psmouse->packet, priv, &hw);
560 static unsigned char synaptics_detect_pkt_type(struct psmouse *psmouse)
565 if (!synaptics_validate_byte(psmouse->packet, i, SYN_NEWABS_STRICT)) {
573 static psmouse_ret_t synaptics_process_byte(struct psmouse *psmouse)
575 struct synaptics_data *priv = psmouse->private;
577 if (psmouse->pktcnt >= 6) { /* Full packet received */
579 priv->pkt_type = synaptics_detect_pkt_type(psmouse);
581 if (SYN_CAP_PASS_THROUGH(priv->capabilities) && synaptics_is_pt_packet(psmouse->packet)) {
582 if (psmouse->ps2dev.serio->child)
583 synaptics_pass_pt_packet(psmouse->ps2dev.serio->child, psmouse->packet);
585 synaptics_process_packet(psmouse);
590 return synaptics_validate_byte(psmouse->packet, psmouse->pktcnt - 1, priv->pkt_type) ?
648 static void synaptics_disconnect(struct psmouse *psmouse)
650 synaptics_reset(psmouse);
651 kfree(psmouse->private);
652 psmouse->private = NULL;
655 static int synaptics_reconnect(struct psmouse *psmouse)
657 struct synaptics_data *priv = psmouse->private;
660 psmouse_reset(psmouse);
662 if (synaptics_detect(psmouse, 0))
665 if (synaptics_query_hardware(psmouse)) {
676 if (synaptics_set_absolute_mode(psmouse)) {
728 int synaptics_init(struct psmouse *psmouse)
732 psmouse->private = priv = kzalloc(sizeof(struct synaptics_data), GFP_KERNEL);
736 psmouse_reset(psmouse);
738 if (synaptics_query_hardware(psmouse)) {
743 if (synaptics_set_absolute_mode(psmouse)) {
755 set_input_params(psmouse->dev, priv);
764 psmouse->model = ((priv->model_id & 0x00ff0000) >> 8) |
767 psmouse->protocol_handler = synaptics_process_byte;
768 psmouse->set_rate = synaptics_set_rate;
769 psmouse->disconnect = synaptics_disconnect;
770 psmouse->reconnect = synaptics_reconnect;
771 psmouse->cleanup = synaptics_reset;
772 psmouse->pktsize = 6;
774 psmouse->resync_time = 0;
777 synaptics_pt_create(psmouse);
784 if (psmouse->rate >= 80 && impaired_toshiba_kbc) {
787 psmouse->rate = 40;
808 int synaptics_init(struct psmouse *psmouse)