[PATCH 1/1] i2c: i801: Don't restore config registers on runtime PM

Aaron Ma aaron.ma at canonical.com
Fri Nov 23 08:33:04 UTC 2018

From: Jean Delvare <jdelvare at suse.de>

BugLink: https://bugs.launchpad.net/bugs/1802135

Restoring configuration registers is only needed when we hand control
to the firmware. This is never the case with runtime power
management. The device will autosuspend whenever not used, so avoid
useless register writes by defining suspend/resume only, and not

Signed-off-by: Jean Delvare <jdelvare at suse.de>
Reviewed-by: Jarkko Nikula <jarkko.nikula at linux.intel.com>
Signed-off-by: Wolfram Sang <wsa at the-dreams.de>
(cherry picked from commit a9c8088c7988e3a8a364cac9c26eba9ee2ea6153)
Signed-off-by: Aaron Ma <aaron.ma at canonical.com>
 drivers/i2c/busses/i2c-i801.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
index ba8df2fde1b2..00da6eae32db 100644
--- a/drivers/i2c/busses/i2c-i801.c
+++ b/drivers/i2c/busses/i2c-i801.c
@@ -1730,8 +1730,7 @@ static int i801_resume(struct device *dev)
-static UNIVERSAL_DEV_PM_OPS(i801_pm_ops, i801_suspend,
-			    i801_resume, NULL);
+static SIMPLE_DEV_PM_OPS(i801_pm_ops, i801_suspend, i801_resume);
 static struct pci_driver i801_driver = {
 	.name		= "i801_smbus",

More information about the kernel-team mailing list