فهرست منبع

mfd: sec-core: Prepare regulators for suspend state to reduce power-consumption

This patch use regulator_suspend_prepare() function to prepare the proper state
of regulators for suspend state to remove un-necessary leakage power-consumption.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Chanwoo Choi 11 سال پیش
والد
کامیت
b7cde7078d
2فایلهای تغییر یافته به همراه11 افزوده شده و 0 حذف شده
  1. 1 0
      drivers/mfd/Kconfig
  2. 10 0
      drivers/mfd/sec-core.c

+ 1 - 0
drivers/mfd/Kconfig

@@ -587,6 +587,7 @@ config MFD_SEC_CORE
 	select MFD_CORE
 	select MFD_CORE
 	select REGMAP_I2C
 	select REGMAP_I2C
 	select REGMAP_IRQ
 	select REGMAP_IRQ
+	select REGULATOR
 	help
 	help
 	 Support for the Samsung Electronics MFD series.
 	 Support for the Samsung Electronics MFD series.
 	 This driver provides common support for accessing the device,
 	 This driver provides common support for accessing the device,

+ 10 - 0
drivers/mfd/sec-core.c

@@ -31,6 +31,7 @@
 #include <linux/mfd/samsung/s2mpu02.h>
 #include <linux/mfd/samsung/s2mpu02.h>
 #include <linux/mfd/samsung/s5m8763.h>
 #include <linux/mfd/samsung/s5m8763.h>
 #include <linux/mfd/samsung/s5m8767.h>
 #include <linux/mfd/samsung/s5m8767.h>
+#include <linux/regulator/machine.h>
 #include <linux/regmap.h>
 #include <linux/regmap.h>
 
 
 static const struct mfd_cell s5m8751_devs[] = {
 static const struct mfd_cell s5m8751_devs[] = {
@@ -430,6 +431,15 @@ static int sec_pmic_suspend(struct device *dev)
 	 */
 	 */
 	disable_irq(sec_pmic->irq);
 	disable_irq(sec_pmic->irq);
 
 
+	switch (sec_pmic->device_type) {
+	case S2MPS14X:
+	case S2MPU02:
+		regulator_suspend_prepare(PM_SUSPEND_MEM);
+		break;
+	default:
+		break;
+	}
+
 	return 0;
 	return 0;
 }
 }