Lines Matching refs:sermouse

30 struct sermouse {  struct
45 static void sermouse_process_msc(struct sermouse *sermouse, signed char data) in sermouse_process_msc() argument
47 struct input_dev *dev = sermouse->dev; in sermouse_process_msc()
48 signed char *buf = sermouse->buf; in sermouse_process_msc()
50 switch (sermouse->count) { in sermouse_process_msc()
77 if (++sermouse->count == 5) in sermouse_process_msc()
78 sermouse->count = 0; in sermouse_process_msc()
87 static void sermouse_process_ms(struct sermouse *sermouse, signed char data) in sermouse_process_ms() argument
89 struct input_dev *dev = sermouse->dev; in sermouse_process_ms()
90 signed char *buf = sermouse->buf; in sermouse_process_ms()
93 sermouse->count = 0; in sermouse_process_ms()
94 else if (sermouse->count == 0) in sermouse_process_ms()
97 switch (sermouse->count) { in sermouse_process_ms()
115 if ((sermouse->type == SERIO_MS) && !data && !buf[2] && !((buf[0] & 0xf0) ^ buf[1])) in sermouse_process_ms()
127 switch (sermouse->type) { in sermouse_process_ms()
130 sermouse->type = SERIO_MP; in sermouse_process_ms()
159 if (sermouse->type != SERIO_MZPP) in sermouse_process_ms()
184 sermouse->count++; in sermouse_process_ms()
195 struct sermouse *sermouse = serio_get_drvdata(serio); in sermouse_interrupt() local
197 if (time_after(jiffies, sermouse->last + HZ/10)) in sermouse_interrupt()
198 sermouse->count = 0; in sermouse_interrupt()
200 sermouse->last = jiffies; in sermouse_interrupt()
202 if (sermouse->type > SERIO_SUN) in sermouse_interrupt()
203 sermouse_process_ms(sermouse, data); in sermouse_interrupt()
205 sermouse_process_msc(sermouse, data); in sermouse_interrupt()
217 struct sermouse *sermouse = serio_get_drvdata(serio); in sermouse_disconnect() local
221 input_unregister_device(sermouse->dev); in sermouse_disconnect()
222 kfree(sermouse); in sermouse_disconnect()
232 struct sermouse *sermouse; in sermouse_connect() local
237 sermouse = kzalloc(sizeof(struct sermouse), GFP_KERNEL); in sermouse_connect()
239 if (!sermouse || !input_dev) in sermouse_connect()
242 sermouse->dev = input_dev; in sermouse_connect()
243 snprintf(sermouse->phys, sizeof(sermouse->phys), "%s/input0", serio->phys); in sermouse_connect()
244 sermouse->type = serio->id.proto; in sermouse_connect()
246 input_dev->name = sermouse_protocols[sermouse->type]; in sermouse_connect()
247 input_dev->phys = sermouse->phys; in sermouse_connect()
249 input_dev->id.vendor = sermouse->type; in sermouse_connect()
265 serio_set_drvdata(serio, sermouse); in sermouse_connect()
271 err = input_register_device(sermouse->dev); in sermouse_connect()
280 kfree(sermouse); in sermouse_connect()