Lines Matching refs:db9
99 struct db9 { struct
110 static struct db9 *db9_base[3]; argument
369 struct db9 *db9 = from_timer(db9, t, timer); in db9_timer() local
370 struct parport *port = db9->pd->port; in db9_timer()
371 struct input_dev *dev = db9->dev[0]; in db9_timer()
372 struct input_dev *dev2 = db9->dev[1]; in db9_timer()
375 switch (db9->mode) { in db9_timer()
491 db9_saturn(db9->mode, port, db9->dev); in db9_timer()
516 mod_timer(&db9->timer, jiffies + DB9_REFRESH_TIME); in db9_timer()
521 struct db9 *db9 = input_get_drvdata(dev); in db9_open() local
522 struct parport *port = db9->pd->port; in db9_open()
525 err = mutex_lock_interruptible(&db9->mutex); in db9_open()
529 if (!db9->used++) { in db9_open()
530 parport_claim(db9->pd); in db9_open()
532 if (db9_modes[db9->mode].reverse) { in db9_open()
536 mod_timer(&db9->timer, jiffies + DB9_REFRESH_TIME); in db9_open()
539 mutex_unlock(&db9->mutex); in db9_open()
545 struct db9 *db9 = input_get_drvdata(dev); in db9_close() local
546 struct parport *port = db9->pd->port; in db9_close()
548 mutex_lock(&db9->mutex); in db9_close()
549 if (!--db9->used) { in db9_close()
550 del_timer_sync(&db9->timer); in db9_close()
553 parport_release(db9->pd); in db9_close()
555 mutex_unlock(&db9->mutex); in db9_close()
560 struct db9 *db9; in db9_attach() local
605 db9 = kzalloc(sizeof(struct db9), GFP_KERNEL); in db9_attach()
606 if (!db9) in db9_attach()
609 mutex_init(&db9->mutex); in db9_attach()
610 db9->pd = pd; in db9_attach()
611 db9->mode = mode; in db9_attach()
612 db9->parportno = pp->number; in db9_attach()
613 timer_setup(&db9->timer, db9_timer, 0); in db9_attach()
617 db9->dev[i] = input_dev = input_allocate_device(); in db9_attach()
623 snprintf(db9->phys[i], sizeof(db9->phys[i]), in db9_attach()
624 "%s/input%d", db9->pd->port->name, i); in db9_attach()
627 input_dev->phys = db9->phys[i]; in db9_attach()
633 input_set_drvdata(input_dev, db9); in db9_attach()
652 db9_base[port_idx] = db9; in db9_attach()
656 input_free_device(db9->dev[i]); in db9_attach()
659 input_unregister_device(db9->dev[i]); in db9_attach()
660 kfree(db9); in db9_attach()
668 struct db9 *db9; in db9_detach() local
678 db9 = db9_base[i]; in db9_detach()
681 for (i = 0; i < min(db9_modes[db9->mode].n_pads, DB9_MAX_DEVICES); i++) in db9_detach()
682 input_unregister_device(db9->dev[i]); in db9_detach()
683 parport_unregister_device(db9->pd); in db9_detach()
684 kfree(db9); in db9_detach()