185630469SLior David // SPDX-License-Identifier: ISC
298658095SVladimir Kondratiev /*
38fe2a5f9SMaya Erez  * Copyright (c) 2013,2016 Qualcomm Atheros, Inc.
4e00243faSLior David  * Copyright (c) 2018, The Linux Foundation. All rights reserved.
598658095SVladimir Kondratiev  */
698658095SVladimir Kondratiev 
798658095SVladimir Kondratiev #include "wil6210.h"
898658095SVladimir Kondratiev #include "trace.h"
998658095SVladimir Kondratiev 
__wil_err(struct wil6210_priv * wil,const char * fmt,...)10290206faSMaya Erez void __wil_err(struct wil6210_priv *wil, const char *fmt, ...)
1198658095SVladimir Kondratiev {
128fe2a5f9SMaya Erez 	struct va_format vaf;
1398658095SVladimir Kondratiev 	va_list args;
1498658095SVladimir Kondratiev 
1598658095SVladimir Kondratiev 	va_start(args, fmt);
168fe2a5f9SMaya Erez 	vaf.fmt = fmt;
1798658095SVladimir Kondratiev 	vaf.va = &args;
18e00243faSLior David 	netdev_err(wil->main_ndev, "%pV", &vaf);
1998658095SVladimir Kondratiev 	trace_wil6210_log_err(&vaf);
2098658095SVladimir Kondratiev 	va_end(args);
2198658095SVladimir Kondratiev }
2298658095SVladimir Kondratiev 
__wil_err_ratelimited(struct wil6210_priv * wil,const char * fmt,...)23290206faSMaya Erez void __wil_err_ratelimited(struct wil6210_priv *wil, const char *fmt, ...)
2440e391b4SVladimir Kondratiev {
258fe2a5f9SMaya Erez 	struct va_format vaf;
2640e391b4SVladimir Kondratiev 	va_list args;
2740e391b4SVladimir Kondratiev 
288fe2a5f9SMaya Erez 	if (!net_ratelimit())
298fe2a5f9SMaya Erez 		return;
308fe2a5f9SMaya Erez 
3140e391b4SVladimir Kondratiev 	va_start(args, fmt);
328fe2a5f9SMaya Erez 	vaf.fmt = fmt;
3340e391b4SVladimir Kondratiev 	vaf.va = &args;
34e00243faSLior David 	netdev_err(wil->main_ndev, "%pV", &vaf);
3540e391b4SVladimir Kondratiev 	trace_wil6210_log_err(&vaf);
3640e391b4SVladimir Kondratiev 	va_end(args);
3740e391b4SVladimir Kondratiev }
3840e391b4SVladimir Kondratiev 
wil_dbg_ratelimited(const struct wil6210_priv * wil,const char * fmt,...)39d8ed043aSMaya Erez void wil_dbg_ratelimited(const struct wil6210_priv *wil, const char *fmt, ...)
40d8ed043aSMaya Erez {
41d8ed043aSMaya Erez 	struct va_format vaf;
42d8ed043aSMaya Erez 	va_list args;
43d8ed043aSMaya Erez 
44d8ed043aSMaya Erez 	if (!net_ratelimit())
45d8ed043aSMaya Erez 		return;
46d8ed043aSMaya Erez 
47d8ed043aSMaya Erez 	va_start(args, fmt);
48d8ed043aSMaya Erez 	vaf.fmt = fmt;
49d8ed043aSMaya Erez 	vaf.va = &args;
50e00243faSLior David 	netdev_dbg(wil->main_ndev, "%pV", &vaf);
51d8ed043aSMaya Erez 	trace_wil6210_log_dbg(&vaf);
52d8ed043aSMaya Erez 	va_end(args);
53d8ed043aSMaya Erez }
54d8ed043aSMaya Erez 
__wil_info(struct wil6210_priv * wil,const char * fmt,...)55290206faSMaya Erez void __wil_info(struct wil6210_priv *wil, const char *fmt, ...)
5698658095SVladimir Kondratiev {
578fe2a5f9SMaya Erez 	struct va_format vaf;
5898658095SVladimir Kondratiev 	va_list args;
5998658095SVladimir Kondratiev 
6098658095SVladimir Kondratiev 	va_start(args, fmt);
618fe2a5f9SMaya Erez 	vaf.fmt = fmt;
6298658095SVladimir Kondratiev 	vaf.va = &args;
63e00243faSLior David 	netdev_info(wil->main_ndev, "%pV", &vaf);
6498658095SVladimir Kondratiev 	trace_wil6210_log_info(&vaf);
6598658095SVladimir Kondratiev 	va_end(args);
6698658095SVladimir Kondratiev }
6798658095SVladimir Kondratiev 
wil_dbg_trace(struct wil6210_priv * wil,const char * fmt,...)6857219dc7SDavid S. Miller void wil_dbg_trace(struct wil6210_priv *wil, const char *fmt, ...)
6998658095SVladimir Kondratiev {
708fe2a5f9SMaya Erez 	struct va_format vaf;
7198658095SVladimir Kondratiev 	va_list args;
7298658095SVladimir Kondratiev 
7398658095SVladimir Kondratiev 	va_start(args, fmt);
748fe2a5f9SMaya Erez 	vaf.fmt = fmt;
7598658095SVladimir Kondratiev 	vaf.va = &args;
7698658095SVladimir Kondratiev 	trace_wil6210_log_dbg(&vaf);
7798658095SVladimir Kondratiev 	va_end(args);
7898658095SVladimir Kondratiev }
79