diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2010-05-13 20:35:54 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2010-05-13 20:39:20 -0400 |
commit | 412da2f6e083eba6e4bd91ff2e78abb4735357a7 (patch) | |
tree | 4a66c3a249c986ad8aa7bad6c83b1aa237db8f09 /drivers/mtd/chips | |
parent | 564b84978df2bf83d334940f1a1190702579f79f (diff) |
mtd: cfi_cmdset_0002: Tone down warning messages about TopBottom CFI field
Accept values of 2-5 for TopBottom, where the newly-added 4 and 5 values
mean a uniform layout. It does indicate WP layout but we don't handle that.
Also don't say "broken" when swapping erase regions in a top-boot chip.
That got retrospectively documented in the spec.
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/chips')
-rw-r--r-- | drivers/mtd/chips/cfi_cmdset_0002.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c index ce38d3d049ef..c27dd1c936cd 100644 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c | |||
@@ -390,14 +390,15 @@ struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary) | |||
390 | #endif | 390 | #endif |
391 | 391 | ||
392 | bootloc = extp->TopBottom; | 392 | bootloc = extp->TopBottom; |
393 | if ((bootloc != 2) && (bootloc != 3)) { | 393 | if ((bootloc < 2) || (bootloc > 5)) { |
394 | printk(KERN_WARNING "%s: CFI does not contain boot " | 394 | printk(KERN_WARNING "%s: CFI contains unrecognised boot " |
395 | "bank location. Assuming top.\n", map->name); | 395 | "bank location (%d). Assuming bottom.\n", |
396 | bootloc, map->name); | ||
396 | bootloc = 2; | 397 | bootloc = 2; |
397 | } | 398 | } |
398 | 399 | ||
399 | if (bootloc == 3 && cfi->cfiq->NumEraseRegions > 1) { | 400 | if (bootloc == 3 && cfi->cfiq->NumEraseRegions > 1) { |
400 | printk(KERN_WARNING "%s: Swapping erase regions for broken CFI table.\n", map->name); | 401 | printk(KERN_WARNING "%s: Swapping erase regions for top-boot CFI table.\n", map->name); |
401 | 402 | ||
402 | for (i=0; i<cfi->cfiq->NumEraseRegions / 2; i++) { | 403 | for (i=0; i<cfi->cfiq->NumEraseRegions / 2; i++) { |
403 | int j = (cfi->cfiq->NumEraseRegions-1)-i; | 404 | int j = (cfi->cfiq->NumEraseRegions-1)-i; |