X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=common%2Fflash.c;h=781cb9c4a2e0edef319de5506ee4546214b4c5df;hb=5dfc9e146a839271114dcad3f5a7501f8661dca0;hp=888ff9c67c676918f5bed737bccb93e7ae058c1d;hpb=19909edb97140a5ea3139705589bb90e023ab5e1;p=oweals%2Fu-boot.git diff --git a/common/flash.c b/common/flash.c index 888ff9c67c..781cb9c4a2 100644 --- a/common/flash.c +++ b/common/flash.c @@ -26,7 +26,8 @@ #include #include -#if !defined(CFG_NO_FLASH) +#if !defined(CONFIG_SYS_NO_FLASH) +#include extern flash_info_t flash_info[]; /* info for FLASH chips */ @@ -43,15 +44,18 @@ extern flash_info_t flash_info[]; /* info for FLASH chips */ void flash_protect (int flag, ulong from, ulong to, flash_info_t *info) { - ulong b_end = info->start[0] + info->size - 1; /* bank end address */ - short s_end = info->sector_count - 1; /* index of last sector */ + ulong b_end; + short s_end; int i; /* Do nothing if input data is bad. */ - if (info->sector_count == 0 || info->size == 0 || to < from) { + if (!info || info->sector_count == 0 || info->size == 0 || to < from) { return; } + s_end = info->sector_count - 1; /* index of last sector */ + b_end = info->start[0] + info->size - 1; /* bank end address */ + debug ("flash_protect %s: from 0x%08lX to 0x%08lX\n", (flag & FLAG_PROTECT_SET) ? "ON" : (flag & FLAG_PROTECT_CLEAR) ? "OFF" : "???", @@ -75,19 +79,19 @@ flash_protect (int flag, ulong from, ulong to, flash_info_t *info) */ if (from <= end && to >= info->start[i]) { if (flag & FLAG_PROTECT_CLEAR) { -#if defined(CFG_FLASH_PROTECTION) +#if defined(CONFIG_SYS_FLASH_PROTECTION) flash_real_protect(info, i, 0); #else info->protect[i] = 0; -#endif /* CFG_FLASH_PROTECTION */ +#endif /* CONFIG_SYS_FLASH_PROTECTION */ debug ("protect off %d\n", i); } else if (flag & FLAG_PROTECT_SET) { -#if defined(CFG_FLASH_PROTECTION) +#if defined(CONFIG_SYS_FLASH_PROTECTION) flash_real_protect(info, i, 1); #else info->protect[i] = 1; -#endif /* CFG_FLASH_PROTECTION */ +#endif /* CONFIG_SYS_FLASH_PROTECTION */ debug ("protect on %d\n", i); } } @@ -104,7 +108,7 @@ addr2info (ulong addr) flash_info_t *info; int i; - for (i=0, info=&flash_info[0]; iflash_id != FLASH_UNKNOWN && addr >= info->start[0] && /* WARNING - The '- 1' is needed if the flash @@ -225,4 +229,4 @@ void flash_perror (int err) /*----------------------------------------------------------------------- */ -#endif /* !CFG_NO_FLASH */ +#endif /* !CONFIG_SYS_NO_FLASH */