diff --git a/.gitattributes b/.gitattributes
index ad4a8fc..77e163e 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -23,6 +23,18 @@
*.zst filter=lfs diff=lfs merge=lfs -text
## Specific LFS patterns
ast_dp501_fw.bin filter=lfs diff=lfs merge=lfs -text
+iwlwifi-Qu-b0-hr-b0-71.ucode filter=lfs diff=lfs merge=lfs -text
+iwlwifi-Qu-b0-jf-b0-71.ucode filter=lfs diff=lfs merge=lfs -text
+iwlwifi-Qu-c0-hr-b0-71.ucode filter=lfs diff=lfs merge=lfs -text
+iwlwifi-Qu-c0-jf-b0-71.ucode filter=lfs diff=lfs merge=lfs -text
+iwlwifi-QuZ-a0-hr-b0-71.ucode filter=lfs diff=lfs merge=lfs -text
+iwlwifi-QuZ-a0-jf-b0-71.ucode filter=lfs diff=lfs merge=lfs -text
+iwlwifi-cc-a0-71.ucode filter=lfs diff=lfs merge=lfs -text
+iwlwifi-so-a0-gf-a0-71.ucode filter=lfs diff=lfs merge=lfs -text
+iwlwifi-so-a0-gf4-a0-71.ucode filter=lfs diff=lfs merge=lfs -text
+iwlwifi-so-a0-hr-b0-71.ucode filter=lfs diff=lfs merge=lfs -text
+iwlwifi-so-a0-jf-b0-71.ucode filter=lfs diff=lfs merge=lfs -text
+iwlwifi-ty-a0-gf-a0-71.ucode filter=lfs diff=lfs merge=lfs -text
ql2600_fw.bin filter=lfs diff=lfs merge=lfs -text
ql2700_fw.bin filter=lfs diff=lfs merge=lfs -text
ql8300_fw.bin filter=lfs diff=lfs merge=lfs -text
diff --git a/_servicedata b/_servicedata
index ff48f8c..7acba03 100644
--- a/_servicedata
+++ b/_servicedata
@@ -1,4 +1,4 @@
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
- 49f9e3479fb564ab96ebbfef327743b0ec2a7620
\ No newline at end of file
+ 389575a8a1773b857bd7176cc42143471226f982
\ No newline at end of file
diff --git a/aliases.list b/aliases.list
index 67b5589..d6ebbb0 100644
--- a/aliases.list
+++ b/aliases.list
@@ -24,6 +24,9 @@ advansys: pci:v000010CDd00002500sv*sd*bc*sc*i*
advansys: pci:v000010CDd00002700sv*sd*bc*sc*i*
ambassador: pci:v000010B6d00001001sv*sd*bc*sc*i*
ambassador: pci:v000010B6d00001002sv*sd*bc*sc*i*
+amd_pmf: acpi*:AMDI0100%3A*
+amd_pmf: acpi*:AMDI0102%3A*
+amd_pmf: acpi*:AMDI0103%3A*
amdgpu: pci:v00001002d*sv*sd*bc03sc00i00*
amdgpu: pci:v00001002d*sv*sd*bc03sc80i00*
amdgpu: pci:v00001002d*sv*sd*bc12sc00i00*
@@ -3523,6 +3526,7 @@ r8152: usb:v17EFp721Ed*dc*dsc*dp*icFFisc*ip*in*
r8152: usb:v17EFpA387d*dc*dsc*dp*ic*isc*ip*in*
r8152: usb:v17EFpA387d*dc*dsc*dp*ic02isc06ip00in*
r8152: usb:v17EFpA387d*dc*dsc*dp*icFFisc*ip*in*
+r8152: usb:v2001pB301d*dc*dsc*dp*ic*isc*ip*in*
r8152: usb:v2357p0601d*dc*dsc*dp*ic*isc*ip*in*
r8152: usb:v2357p0601d*dc*dsc*dp*ic02isc06ip00in*
r8152: usb:v2357p0601d*dc*dsc*dp*icFFisc*ip*in*
diff --git a/amd-ucode-rawfile.patch b/amd-ucode-rawfile.patch
deleted file mode 100644
index ea5f960..0000000
--- a/amd-ucode-rawfile.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/WHENCE b/WHENCE
-index 390a5689408e..852e88f55341 100644
---- a/WHENCE
-+++ b/WHENCE
-@@ -3912,20 +3912,15 @@ License: Redistributable. See LICENSE.amd-sev for details
-
- Driver: microcode_amd - AMD CPU Microcode Update Driver for Linux
-
--File: amd-ucode/microcode_amd.bin
--Raw: amd-ucode/microcode_amd.bin
-+RawFile: amd-ucode/microcode_amd.bin
- Version: 2013-07-10
--File: amd-ucode/microcode_amd_fam15h.bin
--Raw: amd-ucode/microcode_amd_fam15h.bin
-+RawFile: amd-ucode/microcode_amd_fam15h.bin
- Version: 2018-05-24
--File: amd-ucode/microcode_amd_fam16h.bin
--Raw: amd-ucode/microcode_amd_fam16h.bin
-+RawFile: amd-ucode/microcode_amd_fam16h.bin
- Version: 2014-10-28
--File: amd-ucode/microcode_amd_fam17h.bin
--Raw: amd-ucode/microcode_amd_fam17h.bin
-+RawFile: amd-ucode/microcode_amd_fam17h.bin
- Version: 2023-07-19
--File: amd-ucode/microcode_amd_fam19h.bin
--Raw: amd-ucode/microcode_amd_fam19h.bin
-+RawFile: amd-ucode/microcode_amd_fam19h.bin
- Version: 2023-08-08
- File: amd-ucode/README
-
diff --git a/iwlwifi-Qu-b0-hr-b0-71.ucode b/iwlwifi-Qu-b0-hr-b0-71.ucode
new file mode 100644
index 0000000..9aff729
--- /dev/null
+++ b/iwlwifi-Qu-b0-hr-b0-71.ucode
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f7ddabe9cc308de0f618ff208313e7180fdf7178d3ba70814664d6fc2f9c9324
+size 1364312
diff --git a/iwlwifi-Qu-b0-jf-b0-71.ucode b/iwlwifi-Qu-b0-jf-b0-71.ucode
new file mode 100644
index 0000000..7b89323
--- /dev/null
+++ b/iwlwifi-Qu-b0-jf-b0-71.ucode
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:696fff84535d276f1645a4510f06bbc1469a5d73b2ca9513b77d2602311a937e
+size 1285192
diff --git a/iwlwifi-Qu-c0-hr-b0-71.ucode b/iwlwifi-Qu-c0-hr-b0-71.ucode
new file mode 100644
index 0000000..be33154
--- /dev/null
+++ b/iwlwifi-Qu-c0-hr-b0-71.ucode
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3522b528a52dafe68ffdcc9dc07593267a1a956d689c9e23d93110e3fc6599ce
+size 1364328
diff --git a/iwlwifi-Qu-c0-jf-b0-71.ucode b/iwlwifi-Qu-c0-jf-b0-71.ucode
new file mode 100644
index 0000000..79e7c5f
--- /dev/null
+++ b/iwlwifi-Qu-c0-jf-b0-71.ucode
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3cce1c557372d8177f6a3363604a59c205c52285448c2e624974d02eb0b75bdd
+size 1285208
diff --git a/iwlwifi-QuZ-a0-hr-b0-71.ucode b/iwlwifi-QuZ-a0-hr-b0-71.ucode
new file mode 100644
index 0000000..9282489
--- /dev/null
+++ b/iwlwifi-QuZ-a0-hr-b0-71.ucode
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:11fd8d891a6bea770dc9a2c1c7cc728745cfd470b8c0e5a57f0c5d50312a1743
+size 1364308
diff --git a/iwlwifi-QuZ-a0-jf-b0-71.ucode b/iwlwifi-QuZ-a0-jf-b0-71.ucode
new file mode 100644
index 0000000..e135efe
--- /dev/null
+++ b/iwlwifi-QuZ-a0-jf-b0-71.ucode
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:995bf8c424472a86940014792b7c1c85b27f666742539ae36b3959bb53d445ce
+size 1285188
diff --git a/iwlwifi-WHENCE-fix.patch b/iwlwifi-WHENCE-fix.patch
new file mode 100644
index 0000000..03e44b0
--- /dev/null
+++ b/iwlwifi-WHENCE-fix.patch
@@ -0,0 +1,47 @@
+diff --git a/WHENCE b/WHENCE
+index cf805e28f5a7..16a9f1d78d57 100644
+--- a/WHENCE
++++ b/WHENCE
+@@ -908,6 +908,42 @@ Version: 66.f1c864e0.0
+ File: iwlwifi-ty-a0-gf-a0-66.ucode
+ Version: 66.f1c864e0.0
+
++File: iwlwifi-cc-a0-71.ucode
++Version: 71.058653f6.0
++
++File: iwlwifi-Qu-b0-hr-b0-71.ucode
++Version: 71.058653f6.0
++
++File: iwlwifi-Qu-b0-jf-b0-71.ucode
++Version: 71.058653f6.0
++
++File: iwlwifi-Qu-c0-hr-b0-71.ucode
++Version: 71.058653f6.0
++
++File: iwlwifi-Qu-c0-jf-b0-71.ucode
++Version: 71.058653f6.0
++
++File: iwlwifi-QuZ-a0-hr-b0-71.ucode
++Version: 71.058653f6.0
++
++File: iwlwifi-QuZ-a0-jf-b0-71.ucode
++Version: 71.058653f6.0
++
++File: iwlwifi-ty-a0-gf-a0-71.ucode
++Version: 71.058653f6.0
++
++File: iwlwifi-so-a0-gf4-a0-71.ucode
++Version: 71.058653f6.0
++
++File: iwlwifi-so-a0-gf-a0-71.ucode
++Version: 71.058653f6.0
++
++File: iwlwifi-so-a0-hr-b0-71.ucode
++Version: 71.058653f6.0
++
++File: iwlwifi-so-a0-jf-b0-71.ucode
++Version: 71.058653f6.0
++
+ File: iwlwifi-cc-a0-72.ucode
+ Version: 72.daa05125.0
+
diff --git a/iwlwifi-cc-a0-71.ucode b/iwlwifi-cc-a0-71.ucode
new file mode 100644
index 0000000..47fa511
--- /dev/null
+++ b/iwlwifi-cc-a0-71.ucode
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1561efa63710678be1392b0a572b9b5d021b529e71463346a7a05129294ddfa6
+size 1322288
diff --git a/iwlwifi-so-a0-gf-a0-71.ucode b/iwlwifi-so-a0-gf-a0-71.ucode
new file mode 100644
index 0000000..e00ef68
--- /dev/null
+++ b/iwlwifi-so-a0-gf-a0-71.ucode
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a5d7cc6a6c7748e570e0094032045122d7a5a76f6fde2e7b2f1ad1048575896a
+size 1550124
diff --git a/iwlwifi-so-a0-gf4-a0-71.ucode b/iwlwifi-so-a0-gf4-a0-71.ucode
new file mode 100644
index 0000000..a3bf7f3
--- /dev/null
+++ b/iwlwifi-so-a0-gf4-a0-71.ucode
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b5b1f8c1d22ae4df4f44e5e81c5ed5a45591526c07f9e2a1b13ec7c8ee2d16dc
+size 1566352
diff --git a/iwlwifi-so-a0-hr-b0-71.ucode b/iwlwifi-so-a0-hr-b0-71.ucode
new file mode 100644
index 0000000..1f573af
--- /dev/null
+++ b/iwlwifi-so-a0-hr-b0-71.ucode
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c8f5feac1b1db256da2c6c0739ec6ea7bdbe8e78ed19944b4c9a39b7fc61a5aa
+size 1456960
diff --git a/iwlwifi-so-a0-jf-b0-71.ucode b/iwlwifi-so-a0-jf-b0-71.ucode
new file mode 100644
index 0000000..48ccd86
--- /dev/null
+++ b/iwlwifi-so-a0-jf-b0-71.ucode
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:169de0f9f49d5dbcc59d7d1432890b7f153c3864d8d72ff5f47549f281b6b41e
+size 1400056
diff --git a/iwlwifi-ty-a0-gf-a0-71.ucode b/iwlwifi-ty-a0-gf-a0-71.ucode
new file mode 100644
index 0000000..7d5df12
--- /dev/null
+++ b/iwlwifi-ty-a0-gf-a0-71.ucode
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a4a0c77a84f9bb279c5b4e83a8949073f4a93f248fcfff90ff2147ac658eba95
+size 1494024
diff --git a/kernel-firmware-20230829.tar.xz b/kernel-firmware-20230829.tar.xz
deleted file mode 100644
index 5bdffc3..0000000
--- a/kernel-firmware-20230829.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:39956b7c9b6316211f68d70e45933ef26cea132f7f3214f4636abda1425565d9
-size 288932500
diff --git a/kernel-firmware-20231006.tar.xz b/kernel-firmware-20231006.tar.xz
new file mode 100644
index 0000000..c6837e5
--- /dev/null
+++ b/kernel-firmware-20231006.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:36bb702257f37c5912853bd376339285e4565cd9584a2b2835efd921ab2f29d0
+size 308333084
diff --git a/kernel-firmware.changes b/kernel-firmware.changes
index 2fad2f1..7dc87e7 100644
--- a/kernel-firmware.changes
+++ b/kernel-firmware.changes
@@ -1,3 +1,83 @@
+-------------------------------------------------------------------
+Thu Oct 12 09:53:05 UTC 2023 - Takashi Iwai
+
+- Add Provides to sub-packages from kernel-firmware (bsc#1214789);
+ this will work around the potential conflicts of compressed vs
+ uncompressed installations
+
+-------------------------------------------------------------------
+Mon Oct 09 07:10:37 UTC 2023 - tiwai@suse.com
+
+- Update to version 20231006 (git commit 389575a8a177) (jsc#PED-6130, jsc#PED-6081):
+ * WHENCE: add symlink for BananaPi M64
+ * linux-firmware: Add firmware file for Intel Bluetooth AX211
+ * linux-firmware: Update firmware file for Intel Bluetooth AX201
+ * linux-firmware: Update firmware file for Intel Bluetooth AX201
+ * linux-firmware: Update firmware file for Intel Bluetooth AX211
+ * linux-firmware: Update firmware file for Intel Bluetooth AX211
+ * linux-firmware: Update firmware file for Intel Bluetooth AX210
+ * linux-firmware: Update firmware file for Intel Bluetooth 9560
+ * linux-firmware: Update firmware file for Intel Bluetooth 9260
+ * Build debian and fedora images
+ * Add new Makefile target to build a deb and rpm package
+ * i915: Update MTL DMC to v2.17
+ * iwlwifi: add FWs for new GL and MA device types with multiple RF modules
+ * amd_pmf: Add initial PMF TA for Smart PC Solution Builder
+ * linux-firmware: Update FW files for MRVL PCIE 8997 chipsets
+ * rtl_bt: Update RTL8851B BT USB firmware to 0x048A_D230
+ * iwlwifi: add new FWs from core81-65 release
+ * iwlwifi: update cc/Qu/QuZ firmwares for core81-65 release
+- Drop fdupes to avoid missing files for split packages (bsc#1215464)
+- Add conflicts to each split subpk against uncompressed raw package;
+ the contents may conflict and the compressed files won't be effective
+ unless the raw files get removed
+- Update aliases
+
+-------------------------------------------------------------------
+Fri Sep 22 12:53:05 UTC 2023 - tiwai@suse.com
+
+- Update to version 20230918 (commit f48da6da5507):
+ * Run merge request pipelines for pre-commit.
+ * linux-firmware: amd-ucode: Add note on fam19h warnings
+ * i915: update MTL HuC to version 8.5.4
+ * amdgpu: update DMCUB to 0.0.183.0 for various AMDGPU ASICs
+
+-------------------------------------------------------------------
+Thu Sep 14 12:44:20 UTC 2023 - tiwai@suse.com
+
+- Update to version 20230907 (git commit c801b3b807d2):
+ * Turn off textwidth check
+ * linux-firmware: add link to sc8280xp audioreach firmware
+ * qcom: sm8250: add RB5 sensors DSP firmware
+ * qcom: Update vpu-1.0 firmware
+ * qcom: sm8250: update DSP firmware
+ * qcom: add firmware for the onboard WiFi on qcm2290 / qrb4210
+ * qcom: add venus firmware files for v6.0
+ * qcom: add firmware for QRB4210 platforms
+ * qcom: add firmware for QCM2290 platforms
+ * qcom: add GPU firmware for QCM2290 / QRB2210
+ * ath10k/WCN3990: move wlanmdsp to qcom/sdm845
+ * WHENCE: Don't compress qcom json files
+ * WHENCE: amd-ucode: Use new RawFile keyword
+ * check_whence: Recognize RawFile keyword
+ * Only run ci-fairy on merge requests
+ * Capture artifacts from `make dist` to save at release time.
+ * Add new toplevel 'make dist' target.
+ * Create symlinks for all firmware that is duplicate using rdfind
+ * QCA: Update Bluetooth WCN685x 2.1 firmware to 2.1.0-00605
+ * Add shellcheck pre-commit target
+ * Fix carl9170fw shell scripts for shellcheck errors
+ * Add a rule for automatic tagging releases by pipeline schedule
+ * Add gitlab ci for calling pre-commit and ci-fairy
+ * Add Dockerfile used to build CI image
+ * Rewrite README in markdown
+ * Wire up pre-commit to `make check`
+ * Add pre-commit hooks and codespell template
+ * check_whence: reformat using python black
+- Drop obsoleted amd-ucode-rawfile.patch
+- Fix make-files.sh to handle RawFile tag correctly
+- Update aliases from 6.6-rc1
+
-------------------------------------------------------------------
Tue Aug 29 15:09:31 UTC 2023 - tiwai@suse.com
@@ -280,6 +360,13 @@ Mon Apr 17 08:13:49 UTC 2023 - tiwai@suse.com
* amdgpu: Add GC 11.0.4 firmware
* rtw88: 8822c: Update normal firmware to v9.9.15
+-------------------------------------------------------------------
+Fri Mar 24 16:08:17 UTC 2023 - Takashi Iwai
+
+- Revive the old iwlwifi-*-71 ucode for compatibility with
+ SLE15-SP4 kernel (bsc#1209681):
+ WHENCE updated by iwlwifi-WHENCE-fix.patch
+
-------------------------------------------------------------------
Fri Mar 24 08:22:16 UTC 2023 - tiwai@suse.com
diff --git a/kernel-firmware.spec b/kernel-firmware.spec
index eddf73b..7ad6d88 100644
--- a/kernel-firmware.spec
+++ b/kernel-firmware.spec
@@ -21,11 +21,11 @@
%define _firmwaredir /lib/firmware
%endif
%define __ksyms_path ^%{_firmwaredir}
-%define version_unconverted 20230829
+%define version_unconverted 20231006
# Force bzip2 instead of lzma compression (bsc#1176981)
%define _binary_payload w9.bzdio
Name: kernel-firmware
-Version: 20230829
+Version: 20231006
Release: 0
Summary: Linux kernel firmware files
License: GPL-2.0-only AND SUSE-Firmware AND GPL-2.0-or-later AND MIT
@@ -39,6 +39,19 @@ Source8: ql2600_fw.bin
Source9: ql2700_fw.bin
Source10: ql8300_fw.bin
Source99: kernel-firmware-rpmlintrc
+# for compatibility with SLE15-SP4 kernel (bsc#1209681)
+Source200: iwlwifi-cc-a0-71.ucode
+Source201: iwlwifi-Qu-b0-hr-b0-71.ucode
+Source202: iwlwifi-Qu-b0-jf-b0-71.ucode
+Source203: iwlwifi-Qu-c0-hr-b0-71.ucode
+Source204: iwlwifi-Qu-c0-jf-b0-71.ucode
+Source205: iwlwifi-QuZ-a0-hr-b0-71.ucode
+Source206: iwlwifi-QuZ-a0-jf-b0-71.ucode
+Source207: iwlwifi-so-a0-gf4-a0-71.ucode
+Source208: iwlwifi-so-a0-gf-a0-71.ucode
+Source209: iwlwifi-so-a0-hr-b0-71.ucode
+Source210: iwlwifi-so-a0-jf-b0-71.ucode
+Source211: iwlwifi-ty-a0-gf-a0-71.ucode
# install / build infrastructure
Source1001: make-files.sh
Source1002: list-license.sh
@@ -59,8 +72,8 @@ Source1100: qcom-post
Source1101: uncompressed-post
# workarounds
Patch1: copy-file-ignore-README.patch
-Patch2: amd-ucode-rawfile.patch
-BuildRequires: fdupes
+# for compatibility with SLE15-SP4 kernel (bsc#1209681)
+Patch200: iwlwifi-WHENCE-fix.patch
BuildRequires: suse-module-tools
Requires(post): %{_bindir}/mkdir
Requires(post): %{_bindir}/touch
@@ -100,6 +113,41 @@ Obsoletes: qlogic-firmware < %{version}
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
%endif
+%if "%{flavor}" == "uncompressed"
+Provides: %{name}-amdgpu = %{version}
+Provides: %{name}-ath10k = %{version}
+Provides: %{name}-ath11k = %{version}
+Provides: %{name}-atheros = %{version}
+Provides: %{name}-bluetooth = %{version}
+Provides: %{name}-bnx2 = %{version}
+Provides: %{name}-brcm = %{version}
+Provides: %{name}-chelsio = %{version}
+Provides: %{name}-dpaa2 = %{version}
+Provides: %{name}-i915 = %{version}
+Provides: %{name}-intel = %{version}
+Provides: %{name}-iwlwifi = %{version}
+Provides: %{name}-liquidio = %{version}
+Provides: %{name}-marvell = %{version}
+Provides: %{name}-media = %{version}
+Provides: %{name}-mediatek = %{version}
+Provides: %{name}-mellanox = %{version}
+Provides: %{name}-mwifiex = %{version}
+Provides: %{name}-network = %{version}
+Provides: %{name}-nfp = %{version}
+Provides: %{name}-nvidia = %{version}
+Provides: %{name}-platform = %{version}
+Provides: %{name}-prestera = %{version}
+Provides: %{name}-qcom = %{version}
+Provides: %{name}-qlogic = %{version}
+Provides: %{name}-radeon = %{version}
+Provides: %{name}-realtek = %{version}
+Provides: %{name}-serial = %{version}
+Provides: %{name}-sound = %{version}
+Provides: %{name}-ti = %{version}
+Provides: %{name}-ueagle = %{version}
+Provides: %{name}-usb-network = %{version}
+Provides: kernel-firmware-uncompressed = %{version}
+%endif
%description
This package contains the raw uncompressed firmware files for Linux kernel
@@ -182,6 +230,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -505,6 +555,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -535,6 +587,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -554,6 +608,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -759,6 +815,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -813,6 +871,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -864,6 +924,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -944,6 +1006,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -1335,6 +1399,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -1351,6 +1417,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -1740,6 +1808,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -1774,6 +1844,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -2720,6 +2792,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -2739,6 +2813,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -2781,6 +2857,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -2972,6 +3050,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -3073,6 +3153,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -3093,6 +3175,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -3140,6 +3224,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -3367,6 +3453,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -3395,6 +3483,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -3515,10 +3605,15 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
%endif
+Supplements: modalias(acpi*:AMDI0100%3A*)
+Supplements: modalias(acpi*:AMDI0102%3A*)
+Supplements: modalias(acpi*:AMDI0103%3A*)
Supplements: modalias(acpi*:AMDI0C00%3A*)
Supplements: modalias(eisa:sABP7401*)
Supplements: modalias(eisa:sABP7501*)
@@ -4025,6 +4120,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -4041,6 +4138,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -4237,6 +4336,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -4313,6 +4414,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -5186,6 +5289,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -5849,6 +5954,7 @@ Supplements: modalias(usb:v2001p3C21d*dc*dsc*dp*ic*isc*ip*in*)
Supplements: modalias(usb:v2001p3C22d*dc*dsc*dp*ic*isc*ip*in*)
Supplements: modalias(usb:v2001p3C23d*dc*dsc*dp*ic*isc*ip*in*)
Supplements: modalias(usb:v2001p3C25d*dc*dsc*dp*ic*isc*ip*in*)
+Supplements: modalias(usb:v2001pB301d*dc*dsc*dp*ic*isc*ip*in*)
Supplements: modalias(usb:v2019p1201d*dc*dsc*dp*ic*isc*ip*in*)
Supplements: modalias(usb:v2019p1201d*dc*dsc*dp*icFFiscFFipFFin*)
Supplements: modalias(usb:v2019p4901d*dc*dsc*dp*ic*isc*ip*in*)
@@ -5949,6 +6055,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -6123,6 +6231,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -6194,6 +6304,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -6212,6 +6324,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -6262,6 +6376,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch
Requires(postun):/usr/bin/mkdir /usr/bin/touch
Requires(post): dracut >= 049
Conflicts: kernel < 5.3
+Conflicts: kernel-firmware < %{version}
+Conflicts: kernel-firmware-uncompressed
%if 0%{?suse_version} >= 1550
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
@@ -6389,11 +6505,27 @@ various USB WiFi / Ethernet drivers.
%prep
%setup -q -n kernel-firmware-%{version}
%patch1 -p1
-%patch2 -p1
# additional firmwares
cat %{SOURCE1} >> WHENCE
cp %{SOURCE2} %{SOURCE8} %{SOURCE9} %{SOURCE10} .
+%if 0%{?suse_version} < 1599
+# revive old iwlwifi firmware for compatibility (bsc#1209681)
+%patch200 -p1
+cp %{SOURCE200} .
+cp %{SOURCE201} .
+cp %{SOURCE202} .
+cp %{SOURCE203} .
+cp %{SOURCE204} .
+cp %{SOURCE205} .
+cp %{SOURCE206} .
+cp %{SOURCE207} .
+cp %{SOURCE208} .
+cp %{SOURCE209} .
+cp %{SOURCE210} .
+cp %{SOURCE211} .
+%endif
+
%build
# nothing to do
@@ -6406,7 +6538,6 @@ sh ./copy-firmware.sh -v --xz %{buildroot}%{_firmwaredir}
sh %{_sourcedir}/make-files.sh -v %{_sourcedir}/topics.list %{buildroot} %{_firmwaredir} < WHENCE
sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list
%endif
-%fdupes -s %{buildroot}
%if "%{flavor}" == "uncompressed"
%pre
@@ -6766,7 +6897,7 @@ fi
%if "%{flavor}" == "uncompressed"
%files
-%doc WHENCE README
+%doc WHENCE README.md
%license GPL-2 GPL-3 LICEN[CS]E.*
%{_firmwaredir}
%exclude %{_firmwaredir}/amd-ucode
@@ -6775,7 +6906,7 @@ fi
%else
%files all
-%doc WHENCE README
+%doc WHENCE README.md
%files -n ucode-amd
%doc amd-ucode/README
diff --git a/kernel-firmware.spec.in b/kernel-firmware.spec.in
index d71d67d..52831bb 100644
--- a/kernel-firmware.spec.in
+++ b/kernel-firmware.spec.in
@@ -39,6 +39,19 @@ Source8: ql2600_fw.bin
Source9: ql2700_fw.bin
Source10: ql8300_fw.bin
Source99: kernel-firmware-rpmlintrc
+# for compatibility with SLE15-SP4 kernel (bsc#1209681)
+Source200: iwlwifi-cc-a0-71.ucode
+Source201: iwlwifi-Qu-b0-hr-b0-71.ucode
+Source202: iwlwifi-Qu-b0-jf-b0-71.ucode
+Source203: iwlwifi-Qu-c0-hr-b0-71.ucode
+Source204: iwlwifi-Qu-c0-jf-b0-71.ucode
+Source205: iwlwifi-QuZ-a0-hr-b0-71.ucode
+Source206: iwlwifi-QuZ-a0-jf-b0-71.ucode
+Source207: iwlwifi-so-a0-gf4-a0-71.ucode
+Source208: iwlwifi-so-a0-gf-a0-71.ucode
+Source209: iwlwifi-so-a0-hr-b0-71.ucode
+Source210: iwlwifi-so-a0-jf-b0-71.ucode
+Source211: iwlwifi-ty-a0-gf-a0-71.ucode
# install / build infrastructure
Source1001: make-files.sh
Source1002: list-license.sh
@@ -59,8 +72,8 @@ Source1100: qcom-post
Source1101: uncompressed-post
# workarounds
Patch1: copy-file-ignore-README.patch
-Patch2: amd-ucode-rawfile.patch
-BuildRequires: fdupes
+# for compatibility with SLE15-SP4 kernel (bsc#1209681)
+Patch200: iwlwifi-WHENCE-fix.patch
BuildRequires: suse-module-tools
Requires(post): %{_bindir}/mkdir
Requires(post): %{_bindir}/touch
@@ -74,6 +87,10 @@ BuildArch: noarch
# make sure we have post-usrmerge filesystem package on TW
Conflicts: filesystem < 84
%endif
+%if "%{flavor}" == "uncompressed"
+Provides: kernel-firmware-uncompressed = %{version}
+@@SUBPKGPROVS@@
+%endif
%description
This package contains the raw uncompressed firmware files for Linux kernel
@@ -123,11 +140,27 @@ all files that have been provided by kernel-firmware package.
%prep
%setup -q -n kernel-firmware-%{version}
%patch1 -p1
-%patch2 -p1
# additional firmwares
cat %{SOURCE1} >> WHENCE
cp %{SOURCE2} %{SOURCE8} %{SOURCE9} %{SOURCE10} .
+%if 0%{?suse_version} < 1599
+# revive old iwlwifi firmware for compatibility (bsc#1209681)
+%patch200 -p1
+cp %{SOURCE200} .
+cp %{SOURCE201} .
+cp %{SOURCE202} .
+cp %{SOURCE203} .
+cp %{SOURCE204} .
+cp %{SOURCE205} .
+cp %{SOURCE206} .
+cp %{SOURCE207} .
+cp %{SOURCE208} .
+cp %{SOURCE209} .
+cp %{SOURCE210} .
+cp %{SOURCE211} .
+%endif
+
%build
# nothing to do
@@ -140,7 +173,6 @@ sh ./copy-firmware.sh -v --xz %{buildroot}%{_firmwaredir}
sh %{_sourcedir}/make-files.sh -v %{_sourcedir}/topics.list %{buildroot} %{_firmwaredir} < WHENCE
sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list
%endif
-%fdupes -s %{buildroot}
%if "%{flavor}" == "uncompressed"
@@POST@@
@@ -153,7 +185,7 @@ sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list
%if "%{flavor}" == "uncompressed"
%files
-%doc WHENCE README
+%doc WHENCE README.md
%license GPL-2 GPL-3 LICEN[CS]E.*
%{_firmwaredir}
%exclude %{_firmwaredir}/amd-ucode
@@ -161,7 +193,7 @@ sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list
%else
%files all
-%doc WHENCE README
+%doc WHENCE README.md
%files -n ucode-amd
%doc amd-ucode/README
diff --git a/make-files.sh b/make-files.sh
index 008189a..46076a1 100644
--- a/make-files.sh
+++ b/make-files.sh
@@ -41,17 +41,10 @@ make_dirs () {
fi
}
-copy_link () {
+add_file () {
local f="$1"
- local lf="$2"
- local src="${f%/*}"
- if [ "$src" = "$f" ]; then
- src="$lf"
- else
- src="$src/$lf"
- fi
make_dirs "$f"
- if [ -d "$dest/$src" ]; then
+ if [ -f "$dest/$f" ]; then
echo "\"$fwdir/$f\"" >> files-$topic
else
echo "\"$fwdir/$f$cext\"" >> files-$topic
@@ -89,13 +82,12 @@ while read l; do
echo "ERROR: no topic found for $l"
exit 1
fi
- f=$(echo "$l" | sed -e's/^File: *//' -e's/"//g' -e's/\\//g')
+ f=$(echo "$l" | sed -e's/^File: *//' -e's/^RawFile: *//' -e's/"//g' -e's/\\//g')
case "$f" in
- */README)
+ */README*)
continue;;
esac
- make_dirs "$f"
- echo "\"$fwdir/$f$cext\"" >> files-$topic
+ add_file "$f"
;;
Link:*)
test "$topic" = "SKIP" && continue
@@ -104,8 +96,7 @@ while read l; do
exit 1
fi
f=$(echo "$l" | sed -e's/^Link: *//' -e's/ *->.*$//' -es'/\\//g')
- d=$(echo "$l" | sed -e's/^.*-> *//' -e's/\\//g')
- copy_link "$f" "$d"
+ add_file "$f"
;;
esac
done
diff --git a/makespec.sh b/makespec.sh
index 643f82c..3f05329 100644
--- a/makespec.sh
+++ b/makespec.sh
@@ -18,6 +18,8 @@ define_subpackage () {
echo "Requires(postun):/usr/bin/mkdir /usr/bin/touch"
echo "Requires(post): dracut >= 049"
echo "Conflicts: kernel < 5.3"
+ echo "Conflicts: kernel-firmware-uncompressed"
+ echo "Conflicts: kernel-firmware < %{version}"
echo "%if 0%{?suse_version} >= 1550"
echo "# make sure we have post-usrmerge filesystem package on TW"
echo "Conflicts: filesystem < 84"
@@ -63,6 +65,12 @@ sed -e"s/@@VERSION@@/$version/g" | while read line; do
done
continue
fi
+ if [ "$line" = "@@SUBPKGPROVS@@" ]; then
+ for t in $topics; do
+ echo "Provides: %{name}-$t = %{version}"
+ done
+ continue
+ fi
if [ "$line" = "@@SUBPACKAGES@@" ]; then
for t in $topics; do
define_subpackage $t
diff --git a/topics.list b/topics.list
index bab3c61..9e7630d 100644
--- a/topics.list
+++ b/topics.list
@@ -73,6 +73,7 @@ mga: platform
r128: platform
radeon: radeon radeon amdgpu
amdgpu: amdgpu
+amd_pmf: platform
s2255drv: platform
rtl8192e: realtek r8192e_pci
lgs8gxx: media