0
是否有任何簡單的方法讓父對象在kobject_add函數中使用?我想把這個文件放在/sys/module/mymodule/parameters
。我已經有了工作參數,但是我在錯誤的目錄中創建了它。我發現module.h中有module_subsys,但我不知道如何使用它。 這是我的初始化函數代碼:獲取父對象kobject_add
static int __init init_hello(void)
{
subsystem_register(&module_subsys);
struct my_attr *a;
Major = misc_register(&mydevice);
mykobj = kzalloc(sizeof(*mykobj), GFP_KERNEL);
if (mykobj) {
kobject_init(mykobj, &mytype);
kobj_set_kset_s(mykobj, module_subsys);
if (kobject_add(mykobj, NULL, "%s", "sysfs_example")) {
printk("Sysfs creation failed\n");
kobject_put(mykobj);
mykobj = NULL;
return -1;
}
}
a = container_of(&(my_first.attr), struct my_attr, attr);
msg_Ptr = kzalloc(a->value, GFP_KERNEL);
bytesindev=0;
if(Major) {
printk(KERN_ALERT "Rejestrowanie urządzenia nie powiodło się\n");
return Major;
}
return SUCCESS;
}
我發現它也是我自己幾分鐘前,而看着module.h,與THIS_MODULE的版本適合我 –
但在我的內核kobj屬性不是一個指針,所以它看起來像&THIS_MODULE-> mkobj。 kobj –
我的錯誤。我沒有真正嘗試編譯它。編輯。 – ugoren