天嵌 ARM开发社区

 找回密码
 注册
查看: 4335|回复: 3

用mdev自动创建设备节点的问题???

[复制链接]
hbhuanggang 发表于 2009-11-26 10:06:37 | 显示全部楼层 |阅读模式
用busybox自带的一个mdev自动创建设备节点出现一个问题,不知道错在哪儿,请大家帮我看看,谢谢!!

1.mdev需要的sysfs和tmpfs虚拟文件系统已经挂载;
2.也执行了echo /sbin/mdev > /proc/sys/kernel/hotplug和/sbin/mdev -s命令;
3.在驱动程序中也实现了对类设备接口的支持,代码如下:
  1. //定义一个设备类
  2. static struct class *pwm_class;

  3. static int __init pwm_init(void)
  4. {
  5.         int ret;

  6.         //注册为字符设备,主设备号为0让系统自动分配,设备名为my2440_pwm
  7.         ret = register_chrdev(PWM_MAJOR, PWM_NAME, &pwm_fops);

  8.         if(ret < 0)
  9.         {
  10.                 printk(PWM_NAME " register falid!\n");
  11.                 return ret;
  12.         }

  13.         //注册一个设备类,使mdev可以在/dev/目录下自动建立设备节点
  14.         pwm_class = class_create(THIS_MODULE, PWM_NAME);

  15.         if(IS_ERR(pwm_class))
  16.         {
  17.                 printk(PWM_NAME " register class falid!\n");
  18.                 return -1;
  19.         }

  20.         //创建一个设备节点,设备名为PWM_NAME,即:my2440_pwm
  21.         device_create(pwm_class, NULL, MKDEV(PWM_MAJOR, 0), NULL, PWM_NAME "%d", 0);

  22.         return 0;
  23. }
复制代码
4. 启动开发板,查看/dev目录,系统原有的一些设备在这里都自动创建了节点,但是就我写的这个pwm驱动没出现。但查看/proc/devices目录,my2440_pwm已经加载成功,系统分配的主设备号是253,再查看/sys/class目录,也出现了/my2440_pwm/my2440_pwm0/目录,只是目录下没有dev这个文件,我看了下其他的成功自动创建设备节点对应的这个目录下都有这个dev文件。我想问题应该就在这儿了,为什么会出现这种情况呢???
亚瑟王 发表于 2009-11-26 14:14:18 | 显示全部楼层
有没有可能设备号冲突?
 楼主| hbhuanggang 发表于 2009-11-26 16:43:33 | 显示全部楼层
谢谢你的回复!!
现在问题解决了,原来MKDEV(PWM_MAJOR, 0)这里错了,应该给系统动态分配的主设备号,不应该还是原来的PWM_MAJOR即0
zhangliyun9120 发表于 2014-4-3 10:54:14 | 显示全部楼层
hbhuanggang 发表于 2009-11-26 16:43
**** 作者被禁止或删除 内容自动屏蔽 ****

大神!能不能写一篇你这个自动创建设备文件的详细步骤!我的程序和你差不多,就是busybox下没有mdev,就是说在开饭版的/bin目录下没有mdev命令,能不能把你
1.mdev需要的sysfs和tmpfs虚拟文件系统已经挂载;
2.也执行了echo /sbin/mdev > /proc/sys/kernel/hotplug和/sbin/mdev -s命令;
3.在驱动程序中也实现了对类设备接口的支持
的详细步骤说一下???
万分感谢!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-28 06:43 , Processed in 1.031250 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表