[嵌入式linux] 关于LINUX内核2.6.28驱动编写的问题

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

我写的驱动模块, 用 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;

}
JAYLU 发表于 2009-7-16 11:54 | 显示全部楼层

device_create 不会生成dev下的节点

在/sys目录树下应有文件.
 楼主| fe_arm 发表于 2009-7-16 23:17 | 显示全部楼层

如何生成dev的结点

如何生成dev的结点,在驱动中使用什么函数能够实现,谢谢
一朝成名 发表于 2009-7-16 23:51 | 显示全部楼层

你可以先静态建立结点

 楼主| fe_arm 发表于 2009-7-17 13:35 | 显示全部楼层

re:你可以先静态建立结点

在程序中如何实现,所谓的静态建立节点,不就是用mknode指令实现吗?而我的问题是如何在驱动中实现建立节点
一朝成名 发表于 2009-7-17 13:44 | 显示全部楼层

一般情况下是复制主机的/dev/目录下的设备文件

到你的目标系统,删去没用的设备文件,如果少的话,自己mknode也可以

这是在你建立文件系统的时候就要做好的
 楼主| fe_arm 发表于 2009-7-17 13:48 | 显示全部楼层

re

“我的问题是如何在驱动中实现建立节点”,也就是说,如何在驱动源码中调用内核的API实现,设备节的建立
一朝成名 发表于 2009-7-17 13:50 | 显示全部楼层

偶没那么建立过,也有动态方法

但是不是这么建的,跟busybox有关系~用udev
chl00100 发表于 2009-7-18 10:31 | 显示全部楼层

re

Google下class_simple_create和class_simple_add
 楼主| fe_arm 发表于 2009-7-19 15:51 | 显示全部楼层

已稿定,程序没有问题

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

本版积分规则

11

主题

124

帖子

0

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