易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux设备驱动之USB hub驱动


------------------------------------------
本文系本站原创,欢迎转载!
转载请注明出处:http://ericxiao.cublog.cn/
------------------------------------------
一:前言
继UHCI的驱动之后,我们对USB Control的运作有了一定的了解.在接下来的分析中,我们对USB设备的驱动做一个全面的分析,我们先从HUB的驱动说起.关于HUB,usb2.0 spec上有详细的定义,基于这部份的代码位于linux-2.6.25/drivers/usb/core下,也就是说,这部份代码是位于core下,和具体设备是无关的,因为各厂商的hub都是按照spec的要求来设计的.
二:UHCI驱动中的root hub
记得在分析UHCI驱动的时候,曾详细分析过root hub的初始化操作.为了分析方便,将代码片段列出如下:
usb_add_hcd() à usb_alloc_dev():
struct usb_device *usb_alloc_dev(struct usb_device *parent,
               struct usb_bus *bus, unsigned port1)
{
    ……
    ……
    //usb_device,内嵌有struct device结构,对这个结构进行初始化
    device_initialize(&dev->dev);
    dev->dev.bus = &usb_bus_type;
    dev->dev.type = &usb_device_type;
    ……
    ……
}
一看到前面对dev的赋值,根据我们对设备模型的理解,一旦这个device进行注册,就会发生driver和device的匹配过程了.
不过,现在还不是分析这个过程的时候,我们先来看一下,USB子系统中的两种驱动.
 
三:USB子系统中的两种驱动
linux-2.6.25/drivers/usb/core/driver.c中,我们可以找到两种register driver的方式,分别为usb_register_driver()和usb_register_device_driver().分别来分析一下这两个接口.
 
usb_register_device_driver()接口的代码如下:
int usb_register_device_driver(struct usb_device_driver *new_udriver,
        struct module *owner)
{
    int retval = 0;
 
    if (usb_disabled())
        return -ENODEV;
 
    new_udriver->drvwrap.for_d


相关文档:

实战Linux Bluetooth编程(四) L2CAP层编程

(L2CAP协议简介,L2CAP在BlueZ中的实现以及L2CAP编程接口)
一:L2CAP协议简介:
Logical Link Control and Adaptation Protocol(L2CAP)
逻辑连接控制和适配协议 (L2CAP) 为上层协议提供面向连接和无连接的数据服务,并提供多协议功能和分割重组操作。L2CAP 充许上层协议和应用软件传输和接收最大长度为 64K 的 L2CAP � ......

Linux安装oracle


Linux安装oracle
首先,准备安装需要的软件包和补丁包:  
从网上下载升级补丁包,用于将Oracle9.2.0升级到9.2.0.4:  
p3006854_9204_LINUX.zip  
所有的补丁说明如下:  
p3095277_9204_LINUX.zip 9.2.0.4.0的升级补丁包.  
p3006854_9204_LINUX.zip 在运行 ......

Linux环境下各个浏览器的比较

Linux环境下各个浏览器的比较
2009年05月11日 星期一 09:46
kingliyou写道 "如果你还是一个Linux的菜鸟,那么你首先会对它集成的网页浏览器有兴趣而不是那些文字编辑器,开发用IDE等。那么除了耳熟能详的Firefox外你还对下面那一款感兴趣呢?
Konqueror:KDE桌面环境下著名的"半红不黑"的浏览器;它稳定,它简洁,它装载� ......

linux下安装apache+php


linux下安装apache+php
                                      
1.apache
在如下页面下载apache的for linux 的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号