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