xref: /freebsd/sys/contrib/dev/rtw88/rtw8814ae.c (revision eb15fdb1b72de02e7a4c454f7eeeb1cee5cb83df)
1*eb15fdb1SBjoern A. Zeeb // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
2*eb15fdb1SBjoern A. Zeeb /* Copyright(c) 2025  Realtek Corporation
3*eb15fdb1SBjoern A. Zeeb  */
4*eb15fdb1SBjoern A. Zeeb 
5*eb15fdb1SBjoern A. Zeeb #include <linux/module.h>
6*eb15fdb1SBjoern A. Zeeb #include <linux/pci.h>
7*eb15fdb1SBjoern A. Zeeb #include "pci.h"
8*eb15fdb1SBjoern A. Zeeb #include "rtw8814a.h"
9*eb15fdb1SBjoern A. Zeeb 
10*eb15fdb1SBjoern A. Zeeb static const struct pci_device_id rtw_8814ae_id_table[] = {
11*eb15fdb1SBjoern A. Zeeb 	{
12*eb15fdb1SBjoern A. Zeeb 		PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8813),
13*eb15fdb1SBjoern A. Zeeb 		.driver_data = (kernel_ulong_t)&rtw8814a_hw_spec
14*eb15fdb1SBjoern A. Zeeb 	},
15*eb15fdb1SBjoern A. Zeeb 	{}
16*eb15fdb1SBjoern A. Zeeb };
17*eb15fdb1SBjoern A. Zeeb MODULE_DEVICE_TABLE(pci, rtw_8814ae_id_table);
18*eb15fdb1SBjoern A. Zeeb 
19*eb15fdb1SBjoern A. Zeeb static struct pci_driver rtw_8814ae_driver = {
20*eb15fdb1SBjoern A. Zeeb 	.name = KBUILD_MODNAME,
21*eb15fdb1SBjoern A. Zeeb 	.id_table = rtw_8814ae_id_table,
22*eb15fdb1SBjoern A. Zeeb 	.probe = rtw_pci_probe,
23*eb15fdb1SBjoern A. Zeeb 	.remove = rtw_pci_remove,
24*eb15fdb1SBjoern A. Zeeb 	.driver.pm = &rtw_pm_ops,
25*eb15fdb1SBjoern A. Zeeb 	.shutdown = rtw_pci_shutdown,
26*eb15fdb1SBjoern A. Zeeb #if defined(__FreeBSD__)
27*eb15fdb1SBjoern A. Zeeb 	.bsddriver.name = KBUILD_MODNAME,
28*eb15fdb1SBjoern A. Zeeb #endif
29*eb15fdb1SBjoern A. Zeeb };
30*eb15fdb1SBjoern A. Zeeb module_pci_driver(rtw_8814ae_driver);
31*eb15fdb1SBjoern A. Zeeb 
32*eb15fdb1SBjoern A. Zeeb MODULE_AUTHOR("Bitterblue Smith <rtl8821cerfe2@gmail.com>");
33*eb15fdb1SBjoern A. Zeeb MODULE_DESCRIPTION("Realtek 802.11ac wireless 8814ae driver");
34*eb15fdb1SBjoern A. Zeeb MODULE_LICENSE("Dual BSD/GPL");
35