[osy] dprintk

  • From: "Jaroslav Keznikl" <jaroslav.keznikl@xxxxxxxxx>
  • To: osy@xxxxxxxxxxxxx
  • Date: Sat, 29 Nov 2008 10:03:31 +0100

ahoj,
chtel jsem si implementovat svoji metody pro debugovaci vypisy ale aby
vam pak neblbli pri vase programovani, proto jsem si udelal specialni
verzi fce dprintk:

dprintk:
-----------------------
#ifdef DEBUG
#define dprintk(args...)  \
if (read_cp0_status() & CP0_STATUS_IE_MASK) { /* interrupts was enabled */ \
   write_cp0_status(read_cp0_status() & ~CP0_STATUS_IE_MASK); \
        printk("%s:%d %s: ", __FILE__, __LINE__, __func__);  \
        printk(args); \
   write_cp0_status(read_cp0_status() | CP0_STATUS_IE_MASK); \
} else {  /* interrupts was disabled */ \
        printk("%s:%d %s: ", __FILE__, __LINE__, __func__);  \
        printk(args); \
}
#else
#define dprintk(unused...) ((void) 0)
#endif

mmprintk:
----------------------------------
#ifdef MEMDEBUG
#define mmprintk(args...)  \
        printk(args);
#else

 // TODO vymyslet neco lepsiho...
static void nop(void * nop, ...) {}

#define mmprintk(unused...) (nop(NULL, unused))
#endif

Jak jste si ale asi vsimli, musel jsem tam pridat takovou malou
prasarnicku. protoze pokud v nejake fci, ktera slouzi jen pro vypis,
nepouziju zadnou promennou jinde nez ve volani mmprintk, tak mi
kompilator nahlasi unused variable (dprintk ma stejny problem)
Ja jsem to vyresil tou fci nop, ale urcite to jde nejak lip.
Poradte prosim...
Jarda

Other related posts:

  • » [osy] dprintk - Jaroslav Keznikl