Lines Matching defs:gameport

15 #include <linux/gameport.h>
62 struct gameport *gameport;
75 static int gf2k_read_packet(struct gameport *gameport, int length, char *data)
82 t = gameport_time(gameport, GF2K_START);
83 p = gameport_time(gameport, GF2K_STROBE);
89 gameport_trigger(gameport);
90 v = gameport_read(gameport);
94 v = gameport_read(gameport);
111 static void gf2k_trigger_seq(struct gameport *gameport, short *seq)
121 gameport_trigger(gameport);
122 t = gameport_time(gameport, GF2K_TIMEOUT * 1000);
123 while ((gameport_read(gameport) & 1) && t) t--;
127 gameport_trigger(gameport);
186 static void gf2k_poll(struct gameport *gameport)
188 struct gf2k *gf2k = gameport_get_drvdata(gameport);
193 if (gf2k_read_packet(gf2k->gameport, gf2k_length[gf2k->id], data) < gf2k_length[gf2k->id])
203 gameport_start_polling(gf2k->gameport);
211 gameport_stop_polling(gf2k->gameport);
218 static int gf2k_connect(struct gameport *gameport, struct gameport_driver *drv)
232 gf2k->gameport = gameport;
235 gameport_set_drvdata(gameport, gf2k);
237 err = gameport_open(gameport, drv, GAMEPORT_MODE_RAW);
241 gf2k_trigger_seq(gameport, gf2k_seq_reset);
245 gf2k_trigger_seq(gameport, gf2k_seq_digital);
249 if (gf2k_read_packet(gameport, GF2K_LENGTH, data) < 12) {
271 gameport->phys, gf2k->id, gf2k->id > GF2K_ID_MAX ? "Unknown" : gf2k_names[gf2k->id]);
276 gameport_set_poll_handler(gameport, gf2k_poll);
277 gameport_set_poll_interval(gameport, 20);
279 snprintf(gf2k->phys, sizeof(gf2k->phys), "%s/input0", gameport->phys);
289 input_dev->dev.parent = &gameport->dev;
310 gf2k_read_packet(gameport, gf2k->length, data);
330 fail2: gameport_close(gameport);
331 fail1: gameport_set_drvdata(gameport, NULL);
337 static void gf2k_disconnect(struct gameport *gameport)
339 struct gf2k *gf2k = gameport_get_drvdata(gameport);
342 gameport_close(gameport);
343 gameport_set_drvdata(gameport, NULL);