Lines Matching refs:drv

18 static const struct pnp_card_device_id *match_card(struct pnp_card_driver *drv,  in match_card()  argument
21 const struct pnp_card_device_id *drv_id = drv->id_table; in match_card()
59 struct pnp_card_driver *drv = to_pnp_card_driver(dev->driver); in card_remove_first() local
61 if (!dev->card || !drv) in card_remove_first()
63 if (drv->remove) in card_remove_first()
64 drv->remove(dev->card_link); in card_remove_first()
65 drv->link.remove = &card_remove; in card_remove_first()
70 static int card_probe(struct pnp_card *card, struct pnp_card_driver *drv) in card_probe() argument
76 if (!drv->probe) in card_probe()
78 id = match_card(drv, card); in card_probe()
86 clink->driver = drv; in card_probe()
89 if (drv->probe(clink, id) >= 0) in card_probe()
263 struct pnp_card_driver *drv = in pnp_add_card() local
266 card_probe(card, drv); in pnp_add_card()
332 struct pnp_card_driver *drv; in pnp_request_card_device() local
339 drv = clink->driver; in pnp_request_card_device()
358 dev->dev.driver = &drv->link.driver; in pnp_request_card_device()
378 struct pnp_card_driver *drv = dev->card_link->driver; in pnp_release_card_device() local
380 drv->link.remove = &card_remove; in pnp_release_card_device()
382 drv->link.remove = &card_remove_first; in pnp_release_card_device()
413 int pnp_register_card_driver(struct pnp_card_driver *drv) in pnp_register_card_driver() argument
418 drv->link.name = drv->name; in pnp_register_card_driver()
419 drv->link.id_table = NULL; /* this will disable auto matching */ in pnp_register_card_driver()
420 drv->link.flags = drv->flags; in pnp_register_card_driver()
421 drv->link.probe = NULL; in pnp_register_card_driver()
422 drv->link.remove = &card_remove_first; in pnp_register_card_driver()
423 drv->link.suspend = drv->suspend ? card_suspend : NULL; in pnp_register_card_driver()
424 drv->link.resume = drv->resume ? card_resume : NULL; in pnp_register_card_driver()
426 error = pnp_register_driver(&drv->link); in pnp_register_card_driver()
431 list_add_tail(&drv->global_list, &pnp_card_drivers); in pnp_register_card_driver()
437 card_probe(card, drv); in pnp_register_card_driver()
446 void pnp_unregister_card_driver(struct pnp_card_driver *drv) in pnp_unregister_card_driver() argument
449 list_del(&drv->global_list); in pnp_unregister_card_driver()
451 pnp_unregister_driver(&drv->link); in pnp_unregister_card_driver()