Lines Matching refs:gameport
14 #include <linux/gameport.h>
48 struct gameport *gameport;
65 static int guillemot_read_packet(struct gameport *gameport, u8 *data)
76 t = gameport_time(gameport, GUILLEMOT_MAX_START);
77 s = gameport_time(gameport, GUILLEMOT_MAX_STROBE);
80 gameport_trigger(gameport);
81 v = gameport_read(gameport);
85 u = v; v = gameport_read(gameport);
102 static void guillemot_poll(struct gameport *gameport)
104 struct guillemot *guillemot = gameport_get_drvdata(gameport);
111 if (guillemot_read_packet(guillemot->gameport, data) != GUILLEMOT_MAX_LENGTH * 8 ||
139 gameport_start_polling(guillemot->gameport);
151 gameport_stop_polling(guillemot->gameport);
158 static int guillemot_connect(struct gameport *gameport, struct gameport_driver *drv)
173 guillemot->gameport = gameport;
176 gameport_set_drvdata(gameport, guillemot);
178 err = gameport_open(gameport, drv, GAMEPORT_MODE_RAW);
182 i = guillemot_read_packet(gameport, data);
195 gameport->phys, data[12], data[13], data[11], data[14], data[15]);
200 gameport_set_poll_handler(gameport, guillemot_poll);
201 gameport_set_poll_interval(gameport, 20);
203 snprintf(guillemot->phys, sizeof(guillemot->phys), "%s/input0", gameport->phys);
212 input_dev->dev.parent = &gameport->dev;
238 fail2: gameport_close(gameport);
239 fail1: gameport_set_drvdata(gameport, NULL);
245 static void guillemot_disconnect(struct gameport *gameport)
247 struct guillemot *guillemot = gameport_get_drvdata(gameport);
251 gameport_close(gameport);