Lines Matching refs:gameport
105 struct gameport *gameport; member
127 static int tmdc_read_packet(struct gameport *gameport, unsigned char data[2][TMDC_MAX_LENGTH]) in tmdc_read_packet() argument
133 p = gameport_time(gameport, TMDC_MAX_STROBE); in tmdc_read_packet()
136 t[k] = gameport_time(gameport, TMDC_MAX_START); in tmdc_read_packet()
141 gameport_trigger(gameport); in tmdc_read_packet()
143 w = gameport_read(gameport) >> 4; in tmdc_read_packet()
147 w = gameport_read(gameport) >> 4; in tmdc_read_packet()
220 static void tmdc_poll(struct gameport *gameport) in tmdc_poll() argument
223 struct tmdc *tmdc = gameport_get_drvdata(gameport); in tmdc_poll()
229 if ((r = tmdc_read_packet(tmdc->gameport, data)) != tmdc->exists) in tmdc_poll()
248 gameport_start_polling(tmdc->gameport); in tmdc_open()
256 gameport_stop_polling(tmdc->gameport); in tmdc_close()
297 snprintf(port->phys, sizeof(port->phys), "%s/input%d", tmdc->gameport->phys, i); in tmdc_setup_port()
307 input_dev->dev.parent = &tmdc->gameport->dev; in tmdc_setup_port()
344 static int tmdc_connect(struct gameport *gameport, struct gameport_driver *drv) in tmdc_connect() argument
354 tmdc->gameport = gameport; in tmdc_connect()
356 gameport_set_drvdata(gameport, tmdc); in tmdc_connect()
358 err = gameport_open(gameport, drv, GAMEPORT_MODE_RAW); in tmdc_connect()
362 if (!(tmdc->exists = tmdc_read_packet(gameport, data))) { in tmdc_connect()
367 gameport_set_poll_handler(gameport, tmdc_poll); in tmdc_connect()
368 gameport_set_poll_interval(gameport, 20); in tmdc_connect()
387 fail2: gameport_close(gameport); in tmdc_connect()
388 fail1: gameport_set_drvdata(gameport, NULL); in tmdc_connect()
393 static void tmdc_disconnect(struct gameport *gameport) in tmdc_disconnect() argument
395 struct tmdc *tmdc = gameport_get_drvdata(gameport); in tmdc_disconnect()
404 gameport_close(gameport); in tmdc_disconnect()
405 gameport_set_drvdata(gameport, NULL); in tmdc_disconnect()