
linux 驱动
goodnight1994
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux 驱动probe 被调用流程分析
前言: 对于linux platform device 和driver,一个driver可对应多个device,通过名字进行匹配,调用驱动里边实现的probe函数,本文以一个i2c设备为例,从驱动的i2c_add_driver()开始看源码以及用比较笨的打log的方式分析如何一步一步调用的probe()函数。分析的代码基于linux kernel msm-4.9。/************...原创 2018-08-26 16:53:13 · 15645 阅读 · 7 评论 -
linux device tree 摘要
1, dtsi与dts的关系dtsi相当于c语言的.h头文件,放置soc共有的内容和各machine共同的内容,一个.dts文件对应一个ARM的machine,可以include 需要的dtsi文件。并且dtsi也可以include其他的dtsi文件(好比如c语言的.h也可以include其他.h)。2, compatible 属性在dts 里边的每个设备都有一个compati...原创 2018-09-09 16:01:14 · 1452 阅读 · 0 评论 -
linux input event简单使用
最近需要在kernel 的驱动里边将事件传到用户空间,打算用input子系统做,用户空间开一个线程用epoll方式来读取数据,记录一下如何快速简单使用input子系统上报事件。//定义一个input_dev 类型结构体变量static struct input_dev* test_input_dev = NULL;//创建并初始化 test_input_dev = input...原创 2018-11-02 07:52:54 · 5785 阅读 · 0 评论 -
linux kerner 获取当前时间和时间差
struct timeval current_time;struct timeval last_time;unsigned long distance_time = 0;do_gettimeofday(&last_time);//do somethingdo_gettimeofday(&current_time);distance_time...原创 2019-01-26 21:25:04 · 900 阅读 · 0 评论 -
linux kernel workqueue 简单使用
struct work_struct work;struct workqueue_struct* work_wq;static void run_work(struct work_struct* work){ //do something}//创建工作队列work_wq = create_singlethread_workque...原创 2019-01-26 23:35:43 · 480 阅读 · 0 评论 -
linux kernel prink 打印格式
int %d or %x unsigned int %u or %x long %ld or %lx unsigned long %lu or %lx long long ...原创 2019-01-28 15:03:43 · 750 阅读 · 0 评论