All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] i2c: enable async suspend/resume on i2c devices
@ 2018-07-26 22:55 Derek Basehore
  2018-07-27 10:44 ` Andy Shevchenko
  2018-08-14 17:52 ` Andy Shevchenko
  0 siblings, 2 replies; 11+ messages in thread
From: Derek Basehore @ 2018-07-26 22:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: wsa, linux-i2c, dianders, dtor, venkateswarlu.v.vinjamuri,
	Derek Basehore

This enables the async suspend property for i2c devices. This reduces
the suspend/resume time considerably on platforms with multiple i2c
devices (such as a trackpad or touchscreen).

Signed-off-by: Derek Basehore <dbasehore@chromium.org>
---
 drivers/i2c/i2c-core-base.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
index 1ba40bb2b966..3382bb7e1dcc 100644
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
@@ -749,6 +749,7 @@ i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info const *info)
 	client->dev.of_node = info->of_node;
 	client->dev.fwnode = info->fwnode;
 
+	device_enable_async_suspend(&client->dev);
 	i2c_dev_set_name(adap, client, info);
 
 	if (info->properties) {
-- 
2.18.0.345.g5c9ce644c3-goog


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [PATCH] i2c: enable async suspend/resume on i2c devices
@ 2020-03-27 15:19 Ricardo Cañuelo
  2020-03-27 15:43 ` Wolfram Sang
  0 siblings, 1 reply; 11+ messages in thread
From: Ricardo Cañuelo @ 2020-03-27 15:19 UTC (permalink / raw)
  To: wsa, linux-i2c; +Cc: Ricardo Cañuelo, Derek Basehore, Guenter Roeck

This enables the async suspend property for i2c devices. This reduces
the suspend/resume time considerably on platforms with multiple i2c
devices (such as a trackpad or touchscreen).

(am from https://patchwork.ozlabs.org/patch/949922/)

Signed-off-by: Derek Basehore <dbasehore@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1152411
Tested-by: Venkateswarlu V Vinjamuri <venkateswarlu.v.vinjamuri@intel.com>
Reviewed-by: Venkateswarlu V Vinjamuri <venkateswarlu.v.vinjamuri@intel.com>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
---
This patch was originally created for chromeos some time ago and I'm
evaluating if it's a good candidate for upstreaming.

By the looks of it I think it was done with chromebooks in mind, but
AFAICT this would impact every i2c client in every platform, so I'd like
to know your opinion about it.

As far as I know there was no further investigation or testing on it, so
I don't know if it was tested on any other hardware.

Best,
Ricardo

 drivers/i2c/i2c-core-base.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
index cefad0881942..643bc0fe0281 100644
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
@@ -769,6 +769,7 @@ i2c_new_client_device(struct i2c_adapter *adap, struct i2c_board_info const *inf
 	client->dev.of_node = of_node_get(info->of_node);
 	client->dev.fwnode = info->fwnode;
 
+	device_enable_async_suspend(&client->dev);
 	i2c_dev_set_name(adap, client, info);
 
 	if (info->properties) {
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-04-08  5:06 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-26 22:55 [PATCH] i2c: enable async suspend/resume on i2c devices Derek Basehore
2018-07-27 10:44 ` Andy Shevchenko
2018-07-27 12:07   ` Hans de Goede
2018-07-27 16:17     ` dbasehore .
2018-08-14 17:52 ` Andy Shevchenko
2020-03-27 15:19 Ricardo Cañuelo
2020-03-27 15:43 ` Wolfram Sang
2020-03-27 20:26   ` dbasehore .
2020-03-29 10:24     ` Ricardo Cañuelo
2020-03-29 12:49     ` Ezequiel Garcia
2020-04-08  5:06       ` dbasehore .

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.