162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
262306a36Sopenharmony_ci/* Copyright(c) 2018-2019  Realtek Corporation
362306a36Sopenharmony_ci */
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#ifndef __RTW_DEBUG_H
662306a36Sopenharmony_ci#define __RTW_DEBUG_H
762306a36Sopenharmony_ci
862306a36Sopenharmony_cienum rtw_debug_mask {
962306a36Sopenharmony_ci	RTW_DBG_PCI		= 0x00000001,
1062306a36Sopenharmony_ci	RTW_DBG_TX		= 0x00000002,
1162306a36Sopenharmony_ci	RTW_DBG_RX		= 0x00000004,
1262306a36Sopenharmony_ci	RTW_DBG_PHY		= 0x00000008,
1362306a36Sopenharmony_ci	RTW_DBG_FW		= 0x00000010,
1462306a36Sopenharmony_ci	RTW_DBG_EFUSE		= 0x00000020,
1562306a36Sopenharmony_ci	RTW_DBG_COEX		= 0x00000040,
1662306a36Sopenharmony_ci	RTW_DBG_RFK		= 0x00000080,
1762306a36Sopenharmony_ci	RTW_DBG_REGD		= 0x00000100,
1862306a36Sopenharmony_ci	RTW_DBG_DEBUGFS		= 0x00000200,
1962306a36Sopenharmony_ci	RTW_DBG_PS		= 0x00000400,
2062306a36Sopenharmony_ci	RTW_DBG_BF		= 0x00000800,
2162306a36Sopenharmony_ci	RTW_DBG_WOW		= 0x00001000,
2262306a36Sopenharmony_ci	RTW_DBG_CFO		= 0x00002000,
2362306a36Sopenharmony_ci	RTW_DBG_PATH_DIV	= 0x00004000,
2462306a36Sopenharmony_ci	RTW_DBG_ADAPTIVITY	= 0x00008000,
2562306a36Sopenharmony_ci	RTW_DBG_HW_SCAN		= 0x00010000,
2662306a36Sopenharmony_ci	RTW_DBG_STATE		= 0x00020000,
2762306a36Sopenharmony_ci	RTW_DBG_SDIO		= 0x00040000,
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	RTW_DBG_ALL		= 0xffffffff
3062306a36Sopenharmony_ci};
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci#ifdef CONFIG_RTW88_DEBUGFS
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_civoid rtw_debugfs_init(struct rtw_dev *rtwdev);
3562306a36Sopenharmony_civoid rtw_debugfs_get_simple_phy_info(struct seq_file *m);
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci#else
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_cistatic inline void rtw_debugfs_init(struct rtw_dev *rtwdev) {}
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci#endif /* CONFIG_RTW88_DEBUGFS */
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci#ifdef CONFIG_RTW88_DEBUG
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci__printf(3, 4)
4662306a36Sopenharmony_civoid __rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask,
4762306a36Sopenharmony_ci	       const char *fmt, ...);
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci#define rtw_dbg(rtwdev, a...) __rtw_dbg(rtwdev, ##a)
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci#else
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_cistatic inline void rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask,
5462306a36Sopenharmony_ci			   const char *fmt, ...) {}
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci#endif /* CONFIG_RTW88_DEBUG */
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci#define rtw_info(rtwdev, a...) dev_info(rtwdev->dev, ##a)
5962306a36Sopenharmony_ci#define rtw_warn(rtwdev, a...) dev_warn(rtwdev->dev, ##a)
6062306a36Sopenharmony_ci#define rtw_err(rtwdev, a...) dev_err(rtwdev->dev, ##a)
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci#endif
63