![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kernel
文章平均质量分 73
selfmockery
这个作者很懒,什么都没留下…
展开
-
内核通知链
大部分内核模块都是独立的,但有时某个模块对其他模块的事件感兴趣或者需要通知其他模块时,就需要用到内核通知链。内核通知链只能用在内核各模块之间,无法用在内核与用户通信。从原理来说,内核通知链就是个函数链表,链表上的每个节点都注册一个对应函数,当事件发生时,对应链表上的每个节点函数将被调用。从结构来说,链表有个通知方和接收方,通知时执行函数由被通知方注册执行。内核通知链主要有4种:原创 2016-05-21 08:04:59 · 454 阅读 · 0 评论 -
高通I2C control及gpio模拟添加I2C设备
高通810,要用camera专用的CCI I2C(GPIO19,GPIO20)接口连外设,查看CCI I2C的调用,非常复杂,涉及到camera的子设备什么,不想去研究用法。GOIO模拟I2c:内核已经自带i2c-gpio.c支持模拟GPIO,所要做的就是配置。打开内核的i2c-gpio功能,在defconfig文件中打开CONFIG_I2C_GPIO=y;配置I2C GPIO及外原创 2016-08-17 11:13:37 · 4404 阅读 · 0 评论 -
LINUX时间系统
内核函数:#include struct timeval {__kernel_time_t tv_sec;__kernel_susecond_t tv_usec;}void do_gettimeofday(struct timeval *tv)example:struct timeval start, end;do_gettimeofday(原创 2016-09-23 16:35:13 · 402 阅读 · 0 评论 -
获取misc device/cdev 设备private data
在driver module开发过程中,probe时定义一个device/driver相关的数据结构,其它函数中需要用到这个结构,比如write/read、mmap等操作。MISCDEVICE:在misc device open时,将miscdevice设备赋值给file->private_data,file作为write/read、mmap等的参数,可以得到miscdevice的指针。原创 2017-02-02 15:45:37 · 976 阅读 · 0 评论