在做platform driver驱动实验时出现又出现了sysfs: cannot create duplicate filename '/class/leds/led1问题。
问题描述:
执行insmod leds_s5pv210_platform.ko后报如下错误:
sysfs: cannot create duplicate filename '/class/leds/led1'
分析步骤:
因为Linux系统报不能重复的设备名称,所以将问题定位到因为重复创建led设备而导致的问题。
尝试重启上电启动系统,发现在/sys/class目录下出现了led1、led2、led3这三个设备名称,而且重启后仍然有这几个led设备名称,基本可以判定这几个是led设备是启动自动创建的,那么这个led驱动应该是内核中的。
为了进一步确认问题,进行了如下验证:
在menuconfig中查看发现我们在做上次gpiolib实验时,将Led driver直接添加到内核中了
在Menuconfig中找到Device Drivers -> LED Support -> LED Support for S5PV210 X210 Board选项,按“n"将LED Support for S5PV210 X210 Board选项取消,让其不被编译进入内核。然后保存menuconfig的设置后,重新编译内核,再上电更新内核后启动系统
取消后发现led driver驱动没有再出现了。
再次尝试执行insmod leds_s5pv210_platform.ko后,一切正常!