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
15struct ssusb_mtk;
16
17#define MTU3_DEBUGFS_NAME_LEN 32
18
19struct mtu3_regset {
20	char name[MTU3_DEBUGFS_NAME_LEN];
21	struct debugfs_regset32 regset;
22};
23
24struct 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)
30void ssusb_dev_debugfs_init(struct ssusb_mtk *ssusb);
31void ssusb_dr_debugfs_init(struct ssusb_mtk *ssusb);
32void ssusb_debugfs_create_root(struct ssusb_mtk *ssusb);
33void ssusb_debugfs_remove_root(struct ssusb_mtk *ssusb);
34
35#else
36static inline void ssusb_dev_debugfs_init(struct ssusb_mtk *ssusb) {}
37static inline void ssusb_dr_debugfs_init(struct ssusb_mtk *ssusb) {}
38static inline void ssusb_debugfs_create_root(struct ssusb_mtk *ssusb) {}
39static inline void ssusb_debugfs_remove_root(struct ssusb_mtk *ssusb) {}
40
41#endif /* CONFIG_DEBUG_FS */
42
43#if IS_ENABLED(CONFIG_TRACING)
44void mtu3_dbg_trace(struct device *dev, const char *fmt, ...);
45
46#else
47static inline void mtu3_dbg_trace(struct device *dev, const char *fmt, ...) {}
48
49#endif /* CONFIG_TRACING */
50
51#endif /* __MTU3_DEBUG_H__ */
52