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);