/* * tegra-soc-hwpm-log.c: * This file adds logging APIs for the Tegra SOC HWPM driver. * * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "tegra-soc-hwpm.h" #define LOG_BUF_SIZE 160 static void tegra_soc_hwpm_print(const char *func, int line, int type, const char *log) { switch (type) { case tegra_soc_hwpm_log_err: pr_err(TEGRA_SOC_HWPM_MODULE_NAME ": %s: %d: ERROR: %s\n", func, line, log); break; case tegra_soc_hwpm_log_dbg: pr_info(TEGRA_SOC_HWPM_MODULE_NAME ": %s: %d: DEBUG: %s\n", func, line, log); break; } } void tegra_soc_hwpm_log(const char *func, int line, int type, const char *fmt, ...) { char log[LOG_BUF_SIZE]; va_list args; va_start(args, fmt); (void) vsnprintf(log, LOG_BUF_SIZE, fmt, args); va_end(args); tegra_soc_hwpm_print(func, line, type, log); }