受身无间者永远不死,寿长乃无间地狱中之大劫。
----电影《无间道》经典台词
文章目录
一、设备树引入与作用
上一节在介绍总线设备驱动模型时,提到platform平台修改引脚时,设备端的代码需要重新编译生成platform_device结构体,同时过多的设备对应的.c文件也会造成过多的冗余代码,致使以优雅冠称的Linux臃肿不堪,Linus祖师爷自然要发火,于是就有了设备树。
设备树和总线驱动模型Platform是类似的,都是构造platform_device,不涉及驱动程序核心。而设备树是如何做到优雅的呢?看下图左侧部分,使用配置文件让系统生成Platform_device!
需要牢记的一点是:设备树不可能用来写驱动。
设备树只是用来给内核里的驱动程序, 指定硬件的信息。比如 LED 驱动,在内核的驱动程序里去操作寄存器,但是操作哪一个引脚?这由设备树指定。
一个