Tag: ath9k

  • Qualcomm ath9k 驅動程式解析 (二) - 幾個重要結構

    ieee80211_local *local 用途: contains information about the real hardware, and is created when the interface is first added. (Daniel Caps Mur, Linux Wi-Fi open source drivers-mac80211,ath9k/ath5k-, pp.1) each instance of these (hw is embedded into local) represents a wireless driver, ieee80211_hw is the part of the ieee80211_local that is visible to drivers, contains all operating […]

  • Qualcomm ath9k 驅動程式解析 (一) - 初始化過程

    以 linux-4.19-rc2 為例,平台為 TP-Link WDR4300。程式碼以 linux-4.19-rc2 為準,有特別標示者以 OpenWrt/LEDE 為準。 1. ath9k 驅動程式註冊點:ath9k/init.c#ath9k_init(void) [crayon-6518530b763fe650707435/] 主要有三件事情,(1) 初始化 PCI 匯流排、(2) 初始化 AHB 匯流排、(3) 初始化 quirks: [crayon-6518530b76403425175120/] 2. 初始化 PCI 匯流排:ath9k/pci.c#ath_pci_init(void) [crayon-6518530b76405113127671/] 這邊傳入 struct pci_driver ath_pci_driver 當參數,ath_pci_driver 定義為: [crayon-6518530b76407504293748/] struct pci_driver 本身定義了一些 PCI driver 的 method, 同時有 struct device_driver 給 device driver-model 使用 (The struct device_driver structure, which represents one driver capable of handling certain devices […]