自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (5)
  • 收藏
  • 关注

原创 USB descriptor

struct usb_device_descriptor { __u8 bLength;//设备描述符的字节数大小,为0x12 __u8 bDescriptorType;//描述符类型编号,为0x01 __le16 bcdUSB;//USB版本号 __u8 bDeviceClass;//USB分配的设备类代码,0x01~0xfe为标准设备类,0xff为厂商自定义类型

2013-04-28 09:18:07 6536 1

原创 USB Core 十一

//现在看看第二阶段的重头戏,看看设备是怎么从Address 进入Configured 的//usb_disable_device 函数的清理工作主要有两部分,一是将设备里所有端点给disable 掉,一是将设备当前配置使用的每个接口都从系统里给unregister掉,也就是将接口和它对应的驱动给分开.void usb_disable_device(struct usb_devic

2013-04-26 15:04:36 1210

原创 USB Core 十

int usb_register_device_driver(struct usb_device_driver *new_udriver, struct module *owner) { int retval = 0; if (usb_disabled())//判断一下usb 子系统是不是在你启动内核的时候就被禁止了 return -ENODEV; new_udri

2013-04-26 14:09:13 1441

原创 USB Core 九

static int usb_parse_configuration(struct device *ddev, int cfgidx,struct usb_host_config *config, unsigned char *buffer, int size){ unsigned char *buffer0 = buffer; int cfgno; int nintf, nint

2013-04-25 11:53:13 984

原创 USB Core 八

//将提交过来的urb 指派给合适的主机控制器驱动程序 int usb_hcd_submit_urb (struct urb *urb, gfp_t mem_flags) { int status; struct usb_hcd *hcd = bus_to_hcd(urb->dev->bus);/* static inline struct usb_bus *hcd_t

2013-04-23 11:39:52 1019

原创 USB Core 七

struct usb_hcd { /* * housekeeping */ struct usb_bus self; /* hcd is-a bus */ struct kref kref; /* reference counter */ const char *product_desc; /* 主机控制器的产品描述字符串,对于UHCI,它为“UHCI Host C

2013-04-23 10:59:01 809

原创 USB Core 六

struct usb_bus {277 struct device *controller; /* host/master side hardware */ int busnum; /* busnum,总线编号*//* bus_name 总线的名字,大多数情况下主机控制器都是一个PCI 设备,那么bus_name 应该就是用来在PCI总线上标识usb 主机控制器的名字,PCI 总线

2013-04-22 19:43:23 648

原创 USB Core五

int usb_submit_urb(struct urb *urb, gfp_t mem_flags) { int pipe, temp, max; struct usb_device *dev; int is_out; if (!urb || urb->hcpriv || !urb->complete) return -EINVAL; if (!(dev = u

2013-04-22 17:38:51 1133

原创 USB Core 四

struct urb *usb_alloc_urb(int iso_packets, gfp_t mem_flags){ struct urb *urb; urb = kmalloc(sizeof(struct urb) + iso_packets * sizeof(struct usb_iso_packet_descriptor), mem_flags); if

2013-04-19 16:00:32 848

原创 USB Core三

struct urb { /* private: usb core and host controller only fields in the urb */ struct kref kref; /* kref,urb 的引用计数 ,每多一个使用者,它的这个引用计数就加1, 每减少一个使用者,引用计数就减一,如果连最后一个使用者都释放了 这个urb,宣称不再使用它了*

2013-04-18 16:10:00 1266

原创 USB Core二

/** * usb_alloc_dev - usb device constructor (usbcore-internal) * @parent: 设备连接的那个hub * @bus: 设备连接的那条总线 * @ port1 就是设备连接在hub 上的那个端口 * Context: !in_interrupt() * * Only hub drivers (inc

2013-04-18 14:53:47 1577

原创 LCD驱动

视频卡的各个属性保存在struct fb_var_screeninfostruct fb_var_screeninfo { __u32 xres; /* visible resolution 可视分辨率*/ __u32 yres; __u32 xres_virtual; /* virtual resolution 虚拟分辨率*/ __u32 yres_virtual;

2013-04-12 14:55:25 780

java eclipse1

java eclipse1

2014-12-28

java eclipse2

java eclipse2

2014-12-28

java eclipse3

eclipse3

2014-12-28

linux那些事儿

linux那些事儿 usb core,usb hub ,ehci ,ohci,uhci

2013-04-17

S3C2440A触摸屏驱动分析

S3C2440A触摸屏驱动分析,包括触摸屏分类,原理,源码

2011-10-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除