
Linux驱动开发
阙hehe
这个作者很懒,什么都没留下…
展开
-
SEAndroid 相关知识
本文图片和内容摘自罗升阳的博客《SEAndroid安全机制框架分析》如需了解详细内容,请访问原博客。1. 整体框架SEAndroid安全机制框架SEAndroid安全机制包含有内核空间和用户空间两部分支持:在内核空间,主要涉及到一个称为SELinux LSM的模块在用户空间,涉及到Security Context、Security Server和SEAndroid Poli...转载 2019-12-02 16:24:14 · 239 阅读 · 0 评论 -
多点触控(MT)协议
Copyright: |copy| 2009-2010 Henrik Rydberg rydberg@euromail.se此文章为个人翻译英文文档的产物,仅当做个人笔记使用,不喜勿喷!!对于翻译内容有强迫症的读者请勿阅读此文档!!阅读过程中如有不恰当之处欢迎交流指正~~如需转载,请注明出处!介绍为了能够使用多点触控和多用户设备的全部功能,需要一种从各类触控设备报告详细数据的方法,例如...原创 2019-11-13 19:23:59 · 4723 阅读 · 0 评论 -
device_init_wakeup()
device_init_wakeup()的内容如下:static inline int device_init_wakeup(struct device *dev, bool val){ device_set_wakeup_capable(dev, val); //设置设备能不能被唤醒 device_set_wakeup_enable(dev, val); //设置...转载 2019-09-16 20:18:37 · 3520 阅读 · 0 评论 -
DEVICE_ATTR使用
1. 作用使用DEVICE_ATTR往sysfs中为device添加“属性文件”,并对该文件添加相关操作,从而实现运行过程中动态控制device。2. 一些定义首先看一下与DEVICE_ATTR相关的宏定义,定义位置在kernel/include/linux/device.h中。#define DEVICE_ATTR(_name, _mode, _show, _store) \ ...原创 2019-09-20 20:09:14 · 1171 阅读 · 0 评论 -
可变参数函数
可变参数相关的宏首先先了解几个宏:typedef __gnuc_va_list va_list;#define va_start(v,l) __builtin_va_start(v,l)#define va_end(v) __builtin_va_end(v)#define va_arg(v,l) __builtin_va_arg(v,l)这几个宏可以在stdarg.h中找到。va是...原创 2019-09-27 17:36:05 · 609 阅读 · 0 评论 -
Linux中的module_init与module_exit
1. module_init与module_exit宏module_init与module_exit宏定义在include/linux/module.h文件中,部分代码如下:#ifndef MODULE/** * module_init() - driver initialization entry point * @x: function to be run at kernel boo...原创 2019-10-10 12:18:38 · 2169 阅读 · 0 评论 -
Linux输入事件编码
Linux中的输入协议采用一系列的类型和编码向用户空间表示输入设备的值。单一的硬件事件可以产生多个输入事件,每个输入事件包含新的单个数据项值。使用一个特殊的事件类型EV_SYNC将输入事件分成不同的数据包,数据包中输入数据的改变在时间上是在同一时刻出现的。在下文中,术语“事件”是指单个输入事件,包括类型,编码和值。输入协议是一种状态性的协议,只有在事件编码的值改变之后才需要发送事件。尽管如此,...原创 2019-10-10 14:12:58 · 2017 阅读 · 0 评论 -
常用命令
le32_to_cpu() 将小端存储数据转为CPU适配数据cpu_to_le32() 将数据转换为小端存储be32_to_cpu() 将大端存储数据转为CPU适配数据cpu_to_be32() 将数据转换为大端存储作用:在一些对于数据的字节顺序有要求的地方,不要去假设字节序,即不要去默认CPU采用的是大端存储或者小端存储,而是采用上述的转换函数进行转换。...原创 2019-10-10 14:17:35 · 287 阅读 · 0 评论 -
notifier通知链机制
1. 目的Linux内核中各个子系统相互依赖,当其中某个子系统状态发生改变时,就必须使用一定的机制告知使用其服务的其他子系统,以便其他子系统采取相应的措施。为满足这样的需求,内核实现了事件通知链机制(notificationchain)。2. 范围通知链只能用在各个子系统之间,而不能在内核和用户空间进行事件的通知。3. 代码位置组成内核的核心系统代码均位于kernel目录下,通知链表位于...原创 2019-10-11 12:04:05 · 1031 阅读 · 0 评论