Files
2024-06-17 20:18:01 +08:00

199 lines
5.8 KiB
Plaintext

diff --git a/drivers/net/wireless/realtek/rtw88/Makefile b/drivers/net/wireless/realtek/rtw88/Makefile
index c0e4b111c..4b245d2e1 100644
--- a/drivers/net/wireless/realtek/rtw88/Makefile
+++ b/drivers/net/wireless/realtek/rtw88/Makefile
@@ -1,7 +1,39 @@
-# SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+SHELL := /bin/sh
+KVER ?= $(shell uname -r)
+KSRC := /lib/modules/$(KVER)/build
+FIRMWAREDIR := /lib/firmware/
+PWD := $(shell pwd)
+CLR_MODULE_FILES := *.mod.c *.mod *.o .*.cmd *.ko *~ .tmp_versions* modules.order Module.symvers
+SYMBOL_FILE := Module.symvers
+# Handle the move of the entire rtw88 tree
+ifneq ("","$(wildcard /lib/modules/$(KVER)/kernel/drivers/net/wireless/realtek)")
+MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/realtek/rtw88
+else
+MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/rtw88
+endif
-obj-$(CONFIG_RTW88_CORE) += rtw88_core.o
-rtw88_core-y += main.o \
+#Handle the compression option for modules in 3.18+
+ifneq ("","$(wildcard $(MODDESTDIR)/*.ko.gz)")
+COMPRESS_GZIP := y
+endif
+ifneq ("","$(wildcard $(MODDESTDIR)/*.ko.xz)")
+COMPRESS_XZ := y
+endif
+ifeq ("","$(wildcard MOK.der)")
+NO_SKIP_SIGN := y
+endif
+
+EXTRA_CFLAGS += -O2
+EXTRA_CFLAGS += -DCONFIG_RTW88_8822BE=1
+EXTRA_CFLAGS += -DCONFIG_RTW88_8821CE=1
+EXTRA_CFLAGS += -DCONFIG_RTW88_8822CE=1
+EXTRA_CFLAGS += -DCONFIG_RTW88_8723DE=1
+EXTRA_CFLAGS += -DCONFIG_RTW88_DEBUG=1
+EXTRA_CFLAGS += -DCONFIG_RTW88_DEBUGFS=1
+#EXTRA_CFLAGS += -DCONFIG_RTW88_REGD_USER_REG_HINTS
+
+obj-m += rtw_core.o
+rtw_core-objs += main.o \
mac80211.o \
util.o \
debug.o \
@@ -14,34 +46,130 @@ rtw88_core-y += main.o \
fw.o \
ps.o \
sec.o \
- bf.o \
wow.o \
- regd.o
+ bf.o \
+ regd.o \
+ sar.o
+
+obj-m += rtw_8822b.o
+rtw_8822b-objs := rtw8822b.o rtw8822b_table.o
+
+obj-m += rtw_8822be.o
+rtw_8822be-objs := rtw8822be.o
+
+obj-m += rtw_8822bu.o
+rtw_8822bu-objs := rtw8822bu.o
+
+obj-m += rtw_8822bs.o
+rtw_8822bs-objs := rtw8822bs.o
+
+obj-m += rtw_8822c.o
+rtw_8822c-objs := rtw8822c.o rtw8822c_table.o
+
+obj-m += rtw_8822ce.o
+rtw_8822ce-objs := rtw8822ce.o
+
+obj-m += rtw_8822cu.o
+rtw_8822cu-objs := rtw8822cu.o
+
+obj-m += rtw_8822cs.o
+rtw_8822cs-objs := rtw8822cs.o
+
+obj-m += rtw_8723d.o
+rtw_8723d-objs := rtw8723d.o rtw8723d_table.o
+
+obj-m += rtw_8723de.o
+rtw_8723de-objs := rtw8723de.o
+
+obj-m += rtw_8723du.o
+rtw_8723du-objs := rtw8723du.o
+
+obj-m += rtw_8821c.o
+rtw_8821c-objs := rtw8821c.o rtw8821c_table.o
+
+obj-m += rtw_8821ce.o
+rtw_8821ce-objs := rtw8821ce.o
+
+obj-m += rtw_8821cs.o
+rtw_8821cs-objs := rtw8822cs.o
+
+obj-m += rtw_8821cu.o
+rtw_8821cu-objs := rtw8821cu.o
+
+obj-m += rtw_pci.o
+rtw_pci-objs := pci.o
+
+obj-m += rtw_sdio.o
+rtw_sdio-objs := sdio.o
+
+obj-m += rtw_usb.o
+rtw_usb-objs := usb.o
+obj-m += rtw_usb.o
+rtw_usb-objs := usb.o
-obj-$(CONFIG_RTW88_8822B) += rtw88_8822b.o
-rtw88_8822b-objs := rtw8822b.o rtw8822b_table.o
+ccflags-y += -D__CHECK_ENDIAN__
-obj-$(CONFIG_RTW88_8822BE) += rtw88_8822be.o
-rtw88_8822be-objs := rtw8822be.o
+all:
+ $(MAKE) -C $(KSRC) M=$(PWD) modules
+install: all
+ @mkdir -p $(MODDESTDIR)
+ @install -p -D -m 644 *.ko $(MODDESTDIR)
+ @#copy firmware images to target folder
+ @mkdir -p $(FIRMWAREDIR)/rtw88/
+ @cp -f *.bin $(FIRMWAREDIR)/rtw88/
+ifeq ($(COMPRESS_GZIP), y)
+ @gzip -f $(MODDESTDIR)/*.ko
+endif
+ifeq ($(COMPRESS_XZ), y)
+ @xz -f $(MODDESTDIR)/*.ko
+endif
-obj-$(CONFIG_RTW88_8822C) += rtw88_8822c.o
-rtw88_8822c-objs := rtw8822c.o rtw8822c_table.o
+ @depmod -a $(KVER)
-obj-$(CONFIG_RTW88_8822CE) += rtw88_8822ce.o
-rtw88_8822ce-objs := rtw8822ce.o
+ @echo "Install rtw88 SUCCESS"
-obj-$(CONFIG_RTW88_8723D) += rtw88_8723d.o
-rtw88_8723d-objs := rtw8723d.o rtw8723d_table.o
+uninstall:
+ @modprobe -r rtw_8822be
+ @modprobe -r rtw_8822ce
+ @modprobe -r rtw_8723de
+ @rm -f $(MODDESTDIR)/rtw_*.ko
+
+ @depmod -a
+
+ @echo "Uninstall rtw88 SUCCESS"
-obj-$(CONFIG_RTW88_8723DE) += rtw88_8723de.o
-rtw88_8723de-objs := rtw8723de.o
+clean:
+ @rm -fr *.mod.c *.mod *.cmd *.o .*.cmd *.ko *~ .*.o.d .cache.mk
+ @rm -fr .tmp_versions
+ @rm -fr Modules.symvers
+ @rm -fr Module.symvers
+ @rm -fr Module.markers
+ @rm -fr modules.order
-obj-$(CONFIG_RTW88_8821C) += rtw88_8821c.o
-rtw88_8821c-objs := rtw8821c.o rtw8821c_table.o
+sign:
+ifeq ($(NO_SKIP_SIGN), y)
+ @openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Custom MOK/"
+ @mokutil --import MOK.der
+else
+ echo "Skipping key creation"
+endif
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_pci.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_core.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8723d.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8723de.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8822b.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8822be.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8822bu.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8822bs.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8821c.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8821ce.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8821cu.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8821cs.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8822c.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8822ce.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8822cu.ko
+ @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8822cs.ko
-obj-$(CONFIG_RTW88_8821CE) += rtw88_8821ce.o
-rtw88_8821ce-objs := rtw8821ce.o
+sign-install: all sign install
-obj-$(CONFIG_RTW88_PCI) += rtw88_pci.o
-rtw88_pci-objs := pci.o