Re: [PATCH v3 3/4] mtd: rawnand: Add support manufacturer specific suspend/resume operation

From: Miquel Raynal
Date: Wed Mar 11 2020 - 03:43:12 EST


Hi Mason,

masonccyang@xxxxxxxxxxx wrote on Wed, 11 Mar 2020 13:40:52 +0800:

> Hi Boris,
>
> > > diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h
> > > index bc2fa3c..c0055ed 100644
> > > --- a/include/linux/mtd/rawnand.h
> > > +++ b/include/linux/mtd/rawnand.h
> > > @@ -1064,6 +1064,8 @@ struct nand_legacy {
> > > * @lock: lock protecting the suspended field. Also used to
> > > * serialize accesses to the NAND device.
> > > * @suspended: set to 1 when the device is suspended, 0 when
> it's not.
> > > + * @_suspend: [REPLACEABLE] specific NAND device suspend
> operation
> > > + * @_resume: [REPLACEABLE] specific NAND device resume operation
> > > * @bbt: [INTERN] bad block table pointer
> > > * @bbt_td: [REPLACEABLE] bad block table descriptor for flash
> > > * lookup.
> > > @@ -1119,6 +1121,8 @@ struct nand_chip {
> > >
> > > struct mutex lock;
> > > unsigned int suspended : 1;
> > > + int (*_suspend)(struct nand_chip *chip);
> > > + void (*_resume)(struct nand_chip *chip);
> >
> > I thought we agreed on not prefixing new hooks with _ ?
>
> For [PATCH v2] series, you mentioned to drop the _ prefix
> of _lock/_unlock only and we finally patched to lock_area/unlock_area.
>

I missed this _, this is not something we want to add.

Also, when applying your patches I had several issues because they
where not base on the last -rc1.

Finally, I think I forgot a line when patching manually so it produces
a warning now.

I am dropping patch 3 and 4, I keep patch 1 and 2 which seem fine.

Please send a rebased and edited v4 for these, don't forget to drop the
kbuildtest robot tag and please also follow these slightly edited
commit logs:

2/4

mtd: rawnand: Add support for manufacturer specific suspend/resume operation

Patch nand_suspend() & nand_resume() to let manufacturers overwrite
suspend/resume operations.

3/4

mtd: rawnand: macronix: Add support for deep power down mode

Macronix AD series support deep power down mode for a minimum
power consumption state.

Overlaod nand_suspend() & nand_resume() in Macronix specific code to
support deep power down mode.

Thanks,
MiquÃl