跳转至

12.Linux MISC驱动

这种驱动的特点是不需要自己添加设备号,他的设备号都是10。主要代码修改的位置就是注册设备那一节代码有变化。

编程流程

/* MISC设备结构体 */
static struct miscdevice beep_miscdev = {
    .minor = MISCBEEP_MINOR, //子设备号
    .name = MISCBEEP_NAME,   //名字
    .fops = &miscbeep_fops,  //操作函数
};
/* 一般情况下会注册对应的字符设备,但是这里我们使用MISC设备
 * 所以我们不需要自己注册字符设备驱动,只需要注册misc设备驱动即可
 */
ret = misc_register(&beep_miscdev);
if(ret < 0){
    printk("misc device register failed!\r\n");
    return -EFAULT;
}
/* 注销misc设备 */
misc_deregister(&beep_miscdev);