1、open,open提供给驱动程序初始化的能力。作用:
1、检查设备特定错误。
2、如果是首次打开设备则对设备初始化。
3、如果有必要,更新f_op指针
4、分配并填写置于file->private_date里的数据结构。
int (*open) (struct inode *inode, struct file *filep)
2、release方法
1、释放open分配并填写置于file->private_date里的数据结构
2、最后一次关闭操作时关闭设备。
int scull_release(struct inode *inode, struct file *filep)
当open和close的次数不一样的时候,怎么判断?
内核对么个file结构维护其被使用多少次的计数器,只有file中的计数器归为0的时候才会调用close执行release方法,保证每次open只有一次close。