/**
 * @file hv_comm_Log.h
 * @brief Header file of mute module.
 *
 * @verbatim
 * ==============================================================================
 *                        ##### How to use #####
 * ==============================================================================
 *
 * @endverbatim
 *
 * @author HiView SoC Software Team
 * @version 1.0.0
 * @date 2022-08-23
 */

#ifndef __HV_LOG_H__
#define __HV_LOG_H__
#include "hv_vos_Comm.h"
#ifdef __cplusplus
extern "C" {
#endif

/* Here define or modify the module name */
#define SYSTEM          "system"
#define OSD             "osd"
#define HDMI            "hdmi"
#define DP              "dp"
#define VIDEO           "video"
#define AUDIO           "audio"
#define TYPEC           "typec"
#define PM              "PM"
#define PANEL           "panel"
#define CHANNEL         "channel"
#define EVENT           "event"
#define DB              "db"
#define EEPROM          "eeprom"
#define TIMER           "timer"
#define HDCP            "hdcp"
#define SYSDB           "sysdb"
#define DEFAULT         "default"
#define DDCCI           "DDC"
#define BCON            "bcon"
#define EVENT_HUB       "event_hub"
#define PINSHARE        "pinshare"
#define GPIO            "gpio"
#define PQ              "PQ"
#define POWER           "Power"
#define INPUTPORT       "InputPort"
#define LED             "led"

/* Log interface */
#ifdef HV_SCALER_DEBUG_VERSION
#define HV_LOG_ASSERT(module_name, ...)         HV_LOG_WRITE(HV_LOG_LEVEL_FATAL, __VA_ARGS__)
#define HV_LOG_ERROR(module_name, ...)          HV_LOG_WRITE(HV_LOG_LEVEL_ERROR, __VA_ARGS__)
#define HV_LOG_WARN(module_name, ...)           HV_LOG_WRITE(HV_LOG_LEVEL_WARN, __VA_ARGS__)
#define HV_LOG_INFO(module_name, ...)           HV_LOG_WRITE(HV_LOG_LEVEL_INFO, __VA_ARGS__)
#define HV_LOG_DEBUG(module_name, ...)          HV_LOG_WRITE(HV_LOG_LEVEL_VERBOSE, __VA_ARGS__)
#define HV_LOG_VERBOSE(module_name, ...)        HV_LOG_WRITE(HV_LOG_LEVEL_VERBOSE, __VA_ARGS__)
#define HV_LOG_RAW(...)                         HV_RAW_LOGI(__VA_ARGS__)

#else
#define HV_LOG_ASSERT(module_name, ...)         HV_LOG_WRITE(HV_LOG_LEVEL_FATAL, __VA_ARGS__)
#define HV_LOG_ERROR(module_name, ...)          HV_LOG_WRITE(HV_LOG_LEVEL_ERROR, __VA_ARGS__) 
#define HV_LOG_WARN(module_name, ...)           HV_LOG_WRITE(HV_LOG_LEVEL_WARN, __VA_ARGS__)
#define HV_LOG_INFO(module_name, ...)           
#define HV_LOG_DEBUG(module_name, ...)          
#define HV_LOG_VERBOSE(module_name, ...)        
#define HV_LOG_RAW(...)                         

#endif


#ifdef __cplusplus
}
#endif

#endif /* __HV_LOG_H__ */