使用过platform_device结构体来描述led设备(硬件资源)。既然已经有了描述设备的方法了,为什么还要引入设备树呢?
因为Linux内核中有很多BSP(板级支持包),不同的BSP会包含着不同的描述设备的代码(.c或.h文件)。
随着芯片的发展,Linux内核中就包含着越来越多这些描述设备的代码,导致Linux内核代码越来越臃肿。
这导致Linux之父Linus 大发雷霆:"this whole ARM thing is a f*cking pain in the ass"。
因此引入了设备树文件,从而可精简一些臃肿的C代码。除此之外,.dts编译生成.dtb文件的过程要比.c编译生成驱动模块、加载驱动模块的过程要简单很多,也更方便我们进行开发。