/*-----------------------------------------------------------------------
  */
+
+void flash_protect_default(void)
+{
+       /* Monitor protection ON by default */
+#if (CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE) && \
+       (!defined(CONFIG_MONITOR_IS_IN_RAM))
+       flash_protect(FLAG_PROTECT_SET,
+                      CONFIG_SYS_MONITOR_BASE,
+                      CONFIG_SYS_MONITOR_BASE + monitor_flash_len  - 1,
+                      flash_get_info(CONFIG_SYS_MONITOR_BASE));
+#endif
+
+       /* Environment protection ON by default */
+#ifdef CONFIG_ENV_IS_IN_FLASH
+       flash_protect(FLAG_PROTECT_SET,
+                      CONFIG_ENV_ADDR,
+                      CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE - 1,
+                      flash_get_info(CONFIG_ENV_ADDR));
+#endif
+
+       /* Redundant environment protection ON by default */
+#ifdef CONFIG_ENV_ADDR_REDUND
+       flash_protect(FLAG_PROTECT_SET,
+                      CONFIG_ENV_ADDR_REDUND,
+                      CONFIG_ENV_ADDR_REDUND + CONFIG_ENV_SECT_SIZE - 1,
+                      flash_get_info(CONFIG_ENV_ADDR_REDUND));
+#endif
+
+#if defined(CONFIG_SYS_FLASH_AUTOPROTECT_LIST)
+       for (i = 0; i < (sizeof(apl) / sizeof(struct apl_s)); i++) {
+               debug("autoprotecting from %08x to %08x\n",
+                     apl[i].start, apl[i].start + apl[i].size - 1);
+               flash_protect(FLAG_PROTECT_SET,
+                              apl[i].start,
+                              apl[i].start + apl[i].size - 1,
+                              flash_get_info(apl[i].start));
+       }
+#endif
+}
+
 unsigned long flash_init (void)
 {
        unsigned long size = 0;
 #endif /* CONFIG_SYS_FLASH_PROTECTION */
        }
 
-       /* Monitor protection ON by default */
-#if (CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE) && \
-       (!defined(CONFIG_MONITOR_IS_IN_RAM))
-       flash_protect (FLAG_PROTECT_SET,
-                      CONFIG_SYS_MONITOR_BASE,
-                      CONFIG_SYS_MONITOR_BASE + monitor_flash_len  - 1,
-                      flash_get_info(CONFIG_SYS_MONITOR_BASE));
-#endif
-
-       /* Environment protection ON by default */
-#ifdef CONFIG_ENV_IS_IN_FLASH
-       flash_protect (FLAG_PROTECT_SET,
-                      CONFIG_ENV_ADDR,
-                      CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE - 1,
-                      flash_get_info(CONFIG_ENV_ADDR));
-#endif
-
-       /* Redundant environment protection ON by default */
-#ifdef CONFIG_ENV_ADDR_REDUND
-       flash_protect (FLAG_PROTECT_SET,
-                      CONFIG_ENV_ADDR_REDUND,
-                      CONFIG_ENV_ADDR_REDUND + CONFIG_ENV_SECT_SIZE - 1,
-                      flash_get_info(CONFIG_ENV_ADDR_REDUND));
-#endif
-
-#if defined(CONFIG_SYS_FLASH_AUTOPROTECT_LIST)
-       for (i = 0; i < (sizeof(apl) / sizeof(struct apl_s)); i++) {
-               debug("autoprotecting from %08x to %08x\n",
-                     apl[i].start, apl[i].start + apl[i].size - 1);
-               flash_protect (FLAG_PROTECT_SET,
-                              apl[i].start,
-                              apl[i].start + apl[i].size - 1,
-                              flash_get_info(apl[i].start));
-       }
-#endif
-
+       flash_protect_default();
 #ifdef CONFIG_FLASH_CFI_MTD
        cfi_mtd_init();
 #endif