On Tue, 25 Sep 2018 17:50:31 +0530 Naga Sureshkumar Relli <naga.sureshkumar.relli@xxxxxxxxxx> wrote: > +static int anfc_zero_len_page_write_type_exec(struct nand_chip *chip, > + const struct nand_subop *subop) > +{ > + const struct nand_op_instr *instr; > + struct anfc_nand_chip *achip = to_anfc_nand(chip); > + struct anfc_nand_controller *nfc = to_anfc(chip->controller); > + unsigned int op_id; > + struct anfc_op nfc_op = {}; > + struct mtd_info *mtd = nand_to_mtd(chip); > + u32 addrcycles; > + > + anfc_parse_instructions(chip, subop, &nfc_op); > + nfc->prog = PROG_PGRD; > + instr = nfc_op.data_instr; > + op_id = nfc_op.data_instr_idx; > + > + addrcycles = achip->raddr_cycles + achip->caddr_cycles; > + > + anfc_prepare_cmd(nfc, nfc_op.cmds[0], NAND_CMD_PAGEPROG, 1, Why are the second opcode and the number of address cycles hardcoded. That's simply not future-proof, and I don't want that. Also, I don't understand why you do that, you have all the information you need in subop and you keep guessing some parameters. > + mtd->writesize, addrcycles); > + anfc_setpagecoladdr(nfc, nfc_op.row, nfc_op.col); > + > + return 0; > +} ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/