Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1709073 > unrolled thread

[PATCH 2/8] mfd: cros_ec_i2c: move the system sleep pm ops to late

Started byThierry Escande <thierry.escande@collabora.com>
First post2017-08-11 00:20 +0200
Last post2017-08-11 05:40 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 2/8] mfd: cros_ec_i2c: move the system sleep pm ops to late Thierry Escande <thierry.escande@collabora.com> - 2017-08-11 00:20 +0200
    Re: [PATCH 2/8] mfd: cros_ec_i2c: move the system sleep pm ops to  late Benson Leung <bleung@google.com> - 2017-08-11 05:40 +0200

#1709073 — [PATCH 2/8] mfd: cros_ec_i2c: move the system sleep pm ops to late

FromThierry Escande <thierry.escande@collabora.com>
Date2017-08-11 00:20 +0200
Subject[PATCH 2/8] mfd: cros_ec_i2c: move the system sleep pm ops to late
Message-ID<ud3Y6-3tF-23@gated-at.bofh.it>
From: Joseph Lo <josephl@nvidia.com>

The cros_ec_i2c driver is still active after it had suspended or before it
resumes. Besides that, it also tried to transfer data even after the I2C
host had been suspended. This leads the system to crash.

During the test, we also observed that the EC needs to be resumed
earlier due to some status polling from the EC firmware (e.g. battery
status). This patch moves the PM ops to late stage to make it work
normally.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Thierry Escande <thierry.escande@collabora.com>
---
 drivers/mfd/cros_ec_i2c.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/cros_ec_i2c.c b/drivers/mfd/cros_ec_i2c.c
index 9f70de1..576fcc4 100644
--- a/drivers/mfd/cros_ec_i2c.c
+++ b/drivers/mfd/cros_ec_i2c.c
@@ -341,8 +341,9 @@ static int cros_ec_i2c_resume(struct device *dev)
 }
 #endif
 
-static SIMPLE_DEV_PM_OPS(cros_ec_i2c_pm_ops, cros_ec_i2c_suspend,
-			  cros_ec_i2c_resume);
+const struct dev_pm_ops cros_ec_i2c_pm_ops = {
+	SET_LATE_SYSTEM_SLEEP_PM_OPS(cros_ec_i2c_suspend, cros_ec_i2c_resume)
+};
 
 static const struct of_device_id cros_ec_i2c_of_match[] = {
 	{ .compatible = "google,cros-ec-i2c", },
-- 
2.7.4

[toc] | [next] | [standalone]


#1709207 — Re: [PATCH 2/8] mfd: cros_ec_i2c: move the system sleep pm ops to late

FromBenson Leung <bleung@google.com>
Date2017-08-11 05:40 +0200
SubjectRe: [PATCH 2/8] mfd: cros_ec_i2c: move the system sleep pm ops to late
Message-ID<ud8XL-6Gl-1@gated-at.bofh.it>
In reply to#1709073

[Multipart message — attachments visible in raw view] — view raw

Hi Thierry,

On Fri, Aug 11, 2017 at 12:16:44AM +0200, Thierry Escande wrote:
> From: Joseph Lo <josephl@nvidia.com>
> 

Again, please copy the original author.

> The cros_ec_i2c driver is still active after it had suspended or before it
> resumes. Besides that, it also tried to transfer data even after the I2C
> host had been suspended. This leads the system to crash.
> 
> During the test, we also observed that the EC needs to be resumed
> earlier due to some status polling from the EC firmware (e.g. battery
> status). This patch moves the PM ops to late stage to make it work
> normally.
> 
> Signed-off-by: Joseph Lo <josephl@nvidia.com>
> Signed-off-by: Thierry Escande <thierry.escande@collabora.com>

Acked-by: Benson Leung <bleung@chromium.org>

Thanks!
Benson

-- 
Benson Leung
Staff Software Engineer
Chrome OS Kernel
Google Inc.
bleung@google.com
Chromium OS Project
bleung@chromium.org

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web