#ifndef __EM_TA_LOG_H_
#define __EM_TA_LOG_H_

#define PLATFORM_LOG_TAG "EngineeringMode"


/*#ifdef DEBUG
#define LOGD(...) MB_LOGD(__VA_ARGS__)
#else
#define LOGD(...) do {} while(0)
#endif*/
// End of DEBUG

#ifdef EM_SWD_TEEGRIS
	#include <stdio.h>
	#define TA_TAG "engmode :: "
	#define LOGD(fmt, ...) printf("%s%s:%d " fmt, TA_TAG, __func__, __LINE__, ##__VA_ARGS__)
	#define LOGI(fmt, ...) printf("%s%s:%d " fmt, TA_TAG, __func__, __LINE__, ##__VA_ARGS__)
	#define LOGE(fmt, ...) printf("%s%s:%d " fmt, TA_TAG, __func__, __LINE__, ##__VA_ARGS__)
#elif EM_SWD_QSEE
	#include "qsee_log.h"
	#define LOGD(fmt, ARGS...) qsee_log(QSEE_LOG_MSG_DEBUG, "%s:%d "fmt, __func__, __LINE__, ##ARGS)
	#define LOGE(fmt, ARGS...) qsee_log(QSEE_LOG_MSG_ERROR, "%s:%d "fmt, __func__, __LINE__, ##ARGS)
	#define LOGI(fmt, ARGS...) qsee_log(QSEE_LOG_MSG_ERROR, "%s:%d "fmt, __func__, __LINE__, ##ARGS)
#elif EM_SWD_MOBICORE
	#include "tlStd.h"
	#include "TlApiLogging.h"
	#define TA_TAG "engmode ::"
	#define LOGD(fmt, ...) tlApiLogPrintf("%s%s:%d " fmt, TA_TAG, __func__, __LINE__, ##__VA_ARGS__)
	#define LOGI(fmt, ...) tlApiLogPrintf("%s%s:%d " fmt, TA_TAG, __func__, __LINE__, ##__VA_ARGS__)
	#define LOGE(fmt, ...) tlApiLogPrintf("%s%s:%d " fmt, TA_TAG, __func__, __LINE__, ##__VA_ARGS__)
#endif

/* Kernel log config */
#ifdef EM_SWD_QSEE
	#include <qsee_printk.h>
	#define KLOGI(fmt, ARGS...) do \
	{ \
		KLOG_WARNING("EngineeringMode", fmt, ##ARGS); \
		LOGI(fmt, ##ARGS); \
	} while(0);

	#define KLOGE(fmt, ARGS...) do \
	{ \
		KLOG_WARNING("EngineeringMode", fmt, ##ARGS); \
		LOGE(fmt, ##ARGS); \
	} while(0);
#elif TROY
	#include <stdio.h>
	#define LOGD(fmt, ...) printf("[D]%s:%d " fmt, __func__, __LINE__, ##__VA_ARGS__)
	#define LOGI(fmt, ...) printf("[I]%s:%d " fmt, __func__, __LINE__, ##__VA_ARGS__)
	#define LOGE(fmt, ...) printf("[E]%s:%d " fmt, __func__, __LINE__, ##__VA_ARGS__)

#else /* FOR KINIBI TEEGRIS*/
	#define KLOGI(fmt, ARGS...) do \
	{ \
		LOGI(fmt, ##ARGS); \
	} while (0);

	#define KLOGE(fmt, ARGS...) do \
	{ \
		LOGE(fmt, ##ARGS); \
	} while(0);
#endif

#endif
