Lines Matching refs:gameport
48 struct gameport *gameport; member
56 static unsigned char cobra_read_packet(struct gameport *gameport, unsigned int *data) in cobra_read_packet() argument
64 int strobe = gameport_time(gameport, COBRA_MAX_STROBE); in cobra_read_packet()
73 u = gameport_read(gameport); in cobra_read_packet()
77 v = gameport_read(gameport); in cobra_read_packet()
110 static void cobra_poll(struct gameport *gameport) in cobra_poll() argument
112 struct cobra *cobra = gameport_get_drvdata(gameport); in cobra_poll()
119 if ((r = cobra_read_packet(gameport, data)) != cobra->exists) { in cobra_poll()
144 gameport_start_polling(cobra->gameport); in cobra_open()
152 gameport_stop_polling(cobra->gameport); in cobra_close()
155 static int cobra_connect(struct gameport *gameport, struct gameport_driver *drv) in cobra_connect() argument
167 cobra->gameport = gameport; in cobra_connect()
169 gameport_set_drvdata(gameport, cobra); in cobra_connect()
171 err = gameport_open(gameport, drv, GAMEPORT_MODE_RAW); in cobra_connect()
175 cobra->exists = cobra_read_packet(gameport, data); in cobra_connect()
180 " Contact vojtech@ucw.cz\n", i, gameport->phys, (data[i] >> 2) & 7); in cobra_connect()
189 gameport_set_poll_handler(gameport, cobra_poll); in cobra_connect()
190 gameport_set_poll_interval(gameport, 20); in cobra_connect()
203 "%s/input%d", gameport->phys, i); in cobra_connect()
211 input_dev->dev.parent = &gameport->dev; in cobra_connect()
235 fail2: gameport_close(gameport); in cobra_connect()
236 fail1: gameport_set_drvdata(gameport, NULL); in cobra_connect()
241 static void cobra_disconnect(struct gameport *gameport) in cobra_disconnect() argument
243 struct cobra *cobra = gameport_get_drvdata(gameport); in cobra_disconnect()
249 gameport_close(gameport); in cobra_disconnect()
250 gameport_set_drvdata(gameport, NULL); in cobra_disconnect()