有关rmmod时模块忙碌的问题
我写了一个驱动来控制黄色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 SizeUsed by
led 9170
mali_kbase 1596890
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文件里有,每次只能重启开发板才能卸载模块。 insmod xxx.ko
rmmod xxx HelloBirthday 发表于 2016-8-18 14:18
insmod xxx.ko
rmmod xxx
你这个我试过,会提示权限不足,进入root后会报原来的错误
页:
[1]