【008 设备驱动】设备驱动模型三个重要成员是?platform总线的匹配规则是?

news/2024/11/17 3:48:17/

一、设备驱动模型的三个重要成员是?

  1. struct device 表示一个真实的或虚拟的设备
  2. struct device_driver 表示一个设备的驱动程序
  3. struct bus_type 表示一个总线类型


二、platform总线的匹配规则是?

1.设备树匹配方式

// 设备树
leds {compatible = "my-leds";led@0 {reg = <0>;label = "LED0";};led@1 {reg = <1>;label = "LED1";};
};// 驱动
static const struct of_device_id my_leds_of_match[] = {{ .compatible = "my-leds", },{ /* sentinel */ }
};

2.id_table 匹配

static struct platform_driver xxx_driver = { .driver = { .name       = "xxx",// 直接比较驱动和设备的name字段。就是这里基类里面的name .of_match_table = xxx_of_match, // 设备树相关的匹配表,structof_device_id类型数组,这里相当于数组首地址}, .probe      = xxx_probe, .remove     = xxx_remove, 
}; 

3.第三种匹配方式的 id_table 不存在的话就直接比较驱动和设备的 name 字段

4.ACPI 匹配方式。 


三、是否需要先注册驱动再注册设备?有无先后顺序?

在Linux的platform模型中,设备和驱动程序是分开注册的,但是它们之间没有先后顺序的限制,可以先注册驱动程序,也可以先注册设备。

这两者之间的关系是驱动程序负责处理与特定硬件相关的操作,而设备则代表实际的硬件组件。

  1. 先注册 platform_device,再注册 platform_driver

    这种情况下,当设备被注册时,内核会尝试为其找到匹配的驱动。如果驱动尚未注册,那么设备将保持不活动状态直到匹配的驱动被注册。在驱动注册后,内核会自动将设备和驱动进行绑定,这时驱动的 probe() 函数会被调用。

  2. 先注册 platform_driver,再注册 platform_device

    当驱动先被注册时,内核会将其加入到驱动列表中。然后,当设备被注册时,内核会尝试与已注册的驱动进行匹配。如果找到匹配的驱动,设备和驱动之间会自动绑定,驱动的 probe() 函数会被调用。


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

相关文章

NFS (NAS 网络存储)DRBD高可用

NFS &#xff08;NAS 网络存储&#xff09;DRBD高可用 安装准备 服务器信息 IP地址角色、主机名192.168.1.97nfs-master.host.com192.168.1.98nfs-backup.host.com192.168.1.10keepalived VIP 系统信息 Static hostname: nfs-master.host.comIcon name: computer-vmChassis…

Ceph分布式存储的搭建(增加mon节点、模拟osd节点故障恢复)

文章目录 一、Ceph分布式存储 1.1、Ceph文件系统简述 1.2、Ceph的优点 二、Ceph架构和名称解释 2.1、Ceph架构 2.2、Ceph集群组件 三、Ceph的存储过程 四、Ceph搭建过程 4.1、环境准备 4.2、搭建集群前的配置 4.3、安装ceph集群 4.4、Ceph扩容操作 4.5、模拟故障osd恢复 一、Ce…

Ceph对象存储单机部署

Ceph对象存储单机部署 一、单节点部署规划 主机名IP地址操作系统磁盘空间角色services-ceph192.168.11.21CentOS Linux release 7.6.1810 (Core)系统盘&#xff1a;50G 数据盘&#xff1a;200Gceph-deploy、monitor、mgr、rgw、mds、osd 二、角色说明 组件名称组件功能Moni…

Hadoop海量级分布式存储

一、Hadoop简介&#xff1a; 1.大数据略知一二&#xff1a; 1&#xff09;大数据&#xff08;big data&#xff09;&#xff0c;指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合&#xff0c;是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化…

文件服务器和nas存储,nas存储 文件服务器

nas存储 文件服务器 内容精选 换一换 资源池是BCE所需要使用的计算资源的集合。BCE的资源池由CCE和CCI提供&#xff0c;分为共享资源池、专属资源池、cromwell资源池。批量任务投递时所选择的队列&#xff0c;在进行任务调度时&#xff0c;会根据队列的权重进行优先调度。通过作…

华为分布式文件存储服务器配置,分布式存储服务器

分布式存储服务器 内容精选 换一换 SAP NetWeaver分布式HA部署如图1所示该部署方式是由多个SAP实例组成&#xff0c;一个SAP实例是一组同时开始和结束的进程。在分布式HA系统中&#xff0c;所有实例都运行在独立的云服务器上&#xff0c;主要包括以下实例&#xff1a;ASCS Inst…

nas存储服务器操作系统,nas存储服务器

nas存储服务器 内容精选 换一换 在SAP系统中&#xff0c;如果选择共享文件系统由SFS Turbo而非NFS Server提供时&#xff0c;例如&#xff1a;SAP HANA中的backup卷或者shared卷&#xff0c;您需要创建SFS Turbo文件系统&#xff0c;提供共享路径给SAP节点。如果您选择使用SFS …