18605731e8f17d1fde003084811f13f52539eb20cJizhou Liao/* 28605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Copyright (C) 2015 The Android Open Source Project 38605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 48605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Licensed under the Apache License, Version 2.0 (the "License"); 58605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * you may not use this file except in compliance with the License. 68605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * You may obtain a copy of the License at 78605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 88605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * http://www.apache.org/licenses/LICENSE-2.0 98605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 108605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Unless required by applicable law or agreed to in writing, software 118605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * distributed under the License is distributed on an "AS IS" BASIS, 128605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * See the License for the specific language governing permissions and 148605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * limitations under the License. 158605731e8f17d1fde003084811f13f52539eb20cJizhou Liao */ 16f70a3961c8c1fc4267a55813075fa3edeb785effMark Salyzyn#define LOG_TAG "pn54x" 178605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 183a48d8f90dc1d2f2d127b0b32de500cfc52ab8c6Mark Salyzyn#include <stdio.h> 198605731e8f17d1fde003084811f13f52539eb20cJizhou Liao#include <string.h> 208605731e8f17d1fde003084811f13f52539eb20cJizhou Liao#if !defined (NXPLOG__H_INCLUDED) 218605731e8f17d1fde003084811f13f52539eb20cJizhou Liao# include "phNxpLog.h" 228605731e8f17d1fde003084811f13f52539eb20cJizhou Liao# include "phNxpConfig.h" 238605731e8f17d1fde003084811f13f52539eb20cJizhou Liao#endif 248605731e8f17d1fde003084811f13f52539eb20cJizhou Liao#include <cutils/properties.h> 25d76d4cb3a67fd3cc74c6682ad0b7031bd619e7f5Mark Salyzyn#include <log/log.h> 268605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 278605731e8f17d1fde003084811f13f52539eb20cJizhou Liaoconst char * NXPLOG_ITEM_EXTNS = "NxpExtns"; 288605731e8f17d1fde003084811f13f52539eb20cJizhou Liaoconst char * NXPLOG_ITEM_NCIHAL = "NxpHal"; 298605731e8f17d1fde003084811f13f52539eb20cJizhou Liaoconst char * NXPLOG_ITEM_NCIX = "NxpNciX"; 308605731e8f17d1fde003084811f13f52539eb20cJizhou Liaoconst char * NXPLOG_ITEM_NCIR = "NxpNciR"; 318605731e8f17d1fde003084811f13f52539eb20cJizhou Liaoconst char * NXPLOG_ITEM_FWDNLD = "NxpFwDnld"; 328605731e8f17d1fde003084811f13f52539eb20cJizhou Liaoconst char * NXPLOG_ITEM_TML = "NxpTml"; 338605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 348605731e8f17d1fde003084811f13f52539eb20cJizhou Liao#ifdef NXP_HCI_REQ 358605731e8f17d1fde003084811f13f52539eb20cJizhou Liaoconst char * NXPLOG_ITEM_HCPX = "NxpHcpX"; 368605731e8f17d1fde003084811f13f52539eb20cJizhou Liaoconst char * NXPLOG_ITEM_HCPR = "NxpHcpR"; 378605731e8f17d1fde003084811f13f52539eb20cJizhou Liao#endif /*NXP_HCI_REQ*/ 388605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 398605731e8f17d1fde003084811f13f52539eb20cJizhou Liao/* global log level structure */ 408605731e8f17d1fde003084811f13f52539eb20cJizhou Liaonci_log_level_t gLog_level; 418605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 428605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 438605731e8f17d1fde003084811f13f52539eb20cJizhou Liao/******************************************************************************* 448605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 458605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Function phNxpLog_SetGlobalLogLevel 468605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 478605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Description Sets the global log level for all modules. 488605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * This value is set by Android property nfc.nxp_log_level_global. 498605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * If value can be overridden by module log level. 508605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 518605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Returns The value of global log level 528605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 538605731e8f17d1fde003084811f13f52539eb20cJizhou Liao ******************************************************************************/ 548605731e8f17d1fde003084811f13f52539eb20cJizhou Liaostatic uint8_t phNxpLog_SetGlobalLogLevel (void) 558605731e8f17d1fde003084811f13f52539eb20cJizhou Liao{ 568605731e8f17d1fde003084811f13f52539eb20cJizhou Liao uint8_t level = NXPLOG_DEFAULT_LOGLEVEL; 578605731e8f17d1fde003084811f13f52539eb20cJizhou Liao unsigned long num = 0; 588605731e8f17d1fde003084811f13f52539eb20cJizhou Liao char valueStr [PROPERTY_VALUE_MAX] = {0}; 598605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 608605731e8f17d1fde003084811f13f52539eb20cJizhou Liao int len = property_get (PROP_NAME_NXPLOG_GLOBAL_LOGLEVEL, valueStr, ""); 618605731e8f17d1fde003084811f13f52539eb20cJizhou Liao if (len > 0) 628605731e8f17d1fde003084811f13f52539eb20cJizhou Liao { 638605731e8f17d1fde003084811f13f52539eb20cJizhou Liao /* let Android property override .conf variable */ 648605731e8f17d1fde003084811f13f52539eb20cJizhou Liao sscanf (valueStr, "%lu", &num); 658605731e8f17d1fde003084811f13f52539eb20cJizhou Liao level = (unsigned char) num; 668605731e8f17d1fde003084811f13f52539eb20cJizhou Liao } 678605731e8f17d1fde003084811f13f52539eb20cJizhou Liao memset(&gLog_level, level, sizeof(nci_log_level_t)); 688605731e8f17d1fde003084811f13f52539eb20cJizhou Liao return level; 698605731e8f17d1fde003084811f13f52539eb20cJizhou Liao} 708605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 718605731e8f17d1fde003084811f13f52539eb20cJizhou Liao/******************************************************************************* 728605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 738605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Function phNxpLog_SetHALLogLevel 748605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 758605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Description Sets the HAL layer log level. 768605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 778605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Returns void 788605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 798605731e8f17d1fde003084811f13f52539eb20cJizhou Liao ******************************************************************************/ 808605731e8f17d1fde003084811f13f52539eb20cJizhou Liaostatic void phNxpLog_SetHALLogLevel (uint8_t level) 818605731e8f17d1fde003084811f13f52539eb20cJizhou Liao{ 828605731e8f17d1fde003084811f13f52539eb20cJizhou Liao unsigned long num = 0; 838605731e8f17d1fde003084811f13f52539eb20cJizhou Liao int len; 848605731e8f17d1fde003084811f13f52539eb20cJizhou Liao char valueStr [PROPERTY_VALUE_MAX] = {0}; 858605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 868605731e8f17d1fde003084811f13f52539eb20cJizhou Liao if (GetNxpNumValue (NAME_NXPLOG_HAL_LOGLEVEL, &num, sizeof(num))) 878605731e8f17d1fde003084811f13f52539eb20cJizhou Liao { 888605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.hal_log_level = (level > (unsigned char) num) ? level : (unsigned char) num;; 898605731e8f17d1fde003084811f13f52539eb20cJizhou Liao } 908605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 918605731e8f17d1fde003084811f13f52539eb20cJizhou Liao len = property_get (PROP_NAME_NXPLOG_HAL_LOGLEVEL, valueStr, ""); 928605731e8f17d1fde003084811f13f52539eb20cJizhou Liao if (len > 0) 938605731e8f17d1fde003084811f13f52539eb20cJizhou Liao { 948605731e8f17d1fde003084811f13f52539eb20cJizhou Liao /* let Android property override .conf variable */ 958605731e8f17d1fde003084811f13f52539eb20cJizhou Liao sscanf (valueStr, "%lu", &num); 968605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.hal_log_level = (unsigned char) num; 978605731e8f17d1fde003084811f13f52539eb20cJizhou Liao } 988605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 998605731e8f17d1fde003084811f13f52539eb20cJizhou Liao return; 1008605731e8f17d1fde003084811f13f52539eb20cJizhou Liao} 1018605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 1028605731e8f17d1fde003084811f13f52539eb20cJizhou Liao/******************************************************************************* 1038605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1048605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Function phNxpLog_SetExtnsLogLevel 1058605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1068605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Description Sets the Extensions layer log level. 1078605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1088605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Returns void 1098605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1108605731e8f17d1fde003084811f13f52539eb20cJizhou Liao ******************************************************************************/ 1118605731e8f17d1fde003084811f13f52539eb20cJizhou Liaostatic void phNxpLog_SetExtnsLogLevel (uint8_t level) 1128605731e8f17d1fde003084811f13f52539eb20cJizhou Liao{ 1138605731e8f17d1fde003084811f13f52539eb20cJizhou Liao unsigned long num = 0; 1148605731e8f17d1fde003084811f13f52539eb20cJizhou Liao int len; 1158605731e8f17d1fde003084811f13f52539eb20cJizhou Liao char valueStr [PROPERTY_VALUE_MAX] = {0}; 1168605731e8f17d1fde003084811f13f52539eb20cJizhou Liao if (GetNxpNumValue (NAME_NXPLOG_EXTNS_LOGLEVEL, &num, sizeof(num))) 1178605731e8f17d1fde003084811f13f52539eb20cJizhou Liao { 1188605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.extns_log_level = (level > (unsigned char) num) ? level : (unsigned char) num;; 1198605731e8f17d1fde003084811f13f52539eb20cJizhou Liao } 1208605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 1218605731e8f17d1fde003084811f13f52539eb20cJizhou Liao len = property_get (PROP_NAME_NXPLOG_EXTNS_LOGLEVEL, valueStr, ""); 1228605731e8f17d1fde003084811f13f52539eb20cJizhou Liao if (len > 0) 1238605731e8f17d1fde003084811f13f52539eb20cJizhou Liao { 1248605731e8f17d1fde003084811f13f52539eb20cJizhou Liao /* let Android property override .conf variable */ 1258605731e8f17d1fde003084811f13f52539eb20cJizhou Liao sscanf (valueStr, "%lu", &num); 1268605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.extns_log_level = (unsigned char) num; 1278605731e8f17d1fde003084811f13f52539eb20cJizhou Liao } 1288605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 1298605731e8f17d1fde003084811f13f52539eb20cJizhou Liao return; 1308605731e8f17d1fde003084811f13f52539eb20cJizhou Liao} 1318605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 1328605731e8f17d1fde003084811f13f52539eb20cJizhou Liao/******************************************************************************* 1338605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1348605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Function phNxpLog_SetTmlLogLevel 1358605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1368605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Description Sets the TML layer log level. 1378605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1388605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Returns void 1398605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1408605731e8f17d1fde003084811f13f52539eb20cJizhou Liao ******************************************************************************/ 1418605731e8f17d1fde003084811f13f52539eb20cJizhou Liaostatic void phNxpLog_SetTmlLogLevel (uint8_t level) 1428605731e8f17d1fde003084811f13f52539eb20cJizhou Liao{ 1438605731e8f17d1fde003084811f13f52539eb20cJizhou Liao unsigned long num = 0; 1448605731e8f17d1fde003084811f13f52539eb20cJizhou Liao int len; 1458605731e8f17d1fde003084811f13f52539eb20cJizhou Liao char valueStr [PROPERTY_VALUE_MAX] = {0}; 1468605731e8f17d1fde003084811f13f52539eb20cJizhou Liao if (GetNxpNumValue (NAME_NXPLOG_TML_LOGLEVEL, &num, sizeof(num))) 1478605731e8f17d1fde003084811f13f52539eb20cJizhou Liao { 1488605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.tml_log_level = (level > (unsigned char) num) ? level : (unsigned char) num;; 1498605731e8f17d1fde003084811f13f52539eb20cJizhou Liao } 1508605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 1518605731e8f17d1fde003084811f13f52539eb20cJizhou Liao len = property_get (PROP_NAME_NXPLOG_TML_LOGLEVEL, valueStr, ""); 1528605731e8f17d1fde003084811f13f52539eb20cJizhou Liao if (len > 0) 1538605731e8f17d1fde003084811f13f52539eb20cJizhou Liao { 1548605731e8f17d1fde003084811f13f52539eb20cJizhou Liao /* let Android property override .conf variable */ 1558605731e8f17d1fde003084811f13f52539eb20cJizhou Liao sscanf (valueStr, "%lu", &num); 1568605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.tml_log_level = (unsigned char) num; 1578605731e8f17d1fde003084811f13f52539eb20cJizhou Liao } 1588605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 1598605731e8f17d1fde003084811f13f52539eb20cJizhou Liao return; 1608605731e8f17d1fde003084811f13f52539eb20cJizhou Liao} 1618605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 1628605731e8f17d1fde003084811f13f52539eb20cJizhou Liao/******************************************************************************* 1638605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1648605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Function phNxpLog_SetDnldLogLevel 1658605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1668605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Description Sets the FW download layer log level. 1678605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1688605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Returns void 1698605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1708605731e8f17d1fde003084811f13f52539eb20cJizhou Liao ******************************************************************************/ 1718605731e8f17d1fde003084811f13f52539eb20cJizhou Liaostatic void phNxpLog_SetDnldLogLevel (uint8_t level) 1728605731e8f17d1fde003084811f13f52539eb20cJizhou Liao{ 1738605731e8f17d1fde003084811f13f52539eb20cJizhou Liao unsigned long num = 0; 1748605731e8f17d1fde003084811f13f52539eb20cJizhou Liao int len; 1758605731e8f17d1fde003084811f13f52539eb20cJizhou Liao char valueStr [PROPERTY_VALUE_MAX] = {0}; 1768605731e8f17d1fde003084811f13f52539eb20cJizhou Liao if (GetNxpNumValue (NAME_NXPLOG_FWDNLD_LOGLEVEL, &num, sizeof(num))) 1778605731e8f17d1fde003084811f13f52539eb20cJizhou Liao { 1788605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.dnld_log_level = (level > (unsigned char) num) ? level : (unsigned char) num;; 1798605731e8f17d1fde003084811f13f52539eb20cJizhou Liao } 1808605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 1818605731e8f17d1fde003084811f13f52539eb20cJizhou Liao len = property_get (PROP_NAME_NXPLOG_FWDNLD_LOGLEVEL, valueStr, ""); 1828605731e8f17d1fde003084811f13f52539eb20cJizhou Liao if (len > 0) 1838605731e8f17d1fde003084811f13f52539eb20cJizhou Liao { 1848605731e8f17d1fde003084811f13f52539eb20cJizhou Liao /* let Android property override .conf variable */ 1858605731e8f17d1fde003084811f13f52539eb20cJizhou Liao sscanf (valueStr, "%lu", &num); 1868605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.dnld_log_level = (unsigned char) num; 1878605731e8f17d1fde003084811f13f52539eb20cJizhou Liao } 1888605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 1898605731e8f17d1fde003084811f13f52539eb20cJizhou Liao return; 1908605731e8f17d1fde003084811f13f52539eb20cJizhou Liao} 1918605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 1928605731e8f17d1fde003084811f13f52539eb20cJizhou Liao/******************************************************************************* 1938605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1948605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Function phNxpLog_SetNciTxLogLevel 1958605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1968605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Description Sets the NCI transaction layer log level. 1978605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 1988605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Returns void 1998605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 2008605731e8f17d1fde003084811f13f52539eb20cJizhou Liao ******************************************************************************/ 2018605731e8f17d1fde003084811f13f52539eb20cJizhou Liaostatic void phNxpLog_SetNciTxLogLevel (uint8_t level) 2028605731e8f17d1fde003084811f13f52539eb20cJizhou Liao{ 2038605731e8f17d1fde003084811f13f52539eb20cJizhou Liao unsigned long num = 0; 2048605731e8f17d1fde003084811f13f52539eb20cJizhou Liao int len; 2058605731e8f17d1fde003084811f13f52539eb20cJizhou Liao char valueStr [PROPERTY_VALUE_MAX] = {0}; 2068605731e8f17d1fde003084811f13f52539eb20cJizhou Liao if (GetNxpNumValue (NAME_NXPLOG_NCIX_LOGLEVEL, &num, sizeof(num))) 2078605731e8f17d1fde003084811f13f52539eb20cJizhou Liao { 2088605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.ncix_log_level = (level > (unsigned char) num) ? level : (unsigned char) num; 2098605731e8f17d1fde003084811f13f52539eb20cJizhou Liao } 2108605731e8f17d1fde003084811f13f52539eb20cJizhou Liao if (GetNxpNumValue (NAME_NXPLOG_NCIR_LOGLEVEL, &num, sizeof(num))) 2118605731e8f17d1fde003084811f13f52539eb20cJizhou Liao { 2128605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.ncir_log_level = (level > (unsigned char) num) ? level : (unsigned char) num;; 2138605731e8f17d1fde003084811f13f52539eb20cJizhou Liao } 2148605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 2158605731e8f17d1fde003084811f13f52539eb20cJizhou Liao len = property_get (PROP_NAME_NXPLOG_NCI_LOGLEVEL, valueStr, ""); 2168605731e8f17d1fde003084811f13f52539eb20cJizhou Liao if (len > 0) 2178605731e8f17d1fde003084811f13f52539eb20cJizhou Liao { 2188605731e8f17d1fde003084811f13f52539eb20cJizhou Liao /* let Android property override .conf variable */ 2198605731e8f17d1fde003084811f13f52539eb20cJizhou Liao sscanf (valueStr, "%lu", &num); 2208605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.ncix_log_level = (unsigned char) num; 2218605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.ncir_log_level = (unsigned char) num; 2228605731e8f17d1fde003084811f13f52539eb20cJizhou Liao } 2238605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 2248605731e8f17d1fde003084811f13f52539eb20cJizhou Liao return; 2258605731e8f17d1fde003084811f13f52539eb20cJizhou Liao} 2268605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 2278605731e8f17d1fde003084811f13f52539eb20cJizhou Liao/****************************************************************************** 2288605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Function phNxpLog_InitializeLogLevel 2298605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 2308605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Description Initialize and get log level of module from libnfc-nxp.conf or 2318605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Android runtime properties. 2328605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * The Android property nfc.nxp_global_log_level is to 2338605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * define log level for all modules. Modules log level will override global level. 2348605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * The Android property will override the level 2358605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * in libnfc-nxp.conf 2368605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 2378605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Android property names: 2388605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * nfc.nxp_log_level_global * defines log level for all modules 2398605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * nfc.nxp_log_level_extns * extensions module log 2408605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * nfc.nxp_log_level_hal * Hal module log 2418605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * nfc.nxp_log_level_dnld * firmware download module log 2428605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * nfc.nxp_log_level_tml * TML module log 2438605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * nfc.nxp_log_level_nci * NCI transaction log 2448605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 2458605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Log Level values: 2468605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * NXPLOG_LOG_SILENT_LOGLEVEL 0 * No trace to show 2478605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * NXPLOG_LOG_ERROR_LOGLEVEL 1 * Show Error trace only 2488605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * NXPLOG_LOG_WARN_LOGLEVEL 2 * Show Warning trace and Error trace 2498605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * NXPLOG_LOG_DEBUG_LOGLEVEL 3 * Show all traces 2508605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 2518605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * Returns void 2528605731e8f17d1fde003084811f13f52539eb20cJizhou Liao * 2538605731e8f17d1fde003084811f13f52539eb20cJizhou Liao ******************************************************************************/ 2548605731e8f17d1fde003084811f13f52539eb20cJizhou Liaovoid phNxpLog_InitializeLogLevel(void) 2558605731e8f17d1fde003084811f13f52539eb20cJizhou Liao{ 2568605731e8f17d1fde003084811f13f52539eb20cJizhou Liao uint8_t level = phNxpLog_SetGlobalLogLevel (); 2578605731e8f17d1fde003084811f13f52539eb20cJizhou Liao phNxpLog_SetHALLogLevel (level); 2588605731e8f17d1fde003084811f13f52539eb20cJizhou Liao phNxpLog_SetExtnsLogLevel (level); 2598605731e8f17d1fde003084811f13f52539eb20cJizhou Liao phNxpLog_SetTmlLogLevel (level); 2608605731e8f17d1fde003084811f13f52539eb20cJizhou Liao phNxpLog_SetDnldLogLevel (level); 2618605731e8f17d1fde003084811f13f52539eb20cJizhou Liao phNxpLog_SetNciTxLogLevel (level); 2628605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 2635f28e5ee8f39bd58e182f911ebb50960b2a77830Joe Onorato ALOGV("%s: global =%u, Fwdnld =%u, extns =%u, \ 2648605731e8f17d1fde003084811f13f52539eb20cJizhou Liao hal =%u, tml =%u, ncir =%u, \ 2658605731e8f17d1fde003084811f13f52539eb20cJizhou Liao ncix =%u", \ 2662dfff7620070cff76fb117aafcd06e57cceb59fbRuchi Kandoi __func__, gLog_level.global_log_level, gLog_level.dnld_log_level, 2678605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.extns_log_level, gLog_level.hal_log_level, gLog_level.tml_log_level, 2688605731e8f17d1fde003084811f13f52539eb20cJizhou Liao gLog_level.ncir_log_level, gLog_level.ncix_log_level); 2698605731e8f17d1fde003084811f13f52539eb20cJizhou Liao 2708605731e8f17d1fde003084811f13f52539eb20cJizhou Liao return; 2718605731e8f17d1fde003084811f13f52539eb20cJizhou Liao} 272