[PATCH -next] trace doc: Fix the wrong example of tracepoint

Zhang Jianhua chris.zjh at huawei.com
Mon Jul 19 19:06:07 PDT 2021


The example in tracepoints.rst is out of date, the build error below
will occur if coding according to example in the document.

drivers/irqchip/irq-riscv-intc.c:24:24:
error: macro "DEFINE_TRACE" requires 3 arguments, but only 1 given
   24 | DEFINE_TRACE(test_event);
      |                        ^
In file included from include/trace/events/test.h:8,
from drivers/irqchip/irq-riscv-intc.c:22:
include/linux/tracepoint.h:368:
note: macro "DEFINE_TRACE" defined here
  368 | #define DEFINE_TRACE(name, proto, args)
      |
drivers/irqchip/irq-riscv-intc.c:24:1:
warning: data definition has no type or storage class
   24 | DEFINE_TRACE(test_event);
      | ^~~~~~~~~~~~
drivers/irqchip/irq-riscv-intc.c:24:1:
error: type defaults to ‘int’ in declaration of ‘DEFINE_TRACE’
[-Werror=implicit-int]

There are two reasons for this error. On the one hand, the macro DEFINE_TRACE
has been refactored in commit d25e37d89dd2 ("tracepoint: Optimize using
static_call()") from DEFINE_TRACE(name) to DEFINE_TRACE(name, proto, args),
and the doc is not updated in time. On the other hand, the tracepoint has been
defined in header file, and it does not need to define repeatedly in C file.

--------

Signed-off-by: Zhang Jianhua <chris.zjh at huawei.com>
---
 Documentation/trace/tracepoints.rst | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Documentation/trace/tracepoints.rst b/Documentation/trace/tracepoints.rst
index 0cb8d9ca3d60..fbb2cb4abd3d 100644
--- a/Documentation/trace/tracepoints.rst
+++ b/Documentation/trace/tracepoints.rst
@@ -66,7 +66,6 @@ In subsys/file.c (where the tracing statement must be added)::
 	#include <trace/events/subsys.h>
 
 	#define CREATE_TRACE_POINTS
-	DEFINE_TRACE(subsys_eventname);
 
 	void somefct(void)
 	{
-- 
2.31.0




More information about the linux-riscv mailing list