首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

arch_copy_to_user函数

arch_copy_to_user函数

最近刚开始看linux驱动,是一个键盘的驱动,硬件原理是比较简单的,但是看到外部中断扫描键值函数后,就是把键值交给arch_copy_to_user函数,这个函数我就看不懂了,论坛上有高手解说一下吗?

ssize_t JackKB_read (struct file * file ,char * buf, size_t count, loff_t * f_ops)
{
unsigned char data[2];
ssize_t retval;

data[0]= key[0];
data[1]= key[1];

if((data[0]== 6 ) && (data[1] == 4 ))
{
if (file->f_flags & O_NONBLOCK)
{
retval = -EAGAIN;
}
}

if(__arch_copy_to_user(buf, &data, sizeof(data)))
return -EFAULT;

key[0] = 6;
key[1] = 4;

return (sizeof(data));
}

返回列表