Lines Matching refs:db9
87 struct db9 { struct
98 static struct db9 *db9_base[3]; argument
357 struct db9 *db9 = from_timer(db9, t, timer); in db9_timer() local
358 struct parport *port = db9->pd->port; in db9_timer()
359 struct input_dev *dev = db9->dev[0]; in db9_timer()
360 struct input_dev *dev2 = db9->dev[1]; in db9_timer()
363 switch (db9->mode) { in db9_timer()
479 db9_saturn(db9->mode, port, db9->dev); in db9_timer()
504 mod_timer(&db9->timer, jiffies + DB9_REFRESH_TIME); in db9_timer()
509 struct db9 *db9 = input_get_drvdata(dev); in db9_open() local
510 struct parport *port = db9->pd->port; in db9_open()
513 err = mutex_lock_interruptible(&db9->mutex); in db9_open()
517 if (!db9->used++) { in db9_open()
518 parport_claim(db9->pd); in db9_open()
520 if (db9_modes[db9->mode].reverse) { in db9_open()
524 mod_timer(&db9->timer, jiffies + DB9_REFRESH_TIME); in db9_open()
527 mutex_unlock(&db9->mutex); in db9_open()
533 struct db9 *db9 = input_get_drvdata(dev); in db9_close() local
534 struct parport *port = db9->pd->port; in db9_close()
536 mutex_lock(&db9->mutex); in db9_close()
537 if (!--db9->used) { in db9_close()
538 del_timer_sync(&db9->timer); in db9_close()
541 parport_release(db9->pd); in db9_close()
543 mutex_unlock(&db9->mutex); in db9_close()
548 struct db9 *db9; in db9_attach() local
593 db9 = kzalloc(sizeof(struct db9), GFP_KERNEL); in db9_attach()
594 if (!db9) in db9_attach()
597 mutex_init(&db9->mutex); in db9_attach()
598 db9->pd = pd; in db9_attach()
599 db9->mode = mode; in db9_attach()
600 db9->parportno = pp->number; in db9_attach()
601 timer_setup(&db9->timer, db9_timer, 0); in db9_attach()
605 db9->dev[i] = input_dev = input_allocate_device(); in db9_attach()
611 snprintf(db9->phys[i], sizeof(db9->phys[i]), in db9_attach()
612 "%s/input%d", db9->pd->port->name, i); in db9_attach()
615 input_dev->phys = db9->phys[i]; in db9_attach()
621 input_set_drvdata(input_dev, db9); in db9_attach()
640 db9_base[port_idx] = db9; in db9_attach()
644 input_free_device(db9->dev[i]); in db9_attach()
647 input_unregister_device(db9->dev[i]); in db9_attach()
648 kfree(db9); in db9_attach()
656 struct db9 *db9; in db9_detach() local
666 db9 = db9_base[i]; in db9_detach()
669 for (i = 0; i < min(db9_modes[db9->mode].n_pads, DB9_MAX_DEVICES); i++) in db9_detach()
670 input_unregister_device(db9->dev[i]); in db9_detach()
671 parport_unregister_device(db9->pd); in db9_detach()
672 kfree(db9); in db9_detach()