rtw89: pci: add struct rtw89_pci_info
authorPing-Ke Shih <pkshih@realtek.com>
Mon, 7 Mar 2022 06:04:46 +0000 (14:04 +0800)
committerKalle Valo <kvalo@kernel.org>
Thu, 10 Mar 2022 16:42:06 +0000 (18:42 +0200)
Use this struct to implement chip::ops related to PCI interface.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220307060457.56789-3-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/core.h
drivers/net/wireless/realtek/rtw89/pci.c
drivers/net/wireless/realtek/rtw89/pci.h
drivers/net/wireless/realtek/rtw89/rtw8852ae.c
drivers/net/wireless/realtek/rtw89/rtw8852ce.c

index d203e4c..8b36972 100644 (file)
@@ -13,6 +13,7 @@
 #include <net/mac80211.h>
 
 struct rtw89_dev;
+struct rtw89_pci_info;
 
 extern const struct ieee80211_ops rtw89_ops;
 
@@ -2306,8 +2307,13 @@ struct rtw89_chip_info {
        u8 ps_mode_supported;
 };
 
+union rtw89_bus_info {
+       const struct rtw89_pci_info *pci;
+};
+
 struct rtw89_driver_info {
        const struct rtw89_chip_info *chip;
+       union rtw89_bus_info bus;
 };
 
 enum rtw89_hcifc_mode {
@@ -2858,6 +2864,7 @@ struct rtw89_dev {
        bool dbcc_en;
        struct rtw89_hw_scan_info scan_info;
        const struct rtw89_chip_info *chip;
+       const struct rtw89_pci_info *pci_info;
        struct rtw89_hal hal;
        struct rtw89_mac_info mac;
        struct rtw89_fw_info fw;
index 6481085..9f2a23e 100644 (file)
@@ -2937,6 +2937,7 @@ int rtw89_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 
        info = (const struct rtw89_driver_info *)id->driver_data;
        rtwdev->chip = info->chip;
+       rtwdev->pci_info = info->bus.pci;
 
        ret = rtw89_core_init(rtwdev);
        if (ret) {
index 7f1ee15..2b8bbfa 100644 (file)
@@ -382,6 +382,9 @@ enum rtw89_pcie_clkdly_hw {
        PCIE_CLKDLY_HW_200US = 0x5,
 };
 
+struct rtw89_pci_info {
+};
+
 struct rtw89_pci_bd_ram {
        u8 start_idx;
        u8 max_num;
index de93280..527c0bb 100644 (file)
@@ -8,8 +8,14 @@
 #include "pci.h"
 #include "rtw8852a.h"
 
+static const struct rtw89_pci_info rtw8852a_pci_info = {
+};
+
 static const struct rtw89_driver_info rtw89_8852ae_info = {
        .chip = &rtw8852a_chip_info,
+       .bus = {
+               .pci = &rtw8852a_pci_info,
+       },
 };
 
 static const struct pci_device_id rtw89_8852ae_id_table[] = {
index ee700bb..f3ce71c 100644 (file)
@@ -9,8 +9,14 @@
 #include "reg.h"
 #include "rtw8852c.h"
 
+static const struct rtw89_pci_info rtw8852c_pci_info = {
+};
+
 static const struct rtw89_driver_info rtw89_8852ce_info = {
        .chip = &rtw8852c_chip_info,
+       .bus = {
+               .pci = &rtw8852c_pci_info,
+       },
 };
 
 static const struct pci_device_id rtw89_8852ce_id_table[] = {