/* * * Copyright (c) 2009, Microsoft Corporation. * * 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, write to the Free Software Foundation, Inc., 59 Temple * Place - Suite 330, Boston, MA 02111-1307 USA. * * Authors: * Haiyang Zhang <haiyangz@microsoft.com> * Hank Janssen <hjanssen@microsoft.com> * */ #ifndef _LOGGING_H_ #define _LOGGING_H_ #define LOWORD(dw) ((unsigned short)(dw)) #define HIWORD(dw) ((unsigned short)(((unsigned int) (dw) >> 16) & 0xFFFF)) /* #include <linux/init.h> */ /* #include <linux/module.h> */ #define VMBUS 0x0001 #define STORVSC 0x0002 #define NETVSC 0x0004 #define INPUTVSC 0x0008 #define BLKVSC 0x0010 #define VMBUS_DRV 0x0100 #define STORVSC_DRV 0x0200 #define NETVSC_DRV 0x0400 #define INPUTVSC_DRV 0x0800 #define BLKVSC_DRV 0x1000 #define ALL_MODULES (VMBUS |\ STORVSC |\ NETVSC |\ INPUTVSC |\ BLKVSC |\ VMBUS_DRV |\ STORVSC_DRV |\ NETVSC_DRV |\ INPUTVSC_DRV|\ BLKVSC_DRV) /* Logging Level */ #define ERROR_LVL 3 #define WARNING_LVL 4 #define INFO_LVL 6 #define DEBUG_LVL 7 #define DEBUG_LVL_ENTEREXIT 8 #define DEBUG_RING_LVL 9 extern unsigned int vmbus_loglevel; #define DPRINT(mod, lvl, fmt, args...) do {\ if ((mod & (HIWORD(vmbus_loglevel))) && \ (lvl <= LOWORD(vmbus_loglevel))) \ printk(KERN_DEBUG #mod": %s() " fmt "\n", __func__, ## args);\ } while (0) #define DPRINT_DBG(mod, fmt, args...) do {\ if ((mod & (HIWORD(vmbus_loglevel))) && \ (DEBUG_LVL <= LOWORD(vmbus_loglevel))) \ printk(KERN_DEBUG #mod": %s() " fmt "\n", __func__, ## args);\ } while (0) #define DPRINT_INFO(mod, fmt, args...) do {\ if ((mod & (HIWORD(vmbus_loglevel))) && \ (INFO_LVL <= LOWORD(vmbus_loglevel))) \ printk(KERN_INFO #mod": " fmt "\n", ## args);\ } while (0) #define DPRINT_WARN(mod, fmt, args...) do {\ if ((mod & (HIWORD(vmbus_loglevel))) && \ (WARNING_LVL <= LOWORD(vmbus_loglevel))) \ printk(KERN_WARNING #mod": WARNING! " fmt "\n", ## args);\ } while (0) #define DPRINT_ERR(mod, fmt, args...) do {\ if ((mod & (HIWORD(vmbus_loglevel))) && \ (ERROR_LVL <= LOWORD(vmbus_loglevel))) \ printk(KERN_ERR #mod": %s() ERROR!! " fmt "\n", \ __func__, ## args);\ } while (0) #endif /* _LOGGING_H_ */