有的时候在写驱动时,在卸载驱动时,忘记移除设备号,导致这个设备号被占用。
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 条评论

发表回复

您的电子邮箱地址不会被公开。