• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/input/joystick/

Lines Matching refs:grip

113 static int register_slot(int i, struct grip_mp *grip);
353 * Known device types: 0x1f (grip pad), 0x0 (no device). Others may exist.
358 static int get_and_decode_packet(struct grip_mp *grip, int flags)
368 flags = multiport_io(grip->gameport, flags, 0, &packet);
369 grip->reads++;
375 grip->bads++;
385 port = grip->port[slot];
401 dbg("Reset: grip multiport slot %d\n", slot);
407 /* Interpret a grip pad packet */
424 if (register_slot(slot, grip)) {
432 /* Handle non-grip device codes. For now, just print diagnostics. */
437 printk(KERN_INFO "Possible non-grip pad/joystick detected.\n");
449 static int slots_valid(struct grip_mp *grip)
453 flags = get_and_decode_packet(grip, 0);
458 if (grip->port[slot]->mode == GRIP_MODE_RESET)
460 if (grip->port[slot]->mode != GRIP_MODE_NONE)
477 static int multiport_init(struct grip_mp *grip)
482 dig_mode = dig_mode_start(grip->gameport, &packet);
484 dig_mode = dig_mode_start(grip->gameport, &packet);
497 if (slots_valid(grip)) {
510 static void report_slot(struct grip_mp *grip, int slot)
512 struct grip_port *port = grip->port[slot];
538 struct grip_mp *grip = gameport_get_drvdata(gameport);
544 flags = get_and_decode_packet(grip, flags);
553 if (grip->port[i]->dirty)
554 report_slot(grip, i);
563 struct grip_mp *grip = input_get_drvdata(dev);
565 gameport_start_polling(grip->gameport);
575 struct grip_mp *grip = input_get_drvdata(dev);
577 gameport_stop_polling(grip->gameport);
584 static int register_slot(int slot, struct grip_mp *grip)
586 struct grip_port *port = grip->port[slot];
600 input_dev->dev.parent = &grip->gameport->dev;
602 input_set_drvdata(input_dev, grip);
625 report_slot(grip, slot);
632 struct grip_mp *grip;
635 if (!(grip = kzalloc(sizeof(struct grip_mp), GFP_KERNEL)))
638 grip->gameport = gameport;
640 gameport_set_drvdata(gameport, grip);
649 if (!multiport_init(grip)) {
654 if (!grip->port[0]->mode && !grip->port[1]->mode && !grip->port[2]->mode && !grip->port[3]->mode) {
664 kfree(grip);
670 struct grip_mp *grip = gameport_get_drvdata(gameport);
674 if (grip->port[i]->registered)
675 input_unregister_device(grip->port[i]->dev);
678 kfree(grip);