Lines Matching refs:gameport
124 struct gameport *gameport; member
146 static int tmdc_read_packet(struct gameport *gameport, unsigned char data[2][TMDC_MAX_LENGTH]) in tmdc_read_packet() argument
152 p = gameport_time(gameport, TMDC_MAX_STROBE); in tmdc_read_packet()
155 t[k] = gameport_time(gameport, TMDC_MAX_START); in tmdc_read_packet()
160 gameport_trigger(gameport); in tmdc_read_packet()
162 w = gameport_read(gameport) >> 4; in tmdc_read_packet()
166 w = gameport_read(gameport) >> 4; in tmdc_read_packet()
239 static void tmdc_poll(struct gameport *gameport) in tmdc_poll() argument
242 struct tmdc *tmdc = gameport_get_drvdata(gameport); in tmdc_poll()
248 if ((r = tmdc_read_packet(tmdc->gameport, data)) != tmdc->exists) in tmdc_poll()
267 gameport_start_polling(tmdc->gameport); in tmdc_open()
275 gameport_stop_polling(tmdc->gameport); in tmdc_close()
316 snprintf(port->phys, sizeof(port->phys), "%s/input%d", tmdc->gameport->phys, i); in tmdc_setup_port()
326 input_dev->dev.parent = &tmdc->gameport->dev; in tmdc_setup_port()
363 static int tmdc_connect(struct gameport *gameport, struct gameport_driver *drv) in tmdc_connect() argument
373 tmdc->gameport = gameport; in tmdc_connect()
375 gameport_set_drvdata(gameport, tmdc); in tmdc_connect()
377 err = gameport_open(gameport, drv, GAMEPORT_MODE_RAW); in tmdc_connect()
381 if (!(tmdc->exists = tmdc_read_packet(gameport, data))) { in tmdc_connect()
386 gameport_set_poll_handler(gameport, tmdc_poll); in tmdc_connect()
387 gameport_set_poll_interval(gameport, 20); in tmdc_connect()
406 fail2: gameport_close(gameport); in tmdc_connect()
407 fail1: gameport_set_drvdata(gameport, NULL); in tmdc_connect()
412 static void tmdc_disconnect(struct gameport *gameport) in tmdc_disconnect() argument
414 struct tmdc *tmdc = gameport_get_drvdata(gameport); in tmdc_disconnect()
423 gameport_close(gameport); in tmdc_disconnect()
424 gameport_set_drvdata(gameport, NULL); in tmdc_disconnect()