linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / mtd / onenand / onenand_bbt.c
index 1b00dac..4510d33 100644 (file)
@@ -17,9 +17,6 @@
 #include <linux/mtd/onenand.h>
 #include <linux/mtd/compatmac.h>
 
-extern int onenand_do_read_oob(struct mtd_info *mtd, loff_t from, size_t len,
-                              size_t *retlen, u_char *buf);
-
 /**
  * check_short_pattern - [GENERIC] check if a pattern is in the buffer
  * @param buf          the buffer to search
@@ -90,13 +87,13 @@ static int create_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr
 
                        /* No need to read pages fully,
                         * just read required OOB bytes */
-                       ret = onenand_do_read_oob(mtd, from + j * mtd->writesize + bd->offs,
-                                                 readlen, &retlen, &buf[0]);
+                       ret = mtd->read_oob(mtd, from + j * mtd->oobblock + bd->offs,
+                                               readlen, &retlen, &buf[0]);
 
                        if (ret)
                                return ret;
 
-                       if (check_short_pattern(&buf[j * scanlen], scanlen, mtd->writesize, bd)) {
+                       if (check_short_pattern(&buf[j * scanlen], scanlen, mtd->oobblock, bd)) {
                                bbm->bbt[i >> 3] |= 0x03 << (i & 0x6);
                                printk(KERN_WARNING "Bad eraseblock %d at 0x%08x\n",
                                        i >> 1, (unsigned int) from);