我一直在尝试了解linux内核中的mfd框架来编写我的驱动程序,但似乎几乎没有任何文档,而且mfd核心本身似乎没有太多有用的注释。所以,我试图理解mfd_cell结构描述的内容。这似乎是这里的基础。我特别感兴趣的是,如果将其用作“x”个子设备的一般抽象,或者它是否适用于完整的子设备层次结构。
答案 0 :(得分:4)
MFD是包含多个子设备的设备。例如,在嵌入式系统中,PMIC通常包含电池管理器,充电器,有时还包含具有无关功能的设备,如USB PHY,音频编解码器,实时时钟......
单元格用于描述子设备。 mfd子系统将使用该结构中注册的信息为每个子设备创建平台设备,以及子设备的platform_data。 您可以指定更高级的内容,例如此设备使用的资源和暂停 - 恢复操作(从子设备的驱动程序调用)。
创建的新平台设备将具有单元结构作为其平台数据,并可通过cell->platform_data
访问真实平台数据。