DECLARE_WAIT_QUEUE_HEAD(wait);/*初始化等待队列头*/
static int condition=0; /*唤醒队列的条件-为假休眠-为真唤醒*/
/*异步通知助手相关...\n");
condition=0; /*清除标志*/
return POLLIN; /*返回事件*/
}
return 0; /*返回事件*/
}
/*异步通知助手...*/
int key_fasync(int fd, struct file *my_file,int on) //异步通知
{
int error;
printk("驱动层收到的文件描述符:%d\...n",fd);
error=fasync_helper(fd,my_file,on,&myfasync);
printk("驱动层异步通知结构体文件描述符:%d\n",myfasync->fa_fd...unlocked_ioctl=key_unlocked_ioctl, /*ioctl操作*/
.poll=my_poll, /*poll机制*/
.fasync=key_fasync, /*异步通知助手