gflt110: more power saving tweaks

	* try to mask interrupts before WFI
	* enable /proc/mv_pm/* for testing

Change-Id: I72908c9ba32e2525974f876aeeef51544a8613e8
diff --git a/arch/arm/mach-feroceon-kw2/core.c b/arch/arm/mach-feroceon-kw2/core.c
index a26fdaa..7abeb6b 100755
--- a/arch/arm/mach-feroceon-kw2/core.c
+++ b/arch/arm/mach-feroceon-kw2/core.c
@@ -92,7 +92,7 @@
 #include <mach/uncompress.h> 
 static char arr[256];
 
-extern void mv_kw2_cpu_idle_enter(void);
+extern void mv_kw2_cpu_idle_enter_wfi(void);
 
 #ifdef MV_INCLUDE_EARLY_PRINTK
 extern void putstr(const char *ptr);
@@ -642,10 +642,10 @@
 
 	/* CPU idle driver */
 	boardId = mvBoardIdGet();
-	if (boardId == DB_88F6535_BP_ID || boardId == RD_88F6560_GW_ID)
+	//if (boardId == DB_88F6535_BP_ID || boardId == RD_88F6560_GW_ID)
 		platform_device_register_simple("kw_cpuidle", 0, NULL, 0);
 
-	pm_power_off = mv_kw2_cpu_idle_enter;
+	pm_power_off = mv_kw2_cpu_idle_enter_wfi;
 }
 
 MACHINE_START(FEROCEON_KW2 ,"Feroceon-KW2")
diff --git a/arch/arm/mach-feroceon-kw2/cpufreq.c b/arch/arm/mach-feroceon-kw2/cpufreq.c
index e9a8750..f72fcdb 100755
--- a/arch/arm/mach-feroceon-kw2/cpufreq.c
+++ b/arch/arm/mach-feroceon-kw2/cpufreq.c
@@ -214,8 +214,10 @@
 	struct proc_dir_entry *cpu_freq_proc;
 #endif /* CONFIG_MV_PMU_PROC */
 
+	/*
 	if (MV_6601_DEV_ID == mvCtrlModelGet())
 		return 0;
+	*/
 
 	printk(KERN_INFO "cpufreq: Init kirkwood cpufreq driver\n");
 
diff --git a/arch/arm/mach-feroceon-kw2/cpuidle.c b/arch/arm/mach-feroceon-kw2/cpuidle.c
index 6a49111..4a36607 100755
--- a/arch/arm/mach-feroceon-kw2/cpuidle.c
+++ b/arch/arm/mach-feroceon-kw2/cpuidle.c
@@ -264,8 +264,10 @@
 
 static int __init kw_cpuidle_drv_init(void)
 {
+	/*
 	if (MV_6601_DEV_ID == mvCtrlModelGet())
 		return 0;
+	*/
 
 	device_registered = 0;
 	return platform_driver_register(&kw_cpuidle_driver);
diff --git a/arch/arm/mach-feroceon-kw2/pm.c b/arch/arm/mach-feroceon-kw2/pm.c
index c9b7158..dda4156 100755
--- a/arch/arm/mach-feroceon-kw2/pm.c
+++ b/arch/arm/mach-feroceon-kw2/pm.c
@@ -60,6 +60,14 @@
 	return;
 }
 
+void mv_kw2_cpu_idle_enter_wfi(void)
+{
+	/* Disable all interrupts . */
+	MV_REG_WRITE(MV_IRQ_MASK_LOW_REG, 0x0);
+	MV_REG_WRITE(MV_IRQ_MASK_HIGH_REG, 0x0);
+	MV_REG_WRITE(MV_IRQ_MASK_ERROR_REG, 0x0);
+	cpu_do_idle();
+}
 
 static void save_kw2_cpu_win_state(void)
 {
@@ -186,8 +194,10 @@
 
 int __init mv_pm_init(void)
 {
+	/*
 	if (MV_6601_DEV_ID == mvCtrlModelGet())
 		return 0;
+	*/
 
 	printk(KERN_INFO "Marvell Kirkwood2 Power Management Initializing\n");