/* SPDX-License-Identifier: GPL-2.0 */
/*
* mtu3_debug.h - debug header
*
* Copyright (C) 2019 MediaTek Inc.
*
* Author: Chunfeng Yun <chunfeng.yun@mediatek.com>
*/
#ifndef __MTU3_DEBUG_H__
#define __MTU3_DEBUG_H__
#include <linux/debugfs.h>
struct ssusb_mtk;
#define MTU3_DEBUGFS_NAME_LEN 32
struct mtu3_regset {
char name[MTU3_DEBUGFS_NAME_LEN];
struct debugfs_regset32 regset;
size_t nregs;
};
struct mtu3_file_map {
const char *name;
int (*show)(struct seq_file *s, void *unused);
};
#if IS_ENABLED(CONFIG_DEBUG_FS)
void ssusb_dev_debugfs_init(struct ssusb_mtk *ssusb);
void ssusb_dr_debugfs_init(struct ssusb_mtk *ssusb);
void ssusb_debugfs_create_root(struct ssusb_mtk *ssusb);
void ssusb_debugfs_remove_root(struct ssusb_mtk *ssusb);
#else
static inline void ssusb_dev_debugfs_init(struct ssusb_mtk *ssusb) {}
static inline void ssusb_dr_debugfs_init(struct ssusb_mtk *ssusb) {}
static inline void ssusb_debugfs_create_root(struct ssusb_mtk *ssusb) {}
static inline void ssusb_debugfs_remove_root(struct ssusb_mtk *ssusb) {}
#endif /* CONFIG_DEBUG_FS */
#if IS_ENABLED(CONFIG_TRACING)
void mtu3_dbg_trace(struct device *dev, const char *fmt, ...);
#else
static inline void mtu3_dbg_trace(struct device *dev, const char *fmt, ...) {}
#endif /* CONFIG_TRACING */
#endif /* __MTU3_DEBUG_H__ */