Lines Matching refs:gameport

55 	struct gameport *gameport;  member
56 struct gameport *adc;
71 static int a3d_read_packet(struct gameport *gameport, int length, char *data) in a3d_read_packet() argument
79 t = gameport_time(gameport, A3D_MAX_START); in a3d_read_packet()
80 s = gameport_time(gameport, A3D_MAX_STROBE); in a3d_read_packet()
83 gameport_trigger(gameport); in a3d_read_packet()
84 v = gameport_read(gameport); in a3d_read_packet()
88 u = v; v = gameport_read(gameport); in a3d_read_packet()
178 static void a3d_poll(struct gameport *gameport) in a3d_poll() argument
180 struct a3d *a3d = gameport_get_drvdata(gameport); in a3d_poll()
184 if (a3d_read_packet(a3d->gameport, a3d->length, data) != a3d->length || in a3d_poll()
197 static int a3d_adc_cooked_read(struct gameport *gameport, int *axes, int *buttons) in a3d_adc_cooked_read() argument
199 struct a3d *a3d = gameport->port_data; in a3d_adc_cooked_read()
213 static int a3d_adc_open(struct gameport *gameport, int mode) in a3d_adc_open() argument
215 struct a3d *a3d = gameport->port_data; in a3d_adc_open()
220 gameport_start_polling(a3d->gameport); in a3d_adc_open()
228 static void a3d_adc_close(struct gameport *gameport) in a3d_adc_close() argument
230 struct a3d *a3d = gameport->port_data; in a3d_adc_close()
232 gameport_stop_polling(a3d->gameport); in a3d_adc_close()
243 gameport_start_polling(a3d->gameport); in a3d_open()
255 gameport_stop_polling(a3d->gameport); in a3d_close()
262 static int a3d_connect(struct gameport *gameport, struct gameport_driver *drv) in a3d_connect() argument
266 struct gameport *adc; in a3d_connect()
279 a3d->gameport = gameport; in a3d_connect()
281 gameport_set_drvdata(gameport, a3d); in a3d_connect()
283 err = gameport_open(gameport, drv, GAMEPORT_MODE_RAW); in a3d_connect()
287 i = a3d_read_packet(gameport, A3D_MAX_LENGTH, data); in a3d_connect()
298 "(%s, id=%d), contact <vojtech@ucw.cz>\n", gameport->phys, a3d->mode); in a3d_connect()
303 gameport_set_poll_handler(gameport, a3d_poll); in a3d_connect()
304 gameport_set_poll_interval(gameport, 20); in a3d_connect()
306 snprintf(a3d->phys, sizeof(a3d->phys), "%s/input0", gameport->phys); in a3d_connect()
314 input_dev->dev.parent = &gameport->dev; in a3d_connect()
371 gameport_set_phys(adc, "%s/gameport0", gameport->phys); in a3d_connect()
372 adc->dev.parent = &gameport->dev; in a3d_connect()
386 fail2: gameport_close(gameport); in a3d_connect()
387 fail1: gameport_set_drvdata(gameport, NULL); in a3d_connect()
393 static void a3d_disconnect(struct gameport *gameport) in a3d_disconnect() argument
395 struct a3d *a3d = gameport_get_drvdata(gameport); in a3d_disconnect()
400 gameport_close(gameport); in a3d_disconnect()
401 gameport_set_drvdata(gameport, NULL); in a3d_disconnect()