Files
2026-08-24 10:03:24 +08:00

112 lines
5.0 KiB
C

/*
* Copyright (C) 2019-2024 Amlogic, Inc. All rights reserved.
*
*/
#ifndef __AML_DEBUG_H__
#define __AML_DEBUG_H__
#include "aml_common.h"
#define CONFIG_AML_LOG_TRACE_LEVEL AML_DBG_ERR
#define AML_DBG_EMERG 0
#define AML_DBG_ALERT 1
#define AML_DBG_CRIT 2
#define AML_DBG_ERR 3
#define AML_DBG_WARN 4
#define AML_DBG_NOTICE 5
#define AML_DBG_INFO 6
#define AML_DBG_DEBUG 7
#define AML_PRINT printk
#define AML_ASSERT(expr) \
do { \
if (!(expr)) { \
panic("\nASSERT at:\n" \
" >Function : %s\n" \
" >Line No. : %d\n" \
" >Condition: %s\n", \
__FUNCTION__, __LINE__, #expr); \
} \
} while (0)
#define AML_TRACE(level, fmt...) \
do { \
if (level <= CONFIG_AML_LOG_TRACE_LEVEL) \
AML_PRINT(fmt); \
} while (0)
#if (CONFIG_AML_LOG_TRACE_LEVEL >= AML_DBG_EMERG)
#define AML_EMERG_TRACE(fmt...) \
do { \
AML_TRACE(AML_DBG_EMERG, fmt); \
} while (0)
#else
#define AML_EMERG_TRACE(fmt...)
#endif
#if (CONFIG_AML_LOG_TRACE_LEVEL >= AML_DBG_ALERT)
#define AML_ALERT_TRACE(fmt...) \
do { \
AML_TRACE(AML_DBG_ALERT, fmt); \
} while (0)
#else
#define AML_ALERT_TRACE(fmt...)
#endif
#if (CONFIG_AML_LOG_TRACE_LEVEL >= AML_DBG_CRIT)
#define AML_CRIT_TRACE(fmt...) \
do { \
AML_TRACE(AML_DBG_CRIT, fmt); \
} while (0)
#else
#define AML_CRIT_TRACE(fmt...)
#endif
#if (CONFIG_AML_LOG_TRACE_LEVEL >= AML_DBG_ERR)
#define AML_ERR_TRACE(fmt...) \
do { \
AML_TRACE(AML_DBG_ERR, fmt); \
} while (0)
#else
#define AML_ERR_TRACE(fmt...)
#endif
#if (CONFIG_AML_LOG_TRACE_LEVEL >= AML_DBG_WARN)
#define AML_WARN_TRACE(fmt...) \
do { \
AML_TRACE(AML_DBG_WARN, fmt); \
} while (0)
#else
#define AML_WARN_TRACE(fmt...)
#endif
#if (CONFIG_AML_LOG_TRACE_LEVEL >= AML_DBG_NOTICE)
#define AML_NOTICE_TRACE(fmt...) \
do { \
AML_TRACE(AML_DBG_NOTICE, fmt); \
} while (0)
#else
#define AML_NOTICE_TRACE(fmt...)
#endif
#if (CONFIG_AML_LOG_TRACE_LEVEL >= AML_DBG_INFO)
#define AML_INFO_TRACE(fmt...) \
do { \
AML_TRACE(AML_DBG_INFO, fmt); \
} while (0)
#else
#define AML_INFO_TRACE(fmt...)
#endif
#if (CONFIG_AML_LOG_TRACE_LEVEL >= AML_DBG_DEBUG)
#define AML_DEBUG_TRACE(fmt...) \
do { \
AML_TRACE(AML_DBG_DEBUG, fmt); \
} while (0)
#else
#define AML_DEBUG_TRACE(fmt...)
#endif
#endif /* __AML_DEBUG_H__ */