问题描述:安装模块时出现如下错误:
[root@Vinxin_PC leds]# cd /driver_Test/
[root@Vinxin_PC driver_Test]# ls
app leds-s5pv210.ko
[root@Vinxin_PC driver_Test]# lsmod
Module Size Used by Not tainted
[root@Vinxin_PC driver_Test]# insmode leds-s5pv210.ko
-sh: insmode: not found
[root@Vinxin_PC driver_Test]# insmod leds-s5pv210.ko
[ 62.931889] ------------[ cut here ]------------
[ 62.935040] WARNING: at fs/sysfs/dir.c:451 sysfs_add_one+0x6c/0x8c()
[ 62.941870] sysfs: cannot create duplicate filename '/devices/virtual/leds/led1'
[ 62.948751] Modules linked in: leds_s5pv210(+)
[ 62.953133] Backtrace:
[ 62.955577] [<c0093fb8>] (dump_backtrace+0x0/0x110) from [<c05597a0>] (dump_s tack+0x18/0x1c)
尝试删除/devices/virtual/leds文件夹会提供报“权限问题”,后来检查代码发现是在编写Led驱动时,对同一个Led设备进行了多次创建。
解决:重新系统上述目录消失,修改代码重新编译led模块,然后重新安装模块即可。
将下面代码的循环体中错误代码修改
错误代码:
修改后的代码: