[OpenWrt-Devel] [PATCH 1/9] mtd: rawnand: Add an is_last flag to nand_subop
Boris Brezillon
boris.brezillon at collabora.com
Sun Apr 19 08:51:32 EDT 2020
Some controllers need to know when they're passed the last subop so
they can de-assert the CE pin.
Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
---
drivers/mtd/nand/raw/nand_base.c | 2 ++
include/linux/mtd/rawnand.h | 2 ++
2 files changed, 4 insertions(+)
diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
index fa9ac18e97a1..f81b54634061 100644
--- a/drivers/mtd/nand/raw/nand_base.c
+++ b/drivers/mtd/nand/raw/nand_base.c
@@ -2101,6 +2101,8 @@ nand_op_parser_match_pat(const struct nand_op_parser_pattern *pat,
*/
ctx->subop.ninstrs = ninstrs;
ctx->subop.last_instr_end_off = instr_offset;
+ if (ctx->subop.instrs + ninstrs == end && !instr_offset)
+ ctx->subop.is_last = true;
return true;
}
diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h
index 8e8d1a61e2fb..99f4ac47c8d3 100644
--- a/include/linux/mtd/rawnand.h
+++ b/include/linux/mtd/rawnand.h
@@ -701,6 +701,7 @@ struct nand_op_instr {
* of the sub-operation
* @last_instr_end_off: offset to end at (excluded) for the last instruction
* of the sub-operation
+ * @is_last: this sub-operation is the last one
*
* Both @first_instr_start_off and @last_instr_end_off only apply to data or
* address instructions.
@@ -715,6 +716,7 @@ struct nand_subop {
unsigned int ninstrs;
unsigned int first_instr_start_off;
unsigned int last_instr_end_off;
+ bool is_last;
};
unsigned int nand_subop_get_addr_start_off(const struct nand_subop *subop,
--
2.25.2
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list