求高手驱动程序调试printk的使用问题??
今天在看DM9000网卡驱动程序时候,有下面一段驱动调试代码··看不懂啊··
#define dm9000_dbg(db, lev, msg...) do {		\
	if ((lev) < CONFIG_DM9000_DEBUGLEVEL &&		\
	    (lev) < db->debug_level) {			\
		dev_dbg(db->dev, msg);			\
	}						\
} while (0)
------解决方案--------------------很明显啊,这是分级别打印debug语句呀。lev如果小于CONFIG_DM9000_DEBUGLEVEL 宏,并且小于db->debug_level,那就打印。lev应该是用户当前设定的debug级别吧?
------解决方案--------------------对啊!你看看lev是如何取值的。while(0)的目的是只执行一次