找回密码
 注册
关于网站域名变更的通知
查看: 242|回复: 1
打印 上一主题 下一主题

利用Linux设备来驱动模型(中)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-14 10:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
内核提供了许多与kobject结构相关的函数,如下:$ I* R7 K4 l0 H4 v& |

; i1 Y* i3 J3 f( ~

8 [7 Y/ a7 z9 w$ F" {
  • // kobject初始化函数
  • void kobject_init(struct kobject * kobj);
  • // 设置指定kobject的名称
  • int kobject_set_name(struct kobject *kobj, const char *format, ...);
  • // 将kobj 对象的引用计数加,同时返回该对象的指针
  • struct kobject *kobject_get(struct kobject *kobj);
  • // 将kobj对象的引用计数减,如果引用计数降为,则调用kobject release()释放该kobject对象
  • void kobject_put(struct kobject * kobj);
  • // 将kobj对象加入Linux设备层次。挂接该kobject对象到kset的list链中,增加父目录各级kobject的引// 用计数,在其parent指向的目录下创建文件节点,并启动该类型内核对象的hotplug函数
  • int kobject_add(struct kobject * kobj);
  • // kobject注册函数,调用kobject init()初始化kobj,再调用kobject_add()完成该内核对象的注册
  • int kobject_register(struct kobject * kobj);
  • // 从Linux设备层次(hierarchy)中删除kobj对象
  • void kobject_del(struct kobject * kobj);
  • // kobject注销函数. 与kobject register()相反,它首先调用kobject del从设备层次中删除该对象,再调// 用kobject put()减少该对象的引用计数,如果引用计数降为,则释放kobject对象
  • void kobject_unregister(struct kobject * kobj);( Q0 M1 @( N$ @  x8 X4 c- ~1 ?

+ m% w' j6 x9 Z4 }' {0 W
* l$ A: V. ~1 L
) b7 m; R( l6 N* q3 u3 B0 V
kset结构
* {/ s+ c- u% u7 B4 d* F
& V: z  W$ L# G* L
& q" c5 r% B7 A4 ?" N. `, x
游客,如果您要查看本帖隐藏内容请回复

% V& c  B. T+ G3 }2 [  v2 b- J& F& w8 t) c- s* R3 v: Q1 D- d- }+ R% a
( V7 _5 \" ~+ A* o
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 21:31 , Processed in 0.187500 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表