35 lines
		
	
	
		
			578 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			578 B
		
	
	
	
		
			C
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0-only
 | 
						|
/*
 | 
						|
 * Copyright 2016 NXP Semiconductors
 | 
						|
 */
 | 
						|
 | 
						|
#include <linux/kernel.h>
 | 
						|
#include <linux/suspend.h>
 | 
						|
#include <linux/io.h>
 | 
						|
 | 
						|
static int imx25_suspend_enter(suspend_state_t state)
 | 
						|
{
 | 
						|
	if (!IS_ENABLED(CONFIG_PM))
 | 
						|
		return 0;
 | 
						|
 | 
						|
	switch (state) {
 | 
						|
	case PM_SUSPEND_MEM:
 | 
						|
		cpu_do_idle();
 | 
						|
		break;
 | 
						|
	default:
 | 
						|
		return -EINVAL;
 | 
						|
	}
 | 
						|
 | 
						|
	return 0;
 | 
						|
}
 | 
						|
 | 
						|
static const struct platform_suspend_ops imx25_suspend_ops = {
 | 
						|
	.enter = imx25_suspend_enter,
 | 
						|
	.valid = suspend_valid_only_mem,
 | 
						|
};
 | 
						|
 | 
						|
void __init imx25_pm_init(void)
 | 
						|
{
 | 
						|
	suspend_set_ops(&imx25_suspend_ops);
 | 
						|
}
 |