
linux内核
chaiyudong2008
这个作者很懒,什么都没留下…
展开
-
linux设备驱动模型之uevent
Uevent的机制是比较简单的,设备模型中任何设备有事件需要上报时,会触发Uevent提供的接口。Uevent模块准备好上报事件的格式后,可以通过两个途径把事件上报到用户空间:一种是通过kmod模块,直接调用用户空间的可执行文件;另一种是通过netlink通信机制,将事件从内核空间传递给用户空间。转载 2017-08-10 11:50:23 · 527 阅读 · 0 评论 -
linux设备驱动模型之class
本节要介绍的class,是设备类,完全是抽象出来的概念,没有对应的实体。所谓设备类,是指提供的用户接口相似的一类设备的集合,常见的设备类的有block、tty、input、usb等等。转载 2017-08-10 11:26:23 · 3043 阅读 · 0 评论 -
linux设备驱动模型之device-driver
本节就来详细分析下,在设备注册到总线上时,总线是如何为其寻找对应的驱动的;在驱动注册到总线上时,总线又是如何为其寻找对应的设备的。转载 2017-08-10 11:21:20 · 472 阅读 · 0 评论 -
linux设备驱动模型之bus
前面我们分析了设备驱动模型中的device和driver,device和driver本来是不相关的东西,只因为bus的存在,才被联系到了一起。本节就来看看设备驱动模型中起枢纽作用的bus。本节的头文件在include/Linux/device.h和drivers/base/base.h,实现代码主要在bus.c中。因为在bus中有很多代码时为了device找到driver或者driver找到dev转载 2017-08-10 11:16:40 · 314 阅读 · 0 评论 -
linux设备驱动模型之driver
struct device_driver就是模型定义的通用驱动结构。name是驱动名称,但这个name也只是在静态定义的初始名称,实际使用的名称还是由kobject中保管的。bus执行驱动所在的总线,owner是驱动所在的模块,还有一个所在模块名称mod_name,suppress_bind_attrs定义是否允许驱动通过sysfs决定挂载还是卸载设备。下面是一系列函数指针,probe是在驱动刚与设备挂接时调用的,remove是在设备卸载时调用的,shutdown是在设备关闭时调用的(说实话我现在还不知道r转载 2017-08-10 10:48:51 · 1174 阅读 · 0 评论 -
linux设备驱动模型之device
系统中任一设备都有一个device对象描述,本节主要讨论device在内核中的表示及操作。转载 2017-08-09 17:53:35 · 1301 阅读 · 0 评论 -
devtmpfs文件系统创建设备节点
devtmpfs概述1.devtmpfs 的功用是在 Linux 核心 启动早期建立一个初步的 /dev,令一般启动程序不用等待 udev,缩短 GNU/Linux 的开机时间。2.重要解释Devtmpfs lets the kernel create a tmpfs very early at kernel initialization, be转载 2017-08-09 17:38:53 · 1850 阅读 · 0 评论 -
kobject,kset,子系统层次结构 、platform_device platform_driver
为什么两个name的名字必须匹配才能实现device和driver的绑定?(1)在内核初始化时kernel_init()->do_basic_setup()->driver_init()->platform_bus_init()初始化platform_bus(虚拟总线);(2)设备注册的时候platform_device_register()->platform_device_ad转载 2017-08-09 17:01:13 · 398 阅读 · 0 评论