Lines Matching refs:drv
507 struct platform_driver *drv = to_platform_driver(_dev->driver); in platform_drv_probe() local
517 if (drv->probe) { in platform_drv_probe()
518 ret = drv->probe(dev); in platform_drv_probe()
527 if (drv->prevent_deferred_probe && ret == -EPROBE_DEFER) { in platform_drv_probe()
542 struct platform_driver *drv = to_platform_driver(_dev->driver); in platform_drv_remove() local
546 if (drv->remove) in platform_drv_remove()
547 ret = drv->remove(dev); in platform_drv_remove()
555 struct platform_driver *drv = to_platform_driver(_dev->driver); in platform_drv_shutdown() local
558 if (drv->shutdown) in platform_drv_shutdown()
559 drv->shutdown(dev); in platform_drv_shutdown()
568 int __platform_driver_register(struct platform_driver *drv, in __platform_driver_register() argument
571 drv->driver.owner = owner; in __platform_driver_register()
572 drv->driver.bus = &platform_bus_type; in __platform_driver_register()
573 drv->driver.probe = platform_drv_probe; in __platform_driver_register()
574 drv->driver.remove = platform_drv_remove; in __platform_driver_register()
575 drv->driver.shutdown = platform_drv_shutdown; in __platform_driver_register()
577 return driver_register(&drv->driver); in __platform_driver_register()
585 void platform_driver_unregister(struct platform_driver *drv) in platform_driver_unregister() argument
587 driver_unregister(&drv->driver); in platform_driver_unregister()
611 int __init_or_module __platform_driver_probe(struct platform_driver *drv, in __platform_driver_probe() argument
616 if (drv->driver.probe_type == PROBE_PREFER_ASYNCHRONOUS) { in __platform_driver_probe()
618 drv->driver.name, __func__); in __platform_driver_probe()
627 drv->driver.probe_type = PROBE_FORCE_SYNCHRONOUS; in __platform_driver_probe()
633 drv->prevent_deferred_probe = true; in __platform_driver_probe()
636 drv->driver.suppress_bind_attrs = true; in __platform_driver_probe()
639 drv->probe = probe; in __platform_driver_probe()
640 retval = code = __platform_driver_register(drv, module); in __platform_driver_probe()
648 spin_lock(&drv->driver.bus->p->klist_drivers.k_lock); in __platform_driver_probe()
649 drv->probe = NULL; in __platform_driver_probe()
650 if (code == 0 && list_empty(&drv->driver.p->klist_devices.k_list)) in __platform_driver_probe()
652 drv->driver.probe = platform_drv_probe_fail; in __platform_driver_probe()
653 spin_unlock(&drv->driver.bus->p->klist_drivers.k_lock); in __platform_driver_probe()
656 platform_driver_unregister(drv); in __platform_driver_probe()
898 static int platform_match(struct device *dev, struct device_driver *drv) in platform_match() argument
901 struct platform_driver *pdrv = to_platform_driver(drv); in platform_match()
905 return !strcmp(pdev->driver_override, drv->name); in platform_match()
908 if (of_driver_match_device(dev, drv)) in platform_match()
912 if (acpi_driver_match_device(dev, drv)) in platform_match()
920 return (strcmp(pdev->name, drv->name) == 0); in platform_match()
955 struct device_driver *drv = dev->driver; in platform_pm_suspend() local
958 if (!drv) in platform_pm_suspend()
961 if (drv->pm) { in platform_pm_suspend()
962 if (drv->pm->suspend) in platform_pm_suspend()
963 ret = drv->pm->suspend(dev); in platform_pm_suspend()
973 struct device_driver *drv = dev->driver; in platform_pm_resume() local
976 if (!drv) in platform_pm_resume()
979 if (drv->pm) { in platform_pm_resume()
980 if (drv->pm->resume) in platform_pm_resume()
981 ret = drv->pm->resume(dev); in platform_pm_resume()
995 struct device_driver *drv = dev->driver; in platform_pm_freeze() local
998 if (!drv) in platform_pm_freeze()
1001 if (drv->pm) { in platform_pm_freeze()
1002 if (drv->pm->freeze) in platform_pm_freeze()
1003 ret = drv->pm->freeze(dev); in platform_pm_freeze()
1013 struct device_driver *drv = dev->driver; in platform_pm_thaw() local
1016 if (!drv) in platform_pm_thaw()
1019 if (drv->pm) { in platform_pm_thaw()
1020 if (drv->pm->thaw) in platform_pm_thaw()
1021 ret = drv->pm->thaw(dev); in platform_pm_thaw()
1031 struct device_driver *drv = dev->driver; in platform_pm_poweroff() local
1034 if (!drv) in platform_pm_poweroff()
1037 if (drv->pm) { in platform_pm_poweroff()
1038 if (drv->pm->poweroff) in platform_pm_poweroff()
1039 ret = drv->pm->poweroff(dev); in platform_pm_poweroff()
1049 struct device_driver *drv = dev->driver; in platform_pm_restore() local
1052 if (!drv) in platform_pm_restore()
1055 if (drv->pm) { in platform_pm_restore()
1056 if (drv->pm->restore) in platform_pm_restore()
1057 ret = drv->pm->restore(dev); in platform_pm_restore()