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


Groups > linux.kernel > #1709686

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

From Thierry Escande <thierry.escande@collabora.com>
Newsgroups linux.kernel
Subject [PATCH v2 2/8] mfd: cros_ec_i2c: move the system sleep pm ops to late
Date 2017-08-11 16:30 +0200
Message-ID <udj6P-4Eb-57@gated-at.bofh.it> (permalink)
References <udj6O-4Eb-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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>
Acked-by: Benson Leung <bleung@chromium.org>
---
 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

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 0/8] platform/chrome: cros_ec: Fixes and improvements Thierry Escande <thierry.escande@collabora.com> - 2017-08-11 16:30 +0200
  [PATCH v2 8/8] platform/chrome: cros_ec: sysfs: Modify error handling Thierry Escande <thierry.escande@collabora.com> - 2017-08-11 16:30 +0200
  [PATCH v2 4/8] platform/chrome: cros_ec: register shutdown function for debugfs Thierry Escande <thierry.escande@collabora.com> - 2017-08-11 16:30 +0200
    Re: [PATCH v2 4/8] platform/chrome: cros_ec: register shutdown  function for debugfs Benson Leung <bleung@google.com> - 2017-08-15 08:40 +0200
  [PATCH v2 1/8] iio: cros_ec: Relax sampling frequency before suspending Thierry Escande <thierry.escande@collabora.com> - 2017-08-11 16:30 +0200
    Re: [PATCH v2 1/8] iio: cros_ec: Relax sampling frequency before  suspending Jonathan Cameron <jic23@kernel.org> - 2017-08-12 14:50 +0200
  [PATCH v2 2/8] mfd: cros_ec_i2c: move the system sleep pm ops to late Thierry Escande <thierry.escande@collabora.com> - 2017-08-11 16:30 +0200
  [PATCH v2 7/8] platform/chrome: cros_ec: Add sysfs entry to set keyboard wake lid angle Thierry Escande <thierry.escande@collabora.com> - 2017-08-11 16:30 +0200

csiph-web