git: 0f7b9777f8f3 - main - rtw88: split driver up into a core and pci part
Date: Sun, 12 Jun 2022 18:43:38 UTC
The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=0f7b9777f8f39fbc230b3e1de2f844d9f839adea commit 0f7b9777f8f39fbc230b3e1de2f844d9f839adea Author: Bjoern A. Zeeb <bz@FreeBSD.org> AuthorDate: 2022-06-12 18:35:58 +0000 Commit: Bjoern A. Zeeb <bz@FreeBSD.org> CommitDate: 2022-06-12 18:35:58 +0000 rtw88: split driver up into a core and pci part Split the driver up into two modules (if_rtw88_pci.ko and rtw88_core.ko). This is in preparation for the hopefully eventually upcoming USB support using the same driver core. Note: this changes the module name to load to if_rtw88_pci.ko instead of if_rtw88.ko. If using devmatch(8) everything should stay the same as the driver name (used for net.wlan.devices) stays rtw88. If using kld_list in rc.conf or loader.conf you will need to adjust the name. Update man page for this. MFC after: 3 days --- share/man/man4/rtw88.4 | 4 ++-- sys/contrib/dev/rtw88/main.c | 8 ++++++++ sys/contrib/dev/rtw88/pci.c | 10 ++++------ sys/modules/rtw88/Makefile | 37 ++++--------------------------------- sys/modules/rtw88/Makefile.inc | 23 +++++++++++++++++++++++ sys/modules/rtw88/core/Makefile | 17 +++++++++++++++++ sys/modules/rtw88/pci/Makefile | 13 +++++++++++++ 7 files changed, 71 insertions(+), 41 deletions(-) diff --git a/share/man/man4/rtw88.4 b/share/man/man4/rtw88.4 index 0ace002e4bde..43a51405d1d5 100644 --- a/share/man/man4/rtw88.4 +++ b/share/man/man4/rtw88.4 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 5, 2022 +.Dd June 12, 2022 .Dt rtw88 4 .Os .Sh NAME @@ -41,7 +41,7 @@ lines in .Xr rc.conf 5 to manually load the driver as a module at boot time: .Bd -literal -offset indent -kld_list="${kld_list} if_rtw88" +kld_list="${kld_list} if_rtw88_pci" .Ed .Pp The driver should automatically load any diff --git a/sys/contrib/dev/rtw88/main.c b/sys/contrib/dev/rtw88/main.c index 2f397ace02b3..2522056c3e4b 100644 --- a/sys/contrib/dev/rtw88/main.c +++ b/sys/contrib/dev/rtw88/main.c @@ -2120,3 +2120,11 @@ EXPORT_SYMBOL(rtw_unregister_hw); MODULE_AUTHOR("Realtek Corporation"); MODULE_DESCRIPTION("Realtek 802.11ac wireless core module"); MODULE_LICENSE("Dual BSD/GPL"); +#if defined(__FreeBSD__) +MODULE_VERSION(rtw88_core, 1); +MODULE_DEPEND(rtw88_core, linuxkpi, 1, 1, 1); +MODULE_DEPEND(rtw88_core, linuxkpi_wlan, 1, 1, 1); +#ifdef CONFIG_RTW88_DEBUGFS +MODULE_DEPEND(rtw88_core, debugfs, 1, 1, 1); +#endif +#endif diff --git a/sys/contrib/dev/rtw88/pci.c b/sys/contrib/dev/rtw88/pci.c index 431d0c1c8b98..34d58b0f3db3 100644 --- a/sys/contrib/dev/rtw88/pci.c +++ b/sys/contrib/dev/rtw88/pci.c @@ -1936,10 +1936,8 @@ MODULE_AUTHOR("Realtek Corporation"); MODULE_DESCRIPTION("Realtek 802.11ac wireless PCI driver"); MODULE_LICENSE("Dual BSD/GPL"); #if defined(__FreeBSD__) -MODULE_VERSION(rtw_pci, 1); -MODULE_DEPEND(rtw_pci, linuxkpi, 1, 1, 1); -MODULE_DEPEND(rtw_pci, linuxkpi_wlan, 1, 1, 1); -#ifdef CONFIG_RTW88_DEBUGFS -MODULE_DEPEND(rtw_pci, debugfs, 1, 1, 1); -#endif +MODULE_VERSION(rtw88_pci, 1); +MODULE_DEPEND(rtw88_pci, rtw88_core, 1, 1, 1); +MODULE_DEPEND(rtw88_pci, linuxkpi, 1, 1, 1); +MODULE_DEPEND(rtw88_pci, linuxkpi_wlan, 1, 1, 1); #endif diff --git a/sys/modules/rtw88/Makefile b/sys/modules/rtw88/Makefile index a8880256eeae..972065e7f208 100644 --- a/sys/modules/rtw88/Makefile +++ b/sys/modules/rtw88/Makefile @@ -1,36 +1,7 @@ # $FreeBSD$ -DEVRTW88DIR= ${SRCTOP}/sys/contrib/dev/rtw88 +SUBDIR= core +SUBDIR+= pci +#SUBDIR+= usb -.PATH: ${DEVRTW88DIR} - -WITH_CONFIG_PM= 0 - -KMOD= if_rtw88 - -SRCS= main.c -SRCS+= bf.c coex.c debug.c efuse.c fw.c mac.c mac80211.c -SRCS+= pci.c phy.c ps.c regd.c -SRCS+= rtw8723d.c rtw8723d_table.c rtw8723de.c # 11n -SRCS+= rtw8821c.c rtw8821c_table.c rtw8821ce.c # 11ac -SRCS+= rtw8822b.c rtw8822b_table.c rtw8822be.c # 11ac -SRCS+= rtw8822c.c rtw8822c_table.c rtw8822ce.c # 11ac -SRCS+= rx.c sar.c sec.c tx.c util.c - -.if defined(WITH_CONFIG_PM) && ${WITH_CONFIG_PM} > 0 -SRCR+= wow.c -CFLAGS+= -DCONFIG_PM=${WITH_CONFIG_PM} -.endif - -# Other -SRCS+= ${LINUXKPI_GENSRCS} -SRCS+= opt_wlan.h opt_inet6.h opt_inet.h - -CFLAGS+= -DKBUILD_MODNAME='"rtw88"' - -CFLAGS+= -I${DEVRTW88DIR} -CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include -CFLAGS+= -DCONFIG_RTW88_DEBUG -#CFLAGS+= -DCONFIG_RTW88_DEBUGFS - -.include <bsd.kmod.mk> +.include <bsd.subdir.mk> diff --git a/sys/modules/rtw88/Makefile.inc b/sys/modules/rtw88/Makefile.inc new file mode 100644 index 000000000000..b4a682a35519 --- /dev/null +++ b/sys/modules/rtw88/Makefile.inc @@ -0,0 +1,23 @@ +# $FreeBSD$ + +# Common information shared by all submodule builds. + +DEVRTW88DIR= ${SRCTOP}/sys/contrib/dev/rtw88 + +.PATH: ${DEVRTW88DIR} + +WITH_CONFIG_PM= 0 + +# Other +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_wlan.h opt_inet6.h opt_inet.h + +# Helpful after fresh imports. +CFLAGS+= -ferror-limit=0 + +CFLAGS+= -I${DEVRTW88DIR} +CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include +CFLAGS+= -DCONFIG_RTW88_DEBUG +#CFLAGS+= -DCONFIG_RTW88_DEBUGFS + +# end diff --git a/sys/modules/rtw88/core/Makefile b/sys/modules/rtw88/core/Makefile new file mode 100644 index 000000000000..e19103ce8417 --- /dev/null +++ b/sys/modules/rtw88/core/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +KMOD= rtw88_core + +SRCS= main.c +SRCS+= bf.c coex.c debug.c efuse.c fw.c mac.c mac80211.c +SRCS+= phy.c ps.c regd.c +SRCS+= rx.c sar.c sec.c tx.c util.c + +.if defined(WITH_CONFIG_PM) && ${WITH_CONFIG_PM} > 0 +SRCR+= wow.c +CFLAGS+= -DCONFIG_PM=${WITH_CONFIG_PM} +.endif + +CFLAGS+= -DKBUILD_MODNAME='"rtw88_core"' + +.include <bsd.kmod.mk> diff --git a/sys/modules/rtw88/pci/Makefile b/sys/modules/rtw88/pci/Makefile new file mode 100644 index 000000000000..070e6c8e2bc0 --- /dev/null +++ b/sys/modules/rtw88/pci/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +KMOD= if_rtw88_pci + +SRCS+= pci.c +SRCS+= rtw8723d.c rtw8723d_table.c rtw8723de.c # 11n +SRCS+= rtw8821c.c rtw8821c_table.c rtw8821ce.c # 11ac +SRCS+= rtw8822b.c rtw8822b_table.c rtw8822be.c # 11ac +SRCS+= rtw8822c.c rtw8822c_table.c rtw8822ce.c # 11ac + +CFLAGS+= -DKBUILD_MODNAME='"rtw88"' + +.include <bsd.kmod.mk>