dev_err()函数定义

Cod*_*zan 3 linux kernel linux-device-driver linux-kernel

我可以看到这样dev_*()的函数系列dev_err()作为原型给出include/linux/device.h,但没有找到它的定义.我曾访问像lxr.free-electron这样的网站,但没有成功.在linux内核的源代码中使用过的标签,即使失败了.

我想要找到的是如何 dev_err(const struct device *dev, const char *fmt, ...)能够获取设备信息,如pci总线等,​​只需const struct device *dev将参数作为参数打印在日志中.

Tsy*_*rev 8

设备的描述是在函数中构造的create_syslog_header,在drivers/base/core.c中定义.该函数只从struct device对象中提取一些字段,然后通过snprintf()字符串将它们发送出去.

该函数dev_err通过define_dev_printk_level宏在同一个文件(drivers/base/core.c)中实现.