|
有关rmmod时模块忙碌的问题
发表于 2016-8-17 16:23:59
浏览:6047
|
回复:2
打印
只看该作者
[复制链接]
楼主
我写了一个驱动来控制黄色led,这是驱动文件
#include<linux/init.h>
#include<linux/module.h>
#include <linux/leds.h>
MODULE_LICENSE("GPL");
DEFINE_LED_TRIGGER(ledtrig_ir_click);
static int led_init(void)
{
printk("turn on\n");
led_trigger_register_simple("ir-user-click", &ledtrig_ir_click);
led_trigger_event(ledtrig_ir_click, LED_FULL);
return 0;
}
static void led_exit(void)
{
printk("turn off\n");
led_trigger_register_simple("ir-user-click", &ledtrig_ir_click);
led_trigger_event(ledtrig_ir_click, LED_OFF);
}
module_init(led_init);
module_exit(led_exit);
然后就用了sudo insmod led.ko加载,灯也亮了,但是用sudo rmmod led.ko时却出现模块忙的问题,如下
firefly@firefly:~/temp/makepra/led$ lsmod
Module Size Used by
led 917 0
mali_kbase 159689 0
firefly@firefly:~/temp/makepra/led$ sudo rmmod led.ko
rmmod: ERROR: ../libkmod/libkmod-module.c:769 kmod_module_remove_module() could not remove 'led': Device or resource busy
rmmod: ERROR: could not remove module led.ko: Device or resource busy
请问这是怎么回事?网上说是缺少exit函数,但是我的.c文件里有,每次只能重启开发板才能卸载模块。 |
|