mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	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>
This commit is contained in:
		
							parent
							
								
									b264fc7002
								
							
						
					
					
						commit
						b7cde7078d
					
				
					 2 changed files with 11 additions and 0 deletions
				
			
		| 
						 | 
					@ -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,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue