]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
iio: bu27034: Probe asynchronously
authorMatti Vaittinen <mazziesaccount@gmail.com>
Thu, 4 May 2023 07:57:13 +0000 (10:57 +0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 13 May 2023 16:56:06 +0000 (17:56 +0100)
Devices which may take a while to initialize during probe and which have
no strong reason to probe synchronously can request asynchronous probing
as default probe strategy. This can speed-up start times on some
platforms.

The BU27034 gets probe delayed for at least two reasons. It enables the
supply regulator, (which is likely to have ramp-up delay if it was
disabled) and additionally it delays while the sensor itself is
initializing.

Changing to asynchronous probing may cause problems. Some of which are
discussed in:
https://lore.kernel.org/all/06db017f-e985-4434-8d1d-02ca2100cca0@sirena.org.uk/

Enabling async probing for the ROHM BU27034 should be fairly safe to try
though as there is no in-tree users for it yet. If the async probing
appears to be an issue we can switch easily back to synchronous (or
better yet, fix the actual problem).

Enable asynchronous probing for BU27034.

Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
Link: https://lore.kernel.org/r/e7088793e1868c77b1894b30cd026e8ed043ea7c.1683185765.git.mazziesaccount@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/rohm-bu27034.c

index e486dcf35eba7d60fc84e52f75fc566e52193a72..4035c06a75cf9573aecde21dd9c5deb9755d963e 100644 (file)
@@ -1486,6 +1486,7 @@ static struct i2c_driver bu27034_i2c_driver = {
        .driver = {
                .name = "bu27034-als",
                .of_match_table = bu27034_of_match,
+               .probe_type = PROBE_PREFER_ASYNCHRONOUS,
        },
        .probe_new = bu27034_probe,
 };