驱动的 HAL 层 HIDL 服务注册在 hardware/interfaces/wifi/1.4/default/service.cpp 的 main 函数中,其对应的IWifi 方法定义在下面文件:
hardware/interfaces/wifi/1.2/IWifi.hal
hardware/interfaces/wifi/1.3/IWifi.hal
hardware/interfaces/wifi/1.4/IWifi.hal
hardware/interfaces/wifi/1.0/IWifi.hal
hardware/interfaces/wifi/1.1/IWifi.hal
实际实现是在如下文件中:
hardware/interfaces/wifi/1.4/default/wifi.cpp
hardware/interfaces/wifi/1.4/default/wifi.h
前面的 service.cpp 中 main 以单独的应用启动,其服务注册到系统中,从而可以被调用,对应的各个模块实现均在这部分代码中
wpa_supplicant 的实现在 external/wpa_supplicant_8/wpa_supplicant/ ,其对应的 HIDL 服务在 wpa_supplicant 的 main.c 的 main 函数中,调用过程如下:
main -> wpa_supplicant_init -> wpas_notify_supplicant_initialized -> wpas_hidl_init -> registerHidlService
对应的代码都是由 CONFIG_HIDL 进行控制的