一、uevent机制 在分析之前,我们首先要知道uevent作用是什么。在此我们先来看一个uevent机制的框架图: 该图片来自:Linux设备模型(3)_Uevent 通过图片我们可以确定uevent的作用:设备产生上报事件时会触发uevent接口,uevent则通过netlink和kmod这两种 ...
分类:
Web程序 时间:
2019-08-06 14:11:55
阅读次数:
175
00. 目录 [TOC] 01. INPUT_RECORD结构 描述控制台输入缓冲区中的输入事件。可以使用 " ReadConsoleInput " 或 " PeekConsoleInput " 函数从输入缓冲区读取这些记录,也可以使用 " WriteConsoleInput " 函数将这些记录写入 ...
分类:
编程语言 时间:
2019-05-25 22:55:03
阅读次数:
316
1. switch_class简介 实现:drivers/switch/switch_class.c 典型应用:drivers/switch/switch_gpio.c switch_class用于在/sys/class/switch提供name和state两个属性文件,在state改变时通过uev ...
分类:
其他好文 时间:
2019-05-21 13:24:53
阅读次数:
138
title: hotplug/mdev机制 date: 2019/1/9 19:35:14 toc: true hotplug/mdev机制 [TOC] 框架 我们以前创建设备的时候,使用 来自动创建设备,是利用了 根据我们的提供的信息来创建设备节点 kobject_uevent_env 我们使用 ...
分类:
其他好文 时间:
2019-01-09 20:20:00
阅读次数:
213
1. usb_alloc_dev中的 bus_type 中指定了匹配函数,和uevent中的环境参数。 >不同的bus_type的匹配函数可能是不同的,uevent的环境变量参数也可能是不同的。 2. 推荐《LINUX内核源代码情景分析》,里面讲USB控制器源代码讲解的非常清晰。 3.当USB设备插 ...
分类:
其他好文 时间:
2018-12-31 22:37:41
阅读次数:
339
第一部分:设备驱动模型1、总线:bus_type结构体,关键函数是match函数和uevent函数;总线将设备和驱动绑定,在系统每注册一个设备的时候,会寻找与之匹配的驱动,相反,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。 2、设备:struct device结构体,硬件设备 ...
分类:
系统相关 时间:
2018-12-16 18:05:33
阅读次数:
232
上报设备 1. headset :听筒mic 2. headphone:听筒没有mic 3. Lineout:声音输出没有mic 上报方式 1. 输入子系统: 可上报输入事件 上报开关事件 2. switch state:uevent 编写输入系统驱动 1. 分配input_dev; 2. 设置: ...
分类:
其他好文 时间:
2018-09-26 01:15:05
阅读次数:
168
采用GPT分区,只要一个根分区无swap分区,系统是64位的,最终采用systemd(gentoo默认是openrc),安装简洁版的X11和简洁版的KDE,注意是在vmware上安装的,不是实体机。。。全部安装可能要十几个小时,其中编译和安装软件耗时大 下载gentoo 1) 下载地址:https: ...
分类:
系统相关 时间:
2018-06-28 01:00:42
阅读次数:
856
class_device_create class_device_register class_device_add kobject_uevent(&class_dev->kobj, KOBJ_ADD); kobject_uevent_env(kobj, action, NULL); // acti ...
分类:
其他好文 时间:
2018-04-16 22:20:09
阅读次数:
209
1.之前我们学的都是字符设备驱动,先来回忆一下 字符设备驱动: 当我们的应用层读写(read()/write())字符设备驱动时,是按字节/字符来读写数据的,期间没有任何缓存区,因为数据量小,不能随机读取数据,例如:按键、LED、鼠标、键盘等 2.接下来本节开始学习块设备驱动 块设备: 块设备是i/ ...
分类:
系统相关 时间:
2018-03-03 19:26:30
阅读次数:
211