18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#undef TRACE_SYSTEM
38c2ecf20Sopenharmony_ci#define TRACE_SYSTEM cfg80211
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#if !defined(__RDEV_OPS_TRACE) || defined(TRACE_HEADER_MULTI_READ)
68c2ecf20Sopenharmony_ci#define __RDEV_OPS_TRACE
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#include <linux/tracepoint.h>
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci#include <linux/rtnetlink.h>
118c2ecf20Sopenharmony_ci#include <linux/etherdevice.h>
128c2ecf20Sopenharmony_ci#include <net/cfg80211.h>
138c2ecf20Sopenharmony_ci#include "core.h"
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci#define MAC_ENTRY(entry_mac) __array(u8, entry_mac, ETH_ALEN)
168c2ecf20Sopenharmony_ci#define MAC_ASSIGN(entry_mac, given_mac) do {			     \
178c2ecf20Sopenharmony_ci	if (given_mac)						     \
188c2ecf20Sopenharmony_ci		memcpy(__entry->entry_mac, given_mac, ETH_ALEN);     \
198c2ecf20Sopenharmony_ci	else							     \
208c2ecf20Sopenharmony_ci		eth_zero_addr(__entry->entry_mac);		     \
218c2ecf20Sopenharmony_ci	} while (0)
228c2ecf20Sopenharmony_ci#define MAC_PR_FMT "%pM"
238c2ecf20Sopenharmony_ci#define MAC_PR_ARG(entry_mac) (__entry->entry_mac)
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci#define MAXNAME		32
268c2ecf20Sopenharmony_ci#define WIPHY_ENTRY	__array(char, wiphy_name, 32)
278c2ecf20Sopenharmony_ci#define WIPHY_ASSIGN	strlcpy(__entry->wiphy_name, wiphy_name(wiphy), MAXNAME)
288c2ecf20Sopenharmony_ci#define WIPHY_PR_FMT	"%s"
298c2ecf20Sopenharmony_ci#define WIPHY_PR_ARG	__entry->wiphy_name
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci#define WDEV_ENTRY	__field(u32, id)
328c2ecf20Sopenharmony_ci#define WDEV_ASSIGN	(__entry->id) = (!IS_ERR_OR_NULL(wdev)	\
338c2ecf20Sopenharmony_ci					 ? wdev->identifier : 0)
348c2ecf20Sopenharmony_ci#define WDEV_PR_FMT	"wdev(%u)"
358c2ecf20Sopenharmony_ci#define WDEV_PR_ARG	(__entry->id)
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci#define NETDEV_ENTRY	__array(char, name, IFNAMSIZ) \
388c2ecf20Sopenharmony_ci			__field(int, ifindex)
398c2ecf20Sopenharmony_ci#define NETDEV_ASSIGN					       \
408c2ecf20Sopenharmony_ci	do {						       \
418c2ecf20Sopenharmony_ci		memcpy(__entry->name, netdev->name, IFNAMSIZ); \
428c2ecf20Sopenharmony_ci		(__entry->ifindex) = (netdev->ifindex);	       \
438c2ecf20Sopenharmony_ci	} while (0)
448c2ecf20Sopenharmony_ci#define NETDEV_PR_FMT	"netdev:%s(%d)"
458c2ecf20Sopenharmony_ci#define NETDEV_PR_ARG	__entry->name, __entry->ifindex
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci#define MESH_CFG_ENTRY __field(u16, dot11MeshRetryTimeout)		   \
488c2ecf20Sopenharmony_ci		       __field(u16, dot11MeshConfirmTimeout)		   \
498c2ecf20Sopenharmony_ci		       __field(u16, dot11MeshHoldingTimeout)		   \
508c2ecf20Sopenharmony_ci		       __field(u16, dot11MeshMaxPeerLinks)		   \
518c2ecf20Sopenharmony_ci		       __field(u8, dot11MeshMaxRetries)			   \
528c2ecf20Sopenharmony_ci		       __field(u8, dot11MeshTTL)			   \
538c2ecf20Sopenharmony_ci		       __field(u8, element_ttl)				   \
548c2ecf20Sopenharmony_ci		       __field(bool, auto_open_plinks)			   \
558c2ecf20Sopenharmony_ci		       __field(u32, dot11MeshNbrOffsetMaxNeighbor)	   \
568c2ecf20Sopenharmony_ci		       __field(u8, dot11MeshHWMPmaxPREQretries)		   \
578c2ecf20Sopenharmony_ci		       __field(u32, path_refresh_time)			   \
588c2ecf20Sopenharmony_ci		       __field(u32, dot11MeshHWMPactivePathTimeout)	   \
598c2ecf20Sopenharmony_ci		       __field(u16, min_discovery_timeout)		   \
608c2ecf20Sopenharmony_ci		       __field(u16, dot11MeshHWMPpreqMinInterval)	   \
618c2ecf20Sopenharmony_ci		       __field(u16, dot11MeshHWMPperrMinInterval)	   \
628c2ecf20Sopenharmony_ci		       __field(u16, dot11MeshHWMPnetDiameterTraversalTime) \
638c2ecf20Sopenharmony_ci		       __field(u8, dot11MeshHWMPRootMode)		   \
648c2ecf20Sopenharmony_ci		       __field(u16, dot11MeshHWMPRannInterval)		   \
658c2ecf20Sopenharmony_ci		       __field(bool, dot11MeshGateAnnouncementProtocol)	   \
668c2ecf20Sopenharmony_ci		       __field(bool, dot11MeshForwarding)		   \
678c2ecf20Sopenharmony_ci		       __field(s32, rssi_threshold)			   \
688c2ecf20Sopenharmony_ci		       __field(u16, ht_opmode)				   \
698c2ecf20Sopenharmony_ci		       __field(u32, dot11MeshHWMPactivePathToRootTimeout)  \
708c2ecf20Sopenharmony_ci		       __field(u16, dot11MeshHWMProotInterval)		   \
718c2ecf20Sopenharmony_ci		       __field(u16, dot11MeshHWMPconfirmationInterval)	   \
728c2ecf20Sopenharmony_ci		       __field(bool, dot11MeshNolearn)
738c2ecf20Sopenharmony_ci#define MESH_CFG_ASSIGN							      \
748c2ecf20Sopenharmony_ci	do {								      \
758c2ecf20Sopenharmony_ci		__entry->dot11MeshRetryTimeout = conf->dot11MeshRetryTimeout; \
768c2ecf20Sopenharmony_ci		__entry->dot11MeshConfirmTimeout =			      \
778c2ecf20Sopenharmony_ci				conf->dot11MeshConfirmTimeout;		      \
788c2ecf20Sopenharmony_ci		__entry->dot11MeshHoldingTimeout =			      \
798c2ecf20Sopenharmony_ci				conf->dot11MeshHoldingTimeout;		      \
808c2ecf20Sopenharmony_ci		__entry->dot11MeshMaxPeerLinks = conf->dot11MeshMaxPeerLinks; \
818c2ecf20Sopenharmony_ci		__entry->dot11MeshMaxRetries = conf->dot11MeshMaxRetries;     \
828c2ecf20Sopenharmony_ci		__entry->dot11MeshTTL = conf->dot11MeshTTL;		      \
838c2ecf20Sopenharmony_ci		__entry->element_ttl = conf->element_ttl;		      \
848c2ecf20Sopenharmony_ci		__entry->auto_open_plinks = conf->auto_open_plinks;	      \
858c2ecf20Sopenharmony_ci		__entry->dot11MeshNbrOffsetMaxNeighbor =		      \
868c2ecf20Sopenharmony_ci				conf->dot11MeshNbrOffsetMaxNeighbor;	      \
878c2ecf20Sopenharmony_ci		__entry->dot11MeshHWMPmaxPREQretries =			      \
888c2ecf20Sopenharmony_ci				conf->dot11MeshHWMPmaxPREQretries;	      \
898c2ecf20Sopenharmony_ci		__entry->path_refresh_time = conf->path_refresh_time;	      \
908c2ecf20Sopenharmony_ci		__entry->dot11MeshHWMPactivePathTimeout =		      \
918c2ecf20Sopenharmony_ci				conf->dot11MeshHWMPactivePathTimeout;	      \
928c2ecf20Sopenharmony_ci		__entry->min_discovery_timeout = conf->min_discovery_timeout; \
938c2ecf20Sopenharmony_ci		__entry->dot11MeshHWMPpreqMinInterval =			      \
948c2ecf20Sopenharmony_ci				conf->dot11MeshHWMPpreqMinInterval;	      \
958c2ecf20Sopenharmony_ci		__entry->dot11MeshHWMPperrMinInterval =			      \
968c2ecf20Sopenharmony_ci				conf->dot11MeshHWMPperrMinInterval;	      \
978c2ecf20Sopenharmony_ci		__entry->dot11MeshHWMPnetDiameterTraversalTime =	      \
988c2ecf20Sopenharmony_ci				conf->dot11MeshHWMPnetDiameterTraversalTime;  \
998c2ecf20Sopenharmony_ci		__entry->dot11MeshHWMPRootMode = conf->dot11MeshHWMPRootMode; \
1008c2ecf20Sopenharmony_ci		__entry->dot11MeshHWMPRannInterval =			      \
1018c2ecf20Sopenharmony_ci				conf->dot11MeshHWMPRannInterval;	      \
1028c2ecf20Sopenharmony_ci		__entry->dot11MeshGateAnnouncementProtocol =		      \
1038c2ecf20Sopenharmony_ci				conf->dot11MeshGateAnnouncementProtocol;      \
1048c2ecf20Sopenharmony_ci		__entry->dot11MeshForwarding = conf->dot11MeshForwarding;     \
1058c2ecf20Sopenharmony_ci		__entry->rssi_threshold = conf->rssi_threshold;		      \
1068c2ecf20Sopenharmony_ci		__entry->ht_opmode = conf->ht_opmode;			      \
1078c2ecf20Sopenharmony_ci		__entry->dot11MeshHWMPactivePathToRootTimeout =		      \
1088c2ecf20Sopenharmony_ci				conf->dot11MeshHWMPactivePathToRootTimeout;   \
1098c2ecf20Sopenharmony_ci		__entry->dot11MeshHWMProotInterval =			      \
1108c2ecf20Sopenharmony_ci				conf->dot11MeshHWMProotInterval;	      \
1118c2ecf20Sopenharmony_ci		__entry->dot11MeshHWMPconfirmationInterval =		      \
1128c2ecf20Sopenharmony_ci				conf->dot11MeshHWMPconfirmationInterval;      \
1138c2ecf20Sopenharmony_ci		__entry->dot11MeshNolearn = conf->dot11MeshNolearn;	      \
1148c2ecf20Sopenharmony_ci	} while (0)
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci#define CHAN_ENTRY __field(enum nl80211_band, band) \
1178c2ecf20Sopenharmony_ci		   __field(u32, center_freq)		\
1188c2ecf20Sopenharmony_ci		   __field(u16, freq_offset)
1198c2ecf20Sopenharmony_ci#define CHAN_ASSIGN(chan)					  \
1208c2ecf20Sopenharmony_ci	do {							  \
1218c2ecf20Sopenharmony_ci		if (chan) {					  \
1228c2ecf20Sopenharmony_ci			__entry->band = chan->band;		  \
1238c2ecf20Sopenharmony_ci			__entry->center_freq = chan->center_freq; \
1248c2ecf20Sopenharmony_ci			__entry->freq_offset = chan->freq_offset; \
1258c2ecf20Sopenharmony_ci		} else {					  \
1268c2ecf20Sopenharmony_ci			__entry->band = 0;			  \
1278c2ecf20Sopenharmony_ci			__entry->center_freq = 0;		  \
1288c2ecf20Sopenharmony_ci			__entry->freq_offset = 0;		  \
1298c2ecf20Sopenharmony_ci		}						  \
1308c2ecf20Sopenharmony_ci	} while (0)
1318c2ecf20Sopenharmony_ci#define CHAN_PR_FMT "band: %d, freq: %u.%03u"
1328c2ecf20Sopenharmony_ci#define CHAN_PR_ARG __entry->band, __entry->center_freq, __entry->freq_offset
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ci#define CHAN_DEF_ENTRY __field(enum nl80211_band, band)		\
1358c2ecf20Sopenharmony_ci		       __field(u32, control_freq)			\
1368c2ecf20Sopenharmony_ci		       __field(u32, freq_offset)			\
1378c2ecf20Sopenharmony_ci		       __field(u32, width)				\
1388c2ecf20Sopenharmony_ci		       __field(u32, center_freq1)			\
1398c2ecf20Sopenharmony_ci		       __field(u32, freq1_offset)			\
1408c2ecf20Sopenharmony_ci		       __field(u32, center_freq2)
1418c2ecf20Sopenharmony_ci#define CHAN_DEF_ASSIGN(chandef)					\
1428c2ecf20Sopenharmony_ci	do {								\
1438c2ecf20Sopenharmony_ci		if ((chandef) && (chandef)->chan) {			\
1448c2ecf20Sopenharmony_ci			__entry->band = (chandef)->chan->band;		\
1458c2ecf20Sopenharmony_ci			__entry->control_freq =				\
1468c2ecf20Sopenharmony_ci				(chandef)->chan->center_freq;		\
1478c2ecf20Sopenharmony_ci			__entry->freq_offset =				\
1488c2ecf20Sopenharmony_ci				(chandef)->chan->freq_offset;		\
1498c2ecf20Sopenharmony_ci			__entry->width = (chandef)->width;		\
1508c2ecf20Sopenharmony_ci			__entry->center_freq1 = (chandef)->center_freq1;\
1518c2ecf20Sopenharmony_ci			__entry->freq1_offset = (chandef)->freq1_offset;\
1528c2ecf20Sopenharmony_ci			__entry->center_freq2 = (chandef)->center_freq2;\
1538c2ecf20Sopenharmony_ci		} else {						\
1548c2ecf20Sopenharmony_ci			__entry->band = 0;				\
1558c2ecf20Sopenharmony_ci			__entry->control_freq = 0;			\
1568c2ecf20Sopenharmony_ci			__entry->freq_offset = 0;			\
1578c2ecf20Sopenharmony_ci			__entry->width = 0;				\
1588c2ecf20Sopenharmony_ci			__entry->center_freq1 = 0;			\
1598c2ecf20Sopenharmony_ci			__entry->freq1_offset = 0;			\
1608c2ecf20Sopenharmony_ci			__entry->center_freq2 = 0;			\
1618c2ecf20Sopenharmony_ci		}							\
1628c2ecf20Sopenharmony_ci	} while (0)
1638c2ecf20Sopenharmony_ci#define CHAN_DEF_PR_FMT							\
1648c2ecf20Sopenharmony_ci	"band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u"
1658c2ecf20Sopenharmony_ci#define CHAN_DEF_PR_ARG __entry->band, __entry->control_freq,		\
1668c2ecf20Sopenharmony_ci			__entry->freq_offset, __entry->width,		\
1678c2ecf20Sopenharmony_ci			__entry->center_freq1, __entry->freq1_offset,	\
1688c2ecf20Sopenharmony_ci			__entry->center_freq2
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ci#define SINFO_ENTRY __field(int, generation)	    \
1718c2ecf20Sopenharmony_ci		    __field(u32, connected_time)    \
1728c2ecf20Sopenharmony_ci		    __field(u32, inactive_time)	    \
1738c2ecf20Sopenharmony_ci		    __field(u32, rx_bytes)	    \
1748c2ecf20Sopenharmony_ci		    __field(u32, tx_bytes)	    \
1758c2ecf20Sopenharmony_ci		    __field(u32, rx_packets)	    \
1768c2ecf20Sopenharmony_ci		    __field(u32, tx_packets)	    \
1778c2ecf20Sopenharmony_ci		    __field(u32, tx_retries)	    \
1788c2ecf20Sopenharmony_ci		    __field(u32, tx_failed)	    \
1798c2ecf20Sopenharmony_ci		    __field(u32, rx_dropped_misc)   \
1808c2ecf20Sopenharmony_ci		    __field(u32, beacon_loss_count) \
1818c2ecf20Sopenharmony_ci		    __field(u16, llid)		    \
1828c2ecf20Sopenharmony_ci		    __field(u16, plid)		    \
1838c2ecf20Sopenharmony_ci		    __field(u8, plink_state)
1848c2ecf20Sopenharmony_ci#define SINFO_ASSIGN						       \
1858c2ecf20Sopenharmony_ci	do {							       \
1868c2ecf20Sopenharmony_ci		__entry->generation = sinfo->generation;	       \
1878c2ecf20Sopenharmony_ci		__entry->connected_time = sinfo->connected_time;       \
1888c2ecf20Sopenharmony_ci		__entry->inactive_time = sinfo->inactive_time;	       \
1898c2ecf20Sopenharmony_ci		__entry->rx_bytes = sinfo->rx_bytes;		       \
1908c2ecf20Sopenharmony_ci		__entry->tx_bytes = sinfo->tx_bytes;		       \
1918c2ecf20Sopenharmony_ci		__entry->rx_packets = sinfo->rx_packets;	       \
1928c2ecf20Sopenharmony_ci		__entry->tx_packets = sinfo->tx_packets;	       \
1938c2ecf20Sopenharmony_ci		__entry->tx_retries = sinfo->tx_retries;	       \
1948c2ecf20Sopenharmony_ci		__entry->tx_failed = sinfo->tx_failed;		       \
1958c2ecf20Sopenharmony_ci		__entry->rx_dropped_misc = sinfo->rx_dropped_misc;     \
1968c2ecf20Sopenharmony_ci		__entry->beacon_loss_count = sinfo->beacon_loss_count; \
1978c2ecf20Sopenharmony_ci		__entry->llid = sinfo->llid;			       \
1988c2ecf20Sopenharmony_ci		__entry->plid = sinfo->plid;			       \
1998c2ecf20Sopenharmony_ci		__entry->plink_state = sinfo->plink_state;	       \
2008c2ecf20Sopenharmony_ci	} while (0)
2018c2ecf20Sopenharmony_ci
2028c2ecf20Sopenharmony_ci#define BOOL_TO_STR(bo) (bo) ? "true" : "false"
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci#define QOS_MAP_ENTRY __field(u8, num_des)			\
2058c2ecf20Sopenharmony_ci		      __array(u8, dscp_exception,		\
2068c2ecf20Sopenharmony_ci			      2 * IEEE80211_QOS_MAP_MAX_EX)	\
2078c2ecf20Sopenharmony_ci		      __array(u8, up, IEEE80211_QOS_MAP_LEN_MIN)
2088c2ecf20Sopenharmony_ci#define QOS_MAP_ASSIGN(qos_map)					\
2098c2ecf20Sopenharmony_ci	do {							\
2108c2ecf20Sopenharmony_ci		if ((qos_map)) {				\
2118c2ecf20Sopenharmony_ci			__entry->num_des = (qos_map)->num_des;	\
2128c2ecf20Sopenharmony_ci			memcpy(__entry->dscp_exception,		\
2138c2ecf20Sopenharmony_ci			       &(qos_map)->dscp_exception,	\
2148c2ecf20Sopenharmony_ci			       2 * IEEE80211_QOS_MAP_MAX_EX);	\
2158c2ecf20Sopenharmony_ci			memcpy(__entry->up, &(qos_map)->up,	\
2168c2ecf20Sopenharmony_ci			       IEEE80211_QOS_MAP_LEN_MIN);	\
2178c2ecf20Sopenharmony_ci		} else {					\
2188c2ecf20Sopenharmony_ci			__entry->num_des = 0;			\
2198c2ecf20Sopenharmony_ci			memset(__entry->dscp_exception, 0,	\
2208c2ecf20Sopenharmony_ci			       2 * IEEE80211_QOS_MAP_MAX_EX);	\
2218c2ecf20Sopenharmony_ci			memset(__entry->up, 0,			\
2228c2ecf20Sopenharmony_ci			       IEEE80211_QOS_MAP_LEN_MIN);	\
2238c2ecf20Sopenharmony_ci		}						\
2248c2ecf20Sopenharmony_ci	} while (0)
2258c2ecf20Sopenharmony_ci
2268c2ecf20Sopenharmony_ci/*************************************************************
2278c2ecf20Sopenharmony_ci *			rdev->ops traces		     *
2288c2ecf20Sopenharmony_ci *************************************************************/
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_suspend,
2318c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct cfg80211_wowlan *wow),
2328c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wow),
2338c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
2348c2ecf20Sopenharmony_ci		WIPHY_ENTRY
2358c2ecf20Sopenharmony_ci		__field(bool, any)
2368c2ecf20Sopenharmony_ci		__field(bool, disconnect)
2378c2ecf20Sopenharmony_ci		__field(bool, magic_pkt)
2388c2ecf20Sopenharmony_ci		__field(bool, gtk_rekey_failure)
2398c2ecf20Sopenharmony_ci		__field(bool, eap_identity_req)
2408c2ecf20Sopenharmony_ci		__field(bool, four_way_handshake)
2418c2ecf20Sopenharmony_ci		__field(bool, rfkill_release)
2428c2ecf20Sopenharmony_ci		__field(bool, valid_wow)
2438c2ecf20Sopenharmony_ci	),
2448c2ecf20Sopenharmony_ci	TP_fast_assign(
2458c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
2468c2ecf20Sopenharmony_ci		if (wow) {
2478c2ecf20Sopenharmony_ci			__entry->any = wow->any;
2488c2ecf20Sopenharmony_ci			__entry->disconnect = wow->disconnect;
2498c2ecf20Sopenharmony_ci			__entry->magic_pkt = wow->magic_pkt;
2508c2ecf20Sopenharmony_ci			__entry->gtk_rekey_failure = wow->gtk_rekey_failure;
2518c2ecf20Sopenharmony_ci			__entry->eap_identity_req = wow->eap_identity_req;
2528c2ecf20Sopenharmony_ci			__entry->four_way_handshake = wow->four_way_handshake;
2538c2ecf20Sopenharmony_ci			__entry->rfkill_release = wow->rfkill_release;
2548c2ecf20Sopenharmony_ci			__entry->valid_wow = true;
2558c2ecf20Sopenharmony_ci		} else {
2568c2ecf20Sopenharmony_ci			__entry->valid_wow = false;
2578c2ecf20Sopenharmony_ci		}
2588c2ecf20Sopenharmony_ci	),
2598c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", wow%s - any: %d, disconnect: %d, "
2608c2ecf20Sopenharmony_ci		  "magic pkt: %d, gtk rekey failure: %d, eap identify req: %d, "
2618c2ecf20Sopenharmony_ci		  "four way handshake: %d, rfkill release: %d.",
2628c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->valid_wow ? "" : "(Not configured!)",
2638c2ecf20Sopenharmony_ci		  __entry->any, __entry->disconnect, __entry->magic_pkt,
2648c2ecf20Sopenharmony_ci		  __entry->gtk_rekey_failure, __entry->eap_identity_req,
2658c2ecf20Sopenharmony_ci		  __entry->four_way_handshake, __entry->rfkill_release)
2668c2ecf20Sopenharmony_ci);
2678c2ecf20Sopenharmony_ci
2688c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_return_int,
2698c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, int ret),
2708c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, ret),
2718c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
2728c2ecf20Sopenharmony_ci		WIPHY_ENTRY
2738c2ecf20Sopenharmony_ci		__field(int, ret)
2748c2ecf20Sopenharmony_ci	),
2758c2ecf20Sopenharmony_ci	TP_fast_assign(
2768c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
2778c2ecf20Sopenharmony_ci		__entry->ret = ret;
2788c2ecf20Sopenharmony_ci	),
2798c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", returned: %d", WIPHY_PR_ARG, __entry->ret)
2808c2ecf20Sopenharmony_ci);
2818c2ecf20Sopenharmony_ci
2828c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_scan,
2838c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct cfg80211_scan_request *request),
2848c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, request),
2858c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
2868c2ecf20Sopenharmony_ci		WIPHY_ENTRY
2878c2ecf20Sopenharmony_ci	),
2888c2ecf20Sopenharmony_ci	TP_fast_assign(
2898c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
2908c2ecf20Sopenharmony_ci	),
2918c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT, WIPHY_PR_ARG)
2928c2ecf20Sopenharmony_ci);
2938c2ecf20Sopenharmony_ci
2948c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(wiphy_only_evt,
2958c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy),
2968c2ecf20Sopenharmony_ci	TP_ARGS(wiphy),
2978c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
2988c2ecf20Sopenharmony_ci		WIPHY_ENTRY
2998c2ecf20Sopenharmony_ci	),
3008c2ecf20Sopenharmony_ci	TP_fast_assign(
3018c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
3028c2ecf20Sopenharmony_ci	),
3038c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT, WIPHY_PR_ARG)
3048c2ecf20Sopenharmony_ci);
3058c2ecf20Sopenharmony_ci
3068c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_only_evt, rdev_resume,
3078c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy),
3088c2ecf20Sopenharmony_ci	TP_ARGS(wiphy)
3098c2ecf20Sopenharmony_ci);
3108c2ecf20Sopenharmony_ci
3118c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_only_evt, rdev_return_void,
3128c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy),
3138c2ecf20Sopenharmony_ci	TP_ARGS(wiphy)
3148c2ecf20Sopenharmony_ci);
3158c2ecf20Sopenharmony_ci
3168c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_only_evt, rdev_get_antenna,
3178c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy),
3188c2ecf20Sopenharmony_ci	TP_ARGS(wiphy)
3198c2ecf20Sopenharmony_ci);
3208c2ecf20Sopenharmony_ci
3218c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_only_evt, rdev_rfkill_poll,
3228c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy),
3238c2ecf20Sopenharmony_ci	TP_ARGS(wiphy)
3248c2ecf20Sopenharmony_ci);
3258c2ecf20Sopenharmony_ci
3268c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(wiphy_enabled_evt,
3278c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, bool enabled),
3288c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, enabled),
3298c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
3308c2ecf20Sopenharmony_ci		WIPHY_ENTRY
3318c2ecf20Sopenharmony_ci		__field(bool, enabled)
3328c2ecf20Sopenharmony_ci	),
3338c2ecf20Sopenharmony_ci	TP_fast_assign(
3348c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
3358c2ecf20Sopenharmony_ci		__entry->enabled = enabled;
3368c2ecf20Sopenharmony_ci	),
3378c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", %senabled ",
3388c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->enabled ? "" : "not ")
3398c2ecf20Sopenharmony_ci);
3408c2ecf20Sopenharmony_ci
3418c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_enabled_evt, rdev_set_wakeup,
3428c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, bool enabled),
3438c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, enabled)
3448c2ecf20Sopenharmony_ci);
3458c2ecf20Sopenharmony_ci
3468c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_add_virtual_intf,
3478c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, char *name, enum nl80211_iftype type),
3488c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, name, type),
3498c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
3508c2ecf20Sopenharmony_ci		WIPHY_ENTRY
3518c2ecf20Sopenharmony_ci		__string(vir_intf_name, name ? name : "<noname>")
3528c2ecf20Sopenharmony_ci		__field(enum nl80211_iftype, type)
3538c2ecf20Sopenharmony_ci	),
3548c2ecf20Sopenharmony_ci	TP_fast_assign(
3558c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
3568c2ecf20Sopenharmony_ci		__assign_str(vir_intf_name, name ? name : "<noname>");
3578c2ecf20Sopenharmony_ci		__entry->type = type;
3588c2ecf20Sopenharmony_ci	),
3598c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", virtual intf name: %s, type: %d",
3608c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __get_str(vir_intf_name), __entry->type)
3618c2ecf20Sopenharmony_ci);
3628c2ecf20Sopenharmony_ci
3638c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(wiphy_wdev_evt,
3648c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
3658c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev),
3668c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
3678c2ecf20Sopenharmony_ci		WIPHY_ENTRY
3688c2ecf20Sopenharmony_ci		WDEV_ENTRY
3698c2ecf20Sopenharmony_ci	),
3708c2ecf20Sopenharmony_ci	TP_fast_assign(
3718c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
3728c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
3738c2ecf20Sopenharmony_ci	),
3748c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT, WIPHY_PR_ARG, WDEV_PR_ARG)
3758c2ecf20Sopenharmony_ci);
3768c2ecf20Sopenharmony_ci
3778c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(wiphy_wdev_cookie_evt,
3788c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev, u64 cookie),
3798c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, cookie),
3808c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
3818c2ecf20Sopenharmony_ci		WIPHY_ENTRY
3828c2ecf20Sopenharmony_ci		WDEV_ENTRY
3838c2ecf20Sopenharmony_ci		__field(u64, cookie)
3848c2ecf20Sopenharmony_ci	),
3858c2ecf20Sopenharmony_ci	TP_fast_assign(
3868c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
3878c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
3888c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
3898c2ecf20Sopenharmony_ci	),
3908c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", cookie: %lld",
3918c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG,
3928c2ecf20Sopenharmony_ci		  (unsigned long long)__entry->cookie)
3938c2ecf20Sopenharmony_ci);
3948c2ecf20Sopenharmony_ci
3958c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_wdev_evt, rdev_return_wdev,
3968c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
3978c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev)
3988c2ecf20Sopenharmony_ci);
3998c2ecf20Sopenharmony_ci
4008c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_wdev_evt, rdev_del_virtual_intf,
4018c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
4028c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev)
4038c2ecf20Sopenharmony_ci);
4048c2ecf20Sopenharmony_ci
4058c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_change_virtual_intf,
4068c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
4078c2ecf20Sopenharmony_ci		 enum nl80211_iftype type),
4088c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, type),
4098c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
4108c2ecf20Sopenharmony_ci		WIPHY_ENTRY
4118c2ecf20Sopenharmony_ci		NETDEV_ENTRY
4128c2ecf20Sopenharmony_ci		__field(enum nl80211_iftype, type)
4138c2ecf20Sopenharmony_ci	),
4148c2ecf20Sopenharmony_ci	TP_fast_assign(
4158c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
4168c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
4178c2ecf20Sopenharmony_ci		__entry->type = type;
4188c2ecf20Sopenharmony_ci	),
4198c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", type: %d",
4208c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->type)
4218c2ecf20Sopenharmony_ci);
4228c2ecf20Sopenharmony_ci
4238c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(key_handle,
4248c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
4258c2ecf20Sopenharmony_ci		 bool pairwise, const u8 *mac_addr),
4268c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, key_index, pairwise, mac_addr),
4278c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
4288c2ecf20Sopenharmony_ci		WIPHY_ENTRY
4298c2ecf20Sopenharmony_ci		NETDEV_ENTRY
4308c2ecf20Sopenharmony_ci		MAC_ENTRY(mac_addr)
4318c2ecf20Sopenharmony_ci		__field(u8, key_index)
4328c2ecf20Sopenharmony_ci		__field(bool, pairwise)
4338c2ecf20Sopenharmony_ci	),
4348c2ecf20Sopenharmony_ci	TP_fast_assign(
4358c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
4368c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
4378c2ecf20Sopenharmony_ci		MAC_ASSIGN(mac_addr, mac_addr);
4388c2ecf20Sopenharmony_ci		__entry->key_index = key_index;
4398c2ecf20Sopenharmony_ci		__entry->pairwise = pairwise;
4408c2ecf20Sopenharmony_ci	),
4418c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", key_index: %u, pairwise: %s, mac addr: " MAC_PR_FMT,
4428c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->key_index,
4438c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->pairwise), MAC_PR_ARG(mac_addr))
4448c2ecf20Sopenharmony_ci);
4458c2ecf20Sopenharmony_ci
4468c2ecf20Sopenharmony_ciDEFINE_EVENT(key_handle, rdev_get_key,
4478c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
4488c2ecf20Sopenharmony_ci		 bool pairwise, const u8 *mac_addr),
4498c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, key_index, pairwise, mac_addr)
4508c2ecf20Sopenharmony_ci);
4518c2ecf20Sopenharmony_ci
4528c2ecf20Sopenharmony_ciDEFINE_EVENT(key_handle, rdev_del_key,
4538c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
4548c2ecf20Sopenharmony_ci		 bool pairwise, const u8 *mac_addr),
4558c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, key_index, pairwise, mac_addr)
4568c2ecf20Sopenharmony_ci);
4578c2ecf20Sopenharmony_ci
4588c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_add_key,
4598c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
4608c2ecf20Sopenharmony_ci		 bool pairwise, const u8 *mac_addr, u8 mode),
4618c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, key_index, pairwise, mac_addr, mode),
4628c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
4638c2ecf20Sopenharmony_ci		WIPHY_ENTRY
4648c2ecf20Sopenharmony_ci		NETDEV_ENTRY
4658c2ecf20Sopenharmony_ci		MAC_ENTRY(mac_addr)
4668c2ecf20Sopenharmony_ci		__field(u8, key_index)
4678c2ecf20Sopenharmony_ci		__field(bool, pairwise)
4688c2ecf20Sopenharmony_ci		__field(u8, mode)
4698c2ecf20Sopenharmony_ci	),
4708c2ecf20Sopenharmony_ci	TP_fast_assign(
4718c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
4728c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
4738c2ecf20Sopenharmony_ci		MAC_ASSIGN(mac_addr, mac_addr);
4748c2ecf20Sopenharmony_ci		__entry->key_index = key_index;
4758c2ecf20Sopenharmony_ci		__entry->pairwise = pairwise;
4768c2ecf20Sopenharmony_ci		__entry->mode = mode;
4778c2ecf20Sopenharmony_ci	),
4788c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", key_index: %u, "
4798c2ecf20Sopenharmony_ci		  "mode: %u, pairwise: %s, mac addr: " MAC_PR_FMT,
4808c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->key_index,
4818c2ecf20Sopenharmony_ci		  __entry->mode, BOOL_TO_STR(__entry->pairwise),
4828c2ecf20Sopenharmony_ci		  MAC_PR_ARG(mac_addr))
4838c2ecf20Sopenharmony_ci);
4848c2ecf20Sopenharmony_ci
4858c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_default_key,
4868c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
4878c2ecf20Sopenharmony_ci		 bool unicast, bool multicast),
4888c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, key_index, unicast, multicast),
4898c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
4908c2ecf20Sopenharmony_ci		WIPHY_ENTRY
4918c2ecf20Sopenharmony_ci		NETDEV_ENTRY
4928c2ecf20Sopenharmony_ci		__field(u8, key_index)
4938c2ecf20Sopenharmony_ci		__field(bool, unicast)
4948c2ecf20Sopenharmony_ci		__field(bool, multicast)
4958c2ecf20Sopenharmony_ci	),
4968c2ecf20Sopenharmony_ci	TP_fast_assign(
4978c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
4988c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
4998c2ecf20Sopenharmony_ci		__entry->key_index = key_index;
5008c2ecf20Sopenharmony_ci		__entry->unicast = unicast;
5018c2ecf20Sopenharmony_ci		__entry->multicast = multicast;
5028c2ecf20Sopenharmony_ci	),
5038c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", key index: %u, unicast: %s, multicast: %s",
5048c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->key_index,
5058c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->unicast),
5068c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->multicast))
5078c2ecf20Sopenharmony_ci);
5088c2ecf20Sopenharmony_ci
5098c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_default_mgmt_key,
5108c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 key_index),
5118c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, key_index),
5128c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
5138c2ecf20Sopenharmony_ci		WIPHY_ENTRY
5148c2ecf20Sopenharmony_ci		NETDEV_ENTRY
5158c2ecf20Sopenharmony_ci		__field(u8, key_index)
5168c2ecf20Sopenharmony_ci	),
5178c2ecf20Sopenharmony_ci	TP_fast_assign(
5188c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
5198c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
5208c2ecf20Sopenharmony_ci		__entry->key_index = key_index;
5218c2ecf20Sopenharmony_ci	),
5228c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", key index: %u",
5238c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->key_index)
5248c2ecf20Sopenharmony_ci);
5258c2ecf20Sopenharmony_ci
5268c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_default_beacon_key,
5278c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 key_index),
5288c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, key_index),
5298c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
5308c2ecf20Sopenharmony_ci		WIPHY_ENTRY
5318c2ecf20Sopenharmony_ci		NETDEV_ENTRY
5328c2ecf20Sopenharmony_ci		__field(u8, key_index)
5338c2ecf20Sopenharmony_ci	),
5348c2ecf20Sopenharmony_ci	TP_fast_assign(
5358c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
5368c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
5378c2ecf20Sopenharmony_ci		__entry->key_index = key_index;
5388c2ecf20Sopenharmony_ci	),
5398c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", key index: %u",
5408c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->key_index)
5418c2ecf20Sopenharmony_ci);
5428c2ecf20Sopenharmony_ci
5438c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_start_ap,
5448c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
5458c2ecf20Sopenharmony_ci		 struct cfg80211_ap_settings *settings),
5468c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, settings),
5478c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
5488c2ecf20Sopenharmony_ci		WIPHY_ENTRY
5498c2ecf20Sopenharmony_ci		NETDEV_ENTRY
5508c2ecf20Sopenharmony_ci		CHAN_DEF_ENTRY
5518c2ecf20Sopenharmony_ci		__field(int, beacon_interval)
5528c2ecf20Sopenharmony_ci		__field(int, dtim_period)
5538c2ecf20Sopenharmony_ci		__array(char, ssid, IEEE80211_MAX_SSID_LEN + 1)
5548c2ecf20Sopenharmony_ci		__field(enum nl80211_hidden_ssid, hidden_ssid)
5558c2ecf20Sopenharmony_ci		__field(u32, wpa_ver)
5568c2ecf20Sopenharmony_ci		__field(bool, privacy)
5578c2ecf20Sopenharmony_ci		__field(enum nl80211_auth_type, auth_type)
5588c2ecf20Sopenharmony_ci		__field(int, inactivity_timeout)
5598c2ecf20Sopenharmony_ci	),
5608c2ecf20Sopenharmony_ci	TP_fast_assign(
5618c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
5628c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
5638c2ecf20Sopenharmony_ci		CHAN_DEF_ASSIGN(&settings->chandef);
5648c2ecf20Sopenharmony_ci		__entry->beacon_interval = settings->beacon_interval;
5658c2ecf20Sopenharmony_ci		__entry->dtim_period = settings->dtim_period;
5668c2ecf20Sopenharmony_ci		__entry->hidden_ssid = settings->hidden_ssid;
5678c2ecf20Sopenharmony_ci		__entry->wpa_ver = settings->crypto.wpa_versions;
5688c2ecf20Sopenharmony_ci		__entry->privacy = settings->privacy;
5698c2ecf20Sopenharmony_ci		__entry->auth_type = settings->auth_type;
5708c2ecf20Sopenharmony_ci		__entry->inactivity_timeout = settings->inactivity_timeout;
5718c2ecf20Sopenharmony_ci		memset(__entry->ssid, 0, IEEE80211_MAX_SSID_LEN + 1);
5728c2ecf20Sopenharmony_ci		memcpy(__entry->ssid, settings->ssid, settings->ssid_len);
5738c2ecf20Sopenharmony_ci	),
5748c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", AP settings - ssid: %s, "
5758c2ecf20Sopenharmony_ci		  CHAN_DEF_PR_FMT ", beacon interval: %d, dtim period: %d, "
5768c2ecf20Sopenharmony_ci		  "hidden ssid: %d, wpa versions: %u, privacy: %s, "
5778c2ecf20Sopenharmony_ci		  "auth type: %d, inactivity timeout: %d",
5788c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->ssid, CHAN_DEF_PR_ARG,
5798c2ecf20Sopenharmony_ci		  __entry->beacon_interval, __entry->dtim_period,
5808c2ecf20Sopenharmony_ci		  __entry->hidden_ssid, __entry->wpa_ver,
5818c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->privacy), __entry->auth_type,
5828c2ecf20Sopenharmony_ci		  __entry->inactivity_timeout)
5838c2ecf20Sopenharmony_ci);
5848c2ecf20Sopenharmony_ci
5858c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_change_beacon,
5868c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
5878c2ecf20Sopenharmony_ci		 struct cfg80211_beacon_data *info),
5888c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, info),
5898c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
5908c2ecf20Sopenharmony_ci		WIPHY_ENTRY
5918c2ecf20Sopenharmony_ci		NETDEV_ENTRY
5928c2ecf20Sopenharmony_ci		__dynamic_array(u8, head, info ? info->head_len : 0)
5938c2ecf20Sopenharmony_ci		__dynamic_array(u8, tail, info ? info->tail_len : 0)
5948c2ecf20Sopenharmony_ci		__dynamic_array(u8, beacon_ies, info ? info->beacon_ies_len : 0)
5958c2ecf20Sopenharmony_ci		__dynamic_array(u8, proberesp_ies,
5968c2ecf20Sopenharmony_ci				info ? info->proberesp_ies_len : 0)
5978c2ecf20Sopenharmony_ci		__dynamic_array(u8, assocresp_ies,
5988c2ecf20Sopenharmony_ci				info ? info->assocresp_ies_len : 0)
5998c2ecf20Sopenharmony_ci		__dynamic_array(u8, probe_resp, info ? info->probe_resp_len : 0)
6008c2ecf20Sopenharmony_ci	),
6018c2ecf20Sopenharmony_ci	TP_fast_assign(
6028c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
6038c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
6048c2ecf20Sopenharmony_ci		if (info) {
6058c2ecf20Sopenharmony_ci			if (info->head)
6068c2ecf20Sopenharmony_ci				memcpy(__get_dynamic_array(head), info->head,
6078c2ecf20Sopenharmony_ci				       info->head_len);
6088c2ecf20Sopenharmony_ci			if (info->tail)
6098c2ecf20Sopenharmony_ci				memcpy(__get_dynamic_array(tail), info->tail,
6108c2ecf20Sopenharmony_ci				       info->tail_len);
6118c2ecf20Sopenharmony_ci			if (info->beacon_ies)
6128c2ecf20Sopenharmony_ci				memcpy(__get_dynamic_array(beacon_ies),
6138c2ecf20Sopenharmony_ci				       info->beacon_ies, info->beacon_ies_len);
6148c2ecf20Sopenharmony_ci			if (info->proberesp_ies)
6158c2ecf20Sopenharmony_ci				memcpy(__get_dynamic_array(proberesp_ies),
6168c2ecf20Sopenharmony_ci				       info->proberesp_ies,
6178c2ecf20Sopenharmony_ci				       info->proberesp_ies_len);
6188c2ecf20Sopenharmony_ci			if (info->assocresp_ies)
6198c2ecf20Sopenharmony_ci				memcpy(__get_dynamic_array(assocresp_ies),
6208c2ecf20Sopenharmony_ci				       info->assocresp_ies,
6218c2ecf20Sopenharmony_ci				       info->assocresp_ies_len);
6228c2ecf20Sopenharmony_ci			if (info->probe_resp)
6238c2ecf20Sopenharmony_ci				memcpy(__get_dynamic_array(probe_resp),
6248c2ecf20Sopenharmony_ci				       info->probe_resp, info->probe_resp_len);
6258c2ecf20Sopenharmony_ci		}
6268c2ecf20Sopenharmony_ci	),
6278c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT, WIPHY_PR_ARG, NETDEV_PR_ARG)
6288c2ecf20Sopenharmony_ci);
6298c2ecf20Sopenharmony_ci
6308c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(wiphy_netdev_evt,
6318c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev),
6328c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev),
6338c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
6348c2ecf20Sopenharmony_ci		WIPHY_ENTRY
6358c2ecf20Sopenharmony_ci		NETDEV_ENTRY
6368c2ecf20Sopenharmony_ci	),
6378c2ecf20Sopenharmony_ci	TP_fast_assign(
6388c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
6398c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
6408c2ecf20Sopenharmony_ci	),
6418c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT, WIPHY_PR_ARG, NETDEV_PR_ARG)
6428c2ecf20Sopenharmony_ci);
6438c2ecf20Sopenharmony_ci
6448c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_evt, rdev_stop_ap,
6458c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev),
6468c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev)
6478c2ecf20Sopenharmony_ci);
6488c2ecf20Sopenharmony_ci
6498c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_evt, rdev_set_rekey_data,
6508c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev),
6518c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev)
6528c2ecf20Sopenharmony_ci);
6538c2ecf20Sopenharmony_ci
6548c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_evt, rdev_get_mesh_config,
6558c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev),
6568c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev)
6578c2ecf20Sopenharmony_ci);
6588c2ecf20Sopenharmony_ci
6598c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_evt, rdev_leave_mesh,
6608c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev),
6618c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev)
6628c2ecf20Sopenharmony_ci);
6638c2ecf20Sopenharmony_ci
6648c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_evt, rdev_leave_ibss,
6658c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev),
6668c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev)
6678c2ecf20Sopenharmony_ci);
6688c2ecf20Sopenharmony_ci
6698c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_evt, rdev_leave_ocb,
6708c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev),
6718c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev)
6728c2ecf20Sopenharmony_ci);
6738c2ecf20Sopenharmony_ci
6748c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_evt, rdev_flush_pmksa,
6758c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev),
6768c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev)
6778c2ecf20Sopenharmony_ci);
6788c2ecf20Sopenharmony_ci
6798c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_evt, rdev_end_cac,
6808c2ecf20Sopenharmony_ci	     TP_PROTO(struct wiphy *wiphy, struct net_device *netdev),
6818c2ecf20Sopenharmony_ci	     TP_ARGS(wiphy, netdev)
6828c2ecf20Sopenharmony_ci);
6838c2ecf20Sopenharmony_ci
6848c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(station_add_change,
6858c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 *mac,
6868c2ecf20Sopenharmony_ci		 struct station_parameters *params),
6878c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, mac, params),
6888c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
6898c2ecf20Sopenharmony_ci		WIPHY_ENTRY
6908c2ecf20Sopenharmony_ci		NETDEV_ENTRY
6918c2ecf20Sopenharmony_ci		MAC_ENTRY(sta_mac)
6928c2ecf20Sopenharmony_ci		__field(u32, sta_flags_mask)
6938c2ecf20Sopenharmony_ci		__field(u32, sta_flags_set)
6948c2ecf20Sopenharmony_ci		__field(u32, sta_modify_mask)
6958c2ecf20Sopenharmony_ci		__field(int, listen_interval)
6968c2ecf20Sopenharmony_ci		__field(u16, capability)
6978c2ecf20Sopenharmony_ci		__field(u16, aid)
6988c2ecf20Sopenharmony_ci		__field(u8, plink_action)
6998c2ecf20Sopenharmony_ci		__field(u8, plink_state)
7008c2ecf20Sopenharmony_ci		__field(u8, uapsd_queues)
7018c2ecf20Sopenharmony_ci		__field(u8, max_sp)
7028c2ecf20Sopenharmony_ci		__field(u8, opmode_notif)
7038c2ecf20Sopenharmony_ci		__field(bool, opmode_notif_used)
7048c2ecf20Sopenharmony_ci		__array(u8, ht_capa, (int)sizeof(struct ieee80211_ht_cap))
7058c2ecf20Sopenharmony_ci		__array(u8, vht_capa, (int)sizeof(struct ieee80211_vht_cap))
7068c2ecf20Sopenharmony_ci		__array(char, vlan, IFNAMSIZ)
7078c2ecf20Sopenharmony_ci		__dynamic_array(u8, supported_rates,
7088c2ecf20Sopenharmony_ci				params->supported_rates_len)
7098c2ecf20Sopenharmony_ci		__dynamic_array(u8, ext_capab, params->ext_capab_len)
7108c2ecf20Sopenharmony_ci		__dynamic_array(u8, supported_channels,
7118c2ecf20Sopenharmony_ci				params->supported_channels_len)
7128c2ecf20Sopenharmony_ci		__dynamic_array(u8, supported_oper_classes,
7138c2ecf20Sopenharmony_ci				params->supported_oper_classes_len)
7148c2ecf20Sopenharmony_ci	),
7158c2ecf20Sopenharmony_ci	TP_fast_assign(
7168c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
7178c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
7188c2ecf20Sopenharmony_ci		MAC_ASSIGN(sta_mac, mac);
7198c2ecf20Sopenharmony_ci		__entry->sta_flags_mask = params->sta_flags_mask;
7208c2ecf20Sopenharmony_ci		__entry->sta_flags_set = params->sta_flags_set;
7218c2ecf20Sopenharmony_ci		__entry->sta_modify_mask = params->sta_modify_mask;
7228c2ecf20Sopenharmony_ci		__entry->listen_interval = params->listen_interval;
7238c2ecf20Sopenharmony_ci		__entry->aid = params->aid;
7248c2ecf20Sopenharmony_ci		__entry->plink_action = params->plink_action;
7258c2ecf20Sopenharmony_ci		__entry->plink_state = params->plink_state;
7268c2ecf20Sopenharmony_ci		__entry->uapsd_queues = params->uapsd_queues;
7278c2ecf20Sopenharmony_ci		memset(__entry->ht_capa, 0, sizeof(struct ieee80211_ht_cap));
7288c2ecf20Sopenharmony_ci		if (params->ht_capa)
7298c2ecf20Sopenharmony_ci			memcpy(__entry->ht_capa, params->ht_capa,
7308c2ecf20Sopenharmony_ci			       sizeof(struct ieee80211_ht_cap));
7318c2ecf20Sopenharmony_ci		memset(__entry->vht_capa, 0, sizeof(struct ieee80211_vht_cap));
7328c2ecf20Sopenharmony_ci		if (params->vht_capa)
7338c2ecf20Sopenharmony_ci			memcpy(__entry->vht_capa, params->vht_capa,
7348c2ecf20Sopenharmony_ci			       sizeof(struct ieee80211_vht_cap));
7358c2ecf20Sopenharmony_ci		memset(__entry->vlan, 0, sizeof(__entry->vlan));
7368c2ecf20Sopenharmony_ci		if (params->vlan)
7378c2ecf20Sopenharmony_ci			memcpy(__entry->vlan, params->vlan->name, IFNAMSIZ);
7388c2ecf20Sopenharmony_ci		if (params->supported_rates && params->supported_rates_len)
7398c2ecf20Sopenharmony_ci			memcpy(__get_dynamic_array(supported_rates),
7408c2ecf20Sopenharmony_ci			       params->supported_rates,
7418c2ecf20Sopenharmony_ci			       params->supported_rates_len);
7428c2ecf20Sopenharmony_ci		if (params->ext_capab && params->ext_capab_len)
7438c2ecf20Sopenharmony_ci			memcpy(__get_dynamic_array(ext_capab),
7448c2ecf20Sopenharmony_ci			       params->ext_capab,
7458c2ecf20Sopenharmony_ci			       params->ext_capab_len);
7468c2ecf20Sopenharmony_ci		if (params->supported_channels &&
7478c2ecf20Sopenharmony_ci		    params->supported_channels_len)
7488c2ecf20Sopenharmony_ci			memcpy(__get_dynamic_array(supported_channels),
7498c2ecf20Sopenharmony_ci			       params->supported_channels,
7508c2ecf20Sopenharmony_ci			       params->supported_channels_len);
7518c2ecf20Sopenharmony_ci		if (params->supported_oper_classes &&
7528c2ecf20Sopenharmony_ci		    params->supported_oper_classes_len)
7538c2ecf20Sopenharmony_ci			memcpy(__get_dynamic_array(supported_oper_classes),
7548c2ecf20Sopenharmony_ci			       params->supported_oper_classes,
7558c2ecf20Sopenharmony_ci			       params->supported_oper_classes_len);
7568c2ecf20Sopenharmony_ci		__entry->max_sp = params->max_sp;
7578c2ecf20Sopenharmony_ci		__entry->capability = params->capability;
7588c2ecf20Sopenharmony_ci		__entry->opmode_notif = params->opmode_notif;
7598c2ecf20Sopenharmony_ci		__entry->opmode_notif_used = params->opmode_notif_used;
7608c2ecf20Sopenharmony_ci	),
7618c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", station mac: " MAC_PR_FMT
7628c2ecf20Sopenharmony_ci		  ", station flags mask: %u, station flags set: %u, "
7638c2ecf20Sopenharmony_ci		  "station modify mask: %u, listen interval: %d, aid: %u, "
7648c2ecf20Sopenharmony_ci		  "plink action: %u, plink state: %u, uapsd queues: %u, vlan:%s",
7658c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(sta_mac),
7668c2ecf20Sopenharmony_ci		  __entry->sta_flags_mask, __entry->sta_flags_set,
7678c2ecf20Sopenharmony_ci		  __entry->sta_modify_mask, __entry->listen_interval,
7688c2ecf20Sopenharmony_ci		  __entry->aid, __entry->plink_action, __entry->plink_state,
7698c2ecf20Sopenharmony_ci		  __entry->uapsd_queues, __entry->vlan)
7708c2ecf20Sopenharmony_ci);
7718c2ecf20Sopenharmony_ci
7728c2ecf20Sopenharmony_ciDEFINE_EVENT(station_add_change, rdev_add_station,
7738c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 *mac,
7748c2ecf20Sopenharmony_ci		 struct station_parameters *params),
7758c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, mac, params)
7768c2ecf20Sopenharmony_ci);
7778c2ecf20Sopenharmony_ci
7788c2ecf20Sopenharmony_ciDEFINE_EVENT(station_add_change, rdev_change_station,
7798c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 *mac,
7808c2ecf20Sopenharmony_ci		 struct station_parameters *params),
7818c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, mac, params)
7828c2ecf20Sopenharmony_ci);
7838c2ecf20Sopenharmony_ci
7848c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(wiphy_netdev_mac_evt,
7858c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, const u8 *mac),
7868c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, mac),
7878c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
7888c2ecf20Sopenharmony_ci		WIPHY_ENTRY
7898c2ecf20Sopenharmony_ci		NETDEV_ENTRY
7908c2ecf20Sopenharmony_ci		MAC_ENTRY(sta_mac)
7918c2ecf20Sopenharmony_ci	),
7928c2ecf20Sopenharmony_ci	TP_fast_assign(
7938c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
7948c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
7958c2ecf20Sopenharmony_ci		MAC_ASSIGN(sta_mac, mac);
7968c2ecf20Sopenharmony_ci	),
7978c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", mac: " MAC_PR_FMT,
7988c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(sta_mac))
7998c2ecf20Sopenharmony_ci);
8008c2ecf20Sopenharmony_ci
8018c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(station_del,
8028c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
8038c2ecf20Sopenharmony_ci		 struct station_del_parameters *params),
8048c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, params),
8058c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
8068c2ecf20Sopenharmony_ci		WIPHY_ENTRY
8078c2ecf20Sopenharmony_ci		NETDEV_ENTRY
8088c2ecf20Sopenharmony_ci		MAC_ENTRY(sta_mac)
8098c2ecf20Sopenharmony_ci		__field(u8, subtype)
8108c2ecf20Sopenharmony_ci		__field(u16, reason_code)
8118c2ecf20Sopenharmony_ci	),
8128c2ecf20Sopenharmony_ci	TP_fast_assign(
8138c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
8148c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
8158c2ecf20Sopenharmony_ci		MAC_ASSIGN(sta_mac, params->mac);
8168c2ecf20Sopenharmony_ci		__entry->subtype = params->subtype;
8178c2ecf20Sopenharmony_ci		__entry->reason_code = params->reason_code;
8188c2ecf20Sopenharmony_ci	),
8198c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", station mac: " MAC_PR_FMT
8208c2ecf20Sopenharmony_ci		  ", subtype: %u, reason_code: %u",
8218c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(sta_mac),
8228c2ecf20Sopenharmony_ci		  __entry->subtype, __entry->reason_code)
8238c2ecf20Sopenharmony_ci);
8248c2ecf20Sopenharmony_ci
8258c2ecf20Sopenharmony_ciDEFINE_EVENT(station_del, rdev_del_station,
8268c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
8278c2ecf20Sopenharmony_ci		 struct station_del_parameters *params),
8288c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, params)
8298c2ecf20Sopenharmony_ci);
8308c2ecf20Sopenharmony_ci
8318c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_mac_evt, rdev_get_station,
8328c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, const u8 *mac),
8338c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, mac)
8348c2ecf20Sopenharmony_ci);
8358c2ecf20Sopenharmony_ci
8368c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_mac_evt, rdev_del_mpath,
8378c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, const u8 *mac),
8388c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, mac)
8398c2ecf20Sopenharmony_ci);
8408c2ecf20Sopenharmony_ci
8418c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_mac_evt, rdev_set_wds_peer,
8428c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, const u8 *mac),
8438c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, mac)
8448c2ecf20Sopenharmony_ci);
8458c2ecf20Sopenharmony_ci
8468c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_dump_station,
8478c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, int _idx,
8488c2ecf20Sopenharmony_ci		 u8 *mac),
8498c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, _idx, mac),
8508c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
8518c2ecf20Sopenharmony_ci		WIPHY_ENTRY
8528c2ecf20Sopenharmony_ci		NETDEV_ENTRY
8538c2ecf20Sopenharmony_ci		MAC_ENTRY(sta_mac)
8548c2ecf20Sopenharmony_ci		__field(int, idx)
8558c2ecf20Sopenharmony_ci	),
8568c2ecf20Sopenharmony_ci	TP_fast_assign(
8578c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
8588c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
8598c2ecf20Sopenharmony_ci		MAC_ASSIGN(sta_mac, mac);
8608c2ecf20Sopenharmony_ci		__entry->idx = _idx;
8618c2ecf20Sopenharmony_ci	),
8628c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", station mac: " MAC_PR_FMT ", idx: %d",
8638c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(sta_mac),
8648c2ecf20Sopenharmony_ci		  __entry->idx)
8658c2ecf20Sopenharmony_ci);
8668c2ecf20Sopenharmony_ci
8678c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_return_int_station_info,
8688c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, int ret, struct station_info *sinfo),
8698c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, ret, sinfo),
8708c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
8718c2ecf20Sopenharmony_ci		WIPHY_ENTRY
8728c2ecf20Sopenharmony_ci		__field(int, ret)
8738c2ecf20Sopenharmony_ci		SINFO_ENTRY
8748c2ecf20Sopenharmony_ci	),
8758c2ecf20Sopenharmony_ci	TP_fast_assign(
8768c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
8778c2ecf20Sopenharmony_ci		__entry->ret = ret;
8788c2ecf20Sopenharmony_ci		SINFO_ASSIGN;
8798c2ecf20Sopenharmony_ci	),
8808c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", returned %d" ,
8818c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->ret)
8828c2ecf20Sopenharmony_ci);
8838c2ecf20Sopenharmony_ci
8848c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(mpath_evt,
8858c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 *dst,
8868c2ecf20Sopenharmony_ci		 u8 *next_hop),
8878c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, dst, next_hop),
8888c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
8898c2ecf20Sopenharmony_ci		WIPHY_ENTRY
8908c2ecf20Sopenharmony_ci		NETDEV_ENTRY
8918c2ecf20Sopenharmony_ci		MAC_ENTRY(dst)
8928c2ecf20Sopenharmony_ci		MAC_ENTRY(next_hop)
8938c2ecf20Sopenharmony_ci	),
8948c2ecf20Sopenharmony_ci	TP_fast_assign(
8958c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
8968c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
8978c2ecf20Sopenharmony_ci		MAC_ASSIGN(dst, dst);
8988c2ecf20Sopenharmony_ci		MAC_ASSIGN(next_hop, next_hop);
8998c2ecf20Sopenharmony_ci	),
9008c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", destination: " MAC_PR_FMT ", next hop: " MAC_PR_FMT,
9018c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(dst),
9028c2ecf20Sopenharmony_ci		  MAC_PR_ARG(next_hop))
9038c2ecf20Sopenharmony_ci);
9048c2ecf20Sopenharmony_ci
9058c2ecf20Sopenharmony_ciDEFINE_EVENT(mpath_evt, rdev_add_mpath,
9068c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 *dst,
9078c2ecf20Sopenharmony_ci		 u8 *next_hop),
9088c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, dst, next_hop)
9098c2ecf20Sopenharmony_ci);
9108c2ecf20Sopenharmony_ci
9118c2ecf20Sopenharmony_ciDEFINE_EVENT(mpath_evt, rdev_change_mpath,
9128c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 *dst,
9138c2ecf20Sopenharmony_ci		 u8 *next_hop),
9148c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, dst, next_hop)
9158c2ecf20Sopenharmony_ci);
9168c2ecf20Sopenharmony_ci
9178c2ecf20Sopenharmony_ciDEFINE_EVENT(mpath_evt, rdev_get_mpath,
9188c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 *dst,
9198c2ecf20Sopenharmony_ci		 u8 *next_hop),
9208c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, dst, next_hop)
9218c2ecf20Sopenharmony_ci);
9228c2ecf20Sopenharmony_ci
9238c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_dump_mpath,
9248c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, int _idx,
9258c2ecf20Sopenharmony_ci		 u8 *dst, u8 *next_hop),
9268c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, _idx, dst, next_hop),
9278c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
9288c2ecf20Sopenharmony_ci		WIPHY_ENTRY
9298c2ecf20Sopenharmony_ci		NETDEV_ENTRY
9308c2ecf20Sopenharmony_ci		MAC_ENTRY(dst)
9318c2ecf20Sopenharmony_ci		MAC_ENTRY(next_hop)
9328c2ecf20Sopenharmony_ci		__field(int, idx)
9338c2ecf20Sopenharmony_ci	),
9348c2ecf20Sopenharmony_ci	TP_fast_assign(
9358c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
9368c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
9378c2ecf20Sopenharmony_ci		MAC_ASSIGN(dst, dst);
9388c2ecf20Sopenharmony_ci		MAC_ASSIGN(next_hop, next_hop);
9398c2ecf20Sopenharmony_ci		__entry->idx = _idx;
9408c2ecf20Sopenharmony_ci	),
9418c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", index: %d, destination: "
9428c2ecf20Sopenharmony_ci		  MAC_PR_FMT ", next hop: " MAC_PR_FMT,
9438c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->idx, MAC_PR_ARG(dst),
9448c2ecf20Sopenharmony_ci		  MAC_PR_ARG(next_hop))
9458c2ecf20Sopenharmony_ci);
9468c2ecf20Sopenharmony_ci
9478c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_get_mpp,
9488c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
9498c2ecf20Sopenharmony_ci		 u8 *dst, u8 *mpp),
9508c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, dst, mpp),
9518c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
9528c2ecf20Sopenharmony_ci		WIPHY_ENTRY
9538c2ecf20Sopenharmony_ci		NETDEV_ENTRY
9548c2ecf20Sopenharmony_ci		MAC_ENTRY(dst)
9558c2ecf20Sopenharmony_ci		MAC_ENTRY(mpp)
9568c2ecf20Sopenharmony_ci	),
9578c2ecf20Sopenharmony_ci	TP_fast_assign(
9588c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
9598c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
9608c2ecf20Sopenharmony_ci		MAC_ASSIGN(dst, dst);
9618c2ecf20Sopenharmony_ci		MAC_ASSIGN(mpp, mpp);
9628c2ecf20Sopenharmony_ci	),
9638c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", destination: " MAC_PR_FMT
9648c2ecf20Sopenharmony_ci		  ", mpp: " MAC_PR_FMT, WIPHY_PR_ARG, NETDEV_PR_ARG,
9658c2ecf20Sopenharmony_ci		  MAC_PR_ARG(dst), MAC_PR_ARG(mpp))
9668c2ecf20Sopenharmony_ci);
9678c2ecf20Sopenharmony_ci
9688c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_dump_mpp,
9698c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, int _idx,
9708c2ecf20Sopenharmony_ci		 u8 *dst, u8 *mpp),
9718c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, _idx, mpp, dst),
9728c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
9738c2ecf20Sopenharmony_ci		WIPHY_ENTRY
9748c2ecf20Sopenharmony_ci		NETDEV_ENTRY
9758c2ecf20Sopenharmony_ci		MAC_ENTRY(dst)
9768c2ecf20Sopenharmony_ci		MAC_ENTRY(mpp)
9778c2ecf20Sopenharmony_ci		__field(int, idx)
9788c2ecf20Sopenharmony_ci	),
9798c2ecf20Sopenharmony_ci	TP_fast_assign(
9808c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
9818c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
9828c2ecf20Sopenharmony_ci		MAC_ASSIGN(dst, dst);
9838c2ecf20Sopenharmony_ci		MAC_ASSIGN(mpp, mpp);
9848c2ecf20Sopenharmony_ci		__entry->idx = _idx;
9858c2ecf20Sopenharmony_ci	),
9868c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", index: %d, destination: "
9878c2ecf20Sopenharmony_ci		  MAC_PR_FMT ", mpp: " MAC_PR_FMT,
9888c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->idx, MAC_PR_ARG(dst),
9898c2ecf20Sopenharmony_ci		  MAC_PR_ARG(mpp))
9908c2ecf20Sopenharmony_ci);
9918c2ecf20Sopenharmony_ci
9928c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_return_int_mpath_info,
9938c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, int ret, struct mpath_info *pinfo),
9948c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, ret, pinfo),
9958c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
9968c2ecf20Sopenharmony_ci		WIPHY_ENTRY
9978c2ecf20Sopenharmony_ci		__field(int, ret)
9988c2ecf20Sopenharmony_ci		__field(int, generation)
9998c2ecf20Sopenharmony_ci		__field(u32, filled)
10008c2ecf20Sopenharmony_ci		__field(u32, frame_qlen)
10018c2ecf20Sopenharmony_ci		__field(u32, sn)
10028c2ecf20Sopenharmony_ci		__field(u32, metric)
10038c2ecf20Sopenharmony_ci		__field(u32, exptime)
10048c2ecf20Sopenharmony_ci		__field(u32, discovery_timeout)
10058c2ecf20Sopenharmony_ci		__field(u8, discovery_retries)
10068c2ecf20Sopenharmony_ci		__field(u8, flags)
10078c2ecf20Sopenharmony_ci	),
10088c2ecf20Sopenharmony_ci	TP_fast_assign(
10098c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
10108c2ecf20Sopenharmony_ci		__entry->ret = ret;
10118c2ecf20Sopenharmony_ci		__entry->generation = pinfo->generation;
10128c2ecf20Sopenharmony_ci		__entry->filled = pinfo->filled;
10138c2ecf20Sopenharmony_ci		__entry->frame_qlen = pinfo->frame_qlen;
10148c2ecf20Sopenharmony_ci		__entry->sn = pinfo->sn;
10158c2ecf20Sopenharmony_ci		__entry->metric = pinfo->metric;
10168c2ecf20Sopenharmony_ci		__entry->exptime = pinfo->exptime;
10178c2ecf20Sopenharmony_ci		__entry->discovery_timeout = pinfo->discovery_timeout;
10188c2ecf20Sopenharmony_ci		__entry->discovery_retries = pinfo->discovery_retries;
10198c2ecf20Sopenharmony_ci		__entry->flags = pinfo->flags;
10208c2ecf20Sopenharmony_ci	),
10218c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", returned %d. mpath info - generation: %d, "
10228c2ecf20Sopenharmony_ci		  "filled: %u, frame qlen: %u, sn: %u, metric: %u, exptime: %u,"
10238c2ecf20Sopenharmony_ci		  " discovery timeout: %u, discovery retries: %u, flags: %u",
10248c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->ret, __entry->generation,
10258c2ecf20Sopenharmony_ci		  __entry->filled, __entry->frame_qlen, __entry->sn,
10268c2ecf20Sopenharmony_ci		  __entry->metric, __entry->exptime, __entry->discovery_timeout,
10278c2ecf20Sopenharmony_ci		  __entry->discovery_retries, __entry->flags)
10288c2ecf20Sopenharmony_ci);
10298c2ecf20Sopenharmony_ci
10308c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_return_int_mesh_config,
10318c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, int ret, struct mesh_config *conf),
10328c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, ret, conf),
10338c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
10348c2ecf20Sopenharmony_ci		WIPHY_ENTRY
10358c2ecf20Sopenharmony_ci		MESH_CFG_ENTRY
10368c2ecf20Sopenharmony_ci		__field(int, ret)
10378c2ecf20Sopenharmony_ci	),
10388c2ecf20Sopenharmony_ci	TP_fast_assign(
10398c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
10408c2ecf20Sopenharmony_ci		MESH_CFG_ASSIGN;
10418c2ecf20Sopenharmony_ci		__entry->ret = ret;
10428c2ecf20Sopenharmony_ci	),
10438c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", returned: %d",
10448c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->ret)
10458c2ecf20Sopenharmony_ci);
10468c2ecf20Sopenharmony_ci
10478c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_update_mesh_config,
10488c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u32 mask,
10498c2ecf20Sopenharmony_ci		 const struct mesh_config *conf),
10508c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, mask, conf),
10518c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
10528c2ecf20Sopenharmony_ci		WIPHY_ENTRY
10538c2ecf20Sopenharmony_ci		NETDEV_ENTRY
10548c2ecf20Sopenharmony_ci		MESH_CFG_ENTRY
10558c2ecf20Sopenharmony_ci		__field(u32, mask)
10568c2ecf20Sopenharmony_ci	),
10578c2ecf20Sopenharmony_ci	TP_fast_assign(
10588c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
10598c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
10608c2ecf20Sopenharmony_ci		MESH_CFG_ASSIGN;
10618c2ecf20Sopenharmony_ci		__entry->mask = mask;
10628c2ecf20Sopenharmony_ci	),
10638c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", mask: %u",
10648c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->mask)
10658c2ecf20Sopenharmony_ci);
10668c2ecf20Sopenharmony_ci
10678c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_join_mesh,
10688c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
10698c2ecf20Sopenharmony_ci		 const struct mesh_config *conf,
10708c2ecf20Sopenharmony_ci		 const struct mesh_setup *setup),
10718c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, conf, setup),
10728c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
10738c2ecf20Sopenharmony_ci		WIPHY_ENTRY
10748c2ecf20Sopenharmony_ci		NETDEV_ENTRY
10758c2ecf20Sopenharmony_ci		MESH_CFG_ENTRY
10768c2ecf20Sopenharmony_ci	),
10778c2ecf20Sopenharmony_ci	TP_fast_assign(
10788c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
10798c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
10808c2ecf20Sopenharmony_ci		MESH_CFG_ASSIGN;
10818c2ecf20Sopenharmony_ci	),
10828c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT,
10838c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG)
10848c2ecf20Sopenharmony_ci);
10858c2ecf20Sopenharmony_ci
10868c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_change_bss,
10878c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
10888c2ecf20Sopenharmony_ci		 struct bss_parameters *params),
10898c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, params),
10908c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
10918c2ecf20Sopenharmony_ci		WIPHY_ENTRY
10928c2ecf20Sopenharmony_ci		NETDEV_ENTRY
10938c2ecf20Sopenharmony_ci		__field(int, use_cts_prot)
10948c2ecf20Sopenharmony_ci		__field(int, use_short_preamble)
10958c2ecf20Sopenharmony_ci		__field(int, use_short_slot_time)
10968c2ecf20Sopenharmony_ci		__field(int, ap_isolate)
10978c2ecf20Sopenharmony_ci		__field(int, ht_opmode)
10988c2ecf20Sopenharmony_ci	),
10998c2ecf20Sopenharmony_ci	TP_fast_assign(
11008c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
11018c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
11028c2ecf20Sopenharmony_ci		__entry->use_cts_prot = params->use_cts_prot;
11038c2ecf20Sopenharmony_ci		__entry->use_short_preamble = params->use_short_preamble;
11048c2ecf20Sopenharmony_ci		__entry->use_short_slot_time = params->use_short_slot_time;
11058c2ecf20Sopenharmony_ci		__entry->ap_isolate = params->ap_isolate;
11068c2ecf20Sopenharmony_ci		__entry->ht_opmode = params->ht_opmode;
11078c2ecf20Sopenharmony_ci	),
11088c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", use cts prot: %d, "
11098c2ecf20Sopenharmony_ci		  "use short preamble: %d, use short slot time: %d, "
11108c2ecf20Sopenharmony_ci		  "ap isolate: %d, ht opmode: %d",
11118c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->use_cts_prot,
11128c2ecf20Sopenharmony_ci		  __entry->use_short_preamble, __entry->use_short_slot_time,
11138c2ecf20Sopenharmony_ci		  __entry->ap_isolate, __entry->ht_opmode)
11148c2ecf20Sopenharmony_ci);
11158c2ecf20Sopenharmony_ci
11168c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_txq_params,
11178c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
11188c2ecf20Sopenharmony_ci		 struct ieee80211_txq_params *params),
11198c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, params),
11208c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
11218c2ecf20Sopenharmony_ci		WIPHY_ENTRY
11228c2ecf20Sopenharmony_ci		NETDEV_ENTRY
11238c2ecf20Sopenharmony_ci		__field(enum nl80211_ac, ac)
11248c2ecf20Sopenharmony_ci		__field(u16, txop)
11258c2ecf20Sopenharmony_ci		__field(u16, cwmin)
11268c2ecf20Sopenharmony_ci		__field(u16, cwmax)
11278c2ecf20Sopenharmony_ci		__field(u8, aifs)
11288c2ecf20Sopenharmony_ci	),
11298c2ecf20Sopenharmony_ci	TP_fast_assign(
11308c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
11318c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
11328c2ecf20Sopenharmony_ci		__entry->ac = params->ac;
11338c2ecf20Sopenharmony_ci		__entry->txop = params->txop;
11348c2ecf20Sopenharmony_ci		__entry->cwmin = params->cwmin;
11358c2ecf20Sopenharmony_ci		__entry->cwmax = params->cwmax;
11368c2ecf20Sopenharmony_ci		__entry->aifs = params->aifs;
11378c2ecf20Sopenharmony_ci	),
11388c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", ac: %d, txop: %u, cwmin: %u, cwmax: %u, aifs: %u",
11398c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->ac, __entry->txop,
11408c2ecf20Sopenharmony_ci		  __entry->cwmin, __entry->cwmax, __entry->aifs)
11418c2ecf20Sopenharmony_ci);
11428c2ecf20Sopenharmony_ci
11438c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_libertas_set_mesh_channel,
11448c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
11458c2ecf20Sopenharmony_ci		 struct ieee80211_channel *chan),
11468c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, chan),
11478c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
11488c2ecf20Sopenharmony_ci		WIPHY_ENTRY
11498c2ecf20Sopenharmony_ci		NETDEV_ENTRY
11508c2ecf20Sopenharmony_ci		CHAN_ENTRY
11518c2ecf20Sopenharmony_ci	),
11528c2ecf20Sopenharmony_ci	TP_fast_assign(
11538c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
11548c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
11558c2ecf20Sopenharmony_ci		CHAN_ASSIGN(chan);
11568c2ecf20Sopenharmony_ci	),
11578c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " CHAN_PR_FMT, WIPHY_PR_ARG,
11588c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, CHAN_PR_ARG)
11598c2ecf20Sopenharmony_ci);
11608c2ecf20Sopenharmony_ci
11618c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_monitor_channel,
11628c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy,
11638c2ecf20Sopenharmony_ci		 struct cfg80211_chan_def *chandef),
11648c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, chandef),
11658c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
11668c2ecf20Sopenharmony_ci		WIPHY_ENTRY
11678c2ecf20Sopenharmony_ci		CHAN_DEF_ENTRY
11688c2ecf20Sopenharmony_ci	),
11698c2ecf20Sopenharmony_ci	TP_fast_assign(
11708c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
11718c2ecf20Sopenharmony_ci		CHAN_DEF_ASSIGN(chandef);
11728c2ecf20Sopenharmony_ci	),
11738c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " CHAN_DEF_PR_FMT,
11748c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, CHAN_DEF_PR_ARG)
11758c2ecf20Sopenharmony_ci);
11768c2ecf20Sopenharmony_ci
11778c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_auth,
11788c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
11798c2ecf20Sopenharmony_ci		 struct cfg80211_auth_request *req),
11808c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, req),
11818c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
11828c2ecf20Sopenharmony_ci		WIPHY_ENTRY
11838c2ecf20Sopenharmony_ci		NETDEV_ENTRY
11848c2ecf20Sopenharmony_ci		MAC_ENTRY(bssid)
11858c2ecf20Sopenharmony_ci		__field(enum nl80211_auth_type, auth_type)
11868c2ecf20Sopenharmony_ci	),
11878c2ecf20Sopenharmony_ci	TP_fast_assign(
11888c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
11898c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
11908c2ecf20Sopenharmony_ci		if (req->bss)
11918c2ecf20Sopenharmony_ci			MAC_ASSIGN(bssid, req->bss->bssid);
11928c2ecf20Sopenharmony_ci		else
11938c2ecf20Sopenharmony_ci			eth_zero_addr(__entry->bssid);
11948c2ecf20Sopenharmony_ci		__entry->auth_type = req->auth_type;
11958c2ecf20Sopenharmony_ci	),
11968c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", auth type: %d, bssid: " MAC_PR_FMT,
11978c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->auth_type,
11988c2ecf20Sopenharmony_ci		  MAC_PR_ARG(bssid))
11998c2ecf20Sopenharmony_ci);
12008c2ecf20Sopenharmony_ci
12018c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_assoc,
12028c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
12038c2ecf20Sopenharmony_ci		 struct cfg80211_assoc_request *req),
12048c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, req),
12058c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
12068c2ecf20Sopenharmony_ci		WIPHY_ENTRY
12078c2ecf20Sopenharmony_ci		NETDEV_ENTRY
12088c2ecf20Sopenharmony_ci		MAC_ENTRY(bssid)
12098c2ecf20Sopenharmony_ci		MAC_ENTRY(prev_bssid)
12108c2ecf20Sopenharmony_ci		__field(bool, use_mfp)
12118c2ecf20Sopenharmony_ci		__field(u32, flags)
12128c2ecf20Sopenharmony_ci	),
12138c2ecf20Sopenharmony_ci	TP_fast_assign(
12148c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
12158c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
12168c2ecf20Sopenharmony_ci		if (req->bss)
12178c2ecf20Sopenharmony_ci			MAC_ASSIGN(bssid, req->bss->bssid);
12188c2ecf20Sopenharmony_ci		else
12198c2ecf20Sopenharmony_ci			eth_zero_addr(__entry->bssid);
12208c2ecf20Sopenharmony_ci		MAC_ASSIGN(prev_bssid, req->prev_bssid);
12218c2ecf20Sopenharmony_ci		__entry->use_mfp = req->use_mfp;
12228c2ecf20Sopenharmony_ci		__entry->flags = req->flags;
12238c2ecf20Sopenharmony_ci	),
12248c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", bssid: " MAC_PR_FMT
12258c2ecf20Sopenharmony_ci		  ", previous bssid: " MAC_PR_FMT ", use mfp: %s, flags: %u",
12268c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(bssid),
12278c2ecf20Sopenharmony_ci		  MAC_PR_ARG(prev_bssid), BOOL_TO_STR(__entry->use_mfp),
12288c2ecf20Sopenharmony_ci		  __entry->flags)
12298c2ecf20Sopenharmony_ci);
12308c2ecf20Sopenharmony_ci
12318c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_deauth,
12328c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
12338c2ecf20Sopenharmony_ci		 struct cfg80211_deauth_request *req),
12348c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, req),
12358c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
12368c2ecf20Sopenharmony_ci		WIPHY_ENTRY
12378c2ecf20Sopenharmony_ci		NETDEV_ENTRY
12388c2ecf20Sopenharmony_ci		MAC_ENTRY(bssid)
12398c2ecf20Sopenharmony_ci		__field(u16, reason_code)
12408c2ecf20Sopenharmony_ci	),
12418c2ecf20Sopenharmony_ci	TP_fast_assign(
12428c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
12438c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
12448c2ecf20Sopenharmony_ci		MAC_ASSIGN(bssid, req->bssid);
12458c2ecf20Sopenharmony_ci		__entry->reason_code = req->reason_code;
12468c2ecf20Sopenharmony_ci	),
12478c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", bssid: " MAC_PR_FMT ", reason: %u",
12488c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(bssid),
12498c2ecf20Sopenharmony_ci		  __entry->reason_code)
12508c2ecf20Sopenharmony_ci);
12518c2ecf20Sopenharmony_ci
12528c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_disassoc,
12538c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
12548c2ecf20Sopenharmony_ci		 struct cfg80211_disassoc_request *req),
12558c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, req),
12568c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
12578c2ecf20Sopenharmony_ci		WIPHY_ENTRY
12588c2ecf20Sopenharmony_ci		NETDEV_ENTRY
12598c2ecf20Sopenharmony_ci		MAC_ENTRY(bssid)
12608c2ecf20Sopenharmony_ci		__field(u16, reason_code)
12618c2ecf20Sopenharmony_ci		__field(bool, local_state_change)
12628c2ecf20Sopenharmony_ci	),
12638c2ecf20Sopenharmony_ci	TP_fast_assign(
12648c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
12658c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
12668c2ecf20Sopenharmony_ci		if (req->bss)
12678c2ecf20Sopenharmony_ci			MAC_ASSIGN(bssid, req->bss->bssid);
12688c2ecf20Sopenharmony_ci		else
12698c2ecf20Sopenharmony_ci			eth_zero_addr(__entry->bssid);
12708c2ecf20Sopenharmony_ci		__entry->reason_code = req->reason_code;
12718c2ecf20Sopenharmony_ci		__entry->local_state_change = req->local_state_change;
12728c2ecf20Sopenharmony_ci	),
12738c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", bssid: " MAC_PR_FMT
12748c2ecf20Sopenharmony_ci		  ", reason: %u, local state change: %s",
12758c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(bssid),
12768c2ecf20Sopenharmony_ci		  __entry->reason_code,
12778c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->local_state_change))
12788c2ecf20Sopenharmony_ci);
12798c2ecf20Sopenharmony_ci
12808c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_mgmt_tx_cancel_wait,
12818c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy,
12828c2ecf20Sopenharmony_ci		 struct wireless_dev *wdev, u64 cookie),
12838c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, cookie),
12848c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
12858c2ecf20Sopenharmony_ci		WIPHY_ENTRY
12868c2ecf20Sopenharmony_ci		WDEV_ENTRY
12878c2ecf20Sopenharmony_ci		__field(u64, cookie)
12888c2ecf20Sopenharmony_ci	),
12898c2ecf20Sopenharmony_ci	TP_fast_assign(
12908c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
12918c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
12928c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
12938c2ecf20Sopenharmony_ci	),
12948c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", cookie: %llu ",
12958c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG, __entry->cookie)
12968c2ecf20Sopenharmony_ci);
12978c2ecf20Sopenharmony_ci
12988c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_power_mgmt,
12998c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
13008c2ecf20Sopenharmony_ci		 bool enabled, int timeout),
13018c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, enabled, timeout),
13028c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
13038c2ecf20Sopenharmony_ci		WIPHY_ENTRY
13048c2ecf20Sopenharmony_ci		NETDEV_ENTRY
13058c2ecf20Sopenharmony_ci		__field(bool, enabled)
13068c2ecf20Sopenharmony_ci		__field(int, timeout)
13078c2ecf20Sopenharmony_ci	),
13088c2ecf20Sopenharmony_ci	TP_fast_assign(
13098c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
13108c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
13118c2ecf20Sopenharmony_ci		__entry->enabled = enabled;
13128c2ecf20Sopenharmony_ci		__entry->timeout = timeout;
13138c2ecf20Sopenharmony_ci	),
13148c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", %senabled, timeout: %d ",
13158c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG,
13168c2ecf20Sopenharmony_ci		  __entry->enabled ? "" : "not ", __entry->timeout)
13178c2ecf20Sopenharmony_ci);
13188c2ecf20Sopenharmony_ci
13198c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_connect,
13208c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
13218c2ecf20Sopenharmony_ci		 struct cfg80211_connect_params *sme),
13228c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, sme),
13238c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
13248c2ecf20Sopenharmony_ci		WIPHY_ENTRY
13258c2ecf20Sopenharmony_ci		NETDEV_ENTRY
13268c2ecf20Sopenharmony_ci		MAC_ENTRY(bssid)
13278c2ecf20Sopenharmony_ci		__array(char, ssid, IEEE80211_MAX_SSID_LEN + 1)
13288c2ecf20Sopenharmony_ci		__field(enum nl80211_auth_type, auth_type)
13298c2ecf20Sopenharmony_ci		__field(bool, privacy)
13308c2ecf20Sopenharmony_ci		__field(u32, wpa_versions)
13318c2ecf20Sopenharmony_ci		__field(u32, flags)
13328c2ecf20Sopenharmony_ci		MAC_ENTRY(prev_bssid)
13338c2ecf20Sopenharmony_ci	),
13348c2ecf20Sopenharmony_ci	TP_fast_assign(
13358c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
13368c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
13378c2ecf20Sopenharmony_ci		MAC_ASSIGN(bssid, sme->bssid);
13388c2ecf20Sopenharmony_ci		memset(__entry->ssid, 0, IEEE80211_MAX_SSID_LEN + 1);
13398c2ecf20Sopenharmony_ci		memcpy(__entry->ssid, sme->ssid, sme->ssid_len);
13408c2ecf20Sopenharmony_ci		__entry->auth_type = sme->auth_type;
13418c2ecf20Sopenharmony_ci		__entry->privacy = sme->privacy;
13428c2ecf20Sopenharmony_ci		__entry->wpa_versions = sme->crypto.wpa_versions;
13438c2ecf20Sopenharmony_ci		__entry->flags = sme->flags;
13448c2ecf20Sopenharmony_ci		MAC_ASSIGN(prev_bssid, sme->prev_bssid);
13458c2ecf20Sopenharmony_ci	),
13468c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", bssid: " MAC_PR_FMT
13478c2ecf20Sopenharmony_ci		  ", ssid: %s, auth type: %d, privacy: %s, wpa versions: %u, "
13488c2ecf20Sopenharmony_ci		  "flags: %u, previous bssid: " MAC_PR_FMT,
13498c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(bssid), __entry->ssid,
13508c2ecf20Sopenharmony_ci		  __entry->auth_type, BOOL_TO_STR(__entry->privacy),
13518c2ecf20Sopenharmony_ci		  __entry->wpa_versions, __entry->flags, MAC_PR_ARG(prev_bssid))
13528c2ecf20Sopenharmony_ci);
13538c2ecf20Sopenharmony_ci
13548c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_update_connect_params,
13558c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
13568c2ecf20Sopenharmony_ci		 struct cfg80211_connect_params *sme, u32 changed),
13578c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, sme, changed),
13588c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
13598c2ecf20Sopenharmony_ci		WIPHY_ENTRY
13608c2ecf20Sopenharmony_ci		NETDEV_ENTRY
13618c2ecf20Sopenharmony_ci		__field(u32, changed)
13628c2ecf20Sopenharmony_ci	),
13638c2ecf20Sopenharmony_ci	TP_fast_assign(
13648c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
13658c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
13668c2ecf20Sopenharmony_ci		__entry->changed = changed;
13678c2ecf20Sopenharmony_ci	),
13688c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", parameters changed: %u",
13698c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG,  __entry->changed)
13708c2ecf20Sopenharmony_ci);
13718c2ecf20Sopenharmony_ci
13728c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_cqm_rssi_config,
13738c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy,
13748c2ecf20Sopenharmony_ci		 struct net_device *netdev, s32 rssi_thold,
13758c2ecf20Sopenharmony_ci		 u32 rssi_hyst),
13768c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, rssi_thold, rssi_hyst),
13778c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
13788c2ecf20Sopenharmony_ci		WIPHY_ENTRY
13798c2ecf20Sopenharmony_ci		NETDEV_ENTRY
13808c2ecf20Sopenharmony_ci		__field(s32, rssi_thold)
13818c2ecf20Sopenharmony_ci		__field(u32, rssi_hyst)
13828c2ecf20Sopenharmony_ci	),
13838c2ecf20Sopenharmony_ci	TP_fast_assign(
13848c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
13858c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
13868c2ecf20Sopenharmony_ci		__entry->rssi_thold = rssi_thold;
13878c2ecf20Sopenharmony_ci		__entry->rssi_hyst = rssi_hyst;
13888c2ecf20Sopenharmony_ci	),
13898c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT
13908c2ecf20Sopenharmony_ci		  ", rssi_thold: %d, rssi_hyst: %u ",
13918c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG,
13928c2ecf20Sopenharmony_ci		 __entry->rssi_thold, __entry->rssi_hyst)
13938c2ecf20Sopenharmony_ci);
13948c2ecf20Sopenharmony_ci
13958c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_cqm_rssi_range_config,
13968c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy,
13978c2ecf20Sopenharmony_ci		 struct net_device *netdev, s32 low, s32 high),
13988c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, low, high),
13998c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
14008c2ecf20Sopenharmony_ci		WIPHY_ENTRY
14018c2ecf20Sopenharmony_ci		NETDEV_ENTRY
14028c2ecf20Sopenharmony_ci		__field(s32, rssi_low)
14038c2ecf20Sopenharmony_ci		__field(s32, rssi_high)
14048c2ecf20Sopenharmony_ci	),
14058c2ecf20Sopenharmony_ci	TP_fast_assign(
14068c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
14078c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
14088c2ecf20Sopenharmony_ci		__entry->rssi_low = low;
14098c2ecf20Sopenharmony_ci		__entry->rssi_high = high;
14108c2ecf20Sopenharmony_ci	),
14118c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT
14128c2ecf20Sopenharmony_ci		  ", range: %d - %d ",
14138c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG,
14148c2ecf20Sopenharmony_ci		  __entry->rssi_low, __entry->rssi_high)
14158c2ecf20Sopenharmony_ci);
14168c2ecf20Sopenharmony_ci
14178c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_cqm_txe_config,
14188c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u32 rate,
14198c2ecf20Sopenharmony_ci		 u32 pkts, u32 intvl),
14208c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, rate, pkts, intvl),
14218c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
14228c2ecf20Sopenharmony_ci		WIPHY_ENTRY
14238c2ecf20Sopenharmony_ci		NETDEV_ENTRY
14248c2ecf20Sopenharmony_ci		__field(u32, rate)
14258c2ecf20Sopenharmony_ci		__field(u32, pkts)
14268c2ecf20Sopenharmony_ci		__field(u32, intvl)
14278c2ecf20Sopenharmony_ci	),
14288c2ecf20Sopenharmony_ci	TP_fast_assign(
14298c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
14308c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
14318c2ecf20Sopenharmony_ci		__entry->rate = rate;
14328c2ecf20Sopenharmony_ci		__entry->pkts = pkts;
14338c2ecf20Sopenharmony_ci		__entry->intvl = intvl;
14348c2ecf20Sopenharmony_ci	),
14358c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", rate: %u, packets: %u, interval: %u",
14368c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->rate, __entry->pkts,
14378c2ecf20Sopenharmony_ci		  __entry->intvl)
14388c2ecf20Sopenharmony_ci);
14398c2ecf20Sopenharmony_ci
14408c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_disconnect,
14418c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
14428c2ecf20Sopenharmony_ci		 u16 reason_code),
14438c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, reason_code),
14448c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
14458c2ecf20Sopenharmony_ci		WIPHY_ENTRY
14468c2ecf20Sopenharmony_ci		NETDEV_ENTRY
14478c2ecf20Sopenharmony_ci		__field(u16, reason_code)
14488c2ecf20Sopenharmony_ci	),
14498c2ecf20Sopenharmony_ci	TP_fast_assign(
14508c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
14518c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
14528c2ecf20Sopenharmony_ci		__entry->reason_code = reason_code;
14538c2ecf20Sopenharmony_ci	),
14548c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", reason code: %u", WIPHY_PR_ARG,
14558c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, __entry->reason_code)
14568c2ecf20Sopenharmony_ci);
14578c2ecf20Sopenharmony_ci
14588c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_join_ibss,
14598c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
14608c2ecf20Sopenharmony_ci		 struct cfg80211_ibss_params *params),
14618c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, params),
14628c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
14638c2ecf20Sopenharmony_ci		WIPHY_ENTRY
14648c2ecf20Sopenharmony_ci		NETDEV_ENTRY
14658c2ecf20Sopenharmony_ci		MAC_ENTRY(bssid)
14668c2ecf20Sopenharmony_ci		__array(char, ssid, IEEE80211_MAX_SSID_LEN + 1)
14678c2ecf20Sopenharmony_ci	),
14688c2ecf20Sopenharmony_ci	TP_fast_assign(
14698c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
14708c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
14718c2ecf20Sopenharmony_ci		MAC_ASSIGN(bssid, params->bssid);
14728c2ecf20Sopenharmony_ci		memset(__entry->ssid, 0, IEEE80211_MAX_SSID_LEN + 1);
14738c2ecf20Sopenharmony_ci		memcpy(__entry->ssid, params->ssid, params->ssid_len);
14748c2ecf20Sopenharmony_ci	),
14758c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", bssid: " MAC_PR_FMT ", ssid: %s",
14768c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(bssid), __entry->ssid)
14778c2ecf20Sopenharmony_ci);
14788c2ecf20Sopenharmony_ci
14798c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_join_ocb,
14808c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
14818c2ecf20Sopenharmony_ci		 const struct ocb_setup *setup),
14828c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, setup),
14838c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
14848c2ecf20Sopenharmony_ci		WIPHY_ENTRY
14858c2ecf20Sopenharmony_ci		NETDEV_ENTRY
14868c2ecf20Sopenharmony_ci	),
14878c2ecf20Sopenharmony_ci	TP_fast_assign(
14888c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
14898c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
14908c2ecf20Sopenharmony_ci	),
14918c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT,
14928c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG)
14938c2ecf20Sopenharmony_ci);
14948c2ecf20Sopenharmony_ci
14958c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_wiphy_params,
14968c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, u32 changed),
14978c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, changed),
14988c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
14998c2ecf20Sopenharmony_ci		WIPHY_ENTRY
15008c2ecf20Sopenharmony_ci		__field(u32, changed)
15018c2ecf20Sopenharmony_ci	),
15028c2ecf20Sopenharmony_ci	TP_fast_assign(
15038c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
15048c2ecf20Sopenharmony_ci		__entry->changed = changed;
15058c2ecf20Sopenharmony_ci	),
15068c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", changed: %u",
15078c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->changed)
15088c2ecf20Sopenharmony_ci);
15098c2ecf20Sopenharmony_ci
15108c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_wdev_evt, rdev_get_tx_power,
15118c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
15128c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev)
15138c2ecf20Sopenharmony_ci);
15148c2ecf20Sopenharmony_ci
15158c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_tx_power,
15168c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev,
15178c2ecf20Sopenharmony_ci		 enum nl80211_tx_power_setting type, int mbm),
15188c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, type, mbm),
15198c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
15208c2ecf20Sopenharmony_ci		WIPHY_ENTRY
15218c2ecf20Sopenharmony_ci		WDEV_ENTRY
15228c2ecf20Sopenharmony_ci		__field(enum nl80211_tx_power_setting, type)
15238c2ecf20Sopenharmony_ci		__field(int, mbm)
15248c2ecf20Sopenharmony_ci	),
15258c2ecf20Sopenharmony_ci	TP_fast_assign(
15268c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
15278c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
15288c2ecf20Sopenharmony_ci		__entry->type = type;
15298c2ecf20Sopenharmony_ci		__entry->mbm = mbm;
15308c2ecf20Sopenharmony_ci	),
15318c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", type: %u, mbm: %d",
15328c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG,__entry->type, __entry->mbm)
15338c2ecf20Sopenharmony_ci);
15348c2ecf20Sopenharmony_ci
15358c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_return_int_int,
15368c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, int func_ret, int func_fill),
15378c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, func_ret, func_fill),
15388c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
15398c2ecf20Sopenharmony_ci		WIPHY_ENTRY
15408c2ecf20Sopenharmony_ci		__field(int, func_ret)
15418c2ecf20Sopenharmony_ci		__field(int, func_fill)
15428c2ecf20Sopenharmony_ci	),
15438c2ecf20Sopenharmony_ci	TP_fast_assign(
15448c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
15458c2ecf20Sopenharmony_ci		__entry->func_ret = func_ret;
15468c2ecf20Sopenharmony_ci		__entry->func_fill = func_fill;
15478c2ecf20Sopenharmony_ci	),
15488c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", function returns: %d, function filled: %d",
15498c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->func_ret, __entry->func_fill)
15508c2ecf20Sopenharmony_ci);
15518c2ecf20Sopenharmony_ci
15528c2ecf20Sopenharmony_ci#ifdef CONFIG_NL80211_TESTMODE
15538c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_testmode_cmd,
15548c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
15558c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev),
15568c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
15578c2ecf20Sopenharmony_ci		WIPHY_ENTRY
15588c2ecf20Sopenharmony_ci		WDEV_ENTRY
15598c2ecf20Sopenharmony_ci	),
15608c2ecf20Sopenharmony_ci	TP_fast_assign(
15618c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
15628c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
15638c2ecf20Sopenharmony_ci	),
15648c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT WDEV_PR_FMT, WIPHY_PR_ARG, WDEV_PR_ARG)
15658c2ecf20Sopenharmony_ci);
15668c2ecf20Sopenharmony_ci
15678c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_testmode_dump,
15688c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy),
15698c2ecf20Sopenharmony_ci	TP_ARGS(wiphy),
15708c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
15718c2ecf20Sopenharmony_ci		WIPHY_ENTRY
15728c2ecf20Sopenharmony_ci	),
15738c2ecf20Sopenharmony_ci	TP_fast_assign(
15748c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
15758c2ecf20Sopenharmony_ci	),
15768c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT, WIPHY_PR_ARG)
15778c2ecf20Sopenharmony_ci);
15788c2ecf20Sopenharmony_ci#endif /* CONFIG_NL80211_TESTMODE */
15798c2ecf20Sopenharmony_ci
15808c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_bitrate_mask,
15818c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
15828c2ecf20Sopenharmony_ci		 const u8 *peer, const struct cfg80211_bitrate_mask *mask),
15838c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, peer, mask),
15848c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
15858c2ecf20Sopenharmony_ci		WIPHY_ENTRY
15868c2ecf20Sopenharmony_ci		NETDEV_ENTRY
15878c2ecf20Sopenharmony_ci		MAC_ENTRY(peer)
15888c2ecf20Sopenharmony_ci	),
15898c2ecf20Sopenharmony_ci	TP_fast_assign(
15908c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
15918c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
15928c2ecf20Sopenharmony_ci		MAC_ASSIGN(peer, peer);
15938c2ecf20Sopenharmony_ci	),
15948c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", peer: " MAC_PR_FMT,
15958c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer))
15968c2ecf20Sopenharmony_ci);
15978c2ecf20Sopenharmony_ci
15988c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_update_mgmt_frame_registrations,
15998c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev,
16008c2ecf20Sopenharmony_ci		 struct mgmt_frame_regs *upd),
16018c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, upd),
16028c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
16038c2ecf20Sopenharmony_ci		WIPHY_ENTRY
16048c2ecf20Sopenharmony_ci		WDEV_ENTRY
16058c2ecf20Sopenharmony_ci		__field(u16, global_stypes)
16068c2ecf20Sopenharmony_ci		__field(u16, interface_stypes)
16078c2ecf20Sopenharmony_ci	),
16088c2ecf20Sopenharmony_ci	TP_fast_assign(
16098c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
16108c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
16118c2ecf20Sopenharmony_ci		__entry->global_stypes = upd->global_stypes;
16128c2ecf20Sopenharmony_ci		__entry->interface_stypes = upd->interface_stypes;
16138c2ecf20Sopenharmony_ci	),
16148c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", global: 0x%.2x, intf: 0x%.2x",
16158c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG,
16168c2ecf20Sopenharmony_ci		  __entry->global_stypes, __entry->interface_stypes)
16178c2ecf20Sopenharmony_ci);
16188c2ecf20Sopenharmony_ci
16198c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_return_int_tx_rx,
16208c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, int ret, u32 tx, u32 rx),
16218c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, ret, tx, rx),
16228c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
16238c2ecf20Sopenharmony_ci		WIPHY_ENTRY
16248c2ecf20Sopenharmony_ci		__field(int, ret)
16258c2ecf20Sopenharmony_ci		__field(u32, tx)
16268c2ecf20Sopenharmony_ci		__field(u32, rx)
16278c2ecf20Sopenharmony_ci	),
16288c2ecf20Sopenharmony_ci	TP_fast_assign(
16298c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
16308c2ecf20Sopenharmony_ci		__entry->ret = ret;
16318c2ecf20Sopenharmony_ci		__entry->tx = tx;
16328c2ecf20Sopenharmony_ci		__entry->rx = rx;
16338c2ecf20Sopenharmony_ci	),
16348c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", returned %d, tx: %u, rx: %u",
16358c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->ret, __entry->tx, __entry->rx)
16368c2ecf20Sopenharmony_ci);
16378c2ecf20Sopenharmony_ci
16388c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_return_void_tx_rx,
16398c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, u32 tx, u32 tx_max,
16408c2ecf20Sopenharmony_ci		 u32 rx, u32 rx_max),
16418c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, tx, tx_max, rx, rx_max),
16428c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
16438c2ecf20Sopenharmony_ci		WIPHY_ENTRY
16448c2ecf20Sopenharmony_ci		__field(u32, tx)
16458c2ecf20Sopenharmony_ci		__field(u32, tx_max)
16468c2ecf20Sopenharmony_ci		__field(u32, rx)
16478c2ecf20Sopenharmony_ci		__field(u32, rx_max)
16488c2ecf20Sopenharmony_ci	),
16498c2ecf20Sopenharmony_ci	TP_fast_assign(
16508c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
16518c2ecf20Sopenharmony_ci		__entry->tx = tx;
16528c2ecf20Sopenharmony_ci		__entry->tx_max = tx_max;
16538c2ecf20Sopenharmony_ci		__entry->rx = rx;
16548c2ecf20Sopenharmony_ci		__entry->rx_max = rx_max;
16558c2ecf20Sopenharmony_ci	),
16568c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", tx: %u, tx_max: %u, rx: %u, rx_max: %u ",
16578c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->tx, __entry->tx_max, __entry->rx,
16588c2ecf20Sopenharmony_ci		  __entry->rx_max)
16598c2ecf20Sopenharmony_ci);
16608c2ecf20Sopenharmony_ci
16618c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(tx_rx_evt,
16628c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, u32 tx, u32 rx),
16638c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, rx, tx),
16648c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
16658c2ecf20Sopenharmony_ci		WIPHY_ENTRY
16668c2ecf20Sopenharmony_ci		__field(u32, tx)
16678c2ecf20Sopenharmony_ci		__field(u32, rx)
16688c2ecf20Sopenharmony_ci	),
16698c2ecf20Sopenharmony_ci	TP_fast_assign(
16708c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
16718c2ecf20Sopenharmony_ci		__entry->tx = tx;
16728c2ecf20Sopenharmony_ci		__entry->rx = rx;
16738c2ecf20Sopenharmony_ci	),
16748c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", tx: %u, rx: %u ",
16758c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->tx, __entry->rx)
16768c2ecf20Sopenharmony_ci);
16778c2ecf20Sopenharmony_ci
16788c2ecf20Sopenharmony_ciDEFINE_EVENT(tx_rx_evt, rdev_set_antenna,
16798c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, u32 tx, u32 rx),
16808c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, rx, tx)
16818c2ecf20Sopenharmony_ci);
16828c2ecf20Sopenharmony_ci
16838c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(wiphy_netdev_id_evt,
16848c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u64 id),
16858c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, id),
16868c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
16878c2ecf20Sopenharmony_ci		WIPHY_ENTRY
16888c2ecf20Sopenharmony_ci		NETDEV_ENTRY
16898c2ecf20Sopenharmony_ci		__field(u64, id)
16908c2ecf20Sopenharmony_ci	),
16918c2ecf20Sopenharmony_ci	TP_fast_assign(
16928c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
16938c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
16948c2ecf20Sopenharmony_ci		__entry->id = id;
16958c2ecf20Sopenharmony_ci	),
16968c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", id: %llu",
16978c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->id)
16988c2ecf20Sopenharmony_ci);
16998c2ecf20Sopenharmony_ci
17008c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_id_evt, rdev_sched_scan_start,
17018c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u64 id),
17028c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, id)
17038c2ecf20Sopenharmony_ci);
17048c2ecf20Sopenharmony_ci
17058c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_netdev_id_evt, rdev_sched_scan_stop,
17068c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u64 id),
17078c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, id)
17088c2ecf20Sopenharmony_ci);
17098c2ecf20Sopenharmony_ci
17108c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_tdls_mgmt,
17118c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
17128c2ecf20Sopenharmony_ci		 u8 *peer, u8 action_code, u8 dialog_token,
17138c2ecf20Sopenharmony_ci		 u16 status_code, u32 peer_capability,
17148c2ecf20Sopenharmony_ci		 bool initiator, const u8 *buf, size_t len),
17158c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, peer, action_code, dialog_token, status_code,
17168c2ecf20Sopenharmony_ci		peer_capability, initiator, buf, len),
17178c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
17188c2ecf20Sopenharmony_ci		WIPHY_ENTRY
17198c2ecf20Sopenharmony_ci		NETDEV_ENTRY
17208c2ecf20Sopenharmony_ci		MAC_ENTRY(peer)
17218c2ecf20Sopenharmony_ci		__field(u8, action_code)
17228c2ecf20Sopenharmony_ci		__field(u8, dialog_token)
17238c2ecf20Sopenharmony_ci		__field(u16, status_code)
17248c2ecf20Sopenharmony_ci		__field(u32, peer_capability)
17258c2ecf20Sopenharmony_ci		__field(bool, initiator)
17268c2ecf20Sopenharmony_ci		__dynamic_array(u8, buf, len)
17278c2ecf20Sopenharmony_ci	),
17288c2ecf20Sopenharmony_ci	TP_fast_assign(
17298c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
17308c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
17318c2ecf20Sopenharmony_ci		MAC_ASSIGN(peer, peer);
17328c2ecf20Sopenharmony_ci		__entry->action_code = action_code;
17338c2ecf20Sopenharmony_ci		__entry->dialog_token = dialog_token;
17348c2ecf20Sopenharmony_ci		__entry->status_code = status_code;
17358c2ecf20Sopenharmony_ci		__entry->peer_capability = peer_capability;
17368c2ecf20Sopenharmony_ci		__entry->initiator = initiator;
17378c2ecf20Sopenharmony_ci		memcpy(__get_dynamic_array(buf), buf, len);
17388c2ecf20Sopenharmony_ci	),
17398c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " MAC_PR_FMT ", action_code: %u, "
17408c2ecf20Sopenharmony_ci		  "dialog_token: %u, status_code: %u, peer_capability: %u "
17418c2ecf20Sopenharmony_ci		  "initiator: %s buf: %#.2x ",
17428c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer),
17438c2ecf20Sopenharmony_ci		  __entry->action_code, __entry->dialog_token,
17448c2ecf20Sopenharmony_ci		  __entry->status_code, __entry->peer_capability,
17458c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->initiator),
17468c2ecf20Sopenharmony_ci		  ((u8 *)__get_dynamic_array(buf))[0])
17478c2ecf20Sopenharmony_ci);
17488c2ecf20Sopenharmony_ci
17498c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_dump_survey,
17508c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, int _idx),
17518c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, _idx),
17528c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
17538c2ecf20Sopenharmony_ci		WIPHY_ENTRY
17548c2ecf20Sopenharmony_ci		NETDEV_ENTRY
17558c2ecf20Sopenharmony_ci		__field(int, idx)
17568c2ecf20Sopenharmony_ci	),
17578c2ecf20Sopenharmony_ci	TP_fast_assign(
17588c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
17598c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
17608c2ecf20Sopenharmony_ci		__entry->idx = _idx;
17618c2ecf20Sopenharmony_ci	),
17628c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", index: %d",
17638c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->idx)
17648c2ecf20Sopenharmony_ci);
17658c2ecf20Sopenharmony_ci
17668c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_return_int_survey_info,
17678c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, int ret, struct survey_info *info),
17688c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, ret, info),
17698c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
17708c2ecf20Sopenharmony_ci		WIPHY_ENTRY
17718c2ecf20Sopenharmony_ci		CHAN_ENTRY
17728c2ecf20Sopenharmony_ci		__field(int, ret)
17738c2ecf20Sopenharmony_ci		__field(u64, time)
17748c2ecf20Sopenharmony_ci		__field(u64, time_busy)
17758c2ecf20Sopenharmony_ci		__field(u64, time_ext_busy)
17768c2ecf20Sopenharmony_ci		__field(u64, time_rx)
17778c2ecf20Sopenharmony_ci		__field(u64, time_tx)
17788c2ecf20Sopenharmony_ci		__field(u64, time_scan)
17798c2ecf20Sopenharmony_ci		__field(u32, filled)
17808c2ecf20Sopenharmony_ci		__field(s8, noise)
17818c2ecf20Sopenharmony_ci	),
17828c2ecf20Sopenharmony_ci	TP_fast_assign(
17838c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
17848c2ecf20Sopenharmony_ci		CHAN_ASSIGN(info->channel);
17858c2ecf20Sopenharmony_ci		__entry->ret = ret;
17868c2ecf20Sopenharmony_ci		__entry->time = info->time;
17878c2ecf20Sopenharmony_ci		__entry->time_busy = info->time_busy;
17888c2ecf20Sopenharmony_ci		__entry->time_ext_busy = info->time_ext_busy;
17898c2ecf20Sopenharmony_ci		__entry->time_rx = info->time_rx;
17908c2ecf20Sopenharmony_ci		__entry->time_tx = info->time_tx;
17918c2ecf20Sopenharmony_ci		__entry->time_scan = info->time_scan;
17928c2ecf20Sopenharmony_ci		__entry->filled = info->filled;
17938c2ecf20Sopenharmony_ci		__entry->noise = info->noise;
17948c2ecf20Sopenharmony_ci	),
17958c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", returned: %d, " CHAN_PR_FMT
17968c2ecf20Sopenharmony_ci		  ", channel time: %llu, channel time busy: %llu, "
17978c2ecf20Sopenharmony_ci		  "channel time extension busy: %llu, channel time rx: %llu, "
17988c2ecf20Sopenharmony_ci		  "channel time tx: %llu, scan time: %llu, filled: %u, noise: %d",
17998c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->ret, CHAN_PR_ARG,
18008c2ecf20Sopenharmony_ci		  __entry->time, __entry->time_busy,
18018c2ecf20Sopenharmony_ci		  __entry->time_ext_busy, __entry->time_rx,
18028c2ecf20Sopenharmony_ci		  __entry->time_tx, __entry->time_scan,
18038c2ecf20Sopenharmony_ci		  __entry->filled, __entry->noise)
18048c2ecf20Sopenharmony_ci);
18058c2ecf20Sopenharmony_ci
18068c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_tdls_oper,
18078c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
18088c2ecf20Sopenharmony_ci		 u8 *peer, enum nl80211_tdls_operation oper),
18098c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, peer, oper),
18108c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
18118c2ecf20Sopenharmony_ci		WIPHY_ENTRY
18128c2ecf20Sopenharmony_ci		NETDEV_ENTRY
18138c2ecf20Sopenharmony_ci		MAC_ENTRY(peer)
18148c2ecf20Sopenharmony_ci		__field(enum nl80211_tdls_operation, oper)
18158c2ecf20Sopenharmony_ci	),
18168c2ecf20Sopenharmony_ci	TP_fast_assign(
18178c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
18188c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
18198c2ecf20Sopenharmony_ci		MAC_ASSIGN(peer, peer);
18208c2ecf20Sopenharmony_ci		__entry->oper = oper;
18218c2ecf20Sopenharmony_ci	),
18228c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " MAC_PR_FMT ", oper: %d",
18238c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer), __entry->oper)
18248c2ecf20Sopenharmony_ci);
18258c2ecf20Sopenharmony_ci
18268c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(rdev_pmksa,
18278c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
18288c2ecf20Sopenharmony_ci		 struct cfg80211_pmksa *pmksa),
18298c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, pmksa),
18308c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
18318c2ecf20Sopenharmony_ci		WIPHY_ENTRY
18328c2ecf20Sopenharmony_ci		NETDEV_ENTRY
18338c2ecf20Sopenharmony_ci		MAC_ENTRY(bssid)
18348c2ecf20Sopenharmony_ci	),
18358c2ecf20Sopenharmony_ci	TP_fast_assign(
18368c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
18378c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
18388c2ecf20Sopenharmony_ci		MAC_ASSIGN(bssid, pmksa->bssid);
18398c2ecf20Sopenharmony_ci	),
18408c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", bssid: " MAC_PR_FMT,
18418c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(bssid))
18428c2ecf20Sopenharmony_ci);
18438c2ecf20Sopenharmony_ci
18448c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_probe_client,
18458c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
18468c2ecf20Sopenharmony_ci		 const u8 *peer),
18478c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, peer),
18488c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
18498c2ecf20Sopenharmony_ci		WIPHY_ENTRY
18508c2ecf20Sopenharmony_ci		NETDEV_ENTRY
18518c2ecf20Sopenharmony_ci		MAC_ENTRY(peer)
18528c2ecf20Sopenharmony_ci	),
18538c2ecf20Sopenharmony_ci	TP_fast_assign(
18548c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
18558c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
18568c2ecf20Sopenharmony_ci		MAC_ASSIGN(peer, peer);
18578c2ecf20Sopenharmony_ci	),
18588c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " MAC_PR_FMT,
18598c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer))
18608c2ecf20Sopenharmony_ci);
18618c2ecf20Sopenharmony_ci
18628c2ecf20Sopenharmony_ciDEFINE_EVENT(rdev_pmksa, rdev_set_pmksa,
18638c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
18648c2ecf20Sopenharmony_ci		 struct cfg80211_pmksa *pmksa),
18658c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, pmksa)
18668c2ecf20Sopenharmony_ci);
18678c2ecf20Sopenharmony_ci
18688c2ecf20Sopenharmony_ciDEFINE_EVENT(rdev_pmksa, rdev_del_pmksa,
18698c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
18708c2ecf20Sopenharmony_ci		 struct cfg80211_pmksa *pmksa),
18718c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, pmksa)
18728c2ecf20Sopenharmony_ci);
18738c2ecf20Sopenharmony_ci
18748c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_remain_on_channel,
18758c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev,
18768c2ecf20Sopenharmony_ci		 struct ieee80211_channel *chan,
18778c2ecf20Sopenharmony_ci		 unsigned int duration),
18788c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, chan, duration),
18798c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
18808c2ecf20Sopenharmony_ci		WIPHY_ENTRY
18818c2ecf20Sopenharmony_ci		WDEV_ENTRY
18828c2ecf20Sopenharmony_ci		CHAN_ENTRY
18838c2ecf20Sopenharmony_ci		__field(unsigned int, duration)
18848c2ecf20Sopenharmony_ci	),
18858c2ecf20Sopenharmony_ci	TP_fast_assign(
18868c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
18878c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
18888c2ecf20Sopenharmony_ci		CHAN_ASSIGN(chan);
18898c2ecf20Sopenharmony_ci		__entry->duration = duration;
18908c2ecf20Sopenharmony_ci	),
18918c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", " CHAN_PR_FMT ", duration: %u",
18928c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG, CHAN_PR_ARG, __entry->duration)
18938c2ecf20Sopenharmony_ci);
18948c2ecf20Sopenharmony_ci
18958c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_return_int_cookie,
18968c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, int ret, u64 cookie),
18978c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, ret, cookie),
18988c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
18998c2ecf20Sopenharmony_ci		WIPHY_ENTRY
19008c2ecf20Sopenharmony_ci		__field(int, ret)
19018c2ecf20Sopenharmony_ci		__field(u64, cookie)
19028c2ecf20Sopenharmony_ci	),
19038c2ecf20Sopenharmony_ci	TP_fast_assign(
19048c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
19058c2ecf20Sopenharmony_ci		__entry->ret = ret;
19068c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
19078c2ecf20Sopenharmony_ci	),
19088c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", returned %d, cookie: %llu",
19098c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->ret, __entry->cookie)
19108c2ecf20Sopenharmony_ci);
19118c2ecf20Sopenharmony_ci
19128c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_cancel_remain_on_channel,
19138c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev, u64 cookie),
19148c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, cookie),
19158c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
19168c2ecf20Sopenharmony_ci		WIPHY_ENTRY
19178c2ecf20Sopenharmony_ci		WDEV_ENTRY
19188c2ecf20Sopenharmony_ci		__field(u64, cookie)
19198c2ecf20Sopenharmony_ci	),
19208c2ecf20Sopenharmony_ci	TP_fast_assign(
19218c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
19228c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
19238c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
19248c2ecf20Sopenharmony_ci	),
19258c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", cookie: %llu",
19268c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG, __entry->cookie)
19278c2ecf20Sopenharmony_ci);
19288c2ecf20Sopenharmony_ci
19298c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_mgmt_tx,
19308c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev,
19318c2ecf20Sopenharmony_ci		 struct cfg80211_mgmt_tx_params *params),
19328c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, params),
19338c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
19348c2ecf20Sopenharmony_ci		WIPHY_ENTRY
19358c2ecf20Sopenharmony_ci		WDEV_ENTRY
19368c2ecf20Sopenharmony_ci		CHAN_ENTRY
19378c2ecf20Sopenharmony_ci		__field(bool, offchan)
19388c2ecf20Sopenharmony_ci		__field(unsigned int, wait)
19398c2ecf20Sopenharmony_ci		__field(bool, no_cck)
19408c2ecf20Sopenharmony_ci		__field(bool, dont_wait_for_ack)
19418c2ecf20Sopenharmony_ci	),
19428c2ecf20Sopenharmony_ci	TP_fast_assign(
19438c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
19448c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
19458c2ecf20Sopenharmony_ci		CHAN_ASSIGN(params->chan);
19468c2ecf20Sopenharmony_ci		__entry->offchan = params->offchan;
19478c2ecf20Sopenharmony_ci		__entry->wait = params->wait;
19488c2ecf20Sopenharmony_ci		__entry->no_cck = params->no_cck;
19498c2ecf20Sopenharmony_ci		__entry->dont_wait_for_ack = params->dont_wait_for_ack;
19508c2ecf20Sopenharmony_ci	),
19518c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", " CHAN_PR_FMT ", offchan: %s,"
19528c2ecf20Sopenharmony_ci		  " wait: %u, no cck: %s, dont wait for ack: %s",
19538c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG, CHAN_PR_ARG,
19548c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->offchan), __entry->wait,
19558c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->no_cck),
19568c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->dont_wait_for_ack))
19578c2ecf20Sopenharmony_ci);
19588c2ecf20Sopenharmony_ci
19598c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_tx_control_port,
19608c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
19618c2ecf20Sopenharmony_ci		 const u8 *buf, size_t len, const u8 *dest, __be16 proto,
19628c2ecf20Sopenharmony_ci		 bool unencrypted),
19638c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, buf, len, dest, proto, unencrypted),
19648c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
19658c2ecf20Sopenharmony_ci		WIPHY_ENTRY
19668c2ecf20Sopenharmony_ci		NETDEV_ENTRY
19678c2ecf20Sopenharmony_ci		MAC_ENTRY(dest)
19688c2ecf20Sopenharmony_ci		__field(__be16, proto)
19698c2ecf20Sopenharmony_ci		__field(bool, unencrypted)
19708c2ecf20Sopenharmony_ci	),
19718c2ecf20Sopenharmony_ci	TP_fast_assign(
19728c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
19738c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
19748c2ecf20Sopenharmony_ci		MAC_ASSIGN(dest, dest);
19758c2ecf20Sopenharmony_ci		__entry->proto = proto;
19768c2ecf20Sopenharmony_ci		__entry->unencrypted = unencrypted;
19778c2ecf20Sopenharmony_ci	),
19788c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " MAC_PR_FMT ","
19798c2ecf20Sopenharmony_ci		  " proto: 0x%x, unencrypted: %s",
19808c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(dest),
19818c2ecf20Sopenharmony_ci		  be16_to_cpu(__entry->proto),
19828c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->unencrypted))
19838c2ecf20Sopenharmony_ci);
19848c2ecf20Sopenharmony_ci
19858c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_noack_map,
19868c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
19878c2ecf20Sopenharmony_ci		 u16 noack_map),
19888c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, noack_map),
19898c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
19908c2ecf20Sopenharmony_ci		WIPHY_ENTRY
19918c2ecf20Sopenharmony_ci		NETDEV_ENTRY
19928c2ecf20Sopenharmony_ci		__field(u16, noack_map)
19938c2ecf20Sopenharmony_ci	),
19948c2ecf20Sopenharmony_ci	TP_fast_assign(
19958c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
19968c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
19978c2ecf20Sopenharmony_ci		__entry->noack_map = noack_map;
19988c2ecf20Sopenharmony_ci	),
19998c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", noack_map: %u",
20008c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->noack_map)
20018c2ecf20Sopenharmony_ci);
20028c2ecf20Sopenharmony_ci
20038c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_wdev_evt, rdev_get_channel,
20048c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
20058c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev)
20068c2ecf20Sopenharmony_ci);
20078c2ecf20Sopenharmony_ci
20088c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_return_chandef,
20098c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, int ret,
20108c2ecf20Sopenharmony_ci		 struct cfg80211_chan_def *chandef),
20118c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, ret, chandef),
20128c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
20138c2ecf20Sopenharmony_ci		WIPHY_ENTRY
20148c2ecf20Sopenharmony_ci		__field(int, ret)
20158c2ecf20Sopenharmony_ci		CHAN_DEF_ENTRY
20168c2ecf20Sopenharmony_ci	),
20178c2ecf20Sopenharmony_ci	TP_fast_assign(
20188c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
20198c2ecf20Sopenharmony_ci		if (ret == 0)
20208c2ecf20Sopenharmony_ci			CHAN_DEF_ASSIGN(chandef);
20218c2ecf20Sopenharmony_ci		else
20228c2ecf20Sopenharmony_ci			CHAN_DEF_ASSIGN((struct cfg80211_chan_def *)NULL);
20238c2ecf20Sopenharmony_ci		__entry->ret = ret;
20248c2ecf20Sopenharmony_ci	),
20258c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " CHAN_DEF_PR_FMT ", ret: %d",
20268c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, CHAN_DEF_PR_ARG, __entry->ret)
20278c2ecf20Sopenharmony_ci);
20288c2ecf20Sopenharmony_ci
20298c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_wdev_evt, rdev_start_p2p_device,
20308c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
20318c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev)
20328c2ecf20Sopenharmony_ci);
20338c2ecf20Sopenharmony_ci
20348c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_wdev_evt, rdev_stop_p2p_device,
20358c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
20368c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev)
20378c2ecf20Sopenharmony_ci);
20388c2ecf20Sopenharmony_ci
20398c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_start_nan,
20408c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev,
20418c2ecf20Sopenharmony_ci		 struct cfg80211_nan_conf *conf),
20428c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, conf),
20438c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
20448c2ecf20Sopenharmony_ci		WIPHY_ENTRY
20458c2ecf20Sopenharmony_ci		WDEV_ENTRY
20468c2ecf20Sopenharmony_ci		__field(u8, master_pref)
20478c2ecf20Sopenharmony_ci		__field(u8, bands)
20488c2ecf20Sopenharmony_ci	),
20498c2ecf20Sopenharmony_ci	TP_fast_assign(
20508c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
20518c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
20528c2ecf20Sopenharmony_ci		__entry->master_pref = conf->master_pref;
20538c2ecf20Sopenharmony_ci		__entry->bands = conf->bands;
20548c2ecf20Sopenharmony_ci	),
20558c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT
20568c2ecf20Sopenharmony_ci		  ", master preference: %u, bands: 0x%0x",
20578c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG, __entry->master_pref,
20588c2ecf20Sopenharmony_ci		  __entry->bands)
20598c2ecf20Sopenharmony_ci);
20608c2ecf20Sopenharmony_ci
20618c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_nan_change_conf,
20628c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev,
20638c2ecf20Sopenharmony_ci		 struct cfg80211_nan_conf *conf, u32 changes),
20648c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, conf, changes),
20658c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
20668c2ecf20Sopenharmony_ci		WIPHY_ENTRY
20678c2ecf20Sopenharmony_ci		WDEV_ENTRY
20688c2ecf20Sopenharmony_ci		__field(u8, master_pref)
20698c2ecf20Sopenharmony_ci		__field(u8, bands)
20708c2ecf20Sopenharmony_ci		__field(u32, changes)
20718c2ecf20Sopenharmony_ci	),
20728c2ecf20Sopenharmony_ci	TP_fast_assign(
20738c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
20748c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
20758c2ecf20Sopenharmony_ci		__entry->master_pref = conf->master_pref;
20768c2ecf20Sopenharmony_ci		__entry->bands = conf->bands;
20778c2ecf20Sopenharmony_ci		__entry->changes = changes;
20788c2ecf20Sopenharmony_ci	),
20798c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT
20808c2ecf20Sopenharmony_ci		  ", master preference: %u, bands: 0x%0x, changes: %x",
20818c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG, __entry->master_pref,
20828c2ecf20Sopenharmony_ci		  __entry->bands, __entry->changes)
20838c2ecf20Sopenharmony_ci);
20848c2ecf20Sopenharmony_ci
20858c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_wdev_evt, rdev_stop_nan,
20868c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
20878c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev)
20888c2ecf20Sopenharmony_ci);
20898c2ecf20Sopenharmony_ci
20908c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_add_nan_func,
20918c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev,
20928c2ecf20Sopenharmony_ci		 const struct cfg80211_nan_func *func),
20938c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, func),
20948c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
20958c2ecf20Sopenharmony_ci		WIPHY_ENTRY
20968c2ecf20Sopenharmony_ci		WDEV_ENTRY
20978c2ecf20Sopenharmony_ci		__field(u8, func_type)
20988c2ecf20Sopenharmony_ci		__field(u64, cookie)
20998c2ecf20Sopenharmony_ci	),
21008c2ecf20Sopenharmony_ci	TP_fast_assign(
21018c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
21028c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
21038c2ecf20Sopenharmony_ci		__entry->func_type = func->type;
21048c2ecf20Sopenharmony_ci		__entry->cookie = func->cookie
21058c2ecf20Sopenharmony_ci	),
21068c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", type=%u, cookie=%llu",
21078c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG, __entry->func_type,
21088c2ecf20Sopenharmony_ci		  __entry->cookie)
21098c2ecf20Sopenharmony_ci);
21108c2ecf20Sopenharmony_ci
21118c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_del_nan_func,
21128c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev,
21138c2ecf20Sopenharmony_ci		 u64 cookie),
21148c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, cookie),
21158c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
21168c2ecf20Sopenharmony_ci		WIPHY_ENTRY
21178c2ecf20Sopenharmony_ci		WDEV_ENTRY
21188c2ecf20Sopenharmony_ci		__field(u64, cookie)
21198c2ecf20Sopenharmony_ci	),
21208c2ecf20Sopenharmony_ci	TP_fast_assign(
21218c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
21228c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
21238c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
21248c2ecf20Sopenharmony_ci	),
21258c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", cookie=%llu",
21268c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG, __entry->cookie)
21278c2ecf20Sopenharmony_ci);
21288c2ecf20Sopenharmony_ci
21298c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_mac_acl,
21308c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
21318c2ecf20Sopenharmony_ci		 struct cfg80211_acl_data *params),
21328c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, params),
21338c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
21348c2ecf20Sopenharmony_ci		WIPHY_ENTRY
21358c2ecf20Sopenharmony_ci		NETDEV_ENTRY
21368c2ecf20Sopenharmony_ci		__field(u32, acl_policy)
21378c2ecf20Sopenharmony_ci	),
21388c2ecf20Sopenharmony_ci	TP_fast_assign(
21398c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
21408c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
21418c2ecf20Sopenharmony_ci		__entry->acl_policy = params->acl_policy;
21428c2ecf20Sopenharmony_ci	),
21438c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", acl policy: %d",
21448c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->acl_policy)
21458c2ecf20Sopenharmony_ci);
21468c2ecf20Sopenharmony_ci
21478c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_update_ft_ies,
21488c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
21498c2ecf20Sopenharmony_ci		 struct cfg80211_update_ft_ies_params *ftie),
21508c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, ftie),
21518c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
21528c2ecf20Sopenharmony_ci		WIPHY_ENTRY
21538c2ecf20Sopenharmony_ci		NETDEV_ENTRY
21548c2ecf20Sopenharmony_ci		__field(u16, md)
21558c2ecf20Sopenharmony_ci		__dynamic_array(u8, ie, ftie->ie_len)
21568c2ecf20Sopenharmony_ci	),
21578c2ecf20Sopenharmony_ci	TP_fast_assign(
21588c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
21598c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
21608c2ecf20Sopenharmony_ci		__entry->md = ftie->md;
21618c2ecf20Sopenharmony_ci		memcpy(__get_dynamic_array(ie), ftie->ie, ftie->ie_len);
21628c2ecf20Sopenharmony_ci	),
21638c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", md: 0x%x",
21648c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->md)
21658c2ecf20Sopenharmony_ci);
21668c2ecf20Sopenharmony_ci
21678c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_crit_proto_start,
21688c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev,
21698c2ecf20Sopenharmony_ci		 enum nl80211_crit_proto_id protocol, u16 duration),
21708c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, protocol, duration),
21718c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
21728c2ecf20Sopenharmony_ci		WIPHY_ENTRY
21738c2ecf20Sopenharmony_ci		WDEV_ENTRY
21748c2ecf20Sopenharmony_ci		__field(u16, proto)
21758c2ecf20Sopenharmony_ci		__field(u16, duration)
21768c2ecf20Sopenharmony_ci	),
21778c2ecf20Sopenharmony_ci	TP_fast_assign(
21788c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
21798c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
21808c2ecf20Sopenharmony_ci		__entry->proto = protocol;
21818c2ecf20Sopenharmony_ci		__entry->duration = duration;
21828c2ecf20Sopenharmony_ci	),
21838c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", proto=%x, duration=%u",
21848c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG, __entry->proto, __entry->duration)
21858c2ecf20Sopenharmony_ci);
21868c2ecf20Sopenharmony_ci
21878c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_crit_proto_stop,
21888c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
21898c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev),
21908c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
21918c2ecf20Sopenharmony_ci		WIPHY_ENTRY
21928c2ecf20Sopenharmony_ci		WDEV_ENTRY
21938c2ecf20Sopenharmony_ci	),
21948c2ecf20Sopenharmony_ci	TP_fast_assign(
21958c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
21968c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
21978c2ecf20Sopenharmony_ci	),
21988c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT,
21998c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG)
22008c2ecf20Sopenharmony_ci);
22018c2ecf20Sopenharmony_ci
22028c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_channel_switch,
22038c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
22048c2ecf20Sopenharmony_ci		 struct cfg80211_csa_settings *params),
22058c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, params),
22068c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
22078c2ecf20Sopenharmony_ci		WIPHY_ENTRY
22088c2ecf20Sopenharmony_ci		NETDEV_ENTRY
22098c2ecf20Sopenharmony_ci		CHAN_DEF_ENTRY
22108c2ecf20Sopenharmony_ci		__field(bool, radar_required)
22118c2ecf20Sopenharmony_ci		__field(bool, block_tx)
22128c2ecf20Sopenharmony_ci		__field(u8, count)
22138c2ecf20Sopenharmony_ci		__dynamic_array(u16, bcn_ofs, params->n_counter_offsets_beacon)
22148c2ecf20Sopenharmony_ci		__dynamic_array(u16, pres_ofs, params->n_counter_offsets_presp)
22158c2ecf20Sopenharmony_ci	),
22168c2ecf20Sopenharmony_ci	TP_fast_assign(
22178c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
22188c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
22198c2ecf20Sopenharmony_ci		CHAN_DEF_ASSIGN(&params->chandef);
22208c2ecf20Sopenharmony_ci		__entry->radar_required = params->radar_required;
22218c2ecf20Sopenharmony_ci		__entry->block_tx = params->block_tx;
22228c2ecf20Sopenharmony_ci		__entry->count = params->count;
22238c2ecf20Sopenharmony_ci		memcpy(__get_dynamic_array(bcn_ofs),
22248c2ecf20Sopenharmony_ci		       params->counter_offsets_beacon,
22258c2ecf20Sopenharmony_ci		       params->n_counter_offsets_beacon * sizeof(u16));
22268c2ecf20Sopenharmony_ci
22278c2ecf20Sopenharmony_ci		/* probe response offsets are optional */
22288c2ecf20Sopenharmony_ci		if (params->n_counter_offsets_presp)
22298c2ecf20Sopenharmony_ci			memcpy(__get_dynamic_array(pres_ofs),
22308c2ecf20Sopenharmony_ci			       params->counter_offsets_presp,
22318c2ecf20Sopenharmony_ci			       params->n_counter_offsets_presp * sizeof(u16));
22328c2ecf20Sopenharmony_ci	),
22338c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " CHAN_DEF_PR_FMT
22348c2ecf20Sopenharmony_ci		  ", block_tx: %d, count: %u, radar_required: %d",
22358c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, CHAN_DEF_PR_ARG,
22368c2ecf20Sopenharmony_ci		  __entry->block_tx, __entry->count, __entry->radar_required)
22378c2ecf20Sopenharmony_ci);
22388c2ecf20Sopenharmony_ci
22398c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_qos_map,
22408c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
22418c2ecf20Sopenharmony_ci		 struct cfg80211_qos_map *qos_map),
22428c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, qos_map),
22438c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
22448c2ecf20Sopenharmony_ci		WIPHY_ENTRY
22458c2ecf20Sopenharmony_ci		NETDEV_ENTRY
22468c2ecf20Sopenharmony_ci		QOS_MAP_ENTRY
22478c2ecf20Sopenharmony_ci	),
22488c2ecf20Sopenharmony_ci	TP_fast_assign(
22498c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
22508c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
22518c2ecf20Sopenharmony_ci		QOS_MAP_ASSIGN(qos_map);
22528c2ecf20Sopenharmony_ci	),
22538c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", num_des: %u",
22548c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->num_des)
22558c2ecf20Sopenharmony_ci);
22568c2ecf20Sopenharmony_ci
22578c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_ap_chanwidth,
22588c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
22598c2ecf20Sopenharmony_ci		 struct cfg80211_chan_def *chandef),
22608c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, chandef),
22618c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
22628c2ecf20Sopenharmony_ci		WIPHY_ENTRY
22638c2ecf20Sopenharmony_ci		NETDEV_ENTRY
22648c2ecf20Sopenharmony_ci		CHAN_DEF_ENTRY
22658c2ecf20Sopenharmony_ci	),
22668c2ecf20Sopenharmony_ci	TP_fast_assign(
22678c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
22688c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
22698c2ecf20Sopenharmony_ci		CHAN_DEF_ASSIGN(chandef);
22708c2ecf20Sopenharmony_ci	),
22718c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " CHAN_DEF_PR_FMT,
22728c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, CHAN_DEF_PR_ARG)
22738c2ecf20Sopenharmony_ci);
22748c2ecf20Sopenharmony_ci
22758c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_add_tx_ts,
22768c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
22778c2ecf20Sopenharmony_ci		 u8 tsid, const u8 *peer, u8 user_prio, u16 admitted_time),
22788c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, tsid, peer, user_prio, admitted_time),
22798c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
22808c2ecf20Sopenharmony_ci		WIPHY_ENTRY
22818c2ecf20Sopenharmony_ci		NETDEV_ENTRY
22828c2ecf20Sopenharmony_ci		MAC_ENTRY(peer)
22838c2ecf20Sopenharmony_ci		__field(u8, tsid)
22848c2ecf20Sopenharmony_ci		__field(u8, user_prio)
22858c2ecf20Sopenharmony_ci		__field(u16, admitted_time)
22868c2ecf20Sopenharmony_ci	),
22878c2ecf20Sopenharmony_ci	TP_fast_assign(
22888c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
22898c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
22908c2ecf20Sopenharmony_ci		MAC_ASSIGN(peer, peer);
22918c2ecf20Sopenharmony_ci		__entry->tsid = tsid;
22928c2ecf20Sopenharmony_ci		__entry->user_prio = user_prio;
22938c2ecf20Sopenharmony_ci		__entry->admitted_time = admitted_time;
22948c2ecf20Sopenharmony_ci	),
22958c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " MAC_PR_FMT ", TSID %d, UP %d, time %d",
22968c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer),
22978c2ecf20Sopenharmony_ci		  __entry->tsid, __entry->user_prio, __entry->admitted_time)
22988c2ecf20Sopenharmony_ci);
22998c2ecf20Sopenharmony_ci
23008c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_del_tx_ts,
23018c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
23028c2ecf20Sopenharmony_ci		 u8 tsid, const u8 *peer),
23038c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, tsid, peer),
23048c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
23058c2ecf20Sopenharmony_ci		WIPHY_ENTRY
23068c2ecf20Sopenharmony_ci		NETDEV_ENTRY
23078c2ecf20Sopenharmony_ci		MAC_ENTRY(peer)
23088c2ecf20Sopenharmony_ci		__field(u8, tsid)
23098c2ecf20Sopenharmony_ci	),
23108c2ecf20Sopenharmony_ci	TP_fast_assign(
23118c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
23128c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
23138c2ecf20Sopenharmony_ci		MAC_ASSIGN(peer, peer);
23148c2ecf20Sopenharmony_ci		__entry->tsid = tsid;
23158c2ecf20Sopenharmony_ci	),
23168c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " MAC_PR_FMT ", TSID %d",
23178c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer), __entry->tsid)
23188c2ecf20Sopenharmony_ci);
23198c2ecf20Sopenharmony_ci
23208c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_tdls_channel_switch,
23218c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
23228c2ecf20Sopenharmony_ci		 const u8 *addr, u8 oper_class,
23238c2ecf20Sopenharmony_ci		 struct cfg80211_chan_def *chandef),
23248c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, addr, oper_class, chandef),
23258c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
23268c2ecf20Sopenharmony_ci		WIPHY_ENTRY
23278c2ecf20Sopenharmony_ci		NETDEV_ENTRY
23288c2ecf20Sopenharmony_ci		MAC_ENTRY(addr)
23298c2ecf20Sopenharmony_ci		__field(u8, oper_class)
23308c2ecf20Sopenharmony_ci		CHAN_DEF_ENTRY
23318c2ecf20Sopenharmony_ci	),
23328c2ecf20Sopenharmony_ci	TP_fast_assign(
23338c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
23348c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
23358c2ecf20Sopenharmony_ci		MAC_ASSIGN(addr, addr);
23368c2ecf20Sopenharmony_ci		CHAN_DEF_ASSIGN(chandef);
23378c2ecf20Sopenharmony_ci	),
23388c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " MAC_PR_FMT
23398c2ecf20Sopenharmony_ci		  " oper class %d, " CHAN_DEF_PR_FMT,
23408c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(addr),
23418c2ecf20Sopenharmony_ci		  __entry->oper_class, CHAN_DEF_PR_ARG)
23428c2ecf20Sopenharmony_ci);
23438c2ecf20Sopenharmony_ci
23448c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_tdls_cancel_channel_switch,
23458c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
23468c2ecf20Sopenharmony_ci		 const u8 *addr),
23478c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, addr),
23488c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
23498c2ecf20Sopenharmony_ci		WIPHY_ENTRY
23508c2ecf20Sopenharmony_ci		NETDEV_ENTRY
23518c2ecf20Sopenharmony_ci		MAC_ENTRY(addr)
23528c2ecf20Sopenharmony_ci	),
23538c2ecf20Sopenharmony_ci	TP_fast_assign(
23548c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
23558c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
23568c2ecf20Sopenharmony_ci		MAC_ASSIGN(addr, addr);
23578c2ecf20Sopenharmony_ci	),
23588c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " MAC_PR_FMT,
23598c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(addr))
23608c2ecf20Sopenharmony_ci);
23618c2ecf20Sopenharmony_ci
23628c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_pmk,
23638c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
23648c2ecf20Sopenharmony_ci		 struct cfg80211_pmk_conf *pmk_conf),
23658c2ecf20Sopenharmony_ci
23668c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, pmk_conf),
23678c2ecf20Sopenharmony_ci
23688c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
23698c2ecf20Sopenharmony_ci		WIPHY_ENTRY
23708c2ecf20Sopenharmony_ci		NETDEV_ENTRY
23718c2ecf20Sopenharmony_ci		MAC_ENTRY(aa)
23728c2ecf20Sopenharmony_ci		__field(u8, pmk_len)
23738c2ecf20Sopenharmony_ci		__field(u8, pmk_r0_name_len)
23748c2ecf20Sopenharmony_ci		__dynamic_array(u8, pmk, pmk_conf->pmk_len)
23758c2ecf20Sopenharmony_ci		__dynamic_array(u8, pmk_r0_name, WLAN_PMK_NAME_LEN)
23768c2ecf20Sopenharmony_ci	),
23778c2ecf20Sopenharmony_ci
23788c2ecf20Sopenharmony_ci	TP_fast_assign(
23798c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
23808c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
23818c2ecf20Sopenharmony_ci		MAC_ASSIGN(aa, pmk_conf->aa);
23828c2ecf20Sopenharmony_ci		__entry->pmk_len = pmk_conf->pmk_len;
23838c2ecf20Sopenharmony_ci		__entry->pmk_r0_name_len =
23848c2ecf20Sopenharmony_ci		pmk_conf->pmk_r0_name ? WLAN_PMK_NAME_LEN : 0;
23858c2ecf20Sopenharmony_ci		memcpy(__get_dynamic_array(pmk), pmk_conf->pmk,
23868c2ecf20Sopenharmony_ci		       pmk_conf->pmk_len);
23878c2ecf20Sopenharmony_ci		memcpy(__get_dynamic_array(pmk_r0_name), pmk_conf->pmk_r0_name,
23888c2ecf20Sopenharmony_ci		       pmk_conf->pmk_r0_name ? WLAN_PMK_NAME_LEN : 0);
23898c2ecf20Sopenharmony_ci	),
23908c2ecf20Sopenharmony_ci
23918c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " MAC_PR_FMT
23928c2ecf20Sopenharmony_ci		  "pmk_len=%u, pmk: %s pmk_r0_name: %s", WIPHY_PR_ARG,
23938c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, MAC_PR_ARG(aa), __entry->pmk_len,
23948c2ecf20Sopenharmony_ci		  __print_array(__get_dynamic_array(pmk),
23958c2ecf20Sopenharmony_ci				__get_dynamic_array_len(pmk), 1),
23968c2ecf20Sopenharmony_ci		  __entry->pmk_r0_name_len ?
23978c2ecf20Sopenharmony_ci		  __print_array(__get_dynamic_array(pmk_r0_name),
23988c2ecf20Sopenharmony_ci				__get_dynamic_array_len(pmk_r0_name), 1) : "")
23998c2ecf20Sopenharmony_ci);
24008c2ecf20Sopenharmony_ci
24018c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_del_pmk,
24028c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, const u8 *aa),
24038c2ecf20Sopenharmony_ci
24048c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, aa),
24058c2ecf20Sopenharmony_ci
24068c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
24078c2ecf20Sopenharmony_ci		WIPHY_ENTRY
24088c2ecf20Sopenharmony_ci		NETDEV_ENTRY
24098c2ecf20Sopenharmony_ci		MAC_ENTRY(aa)
24108c2ecf20Sopenharmony_ci	),
24118c2ecf20Sopenharmony_ci
24128c2ecf20Sopenharmony_ci	TP_fast_assign(
24138c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
24148c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
24158c2ecf20Sopenharmony_ci		MAC_ASSIGN(aa, aa);
24168c2ecf20Sopenharmony_ci	),
24178c2ecf20Sopenharmony_ci
24188c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " MAC_PR_FMT,
24198c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(aa))
24208c2ecf20Sopenharmony_ci);
24218c2ecf20Sopenharmony_ci
24228c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_external_auth,
24238c2ecf20Sopenharmony_ci	    TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
24248c2ecf20Sopenharmony_ci		     struct cfg80211_external_auth_params *params),
24258c2ecf20Sopenharmony_ci	    TP_ARGS(wiphy, netdev, params),
24268c2ecf20Sopenharmony_ci	    TP_STRUCT__entry(WIPHY_ENTRY
24278c2ecf20Sopenharmony_ci			     NETDEV_ENTRY
24288c2ecf20Sopenharmony_ci			     MAC_ENTRY(bssid)
24298c2ecf20Sopenharmony_ci			     __array(u8, ssid, IEEE80211_MAX_SSID_LEN + 1)
24308c2ecf20Sopenharmony_ci			     __field(u16, status)
24318c2ecf20Sopenharmony_ci	    ),
24328c2ecf20Sopenharmony_ci	    TP_fast_assign(WIPHY_ASSIGN;
24338c2ecf20Sopenharmony_ci			   NETDEV_ASSIGN;
24348c2ecf20Sopenharmony_ci			   MAC_ASSIGN(bssid, params->bssid);
24358c2ecf20Sopenharmony_ci			   memset(__entry->ssid, 0, IEEE80211_MAX_SSID_LEN + 1);
24368c2ecf20Sopenharmony_ci			   memcpy(__entry->ssid, params->ssid.ssid,
24378c2ecf20Sopenharmony_ci				  params->ssid.ssid_len);
24388c2ecf20Sopenharmony_ci			   __entry->status = params->status;
24398c2ecf20Sopenharmony_ci	    ),
24408c2ecf20Sopenharmony_ci	    TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", bssid: " MAC_PR_FMT
24418c2ecf20Sopenharmony_ci		      ", ssid: %s, status: %u", WIPHY_PR_ARG, NETDEV_PR_ARG,
24428c2ecf20Sopenharmony_ci		      __entry->bssid, __entry->ssid, __entry->status)
24438c2ecf20Sopenharmony_ci);
24448c2ecf20Sopenharmony_ci
24458c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_start_radar_detection,
24468c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
24478c2ecf20Sopenharmony_ci		 struct cfg80211_chan_def *chandef,
24488c2ecf20Sopenharmony_ci		 u32 cac_time_ms),
24498c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, chandef, cac_time_ms),
24508c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
24518c2ecf20Sopenharmony_ci		WIPHY_ENTRY
24528c2ecf20Sopenharmony_ci		NETDEV_ENTRY
24538c2ecf20Sopenharmony_ci		CHAN_DEF_ENTRY
24548c2ecf20Sopenharmony_ci		__field(u32, cac_time_ms)
24558c2ecf20Sopenharmony_ci	),
24568c2ecf20Sopenharmony_ci	TP_fast_assign(
24578c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
24588c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
24598c2ecf20Sopenharmony_ci		CHAN_DEF_ASSIGN(chandef);
24608c2ecf20Sopenharmony_ci		__entry->cac_time_ms = cac_time_ms;
24618c2ecf20Sopenharmony_ci	),
24628c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " CHAN_DEF_PR_FMT
24638c2ecf20Sopenharmony_ci		  ", cac_time_ms=%u",
24648c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, CHAN_DEF_PR_ARG,
24658c2ecf20Sopenharmony_ci		  __entry->cac_time_ms)
24668c2ecf20Sopenharmony_ci);
24678c2ecf20Sopenharmony_ci
24688c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_mcast_rate,
24698c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
24708c2ecf20Sopenharmony_ci		 int *mcast_rate),
24718c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, mcast_rate),
24728c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
24738c2ecf20Sopenharmony_ci		WIPHY_ENTRY
24748c2ecf20Sopenharmony_ci		NETDEV_ENTRY
24758c2ecf20Sopenharmony_ci		__array(int, mcast_rate, NUM_NL80211_BANDS)
24768c2ecf20Sopenharmony_ci	),
24778c2ecf20Sopenharmony_ci	TP_fast_assign(
24788c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
24798c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
24808c2ecf20Sopenharmony_ci		memcpy(__entry->mcast_rate, mcast_rate,
24818c2ecf20Sopenharmony_ci		       sizeof(int) * NUM_NL80211_BANDS);
24828c2ecf20Sopenharmony_ci	),
24838c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", "
24848c2ecf20Sopenharmony_ci		  "mcast_rates [2.4GHz=0x%x, 5.2GHz=0x%x, 6GHz=0x%x, 60GHz=0x%x]",
24858c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG,
24868c2ecf20Sopenharmony_ci		  __entry->mcast_rate[NL80211_BAND_2GHZ],
24878c2ecf20Sopenharmony_ci		  __entry->mcast_rate[NL80211_BAND_5GHZ],
24888c2ecf20Sopenharmony_ci		  __entry->mcast_rate[NL80211_BAND_6GHZ],
24898c2ecf20Sopenharmony_ci		  __entry->mcast_rate[NL80211_BAND_60GHZ])
24908c2ecf20Sopenharmony_ci);
24918c2ecf20Sopenharmony_ci
24928c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_coalesce,
24938c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct cfg80211_coalesce *coalesce),
24948c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, coalesce),
24958c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
24968c2ecf20Sopenharmony_ci		WIPHY_ENTRY
24978c2ecf20Sopenharmony_ci		__field(int, n_rules)
24988c2ecf20Sopenharmony_ci	),
24998c2ecf20Sopenharmony_ci	TP_fast_assign(
25008c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
25018c2ecf20Sopenharmony_ci		__entry->n_rules = coalesce ? coalesce->n_rules : 0;
25028c2ecf20Sopenharmony_ci	),
25038c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", n_rules=%d",
25048c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, __entry->n_rules)
25058c2ecf20Sopenharmony_ci);
25068c2ecf20Sopenharmony_ci
25078c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_wdev_evt, rdev_abort_scan,
25088c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
25098c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev)
25108c2ecf20Sopenharmony_ci);
25118c2ecf20Sopenharmony_ci
25128c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_multicast_to_unicast,
25138c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
25148c2ecf20Sopenharmony_ci		 const bool enabled),
25158c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, enabled),
25168c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
25178c2ecf20Sopenharmony_ci		WIPHY_ENTRY
25188c2ecf20Sopenharmony_ci		NETDEV_ENTRY
25198c2ecf20Sopenharmony_ci		__field(bool, enabled)
25208c2ecf20Sopenharmony_ci	),
25218c2ecf20Sopenharmony_ci	TP_fast_assign(
25228c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
25238c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
25248c2ecf20Sopenharmony_ci		__entry->enabled = enabled;
25258c2ecf20Sopenharmony_ci	),
25268c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", unicast: %s",
25278c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG,
25288c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->enabled))
25298c2ecf20Sopenharmony_ci);
25308c2ecf20Sopenharmony_ci
25318c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_wdev_evt, rdev_get_txq_stats,
25328c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
25338c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev)
25348c2ecf20Sopenharmony_ci);
25358c2ecf20Sopenharmony_ci
25368c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_get_ftm_responder_stats,
25378c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
25388c2ecf20Sopenharmony_ci		 struct cfg80211_ftm_responder_stats *ftm_stats),
25398c2ecf20Sopenharmony_ci
25408c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, ftm_stats),
25418c2ecf20Sopenharmony_ci
25428c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
25438c2ecf20Sopenharmony_ci		WIPHY_ENTRY
25448c2ecf20Sopenharmony_ci		NETDEV_ENTRY
25458c2ecf20Sopenharmony_ci		__field(u64, timestamp)
25468c2ecf20Sopenharmony_ci		__field(u32, success_num)
25478c2ecf20Sopenharmony_ci		__field(u32, partial_num)
25488c2ecf20Sopenharmony_ci		__field(u32, failed_num)
25498c2ecf20Sopenharmony_ci		__field(u32, asap_num)
25508c2ecf20Sopenharmony_ci		__field(u32, non_asap_num)
25518c2ecf20Sopenharmony_ci		__field(u64, duration)
25528c2ecf20Sopenharmony_ci		__field(u32, unknown_triggers)
25538c2ecf20Sopenharmony_ci		__field(u32, reschedule)
25548c2ecf20Sopenharmony_ci		__field(u32, out_of_window)
25558c2ecf20Sopenharmony_ci	),
25568c2ecf20Sopenharmony_ci
25578c2ecf20Sopenharmony_ci	TP_fast_assign(
25588c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
25598c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
25608c2ecf20Sopenharmony_ci		__entry->success_num = ftm_stats->success_num;
25618c2ecf20Sopenharmony_ci		__entry->partial_num = ftm_stats->partial_num;
25628c2ecf20Sopenharmony_ci		__entry->failed_num = ftm_stats->failed_num;
25638c2ecf20Sopenharmony_ci		__entry->asap_num = ftm_stats->asap_num;
25648c2ecf20Sopenharmony_ci		__entry->non_asap_num = ftm_stats->non_asap_num;
25658c2ecf20Sopenharmony_ci		__entry->duration = ftm_stats->total_duration_ms;
25668c2ecf20Sopenharmony_ci		__entry->unknown_triggers = ftm_stats->unknown_triggers_num;
25678c2ecf20Sopenharmony_ci		__entry->reschedule = ftm_stats->reschedule_requests_num;
25688c2ecf20Sopenharmony_ci		__entry->out_of_window = ftm_stats->out_of_window_triggers_num;
25698c2ecf20Sopenharmony_ci	),
25708c2ecf20Sopenharmony_ci
25718c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT "Ftm responder stats: success %u, partial %u, "
25728c2ecf20Sopenharmony_ci		"failed %u, asap %u, non asap %u, total duration %llu, unknown "
25738c2ecf20Sopenharmony_ci		"triggers %u, rescheduled %u, out of window %u", WIPHY_PR_ARG,
25748c2ecf20Sopenharmony_ci		__entry->success_num, __entry->partial_num, __entry->failed_num,
25758c2ecf20Sopenharmony_ci		__entry->asap_num, __entry->non_asap_num, __entry->duration,
25768c2ecf20Sopenharmony_ci		__entry->unknown_triggers, __entry->reschedule,
25778c2ecf20Sopenharmony_ci		__entry->out_of_window)
25788c2ecf20Sopenharmony_ci);
25798c2ecf20Sopenharmony_ci
25808c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_wdev_cookie_evt, rdev_start_pmsr,
25818c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev, u64 cookie),
25828c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, cookie)
25838c2ecf20Sopenharmony_ci);
25848c2ecf20Sopenharmony_ci
25858c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_wdev_cookie_evt, rdev_abort_pmsr,
25868c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev, u64 cookie),
25878c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, cookie)
25888c2ecf20Sopenharmony_ci);
25898c2ecf20Sopenharmony_ci
25908c2ecf20Sopenharmony_ci/*************************************************************
25918c2ecf20Sopenharmony_ci *	     cfg80211 exported functions traces		     *
25928c2ecf20Sopenharmony_ci *************************************************************/
25938c2ecf20Sopenharmony_ci
25948c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_return_bool,
25958c2ecf20Sopenharmony_ci	TP_PROTO(bool ret),
25968c2ecf20Sopenharmony_ci	TP_ARGS(ret),
25978c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
25988c2ecf20Sopenharmony_ci		__field(bool, ret)
25998c2ecf20Sopenharmony_ci	),
26008c2ecf20Sopenharmony_ci	TP_fast_assign(
26018c2ecf20Sopenharmony_ci		__entry->ret = ret;
26028c2ecf20Sopenharmony_ci	),
26038c2ecf20Sopenharmony_ci	TP_printk("returned %s", BOOL_TO_STR(__entry->ret))
26048c2ecf20Sopenharmony_ci);
26058c2ecf20Sopenharmony_ci
26068c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(cfg80211_netdev_mac_evt,
26078c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *macaddr),
26088c2ecf20Sopenharmony_ci	TP_ARGS(netdev, macaddr),
26098c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
26108c2ecf20Sopenharmony_ci		NETDEV_ENTRY
26118c2ecf20Sopenharmony_ci		MAC_ENTRY(macaddr)
26128c2ecf20Sopenharmony_ci	),
26138c2ecf20Sopenharmony_ci	TP_fast_assign(
26148c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
26158c2ecf20Sopenharmony_ci		MAC_ASSIGN(macaddr, macaddr);
26168c2ecf20Sopenharmony_ci	),
26178c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", mac: " MAC_PR_FMT,
26188c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, MAC_PR_ARG(macaddr))
26198c2ecf20Sopenharmony_ci);
26208c2ecf20Sopenharmony_ci
26218c2ecf20Sopenharmony_ciDEFINE_EVENT(cfg80211_netdev_mac_evt, cfg80211_notify_new_peer_candidate,
26228c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *macaddr),
26238c2ecf20Sopenharmony_ci	TP_ARGS(netdev, macaddr)
26248c2ecf20Sopenharmony_ci);
26258c2ecf20Sopenharmony_ci
26268c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(netdev_evt_only,
26278c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev),
26288c2ecf20Sopenharmony_ci	TP_ARGS(netdev),
26298c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
26308c2ecf20Sopenharmony_ci		NETDEV_ENTRY
26318c2ecf20Sopenharmony_ci	),
26328c2ecf20Sopenharmony_ci	TP_fast_assign(
26338c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
26348c2ecf20Sopenharmony_ci	),
26358c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT , NETDEV_PR_ARG)
26368c2ecf20Sopenharmony_ci);
26378c2ecf20Sopenharmony_ci
26388c2ecf20Sopenharmony_ciDEFINE_EVENT(netdev_evt_only, cfg80211_send_rx_auth,
26398c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev),
26408c2ecf20Sopenharmony_ci	TP_ARGS(netdev)
26418c2ecf20Sopenharmony_ci);
26428c2ecf20Sopenharmony_ci
26438c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_send_rx_assoc,
26448c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, struct cfg80211_bss *bss),
26458c2ecf20Sopenharmony_ci	TP_ARGS(netdev, bss),
26468c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
26478c2ecf20Sopenharmony_ci		NETDEV_ENTRY
26488c2ecf20Sopenharmony_ci		MAC_ENTRY(bssid)
26498c2ecf20Sopenharmony_ci		CHAN_ENTRY
26508c2ecf20Sopenharmony_ci	),
26518c2ecf20Sopenharmony_ci	TP_fast_assign(
26528c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
26538c2ecf20Sopenharmony_ci		MAC_ASSIGN(bssid, bss->bssid);
26548c2ecf20Sopenharmony_ci		CHAN_ASSIGN(bss->channel);
26558c2ecf20Sopenharmony_ci	),
26568c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", " MAC_PR_FMT ", " CHAN_PR_FMT,
26578c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, MAC_PR_ARG(bssid), CHAN_PR_ARG)
26588c2ecf20Sopenharmony_ci);
26598c2ecf20Sopenharmony_ci
26608c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(netdev_frame_event,
26618c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *buf, int len),
26628c2ecf20Sopenharmony_ci	TP_ARGS(netdev, buf, len),
26638c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
26648c2ecf20Sopenharmony_ci		NETDEV_ENTRY
26658c2ecf20Sopenharmony_ci		__dynamic_array(u8, frame, len)
26668c2ecf20Sopenharmony_ci	),
26678c2ecf20Sopenharmony_ci	TP_fast_assign(
26688c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
26698c2ecf20Sopenharmony_ci		memcpy(__get_dynamic_array(frame), buf, len);
26708c2ecf20Sopenharmony_ci	),
26718c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", ftype:0x%.2x",
26728c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG,
26738c2ecf20Sopenharmony_ci		  le16_to_cpup((__le16 *)__get_dynamic_array(frame)))
26748c2ecf20Sopenharmony_ci);
26758c2ecf20Sopenharmony_ci
26768c2ecf20Sopenharmony_ciDEFINE_EVENT(netdev_frame_event, cfg80211_rx_unprot_mlme_mgmt,
26778c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *buf, int len),
26788c2ecf20Sopenharmony_ci	TP_ARGS(netdev, buf, len)
26798c2ecf20Sopenharmony_ci);
26808c2ecf20Sopenharmony_ci
26818c2ecf20Sopenharmony_ciDEFINE_EVENT(netdev_frame_event, cfg80211_rx_mlme_mgmt,
26828c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *buf, int len),
26838c2ecf20Sopenharmony_ci	TP_ARGS(netdev, buf, len)
26848c2ecf20Sopenharmony_ci);
26858c2ecf20Sopenharmony_ci
26868c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_tx_mlme_mgmt,
26878c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *buf, int len),
26888c2ecf20Sopenharmony_ci	TP_ARGS(netdev, buf, len),
26898c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
26908c2ecf20Sopenharmony_ci		NETDEV_ENTRY
26918c2ecf20Sopenharmony_ci		__dynamic_array(u8, frame, len)
26928c2ecf20Sopenharmony_ci	),
26938c2ecf20Sopenharmony_ci	TP_fast_assign(
26948c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
26958c2ecf20Sopenharmony_ci		memcpy(__get_dynamic_array(frame), buf, len);
26968c2ecf20Sopenharmony_ci	),
26978c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", ftype:0x%.2x",
26988c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG,
26998c2ecf20Sopenharmony_ci		  le16_to_cpup((__le16 *)__get_dynamic_array(frame)))
27008c2ecf20Sopenharmony_ci);
27018c2ecf20Sopenharmony_ci
27028c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(netdev_mac_evt,
27038c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *mac),
27048c2ecf20Sopenharmony_ci	TP_ARGS(netdev, mac),
27058c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
27068c2ecf20Sopenharmony_ci		NETDEV_ENTRY
27078c2ecf20Sopenharmony_ci		MAC_ENTRY(mac)
27088c2ecf20Sopenharmony_ci	),
27098c2ecf20Sopenharmony_ci	TP_fast_assign(
27108c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
27118c2ecf20Sopenharmony_ci		MAC_ASSIGN(mac, mac)
27128c2ecf20Sopenharmony_ci	),
27138c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", mac: " MAC_PR_FMT,
27148c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, MAC_PR_ARG(mac))
27158c2ecf20Sopenharmony_ci);
27168c2ecf20Sopenharmony_ci
27178c2ecf20Sopenharmony_ciDEFINE_EVENT(netdev_mac_evt, cfg80211_send_auth_timeout,
27188c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *mac),
27198c2ecf20Sopenharmony_ci	TP_ARGS(netdev, mac)
27208c2ecf20Sopenharmony_ci);
27218c2ecf20Sopenharmony_ci
27228c2ecf20Sopenharmony_ciDEFINE_EVENT(netdev_mac_evt, cfg80211_send_assoc_timeout,
27238c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *mac),
27248c2ecf20Sopenharmony_ci	TP_ARGS(netdev, mac)
27258c2ecf20Sopenharmony_ci);
27268c2ecf20Sopenharmony_ci
27278c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_michael_mic_failure,
27288c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *addr,
27298c2ecf20Sopenharmony_ci		 enum nl80211_key_type key_type, int key_id, const u8 *tsc),
27308c2ecf20Sopenharmony_ci	TP_ARGS(netdev, addr, key_type, key_id, tsc),
27318c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
27328c2ecf20Sopenharmony_ci		NETDEV_ENTRY
27338c2ecf20Sopenharmony_ci		MAC_ENTRY(addr)
27348c2ecf20Sopenharmony_ci		__field(enum nl80211_key_type, key_type)
27358c2ecf20Sopenharmony_ci		__field(int, key_id)
27368c2ecf20Sopenharmony_ci		__array(u8, tsc, 6)
27378c2ecf20Sopenharmony_ci	),
27388c2ecf20Sopenharmony_ci	TP_fast_assign(
27398c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
27408c2ecf20Sopenharmony_ci		MAC_ASSIGN(addr, addr);
27418c2ecf20Sopenharmony_ci		__entry->key_type = key_type;
27428c2ecf20Sopenharmony_ci		__entry->key_id = key_id;
27438c2ecf20Sopenharmony_ci		if (tsc)
27448c2ecf20Sopenharmony_ci			memcpy(__entry->tsc, tsc, 6);
27458c2ecf20Sopenharmony_ci	),
27468c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", " MAC_PR_FMT ", key type: %d, key id: %d, tsc: %pm",
27478c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, MAC_PR_ARG(addr), __entry->key_type,
27488c2ecf20Sopenharmony_ci		  __entry->key_id, __entry->tsc)
27498c2ecf20Sopenharmony_ci);
27508c2ecf20Sopenharmony_ci
27518c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_ready_on_channel,
27528c2ecf20Sopenharmony_ci	TP_PROTO(struct wireless_dev *wdev, u64 cookie,
27538c2ecf20Sopenharmony_ci		 struct ieee80211_channel *chan,
27548c2ecf20Sopenharmony_ci		 unsigned int duration),
27558c2ecf20Sopenharmony_ci	TP_ARGS(wdev, cookie, chan, duration),
27568c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
27578c2ecf20Sopenharmony_ci		WDEV_ENTRY
27588c2ecf20Sopenharmony_ci		__field(u64, cookie)
27598c2ecf20Sopenharmony_ci		CHAN_ENTRY
27608c2ecf20Sopenharmony_ci		__field(unsigned int, duration)
27618c2ecf20Sopenharmony_ci	),
27628c2ecf20Sopenharmony_ci	TP_fast_assign(
27638c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
27648c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
27658c2ecf20Sopenharmony_ci		CHAN_ASSIGN(chan);
27668c2ecf20Sopenharmony_ci		__entry->duration = duration;
27678c2ecf20Sopenharmony_ci	),
27688c2ecf20Sopenharmony_ci	TP_printk(WDEV_PR_FMT ", cookie: %llu, " CHAN_PR_FMT ", duration: %u",
27698c2ecf20Sopenharmony_ci		  WDEV_PR_ARG, __entry->cookie, CHAN_PR_ARG,
27708c2ecf20Sopenharmony_ci		  __entry->duration)
27718c2ecf20Sopenharmony_ci);
27728c2ecf20Sopenharmony_ci
27738c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_ready_on_channel_expired,
27748c2ecf20Sopenharmony_ci	TP_PROTO(struct wireless_dev *wdev, u64 cookie,
27758c2ecf20Sopenharmony_ci		 struct ieee80211_channel *chan),
27768c2ecf20Sopenharmony_ci	TP_ARGS(wdev, cookie, chan),
27778c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
27788c2ecf20Sopenharmony_ci		WDEV_ENTRY
27798c2ecf20Sopenharmony_ci		__field(u64, cookie)
27808c2ecf20Sopenharmony_ci		CHAN_ENTRY
27818c2ecf20Sopenharmony_ci	),
27828c2ecf20Sopenharmony_ci	TP_fast_assign(
27838c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
27848c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
27858c2ecf20Sopenharmony_ci		CHAN_ASSIGN(chan);
27868c2ecf20Sopenharmony_ci	),
27878c2ecf20Sopenharmony_ci	TP_printk(WDEV_PR_FMT ", cookie: %llu, " CHAN_PR_FMT,
27888c2ecf20Sopenharmony_ci		  WDEV_PR_ARG, __entry->cookie, CHAN_PR_ARG)
27898c2ecf20Sopenharmony_ci);
27908c2ecf20Sopenharmony_ci
27918c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_tx_mgmt_expired,
27928c2ecf20Sopenharmony_ci	TP_PROTO(struct wireless_dev *wdev, u64 cookie,
27938c2ecf20Sopenharmony_ci		 struct ieee80211_channel *chan),
27948c2ecf20Sopenharmony_ci	TP_ARGS(wdev, cookie, chan),
27958c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
27968c2ecf20Sopenharmony_ci		WDEV_ENTRY
27978c2ecf20Sopenharmony_ci		__field(u64, cookie)
27988c2ecf20Sopenharmony_ci		CHAN_ENTRY
27998c2ecf20Sopenharmony_ci	),
28008c2ecf20Sopenharmony_ci	TP_fast_assign(
28018c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
28028c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
28038c2ecf20Sopenharmony_ci		CHAN_ASSIGN(chan);
28048c2ecf20Sopenharmony_ci	),
28058c2ecf20Sopenharmony_ci	TP_printk(WDEV_PR_FMT ", cookie: %llu, " CHAN_PR_FMT,
28068c2ecf20Sopenharmony_ci		  WDEV_PR_ARG, __entry->cookie, CHAN_PR_ARG)
28078c2ecf20Sopenharmony_ci);
28088c2ecf20Sopenharmony_ci
28098c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_new_sta,
28108c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *mac_addr,
28118c2ecf20Sopenharmony_ci		 struct station_info *sinfo),
28128c2ecf20Sopenharmony_ci	TP_ARGS(netdev, mac_addr, sinfo),
28138c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
28148c2ecf20Sopenharmony_ci		NETDEV_ENTRY
28158c2ecf20Sopenharmony_ci		MAC_ENTRY(mac_addr)
28168c2ecf20Sopenharmony_ci		SINFO_ENTRY
28178c2ecf20Sopenharmony_ci	),
28188c2ecf20Sopenharmony_ci	TP_fast_assign(
28198c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
28208c2ecf20Sopenharmony_ci		MAC_ASSIGN(mac_addr, mac_addr);
28218c2ecf20Sopenharmony_ci		SINFO_ASSIGN;
28228c2ecf20Sopenharmony_ci	),
28238c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", " MAC_PR_FMT,
28248c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, MAC_PR_ARG(mac_addr))
28258c2ecf20Sopenharmony_ci);
28268c2ecf20Sopenharmony_ci
28278c2ecf20Sopenharmony_ciDEFINE_EVENT(cfg80211_netdev_mac_evt, cfg80211_del_sta,
28288c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *macaddr),
28298c2ecf20Sopenharmony_ci	TP_ARGS(netdev, macaddr)
28308c2ecf20Sopenharmony_ci);
28318c2ecf20Sopenharmony_ci
28328c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_rx_mgmt,
28338c2ecf20Sopenharmony_ci	TP_PROTO(struct wireless_dev *wdev, int freq, int sig_dbm),
28348c2ecf20Sopenharmony_ci	TP_ARGS(wdev, freq, sig_dbm),
28358c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
28368c2ecf20Sopenharmony_ci		WDEV_ENTRY
28378c2ecf20Sopenharmony_ci		__field(int, freq)
28388c2ecf20Sopenharmony_ci		__field(int, sig_dbm)
28398c2ecf20Sopenharmony_ci	),
28408c2ecf20Sopenharmony_ci	TP_fast_assign(
28418c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
28428c2ecf20Sopenharmony_ci		__entry->freq = freq;
28438c2ecf20Sopenharmony_ci		__entry->sig_dbm = sig_dbm;
28448c2ecf20Sopenharmony_ci	),
28458c2ecf20Sopenharmony_ci	TP_printk(WDEV_PR_FMT ", freq: "KHZ_F", sig dbm: %d",
28468c2ecf20Sopenharmony_ci		  WDEV_PR_ARG, PR_KHZ(__entry->freq), __entry->sig_dbm)
28478c2ecf20Sopenharmony_ci);
28488c2ecf20Sopenharmony_ci
28498c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_mgmt_tx_status,
28508c2ecf20Sopenharmony_ci	TP_PROTO(struct wireless_dev *wdev, u64 cookie, bool ack),
28518c2ecf20Sopenharmony_ci	TP_ARGS(wdev, cookie, ack),
28528c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
28538c2ecf20Sopenharmony_ci		WDEV_ENTRY
28548c2ecf20Sopenharmony_ci		__field(u64, cookie)
28558c2ecf20Sopenharmony_ci		__field(bool, ack)
28568c2ecf20Sopenharmony_ci	),
28578c2ecf20Sopenharmony_ci	TP_fast_assign(
28588c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
28598c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
28608c2ecf20Sopenharmony_ci		__entry->ack = ack;
28618c2ecf20Sopenharmony_ci	),
28628c2ecf20Sopenharmony_ci	TP_printk(WDEV_PR_FMT", cookie: %llu, ack: %s",
28638c2ecf20Sopenharmony_ci		  WDEV_PR_ARG, __entry->cookie, BOOL_TO_STR(__entry->ack))
28648c2ecf20Sopenharmony_ci);
28658c2ecf20Sopenharmony_ci
28668c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_control_port_tx_status,
28678c2ecf20Sopenharmony_ci	TP_PROTO(struct wireless_dev *wdev, u64 cookie, bool ack),
28688c2ecf20Sopenharmony_ci	TP_ARGS(wdev, cookie, ack),
28698c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
28708c2ecf20Sopenharmony_ci		WDEV_ENTRY
28718c2ecf20Sopenharmony_ci		__field(u64, cookie)
28728c2ecf20Sopenharmony_ci		__field(bool, ack)
28738c2ecf20Sopenharmony_ci	),
28748c2ecf20Sopenharmony_ci	TP_fast_assign(
28758c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
28768c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
28778c2ecf20Sopenharmony_ci		__entry->ack = ack;
28788c2ecf20Sopenharmony_ci	),
28798c2ecf20Sopenharmony_ci	TP_printk(WDEV_PR_FMT", cookie: %llu, ack: %s",
28808c2ecf20Sopenharmony_ci		  WDEV_PR_ARG, __entry->cookie, BOOL_TO_STR(__entry->ack))
28818c2ecf20Sopenharmony_ci);
28828c2ecf20Sopenharmony_ci
28838c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_rx_control_port,
28848c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, struct sk_buff *skb,
28858c2ecf20Sopenharmony_ci		 bool unencrypted),
28868c2ecf20Sopenharmony_ci	TP_ARGS(netdev, skb, unencrypted),
28878c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
28888c2ecf20Sopenharmony_ci		NETDEV_ENTRY
28898c2ecf20Sopenharmony_ci		__field(int, len)
28908c2ecf20Sopenharmony_ci		MAC_ENTRY(from)
28918c2ecf20Sopenharmony_ci		__field(u16, proto)
28928c2ecf20Sopenharmony_ci		__field(bool, unencrypted)
28938c2ecf20Sopenharmony_ci	),
28948c2ecf20Sopenharmony_ci	TP_fast_assign(
28958c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
28968c2ecf20Sopenharmony_ci		__entry->len = skb->len;
28978c2ecf20Sopenharmony_ci		MAC_ASSIGN(from, eth_hdr(skb)->h_source);
28988c2ecf20Sopenharmony_ci		__entry->proto = be16_to_cpu(skb->protocol);
28998c2ecf20Sopenharmony_ci		__entry->unencrypted = unencrypted;
29008c2ecf20Sopenharmony_ci	),
29018c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", len=%d, " MAC_PR_FMT ", proto: 0x%x, unencrypted: %s",
29028c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, __entry->len, MAC_PR_ARG(from),
29038c2ecf20Sopenharmony_ci		  __entry->proto, BOOL_TO_STR(__entry->unencrypted))
29048c2ecf20Sopenharmony_ci);
29058c2ecf20Sopenharmony_ci
29068c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_cqm_rssi_notify,
29078c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev,
29088c2ecf20Sopenharmony_ci		 enum nl80211_cqm_rssi_threshold_event rssi_event,
29098c2ecf20Sopenharmony_ci		 s32 rssi_level),
29108c2ecf20Sopenharmony_ci	TP_ARGS(netdev, rssi_event, rssi_level),
29118c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
29128c2ecf20Sopenharmony_ci		NETDEV_ENTRY
29138c2ecf20Sopenharmony_ci		__field(enum nl80211_cqm_rssi_threshold_event, rssi_event)
29148c2ecf20Sopenharmony_ci		__field(s32, rssi_level)
29158c2ecf20Sopenharmony_ci	),
29168c2ecf20Sopenharmony_ci	TP_fast_assign(
29178c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
29188c2ecf20Sopenharmony_ci		__entry->rssi_event = rssi_event;
29198c2ecf20Sopenharmony_ci		__entry->rssi_level = rssi_level;
29208c2ecf20Sopenharmony_ci	),
29218c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", rssi event: %d, level: %d",
29228c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, __entry->rssi_event, __entry->rssi_level)
29238c2ecf20Sopenharmony_ci);
29248c2ecf20Sopenharmony_ci
29258c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_reg_can_beacon,
29268c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct cfg80211_chan_def *chandef,
29278c2ecf20Sopenharmony_ci		 enum nl80211_iftype iftype, bool check_no_ir),
29288c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, chandef, iftype, check_no_ir),
29298c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
29308c2ecf20Sopenharmony_ci		WIPHY_ENTRY
29318c2ecf20Sopenharmony_ci		CHAN_DEF_ENTRY
29328c2ecf20Sopenharmony_ci		__field(enum nl80211_iftype, iftype)
29338c2ecf20Sopenharmony_ci		__field(bool, check_no_ir)
29348c2ecf20Sopenharmony_ci	),
29358c2ecf20Sopenharmony_ci	TP_fast_assign(
29368c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
29378c2ecf20Sopenharmony_ci		CHAN_DEF_ASSIGN(chandef);
29388c2ecf20Sopenharmony_ci		__entry->iftype = iftype;
29398c2ecf20Sopenharmony_ci		__entry->check_no_ir = check_no_ir;
29408c2ecf20Sopenharmony_ci	),
29418c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " CHAN_DEF_PR_FMT ", iftype=%d check_no_ir=%s",
29428c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, CHAN_DEF_PR_ARG, __entry->iftype,
29438c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->check_no_ir))
29448c2ecf20Sopenharmony_ci);
29458c2ecf20Sopenharmony_ci
29468c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_chandef_dfs_required,
29478c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct cfg80211_chan_def *chandef),
29488c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, chandef),
29498c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
29508c2ecf20Sopenharmony_ci		WIPHY_ENTRY
29518c2ecf20Sopenharmony_ci		CHAN_DEF_ENTRY
29528c2ecf20Sopenharmony_ci	),
29538c2ecf20Sopenharmony_ci	TP_fast_assign(
29548c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
29558c2ecf20Sopenharmony_ci		CHAN_DEF_ASSIGN(chandef);
29568c2ecf20Sopenharmony_ci	),
29578c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " CHAN_DEF_PR_FMT,
29588c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, CHAN_DEF_PR_ARG)
29598c2ecf20Sopenharmony_ci);
29608c2ecf20Sopenharmony_ci
29618c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_ch_switch_notify,
29628c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev,
29638c2ecf20Sopenharmony_ci		 struct cfg80211_chan_def *chandef),
29648c2ecf20Sopenharmony_ci	TP_ARGS(netdev, chandef),
29658c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
29668c2ecf20Sopenharmony_ci		NETDEV_ENTRY
29678c2ecf20Sopenharmony_ci		CHAN_DEF_ENTRY
29688c2ecf20Sopenharmony_ci	),
29698c2ecf20Sopenharmony_ci	TP_fast_assign(
29708c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
29718c2ecf20Sopenharmony_ci		CHAN_DEF_ASSIGN(chandef);
29728c2ecf20Sopenharmony_ci	),
29738c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", " CHAN_DEF_PR_FMT,
29748c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, CHAN_DEF_PR_ARG)
29758c2ecf20Sopenharmony_ci);
29768c2ecf20Sopenharmony_ci
29778c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_ch_switch_started_notify,
29788c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev,
29798c2ecf20Sopenharmony_ci		 struct cfg80211_chan_def *chandef),
29808c2ecf20Sopenharmony_ci	TP_ARGS(netdev, chandef),
29818c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
29828c2ecf20Sopenharmony_ci		NETDEV_ENTRY
29838c2ecf20Sopenharmony_ci		CHAN_DEF_ENTRY
29848c2ecf20Sopenharmony_ci	),
29858c2ecf20Sopenharmony_ci	TP_fast_assign(
29868c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
29878c2ecf20Sopenharmony_ci		CHAN_DEF_ASSIGN(chandef);
29888c2ecf20Sopenharmony_ci	),
29898c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", " CHAN_DEF_PR_FMT,
29908c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, CHAN_DEF_PR_ARG)
29918c2ecf20Sopenharmony_ci);
29928c2ecf20Sopenharmony_ci
29938c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_radar_event,
29948c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct cfg80211_chan_def *chandef),
29958c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, chandef),
29968c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
29978c2ecf20Sopenharmony_ci		WIPHY_ENTRY
29988c2ecf20Sopenharmony_ci		CHAN_DEF_ENTRY
29998c2ecf20Sopenharmony_ci	),
30008c2ecf20Sopenharmony_ci	TP_fast_assign(
30018c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
30028c2ecf20Sopenharmony_ci		CHAN_DEF_ASSIGN(chandef);
30038c2ecf20Sopenharmony_ci	),
30048c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " CHAN_DEF_PR_FMT,
30058c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, CHAN_DEF_PR_ARG)
30068c2ecf20Sopenharmony_ci);
30078c2ecf20Sopenharmony_ci
30088c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_cac_event,
30098c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, enum nl80211_radar_event evt),
30108c2ecf20Sopenharmony_ci	TP_ARGS(netdev, evt),
30118c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
30128c2ecf20Sopenharmony_ci		NETDEV_ENTRY
30138c2ecf20Sopenharmony_ci		__field(enum nl80211_radar_event, evt)
30148c2ecf20Sopenharmony_ci	),
30158c2ecf20Sopenharmony_ci	TP_fast_assign(
30168c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
30178c2ecf20Sopenharmony_ci		__entry->evt = evt;
30188c2ecf20Sopenharmony_ci	),
30198c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ",  event: %d",
30208c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, __entry->evt)
30218c2ecf20Sopenharmony_ci);
30228c2ecf20Sopenharmony_ci
30238c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(cfg80211_rx_evt,
30248c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *addr),
30258c2ecf20Sopenharmony_ci	TP_ARGS(netdev, addr),
30268c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
30278c2ecf20Sopenharmony_ci		NETDEV_ENTRY
30288c2ecf20Sopenharmony_ci		MAC_ENTRY(addr)
30298c2ecf20Sopenharmony_ci	),
30308c2ecf20Sopenharmony_ci	TP_fast_assign(
30318c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
30328c2ecf20Sopenharmony_ci		MAC_ASSIGN(addr, addr);
30338c2ecf20Sopenharmony_ci	),
30348c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", " MAC_PR_FMT, NETDEV_PR_ARG, MAC_PR_ARG(addr))
30358c2ecf20Sopenharmony_ci);
30368c2ecf20Sopenharmony_ci
30378c2ecf20Sopenharmony_ciDEFINE_EVENT(cfg80211_rx_evt, cfg80211_rx_spurious_frame,
30388c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *addr),
30398c2ecf20Sopenharmony_ci	TP_ARGS(netdev, addr)
30408c2ecf20Sopenharmony_ci);
30418c2ecf20Sopenharmony_ci
30428c2ecf20Sopenharmony_ciDEFINE_EVENT(cfg80211_rx_evt, cfg80211_rx_unexpected_4addr_frame,
30438c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *addr),
30448c2ecf20Sopenharmony_ci	TP_ARGS(netdev, addr)
30458c2ecf20Sopenharmony_ci);
30468c2ecf20Sopenharmony_ci
30478c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_ibss_joined,
30488c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *bssid,
30498c2ecf20Sopenharmony_ci		 struct ieee80211_channel *channel),
30508c2ecf20Sopenharmony_ci	TP_ARGS(netdev, bssid, channel),
30518c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
30528c2ecf20Sopenharmony_ci		NETDEV_ENTRY
30538c2ecf20Sopenharmony_ci		MAC_ENTRY(bssid)
30548c2ecf20Sopenharmony_ci		CHAN_ENTRY
30558c2ecf20Sopenharmony_ci	),
30568c2ecf20Sopenharmony_ci	TP_fast_assign(
30578c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
30588c2ecf20Sopenharmony_ci		MAC_ASSIGN(bssid, bssid);
30598c2ecf20Sopenharmony_ci		CHAN_ASSIGN(channel);
30608c2ecf20Sopenharmony_ci	),
30618c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", bssid: " MAC_PR_FMT ", " CHAN_PR_FMT,
30628c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, MAC_PR_ARG(bssid), CHAN_PR_ARG)
30638c2ecf20Sopenharmony_ci);
30648c2ecf20Sopenharmony_ci
30658c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_probe_status,
30668c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *addr, u64 cookie,
30678c2ecf20Sopenharmony_ci		 bool acked),
30688c2ecf20Sopenharmony_ci	TP_ARGS(netdev, addr, cookie, acked),
30698c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
30708c2ecf20Sopenharmony_ci		NETDEV_ENTRY
30718c2ecf20Sopenharmony_ci		MAC_ENTRY(addr)
30728c2ecf20Sopenharmony_ci		__field(u64, cookie)
30738c2ecf20Sopenharmony_ci		__field(bool, acked)
30748c2ecf20Sopenharmony_ci	),
30758c2ecf20Sopenharmony_ci	TP_fast_assign(
30768c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
30778c2ecf20Sopenharmony_ci		MAC_ASSIGN(addr, addr);
30788c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
30798c2ecf20Sopenharmony_ci		__entry->acked = acked;
30808c2ecf20Sopenharmony_ci	),
30818c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT " addr:" MAC_PR_FMT ", cookie: %llu, acked: %s",
30828c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, MAC_PR_ARG(addr), __entry->cookie,
30838c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->acked))
30848c2ecf20Sopenharmony_ci);
30858c2ecf20Sopenharmony_ci
30868c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_cqm_pktloss_notify,
30878c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *peer, u32 num_packets),
30888c2ecf20Sopenharmony_ci	TP_ARGS(netdev, peer, num_packets),
30898c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
30908c2ecf20Sopenharmony_ci		NETDEV_ENTRY
30918c2ecf20Sopenharmony_ci		MAC_ENTRY(peer)
30928c2ecf20Sopenharmony_ci		__field(u32, num_packets)
30938c2ecf20Sopenharmony_ci	),
30948c2ecf20Sopenharmony_ci	TP_fast_assign(
30958c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
30968c2ecf20Sopenharmony_ci		MAC_ASSIGN(peer, peer);
30978c2ecf20Sopenharmony_ci		__entry->num_packets = num_packets;
30988c2ecf20Sopenharmony_ci	),
30998c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", peer: " MAC_PR_FMT ", num of lost packets: %u",
31008c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, MAC_PR_ARG(peer), __entry->num_packets)
31018c2ecf20Sopenharmony_ci);
31028c2ecf20Sopenharmony_ci
31038c2ecf20Sopenharmony_ciDEFINE_EVENT(cfg80211_netdev_mac_evt, cfg80211_gtk_rekey_notify,
31048c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, const u8 *macaddr),
31058c2ecf20Sopenharmony_ci	TP_ARGS(netdev, macaddr)
31068c2ecf20Sopenharmony_ci);
31078c2ecf20Sopenharmony_ci
31088c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_pmksa_candidate_notify,
31098c2ecf20Sopenharmony_ci	TP_PROTO(struct net_device *netdev, int index, const u8 *bssid,
31108c2ecf20Sopenharmony_ci		 bool preauth),
31118c2ecf20Sopenharmony_ci	TP_ARGS(netdev, index, bssid, preauth),
31128c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
31138c2ecf20Sopenharmony_ci		NETDEV_ENTRY
31148c2ecf20Sopenharmony_ci		__field(int, index)
31158c2ecf20Sopenharmony_ci		MAC_ENTRY(bssid)
31168c2ecf20Sopenharmony_ci		__field(bool, preauth)
31178c2ecf20Sopenharmony_ci	),
31188c2ecf20Sopenharmony_ci	TP_fast_assign(
31198c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
31208c2ecf20Sopenharmony_ci		__entry->index = index;
31218c2ecf20Sopenharmony_ci		MAC_ASSIGN(bssid, bssid);
31228c2ecf20Sopenharmony_ci		__entry->preauth = preauth;
31238c2ecf20Sopenharmony_ci	),
31248c2ecf20Sopenharmony_ci	TP_printk(NETDEV_PR_FMT ", index:%d, bssid: " MAC_PR_FMT ", pre auth: %s",
31258c2ecf20Sopenharmony_ci		  NETDEV_PR_ARG, __entry->index, MAC_PR_ARG(bssid),
31268c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->preauth))
31278c2ecf20Sopenharmony_ci);
31288c2ecf20Sopenharmony_ci
31298c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_report_obss_beacon,
31308c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, const u8 *frame, size_t len,
31318c2ecf20Sopenharmony_ci		 int freq, int sig_dbm),
31328c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, frame, len, freq, sig_dbm),
31338c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
31348c2ecf20Sopenharmony_ci		WIPHY_ENTRY
31358c2ecf20Sopenharmony_ci		__field(int, freq)
31368c2ecf20Sopenharmony_ci		__field(int, sig_dbm)
31378c2ecf20Sopenharmony_ci	),
31388c2ecf20Sopenharmony_ci	TP_fast_assign(
31398c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
31408c2ecf20Sopenharmony_ci		__entry->freq = freq;
31418c2ecf20Sopenharmony_ci		__entry->sig_dbm = sig_dbm;
31428c2ecf20Sopenharmony_ci	),
31438c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", freq: "KHZ_F", sig_dbm: %d",
31448c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, PR_KHZ(__entry->freq), __entry->sig_dbm)
31458c2ecf20Sopenharmony_ci);
31468c2ecf20Sopenharmony_ci
31478c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_tdls_oper_request,
31488c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, const u8 *peer,
31498c2ecf20Sopenharmony_ci		 enum nl80211_tdls_operation oper, u16 reason_code),
31508c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, peer, oper, reason_code),
31518c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
31528c2ecf20Sopenharmony_ci		WIPHY_ENTRY
31538c2ecf20Sopenharmony_ci		NETDEV_ENTRY
31548c2ecf20Sopenharmony_ci		MAC_ENTRY(peer)
31558c2ecf20Sopenharmony_ci		__field(enum nl80211_tdls_operation, oper)
31568c2ecf20Sopenharmony_ci		__field(u16, reason_code)
31578c2ecf20Sopenharmony_ci	),
31588c2ecf20Sopenharmony_ci	TP_fast_assign(
31598c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
31608c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
31618c2ecf20Sopenharmony_ci		MAC_ASSIGN(peer, peer);
31628c2ecf20Sopenharmony_ci		__entry->oper = oper;
31638c2ecf20Sopenharmony_ci		__entry->reason_code = reason_code;
31648c2ecf20Sopenharmony_ci	),
31658c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", peer: " MAC_PR_FMT ", oper: %d, reason_code %u",
31668c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer), __entry->oper,
31678c2ecf20Sopenharmony_ci		  __entry->reason_code)
31688c2ecf20Sopenharmony_ci	);
31698c2ecf20Sopenharmony_ci
31708c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_scan_done,
31718c2ecf20Sopenharmony_ci	TP_PROTO(struct cfg80211_scan_request *request,
31728c2ecf20Sopenharmony_ci		 struct cfg80211_scan_info *info),
31738c2ecf20Sopenharmony_ci	TP_ARGS(request, info),
31748c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
31758c2ecf20Sopenharmony_ci		__field(u32, n_channels)
31768c2ecf20Sopenharmony_ci		__dynamic_array(u8, ie, request ? request->ie_len : 0)
31778c2ecf20Sopenharmony_ci		__array(u32, rates, NUM_NL80211_BANDS)
31788c2ecf20Sopenharmony_ci		__field(u32, wdev_id)
31798c2ecf20Sopenharmony_ci		MAC_ENTRY(wiphy_mac)
31808c2ecf20Sopenharmony_ci		__field(bool, no_cck)
31818c2ecf20Sopenharmony_ci		__field(bool, aborted)
31828c2ecf20Sopenharmony_ci		__field(u64, scan_start_tsf)
31838c2ecf20Sopenharmony_ci		MAC_ENTRY(tsf_bssid)
31848c2ecf20Sopenharmony_ci	),
31858c2ecf20Sopenharmony_ci	TP_fast_assign(
31868c2ecf20Sopenharmony_ci		if (request) {
31878c2ecf20Sopenharmony_ci			memcpy(__get_dynamic_array(ie), request->ie,
31888c2ecf20Sopenharmony_ci			       request->ie_len);
31898c2ecf20Sopenharmony_ci			memcpy(__entry->rates, request->rates,
31908c2ecf20Sopenharmony_ci			       NUM_NL80211_BANDS);
31918c2ecf20Sopenharmony_ci			__entry->wdev_id = request->wdev ?
31928c2ecf20Sopenharmony_ci					request->wdev->identifier : 0;
31938c2ecf20Sopenharmony_ci			if (request->wiphy)
31948c2ecf20Sopenharmony_ci				MAC_ASSIGN(wiphy_mac,
31958c2ecf20Sopenharmony_ci					   request->wiphy->perm_addr);
31968c2ecf20Sopenharmony_ci			__entry->no_cck = request->no_cck;
31978c2ecf20Sopenharmony_ci		}
31988c2ecf20Sopenharmony_ci		if (info) {
31998c2ecf20Sopenharmony_ci			__entry->aborted = info->aborted;
32008c2ecf20Sopenharmony_ci			__entry->scan_start_tsf = info->scan_start_tsf;
32018c2ecf20Sopenharmony_ci			MAC_ASSIGN(tsf_bssid, info->tsf_bssid);
32028c2ecf20Sopenharmony_ci		}
32038c2ecf20Sopenharmony_ci	),
32048c2ecf20Sopenharmony_ci	TP_printk("aborted: %s, scan start (TSF): %llu, tsf_bssid: " MAC_PR_FMT,
32058c2ecf20Sopenharmony_ci		  BOOL_TO_STR(__entry->aborted),
32068c2ecf20Sopenharmony_ci		  (unsigned long long)__entry->scan_start_tsf,
32078c2ecf20Sopenharmony_ci		  MAC_PR_ARG(tsf_bssid))
32088c2ecf20Sopenharmony_ci);
32098c2ecf20Sopenharmony_ci
32108c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(wiphy_id_evt,
32118c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, u64 id),
32128c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, id),
32138c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
32148c2ecf20Sopenharmony_ci		WIPHY_ENTRY
32158c2ecf20Sopenharmony_ci		__field(u64, id)
32168c2ecf20Sopenharmony_ci	),
32178c2ecf20Sopenharmony_ci	TP_fast_assign(
32188c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
32198c2ecf20Sopenharmony_ci		__entry->id = id;
32208c2ecf20Sopenharmony_ci	),
32218c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", id: %llu", WIPHY_PR_ARG, __entry->id)
32228c2ecf20Sopenharmony_ci);
32238c2ecf20Sopenharmony_ci
32248c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_id_evt, cfg80211_sched_scan_stopped,
32258c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, u64 id),
32268c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, id)
32278c2ecf20Sopenharmony_ci);
32288c2ecf20Sopenharmony_ci
32298c2ecf20Sopenharmony_ciDEFINE_EVENT(wiphy_id_evt, cfg80211_sched_scan_results,
32308c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, u64 id),
32318c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, id)
32328c2ecf20Sopenharmony_ci);
32338c2ecf20Sopenharmony_ci
32348c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_get_bss,
32358c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct ieee80211_channel *channel,
32368c2ecf20Sopenharmony_ci		 const u8 *bssid, const u8 *ssid, size_t ssid_len,
32378c2ecf20Sopenharmony_ci		 enum ieee80211_bss_type bss_type,
32388c2ecf20Sopenharmony_ci		 enum ieee80211_privacy privacy),
32398c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, channel, bssid, ssid, ssid_len, bss_type, privacy),
32408c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
32418c2ecf20Sopenharmony_ci		WIPHY_ENTRY
32428c2ecf20Sopenharmony_ci		CHAN_ENTRY
32438c2ecf20Sopenharmony_ci		MAC_ENTRY(bssid)
32448c2ecf20Sopenharmony_ci		__dynamic_array(u8, ssid, ssid_len)
32458c2ecf20Sopenharmony_ci		__field(enum ieee80211_bss_type, bss_type)
32468c2ecf20Sopenharmony_ci		__field(enum ieee80211_privacy, privacy)
32478c2ecf20Sopenharmony_ci	),
32488c2ecf20Sopenharmony_ci	TP_fast_assign(
32498c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
32508c2ecf20Sopenharmony_ci		CHAN_ASSIGN(channel);
32518c2ecf20Sopenharmony_ci		MAC_ASSIGN(bssid, bssid);
32528c2ecf20Sopenharmony_ci		memcpy(__get_dynamic_array(ssid), ssid, ssid_len);
32538c2ecf20Sopenharmony_ci		__entry->bss_type = bss_type;
32548c2ecf20Sopenharmony_ci		__entry->privacy = privacy;
32558c2ecf20Sopenharmony_ci	),
32568c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " CHAN_PR_FMT ", " MAC_PR_FMT
32578c2ecf20Sopenharmony_ci		  ", buf: %#.2x, bss_type: %d, privacy: %d",
32588c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, CHAN_PR_ARG, MAC_PR_ARG(bssid),
32598c2ecf20Sopenharmony_ci		  ((u8 *)__get_dynamic_array(ssid))[0], __entry->bss_type,
32608c2ecf20Sopenharmony_ci		  __entry->privacy)
32618c2ecf20Sopenharmony_ci);
32628c2ecf20Sopenharmony_ci
32638c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_inform_bss_frame,
32648c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct cfg80211_inform_bss *data,
32658c2ecf20Sopenharmony_ci		 struct ieee80211_mgmt *mgmt, size_t len),
32668c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, data, mgmt, len),
32678c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
32688c2ecf20Sopenharmony_ci		WIPHY_ENTRY
32698c2ecf20Sopenharmony_ci		CHAN_ENTRY
32708c2ecf20Sopenharmony_ci		__field(enum nl80211_bss_scan_width, scan_width)
32718c2ecf20Sopenharmony_ci		__dynamic_array(u8, mgmt, len)
32728c2ecf20Sopenharmony_ci		__field(s32, signal)
32738c2ecf20Sopenharmony_ci		__field(u64, ts_boottime)
32748c2ecf20Sopenharmony_ci		__field(u64, parent_tsf)
32758c2ecf20Sopenharmony_ci		MAC_ENTRY(parent_bssid)
32768c2ecf20Sopenharmony_ci	),
32778c2ecf20Sopenharmony_ci	TP_fast_assign(
32788c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
32798c2ecf20Sopenharmony_ci		CHAN_ASSIGN(data->chan);
32808c2ecf20Sopenharmony_ci		__entry->scan_width = data->scan_width;
32818c2ecf20Sopenharmony_ci		if (mgmt)
32828c2ecf20Sopenharmony_ci			memcpy(__get_dynamic_array(mgmt), mgmt, len);
32838c2ecf20Sopenharmony_ci		__entry->signal = data->signal;
32848c2ecf20Sopenharmony_ci		__entry->ts_boottime = data->boottime_ns;
32858c2ecf20Sopenharmony_ci		__entry->parent_tsf = data->parent_tsf;
32868c2ecf20Sopenharmony_ci		MAC_ASSIGN(parent_bssid, data->parent_bssid);
32878c2ecf20Sopenharmony_ci	),
32888c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " CHAN_PR_FMT
32898c2ecf20Sopenharmony_ci		  "(scan_width: %d) signal: %d, tsb:%llu, detect_tsf:%llu, tsf_bssid: "
32908c2ecf20Sopenharmony_ci		  MAC_PR_FMT, WIPHY_PR_ARG, CHAN_PR_ARG, __entry->scan_width,
32918c2ecf20Sopenharmony_ci		  __entry->signal, (unsigned long long)__entry->ts_boottime,
32928c2ecf20Sopenharmony_ci		  (unsigned long long)__entry->parent_tsf,
32938c2ecf20Sopenharmony_ci		  MAC_PR_ARG(parent_bssid))
32948c2ecf20Sopenharmony_ci);
32958c2ecf20Sopenharmony_ci
32968c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(cfg80211_bss_evt,
32978c2ecf20Sopenharmony_ci	TP_PROTO(struct cfg80211_bss *pub),
32988c2ecf20Sopenharmony_ci	TP_ARGS(pub),
32998c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
33008c2ecf20Sopenharmony_ci		MAC_ENTRY(bssid)
33018c2ecf20Sopenharmony_ci		CHAN_ENTRY
33028c2ecf20Sopenharmony_ci	),
33038c2ecf20Sopenharmony_ci	TP_fast_assign(
33048c2ecf20Sopenharmony_ci		MAC_ASSIGN(bssid, pub->bssid);
33058c2ecf20Sopenharmony_ci		CHAN_ASSIGN(pub->channel);
33068c2ecf20Sopenharmony_ci	),
33078c2ecf20Sopenharmony_ci	TP_printk(MAC_PR_FMT ", " CHAN_PR_FMT, MAC_PR_ARG(bssid), CHAN_PR_ARG)
33088c2ecf20Sopenharmony_ci);
33098c2ecf20Sopenharmony_ci
33108c2ecf20Sopenharmony_ciDEFINE_EVENT(cfg80211_bss_evt, cfg80211_return_bss,
33118c2ecf20Sopenharmony_ci	TP_PROTO(struct cfg80211_bss *pub),
33128c2ecf20Sopenharmony_ci	TP_ARGS(pub)
33138c2ecf20Sopenharmony_ci);
33148c2ecf20Sopenharmony_ci
33158c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_return_uint,
33168c2ecf20Sopenharmony_ci	TP_PROTO(unsigned int ret),
33178c2ecf20Sopenharmony_ci	TP_ARGS(ret),
33188c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
33198c2ecf20Sopenharmony_ci		__field(unsigned int, ret)
33208c2ecf20Sopenharmony_ci	),
33218c2ecf20Sopenharmony_ci	TP_fast_assign(
33228c2ecf20Sopenharmony_ci		__entry->ret = ret;
33238c2ecf20Sopenharmony_ci	),
33248c2ecf20Sopenharmony_ci	TP_printk("ret: %d", __entry->ret)
33258c2ecf20Sopenharmony_ci);
33268c2ecf20Sopenharmony_ci
33278c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_return_u32,
33288c2ecf20Sopenharmony_ci	TP_PROTO(u32 ret),
33298c2ecf20Sopenharmony_ci	TP_ARGS(ret),
33308c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
33318c2ecf20Sopenharmony_ci		__field(u32, ret)
33328c2ecf20Sopenharmony_ci	),
33338c2ecf20Sopenharmony_ci	TP_fast_assign(
33348c2ecf20Sopenharmony_ci		__entry->ret = ret;
33358c2ecf20Sopenharmony_ci	),
33368c2ecf20Sopenharmony_ci	TP_printk("ret: %u", __entry->ret)
33378c2ecf20Sopenharmony_ci);
33388c2ecf20Sopenharmony_ci
33398c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_report_wowlan_wakeup,
33408c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev,
33418c2ecf20Sopenharmony_ci		 struct cfg80211_wowlan_wakeup *wakeup),
33428c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, wakeup),
33438c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
33448c2ecf20Sopenharmony_ci		WIPHY_ENTRY
33458c2ecf20Sopenharmony_ci		WDEV_ENTRY
33468c2ecf20Sopenharmony_ci		__field(bool, non_wireless)
33478c2ecf20Sopenharmony_ci		__field(bool, disconnect)
33488c2ecf20Sopenharmony_ci		__field(bool, magic_pkt)
33498c2ecf20Sopenharmony_ci		__field(bool, gtk_rekey_failure)
33508c2ecf20Sopenharmony_ci		__field(bool, eap_identity_req)
33518c2ecf20Sopenharmony_ci		__field(bool, four_way_handshake)
33528c2ecf20Sopenharmony_ci		__field(bool, rfkill_release)
33538c2ecf20Sopenharmony_ci		__field(s32, pattern_idx)
33548c2ecf20Sopenharmony_ci		__field(u32, packet_len)
33558c2ecf20Sopenharmony_ci		__dynamic_array(u8, packet,
33568c2ecf20Sopenharmony_ci				wakeup ? wakeup->packet_present_len : 0)
33578c2ecf20Sopenharmony_ci	),
33588c2ecf20Sopenharmony_ci	TP_fast_assign(
33598c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
33608c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
33618c2ecf20Sopenharmony_ci		__entry->non_wireless = !wakeup;
33628c2ecf20Sopenharmony_ci		__entry->disconnect = wakeup ? wakeup->disconnect : false;
33638c2ecf20Sopenharmony_ci		__entry->magic_pkt = wakeup ? wakeup->magic_pkt : false;
33648c2ecf20Sopenharmony_ci		__entry->gtk_rekey_failure = wakeup ? wakeup->gtk_rekey_failure : false;
33658c2ecf20Sopenharmony_ci		__entry->eap_identity_req = wakeup ? wakeup->eap_identity_req : false;
33668c2ecf20Sopenharmony_ci		__entry->four_way_handshake = wakeup ? wakeup->four_way_handshake : false;
33678c2ecf20Sopenharmony_ci		__entry->rfkill_release = wakeup ? wakeup->rfkill_release : false;
33688c2ecf20Sopenharmony_ci		__entry->pattern_idx = wakeup ? wakeup->pattern_idx : false;
33698c2ecf20Sopenharmony_ci		__entry->packet_len = wakeup ? wakeup->packet_len : false;
33708c2ecf20Sopenharmony_ci		if (wakeup && wakeup->packet && wakeup->packet_present_len)
33718c2ecf20Sopenharmony_ci			memcpy(__get_dynamic_array(packet), wakeup->packet,
33728c2ecf20Sopenharmony_ci			       wakeup->packet_present_len);
33738c2ecf20Sopenharmony_ci	),
33748c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT, WIPHY_PR_ARG, WDEV_PR_ARG)
33758c2ecf20Sopenharmony_ci);
33768c2ecf20Sopenharmony_ci
33778c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_ft_event,
33788c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
33798c2ecf20Sopenharmony_ci		 struct cfg80211_ft_event_params *ft_event),
33808c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, ft_event),
33818c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
33828c2ecf20Sopenharmony_ci		WIPHY_ENTRY
33838c2ecf20Sopenharmony_ci		NETDEV_ENTRY
33848c2ecf20Sopenharmony_ci		__dynamic_array(u8, ies, ft_event->ies_len)
33858c2ecf20Sopenharmony_ci		MAC_ENTRY(target_ap)
33868c2ecf20Sopenharmony_ci		__dynamic_array(u8, ric_ies, ft_event->ric_ies_len)
33878c2ecf20Sopenharmony_ci	),
33888c2ecf20Sopenharmony_ci	TP_fast_assign(
33898c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
33908c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
33918c2ecf20Sopenharmony_ci		if (ft_event->ies)
33928c2ecf20Sopenharmony_ci			memcpy(__get_dynamic_array(ies), ft_event->ies,
33938c2ecf20Sopenharmony_ci			       ft_event->ies_len);
33948c2ecf20Sopenharmony_ci		MAC_ASSIGN(target_ap, ft_event->target_ap);
33958c2ecf20Sopenharmony_ci		if (ft_event->ric_ies)
33968c2ecf20Sopenharmony_ci			memcpy(__get_dynamic_array(ric_ies), ft_event->ric_ies,
33978c2ecf20Sopenharmony_ci			       ft_event->ric_ies_len);
33988c2ecf20Sopenharmony_ci	),
33998c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", target_ap: " MAC_PR_FMT,
34008c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(target_ap))
34018c2ecf20Sopenharmony_ci);
34028c2ecf20Sopenharmony_ci
34038c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_stop_iface,
34048c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev),
34058c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev),
34068c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
34078c2ecf20Sopenharmony_ci		WIPHY_ENTRY
34088c2ecf20Sopenharmony_ci		WDEV_ENTRY
34098c2ecf20Sopenharmony_ci	),
34108c2ecf20Sopenharmony_ci	TP_fast_assign(
34118c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
34128c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
34138c2ecf20Sopenharmony_ci	),
34148c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT,
34158c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG)
34168c2ecf20Sopenharmony_ci);
34178c2ecf20Sopenharmony_ci
34188c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_pmsr_report,
34198c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev,
34208c2ecf20Sopenharmony_ci		 u64 cookie, const u8 *addr),
34218c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, cookie, addr),
34228c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
34238c2ecf20Sopenharmony_ci		WIPHY_ENTRY
34248c2ecf20Sopenharmony_ci		WDEV_ENTRY
34258c2ecf20Sopenharmony_ci		__field(u64, cookie)
34268c2ecf20Sopenharmony_ci		MAC_ENTRY(addr)
34278c2ecf20Sopenharmony_ci	),
34288c2ecf20Sopenharmony_ci	TP_fast_assign(
34298c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
34308c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
34318c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
34328c2ecf20Sopenharmony_ci		MAC_ASSIGN(addr, addr);
34338c2ecf20Sopenharmony_ci	),
34348c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", cookie:%lld, " MAC_PR_FMT,
34358c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG,
34368c2ecf20Sopenharmony_ci		  (unsigned long long)__entry->cookie,
34378c2ecf20Sopenharmony_ci		  MAC_PR_ARG(addr))
34388c2ecf20Sopenharmony_ci);
34398c2ecf20Sopenharmony_ci
34408c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_pmsr_complete,
34418c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev, u64 cookie),
34428c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, wdev, cookie),
34438c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
34448c2ecf20Sopenharmony_ci		WIPHY_ENTRY
34458c2ecf20Sopenharmony_ci		WDEV_ENTRY
34468c2ecf20Sopenharmony_ci		__field(u64, cookie)
34478c2ecf20Sopenharmony_ci	),
34488c2ecf20Sopenharmony_ci	TP_fast_assign(
34498c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
34508c2ecf20Sopenharmony_ci		WDEV_ASSIGN;
34518c2ecf20Sopenharmony_ci		__entry->cookie = cookie;
34528c2ecf20Sopenharmony_ci	),
34538c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", cookie:%lld",
34548c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, WDEV_PR_ARG,
34558c2ecf20Sopenharmony_ci		  (unsigned long long)__entry->cookie)
34568c2ecf20Sopenharmony_ci);
34578c2ecf20Sopenharmony_ci
34588c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_update_owe_info,
34598c2ecf20Sopenharmony_ci	    TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
34608c2ecf20Sopenharmony_ci		     struct cfg80211_update_owe_info *owe_info),
34618c2ecf20Sopenharmony_ci	    TP_ARGS(wiphy, netdev, owe_info),
34628c2ecf20Sopenharmony_ci	    TP_STRUCT__entry(WIPHY_ENTRY
34638c2ecf20Sopenharmony_ci			     NETDEV_ENTRY
34648c2ecf20Sopenharmony_ci			     MAC_ENTRY(peer)
34658c2ecf20Sopenharmony_ci			     __field(u16, status)
34668c2ecf20Sopenharmony_ci			     __dynamic_array(u8, ie, owe_info->ie_len)),
34678c2ecf20Sopenharmony_ci	    TP_fast_assign(WIPHY_ASSIGN;
34688c2ecf20Sopenharmony_ci			   NETDEV_ASSIGN;
34698c2ecf20Sopenharmony_ci			   MAC_ASSIGN(peer, owe_info->peer);
34708c2ecf20Sopenharmony_ci			   __entry->status = owe_info->status;
34718c2ecf20Sopenharmony_ci			   memcpy(__get_dynamic_array(ie),
34728c2ecf20Sopenharmony_ci				  owe_info->ie, owe_info->ie_len);),
34738c2ecf20Sopenharmony_ci	    TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", peer: " MAC_PR_FMT
34748c2ecf20Sopenharmony_ci		  " status %d", WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer),
34758c2ecf20Sopenharmony_ci		  __entry->status)
34768c2ecf20Sopenharmony_ci);
34778c2ecf20Sopenharmony_ci
34788c2ecf20Sopenharmony_ciTRACE_EVENT(cfg80211_update_owe_info_event,
34798c2ecf20Sopenharmony_ci	    TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
34808c2ecf20Sopenharmony_ci		     struct cfg80211_update_owe_info *owe_info),
34818c2ecf20Sopenharmony_ci	    TP_ARGS(wiphy, netdev, owe_info),
34828c2ecf20Sopenharmony_ci	    TP_STRUCT__entry(WIPHY_ENTRY
34838c2ecf20Sopenharmony_ci			     NETDEV_ENTRY
34848c2ecf20Sopenharmony_ci			     MAC_ENTRY(peer)
34858c2ecf20Sopenharmony_ci			     __dynamic_array(u8, ie, owe_info->ie_len)),
34868c2ecf20Sopenharmony_ci	    TP_fast_assign(WIPHY_ASSIGN;
34878c2ecf20Sopenharmony_ci			   NETDEV_ASSIGN;
34888c2ecf20Sopenharmony_ci			   MAC_ASSIGN(peer, owe_info->peer);
34898c2ecf20Sopenharmony_ci			   memcpy(__get_dynamic_array(ie), owe_info->ie,
34908c2ecf20Sopenharmony_ci				  owe_info->ie_len);),
34918c2ecf20Sopenharmony_ci	    TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", peer: " MAC_PR_FMT,
34928c2ecf20Sopenharmony_ci		      WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer))
34938c2ecf20Sopenharmony_ci);
34948c2ecf20Sopenharmony_ci
34958c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_probe_mesh_link,
34968c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
34978c2ecf20Sopenharmony_ci		 const u8 *dest, const u8 *buf, size_t len),
34988c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, dest, buf, len),
34998c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
35008c2ecf20Sopenharmony_ci		WIPHY_ENTRY
35018c2ecf20Sopenharmony_ci		NETDEV_ENTRY
35028c2ecf20Sopenharmony_ci		MAC_ENTRY(dest)
35038c2ecf20Sopenharmony_ci	),
35048c2ecf20Sopenharmony_ci	TP_fast_assign(
35058c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
35068c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
35078c2ecf20Sopenharmony_ci		MAC_ASSIGN(dest, dest);
35088c2ecf20Sopenharmony_ci	),
35098c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " MAC_PR_FMT,
35108c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(dest))
35118c2ecf20Sopenharmony_ci);
35128c2ecf20Sopenharmony_ci
35138c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_set_tid_config,
35148c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
35158c2ecf20Sopenharmony_ci		 struct cfg80211_tid_config *tid_conf),
35168c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, tid_conf),
35178c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
35188c2ecf20Sopenharmony_ci		WIPHY_ENTRY
35198c2ecf20Sopenharmony_ci		NETDEV_ENTRY
35208c2ecf20Sopenharmony_ci		MAC_ENTRY(peer)
35218c2ecf20Sopenharmony_ci	),
35228c2ecf20Sopenharmony_ci	TP_fast_assign(
35238c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
35248c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
35258c2ecf20Sopenharmony_ci		MAC_ASSIGN(peer, tid_conf->peer);
35268c2ecf20Sopenharmony_ci	),
35278c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", peer: " MAC_PR_FMT,
35288c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer))
35298c2ecf20Sopenharmony_ci);
35308c2ecf20Sopenharmony_ci
35318c2ecf20Sopenharmony_ciTRACE_EVENT(rdev_reset_tid_config,
35328c2ecf20Sopenharmony_ci	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
35338c2ecf20Sopenharmony_ci		 const u8 *peer, u8 tids),
35348c2ecf20Sopenharmony_ci	TP_ARGS(wiphy, netdev, peer, tids),
35358c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
35368c2ecf20Sopenharmony_ci		WIPHY_ENTRY
35378c2ecf20Sopenharmony_ci		NETDEV_ENTRY
35388c2ecf20Sopenharmony_ci		MAC_ENTRY(peer)
35398c2ecf20Sopenharmony_ci		__field(u8, tids)
35408c2ecf20Sopenharmony_ci	),
35418c2ecf20Sopenharmony_ci	TP_fast_assign(
35428c2ecf20Sopenharmony_ci		WIPHY_ASSIGN;
35438c2ecf20Sopenharmony_ci		NETDEV_ASSIGN;
35448c2ecf20Sopenharmony_ci		MAC_ASSIGN(peer, peer);
35458c2ecf20Sopenharmony_ci		__entry->tids = tids;
35468c2ecf20Sopenharmony_ci	),
35478c2ecf20Sopenharmony_ci	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", peer: " MAC_PR_FMT ", tids: 0x%x",
35488c2ecf20Sopenharmony_ci		  WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer), __entry->tids)
35498c2ecf20Sopenharmony_ci);
35508c2ecf20Sopenharmony_ci#endif /* !__RDEV_OPS_TRACE || TRACE_HEADER_MULTI_READ */
35518c2ecf20Sopenharmony_ci
35528c2ecf20Sopenharmony_ci#undef TRACE_INCLUDE_PATH
35538c2ecf20Sopenharmony_ci#define TRACE_INCLUDE_PATH .
35548c2ecf20Sopenharmony_ci#undef TRACE_INCLUDE_FILE
35558c2ecf20Sopenharmony_ci#define TRACE_INCLUDE_FILE trace
35568c2ecf20Sopenharmony_ci#include <trace/define_trace.h>
3557