Lines Matching refs:drv

49 static void gameport_attach_driver(struct gameport_driver *drv);
218 static int gameport_bind_driver(struct gameport *gameport, struct gameport_driver *drv) in gameport_bind_driver() argument
222 gameport->dev.driver = &drv->driver; in gameport_bind_driver()
223 if (drv->connect(gameport, drv)) { in gameport_bind_driver()
233 drv->description, error); in gameport_bind_driver()
234 drv->disconnect(gameport); in gameport_bind_driver()
473 struct device_driver *drv; in drvctl_store() local
487 } else if ((drv = driver_find(buf, &gameport_bus)) != NULL) { in drvctl_store()
489 error = gameport_bind_driver(gameport, to_gameport_driver(drv)); in drvctl_store()
615 if (!gameport->drv || !gameport->drv->reconnect || gameport->drv->reconnect(gameport)) { in gameport_reconnect_port()
684 static ssize_t description_show(struct device_driver *drv, char *buf) in description_show() argument
686 struct gameport_driver *driver = to_gameport_driver(drv); in description_show()
700 struct gameport_driver *drv = to_gameport_driver(dev->driver); in gameport_driver_probe() local
702 drv->connect(gameport, drv); in gameport_driver_probe()
703 return gameport->drv ? 0 : -ENODEV; in gameport_driver_probe()
709 struct gameport_driver *drv = to_gameport_driver(dev->driver); in gameport_driver_remove() local
711 drv->disconnect(gameport); in gameport_driver_remove()
715 static void gameport_attach_driver(struct gameport_driver *drv) in gameport_attach_driver() argument
719 error = driver_attach(&drv->driver); in gameport_attach_driver()
722 drv->driver.name, error); in gameport_attach_driver()
725 int __gameport_register_driver(struct gameport_driver *drv, struct module *owner, in __gameport_register_driver() argument
730 drv->driver.bus = &gameport_bus; in __gameport_register_driver()
731 drv->driver.owner = owner; in __gameport_register_driver()
732 drv->driver.mod_name = mod_name; in __gameport_register_driver()
738 drv->ignore = true; in __gameport_register_driver()
740 error = driver_register(&drv->driver); in __gameport_register_driver()
743 drv->driver.name, error); in __gameport_register_driver()
750 drv->ignore = false; in __gameport_register_driver()
751 error = gameport_queue_event(drv, NULL, GAMEPORT_ATTACH_DRIVER); in __gameport_register_driver()
753 driver_unregister(&drv->driver); in __gameport_register_driver()
761 void gameport_unregister_driver(struct gameport_driver *drv) in gameport_unregister_driver() argument
767 drv->ignore = true; /* so gameport_find_driver ignores it */ in gameport_unregister_driver()
768 gameport_remove_pending_events(drv); in gameport_unregister_driver()
772 if (gameport->drv == drv) { in gameport_unregister_driver()
780 driver_unregister(&drv->driver); in gameport_unregister_driver()
786 static int gameport_bus_match(struct device *dev, struct device_driver *drv) in gameport_bus_match() argument
788 struct gameport_driver *gameport_drv = to_gameport_driver(drv); in gameport_bus_match()
802 static void gameport_set_drv(struct gameport *gameport, struct gameport_driver *drv) in gameport_set_drv() argument
805 gameport->drv = drv; in gameport_set_drv()
809 int gameport_open(struct gameport *gameport, struct gameport_driver *drv, int mode) in gameport_open() argument
820 gameport_set_drv(gameport, drv); in gameport_open()