在这篇文章中,我们将讨论高通 WLAN 驱动程序中的对象管理器模块(Object Manager)。
主要数据结构
在整个 WLAN 驱动程序中,对象管理器模块主要负责管理 3 个对象:
- psoc(Physical System on Chip)
- pdev(Physical Device)
- vdev(Virtual Device)
他们之间的关系如下已经在开篇图中有所展示。
在全局的 wlan_objmgr_global
对象中包括了有一个 psoc
的指针数组,在每个psoc
对象中又包括了一个 soc_objmgr
对象,这个对象中包括了一个 pdev
的指针数组,和一个 vdev
的指针数组。
每一个 pdev
对象中又包括了一个 pdev_objmgr
对象,这个对象中包括了一个 psoc
的指针,指向了当前 pdev
对象所属的 psoc
对象。
每一个 vdev
对象中又包括了一个 vdev_objmgr
对象,这个对象中包括了一个 pdev
的指针,指向了当前 vdev
对象所属的 pdev
对象。
在整个 WLAN 驱动程序中,几乎所有的配置、状态信息都会附加在这些对象上来进行管理。