Lines Matching refs:gameport

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