01、总线设备驱动模型的引入

一、传统写法
直接在代码里写死要用哪个引脚、怎么操作。

优点:简单到极致,能快速实现功能。 缺点:如果要换引脚,必须改代码重新编译;后期扩展功能很麻烦。
二、总线设备驱动模型
用 platform_device 和 platform_driver 把硬件资源和驱动代码分开管理。

优点:驱动和硬件配置分离,扩展性比传统写法好。 缺点:代码复杂度增加;虽然驱动部分改动少,但换引脚时仍需改设备端代码并重新编译。
三、设备树
通过外部配置文件(.dts 文件)定义硬件资源,驱动从文件里读取配置。

优点:
- 配置和代码彻底分离,改引脚只需改配置文件。
- 不用重新编译驱动或内核,只要生成新的设备树二进制文件(
.dtb)就行。 缺点:代码比前两种方式复杂一点,但后期维护最灵活。
总结对比:
- 传统写法:最快上手,但扩展性和灵活性最差。
- 总线模型:中间方案,驱动和硬件分离但仍有冗余代码。
- 设备树:最灵活,改硬件配置不用改代码,适合长期维护的项目。