1*daeccac2SArend van Spriel // SPDX-License-Identifier: ISC
205491d2cSKalle Valo /*
305491d2cSKalle Valo * Copyright (c) 2012 Broadcom Corporation
405491d2cSKalle Valo */
505491d2cSKalle Valo
65cc898fbSRafał Miłecki #include <linux/device.h>
705491d2cSKalle Valo #include <linux/module.h> /* bug in tracepoint.h, it should include this */
805491d2cSKalle Valo
905491d2cSKalle Valo #ifndef __CHECKER__
1005491d2cSKalle Valo #define CREATE_TRACE_POINTS
115cc898fbSRafał Miłecki #include "bus.h"
1205491d2cSKalle Valo #include "tracepoint.h"
138af92af3SBaoyou Xie #include "debug.h"
1405491d2cSKalle Valo
__brcmf_err(struct brcmf_bus * bus,const char * func,const char * fmt,...)155cc898fbSRafał Miłecki void __brcmf_err(struct brcmf_bus *bus, const char *func, const char *fmt, ...)
1605491d2cSKalle Valo {
1705491d2cSKalle Valo struct va_format vaf = {
1805491d2cSKalle Valo .fmt = fmt,
1905491d2cSKalle Valo };
2005491d2cSKalle Valo va_list args;
2105491d2cSKalle Valo
2205491d2cSKalle Valo va_start(args, fmt);
2305491d2cSKalle Valo vaf.va = &args;
245cc898fbSRafał Miłecki if (bus)
255cc898fbSRafał Miłecki dev_err(bus->dev, "%s: %pV", func, &vaf);
265cc898fbSRafał Miłecki else
2705491d2cSKalle Valo pr_err("%s: %pV", func, &vaf);
2805491d2cSKalle Valo trace_brcmf_err(func, &vaf);
2905491d2cSKalle Valo va_end(args);
3005491d2cSKalle Valo }
3105491d2cSKalle Valo
3205491d2cSKalle Valo #endif
33