dev_err()函数定义

时间:2016-10-28 12:03:15

标签: linux linux-kernel kernel linux-device-driver

我可以看到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作为参数打印在日志中。

1 个答案:

答案 0 :(得分:7)

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

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