设备初始化缩水篇(二)

Linux SysFS 目录结构解析
struct kobject *kobject_create_and_add(const char *name, struct kobject *parent)

{

        retval = kobject_add(kobj, parent, "%s", name);

}


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

        retval = kobject_add_varg(kobj, parent, fmt, args);
}


static int kobject_add_varg(struct kobject *kobj, struct kobject *parent,
   const char *fmt, va_list vargs)
{

        return kobject_add_internal(kobj);
}


剩下的东西就是在《设备初始化缩水篇(一)》里都贴过的

参考《设备初始化缩水篇(一)》dev_kobj、firmware_kobj的parent都是NULL,所以在/sys目录下生成了dev和firmware两个目录(我虚拟机运行的Antergos,内核版本为3.14.4.1,没有hypervisor目录,不知道是啥原因)

sysfs_dev_block_kobj 和sysfs_dev_char_kobj 的parent都是dev_kobj,所以/sys/dev 目录下生成了block和char 两个文件夹

目前这里的分析总共生成了/sys下的devices、bus、class、dev和firmware五个目录,/sys/devices/system、/sys/dev/block、/sys/dev/char三个子目录,除了有关虚拟化的那个目录之外,《设备初始化缩水篇(一)》中初始化的语句都可以在实际系统中看到


不过实际系统中/sys目录下不止这五个目录,我这里还可以看到block、fs、kernel、module和power五个目录,有机会了再继续看是哪里生成的



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值