有的时候在写驱动时,在卸载驱动时,忘记移除设备号,导致这个设备号被占用。
https://www.thinbug.com/q/17290292
解决方案:新创建一个驱动,在这个驱动的init方法里进行设备号的移除。
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kdev_t.h>
#include <linux/fs.h>
#include <linux/cdev.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
static int dev_fifo_init(void)
{
printk("clean dev_fifo_init \n");
unregister_chrdev_region(MKDEV(255,0),2);
return 0;
}
static void dev_fifo_exit(void)
{
printk("clean dev_fifo_exit \n");
return;
}
MODULE_LICENSE("GPL");
MODULE_AUTHOR("daniel.peng");
module_init(dev_fifo_init);
module_exit(dev_fifo_exit);
0 条评论