
Linux driver model
cjok376240497
这个作者很懒,什么都没留下…
展开
-
Linux驱动之设备模型(3)
4.小结 4.1 kobject, kset和ktype kobject, kset和ktype就三个结构体,但是却很容易让人混淆,是由于它们内部相互交织。 l kobject,是设备模型中的基本对象,包含了引用计数,父子关系,目录项等,通常会嵌入到其它的数据结构中,使其也具有kobject的特性; l ktype,定义了一些kobjct相关的默认特性:析构函数,sysfs操作以及默原创 2011-11-30 20:22:14 · 2314 阅读 · 0 评论 -
Linux驱动之设备模型(5)-设备
1. 设备,LDM中用device结构体来描述设备 struct device { /* 父设备,通常是某种总线或者是宿主设备 */ struct device *parent; /* 私有数据指针:子设备链表,父设备链表节点,驱动程序链表节点,总线链表节点 */ struct device_private *p;原创 2011-12-02 22:03:23 · 2610 阅读 · 2 评论 -
Linux驱动之设备模型(6)-驱动
1. 设备驱动,在Linux设备模型中,设备驱动用device_driver结构来表示 struct device_driver { const char *name; /*名字*/ struct bus_type *bus; /* 附属的总线 */ s原创 2011-12-02 22:05:06 · 2008 阅读 · 0 评论 -
Linux驱动之设备模型(1)
1.Overview l 设备模型是2.6内核引入的新特性,提供了一个独立的机制专门来表示设备,并描述其在系统中的拓扑结构,使得系统具有以下优点: n 代码重复最小化 n 提供诸如引用计数这样的统一机制 n 可以列举系统中所有的设备,观察它们的状态,并查看它们连接的总线 n 可以将系统中的全部设备结构以树的形式完整、有效地展现出来 n 可以将设备和其对应的驱动联系起来,反之原创 2011-11-30 20:10:20 · 3506 阅读 · 1 评论 -
Linux驱动之设备模型(4)-总线
1 总线 总线,是处理器与一个或者多个设备之间的通道。在Linux设备模型中,所有的设备都通过总线相连,甚至是那些内部的虚拟"platform"总线。用bus_type结构来描述。 struct bus_type { const char *name; /* 总线名 */ const char *dev_name; struct device原创 2011-12-02 22:01:27 · 2827 阅读 · 1 评论 -
Linux驱动之设备模型(2)
3.ktype& Kset 3.1 ktype l 用来描述一组kobject所具有的共同特性,用structkobj_type结构体来表示 struct kobj_type{ void (*release)(struct kobject *kobj); const struct sysfs_ops *sysfs_ops; st原创 2011-11-30 20:12:49 · 2920 阅读 · 0 评论 -
Linux驱动之设备模型(9)-platform
10.Platform 10.1 overview l 一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、IIC、SPI等的设备而言,这自然不是问题,但是在嵌入式系统中,SoC系统中集成的独立的外设控制器,挂接在SoC内存空间的外设(IIC,RTC,SPI,LCD,看门狗)等却不依附于此类总线。基于这一背景,Linux发明了一种虚拟的总线,称为plat原创 2011-12-03 13:49:54 · 2602 阅读 · 3 评论 -
Linux驱动之设备模型(7)
8.类 8.1 class l Class是对设备按照功能进行的分类,这样做是为了给用户空间提供一个比较友好的界面。Class也是一个kset,对应于/sys/class下的一个目录 int __initclasses_init(void) { /* 对应/sys/class目录 */ class_kset =kset_create_and_ad原创 2011-12-02 22:09:27 · 3445 阅读 · 0 评论 -
Linux驱动之设备模型(8)
9.小结 9.1 总线,设备,驱动和类之间的关系 l 总线相当于一个容器,是device和device_driver的管理机构,它包含了一个device集合(devices_kset)和一个驱动集合(drivers_kset),分别表示挂依附于此总线的所有设备和所有驱动。 l 驱动依附在总线上,包含了一个设备链(klist_devices),用来遍历总线上的设备,驱动还包含了一个bus原创 2011-12-02 22:12:23 · 2617 阅读 · 0 评论 -
ARM Linux 3.x的设备树(Device Tree)
宋宝华 Barry Song 1. ARM Device Tree起源 Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/p转载 2014-01-19 20:21:01 · 1475 阅读 · 0 评论