OSDN Git Service

Input: stmfts - use async probe & suspend/resume to avoid 2s delay
authorMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 30 Mar 2018 18:12:21 +0000 (11:12 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 30 Mar 2018 22:31:41 +0000 (15:31 -0700)
Executing stmfts_power_on() function lasts over 2 seconds, what
significantly slows down the boot and resume processes if driver is
compiled in. Avoid this delay by forcing this driver to be probed
and suspended/resumed asynchronously.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/stmfts.c

index efdb1a7..40c833d 100644 (file)
@@ -730,6 +730,7 @@ static int stmfts_probe(struct i2c_client *client,
                return err;
 
        pm_runtime_enable(&client->dev);
+       device_enable_async_suspend(&client->dev);
 
        return 0;
 }
@@ -805,6 +806,7 @@ static struct i2c_driver stmfts_driver = {
                .name = STMFTS_DEV_NAME,
                .of_match_table = of_match_ptr(stmfts_of_match),
                .pm = &stmfts_pm_ops,
+               .probe_type = PROBE_PREFER_ASYNCHRONOUS,
        },
        .probe = stmfts_probe,
        .remove = stmfts_remove,