2009-11-30 21:24:17

by Jason Baron

[permalink] [raw]
Subject: [PATCH] tracing: add DEFINE_EVENT(), DEFINE_SINGLE_EVENT() support to docbook

The introduction of the new 'DECLARE_EVENT_CLASS()' obviates the need for the
'TRACE_EVENT()' macro in some cases. Thus, docbook style comments that used
to live with 'TRACE_EVENT()' are now moved to 'DEFINE_EVENT()'. Thus, we need
to make the docbook system understand the new 'DEFINE_EVENT()' macro. In
addition I've tried to futureproof the patch, by also adding support for
'DEFINE_SINGLE_EVENT()', since there has been discussion about renaming:
TRACE_EVENT() -> DEFINE_SINGLE_EVENT().

Without this patch the tracepoint docbook fails to build.

I've verified that this patch correctly builds the tracepoint docbook which
currently covers signals, and irqs.

Signed-off-by: Jason Baron <[email protected]>
---

scripts/kernel-doc | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index ea9f8a5..d1746be 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -1855,6 +1855,13 @@ sub tracepoint_munge($) {
if($prototype =~ m/TRACE_EVENT\((.*?),/) {
$tracepointname = $1;
}
+ if($prototype =~ m/DEFINE_SINGLE_EVENT\((.*?),/) {
+ $tracepointname = $1;
+ }
+ if($prototype =~ m/DEFINE_EVENT\((.*?),(.*?),/) {
+ $tracepointname = $2;
+ }
+ $tracepointname =~ s/^\s+//; #strip leading whitespace
if($prototype =~ m/TP_PROTO\((.*?)\)/) {
$tracepointargs = $1;
}
@@ -1920,7 +1927,9 @@ sub process_state3_function($$) {
if ($prototype =~ /SYSCALL_DEFINE/) {
syscall_munge();
}
- if ($prototype =~ /TRACE_EVENT/) {
+ if ($prototype =~ /TRACE_EVENT/ || $prototype =~ /DEFINE_EVENT/ ||
+ $prototype =~ /DEFINE_SINGLE_EVENT/)
+ {
tracepoint_munge($file);
}
dump_function($prototype, $file);
--
1.6.5.1


2009-11-30 22:01:57

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] tracing: add DEFINE_EVENT(), DEFINE_SINGLE_EVENT() support to docbook

On Mon, 2009-11-30 at 16:23 -0500, Jason Baron wrote:
> The introduction of the new 'DECLARE_EVENT_CLASS()' obviates the need for the
> 'TRACE_EVENT()' macro in some cases. Thus, docbook style comments that used
> to live with 'TRACE_EVENT()' are now moved to 'DEFINE_EVENT()'. Thus, we need
> to make the docbook system understand the new 'DEFINE_EVENT()' macro. In
> addition I've tried to futureproof the patch, by also adding support for
> 'DEFINE_SINGLE_EVENT()', since there has been discussion about renaming:
> TRACE_EVENT() -> DEFINE_SINGLE_EVENT().
>
> Without this patch the tracepoint docbook fails to build.
>
> I've verified that this patch correctly builds the tracepoint docbook which
> currently covers signals, and irqs.
>
> Signed-off-by: Jason Baron <[email protected]>

Acked-by: Steven Rostedt <[email protected]>

-- Steve

2009-11-30 22:06:50

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] tracing: add DEFINE_EVENT(), DEFINE_SINGLE_EVENT() support to docbook

Jason Baron wrote:
> The introduction of the new 'DECLARE_EVENT_CLASS()' obviates the need for the
> 'TRACE_EVENT()' macro in some cases. Thus, docbook style comments that used
> to live with 'TRACE_EVENT()' are now moved to 'DEFINE_EVENT()'. Thus, we need
> to make the docbook system understand the new 'DEFINE_EVENT()' macro. In
> addition I've tried to futureproof the patch, by also adding support for
> 'DEFINE_SINGLE_EVENT()', since there has been discussion about renaming:
> TRACE_EVENT() -> DEFINE_SINGLE_EVENT().
>
> Without this patch the tracepoint docbook fails to build.
>
> I've verified that this patch correctly builds the tracepoint docbook which
> currently covers signals, and irqs.
>
> Signed-off-by: Jason Baron <[email protected]>
> ---
>
> scripts/kernel-doc | 11 ++++++++++-
> 1 files changed, 10 insertions(+), 1 deletions(-)
>
> diff --git a/scripts/kernel-doc b/scripts/kernel-doc
> index ea9f8a5..d1746be 100755
> --- a/scripts/kernel-doc
> +++ b/scripts/kernel-doc
> @@ -1855,6 +1855,13 @@ sub tracepoint_munge($) {
> if($prototype =~ m/TRACE_EVENT\((.*?),/) {
> $tracepointname = $1;
> }
> + if($prototype =~ m/DEFINE_SINGLE_EVENT\((.*?),/) {
> + $tracepointname = $1;
> + }
> + if($prototype =~ m/DEFINE_EVENT\((.*?),(.*?),/) {
> + $tracepointname = $2;
> + }
> + $tracepointname =~ s/^\s+//; #strip leading whitespace
> if($prototype =~ m/TP_PROTO\((.*?)\)/) {
> $tracepointargs = $1;
> }

Hi,

Looks fine to me except that "if(" should be "if ("
in the old & new code.


> @@ -1920,7 +1927,9 @@ sub process_state3_function($$) {
> if ($prototype =~ /SYSCALL_DEFINE/) {
> syscall_munge();
> }
> - if ($prototype =~ /TRACE_EVENT/) {
> + if ($prototype =~ /TRACE_EVENT/ || $prototype =~ /DEFINE_EVENT/ ||
> + $prototype =~ /DEFINE_SINGLE_EVENT/)
> + {
> tracepoint_munge($file);
> }
> dump_function($prototype, $file);


--
~Randy