linux 内核如何定义自己的打印函数

自己在做watchdog 驱动时使用的简单例子,分享给大家:

定义:

#define WDT_INFO(fmt, ...) \
	pr_info("mero_wdt: %s: " fmt, __func__, ##__VA_ARGS__)
#define WDT_ERROR(fmt, ...) \
	pr_err("mero_wdt: %s: " fmt, __func__, ##__VA_ARGS__)
#define WDT_DEBUG(fmt, ...) \
	pr_debug("mero_wdt: %s: " fmt, __func__, ##__VA_ARGS__)

 使用:

static void
__wdt_stop_nolock(struct mero_watchdog_device *mw)
{
	u32 wtcon, wtclr;
	
	wtcon = ioread32(mw->wdt_base + WDT_WTCON);
	WDT_ERROR("WDT_WTCON ---->  0x%x", wtcon); 

	wtcon = ioread32(mw->wdt_base + WDT_WTCON);
	wtcon &= ~(WDT_CON_ENABLE | WDT_CON_RSTEN);

	WDT_ERROR("0x%x ----> WDT_WTCON", wtcon); 
	iowrite32(wtcon, mw->wdt_base + WDT_WTCON);
	wtcon = ioread32(mw->wdt_base + WDT_WTCON);
	WDT_ERROR("WDT_WTCON ---->  0x%x", wtcon); 
	
	WDT_ERROR("0x12345678 ----> WDT_WTCLRIN");
	iowrite32(0x12345678, mw->wdt_base + WDT_WTCLRINT);
	wtclr = ioread32(mw->wdt_base + WDT_WTCLRINT);
	WDT_ERROR("WDT_WTCLRINT ----> 0x%x", wtclr);
	
	WDT_ERROR("0x87654321 ----> WDT_WTCLRIN");
	iowrite32(0x87654321, mw->wdt_base + WDT_WTCLRINT);
	wtclr = ioread32(mw->wdt_base + WDT_WTCLRINT);
	WDT_ERROR("WDT_WTCLRINT ----> 0x%x", wtclr);

	wtcon = ioread32(mw->wdt_base + WDT_WTCON);
	WDT_ERROR("WDT_WTCON ---->  0x%x", wtcon); 

}

输出:


[  205.619600] mero_wdt: wdt_stop: wdt_stop is called
[  205.620384] mero_wdt: __wdt_stop_nolock: WDT_WTCON ---->  0x9
[  205.621061] mero_wdt: __wdt_stop_nolock: 0x0 ----> WDT_WTCON
[  205.621874] mero_wdt: __wdt_stop_nolock: WDT_WTCON ---->  0x8
[  205.622674] mero_wdt: __wdt_stop_nolock: 0x12345678 ----> WDT_WTCLRIN
[  205.623487] mero_wdt: __wdt_stop_nolock: WDT_WTCLRINT ----> 0x12345678
[  205.624396] mero_wdt: __wdt_stop_nolock: 0x87654321 ----> WDT_WTCLRIN
[  205.625319] mero_wdt: __wdt_stop_nolock: WDT_WTCLRINT ----> 0x87654321
[  205.626229] mero_wdt: __wdt_stop_nolock: WDT_WTCON ---->  0x0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值