iio: kx022a: Probe asynchronously

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 KX022A 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/

Enable asynchronous probing for KX022A.

Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
Link: https://lore.kernel.org/r/24cea76c282a28b7a4dba297ab627176f8097907.1683185765.git.mazziesaccount@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Matti Vaittinen 2023-05-04 10:58:52 +03:00 committed by Jonathan Cameron
parent 4cd56dbd76
commit a508fbfed3
2 changed files with 2 additions and 0 deletions

View File

@ -40,6 +40,7 @@ static struct i2c_driver kx022a_i2c_driver = {
.driver = { .driver = {
.name = "kx022a-i2c", .name = "kx022a-i2c",
.of_match_table = kx022a_of_match, .of_match_table = kx022a_of_match,
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
}, },
.probe_new = kx022a_i2c_probe, .probe_new = kx022a_i2c_probe,
}; };

View File

@ -46,6 +46,7 @@ static struct spi_driver kx022a_spi_driver = {
.driver = { .driver = {
.name = "kx022a-spi", .name = "kx022a-spi",
.of_match_table = kx022a_of_match, .of_match_table = kx022a_of_match,
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
}, },
.probe = kx022a_spi_probe, .probe = kx022a_spi_probe,
.id_table = kx022a_id, .id_table = kx022a_id,