1  // SPDX-License-Identifier: ISC
2  /*
3   * Copyright (c) 2013,2016 Qualcomm Atheros, Inc.
4   * Copyright (c) 2018, The Linux Foundation. All rights reserved.
5   */
6  
7  #include "wil6210.h"
8  #include "trace.h"
9  
__wil_err(struct wil6210_priv * wil,const char * fmt,...)10  void __wil_err(struct wil6210_priv *wil, const char *fmt, ...)
11  {
12  	struct va_format vaf;
13  	va_list args;
14  
15  	va_start(args, fmt);
16  	vaf.fmt = fmt;
17  	vaf.va = &args;
18  	netdev_err(wil->main_ndev, "%pV", &vaf);
19  	trace_wil6210_log_err(&vaf);
20  	va_end(args);
21  }
22  
__wil_err_ratelimited(struct wil6210_priv * wil,const char * fmt,...)23  void __wil_err_ratelimited(struct wil6210_priv *wil, const char *fmt, ...)
24  {
25  	struct va_format vaf;
26  	va_list args;
27  
28  	if (!net_ratelimit())
29  		return;
30  
31  	va_start(args, fmt);
32  	vaf.fmt = fmt;
33  	vaf.va = &args;
34  	netdev_err(wil->main_ndev, "%pV", &vaf);
35  	trace_wil6210_log_err(&vaf);
36  	va_end(args);
37  }
38  
wil_dbg_ratelimited(const struct wil6210_priv * wil,const char * fmt,...)39  void wil_dbg_ratelimited(const struct wil6210_priv *wil, const char *fmt, ...)
40  {
41  	struct va_format vaf;
42  	va_list args;
43  
44  	if (!net_ratelimit())
45  		return;
46  
47  	va_start(args, fmt);
48  	vaf.fmt = fmt;
49  	vaf.va = &args;
50  	netdev_dbg(wil->main_ndev, "%pV", &vaf);
51  	trace_wil6210_log_dbg(&vaf);
52  	va_end(args);
53  }
54  
__wil_info(struct wil6210_priv * wil,const char * fmt,...)55  void __wil_info(struct wil6210_priv *wil, const char *fmt, ...)
56  {
57  	struct va_format vaf;
58  	va_list args;
59  
60  	va_start(args, fmt);
61  	vaf.fmt = fmt;
62  	vaf.va = &args;
63  	netdev_info(wil->main_ndev, "%pV", &vaf);
64  	trace_wil6210_log_info(&vaf);
65  	va_end(args);
66  }
67  
wil_dbg_trace(struct wil6210_priv * wil,const char * fmt,...)68  void wil_dbg_trace(struct wil6210_priv *wil, const char *fmt, ...)
69  {
70  	struct va_format vaf;
71  	va_list args;
72  
73  	va_start(args, fmt);
74  	vaf.fmt = fmt;
75  	vaf.va = &args;
76  	trace_wil6210_log_dbg(&vaf);
77  	va_end(args);
78  }
79