blob: 4f326342e3a73695a0718d3c8a3e26cca2975e33 [file] [log] [blame]
/* Copyright (c) 2017-2018, The Linux Foundataion. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* 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 for more details.
*/
#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;
default:
name = "CAM";
break;
}
return 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);
}
}