Lines Matching defs:gameport

18 #include <linux/gameport.h>
65 struct gameport *gameport;
78 static int gf2k_read_packet(struct gameport *gameport, int length, char *data)
85 t = gameport_time(gameport, GF2K_START);
86 p = gameport_time(gameport, GF2K_STROBE);
92 gameport_trigger(gameport);
93 v = gameport_read(gameport);
97 v = gameport_read(gameport);
114 static void gf2k_trigger_seq(struct gameport *gameport, short *seq)
124 gameport_trigger(gameport);
125 t = gameport_time(gameport, GF2K_TIMEOUT * 1000);
126 while ((gameport_read(gameport) & 1) && t) t--;
130 gameport_trigger(gameport);
189 static void gf2k_poll(struct gameport *gameport)
191 struct gf2k *gf2k = gameport_get_drvdata(gameport);
196 if (gf2k_read_packet(gf2k->gameport, gf2k_length[gf2k->id], data) < gf2k_length[gf2k->id])
206 gameport_start_polling(gf2k->gameport);
214 gameport_stop_polling(gf2k->gameport);
221 static int gf2k_connect(struct gameport *gameport, struct gameport_driver *drv)
235 gf2k->gameport = gameport;
238 gameport_set_drvdata(gameport, gf2k);
240 err = gameport_open(gameport, drv, GAMEPORT_MODE_RAW);
244 gf2k_trigger_seq(gameport, gf2k_seq_reset);
248 gf2k_trigger_seq(gameport, gf2k_seq_digital);
252 if (gf2k_read_packet(gameport, GF2K_LENGTH, data) < 12) {
274 gameport->phys, gf2k->id, gf2k->id > GF2K_ID_MAX ? "Unknown" : gf2k_names[gf2k->id]);
279 gameport_set_poll_handler(gameport, gf2k_poll);
280 gameport_set_poll_interval(gameport, 20);
282 snprintf(gf2k->phys, sizeof(gf2k->phys), "%s/input0", gameport->phys);
292 input_dev->dev.parent = &gameport->dev;
313 gf2k_read_packet(gameport, gf2k->length, data);
333 fail2: gameport_close(gameport);
334 fail1: gameport_set_drvdata(gameport, NULL);
340 static void gf2k_disconnect(struct gameport *gameport)
342 struct gf2k *gf2k = gameport_get_drvdata(gameport);
345 gameport_close(gameport);
346 gameport_set_drvdata(gameport, NULL);