下面介绍的函数都出自以下的Linux源码文件:
driver/usb/core/message.c
该文件内包含许多关于同步信息处理的函数,具体内容在文件中都有注释介绍,该处我只选择在USB驱动程序设计中常用到的几个函数进行分析,当然,都是我个人理解,有问题请指教。
另外,这里我想说,美国人真的很喜欢递归,不论是makefile文件的语法,还是编程习惯,几乎无处不用递归。他们总是从问题的根源开始,慢慢告知你这些东西的用处,写代码的时候,也是最基础的函数写在前,最终的大型函数在后。这里我就不再用这种方式去讲了,我还是从大的开始讲。
1. usb_get_device_descriptor(struct usb_device *dev,unsigned int size)
该函数的作用是:获取设备描述符,同时该函数是同步的,也就是说,不可用在中断上下文。
函数主要做的事,就是内部调用了 usb_get_descriptor() 函数,下面会介绍。
2. usb_get_descriptor(struct usb_device *dev, unsigned char type, unsigned char index, void *buf, int size)
该函数的作用是:获取设备的描述符,