s5pc1xx: sleep: unlock all OneNand blocks when waked up
authorMinkyu Kang <mk7.kang@samsung.com>
Wed, 7 Apr 2010 04:28:21 +0000 (13:28 +0900)
committerMinkyu Kang <mk7.kang@samsung.com>
Wed, 7 Apr 2010 04:28:21 +0000 (13:28 +0900)
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
cpu/arm_cortexa8/s5pc1xx/sleep.c

index 70b8d2c..a2de669 100644 (file)
@@ -22,6 +22,9 @@
 #include <asm/arch/sys_proto.h>
 #include "sleep.h"
 
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/onenand.h>
+
 struct stack {
        u32 irq[3];
        u32 abt[3];
@@ -260,6 +263,9 @@ void s5pc110_restore_regs(void)
 
 void s5pc110_wakeup(void)
 {
+       struct mtd_info *mtd = &onenand_mtd;
+       struct onenand_chip *onenand_chip= mtd->priv;
+
        struct stack *stk = &stacks[0];
        __asm__ (
                        "msr    cpsr_c, %1\n\t"
@@ -308,6 +314,11 @@ void s5pc110_wakeup(void)
 #endif
        stdio_init_resume();   /* get the devices list going. */
 
+#if defined(CONFIG_CMD_ONENAND)
+       /* unlock all */
+       onenand_chip->unlock_all(mtd);
+#endif
+
        return;
 }