天嵌 ARM开发社区

 找回密码
 注册
查看: 3044|回复: 9

加载内核模块时不能自动创建设备文件有哪些因素?

[复制链接]
danshi126 发表于 2012-2-9 13:28:44 | 显示全部楼层 |阅读模式
本帖最后由 danshi126 于 2012-2-15 20:36 编辑

如题   加载内核模块时不能自动创建设备文件  
   
   在驱动程序的初始化中已加入class_create,class_device_createg两函数,  编译没错误 模块能正常加载,正常卸载

可就是偏偏不能自己创建设备文件,

PS :  sysfs文件系统已支持

目标机上内核所挂载文件系统情况:


驱动程序的加载与卸载函数:


  Makefile:

MKERN_DIR = /home/wangping/Desktop/work/linux/linux-2.6.22

all:   
        make -C $(KERN_DIR) M=`pwd` modules
clean:
        make -C $(KERN_DIR) M=`pwd` modules clean
        rm -fr modules.prder Module.symvers
obj-m   +=led_dri.o
akefile:


目标机上 cat /proc/device/

Character devices:

  1 mem
  2 pty
  3 ttyp
  4 /dev/vc/0
  4 tty
  4 ttyS
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  6 lp
  7 vcs
10 misc
13 input
29 fb
90 mtd
99 ppdev
128 ptm
136 pts
180 usb
189 usb_device
204 km2440_serial
251 key_int
252 led
253 usb_endpoint
254 rtc

Block devices:
  1 ramdisk
  7 loop
31 mtdblocks

根文件系统 /etc/init.d/rcS内容:

#!/bin/sh
PATH=/bin:/sbin:/usr/bin:usr/sbin
mount -a
mkdir   /dev/pts
mount -t devpts devpts /dev/pts
echo /bin/mdev/ > /proc/sys/kernel/hotplug
insmod /led.ko
insmod /key_int.ko
/home/led&
/key_led&


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
vcfwinkey 发表于 2012-2-9 14:40:48 | 显示全部楼层
自动创建设备文件不是用class_create和device_create这两个函数吗?我怎么在内核里找不到class_device_create这个函数的?
 楼主| danshi126 发表于 2012-2-9 16:37:01 | 显示全部楼层
vcfwinkey 发表于 2012-2-9 14:40
自动创建设备文件不是用class_create和device_create这两个函数吗?我怎么在内核里找不到class_device_crea ...

在drivers/base/class.c  文件里
vcfwinkey 发表于 2012-2-9 20:54:23 | 显示全部楼层
danshi126 发表于 2012-2-9 16:37
在drivers/base/class.c  文件里

你用哪个版本内核?我在2.6.29的内核找不到
 楼主| danshi126 发表于 2012-2-10 09:22:26 | 显示全部楼层
vcfwinkey 发表于 2012-2-9 20:54
你用哪个版本内核?我在2.6.29的内核找不到

2.6.22   
 楼主| danshi126 发表于 2012-2-10 09:23:00 | 显示全部楼层
vcfwinkey 发表于 2012-2-9 20:54
你用哪个版本内核?我在2.6.29的内核找不到

2.6.22    应该都有呀
vcfwinkey 发表于 2012-2-10 14:17:38 | 显示全部楼层
danshi126 发表于 2012-2-10 09:23
2.6.22    应该都有呀

要不你试下用device_create这个函数
 楼主| danshi126 发表于 2012-2-16 16:30:52 | 显示全部楼层
vcfwinkey 发表于 2012-2-10 14:17
要不你试下用device_create这个函数

那样也不行哦
 楼主| danshi126 发表于 2012-2-16 18:45:54 | 显示全部楼层
问题刚刚解决了, 代码没问题原   因是:

            echo /bin/mdev/ > /proc/sys/kernel/hotplug
   
              mdev后面多了那该死的一撇,

多谢版主韦东山大哥 在百忙中抽空 在线指导!!  太感谢他了  祝他生意兴隆!
亚瑟王 发表于 2012-2-27 13:56:49 | 显示全部楼层
解决了就好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-19 23:43 , Processed in 1.062500 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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