@@ -13,6 +13,7 @@
#include <net/mac80211.h>
struct rtw89_dev;
+struct rtw89_pci_info;
extern const struct ieee80211_ops rtw89_ops;
@@ -2281,8 +2282,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 {
@@ -2829,6 +2835,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;
@@ -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) {
@@ -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;
@@ -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[] = {
@@ -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[] = {
Use this struct to implement chip::ops related to PCI interface. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> --- drivers/net/wireless/realtek/rtw89/core.h | 7 +++++++ drivers/net/wireless/realtek/rtw89/pci.c | 1 + drivers/net/wireless/realtek/rtw89/pci.h | 3 +++ drivers/net/wireless/realtek/rtw89/rtw8852ae.c | 6 ++++++ drivers/net/wireless/realtek/rtw89/rtw8852ce.c | 6 ++++++ 5 files changed, 23 insertions(+)