Lines Matching refs:sermouse
27 struct sermouse {
42 static void sermouse_process_msc(struct sermouse *sermouse, signed char data)
44 struct input_dev *dev = sermouse->dev;
45 signed char *buf = sermouse->buf;
47 switch (sermouse->count) {
74 if (++sermouse->count == 5)
75 sermouse->count = 0;
84 static void sermouse_process_ms(struct sermouse *sermouse, signed char data)
86 struct input_dev *dev = sermouse->dev;
87 signed char *buf = sermouse->buf;
90 sermouse->count = 0;
91 else if (sermouse->count == 0)
94 switch (sermouse->count) {
112 if ((sermouse->type == SERIO_MS) && !data && !buf[2] && !((buf[0] & 0xf0) ^ buf[1]))
124 switch (sermouse->type) {
127 sermouse->type = SERIO_MP;
156 if (sermouse->type != SERIO_MZPP)
172 "sermouse.c: Received MZ++ packet %x, don't know how to handle.\n", buf[1]);
181 sermouse->count++;
192 struct sermouse *sermouse = serio_get_drvdata(serio);
194 if (time_after(jiffies, sermouse->last + HZ/10))
195 sermouse->count = 0;
197 sermouse->last = jiffies;
199 if (sermouse->type > SERIO_SUN)
200 sermouse_process_ms(sermouse, data);
202 sermouse_process_msc(sermouse, data);
214 struct sermouse *sermouse = serio_get_drvdata(serio);
218 input_unregister_device(sermouse->dev);
219 kfree(sermouse);
229 struct sermouse *sermouse;
234 sermouse = kzalloc(sizeof(struct sermouse), GFP_KERNEL);
236 if (!sermouse || !input_dev)
239 sermouse->dev = input_dev;
240 snprintf(sermouse->phys, sizeof(sermouse->phys), "%s/input0", serio->phys);
241 sermouse->type = serio->id.proto;
243 input_dev->name = sermouse_protocols[sermouse->type];
244 input_dev->phys = sermouse->phys;
246 input_dev->id.vendor = sermouse->type;
262 serio_set_drvdata(serio, sermouse);
268 err = input_register_device(sermouse->dev);
277 kfree(sermouse);
331 .name = "sermouse",