Lines Matching refs:gameport
39 struct gameport *gameport; member
68 static int grip_gpp_read_packet(struct gameport *gameport, int shift, unsigned int *data) in grip_gpp_read_packet() argument
75 int strobe = gameport_time(gameport, GRIP_STROBE_GPP); in grip_gpp_read_packet()
83 v = gameport_read(gameport) >> shift; in grip_gpp_read_packet()
87 u = v; v = (gameport_read(gameport) >> shift) & 3; in grip_gpp_read_packet()
108 static int grip_xt_read_packet(struct gameport *gameport, int shift, unsigned int *data) in grip_xt_read_packet() argument
116 int strobe = gameport_time(gameport, GRIP_STROBE_XT); in grip_xt_read_packet()
124 v = w = (gameport_read(gameport) >> shift) & 3; in grip_xt_read_packet()
128 u = (gameport_read(gameport) >> shift) & 3; in grip_xt_read_packet()
166 static void grip_poll(struct gameport *gameport) in grip_poll() argument
168 struct grip *grip = gameport_get_drvdata(gameport); in grip_poll()
185 if (grip_gpp_read_packet(grip->gameport, (i << 1) + 4, data)) { in grip_poll()
201 if (grip_xt_read_packet(grip->gameport, (i << 1) + 4, data)) { in grip_poll()
220 if (grip_xt_read_packet(grip->gameport, (i << 1) + 4, data)) { in grip_poll()
242 if (grip_xt_read_packet(grip->gameport, (i << 1) + 4, data)) { in grip_poll()
271 gameport_start_polling(grip->gameport); in grip_open()
279 gameport_stop_polling(grip->gameport); in grip_close()
282 static int grip_connect(struct gameport *gameport, struct gameport_driver *drv) in grip_connect() argument
293 grip->gameport = gameport; in grip_connect()
295 gameport_set_drvdata(gameport, grip); in grip_connect()
297 err = gameport_open(gameport, drv, GAMEPORT_MODE_RAW); in grip_connect()
302 if (!grip_gpp_read_packet(gameport, (i << 1) + 4, data)) { in grip_connect()
306 if (!grip_xt_read_packet(gameport, (i << 1) + 4, data)) { in grip_connect()
325 gameport_set_poll_handler(gameport, grip_poll); in grip_connect()
326 gameport_set_poll_interval(gameport, 20); in grip_connect()
339 "%s/input%d", gameport->phys, i); in grip_connect()
347 input_dev->dev.parent = &gameport->dev; in grip_connect()
381 fail2: gameport_close(gameport); in grip_connect()
382 fail1: gameport_set_drvdata(gameport, NULL); in grip_connect()
387 static void grip_disconnect(struct gameport *gameport) in grip_disconnect() argument
389 struct grip *grip = gameport_get_drvdata(gameport); in grip_disconnect()
395 gameport_close(gameport); in grip_disconnect()
396 gameport_set_drvdata(gameport, NULL); in grip_disconnect()