USB: audio: guard kernel-only code with __KERNEL__
[safe/jmp/linux-2.6] / include / linux / syscalls.h
index 87d06c1..8d8285a 100644 (file)
@@ -55,7 +55,7 @@ struct compat_timeval;
 struct robust_list_head;
 struct getcpu_cache;
 struct old_linux_dirent;
-struct perf_counter_attr;
+struct perf_event_attr;
 
 #include <linux/types.h>
 #include <linux/aio_abi.h>
@@ -100,33 +100,25 @@ struct perf_counter_attr;
 
 #ifdef CONFIG_EVENT_PROFILE
 #define TRACE_SYS_ENTER_PROFILE(sname)                                        \
-static int prof_sysenter_enable_##sname(struct ftrace_event_call *event_call)  \
+static int prof_sysenter_enable_##sname(void)                                 \
 {                                                                             \
-       int ret = 0;                                                           \
-       if (!atomic_inc_return(&event_enter_##sname.profile_count))            \
-               ret = reg_prof_syscall_enter("sys"#sname);                     \
-       return ret;                                                            \
+       return reg_prof_syscall_enter("sys"#sname);                            \
 }                                                                             \
                                                                               \
-static void prof_sysenter_disable_##sname(struct ftrace_event_call *event_call)\
+static void prof_sysenter_disable_##sname(void)                                       \
 {                                                                             \
-       if (atomic_add_negative(-1, &event_enter_##sname.profile_count))       \
-               unreg_prof_syscall_enter("sys"#sname);                         \
+       unreg_prof_syscall_enter("sys"#sname);                                 \
 }
 
 #define TRACE_SYS_EXIT_PROFILE(sname)                                         \
-static int prof_sysexit_enable_##sname(struct ftrace_event_call *event_call)   \
+static int prof_sysexit_enable_##sname(void)                                  \
 {                                                                             \
-       int ret = 0;                                                           \
-       if (!atomic_inc_return(&event_exit_##sname.profile_count))             \
-               ret = reg_prof_syscall_exit("sys"#sname);                      \
-       return ret;                                                            \
+       return reg_prof_syscall_exit("sys"#sname);                             \
 }                                                                             \
                                                                               \
-static void prof_sysexit_disable_##sname(struct ftrace_event_call *event_call) \
+static void prof_sysexit_disable_##sname(void)                                \
 {                                                                              \
-       if (atomic_add_negative(-1, &event_exit_##sname.profile_count))        \
-               unreg_prof_syscall_exit("sys"#sname);                          \
+       unreg_prof_syscall_exit("sys"#sname);                                  \
 }
 
 #define TRACE_SYS_ENTER_PROFILE_INIT(sname)                                   \
@@ -177,7 +169,6 @@ static void prof_sysexit_disable_##sname(struct ftrace_event_call *event_call) \
                event_enter_##sname.id = id;                            \
                set_syscall_enter_id(num, id);                          \
                INIT_LIST_HEAD(&event_enter_##sname.fields);            \
-               init_preds(&event_enter_##sname);                       \
                return 0;                                               \
        }                                                               \
        TRACE_SYS_ENTER_PROFILE(sname);                                 \
@@ -189,7 +180,8 @@ static void prof_sysexit_disable_##sname(struct ftrace_event_call *event_call) \
                .system                 = "syscalls",                   \
                .event                  = &event_syscall_enter,         \
                .raw_init               = init_enter_##sname,           \
-               .show_format            = ftrace_format_syscall,        \
+               .show_format            = syscall_enter_format,         \
+               .define_fields          = syscall_enter_define_fields,  \
                .regfunc                = reg_event_syscall_enter,      \
                .unregfunc              = unreg_event_syscall_enter,    \
                .data                   = "sys"#sname,                  \
@@ -213,7 +205,6 @@ static void prof_sysexit_disable_##sname(struct ftrace_event_call *event_call) \
                event_exit_##sname.id = id;                             \
                set_syscall_exit_id(num, id);                           \
                INIT_LIST_HEAD(&event_exit_##sname.fields);             \
-               init_preds(&event_exit_##sname);                        \
                return 0;                                               \
        }                                                               \
        TRACE_SYS_EXIT_PROFILE(sname);                                  \
@@ -225,6 +216,8 @@ static void prof_sysexit_disable_##sname(struct ftrace_event_call *event_call) \
                .system                 = "syscalls",                   \
                .event                  = &event_syscall_exit,          \
                .raw_init               = init_exit_##sname,            \
+               .show_format            = syscall_exit_format,          \
+               .define_fields          = syscall_exit_define_fields,   \
                .regfunc                = reg_event_syscall_exit,       \
                .unregfunc              = unreg_event_syscall_exit,     \
                .data                   = "sys"#sname,                  \
@@ -232,6 +225,8 @@ static void prof_sysexit_disable_##sname(struct ftrace_event_call *event_call) \
        }
 
 #define SYSCALL_METADATA(sname, nb)                            \
+       SYSCALL_TRACE_ENTER_EVENT(sname);                       \
+       SYSCALL_TRACE_EXIT_EVENT(sname);                        \
        static const struct syscall_metadata __used             \
          __attribute__((__aligned__(4)))                       \
          __attribute__((section("__syscalls_metadata")))       \
@@ -240,20 +235,22 @@ static void prof_sysexit_disable_##sname(struct ftrace_event_call *event_call) \
                .nb_args        = nb,                           \
                .types          = types_##sname,                \
                .args           = args_##sname,                 \
-       };                                                      \
-       SYSCALL_TRACE_ENTER_EVENT(sname);                       \
-       SYSCALL_TRACE_EXIT_EVENT(sname);
+               .enter_event    = &event_enter_##sname,         \
+               .exit_event     = &event_exit_##sname,          \
+       };
 
 #define SYSCALL_DEFINE0(sname)                                 \
+       SYSCALL_TRACE_ENTER_EVENT(_##sname);                    \
+       SYSCALL_TRACE_EXIT_EVENT(_##sname);                     \
        static const struct syscall_metadata __used             \
          __attribute__((__aligned__(4)))                       \
          __attribute__((section("__syscalls_metadata")))       \
          __syscall_meta_##sname = {                            \
                .name           = "sys_"#sname,                 \
                .nb_args        = 0,                            \
+               .enter_event    = &event_enter__##sname,        \
+               .exit_event     = &event_exit__##sname,         \
        };                                                      \
-       SYSCALL_TRACE_ENTER_EVENT(_##sname);                    \
-       SYSCALL_TRACE_EXIT_EVENT(_##sname);                     \
        asmlinkage long sys_##sname(void)
 #else
 #define SYSCALL_DEFINE0(name)     asmlinkage long sys_##name(void)
@@ -880,7 +877,7 @@ asmlinkage long sys_ppoll(struct pollfd __user *, unsigned int,
 int kernel_execve(const char *filename, char *const argv[], char *const envp[]);
 
 
-asmlinkage long sys_perf_counter_open(
-               struct perf_counter_attr __user *attr_uptr,
+asmlinkage long sys_perf_event_open(
+               struct perf_event_attr __user *attr_uptr,
                pid_t pid, int cpu, int group_fd, unsigned long flags);
 #endif