Browse Source

Input: stmfts - use async probe & suspend/resume to avoid 2s delay

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>
Marek Szyprowski 7 years ago
parent
commit
1d96000360
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/input/touchscreen/stmfts.c

+ 2 - 0
drivers/input/touchscreen/stmfts.c

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