前言
上一章讲到了如何通过上层逐步调用到底层ndo_open接口的,这章就以驱动视角分析ndo_open具体做了什么吧
三、CNSS2
要讲ndo_open
具体做了什么需要先了解qcom wlan驱动大致结构。
这里先大致用一个图说明一下:
上图中的qcacld3.0
就是wlan的驱动,主要的网络接口注册以及网卡一些控制相关都是在这个驱动中执行的,可以理解为他就是Host,从文件中常见的hdd
就是host device driver
缩写。而作为开发者,通常这里我们是不需要关注的,毕竟qcom平台已经帮你实现的基本差不多了。
那么我们关注的更多的cnss2
这一驱动模块,cnss2
全称是connectivity subsystem 2.0
,它可以理解为qcom单独将针对芯片的电源等端子以及接口的控制打包进子系统中进行管理,这样修改比较方便。如使用不同的接口如pcie、sdio等,以及硬件端子的变更,或者电源时序的控制等变更