]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: mac80211: refactor chandef tracing macros
authorJohannes Berg <johannes.berg@intel.com>
Tue, 3 Mar 2026 14:26:17 +0000 (15:26 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 13 Mar 2026 06:11:14 +0000 (07:11 +0100)
We don't need to duplicate the macros, just make a generic
one that gets the name prefix to be used, and use that to
create the others. While at it, add the puncturing bitmap
to the trace and simplify the ternary expressions.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20260303152641.ca32d70055f8.I8138a31ceb75715d928d807554288baccc33cd8c@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/trace.h

index c04d4547e8f4655ad77b83bed6e5a832d959e61b..1f0c07eaad1bdfcbc7cf79eed4fc890f5626d652 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Portions of this file
  * Copyright(c) 2016-2017 Intel Deutschland GmbH
- * Copyright (C) 2018 - 2024 Intel Corporation
+ * Copyright (C) 2018-2024, 2026 Intel Corporation
  */
 
 #if !defined(__MAC80211_DRIVER_TRACE) || defined(TRACE_HEADER_MULTI_READ)
 #define VIF_PR_FMT     " vif:%s(%d%s)"
 #define VIF_PR_ARG     __get_str(vif_name), __entry->vif_type, __entry->p2p ? "/p2p" : ""
 
-#define CHANDEF_ENTRY  __field(u32, control_freq)                                      \
-                       __field(u32, freq_offset)                                       \
-                       __field(u32, chan_width)                                        \
-                       __field(u32, center_freq1)                                      \
-                       __field(u32, freq1_offset)                                      \
-                       __field(u32, center_freq2)
-#define CHANDEF_ASSIGN(c)                                                      \
-                       __entry->control_freq = (c) ? ((c)->chan ? (c)->chan->center_freq : 0) : 0;     \
-                       __entry->freq_offset = (c) ? ((c)->chan ? (c)->chan->freq_offset : 0) : 0;      \
-                       __entry->chan_width = (c) ? (c)->width : 0;                     \
-                       __entry->center_freq1 = (c) ? (c)->center_freq1 : 0;            \
-                       __entry->freq1_offset = (c) ? (c)->freq1_offset : 0;            \
-                       __entry->center_freq2 = (c) ? (c)->center_freq2 : 0;
-#define CHANDEF_PR_FMT " chandef(%d.%03d MHz,width:%d,center: %d.%03d/%d MHz)"
-#define CHANDEF_PR_ARG __entry->control_freq, __entry->freq_offset, __entry->chan_width, \
-                       __entry->center_freq1, __entry->freq1_offset, __entry->center_freq2
-
-#define MIN_CHANDEF_ENTRY                                                              \
-                       __field(u32, min_control_freq)                                  \
-                       __field(u32, min_freq_offset)                                   \
-                       __field(u32, min_chan_width)                                    \
-                       __field(u32, min_center_freq1)                                  \
-                       __field(u32, min_freq1_offset)                                  \
-                       __field(u32, min_center_freq2)
-
-#define MIN_CHANDEF_ASSIGN(c)                                                          \
-                       __entry->min_control_freq = (c)->chan ? (c)->chan->center_freq : 0;     \
-                       __entry->min_freq_offset = (c)->chan ? (c)->chan->freq_offset : 0;      \
-                       __entry->min_chan_width = (c)->width;                           \
-                       __entry->min_center_freq1 = (c)->center_freq1;                  \
-                       __entry->min_freq1_offset = (c)->freq1_offset;                  \
-                       __entry->min_center_freq2 = (c)->center_freq2;
-#define MIN_CHANDEF_PR_FMT     " mindef(%d.%03d MHz,width:%d,center: %d.%03d/%d MHz)"
-#define MIN_CHANDEF_PR_ARG     __entry->min_control_freq, __entry->min_freq_offset,    \
-                       __entry->min_chan_width,                                        \
-                       __entry->min_center_freq1, __entry->min_freq1_offset,           \
-                       __entry->min_center_freq2
-
-#define AP_CHANDEF_ENTRY                                                               \
-                       __field(u32, ap_control_freq)                                   \
-                       __field(u32, ap_freq_offset)                                    \
-                       __field(u32, ap_chan_width)                                     \
-                       __field(u32, ap_center_freq1)                                   \
-                       __field(u32, ap_freq1_offset)                                   \
-                       __field(u32, ap_center_freq2)
-
-#define AP_CHANDEF_ASSIGN(c)                                                           \
-                       __entry->ap_control_freq = (c)->chan ? (c)->chan->center_freq : 0;\
-                       __entry->ap_freq_offset = (c)->chan ? (c)->chan->freq_offset : 0;\
-                       __entry->ap_chan_width = (c)->chan ? (c)->width : 0;            \
-                       __entry->ap_center_freq1 = (c)->chan ? (c)->center_freq1 : 0;   \
-                       __entry->ap_freq1_offset = (c)->chan ? (c)->freq1_offset : 0;   \
-                       __entry->ap_center_freq2 = (c)->chan ? (c)->center_freq2 : 0;
-#define AP_CHANDEF_PR_FMT      " ap(%d.%03d MHz,width:%d,center: %d.%03d/%d MHz)"
-#define AP_CHANDEF_PR_ARG      __entry->ap_control_freq, __entry->ap_freq_offset,      \
-                       __entry->ap_chan_width,                                         \
-                       __entry->ap_center_freq1, __entry->ap_freq1_offset,             \
-                       __entry->ap_center_freq2
+#define __CHANDEF_ENTRY(n)                                                             \
+                       __field(u32, n##control_freq)                                   \
+                       __field(u32, n##freq_offset)                                    \
+                       __field(u32, n##chan_width)                                     \
+                       __field(u32, n##center_freq1)                                   \
+                       __field(u32, n##freq1_offset)                                   \
+                       __field(u32, n##center_freq2)                                   \
+                       __field(u16, n##punctured)
+#define __CHANDEF_ASSIGN(n, c)                                                         \
+                       __entry->n##control_freq = (c) && (c)->chan ?                   \
+                               (c)->chan->center_freq : 0;                             \
+                       __entry->n##freq_offset = (c) && (c)->chan ?                    \
+                               (c)->chan->freq_offset : 0;                             \
+                       __entry->n##chan_width = (c) ? (c)->width : 0;                  \
+                       __entry->n##center_freq1 = (c) ? (c)->center_freq1 : 0;         \
+                       __entry->n##freq1_offset = (c) ? (c)->freq1_offset : 0;         \
+                       __entry->n##center_freq2 = (c) ? (c)->center_freq2 : 0;         \
+                       __entry->n##punctured = (c) ? (c)->punctured : 0;
+#define __CHANDEF_PR_FMT(n)                                                            \
+       " " #n "(%d.%03d MHz,width:%d,center: %d.%03d/%d MHz, punct:0x%x)"
+#define __CHANDEF_PR_ARG(n)                                                            \
+                       __entry->n##control_freq, __entry->n##freq_offset,              \
+                       __entry->n##chan_width, __entry->n##center_freq1,               \
+                       __entry->n##freq1_offset, __entry->n##center_freq2,             \
+                       __entry->n##punctured
+
+#define CHANDEF_ENTRY          __CHANDEF_ENTRY()
+#define CHANDEF_ASSIGN(c)      __CHANDEF_ASSIGN(, c)
+#define CHANDEF_PR_FMT         __CHANDEF_PR_FMT(chandef)
+#define CHANDEF_PR_ARG         __CHANDEF_PR_ARG()
+
+#define MIN_CHANDEF_ENTRY      __CHANDEF_ENTRY(min)
+#define MIN_CHANDEF_ASSIGN(c)  __CHANDEF_ASSIGN(min, c)
+#define MIN_CHANDEF_PR_FMT     __CHANDEF_PR_FMT(mindef)
+#define MIN_CHANDEF_PR_ARG     __CHANDEF_PR_ARG(min)
+
+#define AP_CHANDEF_ENTRY       __CHANDEF_ENTRY(ap)
+#define AP_CHANDEF_ASSIGN(c)   __CHANDEF_ASSIGN(ap, c)
+#define AP_CHANDEF_PR_FMT      __CHANDEF_PR_FMT(ap)
+#define AP_CHANDEF_PR_ARG      __CHANDEF_PR_ARG(ap)
 
 #define CHANCTX_ENTRY  CHANDEF_ENTRY                                                   \
                        MIN_CHANDEF_ENTRY                                               \