On Mon, 21 Jan 2019 09:25:26 +0000 "Bean Huo (beanhuo)" <beanhuo@xxxxxxxxxx> wrote: > Hi, Boris > Thanks for reviewing this patch. > > >> * is here to let vendor specific code release those resources. > >> * @fixup_onfi_param_page: apply vendor specific fixups to the ONFI > >parameter > >> * page. This is called after the checksum is verified. > >> + * @erase_pre: preparation before actually erase a physical block. > >> */ > >> struct nand_manufacturer_ops { > >> void (*detect)(struct nand_chip *chip); @@ -49,6 +50,7 @@ struct > >> nand_manufacturer_ops { > >> void (*cleanup)(struct nand_chip *chip); > >> void (*fixup_onfi_param_page)(struct nand_chip *chip, > >> struct nand_onfi_params *p); > >> + int (*erase_pre)(struct nand_chip *chip, int page); > > > >Let's move this hook to nand_chip and name it ->pre_erase() or > >->erase_preparation(). > > > > Can you tell us more reasons why moves this hook to nand_chip? Because it's supposed to be a per-chip thing. I mean, not all of your chips have this bug (at least I hope), so we want to only have a ->pre_erase() implementation when it's really needed. The manufacturer specific ->init() hook will decide when it's appropriate to populate this ->pre_erase pointer based on the NAND chip id (or the NAND chip model). > In my opinion, it is better to add this hook in nand_manufacturer_ops, since nand_manufacturer_ops > Already exists in nand_chip, also this function is related to specific NAND manufacturer. ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/