1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * mtu3_debug.h - debug header
4  *
5  * Copyright (C) 2019 MediaTek Inc.
6  *
7  * Author: Chunfeng Yun <chunfeng.yun@mediatek.com>
8  */
9 
10 #ifndef __MTU3_DEBUG_H__
11 #define __MTU3_DEBUG_H__
12 
13 #include <linux/debugfs.h>
14 
15 struct ssusb_mtk;
16 
17 #define MTU3_DEBUGFS_NAME_LEN 32
18 
19 struct mtu3_regset {
20 	char name[MTU3_DEBUGFS_NAME_LEN];
21 	struct debugfs_regset32 regset;
22 };
23 
24 struct mtu3_file_map {
25 	const char *name;
26 	int (*show)(struct seq_file *s, void *unused);
27 };
28 
29 #if IS_ENABLED(CONFIG_DEBUG_FS)
30 void ssusb_dev_debugfs_init(struct ssusb_mtk *ssusb);
31 void ssusb_dr_debugfs_init(struct ssusb_mtk *ssusb);
32 void ssusb_debugfs_create_root(struct ssusb_mtk *ssusb);
33 void ssusb_debugfs_remove_root(struct ssusb_mtk *ssusb);
34 
35 #else
ssusb_dev_debugfs_init(struct ssusb_mtk * ssusb)36 static inline void ssusb_dev_debugfs_init(struct ssusb_mtk *ssusb) {}
ssusb_dr_debugfs_init(struct ssusb_mtk * ssusb)37 static inline void ssusb_dr_debugfs_init(struct ssusb_mtk *ssusb) {}
ssusb_debugfs_create_root(struct ssusb_mtk * ssusb)38 static inline void ssusb_debugfs_create_root(struct ssusb_mtk *ssusb) {}
ssusb_debugfs_remove_root(struct ssusb_mtk * ssusb)39 static inline void ssusb_debugfs_remove_root(struct ssusb_mtk *ssusb) {}
40 
41 #endif /* CONFIG_DEBUG_FS */
42 
43 #if IS_ENABLED(CONFIG_TRACING)
44 void mtu3_dbg_trace(struct device *dev, const char *fmt, ...);
45 
46 #else
mtu3_dbg_trace(struct device * dev,const char * fmt,...)47 static inline void mtu3_dbg_trace(struct device *dev, const char *fmt, ...) {}
48 
49 #endif /* CONFIG_TRACING */
50 
51 #endif /* __MTU3_DEBUG_H__ */
52