--- /dev/null
+From 8eb1518642738c6892bd629b46043513a3bf1a6a Mon Sep 17 00:00:00 2001
+From: Steven Rostedt <rostedt@goodmis.org>
+Date: Sun, 23 Mar 2025 15:21:51 -0400
+Subject: tracing: Do not use PERF enums when perf is not defined
+
+From: Steven Rostedt <rostedt@goodmis.org>
+
+commit 8eb1518642738c6892bd629b46043513a3bf1a6a upstream.
+
+An update was made to up the module ref count when a synthetic event is
+registered for both trace and perf events. But if perf is not configured
+in, the perf enums used will cause the kernel to fail to build.
+
+Cc: Masami Hiramatsu <mhiramat@kernel.org>
+Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+Cc: Douglas Raillard <douglas.raillard@arm.com>
+Link: https://lore.kernel.org/20250323152151.528b5ced@batman.local.home
+Fixes: 21581dd4e7ff ("tracing: Ensure module defining synth event cannot be unloaded while tracing")
+Reported-by: kernel test robot <lkp@intel.com>
+Closes: https://lore.kernel.org/oe-kbuild-all/202503232230.TeREVy8R-lkp@intel.com/
+Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ kernel/trace/trace_events_synth.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+--- a/kernel/trace/trace_events_synth.c
++++ b/kernel/trace/trace_events_synth.c
+@@ -863,8 +863,10 @@ static int synth_event_reg(struct trace_
+ int ret;
+
+ switch (type) {
+- case TRACE_REG_REGISTER:
++#ifdef CONFIG_PERF_EVENTS
+ case TRACE_REG_PERF_REGISTER:
++#endif
++ case TRACE_REG_REGISTER:
+ if (!try_module_get(event->mod))
+ return -EBUSY;
+ break;
+@@ -875,8 +877,10 @@ static int synth_event_reg(struct trace_
+ ret = trace_event_reg(call, type, data);
+
+ switch (type) {
+- case TRACE_REG_UNREGISTER:
++#ifdef CONFIG_PERF_EVENTS
+ case TRACE_REG_PERF_UNREGISTER:
++#endif
++ case TRACE_REG_UNREGISTER:
+ module_put(event->mod);
+ break;
+ default: