• 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:db9

103 struct db9 {
113 static struct db9 *db9_base[3];
368 struct db9 *db9 = (void *) private;
369 struct parport *port = db9->pd->port;
370 struct input_dev *dev = db9->dev[0];
371 struct input_dev *dev2 = db9->dev[1];
374 switch (db9->mode) {
489 db9_saturn(db9->mode, port, db9->dev);
514 mod_timer(&db9->timer, jiffies + DB9_REFRESH_TIME);
519 struct db9 *db9 = input_get_drvdata(dev);
520 struct parport *port = db9->pd->port;
523 err = mutex_lock_interruptible(&db9->mutex);
527 if (!db9->used++) {
528 parport_claim(db9->pd);
530 if (db9_modes[db9->mode].reverse) {
534 mod_timer(&db9->timer, jiffies + DB9_REFRESH_TIME);
537 mutex_unlock(&db9->mutex);
543 struct db9 *db9 = input_get_drvdata(dev);
544 struct parport *port = db9->pd->port;
546 mutex_lock(&db9->mutex);
547 if (!--db9->used) {
548 del_timer_sync(&db9->timer);
551 parport_release(db9->pd);
553 mutex_unlock(&db9->mutex);
556 static struct db9 __init *db9_probe(int parport, int mode)
558 struct db9 *db9;
567 printk(KERN_ERR "db9.c: Bad device type %d\n", mode);
576 printk(KERN_ERR "db9.c: no such parport\n");
582 printk(KERN_ERR "db9.c: specified parport is not bidirectional\n");
587 pd = parport_register_device(pp, "db9", NULL, NULL, NULL, PARPORT_DEV_EXCL, NULL);
589 printk(KERN_ERR "db9.c: parport busy already - lp.o loaded?\n");
594 db9 = kzalloc(sizeof(struct db9), GFP_KERNEL);
595 if (!db9) {
596 printk(KERN_ERR "db9.c: Not enough memory\n");
601 mutex_init(&db9->mutex);
602 db9->pd = pd;
603 db9->mode = mode;
604 init_timer(&db9->timer);
605 db9->timer.data = (long) db9;
606 db9->timer.function = db9_timer;
610 db9->dev[i] = input_dev = input_allocate_device();
612 printk(KERN_ERR "db9.c: Not enough memory for input device\n");
617 snprintf(db9->phys[i], sizeof(db9->phys[i]),
618 "%s/input%d", db9->pd->port->name, i);
621 input_dev->phys = db9->phys[i];
627 input_set_drvdata(input_dev, db9);
648 return db9;
651 input_free_device(db9->dev[i]);
654 input_unregister_device(db9->dev[i]);
655 kfree(db9);
664 static void db9_remove(struct db9 *db9)
668 for (i = 0; i < min(db9_modes[db9->mode].n_pads, DB9_MAX_DEVICES); i++)
669 input_unregister_device(db9->dev[i]);
670 parport_unregister_device(db9->pd);
671 kfree(db9);
685 printk(KERN_ERR "db9.c: Device type must be specified.\n");