18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci/* bug in tracepoint.h, it should include this */
38c2ecf20Sopenharmony_ci#include <linux/module.h>
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci/* sparse isn't too happy with all macros... */
68c2ecf20Sopenharmony_ci#ifndef __CHECKER__
78c2ecf20Sopenharmony_ci#include <net/cfg80211.h>
88c2ecf20Sopenharmony_ci#include "driver-ops.h"
98c2ecf20Sopenharmony_ci#include "debug.h"
108c2ecf20Sopenharmony_ci#define CREATE_TRACE_POINTS
118c2ecf20Sopenharmony_ci#include "trace.h"
128c2ecf20Sopenharmony_ci#include "trace_msg.h"
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci#ifdef CONFIG_MAC80211_MESSAGE_TRACING
158c2ecf20Sopenharmony_civoid __sdata_info(const char *fmt, ...)
168c2ecf20Sopenharmony_ci{
178c2ecf20Sopenharmony_ci	struct va_format vaf = {
188c2ecf20Sopenharmony_ci		.fmt = fmt,
198c2ecf20Sopenharmony_ci	};
208c2ecf20Sopenharmony_ci	va_list args;
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci	va_start(args, fmt);
238c2ecf20Sopenharmony_ci	vaf.va = &args;
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci	pr_info("%pV", &vaf);
268c2ecf20Sopenharmony_ci	trace_mac80211_info(&vaf);
278c2ecf20Sopenharmony_ci	va_end(args);
288c2ecf20Sopenharmony_ci}
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_civoid __sdata_dbg(bool print, const char *fmt, ...)
318c2ecf20Sopenharmony_ci{
328c2ecf20Sopenharmony_ci	struct va_format vaf = {
338c2ecf20Sopenharmony_ci		.fmt = fmt,
348c2ecf20Sopenharmony_ci	};
358c2ecf20Sopenharmony_ci	va_list args;
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	va_start(args, fmt);
388c2ecf20Sopenharmony_ci	vaf.va = &args;
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci	if (print)
418c2ecf20Sopenharmony_ci		pr_debug("%pV", &vaf);
428c2ecf20Sopenharmony_ci	trace_mac80211_dbg(&vaf);
438c2ecf20Sopenharmony_ci	va_end(args);
448c2ecf20Sopenharmony_ci}
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_civoid __sdata_err(const char *fmt, ...)
478c2ecf20Sopenharmony_ci{
488c2ecf20Sopenharmony_ci	struct va_format vaf = {
498c2ecf20Sopenharmony_ci		.fmt = fmt,
508c2ecf20Sopenharmony_ci	};
518c2ecf20Sopenharmony_ci	va_list args;
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci	va_start(args, fmt);
548c2ecf20Sopenharmony_ci	vaf.va = &args;
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci	pr_err("%pV", &vaf);
578c2ecf20Sopenharmony_ci	trace_mac80211_err(&vaf);
588c2ecf20Sopenharmony_ci	va_end(args);
598c2ecf20Sopenharmony_ci}
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_civoid __wiphy_dbg(struct wiphy *wiphy, bool print, const char *fmt, ...)
628c2ecf20Sopenharmony_ci{
638c2ecf20Sopenharmony_ci	struct va_format vaf = {
648c2ecf20Sopenharmony_ci		.fmt = fmt,
658c2ecf20Sopenharmony_ci	};
668c2ecf20Sopenharmony_ci	va_list args;
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci	va_start(args, fmt);
698c2ecf20Sopenharmony_ci	vaf.va = &args;
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci	if (print)
728c2ecf20Sopenharmony_ci		wiphy_dbg(wiphy, "%pV", &vaf);
738c2ecf20Sopenharmony_ci	trace_mac80211_dbg(&vaf);
748c2ecf20Sopenharmony_ci	va_end(args);
758c2ecf20Sopenharmony_ci}
768c2ecf20Sopenharmony_ci#endif
778c2ecf20Sopenharmony_ci#endif
78