Lines Matching defs:gameport

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