Query on device links

From: John Garry
Date: Thu Feb 06 2020 - 05:32:05 EST


Hi guys,

According to "Limitations" section @ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/driver-api/device_link.rst#n110, for a managed link, lack of the supplier driver may cause indefinite delay in probing of the consumer. Is there any way around this?

So I just want the probe order attempt of the supplier and consumer to be guaranteed, but the supplier probe may not be successful, i.e. does not actually bind.

In my case, I would like to use device_link_add(supplier, consumer, DL_FLAG_AUTOPROBE_CONSUMER), but I find the supplier probe may fail (and not due to -EPROBE_DEFER), and my consumer remains in limbo.

You may ask my I want this ordering at all - it is because in really_probe(), we do the device DMA configure before the actual device driver probe, and I just need that ordering to be ensured between devices.

Thanks,
John