硬件驱动中platform机制及其设备树

本文详细介绍了Linux内核中的platform机制,包括驱动分离思想、设备树下的platform、platform模型,以及如何在设备树中描述设备信息。重点讨论了platform_device和platform_driver数据结构,以及如何注册和注销。此外,还提到了在驱动程序和应用程序中的实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

平时一般都使用字符设备框架来编写简单的IO读写驱动,如果遇到复杂的总线设备时, 仅有字符设备框架是应付不过来的,复用性也很难保证,不符合linux的设计思想。比如,SPI总线挂载了多个设备时,这些设备的驱动实现就需要用到驱动分离的思想,为此linux内核提供了platform机制

一,驱动分离思想:linux内核分离思想

1,描述

我们点亮LED实验中的驱动,到底是IO驱动还是LED的驱动呢?暂时结合起来看作是IO_LED驱动,这时候又用到按键设备,又有了IO_KEY驱动, 要使用蜂鸣器,就会出现IO_BUZZER驱动,每多一个设备,就会多一个IO_XXX驱动。这些IO_XXX驱动中,IO的部分几乎是一样的,为了保证代码的简洁,把IO的部分单独拎出来,写成一个IO驱动,然后设备的驱动就只剩下设备自身的内容,只需要调用IO驱动中的接口即可。

linux的一大卖点是方便移植,现在需要在其他的硬件平台上运行使用返些设备驱动又会发成什么情况呢。不同厂家SOC上的GPIO底层的实现都有所差别,那每出现一个新的SOC&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒听雪落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值