(Patches split per file for review, see cover letter for more information) Signed-off-by: Lachlan Hodges --- drivers/net/wireless/morsemicro/mm81x/debug.h | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 drivers/net/wireless/morsemicro/mm81x/debug.h diff --git a/drivers/net/wireless/morsemicro/mm81x/debug.h b/drivers/net/wireless/morsemicro/mm81x/debug.h new file mode 100644 index 000000000000..9f78386c3ab1 --- /dev/null +++ b/drivers/net/wireless/morsemicro/mm81x/debug.h @@ -0,0 +1,58 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2017-2026 Morse Micro + */ + +#ifndef _MM81X_DEBUG_H_ +#define _MM81X_DEBUG_H_ + +#include +#include +#include + +struct mm81x; + +enum mm81x_debug_mask { + MM81X_DBG_FW = BIT(0), + MM81X_DBG_MAC = BIT(1), + MM81X_DBG_SKBQ = BIT(2), + MM81X_DBG_USB = BIT(3), + MM81X_DBG_SDIO = BIT(4), + MM81X_DBG_ANY = ~0U, +}; + +extern unsigned int mm81x_debug_mask; + +__printf(2, 3) void mm81x_info(struct mm81x *mm, const char *fmt, ...); +__printf(2, 3) void mm81x_err(struct mm81x *mm, const char *fmt, ...); +__printf(2, 3) void __mm81x_warn(struct device *dev, const char *fmt, ...); +#define mm81x_warn(mm, fmt, ...) __mm81x_warn((mm)->dev, fmt, ##__VA_ARGS__) + +#ifdef CONFIG_MM81X_DEBUG +__printf(3, 4) void __mm81x_dbg(struct mm81x *mm, enum mm81x_debug_mask mask, + const char *fmt, ...); + +void mm81x_dbg_dump(struct mm81x *mm, enum mm81x_debug_mask mask, + const char *msg, const char *prefix, const void *buf, + size_t len); +#else +static inline void __mm81x_dbg(struct mm81x *mm, enum mm81x_debug_mask mask, + const char *fmt, ...) +{ +} + +static inline void mm81x_dbg_dump(struct mm81x *mm, enum mm81x_debug_mask mask, + const char *msg, const char *prefix, + const void *buf, size_t len) +{ +} +#endif + +#define mm81x_dbg(mm, dbg_mask, fmt, ...) \ + do { \ + typeof(dbg_mask) __mask = (dbg_mask); \ + if (mm81x_debug_mask & __mask) \ + __mm81x_dbg((mm), __mask, fmt, ##__VA_ARGS__); \ + } while (0) + +#endif /* _MM81X_DEBUG_H_ */ -- 2.43.0