Lines Matching refs:master

474 	struct mtd_info *master = mtd_get_master(mtd);
475 int npairs = mtd_wunit_per_eb(master) / mtd_pairing_groups(master);
480 if (master->pairing && master->pairing->get_info)
481 return master->pairing->get_info(master, wunit, info);
517 struct mtd_info *master = mtd_get_master(mtd);
518 int ngroups = mtd_pairing_groups(master);
519 int npairs = mtd_wunit_per_eb(master) / ngroups;
525 if (master->pairing && master->pairing->get_wunit)
526 return mtd->pairing->get_wunit(master, info);
544 struct mtd_info *master = mtd_get_master(mtd);
546 if (!master->pairing || !master->pairing->ngroups)
549 return master->pairing->ngroups;
609 struct mtd_info *master = mtd_get_master(mtd);
615 * mtd_device_parse_register() multiple times on the same master MTD,
631 if (WARN_ON((!mtd->erasesize || !master->_erase) &&
637 * master is an MLC NAND and has a proper pairing scheme defined.
644 (!mtd_is_partition(mtd) || master->type != MTD_MLCNANDFLASH ||
645 !master->pairing || master->_writev))
664 int ngroups = mtd_pairing_groups(master);
667 mtd->size = (u64)mtd_div_by_eb(mtd->size, master) *
812 mutex_init(&mtd->master.partitions_lock);
901 * @master: the MTD device to unregister. This will unregister both the master
904 int mtd_device_unregister(struct mtd_info *master)
908 if (master->_reboot)
909 unregister_reboot_notifier(&master->reboot_notifier);
911 err = del_mtd_partitions(master);
915 if (!device_is_registered(&master->dev))
918 return del_mtd_device(master);
1021 struct mtd_info *master = mtd_get_master(mtd);
1024 if (!try_module_get(master->owner))
1027 if (master->_get_device) {
1028 err = master->_get_device(mtd);
1031 module_put(master->owner);
1036 master->usecount++;
1096 struct mtd_info *master = mtd_get_master(mtd);
1104 master->usecount--;
1106 if (master->_put_device)
1107 master->_put_device(master);
1109 module_put(master->owner);
1120 struct mtd_info *master = mtd_get_master(mtd);
1128 if (!mtd->erasesize || !master->_erase)
1143 master->erasesize;
1145 master->erasesize) -
1151 ret = master->_erase(master, &adjinstr);
1157 master);
1172 struct mtd_info *master = mtd_get_master(mtd);
1178 if (!master->_point)
1186 return master->_point(master, from, len, retlen, virt, phys);
1193 struct mtd_info *master = mtd_get_master(mtd);
1195 if (!master->_unpoint)
1201 return master->_unpoint(master, mtd_get_master_ofs(mtd, from), len);
1228 static void mtd_update_ecc_stats(struct mtd_info *mtd, struct mtd_info *master,
1233 if (master == mtd)
1236 diff = master->ecc_stats;
1289 struct mtd_info *master = mtd_get_master(mtd);
1292 if (!master->_panic_write)
1300 if (!master->oops_panic_write)
1301 master->oops_panic_write = true;
1303 return master->_panic_write(master, mtd_get_master_ofs(mtd, to), len,
1344 struct mtd_info *master = mtd_get_master(mtd);
1348 if (master->_read_oob)
1349 ret = master->_read_oob(master, from, ops);
1351 ret = master->_read(master, from, ops->len, &ops->retlen,
1360 struct mtd_info *master = mtd_get_master(mtd);
1364 if (master->_write_oob)
1365 ret = master->_write_oob(master, to, ops);
1367 ret = master->_write(master, to, ops->len, &ops->retlen,
1376 struct mtd_info *master = mtd_get_master(mtd);
1377 int ngroups = mtd_pairing_groups(master);
1378 int npairs = mtd_wunit_per_eb(master) / ngroups;
1387 base = (loff_t)mtd_div_by_eb(start, mtd) * master->erasesize;
1398 base += master->erasesize;
1401 wunit = mtd_pairing_info_to_wunit(master, &info);
1438 struct mtd_info *master = mtd_get_master(mtd);
1439 struct mtd_ecc_stats old_stats = master->ecc_stats;
1451 if (!master->_read_oob && (!master->_read || ops->oobbuf))
1459 mtd_update_ecc_stats(mtd, master, &old_stats);
1478 struct mtd_info *master = mtd_get_master(mtd);
1493 if (!master->_write_oob && (!master->_write || ops->oobbuf))
1522 struct mtd_info *master = mtd_get_master(mtd);
1526 if (!master || section < 0)
1529 if (!master->ooblayout || !master->ooblayout->ecc)
1532 return master->ooblayout->ecc(master, section, oobecc);
1556 struct mtd_info *master = mtd_get_master(mtd);
1560 if (!master || section < 0)
1563 if (!master->ooblayout || !master->ooblayout->free)
1566 return master->ooblayout->free(master, section, oobfree);
1875 struct mtd_info *master = mtd_get_master(mtd);
1877 if (!master->_get_fact_prot_info)
1881 return master->_get_fact_prot_info(master, len, retlen, buf);
1888 struct mtd_info *master = mtd_get_master(mtd);
1891 if (!master->_read_fact_prot_reg)
1895 return master->_read_fact_prot_reg(master, from, len, retlen, buf);
1902 struct mtd_info *master = mtd_get_master(mtd);
1904 if (!master->_get_user_prot_info)
1908 return master->_get_user_prot_info(master, len, retlen, buf);
1915 struct mtd_info *master = mtd_get_master(mtd);
1918 if (!master->_read_user_prot_reg)
1922 return master->_read_user_prot_reg(master, from, len, retlen, buf);
1929 struct mtd_info *master = mtd_get_master(mtd);
1933 if (!master->_write_user_prot_reg)
1937 ret = master->_write_user_prot_reg(master, to, len, retlen, buf);
1951 struct mtd_info *master = mtd_get_master(mtd);
1953 if (!master->_lock_user_prot_reg)
1957 return master->_lock_user_prot_reg(master, from, len);
1964 struct mtd_info *master = mtd_get_master(mtd);
1966 if (!master->_lock)
1974 ofs = (loff_t)mtd_div_by_eb(ofs, mtd) * master->erasesize;
1975 len = (u64)mtd_div_by_eb(len, mtd) * master->erasesize;
1978 return master->_lock(master, mtd_get_master_ofs(mtd, ofs), len);
1984 struct mtd_info *master = mtd_get_master(mtd);
1986 if (!master->_unlock)
1994 ofs = (loff_t)mtd_div_by_eb(ofs, mtd) * master->erasesize;
1995 len = (u64)mtd_div_by_eb(len, mtd) * master->erasesize;
1998 return master->_unlock(master, mtd_get_master_ofs(mtd, ofs), len);
2004 struct mtd_info *master = mtd_get_master(mtd);
2006 if (!master->_is_locked)
2014 ofs = (loff_t)mtd_div_by_eb(ofs, mtd) * master->erasesize;
2015 len = (u64)mtd_div_by_eb(len, mtd) * master->erasesize;
2018 return master->_is_locked(master, mtd_get_master_ofs(mtd, ofs), len);
2024 struct mtd_info *master = mtd_get_master(mtd);
2028 if (!master->_block_isreserved)
2032 ofs = (loff_t)mtd_div_by_eb(ofs, mtd) * master->erasesize;
2034 return master->_block_isreserved(master, mtd_get_master_ofs(mtd, ofs));
2040 struct mtd_info *master = mtd_get_master(mtd);
2044 if (!master->_block_isbad)
2048 ofs = (loff_t)mtd_div_by_eb(ofs, mtd) * master->erasesize;
2050 return master->_block_isbad(master, mtd_get_master_ofs(mtd, ofs));
2056 struct mtd_info *master = mtd_get_master(mtd);
2059 if (!master->_block_markbad)
2067 ofs = (loff_t)mtd_div_by_eb(ofs, mtd) * master->erasesize;
2069 ret = master->_block_markbad(master, mtd_get_master_ofs(mtd, ofs));
2128 struct mtd_info *master = mtd_get_master(mtd);
2134 if (!master->_writev)
2137 return master->_writev(master, vecs, count,