Lines Matching refs:db9

103 struct db9 {  struct
114 static struct db9 *db9_base[3]; argument
369 struct db9 *db9 = (void *) private; 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()
490 db9_saturn(db9->mode, port, db9->dev); in db9_timer()
515 mod_timer(&db9->timer, jiffies + DB9_REFRESH_TIME); in db9_timer()
520 struct db9 *db9 = input_get_drvdata(dev); in db9_open() local
521 struct parport *port = db9->pd->port; in db9_open()
524 err = mutex_lock_interruptible(&db9->mutex); in db9_open()
528 if (!db9->used++) { in db9_open()
529 parport_claim(db9->pd); in db9_open()
531 if (db9_modes[db9->mode].reverse) { in db9_open()
535 mod_timer(&db9->timer, jiffies + DB9_REFRESH_TIME); in db9_open()
538 mutex_unlock(&db9->mutex); in db9_open()
544 struct db9 *db9 = input_get_drvdata(dev); in db9_close() local
545 struct parport *port = db9->pd->port; in db9_close()
547 mutex_lock(&db9->mutex); in db9_close()
548 if (!--db9->used) { in db9_close()
549 del_timer_sync(&db9->timer); in db9_close()
552 parport_release(db9->pd); in db9_close()
554 mutex_unlock(&db9->mutex); in db9_close()
559 struct db9 *db9; in db9_attach() local
604 db9 = kzalloc(sizeof(struct db9), GFP_KERNEL); in db9_attach()
605 if (!db9) in db9_attach()
608 mutex_init(&db9->mutex); in db9_attach()
609 db9->pd = pd; in db9_attach()
610 db9->mode = mode; in db9_attach()
611 db9->parportno = pp->number; in db9_attach()
612 init_timer(&db9->timer); in db9_attach()
613 db9->timer.data = (long) db9; in db9_attach()
614 db9->timer.function = db9_timer; in db9_attach()
618 db9->dev[i] = input_dev = input_allocate_device(); in db9_attach()
624 snprintf(db9->phys[i], sizeof(db9->phys[i]), in db9_attach()
625 "%s/input%d", db9->pd->port->name, i); in db9_attach()
628 input_dev->phys = db9->phys[i]; in db9_attach()
634 input_set_drvdata(input_dev, db9); in db9_attach()
653 db9_base[port_idx] = db9; in db9_attach()
657 input_free_device(db9->dev[i]); in db9_attach()
660 input_unregister_device(db9->dev[i]); in db9_attach()
661 kfree(db9); in db9_attach()
669 struct db9 *db9; in db9_detach() local
679 db9 = db9_base[i]; in db9_detach()
682 for (i = 0; i < min(db9_modes[db9->mode].n_pads, DB9_MAX_DEVICES); i++) in db9_detach()
683 input_unregister_device(db9->dev[i]); in db9_detach()
684 parport_unregister_device(db9->pd); in db9_detach()
685 kfree(db9); in db9_detach()