Linux设备驱动的软件架构思想与设备驱动的基础内容总结

本文总结了Linux设备驱动的软件架构思想,重点介绍了Linux如何通过总线bus和类class来管理和匹配设备驱动。Linux使用总线统一管理相似驱动和设备,驱动通过标准途径获取设备信息,实现驱动的高适应性和设备的兼容性。以platform平台总线为例,阐述了驱动和设备的匹配过程,包括设备树匹配、ACPI匹配、ID表匹配和name匹配,以及匹配成功后probe回调函数的执行。平台设备总线的应用实现了驱动与设备的分离,增强了驱动的扩展性和硬件适配灵活性。
摘要由CSDN通过智能技术生成

Linux设备驱动的软件架构思想与设备驱动的基础内容总结

Linux是一个兼容性特别强的一个系统,而兼容性的实现与驱动强大的适应性密不可分。而这个具体的实现是离不开 总线bus和类class的管理方式。

Linux使用bus统一的管理一系列相似的驱动和设备,而又将具有同一类设备特色的设备利用同一个类class进行管理。 设备驱动模型中,每一种总线的注册函数中都将关于使用此总线进行管理的设备的公共部分进行了封装,而留给了驱动开发者进行一些设备独有的信息的填充接口。

通过总线的管理,驱动只用管驱动,设备只管设备,总线则负责匹配驱动和设备,而驱动则以标准的途径拿取设备的板载信息,这样驱动就可以匹配多个不同的设备了。

关于设备和驱动的匹配,以paltform平台总线为例简单的分析如下:

在驱动的注册函数 platform_driver_register(struct platform_driver *drv)的实现中,驱动框架为我完成了一部分通用的程序操作。 将与驱动相关的一些信息进行了填充,对回调函数进行了赋值,最后注册了驱动:

Ret=platform_driver_register(&sunxi_keyboard_driver)               
#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值