RE: [PATCH 1/3] driver core: enable drivers to use deferred probe from init

Yuval Mintz
2014-07-28T15:12:13Z

[-- Attachment #1: Type: text/plain, Size: 754 bytes --]

> +static int __driver_probe_device(struct device_driver *drv, struct
> +device *dev) {
> + if (drv->delay_probe && !dev->init_delayed_probe) {
> + dev_info(dev, "Driver %s requests probe deferral on init\n",
> + drv->name);
> + dev->init_delayed_probe = true;
> + driver_deferred_probe_add(dev);
> + return -EPROBE_DEFER;
> + }
> +
> + return really_probe(dev, drv);
> +}

Perhaps this is a silly question, but what guarantees that the deferred probe
list will actually be triggered, e.g., in case the delayed device is the last device
in the system?

[From drivers/base/dd.c - "A successful driver probe will trigger moving all
devices from the pending to the active list so that the workqueue will
eventually retry them]

[-- Attachment #2: winmail.dat --]
[-- Type: application/ms-tnef, Size: 3936 bytes --]