![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux驱动模型
weixin_38725917
这个作者很懒,什么都没留下…
展开
-
Linux中 probe函数何时调用的
所以的驱动教程上都说:只有设备和驱动的名字匹配,BUS就会调用驱动的probe函数,但是有时我们要看看probe函数里面到底做了什么,还有传递给probe函数的参数我们就不知道在哪定义(反正不是我们在驱动里定义的),如果不知道传递进的参数,去看probe函数总是感觉不求甚解的样子(你对系统不求甚解,系统也会对你的要求不求甚解的),心里对自己写出的程序没底,保不齐那天来个bug,就悲剧了。 ...转载 2019-01-21 09:47:38 · 3274 阅读 · 2 评论 -
Linux中的File_operations结构体
struct module *owner 第一个 file_operations 成员根本不是一个操作; 它是一个指向拥有这个结构的模块的指针. 这个成员用来在它的操作还在被使用时阻止模块被卸载. 几乎所有时间中, 它被简单初始化为 THIS_MODULE, 一个在 <linux/module.h> 中定义的宏.这个宏比较复杂,在进行简单学习操作的时候,一般初始化为THIS_M...转载 2019-01-16 09:12:55 · 148 阅读 · 0 评论 -
Linux驱动头文件说明
#include <linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件。#include <asm/***.h> 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。#include <mach/***.h> 是在linux-2.6.29/arch/arm/mach-s3c241...转载 2019-01-16 09:25:14 · 125 阅读 · 0 评论 -
Linux中的kill_async与fasync_helper函数使用
fasync是为了使驱动的读写和应用程序的读写分开,使得应用程序可以在驱动读写的时候去做别的事。应用程序通过fcntl给自己的SIGIO信号安装自己的响应函数,驱动通过kill_fasync(&async, SIGIO, POLL_IN); 发SIGIO信号给应用程序,应用程序就调用自己安装的响应函数去处理。fasync_helper作用就是初始化fasync,包括分配内存和设...转载 2019-01-16 14:08:53 · 187 阅读 · 0 评论