mtd: rawnand: export NAND operation tracer
The NAND core has a NAND operation tracing function, but it can only be used by drivers using the generic option parser from the NAND core. Export the tracing function as a static inline function in rawnand.h so that drivers implementing exec_op directly do not have to write their own operation tracing. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
此提交包含在:
@@ -2115,35 +2115,7 @@ static void nand_op_parser_trace(const struct nand_op_parser_ctx *ctx)
|
||||
if (instr == &ctx->subop.instrs[0])
|
||||
prefix = " ->";
|
||||
|
||||
switch (instr->type) {
|
||||
case NAND_OP_CMD_INSTR:
|
||||
pr_debug("%sCMD [0x%02x]\n", prefix,
|
||||
instr->ctx.cmd.opcode);
|
||||
break;
|
||||
case NAND_OP_ADDR_INSTR:
|
||||
pr_debug("%sADDR [%d cyc: %*ph]\n", prefix,
|
||||
instr->ctx.addr.naddrs,
|
||||
instr->ctx.addr.naddrs < 64 ?
|
||||
instr->ctx.addr.naddrs : 64,
|
||||
instr->ctx.addr.addrs);
|
||||
break;
|
||||
case NAND_OP_DATA_IN_INSTR:
|
||||
pr_debug("%sDATA_IN [%d B%s]\n", prefix,
|
||||
instr->ctx.data.len,
|
||||
instr->ctx.data.force_8bit ?
|
||||
", force 8-bit" : "");
|
||||
break;
|
||||
case NAND_OP_DATA_OUT_INSTR:
|
||||
pr_debug("%sDATA_OUT [%d B%s]\n", prefix,
|
||||
instr->ctx.data.len,
|
||||
instr->ctx.data.force_8bit ?
|
||||
", force 8-bit" : "");
|
||||
break;
|
||||
case NAND_OP_WAITRDY_INSTR:
|
||||
pr_debug("%sWAITRDY [max %d ms]\n", prefix,
|
||||
instr->ctx.waitrdy.timeout_ms);
|
||||
break;
|
||||
}
|
||||
nand_op_trace(prefix, instr);
|
||||
|
||||
if (instr == &ctx->subop.instrs[ctx->subop.ninstrs - 1])
|
||||
prefix = " ";
|
||||
|
新增問題並參考
封鎖使用者