Hello Jonathan, Wondering if you have any comments? On Mon, Nov 4, 2024 at 8:55 PM anish kumar <yesanishhere@xxxxxxxxx> wrote: > > The existing documentation for EPROBE_DEFER explains its purpose > and usage, but does not specify when deferred probes are retried. > This patch adds information about the retry mechanism to provide > a more complete explanation of how EPROBE_DEFER works. > > Specifically, it clarifies that: > > 1. Deferred probes are added to a pending list > 2. A successful probe of any device triggers moving all devices > from the pending list to an active list > 3. A workqueue processes the active list to retry deferred probes > > This additional context helps developers better understand the > behavior and implications of using EPROBE_DEFER in their drivers. > > Signed-off-by: anish kumar <yesanishhere@xxxxxxxxx> > --- > Documentation/driver-api/driver-model/driver.rst | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/Documentation/driver-api/driver-model/driver.rst b/Documentation/driver-api/driver-model/driver.rst > index 06f818b1d622..c86b948d0dfe 100644 > --- a/Documentation/driver-api/driver-model/driver.rst > +++ b/Documentation/driver-api/driver-model/driver.rst > @@ -171,10 +171,13 @@ released all resources it allocated. > Optionally, probe() may return -EPROBE_DEFER if the driver depends on > resources that are not yet available (e.g., supplied by a driver that > hasn't initialized yet). The driver core will put the device onto the > -deferred probe list and will try to call it again later. If a driver > -must defer, it should return -EPROBE_DEFER as early as possible to > -reduce the amount of time spent on setup work that will need to be > -unwound and reexecuted at a later time. > +deferred probe list and will retry again as and when a device or driver > +gets added to the system. A successful probe of any device will trigger > +moving all devices from pending list to active list. A workqueue processes > +the active list to retry deferred probes. If a driver must defer, it > +should return -EPROBE_DEFER as early as possible to reduce the amount > +of time spent on setup work that will need to be unwound and reexecuted > +at a later time. > > .. warning:: > -EPROBE_DEFER must not be returned if probe() has already created > -- > 2.39.3 (Apple Git-146) >