diff options
Diffstat (limited to 'drivers/nand/nand_base.c')
-rw-r--r-- | drivers/nand/nand_base.c | 20 |
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; } |