1 // SPDX-License-Identifier: ISC
2 /*
3  * Copyright (c) 2012 Broadcom Corporation
4  */
5 
6 #include <linux/device.h>
7 #include <linux/module.h> /* bug in tracepoint.h, it should include this */
8 
9 #ifndef __CHECKER__
10 #define CREATE_TRACE_POINTS
11 #include "bus.h"
12 #include "tracepoint.h"
13 #include "debug.h"
14 
15 void __brcmf_err(struct brcmf_bus *bus, const char *func, const char *fmt, ...)
16 {
17 	struct va_format vaf = {
18 		.fmt = fmt,
19 	};
20 	va_list args;
21 
22 	va_start(args, fmt);
23 	vaf.va = &args;
24 	if (bus)
25 		dev_err(bus->dev, "%s: %pV", func, &vaf);
26 	else
27 		pr_err("%s: %pV", func, &vaf);
28 	trace_brcmf_err(func, &vaf);
29 	va_end(args);
30 }
31 
32 #endif
33