linux3.8内核下载,linux 3.8内核usbmouse代码注释
linux 3.8.0版本内核usbmouse.c文件代码注释
/* * Copyright (c) 1999-2001 Vojtech Pavlik
* * USB HIDBP Mouse support
*/
/* * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version. *
* This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details.
* * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* * Should you need to contact me, the author, you can do so either by
* e-mail - mail your message to , or by paper mail: * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic
*/
#include #include
#include #include
#include #include
/* for apple IDs */
#ifdef CONFIG_USB_HID_MODULE#include "../hid-ids.h"
#endif
/* * Version Information
*/#define DRIVER_VERSION "v1.6"
#define DRIVER_AUTHOR "Vojtech Pavlik "#define DRIVER_DESC "USB HID Boot Protocol mouse driver"
#define DRIVER_LICENSE "GPL"
MODULE_AUTHOR(DRIVER_AUTHOR);MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_LICENSE(DRIVER_LICENSE);
struct usb_mouse {char name[128];/* 鼠标设备的名称,包括生产厂商、产品类别、产品等信息 */
char phys[64];/* 设备节点名称 */ struct usb_device *usbdev;/* USB 鼠标是一种 USB 设备,需要内嵌一个 USB 设备结构体来描述其 USB 属性 */ struct input_dev *dev;/* USB 鼠标同时又是一种输入设备,需要内嵌一个输入设备结构体来描述其输入设备的属性 */ struct urb *irq;/* URB 请求包结构体,用于传送数据 */
signed char *data;/* 普通传输用的地址 ,将保存着鼠标的按键和移动坐标信息*/
dma_addr_t data_dma;/* dma 传输用的地址 */ };
/*
* urb 回调函数,在完成提交 urb 后,urb 回调函数将被调用。 * 此函数作为 usb_fill_int_urb 函数的形参,为构建的 urb 制定的回调函数。
*/ static void usb_mouse_irq(struct urb *urb)
{ /*
* urb 中的 context 指针用于为 USB 驱动程序保存一些数据。比如在这个回调函数的形参没有传递在 probe * 中为 mouse 结构体分配的那块内存的地址指针,而又需要用到那块内存区域中的数据,context 指针则帮了 * 大忙了! * 这里的context就是保存了一个usb_mouse结构
* 在填充 urb 时将 context 指针指向 mouse 结构体数据区,在这又创建一个局部 mouse 指针指向在 probe * 函数中为 mouse 申请的那块内存,那块内存保存着非常重要数据。
* 当 urb 通过 USB core 提交给 hc 之后,如果结果正常,mouse->data 指向的内存区域将保存着鼠标的按键 * 和移动坐标信息,系统则依靠这些信息对鼠标的行为作出反应。
* mouse 中内嵌的 dev 指针,指向 input_dev 所属于的内存区域。 */
struct usb_mouse *mouse = urb->context;signed char *data = mouse->data;
struct input_dev *dev = mouse->dev;
linux3.8内核下载,linux 3.8内核usbmouse代码注释相关推荐
- linux加大ram 内核需要,Linux 5.1内核发布:io_uring接口+支持持久性内存用作RAM
拼 命 加 载 中 ... Linus Torvalds今天发布了Linux Kernel 5.1内核,这是一个功能强大的内核分支,它带来了许多重要的新功能,包括但不限于:改进了对Intel Fast ...
- linux 内核维护,Linux 4.18内核系列生命周期结束:用户需尽快更新内核
IT之家11月28日消息 著名的Linux内核维护者Greg Kroah-Hartman宣布Linux 4.18内核系列的生命周期结束,敦促用户尽快将他们的发行版升级到更新的内核. Linux 4.1 ...
- 手机linux内核下载,Linux Kernel
游戏概述 Linux Kernelapp下载,最新版本的Linux内核,支持Intel.Alpha.PPC.Sparc.IA-64 .ARM.MIPS.Amiga.Atari和IBM s/390等.L ...
- linux pae内核安装,Linux 安装PAE内核
客户软件是部署在32位的CentOS5服务器当中,CentOS5目前只能识别4G内存,需要安装PAE内核,让系统支持PAE物理地址扩展. 1.安装PAE内核 yum -y install kernel ...
- linux 2.4内核编译,linux 2.4内核编译详解
2.4内核编译详解 内核简介 内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性. Linux的一个重要的特点就是其源代码的公开性,所有的内 ...
- linux内核自解压,Linux的初始内核自解压分析
Linux的初始内核自解压分析 (2009-03-27 19:46:46) 标签: it Linux的初始内核解压 2007-09-19 15:02 来源:论坛整理 作者:lucian_yao [网友 ...
- linux内核计数函数,linux中的内核引用计数器
linux中的内核引用计数器文档 /Documentation/kref.txt翻译. krefs能让你往你的对象中添加一个引用计数器.如果你有一些需要在多处被使用和传递的对象,而你并没有给这些对象中 ...
- linux 内核 触摸屏,Linux 5.1内核将支持更多的触摸屏
开发中的Linux 5.1内核的输入子系统更新包括许多触摸屏驱动程序添加. 输入维护者Dmitry Torokhov为下一个内核版本发送了许多触摸屏驱动程序更新.亮点包括: - 支持ili210x驱动 ...
- linux 内核 cpio,Linux 2.6内核cpio initrd释放资源的处理
以前一直在使用image-initrd的格式,也就是Linux 2.4内核当中所使用的格式,即便在升级到2.6内核以后,也依然如此,虽然2.6内核开始支持新的cpio-initrd格式.最近开始转向c ...
最新文章
- WebSphere安装
- WPF加载程序集中字符串资源
- 对mysql的总结与反思_深入了解MySQL,一篇简短的总结
- linux java 查找进程中的线程
- Linux简单命令收录(who,echo,date)【上】
- WinSock I/O 模型 -- IOCP 模型
- C#LeetCode刷题之#189-旋转数组(Rotate Array)
- 距离向量路由算法及举例
- 单片机 c语言 pwm输出,单片机中PWM程序工作原理图文详解
- 操作系统—处理机调度
- Three.js 学习笔记 - 给跳一跳小游戏添加光源,阴影
- Cisco路由器配置命令
- 分布式系统与海量数据处理
- 51单片机自学--PWM波占空比程序解释
- 盘点2017 CES展会所有亮眼黑科技 (下)
- 【JavaScript笔记 · 基础篇(五)】Array全家桶(引用数据类型中的数组 / Array对象 / Array.prototype)
- R语言ggplot2可视化:使用ggpubr包的arrangeGrob函数将多个可视化结果整合为gtable对象、使用as_ggplot函数将gtable对象转化为ggplot对象
- 【STM32F429的DSP教程】第3章 Matlab简易使用之基础操作
- Oracle 19c VLDB and Partitioning Guide 第4章:分区管理 读书笔记
- 我的物联网项目(二十五) 平账难题分析
热门文章
- 数据爆炸时代,云存储在“破圈”!
- 作为多年 PHP 的开发者,在使用了 Go 语言之后......
- 趣谈 JOIN 操作
- BAT 数据披露:缺人!110万AI人才缺口,两者矛盾,凉凉了!
- 500+ 精选 Java 面试题大放送
- 做好以下四点,拒做 “ 空心 ” 程序员 | CSDN 博文精选
- AI 降噪、多平台支持,在线课程背后的黑科技大公开!
- 蘑菇车联召开战略发布会 为用户提供无缝衔接的“人车生活”
- Facebook 的 AI 翻身之战!
- 从初级程序员逆袭为技术大牛,你需要懂这 10 项技术!