Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21740ced authored by Dmitry Torokhov's avatar Dmitry Torokhov Committed by Lingutla Chandrasekhar
Browse files

driver-core: add asynchronous probing support for drivers



Some devices take a long time when initializing,
and not all drivers are suited to initialize their devices
when they are open. For example, input drivers need to
interrogate their devices in order to publish device's
capabilities before userspace will open them. When such
drivers are compiled into kernel they may stall entire kernel
initialization.

This change allows drivers request for their probe functions
to be called asynchronously during driver and device registration
(manual binding is still synchronous). Because async_schedule
is used to perform asynchronous calls module loading will
still wait for the probing to complete.

Note that the end goal is to make the probing asynchronous by
default, so annotating drivers with PROBE_PREFER_ASYNCHRONOUS
is a temporary measure that allows us to speed up boot process
while we validating and fixing the rest of the drivers and
preparing userspace.

This change is based on earlier patch by "Luis R. Rodriguez"
<mcgrof@suse.com>

Change-Id: Ic66895e07906ecf124039912426378f793b80af2
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Git-commit: 765230b5f084863183aa8adb3405ab3f32c0b16e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git


Signed-off-by: default avatarLingutla Chandrasekhar <clingutla@codeaurora.org>
parent 9716fd07
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment