Linux混杂设备注册方法

Linux混杂设备注册,相对来说更加简单,可以这样做:

static int __init init_fpga(void)
{
misc_register(&ppc_dpram_miscdev);
return 0;
}
可以看到没有字符设备标准的那种什么申请设备号,,初始化,添加等操作,只用一个misc_register()就可以了。

static struct miscdevice ppc_dpram_miscdev =
{
.minor = 189,
.name = DEVFS_NAME,
.fops = &fpga_fops,
};

#define DEVFS_NAME "ram_2"

static struct file_operations fpga_fops=
{
owner: THIS_MODULE,
ioctl: fpga_ioctl,
open: fpga_open,
read: fpga_read,
write: fpga_write,
release: fpga_release,
fasync: fpga_fasync,
};

下面是卸载函数:
misc_deregister(&ppc_dpram_miscdev);

相对于字符设备的标准方法来说,更加简单些,并且关键的一点是不用创建设备节点,这一点更加方便。
但是一般的还是要注意和字符设备的不用,就是混杂的是不标准的。
原文地址:https://www.cnblogs.com/fishoneseaatblog/p/2340981.html