1/* 2 * $Id: pvrusb2-debug.h,v 1.1.1.1 2007/08/03 18:52:41 Exp $ 3 * 4 * Copyright (C) 2005 Mike Isely <isely@pobox.com> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 * 19 */ 20#ifndef __PVRUSB2_DEBUG_H 21#define __PVRUSB2_DEBUG_H 22 23extern int pvrusb2_debug; 24 25#define pvr2_trace(msk, fmt, arg...) do {if(msk & pvrusb2_debug) printk(KERN_INFO "pvrusb2: " fmt "\n", ##arg); } while (0) 26 27/* These are listed in *rough* order of decreasing usefulness and 28 increasing noise level. */ 29#define PVR2_TRACE_INFO (1 << 0) // Normal messages 30#define PVR2_TRACE_ERROR_LEGS (1 << 1) // error messages 31#define PVR2_TRACE_TOLERANCE (1 << 2) // track tolerance-affected errors 32#define PVR2_TRACE_TRAP (1 << 3) // Trap & report misbehavior from app 33#define PVR2_TRACE_INIT (1 << 4) // misc initialization steps 34#define PVR2_TRACE_START_STOP (1 << 5) // Streaming start / stop 35#define PVR2_TRACE_CTL (1 << 6) // commit of control changes 36#define PVR2_TRACE_DEBUG (1 << 7) // Temporary debug code 37#define PVR2_TRACE_EEPROM (1 << 8) // eeprom parsing / report 38#define PVR2_TRACE_STRUCT (1 << 9) // internal struct creation 39#define PVR2_TRACE_OPEN_CLOSE (1 << 10) // application open / close 40#define PVR2_TRACE_CREG (1 << 11) // Main critical region entry / exit 41#define PVR2_TRACE_SYSFS (1 << 12) // Sysfs driven I/O 42#define PVR2_TRACE_FIRMWARE (1 << 13) // firmware upload actions 43#define PVR2_TRACE_CHIPS (1 << 14) // chip broadcast operation 44#define PVR2_TRACE_I2C (1 << 15) // I2C related stuff 45#define PVR2_TRACE_I2C_CMD (1 << 16) // Software commands to I2C modules 46#define PVR2_TRACE_I2C_CORE (1 << 17) // I2C core debugging 47#define PVR2_TRACE_I2C_TRAF (1 << 18) // I2C traffic through the adapter 48#define PVR2_TRACE_V4LIOCTL (1 << 19) // v4l ioctl details 49#define PVR2_TRACE_ENCODER (1 << 20) // mpeg2 encoder operation 50#define PVR2_TRACE_BUF_POOL (1 << 21) // Track buffer pool management 51#define PVR2_TRACE_BUF_FLOW (1 << 22) // Track buffer flow in system 52#define PVR2_TRACE_DATA_FLOW (1 << 23) // Track data flow 53#define PVR2_TRACE_DEBUGIFC (1 << 24) // Debug interface actions 54#define PVR2_TRACE_GPIO (1 << 25) // GPIO state bit changes 55 56 57#endif /* __PVRUSB2_HDW_INTERNAL_H */ 58 59/* 60 Stuff for Emacs to see, in order to encourage consistent editing style: 61 *** Local Variables: *** 62 *** mode: c *** 63 *** fill-column: 75 *** 64 *** tab-width: 8 *** 65 *** c-basic-offset: 8 *** 66 *** End: *** 67 */ 68