Lines Matching full:probe

36  * Deferred Probe infrastructure.
38 * Sometimes driver probe order matters, but the kernel doesn't always have
43 * request probing to be deferred by returning -EPROBE_DEFER from its probe hook
45 * Deferred probe maintains two lists of devices, a pending list and an active
47 * pending list. A successful driver probe will trigger moving all devices
60 /* Save the async probe drivers' name from kernel cmdline */
88 * bus_probe_device() to re-attempt the probe. The loop continues in deferred_probe_work_func()
109 * Drop the mutex while probing each device; the probe path may in deferred_probe_work_func()
118 * probe makes that very unsafe. in deferred_probe_work_func()
161 * list and schedules the deferred probe workqueue to process them. It
164 * Note, there is a race condition in multi-threaded probe. In the case where
166 * probe to complete successfully while another is about to defer. If the second
172 * changes in the midst of a probe, then deferred processing should be triggered
181 * A successful probe means that all the devices in the pending list in driver_deferred_probe_trigger()
192 * Kick the re-probe thread. It may already be scheduled, but it is in driver_deferred_probe_trigger()
223 * device_set_deferred_probe_reason() - Set defer probe reason message for device
241 * deferred_devs_show() - Show the devices in the deferred probe pending list.
276 * driver_deferred_probe_check_state() - Check deferred probe state
281 * * -ETIMEDOUT if the deferred probe timeout was set and has expired
296 dev_warn(dev, "deferred probe timeout, ignoring dependency\n"); in driver_deferred_probe_check_state()
316 dev_info(p->device, "deferred probe pending\n"); in deferred_probe_timeout_work_func()
332 pr_debug("Extended deferred probe timeout by %d secs\n", in deferred_probe_extend_timeout()
359 * Trigger deferred probe again, this time we won't defer anything in deferred_probe_initcall()
489 * (It is ok to call with no other effort from a driver's probe() method.)
576 if (dev->bus->probe) in call_driver_probe()
577 ret = dev->bus->probe(dev); in call_driver_probe()
578 else if (drv->probe) in call_driver_probe()
579 ret = drv->probe(dev); in call_driver_probe()
586 dev_dbg(dev, "Driver %s requests probe deferral\n", drv->name); in call_driver_probe()
590 pr_debug("%s: probe of %s rejects match %d\n", in call_driver_probe()
594 /* driver matched but the probe failed */ in call_driver_probe()
595 pr_warn("%s: probe of %s failed with error %d\n", in call_driver_probe()
615 dev_dbg(dev, "Driver %s force probe deferral\n", drv->name); in really_probe()
662 * device might actually probe properly once some of its missing in really_probe()
670 * Return probe errors as positive values so that the callers in really_probe()
730 * For initcall_debug, show the driver probe time.
745 printk(KERN_DEBUG "probe of %s returned %d after %lld usecs\n", in really_probe_debug()
752 * Determine if the probe sequence is finished or not.
770 /* wait for the deferred probe workqueue to finish */ in wait_for_device_probe()
817 * (inverted) error code for failures from the ->probe method.
908 * probe for given device and driver from bus_for_each_drv() since
933 dev_dbg(dev, "Device match requests probe deferral\n"); in __device_attach_driver()
955 * Ignore errors returned by ->probe so that the next driver can try in __device_attach_driver()
978 * and deferred probe processing happens all at once with in __device_attach_async_helper()
988 dev_dbg(dev, "async probe completed\n"); in __device_attach_async_helper()
1037 * want to probe asynchronously, we'll in __device_attach()
1040 dev_dbg(dev, "scheduling asynchronous probe\n"); in __device_attach()
1130 /* also return probe errors as normal negative errnos */ in device_driver_attach()
1177 dev_dbg(dev, "Device match requests probe deferral\n"); in __driver_attach()
1197 * probe it asynchronously to allow for more parallelism. in __driver_attach()