Messages in this thread |  | | Date | Wed, 3 Oct 2018 14:30:54 +0200 | From | Boris Brezillon <> | Subject | Re: [RFC PATCH] mtd: rawnand: ams-delta: use ->exec_op() |
| |
Hi Janusz,
On Wed, 3 Oct 2018 14:00:28 +0200 Janusz Krzysztofik <jmkrzyszt@gmail.com> wrote:
> Replace legacy callbacks with ->select_chip() and ->exec_op().
Thanks for working on that, that's really appreciated.
> > Implementation of NAND_OP_WAITRDY_INSTR has been based on legacy > nand_wait_ready(),
I don't remember what the ams-delta ->dev_ready()/->waitfunc() hooks are doing, but is shouldn't be too hard to replace them by an ams_delta_wait_ready() func.
> otherwise that function would probabaly have to be
^ probably
> reimplemented inside the driver. Hence, legacy callback ->dev_ready() > is still used. > > Use of IO_ADDR_R and IO_ADDR_W legacy structure members will be dropped > later, as soon as the driver is converted to use GPIO API for data I/O.
In the meantime, can you move the iomem pointer to the ams_delta private struct so that this driver no longer uses the ->IO_ADDR_R/W fields?
> > Suggested-by: Boris Brezillon <boris.brezillon@bootlin.com> > Signed-off-by: Janusz Krzysztofik <jmkrzyszt@gmail.com> > --- > Hi, > > I've not tested the change on hardware yet as I'm not sure if: > - handling of NCE limited to that inside ->select_chip() is > sufficient,
I think it is.
> - releasing ALE / CLE immediately after ams_delta_write_buf() is > correct.
Well, you should probably consider waiting for instr->ctx.delay_ns nanoseconds after each instruction, but, if it was working before the conversion to ->exec_op(), it should work just fine now.
Regards,
Boris
|  |