1、注册设备
retval = register_chrdev(Major, MODULE_NAME, &parlport_fops);
2、注册资源
request_region(0x378,3,MODULE_NAME)
3、操作函数
struct file_operations parlport_fops = {
.open = parlport_open,
.ioctl = parlport_ioctl,
.release = parlport_close };
3、并口控制
static int parlport_ioctl(struct inode *ino, struct file *filp, unsigned int ioctl_cmd , unsigned long parm)
{
写数据
outb(parm & 0xff, 0x378);
读数据
parm = inb(0x378+1);
}
5、卸载
release_region(0x378,3);
unregister_chrdev(Major,MODULE_NAME);
参考 http://blog.csdn.net/keminlau/article/details/4533754