Page MenuHomeFreeBSD

D57242.id178592.diff
No OneTemporary

D57242.id178592.diff

diff --git a/sys/contrib/dev/mediatek/mt76/zzz_fw_ports_fwget.sh b/sys/contrib/dev/mediatek/mt76/zzz_fw_ports_fwget.sh
--- a/sys/contrib/dev/mediatek/mt76/zzz_fw_ports_fwget.sh
+++ b/sys/contrib/dev/mediatek/mt76/zzz_fw_ports_fwget.sh
@@ -24,6 +24,11 @@
FWSUBDIR=mediatek
CHECKFILE=mt792x.h
+SYS=../../../..
+LINUXKPI_INCLUDES="-I${SYS}/compat/linuxkpi/common/include \
+ -I${SYS}/compat/linuxkpi/dummy/include \
+ -include ${SYS}/compat/linuxkpi/common/include/linux/kconfig.h"
+
################################################################################
#
# Check pre-reqs
@@ -56,8 +61,8 @@
case ${d} in
mt7615) flav=${d} ;;
mt7915) flav=${d} ;;
- mt7921) flav=mt792x ;;
- mt7925) flav=mt792x ;;
+ mt7921) flav=${d} ;;
+ mt7925) flav=${d} ;;
mt7996) flav=${d} ;;
*) printf "ERROR: unsupported directory/flavor '%s'\n" ${d} >&2
exit 1
@@ -80,19 +85,22 @@
get_firmwares_by_flavor()
{
- for h in mt7615/mt7615.h mt7915/mt7915.h mt792x.h mt7996/mt7996.h; do
+ for h in mt7615/mt7615.h mt7915/mt7915.h mt7921/mt7921.h mt7925/mt7925.h mt7996/mt7996.h; do
case ${h} in
mt7615/mt7615.h) flav=mt7615 ;;
mt7915/mt7915.h) flav=mt7915 ;;
- mt792x.h) flav=mt792x ;;
+ mt7921/mt7921.h) flav=mt7921 ;;
+ mt7925/mt7925.h) flav=mt7925 ;;
mt7996/mt7996.h) flav=mt7996 ;;
*) printf "ERROR: unsupported header/flavor '%s'\n" ${h} >&2
exit 1
;;
esac
- awk -v rege="${FWSUBDIR}/" -v flav=${flav} -F\" '{ if ($0 ~ rege) { printf "%s\t%s\n", tolower(flav), $2; } }' ${h} | \
+ # Use preprocessor with a minimal include list to get #defines
+ cpp ${LINUXKPI_INCLUDES} -dM -M -MG -MF /dev/null ${h} | \
+ awk -v rege="${FWSUBDIR}/" -v flav=${flav} -F\" '{ if ($0 ~ rege) { printf "%s\t%s\n", tolower(flav), $2; } }' | \
while read flav fwn; do
if test ! -e ${LFWDIR}/${fwn}; then
#printf "Firmware %s (for %s) does not exist; skipping\n" ${fwn} ${flav} >&2
@@ -253,12 +261,12 @@
# printf "===> did %s flav %s\n" ${did} ${flav} >&2
if test ${n} -eq 1; then
- echo "${did} ${flav}" | awk -v drv=${FWSUBDIR} '{
+ echo "${did} ${flav}" | awk -v drv=${DRIVER} '{
printf "\t%s)\taddpkg \"wifi-firmware-%s-kmod-%s\"; return 1 ;;\n",
tolower($1), drv, tolower($2);
}' >> ${fwgetfile}
else
- echo "${did} ${flav}" | awk -v drv=${FWSUBDIR} '{
+ echo "${did} ${flav}" | awk -v drv=${DRIVER} '{
printf "\t%s)\taddpkg \"wifi-firmware-%s-kmod-%s\"\n",
tolower($1), drv, tolower($2);
}' >> ${fwgetfile}
@@ -276,7 +284,7 @@
#printf "===> did %s flav %s\n" ${did} ${flav} >&2
- echo "${did} ${flav}" | awk -v drv=${FWSUBDIR} '{
+ echo "${did} ${flav}" | awk -v drv=${DRIVER} '{
printf "\t\taddpkg \"wifi-firmware-%s-kmod-%s\"\n",
drv, tolower($2);
}' >> ${fwgetfile}
diff --git a/sys/contrib/dev/rtw88/rtw8812ae.c b/sys/contrib/dev/rtw88/rtw8812ae.c
new file mode 100644
--- /dev/null
+++ b/sys/contrib/dev/rtw88/rtw8812ae.c
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+
+#include <linux/module.h>
+#include <linux/pci.h>
+#include "pci.h"
+#include "rtw8812a.h"
+
+static const struct pci_device_id rtw_8812ae_id_table[] = {
+ {
+ PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8812),
+ .driver_data = (kernel_ulong_t)&rtw8812a_hw_spec
+ },
+ {}
+};
+MODULE_DEVICE_TABLE(pci, rtw_8812ae_id_table);
+
+static struct pci_driver rtw_8821ae_driver = {
+ .name = KBUILD_MODNAME,
+ .id_table = rtw_8812ae_id_table,
+ .probe = rtw_pci_probe,
+ .remove = rtw_pci_remove,
+ .driver.pm = &rtw_pm_ops,
+ .shutdown = rtw_pci_shutdown,
+ .err_handler = &rtw_pci_err_handler,
+#if defined(__FreeBSD__)
+ .bsddriver.name = KBUILD_MODNAME,
+#endif
+};
+module_pci_driver(rtw_8812ae_driver);
+
+MODULE_DESCRIPTION("Realtek 802.11ac wireless 8812ae driver");
+MODULE_LICENSE("Dual BSD/GPL");
diff --git a/sys/contrib/dev/rtw88/rtw8821ae.c b/sys/contrib/dev/rtw88/rtw8821ae.c
new file mode 100644
--- /dev/null
+++ b/sys/contrib/dev/rtw88/rtw8821ae.c
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+
+#include <linux/module.h>
+#include <linux/pci.h>
+#include "pci.h"
+#include "rtw8821a.h"
+
+static const struct pci_device_id rtw_8821ae_id_table[] = {
+ {
+ PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8821),
+ .driver_data = (kernel_ulong_t)&rtw8821a_hw_spec
+ },
+ {}
+};
+MODULE_DEVICE_TABLE(pci, rtw_8821ae_id_table);
+
+static struct pci_driver rtw_8821ae_driver = {
+ .name = KBUILD_MODNAME,
+ .id_table = rtw_8821ae_id_table,
+ .probe = rtw_pci_probe,
+ .remove = rtw_pci_remove,
+ .driver.pm = &rtw_pm_ops,
+ .shutdown = rtw_pci_shutdown,
+ .err_handler = &rtw_pci_err_handler,
+#if defined(__FreeBSD__)
+ .bsddriver.name = KBUILD_MODNAME,
+#endif
+};
+module_pci_driver(rtw_8821ae_driver);
+
+MODULE_DESCRIPTION("Realtek 802.11ac wireless 8821ae driver");
+MODULE_LICENSE("Dual BSD/GPL");
diff --git a/usr.sbin/fwget/pci/pci_network_mediatek b/usr.sbin/fwget/pci/pci_network_mediatek
--- a/usr.sbin/fwget/pci/pci_network_mediatek
+++ b/usr.sbin/fwget/pci/pci_network_mediatek
@@ -38,9 +38,9 @@
# { sys/contrib/dev/mediatek/mt76/zzz_fw_ports_fwget.sh }
### >>>
- 0x0608) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
- 0x0616) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
- 0x0717) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
+ 0x0608) addpkg "wifi-firmware-mt76-kmod-mt7921"; return 1 ;;
+ 0x0616) addpkg "wifi-firmware-mt76-kmod-mt7921"; return 1 ;;
+ 0x0717) addpkg "wifi-firmware-mt76-kmod-mt7925"; return 1 ;;
0x7611) addpkg "wifi-firmware-mt76-kmod-mt7615"; return 1 ;;
0x7615) addpkg "wifi-firmware-mt76-kmod-mt7615"; return 1 ;;
0x7663) addpkg "wifi-firmware-mt76-kmod-mt7615"; return 1 ;;
@@ -48,10 +48,10 @@
0x790a) addpkg "wifi-firmware-mt76-kmod-mt7915"; return 1 ;;
0x7915) addpkg "wifi-firmware-mt76-kmod-mt7915"; return 1 ;;
0x7916) addpkg "wifi-firmware-mt76-kmod-mt7915"; return 1 ;;
- 0x7920) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
- 0x7922) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
- 0x7925) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
- 0x7961) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
+ 0x7920) addpkg "wifi-firmware-mt76-kmod-mt7921"; return 1 ;;
+ 0x7922) addpkg "wifi-firmware-mt76-kmod-mt7921"; return 1 ;;
+ 0x7925) addpkg "wifi-firmware-mt76-kmod-mt7925"; return 1 ;;
+ 0x7961) addpkg "wifi-firmware-mt76-kmod-mt7921"; return 1 ;;
0x7990) addpkg "wifi-firmware-mt76-kmod-mt7996"; return 1 ;;
0x7991) addpkg "wifi-firmware-mt76-kmod-mt7996"; return 1 ;;
0x7992) addpkg "wifi-firmware-mt76-kmod-mt7996"; return 1 ;;
diff --git a/usr.sbin/fwget/pci/pci_network_realtek b/usr.sbin/fwget/pci/pci_network_realtek
--- a/usr.sbin/fwget/pci/pci_network_realtek
+++ b/usr.sbin/fwget/pci/pci_network_realtek
@@ -41,7 +41,9 @@
### >>>
0xd723) addpkg "wifi-firmware-rtw88-kmod-rtw8723d"; return 1 ;;
+ 0x8812) addpkg "wifi-firmware-rtw88-kmod-rtw8812a"; return 1 ;;
0x8813) addpkg "wifi-firmware-rtw88-kmod-rtw8814a"; return 1 ;;
+ 0x8821) addpkg "wifi-firmware-rtw88-kmod-rtw8821a"; return 1 ;;
0xb821) addpkg "wifi-firmware-rtw88-kmod-rtw8821c"; return 1 ;;
0xc821) addpkg "wifi-firmware-rtw88-kmod-rtw8821c"; return 1 ;;
0xb822) addpkg "wifi-firmware-rtw88-kmod-rtw8822b"; return 1 ;;

File Metadata

Mime Type
text/plain
Expires
Tue, Aug 18, 12:16 PM (15 h, 37 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36892388
Default Alt Text
D57242.id178592.diff (7 KB)

Event Timeline