热门内容

公众号"MAKE1"

获取行业最新资讯

请扫码添加

专业客服企业微信

linux-uevent_and_sysfs

简介

linux-uevent_and_sysfs

srclinuxandroidkernelLibKobject.c

struct kobject *kobject_create_and_add(const char *name, struct kobject *parent)

此函数会创建一个kobject对象,并根据参数parent决定添加到sysfs中/sys的某个目录中,如果parent==NULL,则kobject对象就会直接被创建添加到/sys根目录。如下:

Genhd.c (srclinuxandroidkernelblock): block_depr = kobject_create_and_add("block", NULL);

Gen_vkeys.c(srclinuxandroidkerneldriversinputtouchscreen):vkey_obj = kobject_create_and_add("board_properties", NULL);

Core.c (srclinuxandroidkerneldriversbase): dev_kobj = kobject_create_and_add("dev", NULL);

Firmware.c (srclinuxandroidkerneldriversbase): firmware_kobj = kobject_create_and_add("firmware", NULL);

Namespace.c (srclinuxandroidkernelfs): fs_kobj = kobject_create_and_add("fs", NULL);

Ksysfs.c (srclinuxandroidkernelkernel): kernel_kobj = kobject_create_and_add("kernel", NULL);

Main.c (srclinuxandroidkernelkernelpower): power_kobj = kobject_create_and_add("power", NULL);

而有parent的就会创建到对应的parent目录下:

Core.c (srclinuxandroidkerneldriversbase): sysfs_dev_block_kobj = kobject_create_and_add("block", dev_kobj); 这里的dev_kobj是已经创建好了的,dev_kobj = kobject_create_and_add("dev", NULL);

Core.c (srclinuxandroidkerneldriversbase): sysfs_dev_char_kobj = kobject_create_and_add("char", dev_kobj);

那么/sys这个目录又是哪里来的呢,它是属于根文件系统的。编译打包加载后就会有,如下:

 

3
 条评论
相关内容推荐