LINUX内核2.6.28驱动编写的问题

[复制链接]
2276|0
 楼主| fe_arm 发表于 2009-7-15 14:19 | 显示全部楼层 |阅读模式

我写的驱动模块, 用 device_create来建立设备文件,但ls /dev找不到相对应的myalloc设备,请大家帮忙看一下

int __init memory_init(void)

{

    int res;



    int devno = MKDEV(MEM_MAJOR, 0);





    mem_spvm = (char *)vmalloc(MEM_MALLOC_SIZE);

    if (mem_spvm == NULL)

        printk(KERN_INFO"vmalloc failed! ");

    else

        printk(KERN_INFO"vmalloc successfully! addr=0x%x ", (unsigned int)mem_spvm);





    mem_cdev = cdev_alloc();

    if (mem_cdev == NULL)

    {

        printk(KERN_INFO"cdev_alloc failed! ");

        return 0;

    }



    cdev_init(mem_cdev, &mem_fops);

    mem_cdev->owner = THIS_MODULE;

    mem_cdev->ops = &mem_fops;

    res = cdev_add(mem_cdev, devno, 1);



    if (res)

    {

        cdev_del(mem_cdev);

        mem_cdev = NULL;

        printk(KERN_INFO"cdev_add error ");

    }

    else

    {

        printk(KERN_INFO"cdev_add ok ");

    }



/* creating your own class */

    my_class = class_create(THIS_MODULE, "myalloc");

    if(IS_ERR(my_class)) {

        printk("Err: failed in creating class. ");

       return -1;

    }

/* register your own device in sysfs, and this will cause udevd to create corresponding device node */

    device_create(my_class, NULL, MKDEV(MEM_MAJOR,0), NULL, "myalloc", 0);
    return 0;

}

 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

124

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部