Hi Boris, > -----Original Message----- > From: Boris Brezillon [mailto:boris.brezil...@bootlin.com] > Sent: Thursday, October 4, 2018 1:17 AM > To: Naga Sureshkumar Relli <nagas...@xilinx.com> > Cc: miquel.ray...@bootlin.com; rich...@nod.at; dw...@infradead.org; > computersforpe...@gmail.com; marek.va...@gmail.com; Michal Simek > <mich...@xilinx.com>; linux-...@lists.infradead.org; > linux-kernel@vger.kernel.org; > nagasures...@gmail.com > Subject: Re: [LINUX PATCH v11 3/3] mtd: rawnand: arasan: Add support for > Arasan > NAND Flash Controller > > On Tue, 25 Sep 2018 17:50:31 +0530 > Naga Sureshkumar Relli <naga.sureshkumar.re...@xilinx.com> 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. Ok, I will remove all these hard coding commands from the driver, instead I will use nfc_op.cmds[0], nfc_op.cmds[1].
Thanks, Naga Sureshkumar Relli > > > + mtd->writesize, addrcycles); > > + anfc_setpagecoladdr(nfc, nfc_op.row, nfc_op.col); > > + > > + return 0; > > +}