Lines Matching refs:gameport
36 struct gameport *gameport; member
37 struct gameport *adc;
52 static int a3d_read_packet(struct gameport *gameport, int length, char *data) in a3d_read_packet() argument
60 t = gameport_time(gameport, A3D_MAX_START); in a3d_read_packet()
61 s = gameport_time(gameport, A3D_MAX_STROBE); in a3d_read_packet()
64 gameport_trigger(gameport); in a3d_read_packet()
65 v = gameport_read(gameport); in a3d_read_packet()
69 u = v; v = gameport_read(gameport); in a3d_read_packet()
159 static void a3d_poll(struct gameport *gameport) in a3d_poll() argument
161 struct a3d *a3d = gameport_get_drvdata(gameport); in a3d_poll()
165 if (a3d_read_packet(a3d->gameport, a3d->length, data) != a3d->length || in a3d_poll()
178 static int a3d_adc_cooked_read(struct gameport *gameport, int *axes, int *buttons) in a3d_adc_cooked_read() argument
180 struct a3d *a3d = gameport->port_data; in a3d_adc_cooked_read()
194 static int a3d_adc_open(struct gameport *gameport, int mode) in a3d_adc_open() argument
196 struct a3d *a3d = gameport->port_data; in a3d_adc_open()
201 gameport_start_polling(a3d->gameport); in a3d_adc_open()
209 static void a3d_adc_close(struct gameport *gameport) in a3d_adc_close() argument
211 struct a3d *a3d = gameport->port_data; in a3d_adc_close()
213 gameport_stop_polling(a3d->gameport); in a3d_adc_close()
224 gameport_start_polling(a3d->gameport); in a3d_open()
236 gameport_stop_polling(a3d->gameport); in a3d_close()
243 static int a3d_connect(struct gameport *gameport, struct gameport_driver *drv) in a3d_connect() argument
247 struct gameport *adc; in a3d_connect()
260 a3d->gameport = gameport; in a3d_connect()
262 gameport_set_drvdata(gameport, a3d); in a3d_connect()
264 err = gameport_open(gameport, drv, GAMEPORT_MODE_RAW); in a3d_connect()
268 i = a3d_read_packet(gameport, A3D_MAX_LENGTH, data); in a3d_connect()
279 "(%s, id=%d), contact <vojtech@ucw.cz>\n", gameport->phys, a3d->mode); in a3d_connect()
284 gameport_set_poll_handler(gameport, a3d_poll); in a3d_connect()
285 gameport_set_poll_interval(gameport, 20); in a3d_connect()
287 snprintf(a3d->phys, sizeof(a3d->phys), "%s/input0", gameport->phys); in a3d_connect()
295 input_dev->dev.parent = &gameport->dev; in a3d_connect()
352 gameport_set_phys(adc, "%s/gameport0", gameport->phys); in a3d_connect()
353 adc->dev.parent = &gameport->dev; in a3d_connect()
367 fail2: gameport_close(gameport); in a3d_connect()
368 fail1: gameport_set_drvdata(gameport, NULL); in a3d_connect()
374 static void a3d_disconnect(struct gameport *gameport) in a3d_disconnect() argument
376 struct a3d *a3d = gameport_get_drvdata(gameport); in a3d_disconnect()
381 gameport_close(gameport); in a3d_disconnect()
382 gameport_set_drvdata(gameport, NULL); in a3d_disconnect()