/* * $Id$ * * Copyright (C) 2005 Mike Isely * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License * * 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. * * 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 * */ #ifndef __PVRUSB2_DEBUG_H #define __PVRUSB2_DEBUG_H extern int pvrusb2_debug; #define pvr2_trace(msk, fmt, arg...) do {if(msk & pvrusb2_debug) printk(KERN_INFO "pvrusb2: " fmt "\n", ##arg); } while (0) /* These are listed in *rough* order of decreasing usefulness and increasing noise level. */ #define PVR2_TRACE_INFO (1 << 0) // Normal messages #define PVR2_TRACE_ERROR_LEGS (1 << 1) // error messages #define PVR2_TRACE_TOLERANCE (1 << 2) // track tolerance-affected errors #define PVR2_TRACE_TRAP (1 << 3) // Trap & report misbehavior from app #define PVR2_TRACE_INIT (1 << 4) // misc initialization steps #define PVR2_TRACE_START_STOP (1 << 5) // Streaming start / stop #define PVR2_TRACE_CTL (1 << 6) // commit of control changes #define PVR2_TRACE_DEBUG (1 << 7) // Temporary debug code #define PVR2_TRACE_EEPROM (1 << 8) // eeprom parsing / report #define PVR2_TRACE_STRUCT (1 << 9) // internal struct creation #define PVR2_TRACE_OPEN_CLOSE (1 << 10) // application open / close #define PVR2_TRACE_CREG (1 << 11) // Main critical region entry / exit #define PVR2_TRACE_SYSFS (1 << 12) // Sysfs driven I/O #define PVR2_TRACE_FIRMWARE (1 << 13) // firmware upload actions #define PVR2_TRACE_CHIPS (1 << 14) // chip broadcast operation #define PVR2_TRACE_I2C (1 << 15) // I2C related stuff #define PVR2_TRACE_I2C_CMD (1 << 16) // Software commands to I2C modules #define PVR2_TRACE_I2C_CORE (1 << 17) // I2C core debugging #define PVR2_TRACE_I2C_TRAF (1 << 18) // I2C traffic through the adapter #define PVR2_TRACE_V4LIOCTL (1 << 19) // v4l ioctl details #define PVR2_TRACE_ENCODER (1 << 20) // mpeg2 encoder operation #define PVR2_TRACE_BUF_POOL (1 << 21) // Track buffer pool management #define PVR2_TRACE_BUF_FLOW (1 << 22) // Track buffer flow in system #define PVR2_TRACE_DATA_FLOW (1 << 23) // Track data flow #define PVR2_TRACE_DEBUGIFC (1 << 24) // Debug interface actions #define PVR2_TRACE_GPIO (1 << 25) // GPIO state bit changes #endif /* __PVRUSB2_HDW_INTERNAL_H */ /* Stuff for Emacs to see, in order to encourage consistent editing style: *** Local Variables: *** *** mode: c *** *** fill-column: 75 *** *** tab-width: 8 *** *** c-basic-offset: 8 *** *** End: *** */