我可以看到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
作为参数打印在日志中。
答案 0 :(得分:7)
设备描述是在drivers/base/core.c中定义的函数create_syslog_header
中构建的。该函数只从struct device
对象中提取一些字段,然后通过snprintf()
将它们发送到字符串中。
函数dev_err
是通过define_dev_printk_level
宏在同一个文件(drivers/base/core.c
)中实现的。