c8
imports/c8/kmod-redhat-mt7921-4.18.0_363_dup8.5-2.el8_5
commit
01c2a7cba5
@ -0,0 +1 @@
|
||||
SOURCES/mt7921-redhat-4.18.0_363_dup8.5.tar.bz2
|
@ -0,0 +1 @@
|
||||
e1054ed9ea73391a1abada6427ec349f7c979de3 SOURCES/mt7921-redhat-4.18.0_363_dup8.5.tar.bz2
|
@ -0,0 +1,50 @@
|
||||
From 964125ac411b6b5cf34322887ee16d3e500c8d52 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=8D=C3=B1igo=20Huguet?= <ihuguet@redhat.com>
|
||||
Date: Tue, 21 Dec 2021 14:23:22 +0100
|
||||
Subject: [PATCH] mt76: connac: do not schedule mac_work if the device is not
|
||||
running
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Bugzilla: http://bugzilla.redhat.com/2041422
|
||||
|
||||
commit 6061fcf4820a2036189d0a6215f75a913f0fb5a1
|
||||
Author: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
Date: Fri Apr 23 16:27:11 2021 +0200
|
||||
|
||||
mt76: connac: do not schedule mac_work if the device is not running
|
||||
|
||||
Do not run ieee80211_queue_delayed_work for mac work if the worqueue is
|
||||
not initialized yet
|
||||
|
||||
Fixes: b1bd7bb8121d ("mt76: connac: unschedule mac_work before going to sleep")
|
||||
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
Link: https://lore.kernel.org/r/5bfd36a75799c37b12fcb54d17e77fbc2c7a0558.1619187875.git.lorenzo@kernel.org
|
||||
|
||||
Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
|
||||
---
|
||||
drivers/net/wireless/mediatek/mt76/mt7615/mac.c | 5 +++--
|
||||
drivers/net/wireless/mediatek/mt76/mt7921/mac.c | 5 +++--
|
||||
2 files changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mac.c b/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
|
||||
index 214bd1859792..decf2d5f0ce3 100644
|
||||
--- a/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
|
||||
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
|
||||
@@ -1404,8 +1404,9 @@ void mt7921_pm_wake_work(struct work_struct *work)
|
||||
napi_schedule(&dev->mt76.napi[i]);
|
||||
mt76_connac_pm_dequeue_skbs(mphy, &dev->pm);
|
||||
mt7921_tx_cleanup(dev);
|
||||
- ieee80211_queue_delayed_work(mphy->hw, &mphy->mac_work,
|
||||
- MT7921_WATCHDOG_TIME);
|
||||
+ if (test_bit(MT76_STATE_RUNNING, &mphy->state))
|
||||
+ ieee80211_queue_delayed_work(mphy->hw, &mphy->mac_work,
|
||||
+ MT7921_WATCHDOG_TIME);
|
||||
}
|
||||
|
||||
ieee80211_wake_queues(mphy->hw);
|
||||
--
|
||||
2.13.6
|
||||
|
@ -0,0 +1,56 @@
|
||||
From d866e32d4b1449883bdf16d27a88173e7e3eff08 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=8D=C3=B1igo=20Huguet?= <ihuguet@redhat.com>
|
||||
Date: Tue, 21 Dec 2021 14:23:33 +0100
|
||||
Subject: [PATCH] mt76: mt7921: continue to probe driver when fw already
|
||||
downloaded
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Bugzilla: http://bugzilla.redhat.com/2041422
|
||||
|
||||
commit c34269041185dad1bab7a34f42ef9fab967a1684
|
||||
Author: Aaron Ma <aaron.ma@canonical.com>
|
||||
Date: Thu Jul 8 21:17:10 2021 +0800
|
||||
|
||||
mt76: mt7921: continue to probe driver when fw already downloaded
|
||||
|
||||
When reboot system, no power cycles, firmware is already downloaded,
|
||||
return -EIO will break driver as error:
|
||||
mt7921e: probe of 0000:03:00.0 failed with error -5
|
||||
|
||||
Skip firmware download and continue to probe.
|
||||
|
||||
Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
|
||||
Fixes: 1c099ab44727c ("mt76: mt7921: add MCU support")
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
|
||||
---
|
||||
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
|
||||
index 5f3d56d570a5..3fdb4c0895c9 100644
|
||||
--- a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
|
||||
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
|
||||
@@ -907,7 +907,7 @@ static int mt7921_load_firmware(struct mt7921_dev *dev)
|
||||
ret = mt76_get_field(dev, MT_CONN_ON_MISC, MT_TOP_MISC2_FW_N9_RDY);
|
||||
if (ret) {
|
||||
dev_dbg(dev->mt76.dev, "Firmware is already download\n");
|
||||
- return -EIO;
|
||||
+ goto fw_loaded;
|
||||
}
|
||||
|
||||
ret = mt7921_load_patch(dev);
|
||||
@@ -925,6 +925,7 @@ static int mt7921_load_firmware(struct mt7921_dev *dev)
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
+fw_loaded:
|
||||
mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_FWDL], false);
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
--
|
||||
2.13.6
|
||||
|
@ -0,0 +1,55 @@
|
||||
Index: src/drivers/net/wireless/mediatek/mt76/mt7921/Makefile
|
||||
===================================================================
|
||||
--- src.orig/drivers/net/wireless/mediatek/mt76/mt7921/Makefile 2022-01-30 05:38:12.755480439 +0100
|
||||
+++ src/drivers/net/wireless/mediatek/mt76/mt7921/Makefile 2022-01-30 05:39:05.150986998 +0100
|
||||
@@ -1,5 +1,7 @@
|
||||
#SPDX-License-Identifier: ISC
|
||||
|
||||
+CONFIG_MT7921E := m
|
||||
+
|
||||
obj-$(CONFIG_MT7921E) += mt7921e.o
|
||||
|
||||
CFLAGS_trace.o := -I$(src)
|
||||
Index: src/drivers/net/wireless/mediatek/mt76/Makefile
|
||||
===================================================================
|
||||
--- src.orig/drivers/net/wireless/mediatek/mt76/Makefile 2022-01-30 05:38:12.755480439 +0100
|
||||
+++ src/drivers/net/wireless/mediatek/mt76/Makefile 2022-01-30 05:41:43.749493377 +0100
|
||||
@@ -1,9 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
+CONFIG_MT76_CONNAC_LIB := m
|
||||
+CONFIG_MT7921E := m
|
||||
+
|
||||
obj-$(CONFIG_MT76_CORE) += mt76.o
|
||||
-obj-$(CONFIG_MT76_USB) += mt76-usb.o
|
||||
-obj-$(CONFIG_MT76_SDIO) += mt76-sdio.o
|
||||
-obj-$(CONFIG_MT76x02_LIB) += mt76x02-lib.o
|
||||
-obj-$(CONFIG_MT76x02_USB) += mt76x02-usb.o
|
||||
obj-$(CONFIG_MT76_CONNAC_LIB) += mt76-connac-lib.o
|
||||
|
||||
mt76-y := \
|
||||
@@ -13,25 +12,8 @@
|
||||
mt76-$(CONFIG_PCI) += pci.o
|
||||
mt76-$(CONFIG_NL80211_TESTMODE) += testmode.o
|
||||
|
||||
-mt76-usb-y := usb.o usb_trace.o
|
||||
-mt76-sdio-y := sdio.o
|
||||
-
|
||||
CFLAGS_trace.o := -I$(src)
|
||||
-CFLAGS_usb_trace.o := -I$(src)
|
||||
-CFLAGS_mt76x02_trace.o := -I$(src)
|
||||
-
|
||||
-mt76x02-lib-y := mt76x02_util.o mt76x02_mac.o mt76x02_mcu.o \
|
||||
- mt76x02_eeprom.o mt76x02_phy.o mt76x02_mmio.o \
|
||||
- mt76x02_txrx.o mt76x02_trace.o mt76x02_debugfs.o \
|
||||
- mt76x02_dfs.o mt76x02_beacon.o
|
||||
-
|
||||
-mt76x02-usb-y := mt76x02_usb_mcu.o mt76x02_usb_core.o
|
||||
|
||||
mt76-connac-lib-y := mt76_connac_mcu.o mt76_connac_mac.o
|
||||
|
||||
-obj-$(CONFIG_MT76x0_COMMON) += mt76x0/
|
||||
-obj-$(CONFIG_MT76x2_COMMON) += mt76x2/
|
||||
-obj-$(CONFIG_MT7603E) += mt7603/
|
||||
-obj-$(CONFIG_MT7615_COMMON) += mt7615/
|
||||
-obj-$(CONFIG_MT7915E) += mt7915/
|
||||
obj-$(CONFIG_MT7921E) += mt7921/
|
@ -0,0 +1,27 @@
|
||||
Index: src/drivers/net/wireless/mediatek/mt76/mt7921/pci.c
|
||||
===================================================================
|
||||
--- src.orig/drivers/net/wireless/mediatek/mt76/mt7921/pci.c 2022-01-30 05:39:36.484691909 +0100
|
||||
+++ src/drivers/net/wireless/mediatek/mt76/mt7921/pci.c 2022-01-30 05:42:27.098085136 +0100
|
||||
@@ -320,3 +320,4 @@
|
||||
MODULE_AUTHOR("Sean Wang <sean.wang@mediatek.com>");
|
||||
MODULE_AUTHOR("Lorenzo Bianconi <lorenzo@kernel.org>");
|
||||
MODULE_LICENSE("Dual BSD/GPL");
|
||||
+MODULE_VERSION("4.18.0_363_dup8.5");
|
||||
Index: src/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
|
||||
===================================================================
|
||||
--- src.orig/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c 2022-01-30 05:39:36.484691909 +0100
|
||||
+++ src/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c 2022-01-30 05:42:27.100085118 +0100
|
||||
@@ -2050,3 +2050,4 @@
|
||||
|
||||
MODULE_AUTHOR("Lorenzo Bianconi <lorenzo@kernel.org>");
|
||||
MODULE_LICENSE("Dual BSD/GPL");
|
||||
+MODULE_VERSION("4.18.0_363_dup8.5");
|
||||
Index: src/drivers/net/wireless/mediatek/mt76/util.c
|
||||
===================================================================
|
||||
--- src.orig/drivers/net/wireless/mediatek/mt76/util.c 2022-01-30 05:38:51.384116649 +0100
|
||||
+++ src/drivers/net/wireless/mediatek/mt76/util.c 2022-01-30 05:43:41.935380347 +0100
|
||||
@@ -139,3 +139,4 @@
|
||||
EXPORT_SYMBOL_GPL(__mt76_worker_fn);
|
||||
|
||||
MODULE_LICENSE("Dual BSD/GPL");
|
||||
+MODULE_VERSION("4.18.0_363_dup8.5");
|
@ -0,0 +1,15 @@
|
||||
Index: src/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
|
||||
===================================================================
|
||||
--- src.orig/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h 2022-01-26 22:13:12.922460591 +0100
|
||||
+++ src/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h 2022-01-26 22:28:36.722090977 +0100
|
||||
@@ -30,8 +30,8 @@
|
||||
|
||||
#define MT7921_DRV_OWN_RETRY_COUNT 10
|
||||
|
||||
-#define MT7921_FIRMWARE_WM "mediatek/WIFI_RAM_CODE_MT7961_1.bin"
|
||||
-#define MT7921_ROM_PATCH "mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin"
|
||||
+#define MT7921_FIRMWARE_WM "mediatek/WIFI_RAM_CODE_MT7961_1_dup8.5.bin"
|
||||
+#define MT7921_ROM_PATCH "mediatek/WIFI_MT7961_patch_mcu_1_2_hdr_dup8.5.bin"
|
||||
|
||||
#define MT7921_EEPROM_SIZE 3584
|
||||
#define MT7921_TOKEN_SIZE 8192
|
@ -0,0 +1,340 @@
|
||||
%define kmod_name mt7921
|
||||
%define kmod_vendor redhat
|
||||
%define kmod_rpm_name kmod-redhat-mt7921
|
||||
%define kmod_driver_version 4.18.0_363_dup8.5
|
||||
%define kmod_driver_epoch %{nil}
|
||||
%define kmod_rpm_release 2
|
||||
%define kmod_kernel_version 4.18.0-348.el8
|
||||
%define kmod_kernel_version_min %{nil}
|
||||
%define kmod_kernel_version_dep %{nil}
|
||||
%define kmod_kbuild_dir drivers/net/wireless/mediatek/mt76
|
||||
%define kmod_dependencies %{nil}
|
||||
%define kmod_dist_build_deps %{nil}
|
||||
%define kmod_build_dependencies %{nil}
|
||||
%define kmod_provides %{nil}
|
||||
%define kmod_devel_package 1
|
||||
%define kmod_devel_src_paths %{nil}
|
||||
%define kmod_install_path extra/kmod-redhat-mt7921
|
||||
%define kmod_files_package 0
|
||||
%define kmod_files_noarch 1
|
||||
%define kernel_pkg kernel
|
||||
%define kernel_devel_pkg kernel-devel
|
||||
%define kernel_modules_pkg kernel-modules
|
||||
|
||||
%{!?dist: %define dist .el8_5}
|
||||
%{!?make_build: %define make_build make}
|
||||
|
||||
%if "%{kmod_kernel_version_dep}" == ""
|
||||
%define kmod_kernel_version_dep %{kmod_kernel_version}
|
||||
%endif
|
||||
|
||||
%if "%{kmod_dist_build_deps}" == ""
|
||||
%if (0%{?rhel} > 7) || (0%{?centos} > 7)
|
||||
%define kmod_dist_build_deps redhat-rpm-config kernel-abi-whitelists elfutils-libelf-devel kernel-rpm-macros kmod
|
||||
%else
|
||||
%define kmod_dist_build_deps redhat-rpm-config kernel-abi-whitelists
|
||||
%endif
|
||||
%endif
|
||||
|
||||
Source0: %{kmod_name}-%{kmod_vendor}-%{kmod_driver_version}.tar.bz2
|
||||
# Source code patches
|
||||
Patch0: 0001-mt76-connac-do-not-schedule-mac_work-if-the-device-i.patch
|
||||
Patch1: 0002-mt76-mt7921-continue-to-probe-driver-when-fw-already.patch
|
||||
Patch2: 9000-force-enable-mt7921.patch
|
||||
Patch3: 9001-add-driver-version.patch
|
||||
Patch4: 9002-change-firmware-path.patch
|
||||
|
||||
%define findpat %( echo "%""P" )
|
||||
%define __find_requires /usr/lib/rpm/redhat/find-requires.ksyms
|
||||
%define __find_provides /usr/lib/rpm/redhat/find-provides.ksyms %{kmod_name} %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
%define sbindir %( if [ -d "/sbin" -a \! -h "/sbin" ]; then echo "/sbin"; else echo %{_sbindir}; fi )
|
||||
%define dup_state_dir %{_localstatedir}/lib/rpm-state/kmod-dups
|
||||
%define kver_state_dir %{dup_state_dir}/kver
|
||||
%define kver_state_file %{kver_state_dir}/%{kmod_kernel_version}.%(arch)
|
||||
%define dup_module_list %{dup_state_dir}/rpm-kmod-%{kmod_name}-modules
|
||||
|
||||
Name: kmod-redhat-mt7921
|
||||
Version: %{kmod_driver_version}
|
||||
Release: %{kmod_rpm_release}%{?dist}
|
||||
%if "%{kmod_driver_epoch}" != ""
|
||||
Epoch: %{kmod_driver_epoch}
|
||||
%endif
|
||||
Summary: mt7921 kernel module for Driver Update Program
|
||||
Group: System/Kernel
|
||||
License: GPLv2
|
||||
URL: https://www.kernel.org/
|
||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||
BuildRequires: %kernel_devel_pkg = %kmod_kernel_version
|
||||
%if "%{kmod_dist_build_deps}" != ""
|
||||
BuildRequires: %{kmod_dist_build_deps}
|
||||
%endif
|
||||
ExclusiveArch: x86_64
|
||||
%global kernel_source() /usr/src/kernels/%{kmod_kernel_version}.$(arch)
|
||||
|
||||
%global _use_internal_dependency_generator 0
|
||||
%if "%{?kmod_kernel_version_min}" != ""
|
||||
Provides: %kernel_modules_pkg >= %{kmod_kernel_version_min}.%{_target_cpu}
|
||||
%else
|
||||
Provides: %kernel_modules_pkg = %{kmod_kernel_version_dep}.%{_target_cpu}
|
||||
%endif
|
||||
Provides: kmod-%{kmod_name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires(post): %{sbindir}/weak-modules
|
||||
Requires(postun): %{sbindir}/weak-modules
|
||||
Requires: kernel >= 4.18.0-348.el8
|
||||
|
||||
Requires: kernel < 4.18.0-349.el8
|
||||
%if 1
|
||||
Requires: firmware(%{kmod_name}) = 20211119_105.gitf5d51956_dup8.5
|
||||
%endif
|
||||
%if "%{kmod_build_dependencies}" != ""
|
||||
BuildRequires: %{kmod_build_dependencies}
|
||||
%endif
|
||||
%if "%{kmod_dependencies}" != ""
|
||||
Requires: %{kmod_dependencies}
|
||||
%endif
|
||||
%if "%{kmod_provides}" != ""
|
||||
Provides: %{kmod_provides}
|
||||
%endif
|
||||
# if there are multiple kmods for the same driver from different vendors,
|
||||
# they should conflict with each other.
|
||||
Conflicts: kmod-%{kmod_name}
|
||||
|
||||
%description
|
||||
mt7921 kernel module for Driver Update Program
|
||||
|
||||
%if 1
|
||||
|
||||
%package -n kmod-redhat-mt7921-firmware
|
||||
Version: 20211119_105.gitf5d51956_dup8.5
|
||||
Summary: mt7921 firmware for Driver Update Program
|
||||
Provides: firmware(%{kmod_name}) = 20211119_105.gitf5d51956_dup8.5
|
||||
%if "%{kmod_kernel_version_min}" != ""
|
||||
Provides: %kernel_modules_pkg >= %{kmod_kernel_version_min}.%{_target_cpu}
|
||||
%else
|
||||
Provides: %kernel_modules_pkg = %{kmod_kernel_version_dep}.%{_target_cpu}
|
||||
%endif
|
||||
%description -n kmod-redhat-mt7921-firmware
|
||||
mt7921 firmware for Driver Update Program
|
||||
|
||||
|
||||
%files -n kmod-redhat-mt7921-firmware
|
||||
%defattr(644,root,root,755)
|
||||
/lib/firmware/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr_dup8.5.bin
|
||||
/lib/firmware/mediatek/WIFI_RAM_CODE_MT7961_1_dup8.5.bin
|
||||
|
||||
|
||||
%endif
|
||||
|
||||
# Development package
|
||||
%if 0%{kmod_devel_package}
|
||||
%package -n kmod-redhat-mt7921-devel
|
||||
Version: %{kmod_driver_version}
|
||||
Requires: kernel >= 4.18.0-348.el8
|
||||
|
||||
Requires: kernel < 4.18.0-349.el8
|
||||
Summary: mt7921 development files for Driver Update Program
|
||||
|
||||
%description -n kmod-redhat-mt7921-devel
|
||||
mt7921 development files for Driver Update Program
|
||||
|
||||
|
||||
%files -n kmod-redhat-mt7921-devel
|
||||
%defattr(644,root,root,755)
|
||||
/lib/modules/%{kmod_rpm_name}-%{kmod_driver_version}/
|
||||
%endif
|
||||
|
||||
# Extra files package
|
||||
%if 0%{kmod_files_package}
|
||||
%package -n kmod-redhat-mt7921-files
|
||||
Version: %{kmod_driver_version}
|
||||
Summary: mt7921 additional files for Driver Update Program
|
||||
%if 0%{kmod_files_noarch}
|
||||
BuildArch: noarch
|
||||
%endif
|
||||
%if "%{?kmod_kernel_version_min}" != ""
|
||||
Provides: %kernel_modules_pkg >= %{kmod_kernel_version_min}.%{_target_cpu}
|
||||
%else
|
||||
Provides: %kernel_modules_pkg = %{kmod_kernel_version_dep}.%{_target_cpu}
|
||||
%endif
|
||||
|
||||
%description -n kmod-redhat-mt7921-files
|
||||
mt7921 additional files for Driver Update Program
|
||||
|
||||
|
||||
%files -n kmod-redhat-mt7921-files
|
||||
%defattr(644,root,root,755)
|
||||
/etc/dracut.conf.d/kmod-redhat-mt7921_dup85.conf
|
||||
%endif
|
||||
|
||||
%post
|
||||
modules=( $(find /lib/modules/%{kmod_kernel_version}.%(arch)/%{kmod_install_path} | grep '\.ko$') )
|
||||
printf '%s\n' "${modules[@]}" | %{sbindir}/weak-modules --add-modules --no-initramfs
|
||||
|
||||
mkdir -p "%{kver_state_dir}"
|
||||
touch "%{kver_state_file}"
|
||||
|
||||
exit 0
|
||||
|
||||
%posttrans
|
||||
# We have to re-implement part of weak-modules here because it doesn't allow
|
||||
# calling initramfs regeneration separately
|
||||
if [ -f "%{kver_state_file}" ]; then
|
||||
kver_base="%{kmod_kernel_version_dep}"
|
||||
kvers=$(ls -d "/lib/modules/${kver_base%%.*}"*)
|
||||
|
||||
for k_dir in $kvers; do
|
||||
k="${k_dir#/lib/modules/}"
|
||||
|
||||
tmp_initramfs="/boot/initramfs-$k.tmp"
|
||||
dst_initramfs="/boot/initramfs-$k.img"
|
||||
|
||||
# The same check as in weak-modules: we assume that the kernel present
|
||||
# if the symvers file exists.
|
||||
if [ -e "/boot/symvers-$k.gz" ] || [ -e "$k_dir/symvers.gz" ]; then
|
||||
/usr/bin/dracut -f "$tmp_initramfs" "$k" || exit 1
|
||||
cmp -s "$tmp_initramfs" "$dst_initramfs"
|
||||
if [ "$?" = 1 ]; then
|
||||
mv "$tmp_initramfs" "$dst_initramfs"
|
||||
else
|
||||
rm -f "$tmp_initramfs"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
rm -f "%{kver_state_file}"
|
||||
rmdir "%{kver_state_dir}" 2> /dev/null
|
||||
fi
|
||||
|
||||
rmdir "%{dup_state_dir}" 2> /dev/null
|
||||
|
||||
exit 0
|
||||
|
||||
%preun
|
||||
if rpm -q --filetriggers kmod 2> /dev/null| grep -q "Trigger for weak-modules call on kmod removal"; then
|
||||
mkdir -p "%{kver_state_dir}"
|
||||
touch "%{kver_state_file}"
|
||||
fi
|
||||
|
||||
mkdir -p "%{dup_state_dir}"
|
||||
rpm -ql kmod-redhat-mt7921-%{kmod_driver_version}-%{kmod_rpm_release}%{?dist}.$(arch) | \
|
||||
grep '\.ko$' > "%{dup_module_list}"
|
||||
|
||||
%postun
|
||||
if rpm -q --filetriggers kmod 2> /dev/null| grep -q "Trigger for weak-modules call on kmod removal"; then
|
||||
initramfs_opt="--no-initramfs"
|
||||
else
|
||||
initramfs_opt=""
|
||||
fi
|
||||
|
||||
modules=( $(cat "%{dup_module_list}") )
|
||||
rm -f "%{dup_module_list}"
|
||||
printf '%s\n' "${modules[@]}" | %{sbindir}/weak-modules --remove-modules $initramfs_opt
|
||||
|
||||
rmdir "%{dup_state_dir}" 2> /dev/null
|
||||
|
||||
exit 0
|
||||
|
||||
%files
|
||||
%defattr(644,root,root,755)
|
||||
/lib/modules/%{kmod_kernel_version}.%(arch)
|
||||
/etc/depmod.d/%{kmod_name}.conf
|
||||
%doc /usr/share/doc/%{kmod_rpm_name}/greylist.txt
|
||||
%if !0%{kmod_files_package}
|
||||
/etc/dracut.conf.d/kmod-redhat-mt7921_dup85.conf
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -n %{kmod_name}-%{kmod_vendor}-%{kmod_driver_version}
|
||||
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
set -- *
|
||||
mkdir source
|
||||
mv "$@" source/
|
||||
mkdir obj
|
||||
|
||||
%build
|
||||
rm -rf obj
|
||||
cp -r source obj
|
||||
|
||||
PWD_PATH="$PWD"
|
||||
%if "%{workaround_no_pwd_rel_path}" != "1"
|
||||
PWD_PATH=$(realpath --relative-to="%{kernel_source}" . 2>/dev/null || echo "$PWD")
|
||||
%endif
|
||||
%{make_build} -C %{kernel_source} V=1 M="$PWD_PATH/obj/%{kmod_kbuild_dir}" \
|
||||
NOSTDINC_FLAGS="-I$PWD_PATH/obj/include -I$PWD_PATH/obj/include/uapi %{nil}" \
|
||||
EXTRA_CFLAGS="%{nil}" \
|
||||
%{nil}
|
||||
# mark modules executable so that strip-to-file can strip them
|
||||
find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -exec chmod u+x '{}' +
|
||||
|
||||
whitelist="/lib/modules/kabi-current/kabi_whitelist_%{_target_cpu}"
|
||||
for modules in $( find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -printf "%{findpat}\n" | sed 's|\.ko$||' | sort -u ) ; do
|
||||
# update depmod.conf
|
||||
module_weak_path=$(echo "$modules" | sed 's/[\/]*[^\/]*$//')
|
||||
if [ -z "$module_weak_path" ]; then
|
||||
module_weak_path=%{name}
|
||||
else
|
||||
module_weak_path=%{name}/$module_weak_path
|
||||
fi
|
||||
echo "override $(echo $modules | sed 's/.*\///')" \
|
||||
"$(echo "%{kmod_kernel_version_dep}" |
|
||||
sed 's/\.[^\.]*$//;
|
||||
s/\([.+?^$\/\\|()\[]\|\]\)/\\\0/g').*" \
|
||||
"weak-updates/$module_weak_path" >> source/depmod.conf
|
||||
|
||||
# update greylist
|
||||
nm -u obj/%{kmod_kbuild_dir}/$modules.ko | sed 's/.*U //' | sed 's/^\.//' | sort -u | while read -r symbol; do
|
||||
grep -q "^\s*$symbol\$" $whitelist || echo "$symbol" >> source/greylist
|
||||
done
|
||||
done
|
||||
sort -u source/greylist | uniq > source/greylist.txt
|
||||
|
||||
%install
|
||||
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
|
||||
export INSTALL_MOD_DIR=%{kmod_install_path}
|
||||
PWD_PATH="$PWD"
|
||||
%if "%{workaround_no_pwd_rel_path}" != "1"
|
||||
PWD_PATH=$(realpath --relative-to="%{kernel_source}" . 2>/dev/null || echo "$PWD")
|
||||
%endif
|
||||
make -C %{kernel_source} modules_install \
|
||||
M=$PWD_PATH/obj/%{kmod_kbuild_dir}
|
||||
# Cleanup unnecessary kernel-generated module dependency files.
|
||||
find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
|
||||
|
||||
install -m 644 -D source/depmod.conf $RPM_BUILD_ROOT/etc/depmod.d/%{kmod_name}.conf
|
||||
install -m 644 -D source/greylist.txt $RPM_BUILD_ROOT/usr/share/doc/%{kmod_rpm_name}/greylist.txt
|
||||
%if 1
|
||||
install -m 644 -D source/firmware/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr_dup8.5.bin $RPM_BUILD_ROOT/lib/firmware/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr_dup8.5.bin
|
||||
install -m 644 -D source/firmware/mediatek/WIFI_RAM_CODE_MT7961_1_dup8.5.bin $RPM_BUILD_ROOT/lib/firmware/mediatek/WIFI_RAM_CODE_MT7961_1_dup8.5.bin
|
||||
|
||||
%endif
|
||||
%if 0%{kmod_devel_package}
|
||||
install -m 644 -D $PWD/obj/%{kmod_kbuild_dir}/Module.symvers $RPM_BUILD_ROOT/lib/modules/%{kmod_rpm_name}-%{kmod_driver_version}/build/Module.symvers
|
||||
|
||||
if [ -n "%{kmod_devel_src_paths}" ]; then
|
||||
for i in %{kmod_devel_src_paths}; do
|
||||
mkdir -p "$RPM_BUILD_ROOT/lib/modules/%{kmod_rpm_name}-%{kmod_driver_version}/build/$(dirname "$i")"
|
||||
cp -rv "$PWD/source/$i" \
|
||||
"$RPM_BUILD_ROOT/lib/modules/%{kmod_rpm_name}-%{kmod_driver_version}/build/$i"
|
||||
done
|
||||
fi
|
||||
%endif
|
||||
install -m 664 -D source/extra//etc/dracut.conf.d/kmod-redhat-mt7921_dup85.conf $RPM_BUILD_ROOT//etc/dracut.conf.d/kmod-redhat-mt7921_dup85.conf
|
||||
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%changelog
|
||||
* Wed Feb 09 2022 Eugene Syromiatnikov <esyr@redhat.com> 4.18.0_363_dup8.5-2
|
||||
- Bump release due to "Package build kmod-redhat-mt7921-4.18.0_363_dup8.5-1.el8_5
|
||||
kept gated because not onboarded to gating".
|
||||
|
||||
* Wed Feb 09 2022 Eugene Syromiatnikov <esyr@redhat.com> 4.18.0_363_dup8.5-1
|
||||
- 9dc660bf1362f5a22a908e61004498cf7ec063a8
|
||||
- mt7921 kernel module for Driver Update Program
|
||||
- Resolves: #bz2051885
|
Loading…
Reference in new issue