1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
2 /* Copyright(c) 2020-2021  Realtek Corporation
3  */
4 
5 #include <linux/module.h>
6 #include <linux/pci.h>
7 
8 #include "pci.h"
9 #include "rtw8852a.h"
10 
11 static const struct rtw89_pci_info rtw8852a_pci_info = {
12 	.dma_addr_set		= &rtw89_pci_ch_dma_addr_set,
13 };
14 
15 static const struct rtw89_driver_info rtw89_8852ae_info = {
16 	.chip = &rtw8852a_chip_info,
17 	.bus = {
18 		.pci = &rtw8852a_pci_info,
19 	},
20 };
21 
22 static const struct pci_device_id rtw89_8852ae_id_table[] = {
23 	{
24 		PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8852),
25 		.driver_data = (kernel_ulong_t)&rtw89_8852ae_info,
26 	},
27 	{
28 		PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0xa85a),
29 		.driver_data = (kernel_ulong_t)&rtw89_8852ae_info,
30 	},
31 	{},
32 };
33 MODULE_DEVICE_TABLE(pci, rtw89_8852ae_id_table);
34 
35 static struct pci_driver rtw89_8852ae_driver = {
36 	.name		= "rtw89_8852ae",
37 	.id_table	= rtw89_8852ae_id_table,
38 	.probe		= rtw89_pci_probe,
39 	.remove		= rtw89_pci_remove,
40 	.driver.pm	= &rtw89_pm_ops,
41 };
42 module_pci_driver(rtw89_8852ae_driver);
43 
44 MODULE_AUTHOR("Realtek Corporation");
45 MODULE_DESCRIPTION("Realtek 802.11ax wireless 8852AE driver");
46 MODULE_LICENSE("Dual BSD/GPL");
47