kernel
文章平均质量分 73
selfmockery
这个作者很懒,什么都没留下…
展开
-
内核通知链
大部分内核模块都是独立的,但有时某个模块对其他模块的事件感兴趣或者需要通知其他模块时,就需要用到内核通知链。 内核通知链只能用在内核各模块之间,无法用在内核与用户通信。 从原理来说,内核通知链就是个函数链表,链表上的每个节点都注册一个对应函数,当事件发生时,对应链表上的每个节点函数将被调用。从结构来说,链表有个通知方和接收方,通知时执行函数由被通知方注册执行。 内核通知链主要有4种:原创 2016-05-21 08:04:59 · 445 阅读 · 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 · 4365 阅读 · 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 · 397 阅读 · 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 · 958 阅读 · 0 评论