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