/Linux-v5.4/include/linux/ |
D | gameport.h | 17 struct gameport { struct 27 void (*trigger)(struct gameport *); argument 28 unsigned char (*read)(struct gameport *); argument 29 int (*cooked_read)(struct gameport *, int *, int *); argument 30 int (*calibrate)(struct gameport *, int *, int *); argument 31 int (*open)(struct gameport *, int); argument 32 void (*close)(struct gameport *); argument 38 void (*poll_handler)(struct gameport *); argument 40 struct gameport *parent, *child; argument 49 #define to_gameport_port(d) container_of(d, struct gameport, dev) argument [all …]
|
/Linux-v5.4/drivers/input/gameport/ |
D | gameport.c | 44 static void gameport_add_port(struct gameport *gameport); 46 static void gameport_reconnect_port(struct gameport *gameport); 47 static void gameport_disconnect_port(struct gameport *gameport); 78 static int gameport_measure_speed(struct gameport *gameport) in gameport_measure_speed() argument 84 if (gameport_open(gameport, NULL, GAMEPORT_MODE_RAW)) in gameport_measure_speed() 93 gameport_read(gameport); in gameport_measure_speed() 103 gameport_close(gameport); in gameport_measure_speed() 110 static int old_gameport_measure_speed(struct gameport *gameport) in old_gameport_measure_speed() argument 117 if (gameport_open(gameport, NULL, GAMEPORT_MODE_RAW)) in old_gameport_measure_speed() 125 for (t = 0; t < 50; t++) gameport_read(gameport); in old_gameport_measure_speed() [all …]
|
D | fm801-gp.c | 24 struct gameport *gameport; member 29 static int fm801_gp_cooked_read(struct gameport *gameport, int *axes, int *buttons) in fm801_gp_cooked_read() argument 33 w = inw(gameport->io + 2); in fm801_gp_cooked_read() 36 w = inw(gameport->io + 4); in fm801_gp_cooked_read() 38 w = inw(gameport->io + 6); in fm801_gp_cooked_read() 41 w = inw(gameport->io + 8); in fm801_gp_cooked_read() 43 outw(0xff, gameport->io); /* reset */ in fm801_gp_cooked_read() 49 static int fm801_gp_open(struct gameport *gameport, int mode) in fm801_gp_open() argument 68 struct gameport *port; in fm801_gp_probe() 92 gp->gameport = port; in fm801_gp_probe() [all …]
|
D | lightning.c | 38 struct gameport *gameport; member 60 static int l4_cooked_read(struct gameport *gameport, int *axes, int *buttons) in l4_cooked_read() argument 62 struct l4 *l4 = gameport->port_data; in l4_cooked_read() 93 static int l4_open(struct gameport *gameport, int mode) in l4_open() argument 95 struct l4 *l4 = gameport->port_data; in l4_open() 180 static int l4_calibrate(struct gameport *gameport, int *axes, int *max) in l4_calibrate() argument 184 struct l4 *l4 = gameport->port_data; in l4_calibrate() 206 struct gameport *port; in l4_create_ports() 214 if (!(l4->gameport = port = gameport_allocate_port())) { in l4_create_ports() 217 gameport_free_port(l4->gameport); in l4_create_ports() [all …]
|
D | Kconfig | 8 Gameport support is for the standard 15-pin PC gameport. If you 9 have a joystick, gamepad, gameport card, a soundcard with a gameport 10 or anything else that uses the gameport, say Y or M here and also to 14 S3 SonicVibes, Trident 4DWave, SiS7018, and ALi 5451 gameport 21 module will be called gameport. 26 tristate "Classic ISA and PnP gameport support" 28 Say Y here if you have an ISA or PnP gameport. 44 tristate "SB Live and Audigy gameport support" 48 Audigy card and want to use its gameport. 54 tristate "ForteMedia FM801 gameport support" [all …]
|
D | emu10k1-gp.c | 27 struct gameport *gameport; member 46 struct gameport *port; in emu_probe() 65 emu->gameport = port; in emu_probe() 97 gameport_unregister_port(emu->gameport); in emu_remove()
|
D | ns558.c | 36 struct gameport *gameport; member 53 struct gameport *port; in ns558_isa_probe() 138 ns558->gameport = port; in ns558_isa_probe() 185 struct gameport *port; in ns558_pnp_probe() 210 ns558->gameport = port; in ns558_pnp_probe() 261 gameport_unregister_port(ns558->gameport); in ns558_exit()
|
/Linux-v5.4/drivers/input/joystick/ |
D | gf2k.c | 65 struct gameport *gameport; member 78 static int gf2k_read_packet(struct gameport *gameport, int length, char *data) in gf2k_read_packet() argument 85 t = gameport_time(gameport, GF2K_START); in gf2k_read_packet() 86 p = gameport_time(gameport, GF2K_STROBE); in gf2k_read_packet() 92 gameport_trigger(gameport); in gf2k_read_packet() 93 v = gameport_read(gameport); in gf2k_read_packet() 97 v = gameport_read(gameport); in gf2k_read_packet() 114 static void gf2k_trigger_seq(struct gameport *gameport, short *seq) in gf2k_trigger_seq() argument 124 gameport_trigger(gameport); in gf2k_trigger_seq() 125 t = gameport_time(gameport, GF2K_TIMEOUT * 1000); in gf2k_trigger_seq() [all …]
|
D | a3d.c | 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() [all …]
|
D | guillemot.c | 51 struct gameport *gameport; member 68 static int guillemot_read_packet(struct gameport *gameport, u8 *data) in guillemot_read_packet() argument 79 t = gameport_time(gameport, GUILLEMOT_MAX_START); in guillemot_read_packet() 80 s = gameport_time(gameport, GUILLEMOT_MAX_STROBE); in guillemot_read_packet() 83 gameport_trigger(gameport); in guillemot_read_packet() 84 v = gameport_read(gameport); in guillemot_read_packet() 88 u = v; v = gameport_read(gameport); in guillemot_read_packet() 105 static void guillemot_poll(struct gameport *gameport) in guillemot_poll() argument 107 struct guillemot *guillemot = gameport_get_drvdata(gameport); in guillemot_poll() 114 if (guillemot_read_packet(guillemot->gameport, data) != GUILLEMOT_MAX_LENGTH * 8 || in guillemot_poll() [all …]
|
D | grip_mp.c | 52 struct gameport *gameport; member 134 static inline int poll_until(u8 onbits, u8 offbits, int u_sec, struct gameport* gp, u8 *data) in poll_until() 164 static int mp_io(struct gameport* gameport, int sendflags, int sendcode, u32 *packet) in mp_io() argument 176 raw_data = gameport_read(gameport); in mp_io() 181 raw_data = gameport_read(gameport); in mp_io() 186 raw_data = gameport_read(gameport); in mp_io() 191 gameport_trigger(gameport); in mp_io() 193 if (!poll_until(0x10, 0, 308, gameport, &raw_data)) in mp_io() 217 if (!poll_until(0, 0x10, 77, gameport, &raw_data)) in mp_io() 225 if (!poll_until(0x10, 0, 77, gameport, &raw_data)) in mp_io() [all …]
|
D | interact.c | 38 struct gameport *gameport; member 75 static int interact_read_packet(struct gameport *gameport, int length, u32 *data) in interact_read_packet() argument 84 t = gameport_time(gameport, INTERACT_MAX_START); in interact_read_packet() 85 s = gameport_time(gameport, INTERACT_MAX_STROBE); in interact_read_packet() 88 gameport_trigger(gameport); in interact_read_packet() 89 v = gameport_read(gameport); in interact_read_packet() 93 u = v; v = gameport_read(gameport); in interact_read_packet() 112 static void interact_poll(struct gameport *gameport) in interact_poll() argument 114 struct interact *interact = gameport_get_drvdata(gameport); in interact_poll() 121 if (interact_read_packet(interact->gameport, interact->length, data) < interact->length) { in interact_poll() [all …]
|
D | cobra.c | 32 struct gameport *gameport; member 40 static unsigned char cobra_read_packet(struct gameport *gameport, unsigned int *data) in cobra_read_packet() argument 48 int strobe = gameport_time(gameport, COBRA_MAX_STROBE); in cobra_read_packet() 57 u = gameport_read(gameport); in cobra_read_packet() 61 v = gameport_read(gameport); in cobra_read_packet() 94 static void cobra_poll(struct gameport *gameport) in cobra_poll() argument 96 struct cobra *cobra = gameport_get_drvdata(gameport); in cobra_poll() 103 if ((r = cobra_read_packet(gameport, data)) != cobra->exists) { in cobra_poll() 128 gameport_start_polling(cobra->gameport); in cobra_open() 136 gameport_stop_polling(cobra->gameport); in cobra_close() [all …]
|
D | grip.c | 39 struct gameport *gameport; member 68 static int grip_gpp_read_packet(struct gameport *gameport, int shift, unsigned int *data) in grip_gpp_read_packet() argument 75 int strobe = gameport_time(gameport, GRIP_STROBE_GPP); in grip_gpp_read_packet() 83 v = gameport_read(gameport) >> shift; in grip_gpp_read_packet() 87 u = v; v = (gameport_read(gameport) >> shift) & 3; in grip_gpp_read_packet() 108 static int grip_xt_read_packet(struct gameport *gameport, int shift, unsigned int *data) in grip_xt_read_packet() argument 116 int strobe = gameport_time(gameport, GRIP_STROBE_XT); in grip_xt_read_packet() 124 v = w = (gameport_read(gameport) >> shift) & 3; in grip_xt_read_packet() 128 u = (gameport_read(gameport) >> shift) & 3; in grip_xt_read_packet() 166 static void grip_poll(struct gameport *gameport) in grip_poll() argument [all …]
|
D | sidewinder.c | 99 struct gameport *gameport; member 119 static int sw_read_packet(struct gameport *gameport, unsigned char *buf, int length, int id) in sw_read_packet() argument 126 …timeout = id ? gameport_time(gameport, SW_TIMEOUT * 1000) : 0; /* Set up global timeout for ID pac… in sw_read_packet() 127 kick = id ? gameport_time(gameport, SW_KICK) : 0; /* Set up kick timeout for ID packet */ in sw_read_packet() 128 start = gameport_time(gameport, SW_START); in sw_read_packet() 129 strobe = gameport_time(gameport, SW_STROBE); in sw_read_packet() 136 gameport_trigger(gameport); /* Trigger */ in sw_read_packet() 137 v = gameport_read(gameport); in sw_read_packet() 142 v = gameport_read(gameport); in sw_read_packet() 155 v = gameport_read(gameport); in sw_read_packet() [all …]
|
D | joydump.c | 33 static int joydump_connect(struct gameport *gameport, struct gameport_driver *drv) in joydump_connect() argument 43 printk(KERN_INFO "joydump: | Dumping: %30s |\n", gameport->phys); in joydump_connect() 44 printk(KERN_INFO "joydump: | Speed: %28d kHz |\n", gameport->speed); in joydump_connect() 46 if (gameport_open(gameport, drv, GAMEPORT_MODE_RAW)) { in joydump_connect() 50 if (gameport_open(gameport, drv, GAMEPORT_MODE_COOKED)) { in joydump_connect() 57 gameport_cooked_read(gameport, axes, &buttons); in joydump_connect() 65 timeout = gameport_time(gameport, 10000); /* 10 ms */ in joydump_connect() 78 u = gameport_read(gameport); in joydump_connect() 84 gameport_trigger(gameport); in joydump_connect() 88 dump->data = gameport_read(gameport); in joydump_connect() [all …]
|
D | analog.c | 106 struct gameport *gameport; member 236 struct gameport *gameport = port->gameport; in analog_cooked_read() local 247 gameport_trigger(gameport); in analog_cooked_read() 260 this = gameport_read(gameport) & port->mask; in analog_cooked_read() 288 int strobe = gameport_time(port->gameport, ANALOG_SAITEK_TIME); in analog_button_read() 290 u = gameport_read(port->gameport); in analog_button_read() 304 gameport_trigger(port->gameport); in analog_button_read() 305 while (((u = gameport_read(port->gameport)) & port->mask) && t) t--; in analog_button_read() 316 static void analog_poll(struct gameport *gameport) in analog_poll() argument 318 struct analog_port *port = gameport_get_drvdata(gameport); in analog_poll() [all …]
|
D | tmdc.c | 108 struct gameport *gameport; member 130 static int tmdc_read_packet(struct gameport *gameport, unsigned char data[2][TMDC_MAX_LENGTH]) in tmdc_read_packet() argument 136 p = gameport_time(gameport, TMDC_MAX_STROBE); in tmdc_read_packet() 139 t[k] = gameport_time(gameport, TMDC_MAX_START); in tmdc_read_packet() 144 gameport_trigger(gameport); in tmdc_read_packet() 146 w = gameport_read(gameport) >> 4; in tmdc_read_packet() 150 w = gameport_read(gameport) >> 4; in tmdc_read_packet() 223 static void tmdc_poll(struct gameport *gameport) in tmdc_poll() argument 226 struct tmdc *tmdc = gameport_get_drvdata(gameport); in tmdc_poll() 232 if ((r = tmdc_read_packet(tmdc->gameport, data)) != tmdc->exists) in tmdc_poll() [all …]
|
D | adi.c | 112 struct gameport *gameport; member 125 struct gameport *gameport = port->gameport; in adi_read_packet() local 132 t[i] = gameport_time(gameport, ADI_MAX_START); in adi_read_packet() 138 gameport_trigger(gameport); in adi_read_packet() 139 v = z = gameport_read(gameport); in adi_read_packet() 143 w = u ^ (v = x = gameport_read(gameport)); in adi_read_packet() 149 t[i] = gameport_time(gameport, ADI_MAX_STROBE); in adi_read_packet() 262 static void adi_poll(struct gameport *gameport) in adi_poll() argument 264 struct adi_port *port = gameport_get_drvdata(gameport); in adi_poll() 278 gameport_start_polling(port->gameport); in adi_open() [all …]
|
/Linux-v5.4/Documentation/input/ |
D | gameport-programming.rst | 2 Programming gameport drivers 5 A basic classic gameport 8 If the gameport doesn't provide more than the inb()/outb() functionality, 11 struct gameport gameport; 13 gameport.io = MY_IO_ADDRESS; 14 gameport_register_port(&gameport); 16 Make sure struct gameport is initialized to 0 in all other fields. The 17 gameport generic code will take care of the rest. 27 If your hardware supports a gameport address that is not mapped to ISA io 31 gameport. Although only one ioport is really used, the gameport usually [all …]
|
/Linux-v5.4/sound/pci/au88x0/ |
D | au88x0_game.c | 30 static unsigned char vortex_game_read(struct gameport *gameport) in vortex_game_read() argument 32 vortex_t *vortex = gameport_get_port_data(gameport); in vortex_game_read() 36 static void vortex_game_trigger(struct gameport *gameport) in vortex_game_trigger() argument 38 vortex_t *vortex = gameport_get_port_data(gameport); in vortex_game_trigger() 43 vortex_game_cooked_read(struct gameport *gameport, int *axes, int *buttons) in vortex_game_cooked_read() argument 45 vortex_t *vortex = gameport_get_port_data(gameport); in vortex_game_cooked_read() 59 static int vortex_game_open(struct gameport *gameport, int mode) in vortex_game_open() argument 61 vortex_t *vortex = gameport_get_port_data(gameport); in vortex_game_open() 84 struct gameport *gp; in vortex_gameport_register() 86 vortex->gameport = gp = gameport_allocate_port(); in vortex_gameport_register() [all …]
|
/Linux-v5.4/sound/isa/ |
D | cmi8328.c | 47 static bool gameport[CMI8328_MAX] = {[0 ... (CMI8328_MAX-1)] = true}; variable 69 module_param_array(gameport, bool, NULL, 0444); 70 MODULE_PARM_DESC(gameport, "Enable gameport."); 80 struct gameport *gameport; member 376 if (!gameport[ndev]) in snd_cmi8328_probe() 383 struct gameport *gp = cmi->gameport = gameport_allocate_port(); in snd_cmi8328_probe() 384 if (!cmi->gameport) in snd_cmi8328_probe() 412 if (cmi->gameport) { in snd_cmi8328_remove() 413 struct resource *res = gameport_get_port_data(cmi->gameport); in snd_cmi8328_remove() 414 gameport_unregister_port(cmi->gameport); in snd_cmi8328_remove()
|
/Linux-v5.4/Documentation/sound/cards/ |
D | joystick.rst | 13 using a joystick with the ALSA driver. For the details of gameport 19 built-in gameport support. Hence, when the ALSA PCI driver is built 21 gameport support on that card will be (silently) disabled. 66 The following drivers don't support gameport natively, but there are 67 additional modules. Load the corresponding module to add the gameport 79 built-in gameport support. 81 As mentioned above, ALSA PCI drivers have the built-in gameport 89 ALSA ISA drivers don't have the built-in gameport support.
|
/Linux-v5.4/sound/pci/ymfpci/ |
D | ymfpci.c | 70 struct gameport *gp; in snd_ymfpci_create_gameport() 117 chip->gameport = gp = gameport_allocate_port(); in snd_ymfpci_create_gameport() 138 gameport_register_port(chip->gameport); in snd_ymfpci_create_gameport() 145 if (chip->gameport) { in snd_ymfpci_free_gameport() 146 struct resource *r = gameport_get_port_data(chip->gameport); in snd_ymfpci_free_gameport() 148 gameport_unregister_port(chip->gameport); in snd_ymfpci_free_gameport() 149 chip->gameport = NULL; in snd_ymfpci_free_gameport()
|
/Linux-v5.4/sound/pci/ |
D | als4000.c | 101 struct gameport *gameport; member 761 struct gameport *gp; in snd_als4000_create_gameport() 784 acard->gameport = gp = gameport_allocate_port(); in snd_als4000_create_gameport() 800 gameport_register_port(acard->gameport); in snd_als4000_create_gameport() 807 if (acard->gameport) { in snd_als4000_free_gameport() 808 struct resource *r = gameport_get_port_data(acard->gameport); in snd_als4000_free_gameport() 810 gameport_unregister_port(acard->gameport); in snd_als4000_free_gameport() 811 acard->gameport = NULL; in snd_als4000_free_gameport() 998 if (acard->gameport) in snd_als4000_resume()
|