Linux 2.6.30内核中的kobject_init问题

Linux 2.6.30内核中的kobject_init问题,linux,kernel,device-driver,Linux,Kernel,Device Driver,看来kobject_init被更改了,我是一个新手,实际上我在互联网上找到的示例设备驱动程序不起作用 我绝对需要一个关于/procs/sysfs的示例,出于这些原因,我没有使用更简单的示例 这是我使用的代码: int int_init(void) { int i, ret; kint = kmalloc(sizeof(*kint), GFP_KERNEL); if (!kint) return -ENOMEM; memset(kint, 0, sizeof(*kint)); kobject_i

看来kobject_init被更改了,我是一个新手,实际上我在互联网上找到的示例设备驱动程序不起作用

我绝对需要一个关于/procs/sysfs的示例,出于这些原因,我没有使用更简单的示例

这是我使用的代码:

int int_init(void)
{
int i, ret;

kint = kmalloc(sizeof(*kint), GFP_KERNEL);
if (!kint) return -ENOMEM;
memset(kint, 0, sizeof(*kint));
kobject_init(&kint->kobj);
kint->numbers[0] = 0;
kint->numbers[1] = 1;
kint->numbers[2] = 5;
kint->kobj.ktype = &ktype_int;

ret = kobject_set_name(&kint->kobj, "sample-int-range");
if (!ret) ret = kobject_add(&kint->kobj);
if (!ret) {
     for (i=0; i<3; i++)
         sysfs_create_file(&kint->kobj,kint_default_attrs[i]);
}

if (ret)
    kfree(kint);
 return ret;
}

void int_exit(void)
{

 int i;

 for (i=0; i<3; i++)
     sysfs_remove_file(&kint->kobj,
               kint_default_attrs[i]);
 kobject_del(&kint->kobj);
 kobject_put(&kint->kobj);
 /* wait untile the kobj is freed */

 while (kint) {
     schedule_timeout(HZ/2);
 }
 return;
}
module_init(int_init);
module_exit(int_exit);
这是我捕捉到的错误行不匹配:

make:进入目录/usr/src/linux-source-2.6.32' CC[M]/home/pietro/driver/sysfs.o /home/pietro/driver/sysfs.c:在函数“int_init”中: /home/pietro/driver/sysfs.c:125:错误:函数'kobject_init'的参数太少 /home/pietro/driver/sysfs.c:132:错误:函数“kobject_add”的参数太少 /home/pietro/driver/sysfs.c:135:警告:忽略使用属性warn\u unused\u result声明的“sysfs\u create\u file”的返回值 /home/pietro/driver/sysfs.c:在函数“int_exit”中: /home/pietro/driver/sysfs.c:155:错误:函数“schedule\u timeout”的隐式声明 生成[1]:***[/home/pietro/driver/sysfs.o]错误1 make:**[\u模块\主/主/主/驱动程序]错误2 make:离开目录/usr/src/linux-source-2.6.32'

我怎样才能解决这个问题

附言: