blob: f467cf909e47842355d58f4d2f0b7ac970d0f282 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2017-2019, The Linux Foundataion. All rights reserved.
*/
#include <linux/io.h>
#include <linux/module.h>
#include "cam_debug_util.h"
static uint debug_mdl;
module_param(debug_mdl, uint, 0644);
const char *cam_get_module_name(unsigned int module_id)
{
const char *name = NULL;
switch (module_id) {
case CAM_CDM:
name = "CAM-CDM";
break;
case CAM_CORE:
name = "CAM-CORE";
break;
case CAM_CRM:
name = "CAM-CRM";
break;
case CAM_CPAS:
name = "CAM-CPAS";
break;
case CAM_ISP:
name = "CAM-ISP";
break;
case CAM_SENSOR:
name = "CAM-SENSOR";
break;
case CAM_SMMU:
name = "CAM-SMMU";
break;
case CAM_SYNC:
name = "CAM-SYNC";
break;
case CAM_ICP:
name = "CAM-ICP";
break;
case CAM_JPEG:
name = "CAM-JPEG";
break;
case CAM_FD:
name = "CAM-FD";
break;
case CAM_LRME:
name = "CAM-LRME";
break;
case CAM_FLASH:
name = "CAM-FLASH";
break;
case CAM_ACTUATOR:
name = "CAM-ACTUATOR";
break;
case CAM_CCI:
name = "CAM-CCI";
break;
case CAM_CSIPHY:
name = "CAM-CSIPHY";
break;
case CAM_EEPROM:
name = "CAM-EEPROM";
break;
case CAM_UTIL:
name = "CAM-UTIL";
break;
case CAM_CTXT:
name = "CAM-CTXT";
break;
case CAM_HFI:
name = "CAM-HFI";
break;
case CAM_OIS:
name = "CAM-OIS";
break;
case CAM_IRQ_CTRL:
name = "CAM-IRQ-CTRL";
break;
case CAM_MEM:
name = "CAM-MEM";
break;
case CAM_PERF:
name = "CAM-PERF";
break;
case CAM_REQ:
name = "CAM-REQ";
break;
case CAM_CUSTOM:
name = "CAM-CUSTOM";
break;
default:
name = "CAM";
break;
}
return name;
}
EXPORT_SYMBOL_GPL(cam_get_module_name);
void cam_debug_log(unsigned int module_id, const char *func, const int line,
const char *fmt, ...)
{
char str_buffer[STR_BUFFER_MAX_LENGTH];
va_list args;
va_start(args, fmt);
if (debug_mdl & module_id) {
vsnprintf(str_buffer, STR_BUFFER_MAX_LENGTH, fmt, args);
pr_info("CAM_DBG: %s: %s: %d: %s\n",
cam_get_module_name(module_id),
func, line, str_buffer);
}
va_end(args);
}
EXPORT_SYMBOL_GPL(cam_debug_log);
MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("Cam Debug Util");