From 411b607e466c804dab2db1e328aa85f83d9488f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=2E=20Efe=20=C3=87etin?= Date: Sat, 28 Jan 2023 01:19:08 +0300 Subject: [PATCH] Add some Wireless modules to RK3588 legacy kernel (#4759) * Add some Wireless modules to RK3588 legacy kernel * Add some Wireless modules to RK3588 legacy kernel * Add some Wireless modules to RK3588 legacy kernel --- .../linux-rockchip-rk3588-legacy.config | 13 +- .../compilation/patch/drivers_network.sh | 3 + patch/misc/wireless-import-vfs-module.patch | 166 ++++++++++++++++++ 3 files changed, 180 insertions(+), 2 deletions(-) create mode 100644 patch/misc/wireless-import-vfs-module.patch diff --git a/config/kernel/linux-rockchip-rk3588-legacy.config b/config/kernel/linux-rockchip-rk3588-legacy.config index 1b6572e5f..a2bdbe51f 100644 --- a/config/kernel/linux-rockchip-rk3588-legacy.config +++ b/config/kernel/linux-rockchip-rk3588-legacy.config @@ -2848,13 +2848,22 @@ CONFIG_BCMDHD=y CONFIG_AP6XXX=m # CONFIG_BCMDHD_SDIO is not set CONFIG_BCMDHD_PCIE=y -CONFIG_BCMDHD_FW_PATH="/vendor/etc/firmware/fw_bcmdhd.bin" -CONFIG_BCMDHD_NVRAM_PATH="/vendor/etc/firmware/nvram.txt" +CONFIG_BCMDHD_FW_PATH="/lib/firmware/ap6275p/fw_bcmdhd.bin" +CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/ap6275p/nvram.txt" # CONFIG_BCMDHD_STATIC_IF is not set # CONFIG_CYW_BCMDHD is not set # CONFIG_INFINEON_DHD is not set CONFIG_RTL8852BE=m CONFIG_RTL8852BU=m +CONFIG_RTL8822BS=m +CONFIG_RTL8723DU=m +CONFIG_RTL8723DS=m +CONFIG_RTL8822BU=m +CONFIG_RTL8188EU=m +CONFIG_RTL8821CU=m +CONFIG_88XXAU=m +CONFIG_RTL8192EU=m +CONFIG_RTL8189ES=m # CONFIG_MAC80211_HWSIM is not set CONFIG_USB_NET_RNDIS_WLAN=y # CONFIG_VIRT_WIFI is not set diff --git a/lib/functions/compilation/patch/drivers_network.sh b/lib/functions/compilation/patch/drivers_network.sh index 5f46f2dd4..836c0a157 100644 --- a/lib/functions/compilation/patch/drivers_network.sh +++ b/lib/functions/compilation/patch/drivers_network.sh @@ -558,5 +558,8 @@ patch_drivers_network() driver_rtl8822BS driver_uwe5622_allwinner + # fix compilation for kernels >= 5.4 + process_patch_file "${SRC}/patch/misc/wireless-import-vfs-module.patch" "applying" + display_alert "Network related drivers patched" "" "info" } diff --git a/patch/misc/wireless-import-vfs-module.patch b/patch/misc/wireless-import-vfs-module.patch new file mode 100644 index 000000000..bfd4d844f --- /dev/null +++ b/patch/misc/wireless-import-vfs-module.patch @@ -0,0 +1,166 @@ +From bd525f93a10fb31a638b795b3edf770d57eda06c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Muhammed=20Efe=20=C3=87etin?= +Date: Fri, 27 Jan 2023 17:54:51 +0300 +Subject: [PATCH] Import + VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver on wireless drivers + +--- + drivers/net/wireless/rtl8188eu/os_dep/osdep_service.c | 3 +++ + drivers/net/wireless/rtl8189es/os_dep/osdep_service.c | 3 +++ + drivers/net/wireless/rtl8189fs/os_dep/osdep_service.c | 3 +++ + drivers/net/wireless/rtl8192eu/os_dep/osdep_service.c | 4 ++++ + drivers/net/wireless/rtl8723ds/os_dep/osdep_service.c | 4 ++++ + drivers/net/wireless/rtl8723du/os_dep/osdep_service.c | 4 ++++ + drivers/net/wireless/rtl8811cu/os_dep/osdep_service.c | 3 +++ + drivers/net/wireless/rtl8822bs/os_dep/osdep_service.c | 4 ++++ + drivers/net/wireless/rtl88x2bu/os_dep/osdep_service.c | 3 +++ + drivers/net/wireless/rtl88x2cs/os_dep/osdep_service.c | 3 +++ + 10 files changed, 34 insertions(+) + +diff --git a/drivers/net/wireless/rtl8188eu/os_dep/osdep_service.c b/drivers/net/wireless/rtl8188eu/os_dep/osdep_service.c +index c6b3f65bb..38bfd52cc 100644 +--- a/drivers/net/wireless/rtl8188eu/os_dep/osdep_service.c ++++ b/drivers/net/wireless/rtl8188eu/os_dep/osdep_service.c +@@ -27,6 +27,9 @@ atomic_t _malloc_size = ATOMIC_INIT(0); + #endif + #endif /* DBG_MEMORY_LEAK */ + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) ++MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); ++#endif + + #if defined(PLATFORM_LINUX) + /* +diff --git a/drivers/net/wireless/rtl8189es/os_dep/osdep_service.c b/drivers/net/wireless/rtl8189es/os_dep/osdep_service.c +index d6d326aef..aa1f0499d 100644 +--- a/drivers/net/wireless/rtl8189es/os_dep/osdep_service.c ++++ b/drivers/net/wireless/rtl8189es/os_dep/osdep_service.c +@@ -27,6 +27,9 @@ atomic_t _malloc_size = ATOMIC_INIT(0); + #endif + #endif /* DBG_MEMORY_LEAK */ + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) ++MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); ++#endif + + #if defined(PLATFORM_LINUX) + /* +diff --git a/drivers/net/wireless/rtl8189fs/os_dep/osdep_service.c b/drivers/net/wireless/rtl8189fs/os_dep/osdep_service.c +index 04000c768..d7005b9dc 100644 +--- a/drivers/net/wireless/rtl8189fs/os_dep/osdep_service.c ++++ b/drivers/net/wireless/rtl8189fs/os_dep/osdep_service.c +@@ -27,6 +27,9 @@ atomic_t _malloc_size = ATOMIC_INIT(0); + #endif + #endif /* DBG_MEMORY_LEAK */ + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) ++MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); ++#endif + + #if defined(PLATFORM_LINUX) + /* +diff --git a/drivers/net/wireless/rtl8192eu/os_dep/osdep_service.c b/drivers/net/wireless/rtl8192eu/os_dep/osdep_service.c +index e6954c36f..370788123 100644 +--- a/drivers/net/wireless/rtl8192eu/os_dep/osdep_service.c ++++ b/drivers/net/wireless/rtl8192eu/os_dep/osdep_service.c +@@ -20,6 +20,10 @@ + + #define RT_TAG '1178' + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) ++MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); ++#endif ++ + #if defined(PLATFORM_LINUX) + /* + * Translate the OS dependent @param error_code to OS independent RTW_STATUS_CODE +diff --git a/drivers/net/wireless/rtl8723ds/os_dep/osdep_service.c b/drivers/net/wireless/rtl8723ds/os_dep/osdep_service.c +index cb5ff6940..6c496f348 100644 +--- a/drivers/net/wireless/rtl8723ds/os_dep/osdep_service.c ++++ b/drivers/net/wireless/rtl8723ds/os_dep/osdep_service.c +@@ -30,6 +30,10 @@ atomic_t _malloc_cnt = ATOMIC_INIT(0); + atomic_t _malloc_size = ATOMIC_INIT(0); + #endif /* DBG_MEMORY_LEAK */ + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) ++MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); ++#endif ++ + /* + * Translate the OS dependent @param error_code to OS independent RTW_STATUS_CODE + * @return: one of RTW_STATUS_CODE +diff --git a/drivers/net/wireless/rtl8723du/os_dep/osdep_service.c b/drivers/net/wireless/rtl8723du/os_dep/osdep_service.c +index ed9c912cb..a4686dffa 100644 +--- a/drivers/net/wireless/rtl8723du/os_dep/osdep_service.c ++++ b/drivers/net/wireless/rtl8723du/os_dep/osdep_service.c +@@ -7,6 +7,10 @@ + + #define RT_TAG '1178' + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) ++MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); ++#endif ++ + /* + * Translate the OS dependent @param error_code to OS independent RTW_STATUS_CODE + * @return: one of RTW_STATUS_CODE +diff --git a/drivers/net/wireless/rtl8811cu/os_dep/osdep_service.c b/drivers/net/wireless/rtl8811cu/os_dep/osdep_service.c +index f9f494d8c..62e664b78 100755 +--- a/drivers/net/wireless/rtl8811cu/os_dep/osdep_service.c ++++ b/drivers/net/wireless/rtl8811cu/os_dep/osdep_service.c +@@ -27,6 +27,9 @@ atomic_t _malloc_size = ATOMIC_INIT(0); + #endif + #endif /* DBG_MEMORY_LEAK */ + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) ++MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); ++#endif + + #if defined(PLATFORM_LINUX) + /* +diff --git a/drivers/net/wireless/rtl8822bs/os_dep/osdep_service.c b/drivers/net/wireless/rtl8822bs/os_dep/osdep_service.c +index c32af34f2..86d0257c4 100644 +--- a/drivers/net/wireless/rtl8822bs/os_dep/osdep_service.c ++++ b/drivers/net/wireless/rtl8822bs/os_dep/osdep_service.c +@@ -23,6 +23,10 @@ + #define kthread_complete_and_exit(comp, code) complete_and_exit(comp, code) + #endif + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) ++MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); ++#endif ++ + #define RT_TAG '1178' + + #ifdef DBG_MEMORY_LEAK +diff --git a/drivers/net/wireless/rtl88x2bu/os_dep/osdep_service.c b/drivers/net/wireless/rtl88x2bu/os_dep/osdep_service.c +index 3b927f4fb..7f0f72ea8 100644 +--- a/drivers/net/wireless/rtl88x2bu/os_dep/osdep_service.c ++++ b/drivers/net/wireless/rtl88x2bu/os_dep/osdep_service.c +@@ -27,6 +27,9 @@ atomic_t _malloc_size = ATOMIC_INIT(0); + #endif + #endif /* DBG_MEMORY_LEAK */ + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) ++MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); ++#endif + + #if defined(PLATFORM_LINUX) + /* +diff --git a/drivers/net/wireless/rtl88x2cs/os_dep/osdep_service.c b/drivers/net/wireless/rtl88x2cs/os_dep/osdep_service.c +index 883d4edd3..88476ec3d 100644 +--- a/drivers/net/wireless/rtl88x2cs/os_dep/osdep_service.c ++++ b/drivers/net/wireless/rtl88x2cs/os_dep/osdep_service.c +@@ -27,6 +27,9 @@ atomic_t _malloc_size = ATOMIC_INIT(0); + #endif + #endif /* DBG_MEMORY_LEAK */ + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) ++MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); ++#endif + + #if defined(PLATFORM_LINUX) + /* +-- +2.39.1 +