文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 对Linux 设备驱动模型的一些理解
侵权投诉

对Linux 设备驱动模型的一些理解

对Linux设备驱动模型的一些理解

作者:张俊岭

EMAIL: sprite_zjl@sina.com; jlzhang@tangrae.com.cn

QQ: 251450387

日期:2009-9-15

说明:对于Linux设备驱动工程师来说,掌握设备驱动模型非常重要。本文档基于2.6.30 内核,记录了一些我对Linux设备驱动模型的一些总结和理解,可能有错误和不当之处,欢迎交流和指正。

1 底层机制

Linux的设备驱动模型的底层机制主要包括:kobject,kobj_type,kset等几个结构。这几个结构的定义在include/linux/kobject.h中。

1.1 kobject

kobject代表设备驱动模型中一个基本对象,类似于MFC中最顶层的基类CObject。每个kobject都对应于sysfs中的一个目录。上层结构例如device,device_driver,bus_type都嵌入了一个kobject,这相当于面向对象程序设计语言中的继承机制。kobject的定义如下: struct kobject {

const char *name; /* 名称 */

struct list_head entry; /* 用于链入所属kset的链表 */

struct kobject *parent; /* 父kobject */

struct kset *kset; /* 所属kset */

struct kobj_type *ktype; /* 所属ktype */

struct sysfs_dirent *sd; /* sysfs中的目录项 */

struct kref kref; /* 生命周期(引用计数)管理 */

unsigned int state_initialized:1; /* 标记:初始化 */

unsigned int state_in_sysfs:1; /* 标记:在sysfs中 */

unsigned int state_add_uevent_sent:1; /* 标记:已发出KOBJ_ADD uevent */

unsigned int state_remove_uevent_sent:1; /* 标记:已发出KOBJ_REMOVE uevent */ unsigned int uevent_suppress:1; /* 标记:禁止发出uevent */

};

kobject的基本操作:

/* 设置名称 */

int kobject_set_name(struct kobject *kobj, const char *name, ...) /* 初始化 */

void kobject_init(struct kobject *kobj, struct kobj_type *ktype);

/* 添加 */

int kobject_add(struct kobject *kobj,struct kobject *parent, const char *fmt, ...);

第1页

热门文档

相关文档

  • 对Linux 设备驱动模型的一些理解

    对Linux 设备驱动模型的一些理解_IT/计算机_专业资料。对 Linux 设备驱动模型的一些理解对Linux 设备驱动模型的一些理解 对 Linux 设备驱动模型的一些理解作者:张...

  • Linux设备驱动模型之上层容器

    归根结底,没仔细阅读过Linux设备驱动模型的核心代码,我想只要理解了这部分内容,上层的一些总线驱动比如i2c、spi、platform等等都将会变得简单。于是,狠下心来好好研究...

  • Linux设备驱动模型摘抄

    Linux 设备驱动模型摘抄(1) Linux 统一设备模型 简介 Linux2.6 内核提供了新的设备模型, 目的是为了对计算机上的所有设备进行统一地表示 和操作, 包括设备本身和...

  • linux杂项设备驱动模型

    linux杂项设备驱动模型_计算机软件及应用_IT/计算机_专业资料。linux下,杂项设备驱动小结Linux 驱动中把无法归类的五花八门的设备定义为混杂设备(用 miscdevice 结构...

  • 第2章Linux设备驱动模型

    第2章Linux设备驱动模型_计算机软件及应用_IT/计算机_专业资料。Linux驱动编程 Linux驱动编程之驱动模型 Linux的驱动模型 ? 驱动作用– 在硬件接口与应用软件之间...

  • LINUX设备驱动之设备模型

    LINUX设备驱动之设备模型_计算机软件及应用_IT/计算机_专业资料。linux,linux嵌入式,2410-S实验指导书,Inode的关系,设备模型设备驱动之设备模型一---kobject LINUX...

  • Linux设备模型

    这就是最初建立 Linux 设备模型的目的。 当然,Linux 设备模型给我们带来的便利远不止如此。既然已经建立了一个组织所有设备和驱动的树状结构,用户就可以通过 这棵...

  • linux设备模型理解

    linux设备模型理解_计算机软件及应用_IT/计算机_专业资料。LINUX 设备模型理解 ... 设备属性 struct driver attribute * drv_attrs; 驱动程序属性 int (*match)...

  • Linux设备驱动的class(类)的理解(以timed_output为基础)

    Linux 设备驱动的 class(类)的理解(以 timed_output 为基础) 一、 前言 前天写了关于安卓震动系统的驱动开发全过程, 其中用到了 timed_output 这个驱动模型, ...

  • Linux设备驱动编程模型之上层容器篇

    Linux设备驱动编程模型之上层容器篇_计算机软件及应用_IT/计算机_专业资料。...对设备驱动模型中核心的数据结构做了总结, 对他们的操作就不难理解 了,可以猜...

站点地图 | 文档上传 | 侵权投诉 | 手机版
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.guandang.net All Rights Reserved.  -  email