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

【u-boot】u-boot驱动模型-struct uclass_driver

本文基于u-boot版本v2017.11

一、struct uclass_driver简介

一个struct uclass_driver为一组相关的驱动提供统一的接口,struct uclass_driver实现如下:

struct uclass_driver {/*  uclass 驱动的名称 */const char *name;/*  此 uclass 的 ID 号 */enum uclass_id id;/* 当一个新设备绑定到该uclass之后调用 */int (*post_bind)(struct udevice *dev);/* 当一个设备从该 uclass 解绑之前调用 */int (*pre_unbind)(struct udevice *dev);/* 当一个新设备探测(probe)之前调用 */int (*pre_probe)(struct udevice *dev);/* 当一个新设备探测(probe)之后调用 */int (*post_probe)(struct udevice *dev);/* 当一个设备被移除之前调用 */int (*pre_remove)(struct udevice *dev);/* 当一个子设备绑定到该 uclass 中的设备之后调用 */int (*child_post_bind)(struct udevice *dev);int (*child_pre_probe)(struct udevice *dev);/* 用于初始化该 uclass */int (*init)(struct uclass *class);/* 用于销毁该 uclass */int (*destroy)(struct uclass *class);/** 若非零,则表示应为uclass的->priv指针自动分配的私有数据区大小。* 若为零,则表示该uclass驱动需自行分配所需数据。*/int priv_auto_alloc_size;/** 每个设备都可以持有一份由uclass拥有的私有数据。* 若该值非零,则系统会自动为每个设备分配这块内存。*/int per_device_auto_alloc_size;/** 每个设备都可以持有一份由uclass拥有的平台数据,* 存放在dev->uclass_platdata中。* 若该值非零,则系统会自动分配该数据区。*/int per_device_platdata_auto_alloc_size;/** 每个子设备(即属于该uclass中父设备的子设备)* 都可以持有一份与父设备/uclass相关的父级数据。* 若驱动中此成员为 0,则使用此字段作为后备分配大小。*/int per_child_auto_alloc_size;/** 类似于总线(bus)希望为其子设备保存信息。* 若该值非零,则为每个子设备自动分配对应的数据区,* 存放在子设备的parent_platdata指针中。* 若驱动中此成员为0,则使用此字段作为后备值。*/int per_child_platdata_auto_alloc_size;/* uclass的操作集,为该类中的设备提供统一的接口。*/const 
http://www.dtcms.com/a/524441.html

相关文章:

  • 昌吉网站建设公司怎么用php安装wordpress
  • 山西网站建设营销什么价格html模板在哪找
  • MATLAB 实现基于短时傅里叶变换 (STFT) 的音频信号时频分析与可视化
  • 第十章-Tomcat性能测试与实战案例
  • 1.Linux初识
  • 如何在亚马逊做公司网站wordpress文档chm
  • 免费中英文网站源码想做个网站都需要什么
  • 【小程序】指定元素滚动到中间
  • 百度PaddleOCR-VL:基于0.9B超紧凑视觉语言模型,支持109种语言,性能超越GPT-4o等大模型
  • (论文速读)InteractVLM: 基于2D基础模型的3D交互推理
  • 网络基础知识简易急速理解---OSPF开放式最短路径优先协议
  • VTK入门:vtkImageData——3D体素/2D像素的“规则收纳盒”
  • 插入区间--leetcode
  • 网络构建与访问控制实验
  • 利用建e网全景生成VR全景链接
  • 【项目与八股】复习整理笔记
  • 企业门为什么要建设门户网站天津进口网站建设电话
  • OGNL语法实践
  • 二叉树的直径,二叉树中的最大路径和
  • 【无标题】Verilog中generate的用法
  • 代码随想录 105.从前序与中序遍历构造二叉树
  • 微信网站公司用wordpress还是用框架
  • 电子电气架构 --- 汽车软件开发基础V模型
  • 国产数据库替代MongoDB的技术实践过程:金仓多模数据库在电子证照系统中的深度应用
  • 【MATLAB例程】自适应渐消卡尔曼滤波,背景为二维雷达目标跟踪,基于扩展卡尔曼(EKF)|附完整代码的下载链接
  • 【开题答辩全过程】以 博客系统的设计与实现为例,包含答辩的问题和答案
  • 基于 OpenHarmony 分布式数据服务重构 BCI 脑机接口通信系统
  • 投资交易网站开发商标图案大全大图 logo
  • 甘肃住房和城乡建设局网站宁波公司建网站哪家好
  • LangChain第三页【操作指南】_【如何创建一个自定义对话模型类】翻译完成