Lines Matching refs:db9
84 struct db9 { struct
95 static struct db9 *db9_base[3]; argument
354 struct db9 *db9 = timer_container_of(db9, t, timer); in db9_timer() local
355 struct parport *port = db9->pd->port; in db9_timer()
356 struct input_dev *dev = db9->dev[0]; in db9_timer()
357 struct input_dev *dev2 = db9->dev[1]; in db9_timer()
360 switch (db9->mode) { in db9_timer()
476 db9_saturn(db9->mode, port, db9->dev); in db9_timer()
501 mod_timer(&db9->timer, jiffies + DB9_REFRESH_TIME); in db9_timer()
506 struct db9 *db9 = input_get_drvdata(dev); in db9_open() local
507 struct parport *port = db9->pd->port; in db9_open()
509 scoped_guard(mutex_intr, &db9->mutex) { in db9_open()
510 if (!db9->used++) { in db9_open()
511 parport_claim(db9->pd); in db9_open()
513 if (db9_modes[db9->mode].reverse) { in db9_open()
517 mod_timer(&db9->timer, jiffies + DB9_REFRESH_TIME); in db9_open()
528 struct db9 *db9 = input_get_drvdata(dev); in db9_close() local
529 struct parport *port = db9->pd->port; in db9_close()
531 guard(mutex)(&db9->mutex); in db9_close()
533 if (!--db9->used) { in db9_close()
534 timer_delete_sync(&db9->timer); in db9_close()
537 parport_release(db9->pd); in db9_close()
543 struct db9 *db9; in db9_attach() local
588 db9 = kzalloc(sizeof(*db9), GFP_KERNEL); in db9_attach()
589 if (!db9) in db9_attach()
592 mutex_init(&db9->mutex); in db9_attach()
593 db9->pd = pd; in db9_attach()
594 db9->mode = mode; in db9_attach()
595 db9->parportno = pp->number; in db9_attach()
596 timer_setup(&db9->timer, db9_timer, 0); in db9_attach()
600 db9->dev[i] = input_dev = input_allocate_device(); in db9_attach()
606 snprintf(db9->phys[i], sizeof(db9->phys[i]), in db9_attach()
607 "%s/input%d", db9->pd->port->name, i); in db9_attach()
610 input_dev->phys = db9->phys[i]; in db9_attach()
616 input_set_drvdata(input_dev, db9); in db9_attach()
635 db9_base[port_idx] = db9; in db9_attach()
639 input_free_device(db9->dev[i]); in db9_attach()
642 input_unregister_device(db9->dev[i]); in db9_attach()
643 kfree(db9); in db9_attach()
651 struct db9 *db9; in db9_detach() local
661 db9 = db9_base[i]; in db9_detach()
664 for (i = 0; i < min(db9_modes[db9->mode].n_pads, DB9_MAX_DEVICES); i++) in db9_detach()
665 input_unregister_device(db9->dev[i]); in db9_detach()
666 parport_unregister_device(db9->pd); in db9_detach()
667 kfree(db9); in db9_detach()