Lines Matching refs:gf2k

64 struct gf2k {
158 static void gf2k_read(struct gf2k *gf2k, unsigned char *data)
160 struct input_dev *dev = gf2k->dev;
163 for (i = 0; i < 4 && i < gf2k_axes[gf2k->id]; i++)
166 for (i = 0; i < 2 && i < gf2k_axes[gf2k->id] - 4; i++)
171 for (i = 0; i < gf2k_hats[gf2k->id]; i++)
176 for (i = 0; i < gf2k_joys[gf2k->id]; i++)
179 for (i = 0; i < gf2k_pads[gf2k->id]; i++)
191 struct gf2k *gf2k = gameport_get_drvdata(gameport);
194 gf2k->reads++;
196 if (gf2k_read_packet(gf2k->gameport, gf2k_length[gf2k->id], data) < gf2k_length[gf2k->id])
197 gf2k->bads++;
199 gf2k_read(gf2k, data);
204 struct gf2k *gf2k = input_get_drvdata(dev);
206 gameport_start_polling(gf2k->gameport);
212 struct gf2k *gf2k = input_get_drvdata(dev);
214 gameport_stop_polling(gf2k->gameport);
223 struct gf2k *gf2k;
228 gf2k = kzalloc(sizeof(struct gf2k), GFP_KERNEL);
230 if (!gf2k || !input_dev) {
235 gf2k->gameport = gameport;
236 gf2k->dev = input_dev;
238 gameport_set_drvdata(gameport, gf2k);
257 if (!(gf2k->id = GB(7,2,0) | GB(3,3,2) | GB(0,3,5))) {
263 if ((gf2k->id != (GB(19,2,0) | GB(15,3,2) | GB(12,3,5))) &&
264 (gf2k->id != (GB(31,2,0) | GB(27,3,2) | GB(24,3,5)))) {
269 gf2k->id = 6;
272 if (gf2k->id > GF2K_ID_MAX || !gf2k_axes[gf2k->id]) {
273 printk(KERN_WARNING "gf2k.c: Not yet supported joystick on %s. [id: %d type:%s]\n",
274 gameport->phys, gf2k->id, gf2k->id > GF2K_ID_MAX ? "Unknown" : gf2k_names[gf2k->id]);
282 snprintf(gf2k->phys, sizeof(gf2k->phys), "%s/input0", gameport->phys);
284 gf2k->length = gf2k_lens[gf2k->id];
286 input_dev->name = gf2k_names[gf2k->id];
287 input_dev->phys = gf2k->phys;
290 input_dev->id.product = gf2k->id;
294 input_set_drvdata(input_dev, gf2k);
301 for (i = 0; i < gf2k_axes[gf2k->id]; i++)
304 for (i = 0; i < gf2k_hats[gf2k->id]; i++)
307 for (i = 0; i < gf2k_joys[gf2k->id]; i++)
310 for (i = 0; i < gf2k_pads[gf2k->id]; i++)
313 gf2k_read_packet(gameport, gf2k->length, data);
314 gf2k_read(gf2k, data);
316 for (i = 0; i < gf2k_axes[gf2k->id]; i++) {
327 err = input_register_device(gf2k->dev);
336 kfree(gf2k);
342 struct gf2k *gf2k = gameport_get_drvdata(gameport);
344 input_unregister_device(gf2k->dev);
347 kfree(gf2k);
352 .name = "gf2k",