summaryrefslogtreecommitdiff
path: root/drivers/nand/nand_base.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/nand/nand_base.c')
-rw-r--r--drivers/nand/nand_base.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/drivers/nand/nand_base.c b/drivers/nand/nand_base.c
index b7a5d32fb3..c531ef8e79 100644
--- a/drivers/nand/nand_base.c
+++ b/drivers/nand/nand_base.c
@@ -2336,8 +2336,8 @@ int nand_scan (struct mtd_info *mtd, int maxchips)
/* Calc pagesize */
mtd->oobblock = 1024 << (extid & 0x3);
extid >>= 2;
- /* Calc oobsize */
- mtd->oobsize = (8 << (extid & 0x03)) * (mtd->oobblock / 512);
+ /* Calc oobsize (2^(3 + bit2) * page size/512) */
+ mtd->oobsize = (8 << (extid & 0x01)) * (mtd->oobblock >> 9);
extid >>= 2;
/* Calc blocksize. Blocksize is multiples of 64KiB */
mtd->erasesize = (64 * 1024) << (extid & 0x03);
@@ -2356,14 +2356,16 @@ int nand_scan (struct mtd_info *mtd, int maxchips)
/* Check, if buswidth is correct. Hardware drivers should set
* this correct ! */
+ printk (KERN_INFO "NAND device: Manufacturer ID:"
+ " 0x%02x, Chip ID: 0x%02x (%s %s)\n", nand_maf_id, nand_dev_id,
+ nand_manuf_ids[i].name , mtd->name);
+ printk(KERN_INFO "NAND: Pagesize: %u, Blocksize: %uK, OOBsize: %u\n",
+ mtd->oobblock, mtd->erasesize/1024, mtd->oobsize);
if (busw != (this->options & NAND_BUSWIDTH_16)) {
- printk (KERN_INFO "NAND device: Manufacturer ID:"
- " 0x%02x, Chip ID: 0x%02x (%s %s)\n", nand_maf_id, nand_dev_id,
- nand_manuf_ids[i].name , mtd->name);
- printk (KERN_WARNING
- "NAND bus width %d instead %d bit\n",
- (this->options & NAND_BUSWIDTH_16) ? 16 : 8,
- busw ? 16 : 8);
+/* printk (KERN_WARNING */
+/* "NAND bus width %d instead %d bit\n", */
+/* (this->options & NAND_BUSWIDTH_16) ? 16 : 8, */
+/* busw ? 16 : 8); */
this->select_chip(mtd, -1);
return 1;
}