• 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

40 #include "psmouse.h"
80 static void hgpk_jumpy_hack(struct psmouse *psmouse, int x, int y)
82 struct hgpk_data *priv = psmouse->private;
85 hgpk_err(psmouse, ">%dpx jump detected (%d,%d)\n",
89 psmouse_queue_work(psmouse, &priv->recalib_wq,
109 static void hgpk_spewing_hack(struct psmouse *psmouse,
112 struct hgpk_data *priv = psmouse->private;
124 hgpk_dbg(psmouse, "packet spew detected (%d,%d)\n",
126 psmouse_queue_work(psmouse, &priv->recalib_wq,
152 static void hgpk_process_packet(struct psmouse *psmouse)
154 struct input_dev *dev = psmouse->dev;
155 unsigned char *packet = psmouse->packet;
164 hgpk_jumpy_hack(psmouse, x, y);
165 hgpk_spewing_hack(psmouse, left, right, x, y);
168 hgpk_dbg(psmouse, "l=%d r=%d x=%d y=%d\n", left, right, x, y);
179 static psmouse_ret_t hgpk_process_byte(struct psmouse *psmouse)
181 struct hgpk_data *priv = psmouse->private;
183 if (hgpk_validate_byte(psmouse->packet)) {
184 hgpk_dbg(psmouse, "%s: (%d) %02x %02x %02x\n",
185 __func__, psmouse->pktcnt, psmouse->packet[0],
186 psmouse->packet[1], psmouse->packet[2]);
190 if (psmouse->pktcnt >= psmouse->pktsize) {
191 hgpk_process_packet(psmouse);
201 hgpk_dbg(psmouse,
204 psmouse_queue_work(psmouse, &priv->recalib_wq,
213 static int hgpk_force_recalibrate(struct psmouse *psmouse)
215 struct ps2dev *ps2dev = &psmouse->ps2dev;
216 struct hgpk_data *priv = psmouse->private;
219 if (psmouse->model < HGPK_MODEL_C)
223 psmouse_set_state(psmouse, PSMOUSE_INITIALIZING);
226 psmouse_reset(psmouse);
243 psmouse_set_state(psmouse, PSMOUSE_ACTIVATED);
260 static int hgpk_toggle_power(struct psmouse *psmouse, int enable)
262 struct ps2dev *ps2dev = &psmouse->ps2dev;
266 if (psmouse->model < HGPK_MODEL_D)
270 psmouse_set_state(psmouse, PSMOUSE_INITIALIZING);
280 if (!ps2_sendbyte(&psmouse->ps2dev,
286 psmouse_reset(psmouse);
289 ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_ENABLE);
290 psmouse_set_state(psmouse, PSMOUSE_ACTIVATED);
293 hgpk_dbg(psmouse, "Powering off touchpad.\n");
294 psmouse_set_state(psmouse, PSMOUSE_IGNORE);
303 ps2_sendbyte(&psmouse->ps2dev, 0xec, 20);
309 static int hgpk_poll(struct psmouse *psmouse)
315 static int hgpk_reconnect(struct psmouse *psmouse)
321 if (psmouse->ps2dev.serio->dev.power.power_state.event !=
325 psmouse_reset(psmouse);
330 static ssize_t hgpk_show_powered(struct psmouse *psmouse, void *data, char *buf)
332 struct hgpk_data *priv = psmouse->private;
337 static ssize_t hgpk_set_powered(struct psmouse *psmouse, void *data,
340 struct hgpk_data *priv = psmouse->private;
353 err = hgpk_toggle_power(psmouse, value);
364 static ssize_t hgpk_trigger_recal_show(struct psmouse *psmouse,
370 static ssize_t hgpk_trigger_recal(struct psmouse *psmouse, void *data,
373 struct hgpk_data *priv = psmouse->private;
386 psmouse_queue_work(psmouse, &priv->recalib_wq, 0);
393 static void hgpk_disconnect(struct psmouse *psmouse)
395 struct hgpk_data *priv = psmouse->private;
397 device_remove_file(&psmouse->ps2dev.serio->dev,
400 if (psmouse->model >= HGPK_MODEL_C)
401 device_remove_file(&psmouse->ps2dev.serio->dev,
404 psmouse_reset(psmouse);
412 struct psmouse *psmouse = priv->psmouse;
414 hgpk_dbg(psmouse, "recalibrating touchpad..\n");
416 if (hgpk_force_recalibrate(psmouse))
417 hgpk_err(psmouse, "recalibration failed!\n");
420 static int hgpk_register(struct psmouse *psmouse)
425 psmouse->protocol_handler = hgpk_process_byte;
426 psmouse->poll = hgpk_poll;
427 psmouse->disconnect = hgpk_disconnect;
428 psmouse->reconnect = hgpk_reconnect;
429 psmouse->pktsize = 3;
432 psmouse->resync_time = 0;
434 psmouse->resetafter = 1024;
436 err = device_create_file(&psmouse->ps2dev.serio->dev,
439 hgpk_err(psmouse, "Failed creating 'powered' sysfs node\n");
444 if (psmouse->model >= HGPK_MODEL_C) {
445 err = device_create_file(&psmouse->ps2dev.serio->dev,
448 hgpk_err(psmouse,
450 device_remove_file(&psmouse->ps2dev.serio->dev,
459 int hgpk_init(struct psmouse *psmouse)
468 psmouse->private = priv;
469 priv->psmouse = psmouse;
473 err = psmouse_reset(psmouse);
477 err = hgpk_register(psmouse);
489 static enum hgpk_model_t hgpk_get_model(struct psmouse *psmouse)
491 struct ps2dev *ps2dev = &psmouse->ps2dev;
502 hgpk_dbg(psmouse, "ID: %02x %02x %02x\n", param[0], param[1], param[2]);
508 hgpk_info(psmouse, "OLPC touchpad revision 0x%x\n", param[2]);
513 int hgpk_detect(struct psmouse *psmouse, bool set_properties)
517 version = hgpk_get_model(psmouse);
522 psmouse->vendor = "ALPS";
523 psmouse->name = "HGPK";
524 psmouse->model = version;