uevent 驱动_uevent

uevent

分析

2010-10-01 12:35 6082

人阅读

评论

(2)

收藏

举报

structactionfilterclassshellpath

目录

(?)[+]

1

kobject, ktype, kset

kobject

代表

sysfs

中的目录。

ktype

代表

kobject

的类型,

主要包含

release

函数和

attr

的读写函数。

比如,

所有

bus

都有同一个

bus_type

;所有的

class

都有同一个

class_type

kset

包含了

subsystem

概念,

kset

本身也是一个

kobject

,所以里面包含了一个

kobject

对象。另外,

kset

中包含

kset_uevent_ops

,里面主要定义了三个函数

int (*filter)(struct kset *kset, struct kobject *kobj);

const char *(*name)(struct kset *kset, struct kobject *kobj);

int (*uevent)(struct kset *kset, struct kobject *kobj, struct kobj_uevent_env

*env);

这三个函数都与

uevent

相关。

filter

用于判断

uevent

是否要发出去。

name

用于得

subsystem

的名字。

uevent

用于填充

env

变量。

2

uevent

内核部分

uevent

sysfs

向用户空间发出的消息。比如,

device_add

函数中,会调用

kobject_uevent(&dev->kobj, KOBJ_ADD);

这里

kobj

是发消息的

kobj

KOBJ_ADD

是发出的事件。

uevent

的事件在

kobject_action

中定义:

enum kobject_action {

KOBJ_ADD,

KOBJ_REMOVE,

KOBJ_CHANGE,

KOBJ_MOVE,

KOBJ_ONLINE,

KOBJ_OFFLINE,

KOBJ_MAX

};

int kobject_uevent(struct kobject *kobj, enum kobject_action action)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值