Lines Matching defs:drv

19 static const struct pnp_card_device_id *match_card(struct pnp_card_driver *drv,
22 const struct pnp_card_device_id *drv_id = drv->id_table;
60 struct pnp_card_driver *drv = to_pnp_card_driver(dev->driver);
62 if (!dev->card || !drv)
64 if (drv->remove)
65 drv->remove(dev->card_link);
66 drv->link.remove = &card_remove;
71 static int card_probe(struct pnp_card *card, struct pnp_card_driver *drv)
77 if (!drv->probe)
79 id = match_card(drv, card);
87 clink->driver = drv;
90 if (drv->probe(clink, id) >= 0)
264 struct pnp_card_driver *drv =
267 card_probe(card, drv);
333 struct pnp_card_driver *drv;
340 drv = clink->driver;
359 dev->dev.driver = &drv->link.driver;
379 struct pnp_card_driver *drv = dev->card_link->driver;
381 drv->link.remove = &card_remove;
383 drv->link.remove = &card_remove_first;
412 * @drv: pointer to the driver to register
414 int pnp_register_card_driver(struct pnp_card_driver *drv)
419 drv->link.name = drv->name;
420 drv->link.id_table = NULL; /* this will disable auto matching */
421 drv->link.flags = drv->flags;
422 drv->link.probe = NULL;
423 drv->link.remove = &card_remove_first;
424 drv->link.suspend = drv->suspend ? card_suspend : NULL;
425 drv->link.resume = drv->resume ? card_resume : NULL;
427 error = pnp_register_driver(&drv->link);
432 list_add_tail(&drv->global_list, &pnp_card_drivers);
438 card_probe(card, drv);
445 * @drv: pointer to the driver to unregister
447 void pnp_unregister_card_driver(struct pnp_card_driver *drv)
450 list_del(&drv->global_list);
452 pnp_unregister_driver(&drv->link);