Lines Matching defs:ops

1250 	struct mtd_oob_ops ops = {
1256 ret = mtd_read_oob(mtd, from, &ops);
1257 *retlen = ops.retlen;
1266 struct mtd_oob_ops ops = {
1272 ret = mtd_write_oob(mtd, to, &ops);
1273 *retlen = ops.retlen;
1309 struct mtd_oob_ops *ops)
1316 if (!ops->datbuf)
1317 ops->len = 0;
1319 if (!ops->oobbuf)
1320 ops->ooblen = 0;
1322 if (offs < 0 || offs + ops->len > mtd->size)
1325 if (ops->ooblen) {
1328 if (ops->ooboffs >= mtd_oobavail(mtd, ops))
1333 mtd_oobavail(mtd, ops)) - ops->ooboffs;
1334 if (ops->ooblen > maxooblen)
1342 struct mtd_oob_ops *ops)
1349 ret = master->_read_oob(master, from, ops);
1351 ret = master->_read(master, from, ops->len, &ops->retlen,
1352 ops->datbuf);
1358 struct mtd_oob_ops *ops)
1365 ret = master->_write_oob(master, to, ops);
1367 ret = master->_write(master, to, ops->len, &ops->retlen,
1368 ops->datbuf);
1374 struct mtd_oob_ops *ops)
1379 struct mtd_oob_ops adjops = *ops;
1391 oobavail = mtd_oobavail(mtd, ops);
1393 while (ops->retlen < ops->len || ops->oobretlen < ops->ooblen) {
1404 adjops.len = ops->len - ops->retlen;
1408 adjops.ooblen = ops->ooblen - ops->oobretlen;
1424 ops->retlen += adjops.retlen;
1425 ops->oobretlen += adjops.oobretlen;
1436 int mtd_read_oob(struct mtd_info *mtd, loff_t from, struct mtd_oob_ops *ops)
1442 ops->retlen = ops->oobretlen = 0;
1444 ret_code = mtd_check_oob_ops(mtd, from, ops);
1451 if (!master->_read_oob && (!master->_read || ops->oobbuf))
1455 ret_code = mtd_io_emulated_slc(mtd, from, true, ops);
1457 ret_code = mtd_read_oob_std(mtd, from, ops);
1462 * In cases where ops->datbuf != NULL, mtd->_read_oob() has semantics
1476 struct mtd_oob_ops *ops)
1481 ops->retlen = ops->oobretlen = 0;
1486 ret = mtd_check_oob_ops(mtd, to, ops);
1493 if (!master->_write_oob && (!master->_write || ops->oobbuf))
1497 return mtd_io_emulated_slc(mtd, to, false, ops);
1499 return mtd_write_oob_std(mtd, to, ops);