 50f2de6126
			
		
	
	
	50f2de6126
	
	
	
		
			
			It moves a bunch of header files included in hardware.h and itself from mach-imx/include/mach to mach-imx, and updates users to include hardware.h rather than mach/hardware.h. The files in mach-imx/devices will need to include "../hardware.h". Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Arnd Bergmann <arnd@arndb.de>
		
			
				
	
	
		
			49 lines
		
	
	
	
		
			979 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			979 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * i.MX27 Power Management Routines
 | |
|  *
 | |
|  * Based on Freescale's BSP
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or
 | |
|  * modify it under the terms of the GNU General Public License.
 | |
|  */
 | |
| 
 | |
| #include <linux/kernel.h>
 | |
| #include <linux/suspend.h>
 | |
| #include <linux/io.h>
 | |
| 
 | |
| #include "hardware.h"
 | |
| 
 | |
| static int mx27_suspend_enter(suspend_state_t state)
 | |
| {
 | |
| 	u32 cscr;
 | |
| 	switch (state) {
 | |
| 	case PM_SUSPEND_MEM:
 | |
| 		/* Clear MPEN and SPEN to disable MPLL/SPLL */
 | |
| 		cscr = __raw_readl(MX27_IO_ADDRESS(MX27_CCM_BASE_ADDR));
 | |
| 		cscr &= 0xFFFFFFFC;
 | |
| 		__raw_writel(cscr, MX27_IO_ADDRESS(MX27_CCM_BASE_ADDR));
 | |
| 		/* Executes WFI */
 | |
| 		cpu_do_idle();
 | |
| 		break;
 | |
| 
 | |
| 	default:
 | |
| 		return -EINVAL;
 | |
| 	}
 | |
| 	return 0;
 | |
| }
 | |
| 
 | |
| static const struct platform_suspend_ops mx27_suspend_ops = {
 | |
| 	.enter = mx27_suspend_enter,
 | |
| 	.valid = suspend_valid_only_mem,
 | |
| };
 | |
| 
 | |
| static int __init mx27_pm_init(void)
 | |
| {
 | |
| 	if (!cpu_is_mx27())
 | |
| 		return 0;
 | |
| 
 | |
| 	suspend_set_ops(&mx27_suspend_ops);
 | |
| 	return 0;
 | |
| }
 | |
| 
 | |
| device_initcall(mx27_pm_init);
 |