lkml.org 
[lkml]   [2009]   [Aug]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 07/12] add ftrace_event_call void * 'data' field
    add an optional * void pointer to 'ftrace_event_call' that is
    passed in for regfunc and unregfunc.

    Signed-off-by: Jason Baron <jbaron@redhat.com>

    ---
    include/linux/ftrace_event.h | 5 +++--
    include/trace/ftrace.h | 4 ++--
    kernel/trace/trace_events.c | 4 ++--
    3 files changed, 7 insertions(+), 6 deletions(-)

    diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h
    index ac8c6f8..8544f12 100644
    --- a/include/linux/ftrace_event.h
    +++ b/include/linux/ftrace_event.h
    @@ -112,8 +112,8 @@ struct ftrace_event_call {
    struct dentry *dir;
    struct trace_event *event;
    int enabled;
    - int (*regfunc)(void);
    - void (*unregfunc)(void);
    + int (*regfunc)(void *);
    + void (*unregfunc)(void *);
    int id;
    int (*raw_init)(void);
    int (*show_format)(struct trace_seq *s);
    @@ -122,6 +122,7 @@ struct ftrace_event_call {
    int filter_active;
    struct event_filter *filter;
    void *mod;
    + void *data;

    atomic_t profile_count;
    int (*profile_enable)(struct ftrace_event_call *);
    diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h
    index 80e5f6c..a0de384 100644
    --- a/include/trace/ftrace.h
    +++ b/include/trace/ftrace.h
    @@ -568,7 +568,7 @@ static void ftrace_raw_event_##call(proto) \
    trace_nowake_buffer_unlock_commit(event, irq_flags, pc); \
    } \
    \
    -static int ftrace_raw_reg_event_##call(void) \
    +static int ftrace_raw_reg_event_##call(void *ptr) \
    { \
    int ret; \
    \
    @@ -579,7 +579,7 @@ static int ftrace_raw_reg_event_##call(void) \
    return ret; \
    } \
    \
    -static void ftrace_raw_unreg_event_##call(void) \
    +static void ftrace_raw_unreg_event_##call(void *ptr) \
    { \
    unregister_trace_##call(ftrace_raw_event_##call); \
    } \
    diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
    index f95f847..1d289e2 100644
    --- a/kernel/trace/trace_events.c
    +++ b/kernel/trace/trace_events.c
    @@ -86,14 +86,14 @@ static void ftrace_event_enable_disable(struct ftrace_event_call *call,
    if (call->enabled) {
    call->enabled = 0;
    tracing_stop_cmdline_record();
    - call->unregfunc();
    + call->unregfunc(call->data);
    }
    break;
    case 1:
    if (!call->enabled) {
    call->enabled = 1;
    tracing_start_cmdline_record();
    - call->regfunc();
    + call->regfunc(call->data);
    }
    break;
    }
    --
    1.6.2.5


    \
     
     \ /
      Last update: 2009-08-10 22:57    [W:2.385 / U:0.528 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site