55 lines
1.8 KiB
C
Executable File
Vendored
55 lines
1.8 KiB
C
Executable File
Vendored
/*
|
|
* hal_debug.h- Sigmastar
|
|
*
|
|
* Copyright (c) [2019~2020] SigmaStar Technology.
|
|
*
|
|
*
|
|
* This software is licensed under the terms of the GNU General Public
|
|
* License version 2, as published by the Free Software Foundation, and
|
|
* may be copied, distributed, and modified under those terms.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License version 2 for more details.
|
|
*
|
|
*/
|
|
#ifndef __HAL_DEBUG_H__
|
|
#define __HAL_DEBUG_H__
|
|
|
|
#include <linux/kernel.h>
|
|
|
|
// Defines debug message levels of HAL_MSG
|
|
#define HAL_MSG_ERR 3
|
|
#define HAL_MSG_WRN 4
|
|
#define HAL_MSG_DBG 5
|
|
|
|
#define HAL_MSG_LEVL HAL_MSG_WRN
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
#define HAL_MSG_ENABLE // enable/disable message
|
|
#define HAL_MSG_FUNC_ENABLE // enable/disable function name dump
|
|
|
|
#if defined(HAL_MSG_ENABLE)
|
|
|
|
#define HAL_STRINGIFY(x) #x
|
|
#define HAL_TOSTRING(x) HAL_STRINGIFY(x)
|
|
|
|
#if defined(HAL_MSG_FUNC_ENABLE)
|
|
#define HAL_MSG_TITLE "[HAL, %s] "
|
|
#define HAL_MSG_FUNC __func__
|
|
#else // NOT defined(HAL_MSG_FUNC_ENABLE)
|
|
#define HAL_MSG_TITLE "[HAL] %s"
|
|
#define HAL_MSG_FUNC ""
|
|
#endif // NOT defined(HAL_MSG_FUNC_ENABLE)
|
|
|
|
#define HAL_MSG(dbglv, _fmt, _args...) \
|
|
do if(dbglv <= HAL_MSG_LEVL) { \
|
|
printk(KERN_SOH HAL_TOSTRING(dbglv) HAL_MSG_TITLE _fmt, HAL_MSG_FUNC, ## _args); \
|
|
} while(0)
|
|
#else // NOT defined(HAL_MSG_ENABLE)
|
|
#define HAL_MSG(dbglv, _fmt, _args...)
|
|
#endif // NOT defined(HAL_MSG_ENABLE)
|
|
|
|
#endif // __HAL_DEBUG_H__
|