usb hub 要驱动 linux,Linux下的USB HUB驱动

本文深入剖析Linux系统下USB HUB的接口驱动架构,详细解释了如何进行设备与驱动的匹配,包括静态和动态匹配过程,以及相关匹配条件的检查。通过分析`usb_match_id()`和`usb_match_one_id()`函数,理解接口驱动的关键步骤。
摘要由CSDN通过智能技术生成

Linux下的USB HUB驱动

[日期:2012-07-29]

来源:Linux社区

作者:zhengmeifu

[字体:大 中 小]

五:hub接口驱动分析

5.1:接口驱动架构

是时候来分析接口驱动的架构了.

我们在上面看到了接口设备的注册.在开篇的时候分析了接口驱动的注册.我们首先来分析接口驱备和接口驱动的匹配.

代码还是在usb_bus_type->match().只不过是对应另外的一种情况了.将相关代码列出:

static int usb_device_match(struct device *dev, struct device_driver *drv)

{

……

if (is_usb_device(dev)) {

……

}

//interface的情况

else {

struct usb_interface *intf;

struct usb_driver *usb_drv;

const struct usb_device_id *id;

/* device drivers never match interfaces */

if (is_usb_device_driver(drv))

return 0;

intf = to_usb_interface(dev);

usb_drv = to_usb_driver(drv);

id = usb_match_id(intf, usb_drv->id_table);

if (id)

return 1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值