i2c: i801: Don't restore config registers on runtime PM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
runtime_suspend/runtime_resume.

Signed-off-by: Jean Delvare <jdelvare@xxxxxxx>
Cc: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx>
---
I am told this could be further optimized, but I'm not completely
sure how, and also not sure it's worth the extra code, so let's keep
it simple for now. Optimizations can be added later.

Jarkko, you specifically mentioned runtime power management in commit
2ee73c484dc4 where you made use of UNIVERSAL_DEV_PM_OPS. Did you have
anything specific in mind? I can't think of anything the i2c-i801
driver should do for runtime power management.

 drivers/i2c/busses/i2c-i801.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- linux-4.15.orig/drivers/i2c/busses/i2c-i801.c	2018-04-20 07:34:45.809535948 +0200
+++ linux-4.15/drivers/i2c/busses/i2c-i801.c	2018-04-25 11:49:29.172069486 +0200
@@ -1730,8 +1730,7 @@ static int i801_resume(struct device *de
 }
 #endif
 
-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",


-- 
Jean Delvare
SUSE L3 Support



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux