linux hub设备,Linux设备驱动之USB hub驱动(续)

news/2024/11/22 18:09:12/

5.2.2:接口驱动中的hub_thread()函数

我们之前在分析usb_hub_init()的代码的时候,忽略掉了一部份.

代码片段如下所示:

int usb_hub_init(void)

{

……

khubd_task = kthread_run(hub_thread, NULL, "khubd");

……

}

Kthread_run()是kernel中用来启动一个新kernel线程的接口,它所要执行的函数就是后面跟的第一个参数.在这里,也就是hub_thread().另外,顺带提一句,要终止kthread_run()创建的线程,可以调用kthread_stop().

Hub_thread()的代码如下:

static int hub_thread(void *__unused)

{

set_freezable();

do {

hub_events();

wait_event_freezable(khubd_wait,

!list_empty(&hub_event_list) ||

kthread_should_stop());

} while (!kthread_should_stop() || !list_empty(&hub_event_list));

pr_debug("%s: khubd exiting\n", usbcore_name);

return 0;

}

在上面的代码中, kthread_should_stop()用来判断是否有kthread_stop()将其终止.

在这里,我们终止看到,我们在前面要唤醒的等待队列khubd_wait,也就是在这


http://www.ppmy.cn/news/334978.html

相关文章

USB hub 多usb接口重映射:udev 规则

USB hub 多usb接口重映射:udev 规则 你在开发的过程中是否会出现 USB端口号会发生变化。 例如: 机器人底盘与雷达都是 ttyUSB* .其序号与接入的先后有关。 对于写好的launch每次修改对应接口是不是 很麻法,或者每次得先插入一个再插另外一个…

USB HUB 方案

MA8608 USB 2.0 High Speed 4-Port Hub Controller ( USB 2.0高速端口集线器控制器) 描述: MA8608是USB 2.0高速端口集线器控制器的高性能解决方案,与通用串行总线规范2.0完全兼容。当4个DS(下游)端口同时作用时,控…

linux 贝尔金usb网卡,完全无线!贝尔金USB Hub与无线路由搭配实战

1拆包USB HUB 上阵子给高飞猪当了一回模特,拍了一出Network USB Hub的行情轻喜剧,不过也好,最近爽爽快快感受了一回什么叫“统统无线”,高飞猪就没这福气咯,嘿嘿。 话说回来,这款Network USB 是将以太网络连…

数字电路硬件设计系列(二十二)之USB HUB电路设计

针对设计过程中的问题,如有疑问,欢迎留言评论!点我返回目录 1 简介 USB_HUB电路指一种可以将一个USB接口扩展为多个(通常为4个),并可以使这些接口同时使用的电路。USB是一种外部总线标准,用于规…

android手机 usb hub,[RK3288][Android6.0] USB hub初始化流程小结

Platform: ROCKCHIP OS: Android 6.0 Kernel: 3.10.92 上一篇文件小结了USB设备的枚举过程,而设备是插入到hub上才被检测到的. 这里小结hub的初始化,假设初始化之前USB设备已经插入,并且这里讨论的是 root hub,非root hub的行为会和usb设备类似. usb core初始化会创建一个hub t…

HUB集线器测试软件,USB Hub.Connectivity 测试先决条件

USB Hub.Connectivity 测试先决条件 10/11/2018 本文内容 本主题介绍使用 Windows 硬件实验室工具包 (Windows HLK) 来测试 USB 集线器之前必须完成的任务: 硬件要求 USB 设备测试需要以下硬件。 如果设备包括附加功能,则可能需要额外的硬件。 一台测试计算机。 测试计算机必…

usb hub驱动

参考文章:https://blog.csdn.net/fudan_abc/article/details/1779800 资料:https://pan.baidu.com/s/1AZlZsqF_-VGREzLaQPdY9Q 提取码:15ky static const struct usb_device_id hub_id_table[] {{ .match_flags USB_DEVICE_ID_MATCH_VEN…

ps软件怎么测试性能,怎么用ps测试电脑性能 设计师要知道

对于设计师而言,电脑是吃饭的工具,如果工具不趁手,势必事倍功半。我相信大多数准备入行或已经工作多年的设计师,都明白这个道理。 画布的创建 先说大家熟悉的 Photoshop,这是一款位图软件,而它重要的功能就…