diff options
author | Boris Brezillon <boris.brezillon@collabora.com> | 2020-04-18 21:42:17 +0200 |
---|---|---|
committer | Miquel Raynal <miquel.raynal@bootlin.com> | 2020-05-10 21:16:01 +0200 |
commit | ce446b4b2d803cf62de2e74b1fbda8758e4835bd (patch) | |
tree | 4c78cb5fcbf2b2fee6dc4a124bb4d73a38311c5e /drivers/mtd/nand/raw/meson_nand.c | |
parent | 4ba246d7a365b8049892d852ab00d8bd707dc0e6 (diff) | |
download | linux-ce446b4b2d803cf62de2e74b1fbda8758e4835bd.tar.gz linux-ce446b4b2d803cf62de2e74b1fbda8758e4835bd.tar.bz2 linux-ce446b4b2d803cf62de2e74b1fbda8758e4835bd.zip |
mtd: rawnand: Take check_only into account
->exec_op() is passed a check_only argument that encodes when the
controller should just check whether the operation is supported or not
without executing it. Some controllers simply ignore this arguments,
others don't but keep modifying some of the registers before returning.
Let's fix all those drivers.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20200418194217.1016060-1-boris.brezillon@collabora.com
Diffstat (limited to 'drivers/mtd/nand/raw/meson_nand.c')
-rw-r--r-- | drivers/mtd/nand/raw/meson_nand.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mtd/nand/raw/meson_nand.c b/drivers/mtd/nand/raw/meson_nand.c index f6fb5c0e6255..e961f7bebf0a 100644 --- a/drivers/mtd/nand/raw/meson_nand.c +++ b/drivers/mtd/nand/raw/meson_nand.c @@ -899,6 +899,9 @@ static int meson_nfc_exec_op(struct nand_chip *nand, u32 op_id, delay_idle, cmd; int i; + if (check_only) + return 0; + meson_nfc_select_chip(nand, op->cs); for (op_id = 0; op_id < op->ninstrs; op_id++) { instr = &op->instrs[op_id]; |