Lines Matching refs:mtd

43 static struct mtd_info *mtd;  variable
73 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock()
76 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in write_eraseblock()
85 err = mtd_write_oob(mtd, addr, &ops); in write_eraseblock()
177 loff_t addr = (loff_t)ebnum * mtd->erasesize; in verify_eraseblock()
181 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in verify_eraseblock()
190 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock()
213 if (use_offset != 0 || use_len < mtd->ecclayout->oobavail) { in verify_eraseblock()
219 ops.ooblen = mtd->ecclayout->oobavail; in verify_eraseblock()
224 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock()
225 if (err || ops.oobretlen != mtd->ecclayout->oobavail) { in verify_eraseblock()
241 mtd->ecclayout->oobavail - k); in verify_eraseblock()
265 loff_t addr = (loff_t)ebnum * mtd->erasesize; in verify_eraseblock_in_one_go()
266 size_t len = mtd->ecclayout->oobavail * pgcnt; in verify_eraseblock_in_one_go()
267 size_t oobavail = mtd->ecclayout->oobavail; in verify_eraseblock_in_one_go()
282 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock_in_one_go()
291 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in verify_eraseblock_in_one_go()
352 mtd = get_mtd_device(NULL, dev); in mtd_oobtest_init()
353 if (IS_ERR(mtd)) { in mtd_oobtest_init()
354 err = PTR_ERR(mtd); in mtd_oobtest_init()
359 if (!mtd_type_is_nand(mtd)) { in mtd_oobtest_init()
364 tmp = mtd->size; in mtd_oobtest_init()
365 do_div(tmp, mtd->erasesize); in mtd_oobtest_init()
367 pgcnt = mtd->erasesize / mtd->writesize; in mtd_oobtest_init()
372 (unsigned long long)mtd->size, mtd->erasesize, in mtd_oobtest_init()
373 mtd->writesize, ebcnt, pgcnt, mtd->oobsize); in mtd_oobtest_init()
376 readbuf = kmalloc(mtd->erasesize, GFP_KERNEL); in mtd_oobtest_init()
379 writebuf = kmalloc(mtd->erasesize, GFP_KERNEL); in mtd_oobtest_init()
386 err = mtdtest_scan_for_bad_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
391 use_len = mtd->ecclayout->oobavail; in mtd_oobtest_init()
392 use_len_max = mtd->ecclayout->oobavail; in mtd_oobtest_init()
398 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
418 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
451 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
457 use_len = mtd->ecclayout->oobavail; in mtd_oobtest_init()
458 use_len_max = mtd->ecclayout->oobavail; in mtd_oobtest_init()
468 use_len = mtd->ecclayout->oobavail; in mtd_oobtest_init()
469 use_len_max = mtd->ecclayout->oobavail; in mtd_oobtest_init()
477 use_len = mtd->ecclayout->oobavail; in mtd_oobtest_init()
478 use_len_max = mtd->ecclayout->oobavail; in mtd_oobtest_init()
484 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
490 addr0 += mtd->erasesize; in mtd_oobtest_init()
498 ops.ooboffs = mtd->ecclayout->oobavail; in mtd_oobtest_init()
503 err = mtd_write_oob(mtd, addr0, &ops); in mtd_oobtest_init()
518 ops.ooboffs = mtd->ecclayout->oobavail; in mtd_oobtest_init()
523 err = mtd_read_oob(mtd, addr0, &ops); in mtd_oobtest_init()
540 ops.ooblen = mtd->ecclayout->oobavail + 1; in mtd_oobtest_init()
547 err = mtd_write_oob(mtd, mtd->size - mtd->writesize, &ops); in mtd_oobtest_init()
560 ops.ooblen = mtd->ecclayout->oobavail + 1; in mtd_oobtest_init()
567 err = mtd_read_oob(mtd, mtd->size - mtd->writesize, &ops); in mtd_oobtest_init()
576 err = mtdtest_erase_eraseblock(mtd, ebcnt - 1); in mtd_oobtest_init()
584 ops.ooblen = mtd->ecclayout->oobavail; in mtd_oobtest_init()
591 err = mtd_write_oob(mtd, mtd->size - mtd->writesize, &ops); in mtd_oobtest_init()
604 ops.ooblen = mtd->ecclayout->oobavail; in mtd_oobtest_init()
611 err = mtd_read_oob(mtd, mtd->size - mtd->writesize, &ops); in mtd_oobtest_init()
625 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
635 size_t sz = mtd->ecclayout->oobavail; in mtd_oobtest_init()
638 addr = (loff_t)(i + 1) * mtd->erasesize - mtd->writesize; in mtd_oobtest_init()
649 err = mtd_write_oob(mtd, addr, &ops); in mtd_oobtest_init()
659 addr += mtd->writesize; in mtd_oobtest_init()
671 mtd->ecclayout->oobavail * 2); in mtd_oobtest_init()
672 addr = (loff_t)(i + 1) * mtd->erasesize - mtd->writesize; in mtd_oobtest_init()
676 ops.ooblen = mtd->ecclayout->oobavail * 2; in mtd_oobtest_init()
681 err = mtd_read_oob(mtd, addr, &ops); in mtd_oobtest_init()
685 mtd->ecclayout->oobavail * 2)) { in mtd_oobtest_init()
708 put_mtd_device(mtd); in mtd_oobtest_init()