2 dnl # Ensure the DECLARE_EVENT_CLASS macro is available to non-GPL modules.
4 AC_DEFUN([ZFS_AC_KERNEL_DECLARE_EVENT_CLASS], [
5 tmp_flags="$EXTRA_KCFLAGS"
6 EXTRA_KCFLAGS="-I\$(src)"
8 AC_MSG_CHECKING([whether DECLARE_EVENT_CLASS() is available])
9 ZFS_LINUX_TRY_COMPILE_HEADER([
10 #include <linux/module.h>
11 MODULE_LICENSE(ZFS_META_LICENSE);
13 #define CREATE_TRACE_POINTS
16 trace_zfs_autoconf_event_one(1UL);
17 trace_zfs_autoconf_event_two(2UL);
20 AC_DEFINE(HAVE_DECLARE_EVENT_CLASS, 1,
21 [DECLARE_EVENT_CLASS() is available])
25 #if !defined(_CONFTEST_H) || defined(TRACE_HEADER_MULTI_READ)
29 #define TRACE_SYSTEM zfs
30 #include <linux/tracepoint.h>
32 DECLARE_EVENT_CLASS(zfs_autoconf_event_class,
33 TP_PROTO(unsigned long i),
36 __field(unsigned long, i)
41 TP_printk("i = %lu", __entry->i)
44 #define DEFINE_AUTOCONF_EVENT(name) \
45 DEFINE_EVENT(zfs_autoconf_event_class, name, \
46 TP_PROTO(unsigned long i), \
48 DEFINE_AUTOCONF_EVENT(zfs_autoconf_event_one);
49 DEFINE_AUTOCONF_EVENT(zfs_autoconf_event_two);
51 #endif /* _CONFTEST_H */
53 #undef TRACE_INCLUDE_PATH
54 #define TRACE_INCLUDE_PATH .
55 #define TRACE_INCLUDE_FILE conftest
56 #include <trace/define_trace.h>
58 EXTRA_KCFLAGS="$tmp_flags"