当前位置: 首页 > news >正文

usb储存之BOT/UAS内核驱动

usb储存驱动

声明

drivers/usb/storage/usb.c

static struct usb_driver usb_storage_driver = {.name =		DRV_NAME,.probe =	storage_probe, //这里是挂载.disconnect =	usb_stor_disconnect,.suspend =	usb_stor_suspend,.resume =	usb_stor_resume,.reset_resume =	usb_stor_reset_resume,.pre_reset =	usb_stor_pre_reset,.post_reset =	usb_stor_post_reset,.id_table =	usb_storage_usb_ids,.supports_autosuspend = 1,.soft_unbind =	1,
};// 这里是usb主机储存控制器的驱动模板挂载
module_usb_stor_driver(usb_storage_driver, usb_stor_host_template, DRV_NAME);

普通BOT挂载流程

如果为UAS或非常规设备,则退出storage_probe。

drivers/usb/storage/usual-tables.c 的两个数组列表

  • 非规设备 ignore_ids[]
  • UAS列表 usb_storage_usb_ids[]

UAS判断:uas_use_uas_driver

	/* If uas is enabled and this device can do uas then ignore it. */
#if IS_ENABLED(CONFIG_USB_UAS)if (uas_use_uas_driver(intf, id, NULL))return -ENXIO;
#endif

非规设备判断:

	/** If the device isn't standard (is handled by a subdriver* module) then don't accept it.*/if (usb_usual_ignore_device(intf))return -ENXIO;

然后就会走usb_stor_probe1和usb_stor_probe2流程

流式UAS挂载

drivers/usb/storage/uas.c
image

http://www.hskmm.com/?act=detail&tid=31756

相关文章:

  • 简述flux思想?
  • 风控评分卡
  • 20232428 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • JAVA对象内存布局
  • 20232409 2025-2026-1 《网络与系统攻防技术》实验二实验报告
  • 10月15号
  • 记录一次客户现场环境,银河麒麟V10操作系统重启后,进入登录页面后卡死,鼠标键盘无响应的解决过程
  • 图 生成树
  • DolphinScheduler 3.1.9 单机版重启后,项目、流程定义等数据全部丢失
  • ManySpeech.AliParaformerAsr 使用指南
  • 资料拿取表
  • 易路:以“薪酬科技+AI”重塑中国企业薪酬管理新范式
  • 2025年太阳能板终极指南:选择、趋势与品牌推荐
  • 洛谷题单指南-进阶数论-CF776B Sherlock and his girlfriend
  • 下雪了 - L
  • 10/15
  • 2025 印尼物流专线公司推荐榜:聚焦合规高效,深圳恒翔物流凭实力登榜
  • 人文创新研究:在意义的边界探寻新境
  • 平面图最小割与对偶图最短路 - 干
  • 深入解析:Nodejs开发环境搭建
  • 项目管理:PERT/CPM
  • 智能物联网的实时通信之钥——WebSocket
  • 2025 苏州注册公司服务机构实用推荐:选择深度解析
  • 可信AI研究获资助,10位博士生探索算法公平与隐私
  • LeetCode | 45. 跳跃游戏 II(转载)
  • 实用指南:【在Ubuntu 24.04.2 LTS上安装Qt 6.9.2】
  • 基于MATLAB的车道线检测
  • 卷积神经网络读书报告
  • 在AI技术快速实现创意的时代,挖掘邮件营销系统新需求成为关键突破点
  • 完成一个商城购物车的程序.