]> git.baikalelectronics.ru Git - kernel.git/commit
HID: i2c-hid: Prefer asynchronous probe
authorDouglas Anderson <dianders@chromium.org>
Thu, 3 Sep 2020 04:43:02 +0000 (21:43 -0700)
committerJiri Kosina <jkosina@suse.cz>
Wed, 9 Sep 2020 06:40:01 +0000 (08:40 +0200)
commit45622dc7f4af563cf6d94f39beca4942d4e0a861
tree7f46d44189ffa57fb77fe7eaf25adf63a29a479c
parent54f559d97941b5864eb3f74e154c91b56fcceb1b
HID: i2c-hid: Prefer asynchronous probe

Adding printouts to the i2c_hid_probe() function shows that it takes
quite some time.  It used to take about 70 ms, but after commit
9e00aae76f73 ("HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON
commands") it takes about 190 ms.  This is not tons of time but it's
not trivial.  Because we haven't yet specified that we'd prefer
asynchronous probe for this driver then, if the driver is builtin to
the kernel, we'll wait for this driver to finish before we start
probes for more drivers.  Let's set the flag to enable asynchronous
for this driver so that other drivers aren't blocked from probing
until we finish.

Since this driver can be configured as a module and modules are
always asynchronously probed this is quite a safe change and will
benefit anyone who has a reason to build this driver into the kernel
instead of using it as a module.

[jkosina@suse.cz: drop spurious whitespace addition]
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/i2c-hid/i2c-hid-core.c