Lines Matching refs:gameport
39 struct gameport *gameport; member
40 struct gameport *adc;
55 static int a3d_read_packet(struct gameport *gameport, int length, char *data) in a3d_read_packet() argument
63 t = gameport_time(gameport, A3D_MAX_START); in a3d_read_packet()
64 s = gameport_time(gameport, A3D_MAX_STROBE); in a3d_read_packet()
67 gameport_trigger(gameport); in a3d_read_packet()
68 v = gameport_read(gameport); in a3d_read_packet()
72 u = v; v = gameport_read(gameport); in a3d_read_packet()
162 static void a3d_poll(struct gameport *gameport) in a3d_poll() argument
164 struct a3d *a3d = gameport_get_drvdata(gameport); in a3d_poll()
168 if (a3d_read_packet(a3d->gameport, a3d->length, data) != a3d->length || in a3d_poll()
181 static int a3d_adc_cooked_read(struct gameport *gameport, int *axes, int *buttons) in a3d_adc_cooked_read() argument
183 struct a3d *a3d = gameport->port_data; in a3d_adc_cooked_read()
197 static int a3d_adc_open(struct gameport *gameport, int mode) in a3d_adc_open() argument
199 struct a3d *a3d = gameport->port_data; in a3d_adc_open()
204 gameport_start_polling(a3d->gameport); in a3d_adc_open()
212 static void a3d_adc_close(struct gameport *gameport) in a3d_adc_close() argument
214 struct a3d *a3d = gameport->port_data; in a3d_adc_close()
216 gameport_stop_polling(a3d->gameport); in a3d_adc_close()
227 gameport_start_polling(a3d->gameport); in a3d_open()
239 gameport_stop_polling(a3d->gameport); in a3d_close()
246 static int a3d_connect(struct gameport *gameport, struct gameport_driver *drv) in a3d_connect() argument
250 struct gameport *adc; in a3d_connect()
263 a3d->gameport = gameport; in a3d_connect()
265 gameport_set_drvdata(gameport, a3d); in a3d_connect()
267 err = gameport_open(gameport, drv, GAMEPORT_MODE_RAW); in a3d_connect()
271 i = a3d_read_packet(gameport, A3D_MAX_LENGTH, data); in a3d_connect()
282 "(%s, id=%d), contact <vojtech@ucw.cz>\n", gameport->phys, a3d->mode); in a3d_connect()
287 gameport_set_poll_handler(gameport, a3d_poll); in a3d_connect()
288 gameport_set_poll_interval(gameport, 20); in a3d_connect()
290 snprintf(a3d->phys, sizeof(a3d->phys), "%s/input0", gameport->phys); in a3d_connect()
298 input_dev->dev.parent = &gameport->dev; in a3d_connect()
355 gameport_set_phys(adc, "%s/gameport0", gameport->phys); in a3d_connect()
356 adc->dev.parent = &gameport->dev; in a3d_connect()
370 fail2: gameport_close(gameport); in a3d_connect()
371 fail1: gameport_set_drvdata(gameport, NULL); in a3d_connect()
377 static void a3d_disconnect(struct gameport *gameport) in a3d_disconnect() argument
379 struct a3d *a3d = gameport_get_drvdata(gameport); in a3d_disconnect()
384 gameport_close(gameport); in a3d_disconnect()
385 gameport_set_drvdata(gameport, NULL); in a3d_disconnect()