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