作者:彭东林

在阅读kernel代码的时候,总是看到有很多驱动都在第一行定义pr_fmt,闲来没事,分析了一下, 发现,确实挺方便的。下面记录分享一下。

我们知道,在驱动中可以使用dev_dbg来输出log,在输出的log中会有一些额外的信息,如所属的device的name。

而pr_fmt就可以实现这个目的,先看一个用法(drivers/i2c/i2c-core.c):

#define pr_fmt(fmt) "i2c-core: " fmt#include#include#include... ...

但是在这个文件中并没有看到pr_fmt被使用。然后,猜测应该是被哪个宏使用了,所以我在include下搜索pr_fmt发现:

include/linux/printk.h:271: printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__)

include/linux/printk.h:273: printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)

include/linux/printk.h:275: printk(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__)

include/linux/printk.h:277: printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)

include/linux/printk.h:279: printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)

include/linux/printk.h:282: printk(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS_

fmt函数linux,Linux驱动开发——pr_fmt的用法相关推荐

  1. Linux驱动开发--pr_fmt的用法

    在阅读kernel代码的时候,总是看到有很多驱动都在第一行定义pr_fmt,闲来没事,分析了一下, 发现,确实挺方便的.下面记录分享一下. 我们知道,在驱动中可以使用dev_dbg来输出log,在输出 ...

  2. Linux字符驱动开发学习总结

    linux驱动编写(虚拟字符设备编写) 昨天我们说了一些简单模块编写方法,但是终归没有涉及到设备的编写内容,今天我们就可以了解一下相关方面的内容,并且用一个实例来说明在linux上面设备是如何编写的. ...

  3. Linux设备驱动开发基础

    1.驱动概述和开发环境搭建 1.1驱动设备的作用 对设备驱动最通俗的解释就是"驱动硬件设备行动".驱动与底层硬件直接打交道,按照硬件设备的具体工作方式,读写设备的寄存器,完成设备的 ...

  4. linux设备驱动总结,《Linux设备驱动开发详解(第3版)》海量更新总结

    本博实时更新<Linux设备驱动开发详解(第3版)>的最新进展. 2015.2.26 几乎完成初稿. [F]是修正或升级:[N]是新增知识点:[D]是删除的内容 第1章 <Linux ...

  5. linux设备驱动开发详解 第三版,《Linux设备驱动开发详解(第3版)》进展同步更新...

    2014.8.25 目前初步完成2-11章以及第22章 <Linux设备驱动的调试>,相对于第2版,这几章主要的变更. 本博实时更新<Linux设备驱动开发详解(第3版)>的最 ...

  6. 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)进展同步更新

    本博实时更新<Linux设备驱动开发详解(第3版)>的最新进展. 目前已经完成稿件. 2015年8月9日,china-pub开始上线预售: http://product.china-pub ...

  7. Linux设备驱动开发概述

    作者:宋宝华 email:author@linuxdriver.cn 在过去这些年,Linux已经成功应用于服务器和桌面系统,而近年来,随着嵌入式系统应用的持续升温,Linux也开始广泛应用于嵌入式领 ...

  8. Linux 设备驱动开发思想 —— 驱动分层与驱动分离

    前面我们学习I2C.USB.SD驱动时,有没有发现一个共性,就是在驱动开发时,每个驱动都分层三部分,由上到下分别是: 1.XXX 设备驱动 2.XXX 核心层 3.XXX 主机控制器驱动 而需要我们编 ...

  9. linux cached释放_正点原子Linux第四十一章嵌入式Linux LED驱动开发实验

    1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 第四十一章嵌入式Linux LED驱动开发实验 上一章我 ...

最新文章

  1. 使用php与mysql构建我们的网站
  2. js父页面和子页面之间传值
  3. 变化很大!2021年THE世界大学排名出炉,这些中国高校表现出色!
  4. 测试:脱离VS2010使用自动化测试时出现 6DA215C2-D80D-42F2-A514-B44A16DCBAAA 错误
  5. 攻击 | 破解windows7密码(利用PE系统破解XP密码)
  6. GIS专家:云GIS带来的最大影响是体系架构
  7. 不是程序员,代码也不能太丑!python官方书写规范:任何人都该了解的 pep8
  8. 如何让excel说话,vba的speak功能
  9. 糖友控糖是在控什么糖呢
  10. 大佬云集的在线少儿英语市场,谁才是那匹冲出重围的黑马?
  11. uniapp 中如何使用echart_uni-app中使用Echarts绘画图表
  12. 一般云服务器支持多少并发,一般云服务器支持是多大并发?
  13. c语言输出三门课程平均值,实验作业一 - 先奕宣202005018110的个人空间 - OSCHINA - 中文开源技术交流社区...
  14. chatbot_Chatbot开发简介
  15. 前端展示office
  16. 清华毕业生都去哪儿了
  17. Validated、Valid 、Validator,他们的区别你知道几个
  18. sai球体绘制和上色教程
  19. 武汉天喻信息产业股份有限公司牵手广州润普
  20. final 、finally的区别

热门文章

  1. 一招教你免费提取PDF中的文字
  2. 小步创想 产品经理 春招面经
  3. 微信小程序 导出Excel 文件
  4. 禁止手机浏览器浏览网页弹出跳转百度弹框
  5. opencv计算图像亮度调节_【opencv学习笔记七】访问图像中的像素与图像亮度对比度调整...
  6. 计算机考核方式,计算机基础考核方式的探索研究
  7. 最新最好的汉王免费版本(辨识度高、识别率高)
  8. docker2048游戏
  9. ToFNest: Efficient normal estimation for ToF Depth cameras
  10. Map和对象相互转换