[PATCH wireless-next 08/35] wifi: mm81x: add debug.h

From: Lachlan Hodges

Date: Thu Feb 26 2026 - 23:17:19 EST


(Patches split per file for review, see cover letter for more
information)

Signed-off-by: Lachlan Hodges <lachlan.hodges@xxxxxxxxxxxxxx>
---
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 <linux/device.h>
+#include <linux/printk.h>
+#include <linux/types.h>
+
+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