linux设备模型中ktype的用法
http://tech.ddvip.com 2008年09月09日 社区交流
本文详细介绍linux设备模型中ktype的用法
最近在驱动开发这块接触的比较多,以前曾写过一篇《利用udev、sys动态创建设备结点》,在那篇文章里曾讲过,设备驱动中主要依靠下面两个功能完成的:
1、在/sys/class下创建farsight_class类
my_class =class_create(THIS_MODULE, "farsight_class");
2、在farsight_class中创建新的class设备
class_device_create(my_class,NULL, devno, NULL,"farsight_dev");
然后会在/sys中出现如图的文件结构:

其中”dev”和uevent都是“属性”,可以读取dev获取设备的主次设备号;也可以对uevent操作;让内核发出“add”事件用于热插拔。如:


注:这里写入任何值都会导致“add”事件的产生,udevmonitor检测时现象如下:
UEVENT[1220019773.507374] add /class/farsight_class/farsight_dev (farsight_class)
那么上述功能实现的原理是什么呢?现在就要过度到本文的主题ktype的使用了。先认识下这个结构
kype的结构定义为:
struct kobj_type {
void (*release)(struct kobject *);
struct sysfs_ops *sysfs_ops;/*提供实现以下属性的方法*/
struct attribute **default_attrs; /*用于保存类型属性列表(指针的指针) */
};
来源:blog.csdn 作者:刘洪涛 责编:豆豆技术应用
- Linux/Unix 新闻
- Linux/Unix 入门
- Linux/Unix 命令
- Linux/Unix 安装
- Linux 嵌入式系统
- Linux/Unix 编程
- Linux/Unix 管理
- Linux/Unix 桌面
- Linux/Unix 内核
- Linux/Unix 软件
- SCO Unix
- NetBSD
- OpenBSD
- Redhat/Fedora Linux
- 手机
- Linux/Unix find 搜索命令
- Linux/Unix vi 命令
- Linux/Unix kde 桌面环境
- Linux/Unix GNOME 桌面环境
- Linux/Unix Make 命令
- Linux/Unix crontab 命令
- Linux/Unix ext3 文件系统
- Linux/Unix 文件系统详解
- Linux/Unix ADSL 拨号设置
- Linux/Unix GRUB 配置及应用
- Linux/Unix nfs配置
- Linux/Unix 硬件信息查看及管理
- Linux/Unix 优化
- Linux/Unix 交换分区Swap管理及应用
- Linux/Unix 用户管理
- Linux/Unix Ramdisk
- Linux/Unix 密码恢复管理
- Linux/Unix 文件删除恢复
- Linux/Unix fdisk分区
- Linux/Unix lvs负载均衡管理
- Linux/Unix root用户
- Linux/Unix 集群
- Linux/Unix 日志
- 更多Linux/Unix专题……