Lines Matching refs:gameport
67 struct gameport *gameport; member
84 static int guillemot_read_packet(struct gameport *gameport, u8 *data) in guillemot_read_packet() argument
95 t = gameport_time(gameport, GUILLEMOT_MAX_START); in guillemot_read_packet()
96 s = gameport_time(gameport, GUILLEMOT_MAX_STROBE); in guillemot_read_packet()
99 gameport_trigger(gameport); in guillemot_read_packet()
100 v = gameport_read(gameport); in guillemot_read_packet()
104 u = v; v = gameport_read(gameport); in guillemot_read_packet()
121 static void guillemot_poll(struct gameport *gameport) in guillemot_poll() argument
123 struct guillemot *guillemot = gameport_get_drvdata(gameport); in guillemot_poll()
130 if (guillemot_read_packet(guillemot->gameport, data) != GUILLEMOT_MAX_LENGTH * 8 || in guillemot_poll()
158 gameport_start_polling(guillemot->gameport); in guillemot_open()
170 gameport_stop_polling(guillemot->gameport); in guillemot_close()
177 static int guillemot_connect(struct gameport *gameport, struct gameport_driver *drv) in guillemot_connect() argument
192 guillemot->gameport = gameport; in guillemot_connect()
195 gameport_set_drvdata(gameport, guillemot); in guillemot_connect()
197 err = gameport_open(gameport, drv, GAMEPORT_MODE_RAW); in guillemot_connect()
201 i = guillemot_read_packet(gameport, data); in guillemot_connect()
214 gameport->phys, data[12], data[13], data[11], data[14], data[15]); in guillemot_connect()
219 gameport_set_poll_handler(gameport, guillemot_poll); in guillemot_connect()
220 gameport_set_poll_interval(gameport, 20); in guillemot_connect()
222 snprintf(guillemot->phys, sizeof(guillemot->phys), "%s/input0", gameport->phys); in guillemot_connect()
231 input_dev->dev.parent = &gameport->dev; in guillemot_connect()
257 fail2: gameport_close(gameport); in guillemot_connect()
258 fail1: gameport_set_drvdata(gameport, NULL); in guillemot_connect()
264 static void guillemot_disconnect(struct gameport *gameport) in guillemot_disconnect() argument
266 struct guillemot *guillemot = gameport_get_drvdata(gameport); in guillemot_disconnect()
270 gameport_close(gameport); in guillemot_disconnect()