diff --git a/.gitlab/issue_templates/Default.md b/.gitlab/issue_templates/Default.md new file mode 100644 index 0000000..cc992fc --- /dev/null +++ b/.gitlab/issue_templates/Default.md @@ -0,0 +1,52 @@ +## Bug Report Template + +> **If you have a question or are not sure about what you are about to post, please use the forums instead.** +> **Also, check for possible duplicate reports here or in the forum before submitting this issue.** + +--- + +### 1. Affected Package revision / version + + + +--- + +### 2. Steps to Reproduce + + + +1. ... +2. ... +3. ... + +--- + +### 3. Current Behavior + + + +--- + +### 4. Expected Behavior *(optional)* + + + +--- + +### 5. Workaround *(optional)* + + + +--- + +### 6. Suggestions, Investigation and Possible Causes *(optional)* + + + +--- + +### 7. Other Tests *(optional)* + + + +--- diff --git a/README.md b/README.md index db9873a..20b693b 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Once a new package is added, it takes priority over the original one from Ubuntu so they never enter into the repo from upstream and need to be compiled with this helpers and pushed into reprepro. -To add a package to the list, follow the [CONTRIBUTING](CONTRIBUTING.md) guidelines. +To add a package to the list, follow the [CONTRIBUTING](https://gitlab.trisquel.org/trisquel/package-helpers/blob/nabia/CONTRIBUTING.md) guidelines. ## Steps @@ -39,7 +39,7 @@ Those are the steps done by the helpers: * You don't need to use sudo in order to run those scripts, but some extra packages are needed: - `sudo apt-get install cdbs devscripts dpkg-dev git gnupg gnupg2 patch quilt rename rpl sed python3-jsonschema` + `sudo apt-get install cdbs devscripts dpkg-dev git gnupg gnupg2 patch python2 quilt rename rpl sed python3-jsonschema` * Take care to use the right sourcePackageName, many source packages produce several binary packages. `apt-cache showsrc binary-package` can help you. diff --git a/helpers/DATA/7zip/000_remove-non-free-suggestions-from-control-file.patch b/helpers/DATA/7zip/000_remove-non-free-suggestions-from-control-file.patch deleted file mode 100644 index 366de26..0000000 --- a/helpers/DATA/7zip/000_remove-non-free-suggestions-from-control-file.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/debian/control b/debian/control -index b4734c95..e0aa528c 100644 ---- a/debian/control -+++ b/debian/control -@@ -13,7 +13,7 @@ Vcs-Browser: https://salsa.debian.org/debian/7zip - Package: 7zip - Architecture: any - Depends: ${misc:Depends}, ${shlibs:Depends} --Suggests: 7zip-standalone, 7zip-rar -+Suggests: 7zip-standalone - Breaks: p7zip-full (<= 16.02+dfsg-8), p7zip (<= 16.02+dfsg-8) - Replaces: p7zip-full (<= 16.02+dfsg-8), p7zip (<= 16.02+dfsg-8) - Provides: p7zip-full, p7zip -@@ -37,7 +37,6 @@ Description: 7-Zip file archiver with a high compression ratio - * /usr/bin/7zr: LZMA (.7z, .lzma, .xz) only. Minimal executable. - . - Note: The unRAR code was dropped to keep compatible with DFSG. -- Install 7zip-rar package in non-free section to use RAR files. - - Package: 7zip-standalone - Architecture: any -@@ -49,8 +48,8 @@ Description: 7-Zip file archiver with a high compression ratio (standalone) - . - "7zip-standalone" provides: - * /usr/bin/7zz: Full featured except plugins, standalone executable. -- This means 7zz can't work with unRAR plugin that provided by 7zip-rar -- package. Use 7zip package for unRAR plugin. -+ This means 7zz can't work with the non-free unRAR plugin not -+ available at Trisquel repo. - . - Note: If you want to create SFX archive, you also needs 7zip package for SFX - stub module. diff --git a/helpers/DATA/akregator/trisquel_feeds.patch b/helpers/DATA/akregator/trisquel_feeds.patch index cc88808..7d54c10 100644 --- a/helpers/DATA/akregator/trisquel_feeds.patch +++ b/helpers/DATA/akregator/trisquel_feeds.patch @@ -1,5 +1,5 @@ ---- a/src/akregator_part.cpp 2020-06-05 11:41:23.000000000 -0500 -+++ b/src/akregator_part.cpp 2020-06-05 12:46:05.914051386 -0500 +--- src/akregator_part.cpp 2020-06-05 11:41:23.000000000 -0500 ++++ src/akregator_part_trisquel.cpp 2020-06-05 12:46:05.914051386 -0500 @@ -189,6 +189,61 @@ wire.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://wire.kubuntu.org/?feed=rss2")); kubuntuFolder.appendChild(wire); diff --git a/helpers/DATA/apparmor-profiles-extra/patch_changes/000-70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch b/helpers/DATA/apparmor-profiles-extra/70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch similarity index 99% rename from helpers/DATA/apparmor-profiles-extra/patch_changes/000-70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch rename to helpers/DATA/apparmor-profiles-extra/70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch index 4db9062..1b8ad3b 100644 --- a/helpers/DATA/apparmor-profiles-extra/patch_changes/000-70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch +++ b/helpers/DATA/apparmor-profiles-extra/70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch @@ -35,3 +35,4 @@ index 5e18702..085301c 100644 } -- 2.25.1 + diff --git a/helpers/DATA/apparmor-profiles-extra/patch_changes/001_enable-restricted-dbus-update.patch b/helpers/DATA/apparmor-profiles-extra/patch_changes/001_enable-restricted-dbus-update.patch deleted file mode 100644 index 696d5c5..0000000 --- a/helpers/DATA/apparmor-profiles-extra/patch_changes/001_enable-restricted-dbus-update.patch +++ /dev/null @@ -1,15 +0,0 @@ -Enable restricted dbus configuration usage by pidgin to fix MATE on Noble (Ecne) orca access. - -diff --git a/profiles/usr.bin.pidgin b/profiles/usr.bin.pidgin -index 085301c6..78338084 100644 ---- a/profiles/usr.bin.pidgin -+++ b/profiles/usr.bin.pidgin -@@ -49,7 +49,7 @@ - # Uncomment the two following lines if you want to allow Pidgin to update - # any DConf setting: - # owner @{HOME}/.{cache,config}/dconf/user rw, -- # owner /{,var/}run/user/[0-9]*/dconf/user rwk, -+ owner /{,var/}run/user/[0-9]*/dconf/user rwk, - - /{usr/,}bin/dash rix, - /{usr/,}bin/which rix, diff --git a/helpers/DATA/apparmor-profiles-extra/patch_changes/002-add_allow_pidgin_ibus_socket_access.patch b/helpers/DATA/apparmor-profiles-extra/patch_changes/002-add_allow_pidgin_ibus_socket_access.patch deleted file mode 100644 index 5c23e69..0000000 --- a/helpers/DATA/apparmor-profiles-extra/patch_changes/002-add_allow_pidgin_ibus_socket_access.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/profiles/usr.bin.pidgin b/profiles/usr.bin.pidgin -index 78338084..6d18657d 100644 ---- a/profiles/usr.bin.pidgin -+++ b/profiles/usr.bin.pidgin -@@ -90,6 +90,10 @@ - # https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/43 - owner /{,var/}run/user/*/at-spi/bus* rw, - -+ # Allow IBus private socket under HOME cache (used by some IBus setups) -+ owner @{HOME}/.cache/ibus/ r, -+ owner @{HOME}/.cache/ibus/* rw, -+ - # Site-specific additions and overrides. See local/README for details. - #include - } diff --git a/helpers/DATA/apparmor/002-add-unconfined-profile-firefox-icedove-icecat.patch b/helpers/DATA/apparmor/002-add-unconfined-profile-firefox-icedove-icecat.patch deleted file mode 100644 index a48c7ff..0000000 --- a/helpers/DATA/apparmor/002-add-unconfined-profile-firefox-icedove-icecat.patch +++ /dev/null @@ -1,70 +0,0 @@ -diff --git a/profiles/apparmor.d/abrowser b/profiles/apparmor.d/abrowser -index c4b6337f..8a3ac9ec 100644 ---- a/profiles/apparmor.d/abrowser -+++ b/profiles/apparmor.d/abrowser -@@ -4,9 +4,9 @@ - abi , - include - --profile firefox /{usr/lib/firefox{,-esr,-beta,-devedition,-nightly},opt/firefox}/firefox{,-esr,-bin} flags=(unconfined) { -+profile abrowser /{usr/lib/abrowser{,-esr,-beta,-devedition,-nightly},opt/abrowser}/abrowser{,-esr,-bin} flags=(unconfined) { - userns, - - # Site-specific additions and overrides. See local/README for details. -- include if exists -+ include if exists - } -diff --git a/profiles/apparmor.d/icedove b/profiles/apparmor.d/icedove -index 060eb24d..667b1674 100644 ---- a/profiles/apparmor.d/icedove -+++ b/profiles/apparmor.d/icedove -@@ -4,9 +4,9 @@ - abi , - include - --profile thunderbird /usr/bin/thunderbird flags=(unconfined) { -+profile icedove /usr/bin/icedove flags=(unconfined) { - userns, - - # Site-specific additions and overrides. See local/README for details. -- include if exists -+ include if exists - } -diff --git a/profiles/apparmor.d/icecat b/profiles/apparmor.d/icecat -index 4071c345..148e445e 100644 ---- a/profiles/apparmor.d/icecat -+++ b/profiles/apparmor.d/icecat -@@ -4,9 +4,9 @@ - abi , - include - --profile firefox /{usr/lib/firefox{,-esr,-beta,-devedition,-nightly},opt/firefox}/firefox{,-esr,-bin} flags=(unconfined) { -+profile icecat /{usr/lib/icecat{,-esr,-beta,-devedition,-nightly},opt/icecat}/icecat{,-esr,-bin} flags=(unconfined) { - userns, - - # Site-specific additions and overrides. See local/README for details. -- include if exists -+ include if exists - } -diff --git a/debian/apparmor.install b/debian/apparmor.install -index 9cdaa3a2..d9ee697c 100644 ---- a/debian/apparmor.install -+++ b/debian/apparmor.install -@@ -68,6 +68,7 @@ etc/apparmor.d/sbuild-update - etc/apparmor.d/sbuild-upgrade - etc/apparmor.d/slirp4netns - etc/apparmor.d/stress-ng -+etc/apparmor.d/icedove - etc/apparmor.d/thunderbird - etc/apparmor.d/toybox - etc/apparmor.d/trinity -@@ -83,7 +84,9 @@ etc/apparmor.d/1password - etc/apparmor.d/Discord - etc/apparmor.d/MongoDB_Compass - etc/apparmor.d/code -+etc/apparmor.d/abrowser - etc/apparmor.d/firefox -+etc/apparmor.d/icecat - etc/apparmor.d/github-desktop - etc/apparmor.d/obsidian - etc/apparmor.d/opera diff --git a/helpers/DATA/apparmor/003-add-extra-profile-for-abrowser-icecat.patch b/helpers/DATA/apparmor/003-add-extra-profile-for-abrowser-icecat.patch deleted file mode 100644 index d156906..0000000 --- a/helpers/DATA/apparmor/003-add-extra-profile-for-abrowser-icecat.patch +++ /dev/null @@ -1,173 +0,0 @@ -diff --git a/profiles/apparmor/profiles/extras/icecat b/profiles/apparmor/profiles/extras/icecat -index cbe1aa80..71813e99 100644 ---- a/profiles/apparmor/profiles/extras/icecat -+++ b/profiles/apparmor/profiles/extras/icecat -@@ -14,7 +14,7 @@ abi , - include - - # Declare some variables to help with variants --@{MOZ_APP_NAME}=firefox{,-esr} -+@{MOZ_APP_NAME}=icecat{,-esr} - @{MOZ_LIBDIR}=/usr/lib/@{MOZ_APP_NAME}{,-[0-9]*} - @{MOZ_ADDONDIR}=/usr/lib/{@{MOZ_APP_NAME},xulrunner}-addons - -@@ -22,7 +22,7 @@ include - # /usr/lib/firefox-4.0b8/firefox - # but not: - # /usr/lib/firefox-4.0b8/firefox.sh --profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { -+profile icecat @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { - include - include - include -@@ -144,8 +144,8 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { - /etc/wildmidi/wildmidi.cfg r, - - # firefox specific -- /etc/firefox*/ r, -- /etc/firefox*/** r, -+ /etc/icecat*/ r, -+ /etc/icecat*/** r, - /etc/xul-ext/** r, - /etc/xulrunner{,-[0-9]*}/ r, - /etc/xulrunner{,-[0-9]*}/** r, -@@ -234,12 +234,12 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { - owner @{HOME}/.thumbnails/*/*.png r, - - # per-user firefox configuration -- owner @{HOME}/.{firefox,mozilla}/ rw, -- owner @{HOME}/.{firefox,mozilla}/** rw, -- owner @{HOME}/.{firefox,mozilla}/**/*.{db,parentlock,sqlite}* k, -- owner @{HOME}/.{firefox,mozilla}/plugins/** rm, -- owner @{HOME}/.{firefox,mozilla}/**/plugins/** rm, -- owner @{HOME}/.gnome2/firefox* rwk, -+ owner @{HOME}/.{icecat,mozilla}/ rw, -+ owner @{HOME}/.{icecat,mozilla}/** rw, -+ owner @{HOME}/.{icecat,mozilla}/**/*.{db,parentlock,sqlite}* k, -+ owner @{HOME}/.{icecat,mozilla}/plugins/** rm, -+ owner @{HOME}/.{icecat,mozilla}/**/plugins/** rm, -+ owner @{HOME}/.gnome2/icecat* rwk, - owner @{HOME}/.cache/mozilla/{,@{MOZ_APP_NAME}/} rw, - owner @{HOME}/.cache/mozilla/@{MOZ_APP_NAME}/** rw, - owner @{HOME}/.cache/mozilla/@{MOZ_APP_NAME}/**/*.sqlite{,-shm} k, -@@ -440,7 +440,7 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { - owner @{HOME}/.mozilla/**/extensions/** mixr, - - # Widevine CDM plugin (LP: #1777070) -- owner @{HOME}/.mozilla/firefox/*/gmp-widevinecdm/*/libwidevinecdm.so m, -+ owner @{HOME}/.mozilla/icecat/*/gmp-widevinecdm/*/libwidevinecdm.so m, - - deny @{MOZ_LIBDIR}/update.test w, - deny /usr/lib/mozilla/extensions/**/ w, -@@ -458,7 +458,7 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { - - /usr/bin/lsb_release Pxr -> lsb_release, - -- # These should be started outside of Firefox -+ # These should be started outside of icecat - deny /usr/bin/dbus-launch x, - deny /usr/bin/speech-dispatcher x, - -@@ -466,6 +466,6 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { - include if exists - - # Site-specific additions and overrides. See local/README for details. -- include if exists -- include if exists -+ include if exists -+ include if exists - } -diff --git a/profiles/apparmor/profiles/extras/firefox b/profiles/apparmor/profiles/extras/abrowser -index cbe1aa80..2fb77651 100644 ---- a/profiles/apparmor/profiles/extras/firefox -+++ b/profiles/apparmor/profiles/extras/abrowser -@@ -14,7 +14,7 @@ abi , - include - - # Declare some variables to help with variants --@{MOZ_APP_NAME}=firefox{,-esr} -+@{MOZ_APP_NAME}=abrowser{,-esr} - @{MOZ_LIBDIR}=/usr/lib/@{MOZ_APP_NAME}{,-[0-9]*} - @{MOZ_ADDONDIR}=/usr/lib/{@{MOZ_APP_NAME},xulrunner}-addons - -@@ -22,7 +22,7 @@ include - # /usr/lib/firefox-4.0b8/firefox - # but not: - # /usr/lib/firefox-4.0b8/firefox.sh --profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { -+profile abrowser @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { - include - include - include -@@ -144,8 +144,8 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { - /etc/wildmidi/wildmidi.cfg r, - - # firefox specific -- /etc/firefox*/ r, -- /etc/firefox*/** r, -+ /etc/abrowser*/ r, -+ /etc/abrowser*/** r, - /etc/xul-ext/** r, - /etc/xulrunner{,-[0-9]*}/ r, - /etc/xulrunner{,-[0-9]*}/** r, -@@ -234,12 +234,12 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { - owner @{HOME}/.thumbnails/*/*.png r, - - # per-user firefox configuration -- owner @{HOME}/.{firefox,mozilla}/ rw, -- owner @{HOME}/.{firefox,mozilla}/** rw, -- owner @{HOME}/.{firefox,mozilla}/**/*.{db,parentlock,sqlite}* k, -- owner @{HOME}/.{firefox,mozilla}/plugins/** rm, -- owner @{HOME}/.{firefox,mozilla}/**/plugins/** rm, -- owner @{HOME}/.gnome2/firefox* rwk, -+ owner @{HOME}/.{abrowser,mozilla}/ rw, -+ owner @{HOME}/.{abrowser,mozilla}/** rw, -+ owner @{HOME}/.{abrowser,mozilla}/**/*.{db,parentlock,sqlite}* k, -+ owner @{HOME}/.{abrowser,mozilla}/plugins/** rm, -+ owner @{HOME}/.{abrowser,mozilla}/**/plugins/** rm, -+ owner @{HOME}/.gnome2/abrowser* rwk, - owner @{HOME}/.cache/mozilla/{,@{MOZ_APP_NAME}/} rw, - owner @{HOME}/.cache/mozilla/@{MOZ_APP_NAME}/** rw, - owner @{HOME}/.cache/mozilla/@{MOZ_APP_NAME}/**/*.sqlite{,-shm} k, -@@ -440,7 +440,7 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { - owner @{HOME}/.mozilla/**/extensions/** mixr, - - # Widevine CDM plugin (LP: #1777070) -- owner @{HOME}/.mozilla/firefox/*/gmp-widevinecdm/*/libwidevinecdm.so m, -+ owner @{HOME}/.mozilla/abrowser/*/gmp-widevinecdm/*/libwidevinecdm.so m, - - deny @{MOZ_LIBDIR}/update.test w, - deny /usr/lib/mozilla/extensions/**/ w, -@@ -458,7 +458,7 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { - - /usr/bin/lsb_release Pxr -> lsb_release, - -- # These should be started outside of Firefox -+ # These should be started outside of abrowser - deny /usr/bin/dbus-launch x, - deny /usr/bin/speech-dispatcher x, - -@@ -466,6 +466,6 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { - include if exists - - # Site-specific additions and overrides. See local/README for details. -- include if exists -- include if exists -+ include if exists -+ include if exists - } -diff --git a/debian/apparmor-profiles.install b/debian/apparmor-profiles.install -index 5cecd9dd..62531edb 100644 ---- a/debian/apparmor-profiles.install -+++ b/debian/apparmor-profiles.install -@@ -88,8 +88,10 @@ usr/share/apparmor/extra-profiles/usr.lib.GConf.2.gconfd-2 - usr/share/apparmor/extra-profiles/usr.lib.RealPlayer10.realplay - usr/share/apparmor/extra-profiles/usr.lib.bonobo.bonobo-activation-server - usr/share/apparmor/extra-profiles/usr.lib.evolution-data-server.evolution-data-server-1.10 -+usr/share/apparmor/extra-profiles/abrowser - usr/share/apparmor/extra-profiles/firefox - usr/share/apparmor/extra-profiles/firefox.sh -+usr/share/apparmor/extra-profiles/icecat - usr/share/apparmor/extra-profiles/usr.lib.firefox.mozilla-xremote-client - usr/share/apparmor/extra-profiles/usr.lib.man-db.man - usr/share/apparmor/extra-profiles/postfix-anvil diff --git a/helpers/DATA/apparmor/004-update-profile-extra-firefox-sh.patch b/helpers/DATA/apparmor/004-update-profile-extra-firefox-sh.patch deleted file mode 100644 index 839d606..0000000 --- a/helpers/DATA/apparmor/004-update-profile-extra-firefox-sh.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/profiles/apparmor/profiles/extras/firefox.sh b/profiles/apparmor/profiles/extras/firefox.sh -index fb75c5b6..7b23cd83 100644 ---- a/profiles/apparmor/profiles/extras/firefox.sh -+++ b/profiles/apparmor/profiles/extras/firefox.sh -@@ -22,3 +22,41 @@ profile firefox.sh /usr/lib/firefox/firefox.sh { - # Site-specific additions and overrides. See local/README for details. - include if exists - } -+ -+profile firefox.sh /usr/lib/abrowser/firefox.sh { -+ include -+ include -+ include -+ -+ deny capability sys_ptrace, -+ -+ /{usr/,}bin/basename rix, -+ /{usr/,}bin/bash rix, -+ /{usr/,}bin/grep rix, -+ /etc/magic r, -+ /usr/bin/file rix, -+ /usr/lib/abrowser/abrowser px, -+ /usr/share/misc/magic.mgc r, -+ -+ # Site-specific additions and overrides. See local/README for details. -+ include if exists -+} -+ -+profile firefox.sh /usr/lib/icecat/firefox.sh { -+ include -+ include -+ include -+ -+ deny capability sys_ptrace, -+ -+ /{usr/,}bin/basename rix, -+ /{usr/,}bin/bash rix, -+ /{usr/,}bin/grep rix, -+ /etc/magic r, -+ /usr/bin/file rix, -+ /usr/lib/icecat/icecat px, -+ /usr/share/misc/magic.mgc r, -+ -+ # Site-specific additions and overrides. See local/README for details. -+ include if exists -+} diff --git a/helpers/DATA/apparmor/005-update_trasnmission_profile_for_daemon_service_fix.patch b/helpers/DATA/apparmor/005-update_trasnmission_profile_for_daemon_service_fix.patch deleted file mode 100644 index 6bb7294..0000000 --- a/helpers/DATA/apparmor/005-update_trasnmission_profile_for_daemon_service_fix.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/profiles/apparmor.d/transmission b/profiles/apparmor.d/transmission -index 6cd67adf..6aa4214a 100644 ---- a/profiles/apparmor.d/transmission -+++ b/profiles/apparmor.d/transmission -@@ -5,7 +5,7 @@ abi , - - include - --profile transmission-daemon /usr/bin/transmission-daemon flags=(complain) { -+profile transmission-daemon /usr/bin/transmission-daemon flags=(complain,attach_disconnected) { - # Don't use abstractions/transmission-common here, as the - # access needed is narrower than the user applications - include -@@ -17,6 +17,8 @@ profile transmission-daemon /usr/bin/transmission-daemon flags=(complain) { - network inet stream, - network inet6 stream, - -+ /usr/bin/transmission-daemon mr, -+ - owner @{PROC}/@{pid}/mounts r, - @{PROC}/sys/kernel/random/uuid r, - -@@ -42,17 +44,21 @@ profile transmission-cli /usr/bin/transmission-cli flags=(complain) { - include - include - -+ /usr/bin/transmission-cli mr, -+ - # Site-specific additions and overrides. See local/README for details. - include if exists - include if exists - } - --profile transmission-gtk /usr/bin/transmission-gtk flags=(complain) { -+profile transmission-gtk /usr/bin/transmission-gtk flags=(complain,attach_disconnected) { - include - include - include - include - -+ /usr/bin/transmission-gtk mr, -+ - owner @{run}/user/*/dconf/user w, - - # Site-specific additions and overrides. See local/README for details. -@@ -70,6 +76,8 @@ profile transmission-qt /usr/bin/transmission-qt flags=(complain) { - include - include - -+ /usr/bin/transmission-qt mr, -+ - # Site-specific additions and overrides. See local/README for details. - include if exists - include if exists diff --git a/helpers/DATA/apparmor/b5a7641dd3502fcfb897d3b96e197628b674ce3c.patch b/helpers/DATA/apparmor/b5a7641dd3502fcfb897d3b96e197628b674ce3c.patch new file mode 100644 index 0000000..451e869 --- /dev/null +++ b/helpers/DATA/apparmor/b5a7641dd3502fcfb897d3b96e197628b674ce3c.patch @@ -0,0 +1,26 @@ +From b5a7641dd3502fcfb897d3b96e197628b674ce3c Mon Sep 17 00:00:00 2001 +From: Adrian Heine +Date: Mon, 23 Jan 2023 20:35:29 +0100 +Subject: [PATCH] Add pipewire client.conf to audio abstractions + +Fixes: https://bugs.launchpad.net/bugs/2003702 +--- + profiles/apparmor.d/abstractions/audio | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/profiles/apparmor.d/abstractions/audio b/profiles/apparmor.d/abstractions/audio +index 01493260d..dd783992d 100644 +--- a/profiles/apparmor.d/abstractions/audio ++++ b/profiles/apparmor.d/abstractions/audio +@@ -85,5 +85,8 @@ owner @{HOME}/.local/share/openal/hrtf/{,**} r, + # wildmidi + /etc/wildmidi/wildmidi.cfg r, + ++# pipewire ++/usr/share/pipewire/client{,-rt}.conf r, ++ + # Include additions to the abstraction + include if exists +-- +GitLab + diff --git a/helpers/DATA/apt-setup/50mirror.trisquel b/helpers/DATA/apt-setup/50mirror.trisquel deleted file mode 100755 index 28d603d..0000000 --- a/helpers/DATA/apt-setup/50mirror.trisquel +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/sh -set -e - -. /usr/share/debconf/confmodule - -file="$1" - -log() { - logger -t apt-setup "$@" -} -warning() { - log "warning: $@" -} - -# Ask if a mirror should be used if the base system can be installed from CD -if [ -e /cdrom/.disk/base_installable ] || [ "$OVERRIDE_BASE_INSTALLABLE" ]; then - if ! search-path choose-mirror; then - warning "choose-mirror is not available; cannot offer network mirror" - exit 1 - fi - - # Default to false if no network selected in netcfg - if db_get netcfg/dhcp_options && \ - [ "$RET" = "Do not configure the network at this time" ]; then - use_mirror=false - fi - - # Set default if no value (see Debian mirror generator) - db_get apt-setup/use_mirror - [ "$RET" ] || db_set apt-setup/use_mirror true - - # Text is variable for Debian - db_metaget apt-mirror/use/netinst_old description - db_subst apt-setup/use_mirror EXPLANATION "$RET" - - db_input medium apt-setup/use_mirror || [ $? -eq 30 ] - db_go # or exit 10 - - db_get apt-setup/use_mirror - if [ "$RET" = false ]; then - exit 1 - fi - - if db_get cdrom/codename && [ "$RET" ]; then - db_set mirror/codename $RET - fi - if db_get cdrom/suite && [ "$RET" ]; then - db_set mirror/suite $RET - fi - choose-mirror -n # no progress bar -fi - -db_input low apt-setup/backports || true - -dists="main" - -db_get mirror/protocol -protocol="$RET" -db_get mirror/codename -codename="$RET" -db_get mirror/$protocol/hostname -hostname="$RET" -db_get mirror/$protocol/directory -directory="/${RET#/}" - -if [ "$protocol" = http ]; then - db_get mirror/$protocol/proxy - proxy="$RET" - if [ -n "$proxy" ]; then - if ! grep -iq "Acquire::$protocol::Proxy" $ROOT/etc/apt/apt.conf.new; then - echo "Acquire::$protocol::Proxy \"$proxy\";" >> $ROOT/etc/apt/apt.conf.new - fi - fi -fi - -# Trisquel: Deb822-first, keep legacy clean -: "${ROOT:=/target}" -SD="$ROOT/etc/apt/sources.list.d" -SF="$SD/trisquel.sources" -mkdir -p "$SD" - -# Use keyring in /usr/share/keyrings -SIGNED_BY="/usr/share/keyrings/trisquel-archive-keyring.gpg" - -# Canonical URI for Deb822 (trailing slash) -uri="$protocol://$hostname$directory" -case "$uri" in */) : ;; *) uri="$uri/";; esac - -# Write Deb822 sources file in the requested structure -cat << EOF > "$SF" -# Trisquel repositories for supported software and updates -Types: deb -URIs: ${uri} -Suites: ${codename} ${codename}-updates ${codename}-security -Components: main -Signed-By: ${SIGNED_BY} - -# Source package repositories -Types: deb-src -URIs: ${uri} -Suites: ${codename} ${codename}-updates ${codename}-security -Components: main -Signed-By: ${SIGNED_BY} - -# Optional backports repository -Enabled: no -Types: deb deb-src -URIs: ${uri} -Suites: ${codename}-backports -Components: main -Signed-By: ${SIGNED_BY} -EOF - -# Set legacy format for apt-setup to apply updates correctly. -{ - echo "deb ${uri} ${codename} main" - echo "deb ${uri} ${codename}-updates main" - echo "deb ${uri} ${codename}-security main" -} >> "$file" - -exit 0 - diff --git a/helpers/DATA/apt-setup/93trisquel-sources-clean b/helpers/DATA/apt-setup/93trisquel-sources-clean deleted file mode 100755 index 6dab379..0000000 --- a/helpers/DATA/apt-setup/93trisquel-sources-clean +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -set -e - -LEGACY=/target/etc/apt/sources.list -SD=/target/etc/apt/sources.list.d - -if ls "$SD"/*.sources >/dev/null 2>&1; then - MSG="# Trisquel sources have moved to /etc/apt/sources.list.d/trisquel.sources" - printf '%s\n' "$MSG" > "$LEGACY" -fi -exit 0 diff --git a/helpers/DATA/apt-setup/99deb822-breadcrumb b/helpers/DATA/apt-setup/99deb822-breadcrumb deleted file mode 100755 index efc34c3..0000000 --- a/helpers/DATA/apt-setup/99deb822-breadcrumb +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -set -e -. /usr/share/debconf/confmodule - -file="$1" -ROOT="${ROOT:-/target}" -LEGACY="$ROOT/etc/apt/sources.list" -SD="$ROOT/etc/apt/sources.list.d" -SAVETO="$ROOT/etc/apt/sources.list.new" - -# If .sources exist, leave sources.list reduced only as a breadcrumb -if ls "$SD"/*.sources >/dev/null 2>&1; then - MSG="# Trisquel sources have moved to /etc/apt/sources.list.d/trisquel.sources" - : > "$SAVETO" - printf '%s\n' "$MSG" > "$file" -fi - -exit 0 diff --git a/helpers/DATA/apt-setup/patch_changes/001-remove_non-free_firmware_contrib_mirror_setup.patch b/helpers/DATA/apt-setup/patch_changes/001-remove_non-free_firmware_contrib_mirror_setup.patch deleted file mode 100644 index 7278679..0000000 --- a/helpers/DATA/apt-setup/patch_changes/001-remove_non-free_firmware_contrib_mirror_setup.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/debian/apt-mirror-setup.templates b/debian/apt-mirror-setup.templates -index 85baf176..6b330b32 100644 ---- a/debian/apt-mirror-setup.templates -+++ b/debian/apt-mirror-setup.templates -@@ -3,45 +3,7 @@ Type: text - # :sl1: - _Description: Scanning the mirror... - --Template: apt-setup/non-free-firmware --Type: boolean --Default: false --# :sl5: --_Description: Use non-free firmware? -- Firmware is a kind of software providing low-level control of certain -- hardware components (such as Wi-Fi cards or audio chipsets), which may not -- function fully or at all without it. -- . -- Although not at all part of Debian, some non-free firmware has been made to -- work with Debian. This firmware has varying licenses which restrict your -- freedoms to use, modify, or share the software, and generally does not have -- source forms that you may study. -- . -- Please choose whether you want to have it available anyway. - --Template: apt-setup/non-free --Type: boolean --Default: false --# :sl1: --_Description: Use non-free software? -- Some non-free software has been made to work with Debian. Though this -- software is not at all a part of Debian, standard Debian tools can be used -- to install it. This software has varying licenses which may prevent you -- from using, modifying, or sharing it. -- . -- Please choose whether you want to have it available anyway. -- --Template: apt-setup/contrib --Type: boolean --Default: false --# :sl1: --_Description: Use contrib software? -- Some additional software has been made to work with Debian. Though this -- software is free, it depends on non-free software for its operation. This -- software is not a part of Debian, but standard Debian tools can be -- used to install it. -- . -- Please choose whether you want this software to be made available to you. - - Template: apt-setup/mirror/error - Type: select diff --git a/helpers/DATA/apt/trisquel/apt-vendor.ent b/helpers/DATA/apt/trisquel/apt-vendor.ent index e61a665..c443816 100644 --- a/helpers/DATA/apt/trisquel/apt-vendor.ent +++ b/helpers/DATA/apt/trisquel/apt-vendor.ent @@ -6,11 +6,15 @@ - + + +Types: deb +URIs: http://archive.trisquel.org/trisquel +Suites: &trisquel-codename;-security +Components: main"> diff --git a/helpers/DATA/apt/trisquel/sources.list.in b/helpers/DATA/apt/trisquel/sources.list.in new file mode 100644 index 0000000..9c530ba --- /dev/null +++ b/helpers/DATA/apt/trisquel/sources.list.in @@ -0,0 +1,10 @@ +# See sources.list(5) manpage for more information +# Remember that CD-ROMs, DVDs and such are managed through the apt-cdrom tool. +deb http://archive.trisquel.org/trisquel &trisquel-codename; main +deb-src http://archive.trisquel.org/trisquel &trisquel-codename; main + +deb http://archive.trisquel.org/trisquel &trisquel-codename;-security main +deb-src http://archive.trisquel.org/trisquel &trisquel-codename;-security main + +deb http://archive.trisquel.org/trisquel &trisquel-codename;-updates main +deb-src http://archive.trisquel.org/trisquel &trisquel-codename;-updates main diff --git a/helpers/DATA/apt/trisquel/trisquel.sources.in b/helpers/DATA/apt/trisquel/trisquel.sources.in deleted file mode 100644 index 32f8209..0000000 --- a/helpers/DATA/apt/trisquel/trisquel.sources.in +++ /dev/null @@ -1,40 +0,0 @@ -## Trisquel distribution repository -## -## The following settings can be adjusted to configure which packages to use from Trisquel. -## Mirror your choices (except for URIs and Suites) in the security section below to -## ensure timely security updates. -## -## Types: Append deb-src to enable the fetching of source package. -## URIs: A URL to the repository (you may add multiple URLs) -## Suites: The following additional suites can be configured -## -updates - Major bug fix updates produced after the final release of the -## distribution. -## -backports - software from this repository may not have been tested as -## extensively as that contained in the main release, although it includes -## newer versions of some applications which may provide useful features. -## Also, please note that software in backports WILL NOT receive any review -## or updates from the Trisquel security team. -## -## See the sources.list(5) manual page for further settings. - -# Trisquel repositories for supported software and updates -Types: deb -URIs: http://archive.trisquel.org/trisquel/ -Suites: &trisquel-codename; &trisquel-codename;-updates &trisquel-codename;-security -Components: main -Signed-By: /usr/share/keyrings/trisquel-archive-keyring.gpg - -# Uncomment to enable source package repositories -Types: deb-src -URIs: http://archive.trisquel.org/trisquel/ -Suites: &trisquel-codename; &trisquel-codename;-updates &trisquel-codename;-security -Components: main -Signed-By: /usr/share/keyrings/trisquel-archive-keyring.gpg - -# Uncomment to enable optional backports repository -Enabled: no -Types: deb deb-src -URIs: http://archive.trisquel.org/trisquel/ -Suites: &trisquel-codename;-backports -Components: main -Signed-By: /usr/share/keyrings/trisquel-archive-keyring.gpg diff --git a/helpers/DATA/asunder/asunder_2.9.5-acc.patch b/helpers/DATA/asunder/asunder_2.9.5-acc.patch index d75eba4..8b8a1f6 100644 --- a/helpers/DATA/asunder/asunder_2.9.5-acc.patch +++ b/helpers/DATA/asunder/asunder_2.9.5-acc.patch @@ -171,10 +171,11 @@ diff -ruN a/src/interface.h b/src/interface.h diff -ruN a/src/prefs.c b/src/prefs.c --- a/src/prefs.c 2019-08-29 00:18:58.000000000 -0500 +++ b/src/prefs.c 2021-06-27 16:07:27.299217038 -0500 -@@ -127,7 +127,6 @@ +@@ -127,8 +127,6 @@ p->wavpack_bitrate = 3; p->rip_monkey = 0; p->monkey_compression = 2; +- p->rip_aac = 0; - p->aac_quality = 60; p->rip_musepack = 0; p->musepack_bitrate = 2; diff --git a/helpers/DATA/ayatana-indicator-sound/fix_volume_change_notification.patch b/helpers/DATA/ayatana-indicator-sound/fix_volume_change_notification.patch new file mode 100644 index 0000000..92b6259 --- /dev/null +++ b/helpers/DATA/ayatana-indicator-sound/fix_volume_change_notification.patch @@ -0,0 +1,214 @@ +Patch based on https://github.com/AyatanaIndicators/ayatana-indicator-sound/pull/92 +For Trisquel 11.0, Aramo - ayatana-indicator-sound - 22.2.0-2 + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ac370b2..095c953 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,5 @@ +-project(ayatana-indicator-sound C CXX) +-cmake_minimum_required(VERSION 3.13) ++cmake_minimum_required (VERSION 3.13) ++project (ayatana-indicator-sound VERSION 22.2.0 LANGUAGES C CXX) + + if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + SET(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "..." FORCE) +@@ -7,8 +7,6 @@ endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + + set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}") + +-set(PACKAGE ${CMAKE_PROJECT_NAME}) +-set(PROJECT_VERSION 22.2.0) + find_package(PkgConfig REQUIRED) + include(GNUInstallDirs) + include(UseVala) +diff --git a/src/info-notification.vala b/src/info-notification.vala +index ce92a2a..3a36e52 100644 +--- a/src/info-notification.vala ++++ b/src/info-notification.vala +@@ -1,6 +1,6 @@ + /* + * Copyright 2015 Canonical Ltd. +- * Copyright 2021 Robert Tari ++ * Copyright 2021-2023 Robert Tari + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -30,22 +30,26 @@ public class IndicatorSound.InfoNotification: Notification + public void show (VolumeControl.ActiveOutput active_output, + double volume, + bool is_high_volume) { +- if (!notify_server_supports ("x-canonical-private-synchronous")) +- return; + + /* Determine Label */ +- unowned string volume_label = get_notification_label (active_output); ++ string volume_label = get_notification_label (active_output); + + /* Choose an icon */ + unowned string icon = get_volume_notification_icon (active_output, volume, is_high_volume); + + /* Reset the notification */ + var n = _notification; ++ ++ uint nChars = ((int32)((volume * 20) + 0.5)).clamp(0, 20); ++ volume_label += "\n"; ++ ++ for (uint nChar = 0; nChar < nChars; nChar++) ++ { ++ volume_label += "◼"; ++ } ++ + n.update (_("Volume"), volume_label, icon); + n.clear_hints(); +- n.set_hint ("x-lomiri-non-shaped-icon", "true"); +- n.set_hint ("x-canonical-private-synchronous", "true"); +- n.set_hint ("x-lomiri-value-bar-tint", is_high_volume ? "true" : "false"); + n.set_hint ("value", ((int32)((volume * 100.0) + 0.5)).clamp(0, 100)); + show_notification (); + } +diff --git a/src/warn-notification.vala b/src/warn-notification.vala +index 6a08431..203758e 100644 +--- a/src/warn-notification.vala ++++ b/src/warn-notification.vala +@@ -1,5 +1,6 @@ + /* + * Copyright 2015 Canonical Ltd. ++ * Copyright 2021-2023 Robert Tari + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -15,6 +16,7 @@ + * + * Authors: + * Charles Kerr ++ * Robert Tari + */ + + public class IndicatorSound.WarnNotification: Notification +@@ -31,9 +33,6 @@ public class IndicatorSound.WarnNotification: Notification + _("Volume"), + _("Allow volume above safe level?\nHigh volume can damage your hearing."), + "audio-volume-high"); +- n.set_hint ("x-lomiri-non-shaped-icon", "true"); +- n.set_hint ("x-lomiri-snap-decisions", "true"); +- n.set_hint ("x-lomiri-private-affirmative-tint", "true"); + n.closed.connect ((n) => { + n.clear_actions (); + }); +diff --git a/tests/integration/indicator-sound-test-base.cpp b/tests/integration/indicator-sound-test-base.cpp +index 3ecd856..eb4ee8c 100644 +--- a/tests/integration/indicator-sound-test-base.cpp ++++ b/tests/integration/indicator-sound-test-base.cpp +@@ -1,6 +1,6 @@ + /* + * Copyright 2015 Canonical Ltd. +- * Copyright 2021 Robert Tari ++ * Copyright 2021-2023 Robert Tari + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 3, as published +@@ -72,7 +72,7 @@ void IndicatorSoundTestBase::SetUp() + "GetCapabilities", + "", + "as", +- "ret = ['actions', 'body', 'body-markup', 'icon-static', 'image/svg+xml', 'x-canonical-private-synchronous', 'x-canonical-append', 'x-canonical-private-icon-only', 'x-canonical-truncation', 'private-synchronous', 'append', 'private-icon-only', 'truncation']" ++ "ret = ['actions', 'body', 'body-markup', 'icon-static', 'image/svg+xml', 'private-synchronous', 'append', 'private-icon-only', 'truncation']" + ).waitForFinished(); + + int waitedTime = 0; +@@ -647,14 +647,8 @@ void IndicatorSoundTestBase::checkVolumeNotification(double volume, QString cons + QVariantMap hints; + ASSERT_TRUE(qDBusArgumentToMap(args.at(6), hints)); + ASSERT_TRUE(hints.contains("value")); +- ASSERT_TRUE(hints.contains("x-lomiri-non-shaped-icon")); +- ASSERT_TRUE(hints.contains("x-lomiri-value-bar-tint")); +- ASSERT_TRUE(hints.contains("x-canonical-private-synchronous")); + + EXPECT_EQ(volume*100, hints["value"]); +- EXPECT_EQ(true, hints["x-lomiri-non-shaped-icon"]); +- EXPECT_EQ(isLoud, hints["x-lomiri-value-bar-tint"]); +- EXPECT_EQ(true, hints["x-canonical-private-synchronous"]); + } + + void IndicatorSoundTestBase::checkHighVolumeNotification(QVariantList call) +diff --git a/tests/notifications-mock.h b/tests/notifications-mock.h +index 49b2e66..3ae8da5 100644 +--- a/tests/notifications-mock.h ++++ b/tests/notifications-mock.h +@@ -1,6 +1,6 @@ + /* + * Copyright 2015 Canonical Ltd. +- * Copyright 2021 Robert Tari ++ * Copyright 2021-2023 Robert Tari + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -31,7 +31,7 @@ class NotificationsMock + DbusTestDbusMockObject * baseobj = nullptr; + + public: +- NotificationsMock (const std::vector& capabilities = {"actions", "body", "body-markup", "icon-static", "image/svg+xml", "x-canonical-private-synchronous", "x-canonical-append", "x-canonical-private-icon-only", "x-canonical-truncation", "private-synchronous", "append", "private-icon-only", "truncation"}) { ++ NotificationsMock (const std::vector& capabilities = {"actions", "body", "body-markup", "icon-static", "image/svg+xml", "private-synchronous", "append", "private-icon-only", "truncation"}) { + mock = dbus_test_dbus_mock_new("org.freedesktop.Notifications"); + dbus_test_task_set_bus(DBUS_TEST_TASK(mock), DBUS_TEST_SERVICE_BUS_SESSION); + dbus_test_task_set_name(DBUS_TEST_TASK(mock), "Notify"); +diff --git a/tests/notifications-test.cc b/tests/notifications-test.cc +index a9fa55d..92f4672 100644 +--- a/tests/notifications-test.cc ++++ b/tests/notifications-test.cc +@@ -1,6 +1,6 @@ + /* + * Copyright 2015-2016 Canonical Ltd. +- * Copyright 2021 Robert Tari ++ * Copyright 2021-2023 Robert Tari + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -259,7 +259,6 @@ TEST_F(NotificationsTest, VolumeChanges) { + EXPECT_EQ("ayatana-indicator-sound", notev[0].app_name); + EXPECT_EQ("Volume", notev[0].summary); + EXPECT_EQ(0, notev[0].actions.size()); +- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-private-synchronous"]); + EXPECT_GVARIANT_EQ("@i 50", notev[0].hints["value"]); + + /* Set a different volume */ +@@ -432,7 +431,6 @@ TEST_F(NotificationsTest, DISABLED_HighVolume) { + ASSERT_EQ(1, notev.size()); + EXPECT_EQ("Volume", notev[0].summary); + EXPECT_EQ("Speakers", notev[0].body); +- EXPECT_GVARIANT_EQ("@s 'false'", notev[0].hints["x-lomiri-value-bar-tint"]); + + /* Set high volume with volume change */ + notifications->clearNotifications(); +@@ -443,7 +441,6 @@ TEST_F(NotificationsTest, DISABLED_HighVolume) { + ASSERT_LT(0, notev.size()); /* This passes with one or two since it would just be an update to the first if a second was sent */ + EXPECT_EQ("Volume", notev[0].summary); + EXPECT_EQ("Speakers", notev[0].body); +- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-lomiri-value-bar-tint"]); + + /* Move it back */ + volume_warning_mock_set_high_volume(VOLUME_WARNING_MOCK(volumeWarning.get()), false); +@@ -513,7 +510,6 @@ TEST_F(NotificationsTest, DISABLED_ExtendendVolumeNotification) { + EXPECT_EQ("ayatana-indicator-sound", notev[0].app_name); + EXPECT_EQ("Volume", notev[0].summary); + EXPECT_EQ(0, notev[0].actions.size()); +- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-private-synchronous"]); + EXPECT_GVARIANT_EQ("@i 50", notev[0].hints["value"]); + + /* Allow an amplified volume */ +@@ -628,14 +624,10 @@ TEST_F(NotificationsTest, DISABLED_TriggerWarning) { + if (warning_expected) { + EXPECT_TRUE(volume_warning_get_active(volumeWarning.get())); + ASSERT_EQ(1, notev.size()); +- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-lomiri-snap-decisions"]); +- EXPECT_GVARIANT_EQ(nullptr, notev[0].hints["x-canonical-private-synchronous"]); + } + else { + EXPECT_FALSE(volume_warning_get_active(volumeWarning.get())); + ASSERT_EQ(1, notev.size()); +- EXPECT_GVARIANT_EQ(nullptr, notev[0].hints["x-lomiri-snap-decisions"]); +- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-private-synchronous"]); + } + + } // multimedia_active diff --git a/helpers/DATA/base-installer/archs/amd64.sh b/helpers/DATA/base-installer/archs/amd64.sh index 7a416d7..be52108 100644 --- a/helpers/DATA/base-installer/archs/amd64.sh +++ b/helpers/DATA/base-installer/archs/amd64.sh @@ -3,7 +3,7 @@ arch_get_kernel_flavour () { } arch_check_usable_kernel () { - if echo "$1" | grep -q -e "signed" -e "edge" -e "hwe-@REVISION@"; then return 1; fi + if echo "$1" | grep -q -e "signed" -e "edge" -e "hwe-16.04"; then return 1; fi if echo "$1" | grep -Eq -- "-(server|generic|virtual|xen|preempt|rt)(-.*)?$"; then return 0; fi return 1 @@ -14,24 +14,24 @@ arch_get_kernel () { echo "linux-generic" echo "linux-image-generic" - echo "linux-generic-hwe-@REVISION@" - echo "linux-image-generic-hwe-@REVISION@" + echo "linux-generic-hwe-20.04" + echo "linux-image-generic-hwe-20.04" echo "linux-lowlatency" echo "linux-image-lowlatency" - echo "linux-lowlatency-hwe-@REVISION@" - echo "linux-image-lowlatency-hwe-@REVISION@" + echo "linux-lowlatency-hwe-20.04" + echo "linux-image-lowlatency-hwe-20.04" - echo "linux-oem-@REVISION@" - echo "linux-image-oem-@REVISION@" + echo "linux-oem-20.04" + echo "linux-image-oem-20.04" echo "linux-virtual" echo "linux-image-virtual" echo "linux-image-extra-virtual" - echo "linux-virtual-hwe-@REVISION@" + echo "linux-virtual-hwe-20.04" - echo "linux-image-virtual-hwe-@REVISION@" - echo "linux-image-extra-virtual-hwe-@REVISION@" + echo "linux-image-virtual-hwe-20.04" + echo "linux-image-extra-virtual-hwe-20.04" } diff --git a/helpers/DATA/base-installer/patch_changes/000-kernel_update_list.patch b/helpers/DATA/base-installer/kernel_update_list.patch similarity index 89% rename from helpers/DATA/base-installer/patch_changes/000-kernel_update_list.patch rename to helpers/DATA/base-installer/kernel_update_list.patch index 309ee77..76d4175 100644 --- a/helpers/DATA/base-installer/patch_changes/000-kernel_update_list.patch +++ b/helpers/DATA/base-installer/kernel_update_list.patch @@ -1,5 +1,5 @@ ---- a/library.sh 2022-07-14 15:09:08.482389439 -0500 -+++ b/library.sh 2022-07-14 15:19:40.056073944 -0500 +--- source/library.sh 2022-07-14 15:09:08.482389439 -0500 ++++ source/library.sh_upd 2022-07-14 15:19:40.056073944 -0500 @@ -345,9 +345,15 @@ kernel_update_list () { diff --git a/helpers/DATA/base-installer/patch_changes/001-set_generic_kernel_flavour_as_upstream.patch b/helpers/DATA/base-installer/patch_changes/001-set_generic_kernel_flavour_as_upstream.patch deleted file mode 100644 index a4cceb9..0000000 --- a/helpers/DATA/base-installer/patch_changes/001-set_generic_kernel_flavour_as_upstream.patch +++ /dev/null @@ -1,108 +0,0 @@ -diff --git a/kernel/arm64.sh b/kernel/arm64.sh -index a5a5ec4a..9d5e07b4 100644 ---- a/kernel/arm64.sh -+++ b/kernel/arm64.sh -@@ -1,5 +1,8 @@ -+# Adjusted for Trisquel: use 'generic' flavour on all supported architectures, -+# matching Ubuntu's kernel packaging. -+ - arch_get_kernel_flavour () { -- echo "arm64" -+ echo "generic" - return 0 - } - -@@ -15,5 +18,5 @@ arch_check_usable_kernel () { - } - - arch_get_kernel () { -- echo "linux-image-arm64" -+ echo "linux-image-generic" - } -diff --git a/kernel/armhf.sh b/kernel/armhf.sh -index 389a416d..b998770e 100644 ---- a/kernel/armhf.sh -+++ b/kernel/armhf.sh -@@ -1,3 +1,6 @@ -+# Adjusted for Trisquel: use 'generic' flavour on all supported architectures, -+# matching Ubuntu's kernel packaging. -+ - arch_has_lpae () { - if grep -q '^Features.*\blpae\b' "$CPUINFO"; then - echo y -@@ -8,16 +11,13 @@ arch_has_lpae () { - - arch_get_kernel_flavour () { - case "$SUBARCH" in -- omap|mx5|vexpress) -- echo "$SUBARCH armmp" -- return 0 ;; - generic|efi) - case `arch_has_lpae` in - y) -- echo "armmp-lpae armmp" -+ echo "generic-lpae generic" - ;; - n) -- echo "armmp" -+ echo "generic" - ;; - esac - return 0 ;; -diff --git a/kernel/ppc64el.sh b/kernel/ppc64el.sh -index f21bdab2..2a5a0c5a 100644 ---- a/kernel/ppc64el.sh -+++ b/kernel/ppc64el.sh -@@ -1,5 +1,8 @@ -+# Adjusted for Trisquel: use 'generic' flavour on all supported architectures, -+# matching Ubuntu's kernel packaging. -+ - arch_get_kernel_flavour () { -- echo powerpc64le -+ echo generic - return 0 - } - -@@ -8,5 +11,5 @@ arch_check_usable_kernel () { - } - - arch_get_kernel () { -- echo "linux-image-powerpc64le" -+ echo "linux-image-generic" - } -diff --git a/kernel/riscv64.sh b/kernel/riscv64.sh -index 9fa410e0..982555ef 100644 ---- a/kernel/riscv64.sh -+++ b/kernel/riscv64.sh -@@ -4,10 +4,13 @@ - - # The riscv64 architecture has only a single unified multiplatform kernel - # (which uses "riscv64" as its flavour name). Therefore we don't need to --# differentiate between multiple flavours here. -+# differentiate between multiple flavours here. (Debian) -+ -+## Adjusted for Trisquel: use 'generic' flavour on all supported architectures, -+## matching Ubuntu's kernel packaging. - - arch_get_kernel_flavour () { -- echo riscv64 -+ echo generic - } - - arch_check_usable_kernel () { -@@ -17,7 +20,7 @@ arch_check_usable_kernel () { - # Don't show debug packages in the kernel selection list. - return 1 - ;; -- *-riscv64 | *-riscv64-*) -+ *-generic | *-generic-*) - return 0 - ;; - *) -@@ -28,5 +31,5 @@ arch_check_usable_kernel () { - - arch_get_kernel () { - # parameters: $1=flavour -- echo "linux-image-riscv64" -+ echo "linux-image-generic" - } diff --git a/helpers/DATA/base-installer/patch_changes/002-patch_flavor_tests_arm64.patch b/helpers/DATA/base-installer/patch_changes/002-patch_flavor_tests_arm64.patch deleted file mode 100644 index 212a0c1..0000000 --- a/helpers/DATA/base-installer/patch_changes/002-patch_flavor_tests_arm64.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff --git a/kernel/tests/arm64/foundation.test b/kernel/tests/arm64/foundation.test -index 30027845..882eb192 100644 ---- a/kernel/tests/arm64/foundation.test -+++ b/kernel/tests/arm64/foundation.test -@@ -1,12 +1,12 @@ - subarch generic - cpuinfo foundation.cpuinfo --flavour arm64 -+flavour generic - majors 3.10 - machine aarch64 - kernel-3.10 \ -- linux-image-arm64 -+ linux-image-generic - usable \ -- linux-image-arm64 \ -- linux-image-3.14-1-arm64 -+ linux-image-generic \ -+ linux-image-3.14-1-generic - unusable \ -- linux-image-3.14-1-arm64-dbg -+ linux-image-3.14-1-generic-dbg -diff --git a/kernel/tests/arm64/mustang.test b/kernel/tests/arm64/mustang.test -index 80ab19f7..e58c06aa 100644 ---- a/kernel/tests/arm64/mustang.test -+++ b/kernel/tests/arm64/mustang.test -@@ -1,12 +1,12 @@ - subarch generic - cpuinfo mustang.cpuinfo --flavour arm64 -+flavour generic - majors 3.10 - machine aarch64 - kernel-3.10 \ -- linux-image-arm64 -+ linux-image-generic - usable \ -- linux-image-arm64 \ -- linux-image-3.14-1-arm64 -+ linux-image-generic \ -+ linux-image-3.14-1-generic - unusable \ -- linux-image-3.14-1-arm64-dbg -+ linux-image-3.14-1-generic-dbg -diff --git a/kernel/tests/arm64/qemu-virt.test b/kernel/tests/arm64/qemu-virt.test -index 87c39c47..2d880f5c 100644 ---- a/kernel/tests/arm64/qemu-virt.test -+++ b/kernel/tests/arm64/qemu-virt.test -@@ -1,12 +1,12 @@ - subarch generic - cpuinfo qemu-virt.cpuinfo --flavour arm64 -+flavour generic - majors 3.10 - machine aarch64 - kernel-3.10 \ -- linux-image-arm64 -+ linux-image-generic - usable \ -- linux-image-arm64 \ -- linux-image-3.14-1-arm64 -+ linux-image-generic \ -+ linux-image-3.14-1-generic - unusable \ -- linux-image-3.14-1-arm64-dbg -+ linux-image-3.14-1-generic-dbg diff --git a/helpers/DATA/base-installer/patch_changes/003-patch_flavor_tests_armhf.patch b/helpers/DATA/base-installer/patch_changes/003-patch_flavor_tests_armhf.patch deleted file mode 100644 index a3090b9..0000000 --- a/helpers/DATA/base-installer/patch_changes/003-patch_flavor_tests_armhf.patch +++ /dev/null @@ -1,143 +0,0 @@ -diff --git a/kernel/tests/armhf/efikamx.test b/kernel/tests/armhf/efikamx.test -deleted file mode 100644 -index 3fa4eeef..00000000 ---- a/kernel/tests/armhf/efikamx.test -+++ /dev/null -@@ -1,19 +0,0 @@ --subarch mx5 --cpuinfo efikamx.cpuinfo --majors 5.7 --flavour mx5 armmp --kernel-5.7 linux-image-mx5 linux-image-armmp --usable \ -- linux-image-mx5 \ -- linux-image-5.7.0-1-mx5 \ -- linux-image-armmp \ -- linux-image-5.7.0-1-armmp --unusable \ -- linux-image-armmp-lpae \ -- linux-image-netwinder \ -- linux-image-orion5x \ -- linux-image-rpc \ -- linux-image-s3c2410 \ -- linux-image-kirkwood \ -- linux-image-vexpress \ -- linux-image-5.7.0-1-armmp-dbg -diff --git a/kernel/tests/armhf/highbank.test b/kernel/tests/armhf/highbank.test -index 1f68d466..37a42821 100644 ---- a/kernel/tests/armhf/highbank.test -+++ b/kernel/tests/armhf/highbank.test -@@ -1,14 +1,14 @@ - subarch generic - cpuinfo highbank.cpuinfo - majors 5.7 --flavour armmp -+flavour generic - kernel-5.7 \ -- linux-image-armmp -+ linux-image-generic - usable \ -- linux-image-armmp \ -- linux-image-5.7.0-1-armmp -+ linux-image-generic \ -+ linux-image-5.7.0-1-generic - unusable \ -- linux-image-armmp-lpae \ -+ linux-image-generic-lpae \ - linux-image-netwinder \ - linux-image-orion5x \ - linux-image-rpc \ -@@ -16,4 +16,4 @@ unusable \ - linux-image-kirkwood \ - linux-image-mx5 \ - linux-image-vexpress \ -- linux-image-5.7.0-1-armmp-dbg -+ linux-image-5.7.0-1-generic-dbg -diff --git a/kernel/tests/armhf/midway-no-lpae.test b/kernel/tests/armhf/midway-no-lpae.test -index 04db5356..056ff08f 100644 ---- a/kernel/tests/armhf/midway-no-lpae.test -+++ b/kernel/tests/armhf/midway-no-lpae.test -@@ -1,14 +1,14 @@ - subarch generic - cpuinfo midway-no-lpae.cpuinfo - majors 5.7 --flavour armmp -+flavour generic - kernel-5.7 \ -- linux-image-armmp -+ linux-image-generic - usable \ -- linux-image-armmp \ -- linux-image-5.7.0-1-armmp -+ linux-image-generic \ -+ linux-image-5.7.0-1-generic - unusable \ -- linux-image-armmp-lpae \ -+ linux-image-generic-lpae \ - linux-image-netwinder \ - linux-image-orion5x \ - linux-image-rpc \ -@@ -16,4 +16,4 @@ unusable \ - linux-image-kirkwood \ - linux-image-mx5 \ - linux-image-vexpress \ -- linux-image-5.7.0-1-armmp-dbg -+ linux-image-5.7.0-1-generic-dbg -diff --git a/kernel/tests/armhf/midway.test b/kernel/tests/armhf/midway.test -index 6a789a1b..a5213a4a 100644 ---- a/kernel/tests/armhf/midway.test -+++ b/kernel/tests/armhf/midway.test -@@ -1,15 +1,15 @@ - subarch generic - cpuinfo midway.cpuinfo - majors 5.7 --flavour armmp-lpae armmp -+flavour generic-lpae generic - kernel-5.7 \ -- linux-image-armmp-lpae \ -- linux-image-armmp -+ linux-image-generic-lpae \ -+ linux-image-generic - usable \ -- linux-image-armmp \ -- linux-image-5.7.0-1-armmp \ -- linux-image-armmp-lpae \ -- linux-image-5.7.0-1-armmp-lpae -+ linux-image-generic \ -+ linux-image-5.7.0-1-generic \ -+ linux-image-generic-lpae \ -+ linux-image-5.7.0-1-generic-lpae - unusable \ - linux-image-netwinder \ - linux-image-orion5x \ -@@ -18,4 +18,4 @@ unusable \ - linux-image-kirkwood \ - linux-image-mx5 \ - linux-image-vexpress \ -- linux-image-5.7.0-1-armmp-dbg -+ linux-image-5.7.0-1-generic-dbg -diff --git a/kernel/tests/armhf/vexpress.test b/kernel/tests/armhf/vexpress.test -deleted file mode 100644 -index 19d38dd4..00000000 ---- a/kernel/tests/armhf/vexpress.test -+++ /dev/null -@@ -1,19 +0,0 @@ --subarch vexpress --cpuinfo vexpress.cpuinfo --majors 5.7 --flavour vexpress armmp --kernel-5.7 linux-image-vexpress linux-image-armmp --usable \ -- linux-image-vexpress \ -- linux-image-3.2.0-4-vexpress \ -- linux-image-armmp \ -- linux-image-5.7.0-1-armmp --unusable \ -- linux-image-armmp-lpae \ -- linux-image-netwinder \ -- linux-image-orion5x \ -- linux-image-rpc \ -- linux-image-s3c2410 \ -- linux-image-kirkwood \ -- linux-image-mx5 \ -- linux-image-5.7.0-1-armmp-dbg diff --git a/helpers/DATA/base-installer/patch_changes/004-patch_flavor_tests_ppc64el.patch b/helpers/DATA/base-installer/patch_changes/004-patch_flavor_tests_ppc64el.patch deleted file mode 100644 index b66c5bb..0000000 --- a/helpers/DATA/base-installer/patch_changes/004-patch_flavor_tests_ppc64el.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/kernel/tests/ppc64el/postal.test b/kernel/tests/ppc64el/postal.test -index 9878d14f..33f7c0e3 100644 ---- a/kernel/tests/ppc64el/postal.test -+++ b/kernel/tests/ppc64el/postal.test -@@ -1,9 +1,9 @@ - subarch chrp_ibm - cpuinfo postal.cpuinfo - majors 5.7 --flavour powerpc64le -+flavour generic - kernel-5.7 \ -- linux-image-powerpc64le -+ linux-image-generic - usable \ -- linux-image-powerpc64le \ -- linux-image-3.14-1-powerpc64le -+ linux-image-generic \ -+ linux-image-3.14-1-generic -diff --git a/kernel/tests/ppc64el/powernv.test b/kernel/tests/ppc64el/powernv.test -index 3e7d2250..77b5505a 100644 ---- a/kernel/tests/ppc64el/powernv.test -+++ b/kernel/tests/ppc64el/powernv.test -@@ -1,9 +1,9 @@ - subarch chrp_ibm - cpuinfo powernv.cpuinfo - majors 5.7 --flavour powerpc64le -+flavour generic - kernel-5.7 \ -- linux-image-powerpc64le -+ linux-image-generic - usable \ -- linux-image-powerpc64le \ -- linux-image-3.14-1-powerpc64le -+ linux-image-generic \ -+ linux-image-3.14-1-generic diff --git a/helpers/DATA/birdtray/birdtray.ico b/helpers/DATA/birdtray/birdtray.ico new file mode 100644 index 0000000..28cc2fe Binary files /dev/null and b/helpers/DATA/birdtray/birdtray.ico differ diff --git a/helpers/DATA/birdtray/birdtray.svg b/helpers/DATA/birdtray/birdtray.svg new file mode 100644 index 0000000..3fa8959 --- /dev/null +++ b/helpers/DATA/birdtray/birdtray.svg @@ -0,0 +1,2059 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/helpers/DATA/birdtray/icons/128/com.ulduzsoft.Birdtray.png b/helpers/DATA/birdtray/icons/128/com.ulduzsoft.Birdtray.png new file mode 100644 index 0000000..313a770 Binary files /dev/null and b/helpers/DATA/birdtray/icons/128/com.ulduzsoft.Birdtray.png differ diff --git a/helpers/DATA/birdtray/icons/32/com.ulduzsoft.Birdtray.png b/helpers/DATA/birdtray/icons/32/com.ulduzsoft.Birdtray.png new file mode 100644 index 0000000..1dfe7a4 Binary files /dev/null and b/helpers/DATA/birdtray/icons/32/com.ulduzsoft.Birdtray.png differ diff --git a/helpers/DATA/birdtray/icons/48/com.ulduzsoft.Birdtray.png b/helpers/DATA/birdtray/icons/48/com.ulduzsoft.Birdtray.png new file mode 100644 index 0000000..5acf48a Binary files /dev/null and b/helpers/DATA/birdtray/icons/48/com.ulduzsoft.Birdtray.png differ diff --git a/helpers/DATA/birdtray/icons/64/com.ulduzsoft.Birdtray.png b/helpers/DATA/birdtray/icons/64/com.ulduzsoft.Birdtray.png new file mode 100644 index 0000000..28510f2 Binary files /dev/null and b/helpers/DATA/birdtray/icons/64/com.ulduzsoft.Birdtray.png differ diff --git a/helpers/DATA/birdtray/thunderbird.png b/helpers/DATA/birdtray/thunderbird.png new file mode 100644 index 0000000..ee32dde Binary files /dev/null and b/helpers/DATA/birdtray/thunderbird.png differ diff --git a/helpers/DATA/bleachbit/bleachbit-FSDG.patch b/helpers/DATA/bleachbit/bleachbit-FSDG.patch index cdbf76f..631be03 100644 --- a/helpers/DATA/bleachbit/bleachbit-FSDG.patch +++ b/helpers/DATA/bleachbit/bleachbit-FSDG.patch @@ -66,6 +66,16 @@ diff -ru a/doc/cleaner_markup_language.xsd b/doc/cleaner_markup_language.xsd +diff -ru source/PKG-INFO source_fix/PKG-INFO +--- a/PKG-INFO 2021-11-13 15:05:48.000000000 -0600 ++++ b/PKG-INFO 2022-04-10 16:28:47.450145458 -0500 +@@ -7,5 +7,5 @@ + Author-email: andrew@bleachbit.org + License: GPLv3 + Download-URL: https://www.bleachbit.org/download +-Description: BleachBit frees space and maintains privacy by quickly wiping files you don't need and didn't know you had. Supported applications include Edge, Firefox, Google Chrome, VLC, and many others. ++Description: BleachBit frees space and maintains privacy by quickly wiping files you don't need and didn't know you had. Supported applications include Firefox, VLC, and many others. + Platform: Linux and Windows; Python v2.6 and 2.7; GTK v3.12+ diff -ru source/setup.py source_fix/setup.py --- a/setup.py 2021-11-13 15:05:47.000000000 -0600 +++ b/setup.py 2022-04-10 16:34:51.418739031 -0500 @@ -78,14 +88,3 @@ diff -ru source/setup.py source_fix/setup.py # # begin win32com.shell workaround for py2exe -diff --git a/PKG-INFO b/PKG-INFO -index e7605a5c..1cb44f88 100644 ---- a/PKG-INFO -+++ b/PKG-INFO -@@ -10,5 +10,5 @@ Download-URL: https://www.bleachbit.org/download - Platform: Linux and Windows; Python v2.6 and 2.7; GTK v3.12+ - License-File: COPYING - --BleachBit frees space and maintains privacy by quickly wiping files you don't need and didn't know you had. Supported applications include Edge, Firefox, Google Chrome, VLC, and many others. -+BleachBit frees space and maintains privacy by quickly wiping files you don't need and didn't know you had. Supported applications include Abrowser, VLC, and many others. - diff --git a/helpers/DATA/caja/patch_changes/001-fallback_fast-content-type_if_content-type_is_not_set.patch b/helpers/DATA/caja/patch_changes/001-fallback_fast-content-type_if_content-type_is_not_set.patch deleted file mode 100644 index b444c13..0000000 --- a/helpers/DATA/caja/patch_changes/001-fallback_fast-content-type_if_content-type_is_not_set.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 16145e6d4e86f0c6fc58a0e3ceec6ba16a84d900 Mon Sep 17 00:00:00 2001 -From: Ondrej Holy -Date: Tue, 31 Mar 2020 15:55:56 +0200 -Subject: [PATCH] file: Fallback to fast-content-type if content-type is not - set - -The G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE attribute doesn't have to be -always set. See https://gitlab.gnome.org/GNOME/gvfs/-/merge_requests/68 -for more details. In that case, Caja fallbacks to the -"application/octet-stream" type, which causes issues when opening the -files. Let's fallback to the "standard::fast-content-type" attribute -instead to fix issues when opening such files. - -Imported from Nautilus commit: https://gitlab.gnome.org/GNOME/nautilus/-/commit/0e5978035b0fc87c91d7b93ed79c64d51b6d6825 - -Fixes #1840. ---- - libcaja-private/caja-file.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/libcaja-private/caja-file.c b/libcaja-private/caja-file.c -index faa7bb50e..faea79932 100644 ---- a/libcaja-private/caja-file.c -+++ b/libcaja-private/caja-file.c -@@ -2460,6 +2460,9 @@ update_info_internal (CajaFile *file, - } - - mime_type = g_file_info_get_content_type (info); -+ if (mime_type == NULL) { -+ mime_type = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE); -+ } - if (eel_strcmp (file->details->mime_type, mime_type) != 0) { - changed = TRUE; - g_clear_pointer (&file->details->mime_type, g_ref_string_release); diff --git a/helpers/DATA/casper/36apparmor_live b/helpers/DATA/casper/36apparmor_live deleted file mode 100644 index 094a847..0000000 --- a/helpers/DATA/casper/36apparmor_live +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh - -PREREQ="" -DESCRIPTION="Enabling Live apparmor profiles..." - -prereqs() -{ - echo "$PREREQ" -} - -case $1 in -# get pre-requisites -prereqs) - prereqs - exit 0 - ;; -esac - -. /scripts/casper-functions - -log_begin_msg "$DESCRIPTION" - -RC_EXIST=0 - -if [ ! -e /root/etc/rc.local ]; then - umask 022 - mkdir -p /root/etc - cat << 'EOF' > /root/etc/rc.local -#!/bin/sh -exit 0 -EOF - chmod 755 /root/etc/rc.local - RC_EXIST=1 -fi - -if [ "$RC_EXIST" -eq 0 ]; then - head -n1 /root/etc/rc.local | grep -q '^#!' || sed -i '1s|^|#!/bin/sh\n|' /root/etc/rc.local - sed -i 's/\r$//' /root/etc/rc.local - chmod 755 /root/etc/rc.local -fi - -if ! grep -q 'BEGIN trisquel-live-apparmor' /root/etc/rc.local 2>/dev/null; then - sed -i '/^exit 0$/d' /root/etc/rc.local - cat << 'EOF' >> /root/etc/rc.local -# --- BEGIN trisquel-live-apparmor --- -if [ -d /rofs ]; then - /usr/lib/casper/casper-apparmor-live || true -fi -# --- END trisquel-live-apparmor --- -EOF - echo 'exit 0' >> /root/etc/rc.local -fi - -mkdir -p /root/etc/apt/apt.conf.d -cat << 'APT' > /root/etc/apt/apt.conf.d/99-apparmor-live-hook -# /etc/apt/apt.conf.d/99-apparmor-live-hook -DPkg::Post-Invoke { "sh -c '[ -d /rofs ] && /usr/lib/casper/casper-apparmor-live || true'"; }; -APT -chmod 644 /root/etc/apt/apt.conf.d/99-apparmor-live-hook - -log_end_msg diff --git a/helpers/DATA/casper/patch_changes/001-fix_disable_kde_services_triskel_live.patch b/helpers/DATA/casper/patch_changes/001-fix_disable_kde_services_triskel_live.patch deleted file mode 100644 index f0e0dff..0000000 --- a/helpers/DATA/casper/patch_changes/001-fix_disable_kde_services_triskel_live.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/scripts/casper-bottom/34disable_kde_services b/scripts/casper-bottom/34disable_kde_services -index f368ec2e..caa76986 100755 ---- a/scripts/casper-bottom/34disable_kde_services -+++ b/scripts/casper-bottom/34disable_kde_services -@@ -20,7 +20,7 @@ esac - - log_begin_msg "$DESCRIPTION" - --for pkg in kubuntu-default-settings ubuntustudio; do -+for pkg in triskel-default-settings kubuntu-default-settings ubuntustudio; do - settingsdir="/root/usr/share/$pkg/kf5-settings" - [ -d "$settingsdir" ] || continue - printf "[Daemon]\nTimeout=0\nAutolock=false\nLockOnResume=false\n" >> "$settingsdir"/kscreenlockerrc diff --git a/helpers/DATA/casper/patch_changes/002-setup_apparmor_live_reload.patch b/helpers/DATA/casper/patch_changes/002-setup_apparmor_live_reload.patch deleted file mode 100644 index d78ec82..0000000 --- a/helpers/DATA/casper/patch_changes/002-setup_apparmor_live_reload.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/debian/casper.install b/debian/casper.install -index 5eb58de8..248d17d0 100644 ---- a/debian/casper.install -+++ b/debian/casper.install -@@ -10,4 +10,5 @@ bin/casper-update-initramfs usr/share/casper - hooks usr/share/initramfs-tools - scripts usr/share/initramfs-tools - casper-md5check/casper-md5check usr/lib/casper -+extra/casper-apparmor-live usr/lib/casper - casper.conf etc -diff --git a/extra/casper-apparmor-live b/extra/casper-apparmor-live -new file mode 100755 -index 00000000..c11b80ad ---- /dev/null -+++ b/extra/casper-apparmor-live -@@ -0,0 +1,13 @@ -+#!/bin/sh -+# /usr/lib/casper/casper-apparmor-live -+[ -d /rofs ] || exit 0 -+find /etc/apparmor.d -type f \ -+ ! -path "/etc/apparmor.d/abstractions/*" \ -+ ! -path "/etc/apparmor.d/tunables/*" \ -+ ! -path "/etc/apparmor.d/local/*" \ -+ ! -path "/etc/apparmor.d/disable/*" \ -+ ! -path "/etc/apparmor.d/rsyslog.d/*" \ -+ ! -path "/etc/apparmor.d/force-complain/*" \ -+ ! -path "/etc/apparmor.d/apache2.d/*" \ -+ ! -path "/etc/apparmor.d/abi/*" \ -+ -print0 | xargs -0 -r -n1 apparmor_parser -r -T -W || true diff --git a/helpers/DATA/casper/patch_changes/003-reenable_checksum_plymouth.patch b/helpers/DATA/casper/patch_changes/003-reenable_checksum_plymouth.patch deleted file mode 100644 index 3fee96d..0000000 --- a/helpers/DATA/casper/patch_changes/003-reenable_checksum_plymouth.patch +++ /dev/null @@ -1,175 +0,0 @@ -diff --git a/casper-md5check/casper-md5check.c b/casper-md5check/casper-md5check.c -index a1e4f753..5213fd3d 100644 ---- a/casper-md5check/casper-md5check.c -+++ b/casper-md5check/casper-md5check.c -@@ -39,6 +39,10 @@ - - #define MD5_LEN 16 - -+/* Show a human-friendly percent message every N percent points. -+ * Script themes like trisquel-logo display messages but ignore fsck: status updates. */ -+#define PLYMOUTH_PERCENT_STEP 1 -+ - #define RESULT_FILE "/run/casper-md5check.json" - #define BROKEN_FILE " \"checksum_missmatch\": [ " - #define RESULT_PASS " \"result\": \"pass\"\n}\n" -@@ -215,14 +219,36 @@ void plymouth_success(ply_boot_client_t *client, char *format, ...) { - } - - void plymouth_progress(ply_boot_client_t *client, int progress, char *checkfile) { -- static int prevprogress = -1; -- char *s; -+ static int prev_bucket = -1; -+ int bucket = progress / PLYMOUTH_PERCENT_STEP; -+ char *s = NULL; -+ char *m = NULL; - -- if (progress == prevprogress) -+ if (bucket == prev_bucket) - return; -- prevprogress = progress; -+ prev_bucket = bucket; - - if (got_plymouth) { -+ /* Always emit a visible message with percent; trisquel-logo shows this. */ -+ const char *name = checkfile; -+ if (name) { -+ const char *slash = strrchr(name, '/'); -+ if (slash && slash[1]) -+ name = slash + 1; -+ } -+ if (name) -+ asprintf(&m, "Checking integrity: %03d%% (%s)", progress, name); -+ else -+ asprintf(&m, "Checking integrity: %03d%%", progress); -+ -+ if (m) { -+ ply_boot_client_tell_daemon_to_display_message(client, m, -+ plymouth_response, -+ plymouth_response, NULL); -+ ply_boot_client_flush(client); -+ free(m); -+ } -+ - if (checkfile) { - if (spinner_theme) - asprintf(&s, "fsckd:1:%d:Checking %s", progress, checkfile); -@@ -260,10 +260,12 @@ void plymouth_progress(ply_boot_client_t *client, int progress, char *checkfile) - else - asprintf(&s, "fsck:md5sums:%d", progress); - } -- ply_boot_client_update_daemon(client, s, plymouth_response, -- plymouth_response, NULL); -- ply_boot_client_flush(client); -- free(s); -+ if (s) { -+ ply_boot_client_update_daemon(client, s, plymouth_response, -+ plymouth_response, NULL); -+ ply_boot_client_flush(client); -+ free(s); -+ } - } else { - printf("."); - fflush(stdout); -@@ -304,7 +304,7 @@ int main(int argc, char **argv) { - - parse_cmdline(); - -- //client = ply_boot_client_new(); -+ client = ply_boot_client_new(); - if (client) - ply_event_loop = ply_event_loop_new(); - if (ply_event_loop) -@@ -445,6 +445,7 @@ cmdline_skip: - if (skip_and_exit) { - result = RESULT_SKIP; - plymouth_urgent(client, "Check skipped."); -+ sleep(3); - } else if (failed) { - result = RESULT_FAIL; - plymouth_urgent(client, "Check finished: errors found in %d files! You might encounter errors.", failed); -@@ -452,9 +453,11 @@ cmdline_skip: - } else { - result = RESULT_PASS; - plymouth_urgent(client, "Check finished: no errors found."); -+ sleep(3); - } -+ - fprintf(result_file, "%s", result); - fclose(result_file); - plymouth_urgent(client, ""); - return 0; - } - -diff --git a/debian/casper.casper-md5check.service b/debian/casper.casper-md5check.service -index 0af66ec2..6a5860fa 100644 ---- a/debian/casper.casper-md5check.service -+++ b/debian/casper.casper-md5check.service -@@ -1,12 +1,26 @@ - [Unit] - Description=casper-md5check Verify Live ISO checksums --After=multi-user.target -+ConditionKernelCommandLine=integrity-check -+After=local-fs.target plymouth-start.service -+Before=multi-user.target plymouth-quit.service plymouth-quit-wait.service display-manager.service graphical.target - - [Service] - Type=oneshot -+ -+# /cdrom is typically mounted by casper/initramfs (not systemd), and cdrom.mount may be masked. -+# So we wait until /cdrom is mounted and md5sum.txt exists instead of RequiresMountsFor=/cdrom. -+ExecStartPre=/bin/sh -c 'i=0; while [ "$i" -lt 200 ]; do grep -qs " /cdrom " /proc/mounts && [ -f /cdrom/md5sum.txt ] && exit 0; i=$((i+1)); sleep 0.1; done; echo "casper-md5check: /cdrom no listo" >&2; exit 1' -+ - ExecStart=/usr/lib/casper/casper-md5check /cdrom /cdrom/md5sum.txt --Nice=19 - RemainAfterExit=yes -+StandardOutput=journal+console -+StandardError=journal+console -+ -+# casper-md5check uses libplymouth; give it a controlling TTY or it may abort. -+StandardInput=tty -+TTYPath=/dev/console -+ -+Nice=19 - IOSchedulingClass=idle - IOSchedulingPriority=7 - -diff --git a/bin/casper-stop b/bin/casper-stop -index 56174681..5fab7c36 100755 ---- a/bin/casper-stop -+++ b/bin/casper-stop -@@ -100,31 +100,9 @@ do_stop () - return 0 - fi - -- # XXX - i18n -- MSG="Please remove the installation medium, then press ENTER: " -- MSG_FALLBACK="Please remove the installation medium, then reboot." -- -- if [ "$prompt" ]; then -- if [ -x /bin/plymouth ] && plymouth --ping; then -- chvt 63 -- plymouth message --text="$MSG" -- clear > /dev/tty1 -- echo $MSG_FALLBACK > /dev/tty1 -- else -- stty sane < /dev/console -- echo $MSG > /dev/console -- fi -- fi -- -- eject -p -m $device >/dev/null 2>&1 -- -- [ "$prompt" ] || return 0 -- -- if [ -x /bin/plymouth ] && plymouth --ping; then -- plymouth watch-keystroke > /dev/null -- else -- read x < /dev/console -- fi -+ # Trisquel: We no longer block shutdown/reboot waiting for user input. -+ eject -p -m "$device" >/dev/null 2>&1 || true -+ return 0 - } - - do_stop diff --git a/helpers/DATA/casper/set_liveuser_uid_1000.patch b/helpers/DATA/casper/set_liveuser_uid_1000.patch new file mode 100644 index 0000000..511fe5c --- /dev/null +++ b/helpers/DATA/casper/set_liveuser_uid_1000.patch @@ -0,0 +1,53 @@ +diff --git a/bin/casper-snapshot b/bin/casper-snapshot +index ab075292..33243f63 100755 +--- a/bin/casper-snapshot ++++ b/bin/casper-snapshot +@@ -33,7 +33,7 @@ VERSION=0.0.1 + if [ -e /etc/casper.conf ]; then + . /etc/casper.conf + else +- USERNAME=$(cat /etc/passwd | grep "999" | cut -f1 -d ':') ++ USERNAME=$(cat /etc/passwd | grep "1000" | cut -f1 -d ':') + HOSTNAME=$(hostname) + BUILD_SYSTEM="Debian" + fi +diff --git a/scripts/casper-bottom/15autologin b/scripts/casper-bottom/15autologin +index d6c75e66..c80e2058 100755 +--- a/scripts/casper-bottom/15autologin ++++ b/scripts/casper-bottom/15autologin +@@ -90,9 +90,6 @@ if [ -f /root/usr/bin/sddm ]; then + sddm_session=QLubuntu.desktop + fi + cat >>/root/etc/sddm.conf < /dev/null + if [ ! -f /root/usr/bin/sddm ]; then +@@ -93,11 +94,6 @@ for file in /usr/share/applications/ubiquity.desktop /usr/share/applications/kde + fi + done + +-# GDM +-if [ -d /root/etc/gdm3 ]; then +- sed -i '/^[UG]ID_MIN/s/\<1000$/ 999/' /root/etc/login.defs +-fi +- + # Kubuntu + if [ -f "/root/usr/bin/plasma-desktop" ]; then + if [ -f "/root/usr/share/kde4/apps/khelpcenter/plugins/kubuntu/a_welcome.desktop" ]; then diff --git a/helpers/DATA/casper/patch_changes/000-set_trisquel_iso_suggestion.patch b/helpers/DATA/casper/set_trisquel_iso_suggestion.patch similarity index 74% rename from helpers/DATA/casper/patch_changes/000-set_trisquel_iso_suggestion.patch rename to helpers/DATA/casper/set_trisquel_iso_suggestion.patch index f7b369f..116f99c 100644 --- a/helpers/DATA/casper/patch_changes/000-set_trisquel_iso_suggestion.patch +++ b/helpers/DATA/casper/set_trisquel_iso_suggestion.patch @@ -1,8 +1,6 @@ -diff --git a/scripts/casper b/scripts/casper -index 36a724d2..1b9a6faf 100644 ---- a/scripts/casper -+++ b/scripts/casper -@@ -379,18 +379,18 @@ do_interactive_netmount() { +--- a/scripts/casper 2023-02-13 23:53:18.908768968 -0600 ++++ b/scripts/casper 2023-02-21 03:28:55.176581755 -0600 +@@ -376,18 +376,18 @@ # maybe make livecd-rootfs embed something in the casper initrd? case $PRETTY_NAME in *development*) @@ -14,14 +12,14 @@ index 36a724d2..1b9a6faf 100644 *) case $DPKG_ARCH in amd64) -- server_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-latest-live-server-$DPKG_ARCH.iso -- desktop_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-latest-desktop-$DPKG_ARCH.iso +- server_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-live-server-$DPKG_ARCH.iso +- desktop_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-desktop-$DPKG_ARCH.iso + server_url=http://cdimage.trisquel.org/trisquel-images/${ID}-netinst_${VERSION_ID}_${DPKG_ARCH}.iso + desktop_url=http://cdimage.trisquel.org/trisquel-images/${ID}_${VERSION_ID}_${DPKG_ARCH}.iso ;; *) -- server_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-latest-live-server-$DPKG_ARCH.iso -- desktop_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-latest-desktop-$DPKG_ARCH.iso +- server_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-live-server-$DPKG_ARCH.iso +- desktop_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-desktop-$DPKG_ARCH.iso + server_url=http://cdimage.trisquel.org/trisquel-images/${ID}-netinst_${VERSION_ID}_${DPKG_ARCH}.iso + desktop_url=http://cdimage.trisquel.org/trisquel-images/${ID}_${VERSION_ID}_${DPKG_ARCH}.iso ;; diff --git a/helpers/DATA/cdebconf/new-default-color-palet-usage.patch b/helpers/DATA/cdebconf/new-default-color-palet-usage.patch deleted file mode 100644 index a41807a..0000000 --- a/helpers/DATA/cdebconf/new-default-color-palet-usage.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff --git a/src/modules/frontend/newt/newt.c b/src/modules/frontend/newt/newt.c -index 838ff2f..ee754a2 100644 ---- a/src/modules/frontend/newt/newt.c -+++ b/src/modules/frontend/newt/newt.c -@@ -72,6 +72,47 @@ struct newt_data { - struct question *scale_info; - }; - -+struct newtColors newtAltColorPalette = { -+ /*"white", "blue",*/ /* root fg, bg */ -+ "white", "black", /* root fg, bg */ -+ /*"black", "lightgray",*/ /* border fg, bg */ -+ "white", "black", /* border fg, bg */ -+ /*"black", "lightgray",*/ /* window fg, bg */ -+ "white", "black", /* window fg, bg */ -+ /*"white", "black",*/ /* shadow fg, bg */ -+ "white", "black", /* shadow fg, bg */ -+ /*"red", "lightgray",*/ /* title fg, bg */ -+ "yellow", "black", /* title fg, bg */ -+ /*"brightred", "gray",*/ /* button fg, bg */ -+ "black", "lightgray", /* button fg, bg */ -+ "gray", "brightred", /* active button fg, bg */ -+ "white", "gray", /* checkbox fg, bg */ -+ /*"yellow", "brown",*/ /* active checkbox fg, bg */ -+ "black", "lightgray", /* active checkbox fg, bg */ -+ /*"yellow", "blue",*/ /* entry box fg, bg */ -+ "white", "black", /* entry box fg, bg */ -+ /*"blue", "lightgray",*/ /* label fg, bg */ -+ "brightred", "black", /* label fg, bg */ -+ /*"black", "lightgray",*/ /* listbox fg, bg */ -+ "white", "black", /* listbox fg, bg */ -+ "yellow", "blue", /* active listbox fg, bg */ -+ /*"black", "lightgray",*/ /* textbox fg, bg */ -+ "white", "black", /* textbox fg, bg */ -+ "lightgray", "black", /* active textbox fg, bg */ -+ /*"white", "blue",*/ /* help line */ -+ "white", "black", /* help line */ -+ "yellow", "blue", /* root text */ -+ /*"blue",*/ /* scale full */ -+ "black", /* scale full */ -+ /*"red",*/ /* scale empty */ -+ "blue", /* scale empty */ -+ "blue", "lightgray", /* disabled entry fg, bg */ -+ /*"black", "lightgray",*/ /* compact button fg, bg */ -+ "white", "black", /* compact button fg, bg */ -+ "black", "lightgray", /* active & sel listbox */ -+ "black", "brown" /* selected listbox */ -+}; -+ - typedef int (newt_handler)(struct frontend *obj, struct question *q); - - struct newt_help_callback_data { -@@ -153,6 +194,7 @@ cdebconf_newt_setup(void) - { - SLang_init_tty(0, 1, 0); /* disable flow control */ - newtInit(); -+ newtSetColors(newtAltColorPalette); - newtCls(); - } - -@@ -1078,7 +1120,7 @@ newt_handler_error(struct frontend *obj, struct question *q) - { - char *oldrootBg, *oldshadowBg, *oldhelpLineFg, *oldhelpLineBg; - int ret; -- struct newtColors palette = newtDefaultColorPalette; -+ struct newtColors palette = newtAltColorPalette; - - oldrootBg = palette.rootBg; - oldshadowBg = palette.shadowBg; -@@ -1148,22 +1190,15 @@ newt_initialize(struct frontend *obj, struct configuration *conf) - { - int width = 80, height = 24; - const char *palette; -- const char *base = "/etc/newt/palette"; -- char *path; - - obj->interactive = 1; - obj->data = calloc(1, sizeof(struct newt_data)); - SLang_init_tty(0, 1, 0); /* disable flow control */ -- palette = getenv("FRONTEND_BACKGROUND"); -- if (palette != NULL && asprintf(&path, "%s.%s", base, palette) >= 0) { -- /* Establish a symlink from /etc/newt/palette to -- * /etc/newt/palette.$FRONTEND_BACKGROUND -- */ -- unlink(base); -- link(path, base); -- free(path); -- } - newtInit(); -+ palette = getenv("FRONTEND_BACKGROUND"); -+ if (palette == NULL || strcmp(palette, "dark") != 0) -+ newtAltColorPalette = newtDefaultColorPalette; -+ newtSetColors(newtAltColorPalette); - newtGetScreenSize(&width, &height); - newtFinished(); - return DC_OK; diff --git a/helpers/DATA/cdebconf/restore-udeb-build-w_o-profile.patch b/helpers/DATA/cdebconf/restore-udeb-build-w_o-profile.patch deleted file mode 100644 index 3da51ef..0000000 --- a/helpers/DATA/cdebconf/restore-udeb-build-w_o-profile.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff --git a/debian/control b/debian/control -index 0b67d83..de3d32e 100644 ---- a/debian/control -+++ b/debian/control -@@ -83,7 +82,6 @@ Priority: standard - Depends: ${shlibs:Depends}, ${misc:Depends} - Provides: debconf-2.0 - Package-Type: udeb --Build-Profiles: - Description: Debian Configuration Management System (C-implementation) - Debconf is a configuration management system for Debian packages. It is - used by some packages to prompt you for information before they are -@@ -99,7 +97,6 @@ Section: debian-installer - Priority: standard - Depends: cdebconf-udeb, ${misc:Depends} - Package-Type: udeb --Build-Profiles: - XB-Installer-Menu-Item: 93000 - Description: Change debconf priority - This is a udeb that allows you to change the priority limit for the -@@ -110,7 +107,6 @@ Architecture: any - Section: debian-installer - Depends: ${shlibs:Depends}, ${misc:Depends}, cdebconf-udeb - Package-Type: udeb --Build-Profiles: - Description: Debian Configuration Management System (C-implementation) - Debconf is a configuration management system for Debian packages. It is - used by some packages to prompt you for information before they are -@@ -124,7 +120,6 @@ Architecture: any - Section: debian-installer - Depends: cdebconf-udeb, ${shlibs:Depends}, ${misc:Depends} - Package-Type: udeb --Build-Profiles: - Description: Plain text frontend for Debian Configuration Management System - Debconf is a configuration management system for Debian packages. It is - used by some packages to prompt you for information before they are -@@ -139,7 +134,6 @@ Architecture: any - Section: debian-installer - Depends: cdebconf-udeb, di-utils-terminfo, ${shlibs:Depends}, ${misc:Depends} - Package-Type: udeb --Build-Profiles: - Description: Newt frontend for Debian Configuration Management System - Debconf is a configuration management system for Debian packages. It is - used by some packages to prompt you for information before they are -@@ -154,7 +148,7 @@ Architecture: any - Section: debian-installer - Depends: cdebconf-udeb, ${shlibs:Depends}, ${misc:Depends}, rootskel-gtk [!s390 !s390x] - Package-Type: udeb --Build-Profiles: -+Build-Profiles: - Description: Gtk+ frontend for Debian Configuration Management System - Debconf is a configuration management system for Debian packages. It is - used by some packages to prompt you for information before they are -diff --git a/debian/rules b/debian/rules -index 3ee2ec0..a66e684 100755 ---- a/debian/rules -+++ b/debian/rules -@@ -12,10 +12,6 @@ udebbuild=debian/build-udeb - - include /usr/share/dpkg/architecture.mk - --ifeq (,$(filter noudeb, $(DEB_BUILD_PROFILES))) -- with_udeb = yes --endif -- - CONFFILE=/etc/cdebconf.conf - - #package names -@@ -46,7 +42,7 @@ ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) - DEBUG_CONFIGURE_OPT=--with-debug=yes - endif - --build: build-deb $(if $(with_udeb),build-udeb) -+build: build-deb build-udeb - - build-arch: build - build-indep: build -@@ -108,9 +104,7 @@ install-arch: build - dh_testroot - dh_prep - $(MAKE) -C $(debbuild) install DESTDIR=$(CURDIR)/debian/tmp/deb --ifeq ($(with_udeb),yes) - $(MAKE) -C $(udebbuild) install DESTDIR=$(CURDIR)/debian/tmp/udeb --endif - dh_install -a - - install-indep: -@@ -152,7 +146,7 @@ endif - dh_strip -a - dh_compress -a - dh_fixperms -a -- dh_makeshlibs -a $(if $(with_udeb),--add-udeb=libdebconfclient0-udeb) -+ dh_makeshlibs -a --add-udeb=libdebconfclient0-udeb - dh_installdeb -a - dh_shlibdeps -a - dh_gencontrol -a diff --git a/helpers/DATA/choose-mirror/Makefile_mirrors-masterlist.patch b/helpers/DATA/choose-mirror/Makefile_mirrors-masterlist.patch deleted file mode 100644 index 920acc3..0000000 --- a/helpers/DATA/choose-mirror/Makefile_mirrors-masterlist.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/Makefile b/Makefile -index f8bf521f..61d51be1 100644 ---- a/Makefile -+++ b/Makefile -@@ -34,8 +34,8 @@ LIBS=-ldebconfclient -ldebian-installer - STRIP=strip - - # Derivative distributions may want to change these. --MIRRORLISTURL=https://mirror-master.debian.org/status/Mirrors.masterlist --MASTERLIST=Mirrors.masterlist -+MIRRORLISTURL=https://gitlab.trisquel.org/trisquel/trisquel-packages/-/raw/master/extra/mirrors/Mirrors.masterlist -+MASTERLIST=Mirrors.masterlist.trisquel - - ifdef DEBUG - CFLAGS:=$(CFLAGS) -DDODEBUG diff --git a/helpers/DATA/choose-mirror/rev_Makefile.patch b/helpers/DATA/choose-mirror/rev_Makefile.patch new file mode 100644 index 0000000..0f38b63 --- /dev/null +++ b/helpers/DATA/choose-mirror/rev_Makefile.patch @@ -0,0 +1,14 @@ +diff -ru choose-mirror-2.78ubuntu7+10.0trisquel3/Makefile choose-mirror-2.111/Makefile +--- choose-mirror-2.78ubuntu7+10.0trisquel3/Makefile 2021-02-26 15:22:56.000000000 -0600 ++++ choose-mirror-2.111/Makefile 2021-06-04 12:09:55.000000000 -0500 +@@ -33,8 +33,8 @@ + STRIP=strip + + # Derivative distributions may want to change these. +-#MIRRORLISTURL=https://gitlab.trisquel.org/trisquel/trisquel-packages/-/raw/master/extra/mirrors/Mirrors.masterlist +-MASTERLIST=Mirrors.masterlist.trisquel ++MIRRORLISTURL=https://salsa.debian.org/mirror-team/masterlist/raw/master/Mirrors.masterlist ++MASTERLIST=Mirrors.masterlist + + ifdef DEBUG + CFLAGS:=$(CFLAGS) -DDODEBUG diff --git a/helpers/DATA/choose-mirror/choose-mirror-bin.templates-in.patch b/helpers/DATA/choose-mirror/rev_choose-mirror-bin.templates-in.patch similarity index 51% rename from helpers/DATA/choose-mirror/choose-mirror-bin.templates-in.patch rename to helpers/DATA/choose-mirror/rev_choose-mirror-bin.templates-in.patch index fd77a84..8976574 100644 --- a/helpers/DATA/choose-mirror/choose-mirror-bin.templates-in.patch +++ b/helpers/DATA/choose-mirror/rev_choose-mirror-bin.templates-in.patch @@ -1,22 +1,22 @@ diff -ru choose-mirror-2.78ubuntu7+10.0trisquel3/debian/choose-mirror-bin.templates-in choose-mirror-2.111/debian/choose-mirror-bin.templates-in --- choose-mirror-2.78ubuntu7+10.0trisquel3/debian/choose-mirror-bin.templates-in 2021-02-26 15:22:56.000000000 -0600 +++ choose-mirror-2.111/debian/choose-mirror-bin.templates-in 2021-02-08 06:52:03.000000000 -0600 -@@ -12,14 +12,10 @@ +@@ -12,10 +12,14 @@ Type: select Choices-C: ${CHOICES-C} Choices: ${CHOICES} -+Default: _CODENAME_ -+Description: Trisquel version to install: -+ In Trisquel, this question is never asked, and is only for preseeding. -+ Caveat emptor. --# :sl2: --_Description: Debian version to install: -- Debian comes in several flavors. Stable is well-tested and rarely changes. -- Unstable is untested and frequently changing. Testing is a middle ground, -- that receives many of the new versions from unstable if they are not too -- buggy. -- . -- Only flavors available on the selected mirror are listed. +-Default: _CODENAME_ +-Description: Trisquel version to install: +- In Trisquel, this question is never asked, and is only for preseeding. +- Caveat emptor. ++# :sl2: ++_Description: Debian version to install: ++ Debian comes in several flavors. Stable is well-tested and rarely changes. ++ Unstable is untested and frequently changing. Testing is a middle ground, ++ that receives many of the new versions from unstable if they are not too ++ buggy. ++ . ++ Only flavors available on the selected mirror are listed. Template: mirror/codename Type: string diff --git a/helpers/DATA/libcupsfilters/default-testpage.pdf b/helpers/DATA/cups-filters/default-testpage.pdf similarity index 100% rename from helpers/DATA/libcupsfilters/default-testpage.pdf rename to helpers/DATA/cups-filters/default-testpage.pdf diff --git a/helpers/DATA/cwidget/0002-Fix-cwidget-and-aptitude-FTBFS.patch b/helpers/DATA/cwidget/0002-Fix-cwidget-and-aptitude-FTBFS.patch new file mode 100644 index 0000000..7614cb8 --- /dev/null +++ b/helpers/DATA/cwidget/0002-Fix-cwidget-and-aptitude-FTBFS.patch @@ -0,0 +1,16 @@ +Description: Fix FTBFS in cwidget as well as in aptitude due to missing #include +Author: Paul Wise +Reviewed-By: Axel Beckert +Bug-Debian: https://bugs.debian.org/1015925 +Bug: https://bugs.debian.org/1015925 + +--- a/src/cwidget/generic/threads/threads.h ++++ b/src/cwidget/generic/threads/threads.h +@@ -26,6 +26,7 @@ + #define THREADS_H + + #include ++#include + #include + + namespace cwidget diff --git a/helpers/DATA/debconf/patch_changes/000-add_Template_undef_guard.patch b/helpers/DATA/debconf/patch_changes/000-add_Template_undef_guard.patch deleted file mode 100644 index e30df28..0000000 --- a/helpers/DATA/debconf/patch_changes/000-add_Template_undef_guard.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Debconf/Template.pm b/Debconf/Template.pm -index 9ab4833d..c3649929 100644 ---- a/Debconf/Template.pm -+++ b/Debconf/Template.pm -@@ -140,6 +140,7 @@ Get an existing template (it may be pulled out of the database, etc). - sub get { - my Debconf::Template $this=shift; - my $template=shift; -+ return unless defined $template && length $template; - return $template{$template} if exists $template{$template}; - if ($Debconf::Db::templates->exists($template)) { - $this = fields::new($this); diff --git a/helpers/DATA/debconf/patch_changes/001-add_DbDriver_Cache_undef_guard.patch b/helpers/DATA/debconf/patch_changes/001-add_DbDriver_Cache_undef_guard.patch deleted file mode 100644 index 8f3b8ba..0000000 --- a/helpers/DATA/debconf/patch_changes/001-add_DbDriver_Cache_undef_guard.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Debconf/DbDriver/Cache.pm b/Debconf/DbDriver/Cache.pm -index 1b0e36fb..2e80d3bb 100644 ---- a/Debconf/DbDriver/Cache.pm -+++ b/Debconf/DbDriver/Cache.pm -@@ -122,6 +122,7 @@ undef -- marked as deleted in the cache, so does not exist - sub exists { - my $this=shift; - my $item=shift; -+ return 0 unless defined $item && length $item; - - return $this->{cache}->{$item} - if exists $this->{cache}->{$item}; diff --git a/helpers/DATA/debian-installer/001_remove-proposed-updates.patch b/helpers/DATA/debian-installer/001_remove-proposed-updates.patch deleted file mode 100644 index 4dc8a0d..0000000 --- a/helpers/DATA/debian-installer/001_remove-proposed-updates.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/build/Makefile b/build/Makefile -index 0aeccf2a..17cf6a43 100644 ---- a/build/Makefile -+++ b/build/Makefile -@@ -673,7 +673,7 @@ sources.list.udeb: - echo "deb $(MIRROR) unreleased $(UDEB_COMPONENTS)"; \ - fi \ - else \ -- gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" $(USE_UDEBS_FROM) "$(UDEB_COMPONENTS)" $(USE_PROPOSED_UPDATES); \ -+ gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" $(USE_UDEBS_FROM) "$(UDEB_COMPONENTS)"; \ - if [ "$(USE_UNRELEASED)" = 1 ]; then \ - gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" unreleased "$(UDEB_COMPONENTS)"; \ - fi \ -diff --git a/debian/rules b/debian/rules -index 371e8b57..6caa6641 100755 ---- a/debian/rules -+++ b/debian/rules -@@ -13,7 +13,6 @@ TRANSSTATUS= - BOOTMENU_BEEP=n - else - USE_UDEBS_FROM=trixie --USE_PROPOSED_UPDATES=1 - TRANSSTATUS=translation-status - BOOTMENU_BEEP=y - endif diff --git a/helpers/DATA/debian-installer/004_set-kernel-on-control-file.patch b/helpers/DATA/debian-installer/004_set-kernel-on-control-file.patch deleted file mode 100644 index c1471bb..0000000 --- a/helpers/DATA/debian-installer/004_set-kernel-on-control-file.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/debian/control b/debian/control -index c56adcf9..d45d50c4 100644 ---- a/debian/control -+++ b/debian/control -@@ -168,8 +168,8 @@ Build-Depends: - # when creating ISO hybrid images on amd64 and i386 systems. - fontconfig, - # Used to generate a font cache through fc-cache, for gtk flavours -- linux-image-@@DEBIAN_KERNEL@@-amd64 [amd64], -- linux-image-@@DEBIAN_KERNEL@@-arm64 [arm64], -+ linux-image-@@DEBIAN_KERNEL@@-generic [amd64], -+ linux-image-@@DEBIAN_KERNEL@@-generic [arm64], - # Ship some more drm modules, without waiting on fb-modules (#1036019) - - Package: debian-installer diff --git a/helpers/DATA/debian-installer/006_prevent_error_unversioned_kernel_usage.patch b/helpers/DATA/debian-installer/006_prevent_error_unversioned_kernel_usage.patch deleted file mode 100644 index d24378b..0000000 --- a/helpers/DATA/debian-installer/006_prevent_error_unversioned_kernel_usage.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/build/Makefile b/build/Makefile -index 8a4717cb..c1c1c239 100644 ---- a/build/Makefile -+++ b/build/Makefile -@@ -428,8 +428,12 @@ ifeq ($(filter $(DEB_HOST_ARCH),mips64el hppa sh4),) - # though (see KERNELNAME variable). - VMLINUXZ=`find $(TREE)/boot/ -name 'vmlinu[xz]-*'`; \ - if [ `echo "$$VMLINUXZ" | wc -w` != 1 ]; then \ -+ if [ ! -e $(TREE)/boot/vmlinuz ] && [ ! -e $(TREE)/boot/vmlinux ]; then \ - echo "E: unexpected number of vmlinu[xz]-* in tree: $$VMLINUXZ (expected: 1)" >&2; \ - exit 1; \ -+ else \ -+ echo "W: skipping unversioning; vmlinuz/vmlinux already exists" >&2; \ -+ fi; \ - else \ - echo "I: unversioning vmlinu[xz]" >&2; \ - mv -v $$VMLINUXZ $(TREE)/boot/`basename $$VMLINUXZ|sed 's/-.*//'`; \ diff --git a/helpers/DATA/debian-installer/002_chmod_755_ld-linux2.patch b/helpers/DATA/debian-installer/chmod_755_ld-linux2.patch similarity index 80% rename from helpers/DATA/debian-installer/002_chmod_755_ld-linux2.patch rename to helpers/DATA/debian-installer/chmod_755_ld-linux2.patch index 763e442..d1f7ed7 100644 --- a/helpers/DATA/debian-installer/002_chmod_755_ld-linux2.patch +++ b/helpers/DATA/debian-installer/chmod_755_ld-linux2.patch @@ -1,18 +1,17 @@ diff --git a/build/Makefile b/build/Makefile -index d45f982c..353e516e 100644 +index c073a32..cace03d 100644 --- a/build/Makefile +++ b/build/Makefile -@@ -458,6 +458,13 @@ ifneq (,$(filter $(ARCH),amd64 arm64 i386)) - fi - endif +@@ -431,6 +431,12 @@ endif + ifeq ($(DEB_HOST_ARCH_OS),linux) + ifdef KERNELVERSION +ifneq ($(DEB_HOST_ARCH),ppc64el) + find $(TREE)/lib/$(DEB_HOST_MULTIARCH)/ -name "ld-linux*" | xargs -r chmod 755 +endif +ifeq ($(DEB_HOST_ARCH),ppc64el) + chmod 755 $(TREE)/lib/$(DEB_HOST_MULTIARCH)/ld*.so* +endif -+ # Set up modules.dep, ensure there is at least one standard dir (kernel # in this case), so depmod will use its prune list for archs with no # modules. diff --git a/helpers/DATA/debian-installer/di_focal/1422_1421.diff b/helpers/DATA/debian-installer/di_focal/1422_1421.diff index 9176f78..f62a271 100644 --- a/helpers/DATA/debian-installer/di_focal/1422_1421.diff +++ b/helpers/DATA/debian-installer/di_focal/1422_1421.diff @@ -1,6 +1,6 @@ === modified file 'build/Makefile' ---- a/build/Makefile 2010-11-05 16:34:29 +0000 -+++ b/build/Makefile 2011-03-01 11:42:39 +0000 +--- build/Makefile 2010-11-05 16:34:29 +0000 ++++ build/Makefile 2011-03-01 11:42:39 +0000 @@ -294,6 +294,7 @@ rm -rf $(TREE) # Set up the basic files [u]dpkg needs. @@ -19,8 +19,8 @@ ifdef EXTRADRIVERS #=== modified file 'debian/changelog' -#--- a/debian/changelog 2011-03-01 10:36:50 +0000 -#+++ b/debian/changelog 2011-03-01 11:42:39 +0000 +#--- debian/changelog 2011-03-01 10:36:50 +0000 +#+++ debian/changelog 2011-03-01 11:42:39 +0000 #@@ -1,3 +1,10 @@ #+debian-installer (20101020ubuntu21) UNRELEASED; urgency=low #+ diff --git a/helpers/DATA/debian-installer/di_focal/1677_1676.diff b/helpers/DATA/debian-installer/di_focal/1677_1676.diff index bb0afae..8a497ec 100644 --- a/helpers/DATA/debian-installer/di_focal/1677_1676.diff +++ b/helpers/DATA/debian-installer/di_focal/1677_1676.diff @@ -1,6 +1,6 @@ === modified file 'build/Makefile' -#--- a/build/Makefile 2011-12-15 15:35:38 +0000 -#+++ b/build/Makefile 2012-04-18 05:24:59 +0000 +#--- build/Makefile 2011-12-15 15:35:38 +0000 +#+++ build/Makefile 2012-04-18 05:24:59 +0000 #@@ -493,6 +493,12 @@ # `find $(TEMP) -type f -a \( -perm +0111 -o -name '*.so' -o -name '*.so.*' \) | \ # grep -v udeblibs | grep -v 'usr/lib/xorg/modules/.*\.so'` @@ -16,8 +16,8 @@ # # have the ld.so symlink as the interpreter. Ideally mklibs should # === modified file 'build/config/armhf.cfg' ---- a/build/config/armhf.cfg 2012-04-11 08:52:18 +0000 -+++ b/build/config/armhf.cfg 2012-04-18 05:24:59 +0000 +--- build/config/armhf.cfg 2012-04-11 08:52:18 +0000 ++++ build/config/armhf.cfg 2012-04-18 05:24:59 +0000 @@ -1,5 +1,7 @@ SUBARCH_SUPPORTED = omap omap4 armadaxp @@ -28,8 +28,8 @@ KERNEL_FLAVOUR = di #=== modified file 'debian/changelog' -#--- a/debian/changelog 2012-04-13 13:14:35 +0000 -#+++ b/debian/changelog 2012-04-18 05:24:59 +0000 +#--- debian/changelog 2012-04-13 13:14:35 +0000 +#+++ debian/changelog 2012-04-18 05:24:59 +0000 #@@ -1,3 +1,12 @@ #+debian-installer (20101020ubuntu134) precise; urgency=low #+ diff --git a/helpers/DATA/debian-installer/di_focal/2057_2056.diff b/helpers/DATA/debian-installer/di_focal/2057_2056.diff index 3bbb2d0..9e81bc2 100644 --- a/helpers/DATA/debian-installer/di_focal/2057_2056.diff +++ b/helpers/DATA/debian-installer/di_focal/2057_2056.diff @@ -1,6 +1,6 @@ === modified file 'build/Makefile' ---- a/build/Makefile 2015-01-22 12:10:03 +0000 -+++ b/build/Makefile 2015-03-17 21:09:21 +0000 +--- build/Makefile 2015-01-22 12:10:03 +0000 ++++ build/Makefile 2015-03-17 21:09:21 +0000 @@ -414,6 +414,14 @@ # These files are used to build special kernel images for some @@ -46,8 +46,8 @@ # install -m 644 -D $(TEMP_BOOT)$(GZIPPED) $@ #=== added file 'build/boot/README.device-tree' -#--- a/build/boot/README.device-tree 1970-01-01 00:00:00 +0000 -#+++ b/build/boot/README.device-tree 2015-02-13 23:50:29 +0000 +#--- build/boot/README.device-tree 1970-01-01 00:00:00 +0000 +#+++ build/boot/README.device-tree 2015-02-13 23:50:29 +0000 #@@ -0,0 +1,2 @@ #+This directory contains all of the device-tree files shipped by the Ubuntu #+kernel package. @@ -63,8 +63,8 @@ #+ #=== modified file 'build/config/arm64.cfg' -#--- a/build/config/arm64.cfg 2015-05-09 07:52:07 +0000 -#+++ b/build/config/arm64.cfg 2015-05-12 16:01:14 +0000 +#--- build/config/arm64.cfg 2015-05-09 07:52:07 +0000 +#+++ build/config/arm64.cfg 2015-05-12 16:01:14 +0000 #@@ -1,14 +1,98 @@ #-SUBARCH_SUPPORTED = generic #- @@ -173,16 +173,16 @@ === added directory 'build/config/arm64/cdrom' === added file 'build/config/arm64/cdrom.cfg' -#--- a/build/config/arm64/cdrom.cfg 1970-01-01 00:00:00 +0000 -#+++ b/build/config/arm64/cdrom.cfg 2015-02-24 05:14:26 +0000 +#--- build/config/arm64/cdrom.cfg 1970-01-01 00:00:00 +0000 +#+++ build/config/arm64/cdrom.cfg 2015-02-24 05:14:26 +0000 #@@ -0,0 +1,3 @@ #+FLAVOUR_SUPPORTED = grub #+ #+MEDIA_TYPE = CD-ROM === added file 'build/config/arm64/cdrom/grub.cfg' -#--- a/build/config/arm64/cdrom/grub.cfg 1970-01-01 00:00:00 +0000 -#+++ b/build/config/arm64/cdrom/grub.cfg 2015-02-24 05:14:26 +0000 +#--- build/config/arm64/cdrom/grub.cfg 1970-01-01 00:00:00 +0000 +#+++ build/config/arm64/cdrom/grub.cfg 2015-02-24 05:14:26 +0000 #@@ -0,0 +1,8 @@ #+MEDIA_TYPE = CD-ROM #+TARGET = $(INITRD) $(KERNEL) $(DEBIAN_CD_INFO) @@ -194,8 +194,8 @@ #+TYPE = cdrom/grub #=== added file 'build/config/arm64/device-tree.cfg' -#--- a/build/config/arm64/device-tree.cfg 1970-01-01 00:00:00 +0000 -#+++ b/build/config/arm64/device-tree.cfg 2015-02-13 23:51:06 +0000 +#--- build/config/arm64/device-tree.cfg 1970-01-01 00:00:00 +0000 +#+++ build/config/arm64/device-tree.cfg 2015-02-13 23:51:06 +0000 #@@ -0,0 +1,4 @@ #+MEDIA_TYPE = device-tree blobs #+ @@ -203,8 +203,8 @@ #+EXTRANAME = $(MEDIUM)/ #=== removed file 'build/config/arm64/generic.cfg' -#--- a/build/config/arm64/generic.cfg 2014-01-27 14:09:42 +0000 -#+++ b/build/config/arm64/generic.cfg 1970-01-01 00:00:00 +0000 +#--- build/config/arm64/generic.cfg 2014-01-27 14:09:42 +0000 +#+++ build/config/arm64/generic.cfg 1970-01-01 00:00:00 +0000 #@@ -1,7 +0,0 @@ #-MEDIUM_SUPPORTED = netboot #- @@ -215,8 +215,8 @@ #-VERSIONED_SYSTEM_MAP = #=== removed file 'build/config/arm64/generic/netboot.cfg' -#--- a/build/config/arm64/generic/netboot.cfg 2015-02-27 10:58:49 +0000 -#+++ b/build/config/arm64/generic/netboot.cfg 1970-01-01 00:00:00 +0000 +#--- build/config/arm64/generic/netboot.cfg 2015-02-27 10:58:49 +0000 +#+++ build/config/arm64/generic/netboot.cfg 1970-01-01 00:00:00 +0000 #@@ -1,33 +0,0 @@ #-MEDIA_TYPE = netboot image #-TARGET = $(TEMP_INITRD) $(TEMP_KERNEL) all-generic @@ -253,8 +253,8 @@ #-all-generic: generic xgene === added file 'build/config/arm64/netboot.cfg' -#--- a/build/config/arm64/netboot.cfg 1970-01-01 00:00:00 +0000 -#+++ b/build/config/arm64/netboot.cfg 2015-02-24 05:45:09 +0000 +#--- build/config/arm64/netboot.cfg 1970-01-01 00:00:00 +0000 +#+++ build/config/arm64/netboot.cfg 2015-02-24 05:45:09 +0000 #@@ -0,0 +1,37 @@ #+MEDIA_TYPE = netboot image #+ @@ -295,8 +295,8 @@ #+ mkimage -A arm -O linux -T ramdisk -C none -a 0x0 -e 0x0 -n "debian-installer ramdisk" -d $(TEMP_INITRD) $(XU_INSTALL_PATH)/uInitrd #=== modified file 'build/config/dir' -#--- a/build/config/dir 2010-08-25 22:06:28 +0000 -#+++ b/build/config/dir 2015-02-13 23:50:29 +0000 +#--- build/config/dir 2010-08-25 22:06:28 +0000 +#+++ build/config/dir 2015-02-13 23:50:29 +0000 #@@ -62,6 +62,7 @@ # # The files we may want to have in dest/ # INITRD = $(SOME_DEST)/$(EXTRANAME)initrd.gz @@ -315,8 +315,8 @@ # TEMP_MINIISO = $(TEMP)/mini.iso #=== added file 'build/pkg-lists/cdrom/arm64.cfg' -#--- a/build/pkg-lists/cdrom/arm64.cfg 1970-01-01 00:00:00 +0000 -#+++ b/build/pkg-lists/cdrom/arm64.cfg 2015-02-24 05:14:26 +0000 +#--- build/pkg-lists/cdrom/arm64.cfg 1970-01-01 00:00:00 +0000 +#+++ build/pkg-lists/cdrom/arm64.cfg 2015-02-24 05:14:26 +0000 #@@ -0,0 +1,11 @@ #+fat-modules-${kernel:Version} #+storage-core-modules-${kernel:Version} @@ -332,15 +332,15 @@ #=== added directory 'build/pkg-lists/cdrom/grub' #=== added file 'build/pkg-lists/cdrom/grub/arm64.cfg' -#--- a/build/pkg-lists/cdrom/grub/arm64.cfg 1970-01-01 00:00:00 +0000 -#+++ b/build/pkg-lists/cdrom/grub/arm64.cfg 2015-02-24 05:14:26 +0000 +#--- build/pkg-lists/cdrom/grub/arm64.cfg 1970-01-01 00:00:00 +0000 +#+++ build/pkg-lists/cdrom/grub/arm64.cfg 2015-02-24 05:14:26 +0000 #@@ -0,0 +1,2 @@ #+# This image is based on the regular cdrom image, and gets all the packages #+# from that one too. #=== added file 'build/pkg-lists/cdrom/grub/common' -#--- a/build/pkg-lists/cdrom/grub/common 1970-01-01 00:00:00 +0000 -#+++ b/build/pkg-lists/cdrom/grub/common 2015-03-17 21:09:21 +0000 +#--- build/pkg-lists/cdrom/grub/common 1970-01-01 00:00:00 +0000 +#+++ build/pkg-lists/cdrom/grub/common 2015-03-17 21:09:21 +0000 #@@ -0,0 +1,3 @@ #+# This image is based on the regular cdrom image, and gets all the packages #+# from that one too. @@ -348,20 +348,20 @@ === added directory 'build/pkg-lists/device-tree' #=== added file 'build/pkg-lists/device-tree/arm64.cfg' -#--- a/build/pkg-lists/device-tree/arm64.cfg 1970-01-01 00:00:00 +0000 -#+++ b/build/pkg-lists/device-tree/arm64.cfg 2015-02-13 23:51:06 +0000 +#--- build/pkg-lists/device-tree/arm64.cfg 1970-01-01 00:00:00 +0000 +#+++ build/pkg-lists/device-tree/arm64.cfg 2015-02-13 23:51:06 +0000 #@@ -0,0 +1,1 @@ #+# Empty === added file 'build/pkg-lists/device-tree/common' -#--- a/build/pkg-lists/device-tree/common 1970-01-01 00:00:00 +0000 -#+++ b/build/pkg-lists/device-tree/common 2015-02-13 23:50:29 +0000 +#--- build/pkg-lists/device-tree/common 1970-01-01 00:00:00 +0000 +#+++ build/pkg-lists/device-tree/common 2015-02-13 23:50:29 +0000 #@@ -0,0 +1,1 @@ #+#include "kernel" #=== modified file 'build/util/efi-image' -#--- a/build/util/efi-image 2012-10-15 20:03:40 +0000 -#+++ b/build/util/efi-image 2015-02-24 04:58:57 +0000 +#--- build/util/efi-image 2012-10-15 20:03:40 +0000 +#+++ build/util/efi-image 2015-02-24 04:58:57 +0000 #@@ -22,13 +22,14 @@ # # it exists. # @@ -392,8 +392,8 @@ # size=$(( $(stat -c %s "$workdir/boot$efi_name.efi") / 1024 )) #=== added file 'build/util/grub-gencfg' -#--- a/build/util/grub-gencfg 1970-01-01 00:00:00 +0000 -#+++ b/build/util/grub-gencfg 2015-03-23 23:27:39 +0000 +#--- build/util/grub-gencfg 1970-01-01 00:00:00 +0000 +#+++ build/util/grub-gencfg 2015-03-23 23:27:39 +0000 #@@ -0,0 +1,210 @@ #+#!/usr/bin/perl #+ @@ -607,8 +607,8 @@ #+menuentry('Install with speech synthesis', Graphical => $graphical, Speach => 1); #=== modified file 'debian/changelog' -#--- a/debian/changelog 2015-05-09 07:52:07 +0000 -#+++ b/debian/changelog 2015-05-14 14:24:09 +0000 +#--- debian/changelog 2015-05-09 07:52:07 +0000 +#+++ debian/changelog 2015-05-14 14:24:09 +0000 #@@ -1,3 +1,25 @@ #+debian-installer (20101020ubuntu379) UNRELEASED; urgency=medium #+ @@ -637,8 +637,8 @@ # * Move master kernels to 3.19.0-17. #=== modified file 'debian/control' -#--- a/debian/control 2014-10-30 08:19:25 +0000 -#+++ b/debian/control 2015-04-03 21:16:40 +0000 +#--- debian/control 2014-10-30 08:19:25 +0000 +#+++ debian/control 2015-04-03 21:16:40 +0000 #@@ -9,7 +9,7 @@ # Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/debian-installer/ubuntu # Build-Conflicts: libnewt-pic [mipsel] diff --git a/helpers/DATA/debian-installer/di_focal/2144_2143.diff b/helpers/DATA/debian-installer/di_focal/2144_2143.diff index 5bc9f23..3ce1be3 100644 --- a/helpers/DATA/debian-installer/di_focal/2144_2143.diff +++ b/helpers/DATA/debian-installer/di_focal/2144_2143.diff @@ -1,6 +1,6 @@ === modified file 'build/Makefile' -#--- a/build/Makefile 2015-12-09 17:32:28 +0000 -#+++ b/build/Makefile 2016-04-16 19:45:21 +0000 +#--- build/Makefile 2015-12-09 17:32:28 +0000 +#+++ build/Makefile 2016-04-16 19:45:21 +0000 #@@ -525,12 +525,6 @@ # `find $(TEMP) -type f -a \( -perm /0111 -o -name '*.so' -o -name '*.so.*' \) | \ # grep -v udeblibs | grep -v 'usr/lib/xorg/modules/.*\.so'` @@ -16,8 +16,8 @@ # # have the ld.so symlink as the interpreter. Ideally mklibs should # #=== modified file 'build/config/amd64.cfg' -#--- a/build/config/amd64.cfg 2016-04-08 14:58:47 +0000 -#+++ b/build/config/amd64.cfg 2016-04-16 19:45:21 +0000 +#--- build/config/amd64.cfg 2016-04-08 14:58:47 +0000 +#+++ build/config/amd64.cfg 2016-04-16 19:45:21 +0000 #@@ -1,8 +1,6 @@ # MEDIUM_SUPPORTED = cdrom cdrom-xen netboot netboot-xen hd-media # netboot-gtk # MEDIUM_SUPPORTED_EXTRA = monolithic @@ -29,8 +29,8 @@ # KERNELVERSION = $(BASEVERSION)-generic #=== modified file 'build/config/amd64/netboot.cfg' -#--- a/build/config/amd64/netboot.cfg 2016-03-27 03:15:58 +0000 -#+++ b/build/config/amd64/netboot.cfg 2016-04-16 19:45:21 +0000 +#--- build/config/amd64/netboot.cfg 2016-03-27 03:15:58 +0000 +#+++ build/config/amd64/netboot.cfg 2016-04-16 19:45:21 +0000 #@@ -1,7 +1,7 @@ # MEDIA_TYPE = netboot image # @@ -42,8 +42,8 @@ === modified file 'build/config/armhf.cfg' ---- a/build/config/armhf.cfg 2016-04-08 14:58:47 +0000 -+++ b/build/config/armhf.cfg 2016-04-16 19:45:21 +0000 +--- build/config/armhf.cfg 2016-04-08 14:58:47 +0000 ++++ build/config/armhf.cfg 2016-04-16 19:45:21 +0000 @@ -1,6 +1,6 @@ SUBARCH_SUPPORTED = generic-lpae generic @@ -54,8 +54,8 @@ KERNELVERSION = 4.4.0-18 #=== modified file 'build/config/common' -#--- a/build/config/common 2015-11-12 19:14:48 +0000 -#+++ b/build/config/common 2016-04-16 19:45:21 +0000 +#--- build/config/common 2015-11-12 19:14:48 +0000 +#+++ build/config/common 2016-04-16 19:45:21 +0000 #@@ -24,7 +24,7 @@ # # # The library reducer to use. Set to mklibs (to build with library reduction) @@ -67,8 +67,8 @@ # # "normal" sources.list. However, you can specify a mirror here to override #=== modified file 'build/config/i386/netboot.cfg' -#--- a/build/config/i386/netboot.cfg 2016-03-22 04:37:29 +0000 -#+++ b/build/config/i386/netboot.cfg 2016-04-16 19:45:21 +0000 +#--- build/config/i386/netboot.cfg 2016-03-22 04:37:29 +0000 +#+++ build/config/i386/netboot.cfg 2016-04-16 19:45:21 +0000 #@@ -3,7 +3,7 @@ # MEDIA_TYPE = netboot image # @@ -80,8 +80,8 @@ #=== modified file 'build/config/powerpc/powerpc/netboot.cfg' -#--- a/build/config/powerpc/powerpc/netboot.cfg 2016-03-22 05:15:29 +0000 -#+++ b/build/config/powerpc/powerpc/netboot.cfg 2016-04-16 19:45:21 +0000 +#--- build/config/powerpc/powerpc/netboot.cfg 2016-03-22 05:15:29 +0000 +#+++ build/config/powerpc/powerpc/netboot.cfg 2016-04-16 19:45:21 +0000 #@@ -1,7 +1,7 @@ # MEDIA_TYPE = netboot image # @@ -93,8 +93,8 @@ #=== modified file 'build/config/ppc64el.cfg' -#--- a/build/config/ppc64el.cfg 2016-04-08 14:58:47 +0000 -#+++ b/build/config/ppc64el.cfg 2016-04-16 19:45:21 +0000 +#--- build/config/ppc64el.cfg 2016-04-08 14:58:47 +0000 +#+++ build/config/ppc64el.cfg 2016-04-16 19:45:21 +0000 #@@ -1,7 +1,5 @@ # MEDIUM_SUPPORTED = netboot cdrom # @@ -105,8 +105,8 @@ # KERNELVERSION = $(BASEVERSION)-generic #=== modified file 'build/pkg-lists/base' -#--- a/build/pkg-lists/base 2015-09-22 18:31:39 +0000 -#+++ b/build/pkg-lists/base 2016-04-16 19:45:21 +0000 +#--- build/pkg-lists/base 2015-09-22 18:31:39 +0000 +#+++ build/pkg-lists/base 2016-04-16 19:45:21 +0000 #@@ -10,7 +10,6 @@ # di-utils-shell # libdebconfclient0-udeb @@ -117,8 +117,8 @@ # main-menu #=== modified file 'build/pkg-lists/exclude' -#--- a/build/pkg-lists/exclude 2010-05-24 15:01:07 +0000 -#+++ b/build/pkg-lists/exclude 2016-04-16 19:45:21 +0000 +#--- build/pkg-lists/exclude 2010-05-24 15:01:07 +0000 +#+++ build/pkg-lists/exclude 2016-04-16 19:45:21 +0000 #@@ -2,15 +2,6 @@ # # they are currently provided not in udeb form but by the library # # reduction step. @@ -137,8 +137,8 @@ # # and newt #=== modified file 'build/pkg-lists/gtk-common' -#--- a/build/pkg-lists/gtk-common 2015-05-14 17:55:41 +0000 -#+++ b/build/pkg-lists/gtk-common 2016-04-16 19:45:21 +0000 +#--- build/pkg-lists/gtk-common 2015-05-14 17:55:41 +0000 +#+++ build/pkg-lists/gtk-common 2016-04-16 19:45:21 +0000 #@@ -1,5 +1,4 @@ # # udebs needed for graphical installer #-libnss-files-udeb @@ -147,8 +147,8 @@ # cdebconf-gtk-terminal #=== modified file 'build/pkg-lists/network-console' -#--- a/build/pkg-lists/network-console 2004-06-29 08:17:34 +0000 -#+++ b/build/pkg-lists/network-console 2016-04-16 19:45:21 +0000 +#--- build/pkg-lists/network-console 2004-06-29 08:17:34 +0000 +#+++ build/pkg-lists/network-console 2016-04-16 19:45:21 +0000 #@@ -1,4 +1,3 @@ # openssh-server-udeb #-libnss-files-udeb @@ -156,8 +156,8 @@ #=== modified file 'debian/changelog' -#--- a/debian/changelog 2016-04-13 12:07:03 +0000 -#+++ b/debian/changelog 2016-04-16 19:45:21 +0000 +#--- debian/changelog 2016-04-13 12:07:03 +0000 +#+++ debian/changelog 2016-04-16 19:45:21 +0000 #@@ -1,3 +1,16 @@ #+debian-installer (20101020ubuntu448) xenial; urgency=medium #+ @@ -177,8 +177,8 @@ # * Rebuild with updated udebs for s390x. === modified file 'debian/control' -#--- a/debian/control 2016-02-19 17:00:28 +0000 -#+++ b/debian/control 2016-04-16 19:45:21 +0000 +#--- debian/control 2016-02-19 17:00:28 +0000 +#+++ debian/control 2016-04-16 19:45:21 +0000 #@@ -9,7 +9,7 @@ # Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/debian-installer/ubuntu # Build-Conflicts: libnewt-pic [mipsel] @@ -207,8 +207,8 @@ # # - genisoimage (>= 9:1.1.10-1ubuntu2) [!s390 !s390x] # # For making mini isos. ##Ark74's fix ---- a/debian/control 2023-05-10 08:36:56.311243556 -0600 -+++ b/debian/control 2023-05-10 12:00:07.617639516 -0600 +--- debian/control 2023-05-10 08:36:56.311243556 -0600 ++++ debian/control 2023-05-10 12:00:07.617639516 -0600 @@ -45,6 +45,7 @@ # them. # Lintian: Yes, we know it's essential. We prefer not to diff --git a/helpers/DATA/debian-installer/di_focal/2273_2272.diff b/helpers/DATA/debian-installer/di_focal/2273_2272.diff index 9cc5b24..5012ced 100644 --- a/helpers/DATA/debian-installer/di_focal/2273_2272.diff +++ b/helpers/DATA/debian-installer/di_focal/2273_2272.diff @@ -1,6 +1,6 @@ === modified file 'build/Makefile' ---- a/build/Makefile 2018-02-15 11:44:41 +0000 -+++ b/build/Makefile 2018-07-22 10:55:51 +0000 +--- build/Makefile 2018-02-15 11:44:41 +0000 ++++ build/Makefile 2018-07-22 10:55:51 +0000 @@ -782,6 +782,8 @@ update-manifest $@ $(MANIFEST-BOOT) $(UDEB_LISTS) @@ -12,8 +12,8 @@ #=== modified file 'debian/changelog' -#--- a/debian/changelog 2018-06-14 10:36:23 +0000 -#+++ b/debian/changelog 2018-07-22 10:55:51 +0000 +#--- debian/changelog 2018-06-14 10:36:23 +0000 +#+++ debian/changelog 2018-07-22 10:55:51 +0000 #@@ -1,3 +1,9 @@ #+debian-installer (20101020ubuntu547) UNRELEASED; urgency=medium #+ diff --git a/helpers/DATA/debian-installer/003_medium_supported.patch b/helpers/DATA/debian-installer/medium_supported.patch similarity index 99% rename from helpers/DATA/debian-installer/003_medium_supported.patch rename to helpers/DATA/debian-installer/medium_supported.patch index 8393a24..735a84a 100644 --- a/helpers/DATA/debian-installer/003_medium_supported.patch +++ b/helpers/DATA/debian-installer/medium_supported.patch @@ -11,7 +11,7 @@ diff -Nru debian-installer-20210731+deb11u8+11.0trisquel13/build/config/arm64.cf --- debian-installer-20210731+deb11u8+11.0trisquel13/build/config/arm64.cfg 2023-05-12 13:48:56.073639701 -0600 +++ debian-installer-20210731+deb11u8+11.0trisquel13_/build/config/arm64.cfg 2023-05-12 14:00:45.351718688 -0600 @@ -1,4 +1,4 @@ --MEDIUM_SUPPORTED = cdrom netboot netboot-gtk device-tree u-boot hd-media +-MEDIUM_SUPPORTED = cdrom netboot netboot-gtk device-tree u-boot +MEDIUM_SUPPORTED = cdrom netboot device-tree u-boot KERNELMAJOR = 2.6 diff --git a/helpers/DATA/debian-installer/patch_changes/007-remove_graphical_options_from_netinstall.patch b/helpers/DATA/debian-installer/patch_changes/007-remove_graphical_options_from_netinstall.patch deleted file mode 100644 index 895e9a1..0000000 --- a/helpers/DATA/debian-installer/patch_changes/007-remove_graphical_options_from_netinstall.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff --git a/build/util/grub-gencfg b/build/util/grub-gencfg -index 6b38cd88..f5df37a5 100755 ---- a/build/util/grub-gencfg -+++ b/build/util/grub-gencfg -@@ -208,54 +208,18 @@ menuentry("Install"); - menuentry("Graphical install", Graphical => 1); - - start_submenu("Advanced options ...", Hotkey => 'a'); { -- menuentry("... Graphical expert install", Graphical => 1, Expert => 1); -- menuentry("... Graphical rescue mode", Graphical => 1, Rescue => 1); -- menuentry("... Graphical automated install", Graphical => 1, Auto => 1); - menuentry("... Expert install", Expert => 1); - menuentry("... Rescue mode", Rescue => 1); - menuentry("... Automated install", Auto => 1); - menuentry("... Expert install with speech synthesis", Expert => 1, Speech => 1, Hotkey => 'x'); - menuentry("... Rescue mode with speech synthesis", Rescue => 1, Speech => 1, Hotkey => 'r'); - menuentry("... Automated install with speech synthesis", Auto => 1, Speech => 1, Hotkey => 'a'); -- -- start_submenu("... Desktop environment menu ..."); { -- -- foreach ( ["GNOME", "gnome"], ["KDE Plasma", "kde"], ["LXDE", "lxde"] ) { -- my ($desktop,$opt) = @{$_}; -- -- my $one = sub { my ($title, %xargs) = @_; -- $xargs{Desktop} = $opt; -- menuentry($title, %xargs); -- }; -- start_submenu("... $desktop desktop boot menu ..."); { -- $one->("... Install"); -- $one->("... Graphical install", Graphical => 1); -- -- start_submenu("... $desktop advanced options ..."); { -- $one->("... Graphical expert install", Graphical => 1, Expert => 1); -- $one->("... Graphical automated install", Graphical => 1, Auto => 1); -- $one->("... Expert install", Expert => 1); -- $one->("... Automated install", Auto => 1); -- $one->("... Expert install with speech synthesis", Expert => 1, Speech => 1, Hotkey => 'x'); -- $one->("... Automated install with speech synthesis", Auto => 1, Speech => 1, Hotkey => 'a'); -- } end_submenu(); # $desktop advanced -- -- $one->("... Install with speech synthesis", Graphical => 1, Speech => 1, Hotkey => 's'); -- $one->("... 32 bit speech install", ThirtyTwo => 1, Graphical => 1, Speech => 1) -- if $thirtytwo; -- } end_submenu(); # $desktop submenu -- } # Desktop loop -- } end_submenu(); # Desktop submenu - } end_submenu(); # Advanced - - start_submenu("Accessible dark contrast installer menu ...", Hotkey => 'd', Dark => 1); { - menuentry("... Install", Dark => 1); -- menuentry("... Graphical install", Graphical => 1, Dark => 1); - - start_submenu("... Advanced options ...", Hotkey => 'a', Dark => 1); { -- menuentry("... Graphical expert install", Graphical => 1, Expert => 1, Dark => 1); -- menuentry("... Graphical rescue mode", Graphical => 1, Rescue => 1, Dark => 1); -- menuentry("... Graphical automated install", Graphical => 1, Auto => 1, Dark => 1); - menuentry("... Expert install", Expert => 1, Dark => 1); - menuentry("... Rescue mode", Rescue => 1, Dark => 1); - menuentry("... Automated install", Auto => 1, Dark => 1); diff --git a/helpers/DATA/debian-installer/patch_changes/008-re-enable_dpkg_force-overwrite.patch b/helpers/DATA/debian-installer/patch_changes/008-re-enable_dpkg_force-overwrite.patch deleted file mode 100644 index 872c735..0000000 --- a/helpers/DATA/debian-installer/patch_changes/008-re-enable_dpkg_force-overwrite.patch +++ /dev/null @@ -1,16 +0,0 @@ -We'll remove the force-overwrite flag once we conclude the riscv rework on the kernel and new arch implementation. --- ark74 - Mon, 07 Jul 2025 23:27:26 -0600 - -diff --git a/build/config/common b/build/config/common -index 6e58ca8f..5953b26f 100644 ---- a/build/config/common -+++ b/build/config/common -@@ -41,7 +41,7 @@ PRESEED = - # Options to pass to dpkg when it is unpacking the udebs to create the - # image. None should be needed, but --force-overwrite might need to be - # enabled from time to time if udebs have conflicting files. --DPKG_UNPACK_OPTIONS = -+DPKG_UNPACK_OPTIONS = --force-overwrite - - # The codename of the Trisquel release that should be installed by default. - TRISQUEL_RELEASE = ecne diff --git a/helpers/DATA/debian-installer/remove-proposed-updates.patch b/helpers/DATA/debian-installer/remove-proposed-updates.patch new file mode 100644 index 0000000..b6a8b96 --- /dev/null +++ b/helpers/DATA/debian-installer/remove-proposed-updates.patch @@ -0,0 +1,62 @@ +diff -Nru source/build/Makefile source_no_proposed/build/Makefile +--- source/build/Makefile 2022-10-20 08:22:18.334230755 -0500 ++++ source_no_proposed/build/Makefile 2022-10-20 08:25:19.346634640 -0500 +@@ -636,7 +636,7 @@ + echo "deb $(MIRROR) unreleased $(UDEB_COMPONENTS)"; \ + fi \ + else \ +- gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" $(USE_UDEBS_FROM) $(UDEB_COMPONENTS) $(USE_PROPOSED_UPDATES); \ ++ gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" $(USE_UDEBS_FROM) $(UDEB_COMPONENTS); \ + if [ "$(USE_UNRELEASED)" = 1 ]; then \ + gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" unreleased $(UDEB_COMPONENTS); \ + fi \ +@@ -648,10 +648,6 @@ + echo "Using generated $@:"; \ + sed -n "/^[^#]/ s/^/ /p" $@; \ + fi +- @if [ "$(USE_PROPOSED_UPDATES)" = 1 ] && ! grep -q proposed-updates $@; then \ +- echo "ERROR: no valid source for $(USE_UDEBS_FROM)-proposed-updates"; \ +- exit 1; \ +- fi + + # Font generation. + # +diff -Nru source/build/util/gen-sources.list.udeb source_no_proposed/build/util/gen-sources.list.udeb +--- source/build/util/gen-sources.list.udeb 2022-09-06 15:55:12.000000000 -0500 ++++ source_no_proposed/build/util/gen-sources.list.udeb 2022-10-20 08:26:32.538801725 -0500 +@@ -8,7 +8,6 @@ + SOURCES_LIST=$1 + SUITE=$2 + UDEB_COMPONENTS=$3 +-USE_PROPOSED_UPDATES=$4 # optional + + # Set to 1 or 2 to see increasing debug info about mirror tests + # Use 0 for quiet (normal) operation +@@ -84,16 +83,8 @@ + else + echo "WARNING: mirror '$tmirror' appears to be invalid; skipping" >&2 + fi +- if [ "$USE_PROPOSED_UPDATES" = 1 ] && +- test_url $tmirror/dists/$SUITE-proposed-updates/Release; then +- echo "$mirror $SUITE-proposed-updates $UDEB_COMPONENTS" +- echo "INFO: using '$tmirror' for $SUITE-proposed-updates" >&2 +- fi + else + echo "$mirror $SUITE $UDEB_COMPONENTS" +- if [ "$USE_PROPOSED_UPDATES" = 1 ]; then +- echo "$mirror $SUITE-proposed-updates $UDEB_COMPONENTS" +- fi + fi + + done | perl -ne 'print unless $seen{$_}; $seen{$_}=1' +diff -Nru source/debian/rules source_no_proposed/debian/rules +--- source/debian/rules 2022-10-20 08:22:18.318230720 -0500 ++++ source_no_proposed/debian/rules 2022-10-20 08:26:53.702850378 -0500 +@@ -13,7 +13,6 @@ + BOOTMENU_BEEP=n + else + USE_UDEBS_FROM=aramo +-USE_PROPOSED_UPDATES=1 + TRANSSTATUS=translation-status + BOOTMENU_BEEP=y + endif diff --git a/helpers/DATA/depthcharge-tools/patch_changes/001_prevent-error-when-using-versionless-vmlinuz-in-netinstall.patch b/helpers/DATA/depthcharge-tools/patch_changes/001_prevent-error-when-using-versionless-vmlinuz-in-netinstall.patch deleted file mode 100644 index 56492c6..0000000 --- a/helpers/DATA/depthcharge-tools/patch_changes/001_prevent-error-when-using-versionless-vmlinuz-in-netinstall.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/depthcharge_tools/depthchargectl/_build.py b/depthcharge_tools/depthchargectl/_build.py -index a605b83c..746e8a51 100644 ---- a/depthcharge_tools/depthchargectl/_build.py -+++ b/depthcharge_tools/depthchargectl/_build.py -@@ -157,11 +157,12 @@ class depthchargectl_build( - @Argument("--kernel-release", nargs=1) - def kernel_release(self, name=None): - """Release name for the kernel used in image name""" -- if name is None and self.kernel_version is not None: -- if self.kernel == self.kernel_version.kernel: -- name = self.kernel_version.release -- -- return name -+ # Trisquel customization: skip autodetection and honor empty values. -+ if name is not None: -+ return name -+ if self.kernel_version is not None and self.kernel == self.kernel_version.kernel: -+ return self.kernel_version.release -+ return "" - - @custom_kernel_options.add - @Argument("--kernel", nargs=1) -diff --git a/depthcharge_tools/depthchargectl/_build.py b/depthcharge_tools/depthchargectl/_build.py -index 746e8a51..45e0c02c 100644 ---- a/depthcharge_tools/depthchargectl/_build.py -+++ b/depthcharge_tools/depthchargectl/_build.py -@@ -82,6 +82,12 @@ class depthchargectl_build( - @Argument - def kernel_version(self, kernel_version=None): - """Installed kernel version to build an image for.""" -+ -+ # Trisquel customization: If --kernel is set but --kernel-version is -+ # not, skip autodetection and return None early -+ if kernel_version is None and self.kernel is not None: -+ return None -+ - if isinstance(kernel_version, KernelEntry): - return kernel_version - diff --git a/helpers/DATA/dia/patch_changes/000-apply_current_dia_mr_114.patch b/helpers/DATA/dia/patch_changes/000-apply_current_dia_mr_114.patch deleted file mode 100644 index 80b30cf..0000000 --- a/helpers/DATA/dia/patch_changes/000-apply_current_dia_mr_114.patch +++ /dev/null @@ -1,1324 +0,0 @@ -From 6d7a3b627566ff2201292a45ed35a5ab3e425c13 Mon Sep 17 00:00:00 2001 -From: Duncan McIntosh -Date: Sun, 15 Oct 2023 22:26:17 -0400 -Subject: [PATCH 1/4] objects: disable Tab in multi-line entry widgets - -This becomes a 'black hole' for focus, making it hard to navigate by -keyboard. This is both annoying, and also an accessibility problem. ---- - lib/prop_text.c | 1 + - objects/UML/class_attributes_dialog.c | 1 + - objects/UML/class_dialog.c | 1 + - objects/UML/class_operations_dialog.c | 2 ++ - 4 files changed, 5 insertions(+) - -diff --git a/lib/prop_text.c b/lib/prop_text.c -index 4ff98f60d..8e1e9fcf7 100644 ---- a/lib/prop_text.c -+++ b/lib/prop_text.c -@@ -125,6 +125,7 @@ multistringprop_get_widget(StringProperty *prop, PropDialog *dialog) - GtkWidget *ret = gtk_text_view_new(); - GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(ret)); - GtkWidget *frame = gtk_frame_new(NULL); -+ gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (ret), FALSE); - gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); - gtk_container_add(GTK_CONTAINER(frame), ret); - g_signal_connect(G_OBJECT(ret), "key-release-event", -diff --git a/objects/UML/class_attributes_dialog.c b/objects/UML/class_attributes_dialog.c -index 2722a2a03..085624e31 100644 ---- a/objects/UML/class_attributes_dialog.c -+++ b/objects/UML/class_attributes_dialog.c -@@ -729,6 +729,7 @@ _attributes_create_page (GtkNotebook *notebook, UMLClass *umlclass) - gtk_container_add (GTK_CONTAINER (scrolledwindow), entry); - gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (entry), GTK_WRAP_WORD); - gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (entry), TRUE); -+ gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (entry), FALSE); - gtk_widget_show (entry); - #if 0 /* while the GtkEntry has a "activate" signal, GtkTextView does not. - * Maybe we should connect to "set-focus-child" instead? -diff --git a/objects/UML/class_dialog.c b/objects/UML/class_dialog.c -index 8867ae9ac..163cc2949 100644 ---- a/objects/UML/class_dialog.c -+++ b/objects/UML/class_dialog.c -@@ -382,6 +382,7 @@ class_create_page(GtkNotebook *notebook, UMLClass *umlclass) - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow), - GTK_SHADOW_IN); - entry = gtk_text_view_new (); -+ gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (entry), FALSE); - prop_dialog->comment = GTK_TEXT_VIEW(entry); - gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (entry), GTK_WRAP_WORD); - -diff --git a/objects/UML/class_operations_dialog.c b/objects/UML/class_operations_dialog.c -index a530337a9..936a8b575 100644 ---- a/objects/UML/class_operations_dialog.c -+++ b/objects/UML/class_operations_dialog.c -@@ -982,6 +982,7 @@ operations_data_create_hbox (UMLClass *umlclass) - gtk_container_add (GTK_CONTAINER (scrolledwindow), entry); - gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (entry), GTK_WRAP_WORD); - gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (entry),TRUE); -+ gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (entry), FALSE); - - - gtk_grid_attach (GTK_GRID (grid), label, 4, 0, 1, 1); -@@ -1340,6 +1341,7 @@ operations_parameters_data_create_vbox (UMLClass *umlclass) - gtk_container_add (GTK_CONTAINER (scrolledwindow), entry); - gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (entry), GTK_WRAP_WORD); - gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (entry),TRUE); -+ gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (entry), FALSE); - - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_grid_attach (GTK_GRID (grid), label, 2, 1, 1, 1); --- -GitLab - - -From b5dc904ed58ea026898fbc7bf6940de97a6e4e15 Mon Sep 17 00:00:00 2001 -From: Duncan McIntosh -Date: Mon, 16 Oct 2023 15:34:23 -0400 -Subject: [PATCH 2/4] font: don't store the height internally - -We now solely rely on the PangoFontDescription, which is more flexible and -less prone to mistakes. ---- - lib/font.c | 85 ++++++++++++++++++++++---------------------------- - lib/font.h | 2 ++ - lib/libdia.def | 1 + - 3 files changed, 41 insertions(+), 47 deletions(-) - -diff --git a/lib/font.c b/lib/font.c -index 1a321c462..6dec80bb1 100644 ---- a/lib/font.c -+++ b/lib/font.c -@@ -39,6 +39,7 @@ - #include "font.h" - #include "message.h" - #include "textline.h" -+#include "units.h" - - static PangoContext *pango_context = NULL; - -@@ -53,13 +54,6 @@ struct _DiaFont { - PangoFontDescription *pfd; - /* mutable */ char *legacy_name; - -- /* there is a difference between Pango's font size and Dia's font height */ -- /* Calculated font_size is to make 'font_height = ascent + descent */ -- /* The font_height is used as default line height, there used to be a hard-coded size = 0.7 * height */ -- /* before using pango_set_absolute_size() to overcome font size differences between renderers */ -- double height; -- /* Need to load a font to query it's metrics */ -- PangoFont *loaded; - PangoFontMetrics *metrics; - }; - -@@ -136,8 +130,6 @@ dia_font_finalize (GObject *object) - g_clear_pointer (&font->pfd, pango_font_description_free); - g_clear_pointer (&font->metrics, pango_font_metrics_unref); - -- g_clear_object (&font->loaded); -- - G_OBJECT_CLASS (dia_font_parent_class)->finalize (object); - } - -@@ -166,33 +158,17 @@ dia_pfd_set_height(PangoFontDescription *pfd, double height) - } - - --/*! -- * In Dia a font is usually referred to by it's (line-) height, not it's size. -- * -- * This methods "calculates" the latter from the former. This used to be some magic factor of 0.7 which did not -- * solve the resolution dependencance of the former calculation. In fact there is new magic factor now because -- * really calculating the font size from the height would involve two font loads which seem to be two expensive. -- */ - static void --_dia_font_adjust_size (DiaFont *font, double height, gboolean recalc_alwways) -+dia_font_update_metrics (DiaFont *font) - { -+ PangoFont *loaded; - -- if (font->height != height || !font->metrics || recalc_alwways) { -- PangoFont *loaded; -- -- dia_pfd_set_height (font->pfd, height); -- /* need to load a font to get it's metrics */ -- loaded = font->loaded; -- font->loaded = pango_context_load_font (dia_font_get_context (), font->pfd); -- -- g_clear_object (&loaded); -- -- g_clear_pointer (&font->metrics, pango_font_metrics_unref); -+ g_clear_pointer (&font->metrics, pango_font_metrics_unref); - -- /* caching metrics */ -- font->metrics = pango_font_get_metrics (font->loaded, NULL); -- font->height = height; -- } -+ /* need to load a font to get its metrics */ -+ loaded = pango_context_load_font (dia_font_get_context (), font->pfd); -+ font->metrics = pango_font_get_metrics (loaded, NULL); -+ g_clear_object (&loaded); - } - - -@@ -205,15 +181,8 @@ DiaFont * - dia_font_new (const char *family, DiaFontStyle style, double height) - { - DiaFont* font = dia_font_new_from_style(style, height); -- gboolean changed; -- -- changed = family != NULL && g_strcmp0 (pango_font_description_get_family (font->pfd), family) != 0; - pango_font_description_set_family(font->pfd, family); - -- if (changed) { -- _dia_font_adjust_size (font, font->height, TRUE); -- } -- - return font; - } - -@@ -316,9 +285,10 @@ dia_font_new_from_style (DiaFontStyle style, double height) - - retval = g_object_new (DIA_TYPE_FONT, NULL); - retval->pfd = pfd; -- _dia_font_adjust_size (retval, height, FALSE); - retval->legacy_name = NULL; - -+ dia_font_update_metrics (retval); -+ - return retval; - } - -@@ -407,8 +377,9 @@ double - dia_font_get_height (DiaFont *font) - { - g_return_val_if_fail (font != NULL, 0.0); -+ g_return_val_if_fail (pango_font_description_get_size_is_absolute (font->pfd), 0.0); - -- return font->height; -+ return pdu_to_dcm(pango_font_description_get_size(font->pfd)) / 0.8; - } - - -@@ -430,6 +401,23 @@ dia_font_get_size (DiaFont *font) - } - - -+/** -+ * dia_font_set_size: -+ * @font: The font to modify. -+ * @size: The new size in centimetres. -+ * -+ * Sets the size of font to the provided (positive) size. -+ */ -+void -+dia_font_set_size (DiaFont *font, double size) -+{ -+ g_return_if_fail (size >= 0); -+ -+ pango_font_description_set_absolute_size (font->pfd, dcm_to_pdu (size)); -+ dia_font_update_metrics (font); -+} -+ -+ - /** - * dia_font_set_height: - * -@@ -438,7 +426,8 @@ dia_font_get_size (DiaFont *font) - void - dia_font_set_height (DiaFont* font, double height) - { -- _dia_font_adjust_size (font, height, FALSE); -+ /* FIXME For now, assume height is 80% of size. */ -+ dia_font_set_size (font, height / 0.8); - } - - -@@ -493,7 +482,7 @@ dia_font_set_any_family (DiaFont *font, const char *family) - pango_font_description_set_family (font->pfd, family); - if (changed) { - /* force recalculation on name change */ -- _dia_font_adjust_size (font, font->height, TRUE); -+ dia_font_update_metrics (font); - } - - g_clear_pointer (&font->legacy_name, g_free); -@@ -531,7 +520,7 @@ dia_font_set_weight (DiaFont *font, DiaFontWeight weight) - dia_pfd_set_weight(font->pfd,weight); - - if (old_weight != weight) { -- _dia_font_adjust_size (font, font->height, TRUE); -+ dia_font_update_metrics (font); - } - } - -@@ -548,7 +537,7 @@ dia_font_set_slant (DiaFont *font, DiaFontSlant slant) - g_return_if_fail(font != NULL); - dia_pfd_set_slant(font->pfd,slant); - if (slant != old_slant) -- _dia_font_adjust_size (font, font->height, TRUE); -+ dia_font_update_metrics (font); - } - - -@@ -702,7 +691,8 @@ dia_font_ascent (const char *string, DiaFont *font, double height) - { - if (font->metrics) { - double ascent = pdu_to_dcm (pango_font_metrics_get_ascent (font->metrics)); -- return ascent * (height / font->height); -+ double factor = height / dia_font_get_height (font); -+ return ascent * factor; - } else { - /* previous, _expensive_ but string specific way */ - TextLine *text_line = text_line_new (string, font, height); -@@ -723,7 +713,8 @@ dia_font_descent (const char *string, DiaFont *font, double height) - { - if (font->metrics) { - double descent = pdu_to_dcm (pango_font_metrics_get_descent (font->metrics)); -- return descent * (height / font->height); -+ double factor = height / dia_font_get_height (font); -+ return descent * factor; - } else { - /* previous, _expensive_ but string specific way */ - TextLine *text_line = text_line_new (string, font, height); -diff --git a/lib/font.h b/lib/font.h -index aaf19ef6d..bd6868cb3 100644 ---- a/lib/font.h -+++ b/lib/font.h -@@ -103,6 +103,8 @@ const PangoFontDescription *dia_font_get_description (DiaFont *f - double dia_font_get_height (DiaFont *font); - void dia_font_set_height (DiaFont *font, - double height); -+void dia_font_set_size (DiaFont *font, -+ double size); - double dia_font_get_size (DiaFont *font); - void dia_font_set_slant (DiaFont *font, - DiaFontSlant slant); -diff --git a/lib/libdia.def b/lib/libdia.def -index d7f579479..1218a20c9 100644 ---- a/lib/libdia.def -+++ b/lib/libdia.def -@@ -243,6 +243,7 @@ EXPORTS - dia_font_new_from_style - dia_font_set_any_family - dia_font_set_height -+ dia_font_set_size - dia_font_set_slant - dia_font_set_slant_from_string - dia_font_set_weight --- -GitLab - - -From da5b8963d3bd8f80a50b3bf81ec5d7a59bdbe8a7 Mon Sep 17 00:00:00 2001 -From: Duncan McIntosh -Date: Fri, 20 Oct 2023 17:29:48 -0400 -Subject: [PATCH 3/4] font: add dia_font_new_from_description - -Since we no longer need to keep track of font heights in DiaFont, it -basically wraps descriptions. As such, allow creating fonts from a -string Pango description. - -This uses a string to try and avoid a public dependency on Pango. We -still have public dependencies elsewhere, but it means shifting to -alternative libraries, or incompatible versions (like Pango2, which -appears at least on hold) should be easier. It also doesn't really -add much friction with GTK. ---- - lib/font.c | 21 +++++++++++++++++++++ - lib/font.h | 1 + - lib/libdia.def | 1 + - 3 files changed, 23 insertions(+) - -diff --git a/lib/font.c b/lib/font.c -index 6dec80bb1..ca3953f28 100644 ---- a/lib/font.c -+++ b/lib/font.c -@@ -293,6 +293,27 @@ dia_font_new_from_style (DiaFontStyle style, double height) - } - - -+DiaFont * -+dia_font_new_from_description (const char *desc) -+{ -+ DiaFont *retval; -+ PangoFontDescription *pfd = pango_font_description_from_string (desc); -+ -+ if (!pango_font_description_get_size_is_absolute (pfd)) { -+ double size = pango_font_description_get_size (pfd); -+ pango_font_description_set_absolute_size(pfd, size * global_zoom_factor * 72.0); -+ } -+ -+ retval = g_object_new (DIA_TYPE_FONT, NULL); -+ retval->pfd = pfd; -+ retval->legacy_name = NULL; -+ -+ dia_font_update_metrics (retval); -+ -+ return retval; -+} -+ -+ - DiaFont * - dia_font_copy (DiaFont *font) - { -diff --git a/lib/font.h b/lib/font.h -index bd6868cb3..cc1260815 100644 ---- a/lib/font.h -+++ b/lib/font.h -@@ -95,6 +95,7 @@ DiaFont *dia_font_new (const char *f - DiaFont *dia_font_new_from_style (DiaFontStyle style, - double height); - DiaFont *dia_font_new_from_legacy_name (const char *name); -+DiaFont *dia_font_new_from_description (const char *description); - const char *dia_font_get_legacy_name (DiaFont *font); - DiaFont *dia_font_copy (DiaFont *font); - DiaFontStyle dia_font_get_style (DiaFont *font); -diff --git a/lib/libdia.def b/lib/libdia.def -index 1218a20c9..db1c4ad7a 100644 ---- a/lib/libdia.def -+++ b/lib/libdia.def -@@ -241,6 +241,7 @@ EXPORTS - dia_font_new - dia_font_new_from_legacy_name - dia_font_new_from_style -+ dia_font_new_from_description - dia_font_set_any_family - dia_font_set_height - dia_font_set_size --- -GitLab - - -From 48c9b9b81d347d3f3c6df4df9c7456f2b74919c8 Mon Sep 17 00:00:00 2001 -From: Duncan McIntosh -Date: Fri, 20 Oct 2023 17:31:58 -0400 -Subject: [PATCH 4/4] lib: remove DiaFontSelector - -We can now use GtkFontButton, which (a) allows removing ~700 lines of code, -and (b) doesn't lock up whenever a property dialog is opened. - -Currently, we don't allow configuring size in the dialog, since the size -of a DiaFont isn't really used. Further refactoring should let us use it -instead of separate spin buttons. ---- - lib/dia-font-selector.c | 646 ------------------------------------- - lib/dia-font-selector.h | 37 --- - lib/libdia.def | 5 - - lib/meson.build | 2 - - lib/prop_attr.c | 17 +- - objects/UML/class_dialog.c | 54 +++- - objects/UML/class_dialog.h | 13 +- - 7 files changed, 56 insertions(+), 718 deletions(-) - delete mode 100644 lib/dia-font-selector.c - delete mode 100644 lib/dia-font-selector.h - -diff --git a/lib/dia-font-selector.c b/lib/dia-font-selector.c -deleted file mode 100644 -index fb59d6c98..000000000 ---- a/lib/dia-font-selector.c -+++ /dev/null -@@ -1,646 +0,0 @@ --/* Dia -- an diagram creation/manipulation program -- * Copyright (C) 1998 Alexander Larsson -- * -- * This program is free software; you can redistribute it and/or modify -- * it under the terms of the GNU General Public License as published by -- * the Free Software Foundation; either version 2 of the License, or -- * (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU General Public License for more details. -- * -- * You should have received a copy of the GNU General Public License -- * along with this program; if not, write to the Free Software -- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- */ -- --#include "config.h" -- --#include --#include -- --#include --#include -- --#include "dia-font-selector.h" --#include "font.h" --#include "persistence.h" -- --#define PERSIST_NAME "font-menu" -- --struct _DiaFontSelector { -- GtkBox hbox; --}; -- -- --typedef struct _DiaFontSelectorPrivate DiaFontSelectorPrivate; --struct _DiaFontSelectorPrivate { -- GtkWidget *fonts; -- GtkTreeStore *fonts_store; -- GtkTreeIter fonts_default_end; -- GtkTreeIter fonts_custom_end; -- GtkTreeIter fonts_other; -- GtkTreeIter fonts_reset; -- -- const char *looking_for; -- -- GtkWidget *styles; -- GtkListStore *styles_store; -- -- char *current; -- int current_style; --}; -- --G_DEFINE_TYPE_WITH_PRIVATE (DiaFontSelector, dia_font_selector, GTK_TYPE_BOX) -- --enum { -- VALUE_CHANGED, -- LAST_SIGNAL --}; -- --static guint signals[LAST_SIGNAL] = { 0 }; -- -- --/* New and improved font selector: Contains the three standard fonts -- * and an 'Other fonts...' entry that opens the font dialog. The fonts -- * selected in the font dialog are persistently added to the menu. -- * -- * +----------------+ -- * | Sans | -- * | Serif | -- * | Monospace | -- * | -------------- | -- * | Bodini | -- * | CurlyGothic | -- * | OldWestern | -- * | -------------- | -- * | Other fonts... | -- * +----------------+ -- */ -- --enum { -- STYLE_COL_LABEL, -- STYLE_COL_ID, -- STYLE_N_COL, --}; -- -- --enum { -- FONT_COL_FAMILY, -- FONT_N_COL, --}; -- -- --static void --dia_font_selector_finalize (GObject *object) --{ -- DiaFontSelector *self = DIA_FONT_SELECTOR (object); -- DiaFontSelectorPrivate *priv = dia_font_selector_get_instance_private (self); -- -- g_clear_object (&priv->fonts_store); -- g_clear_object (&priv->styles_store); -- -- g_clear_pointer (&priv->current, g_free); -- -- G_OBJECT_CLASS (dia_font_selector_parent_class)->finalize (object); --} -- -- --static void --dia_font_selector_class_init (DiaFontSelectorClass *klass) --{ -- GObjectClass *object_class = G_OBJECT_CLASS (klass); -- -- object_class->finalize = dia_font_selector_finalize; -- -- signals[VALUE_CHANGED] = g_signal_new ("value-changed", -- G_TYPE_FROM_CLASS (klass), -- G_SIGNAL_RUN_FIRST, -- 0, NULL, NULL, -- g_cclosure_marshal_VOID__VOID, -- G_TYPE_NONE, 0); --} -- -- --static int --sort_fonts (const void *p1, const void *p2) --{ -- const gchar *n1 = pango_font_family_get_name (PANGO_FONT_FAMILY (*(void**)p1)); -- const gchar *n2 = pango_font_family_get_name (PANGO_FONT_FAMILY (*(void**)p2)); -- return g_ascii_strcasecmp (n1, n2); --} -- -- --static char *style_labels[] = { -- "Normal", -- "Oblique", -- "Italic", -- "Ultralight", -- "Ultralight-Oblique", -- "Ultralight-Italic", -- "Light", -- "Light-Oblique", -- "Light-Italic", -- "Medium", -- "Medium-Oblique", -- "Medium-Italic", -- "Demibold", -- "Demibold-Oblique", -- "Demibold-Italic", -- "Bold", -- "Bold-Oblique", -- "Bold-Italic", -- "Ultrabold", -- "Ultrabold-Oblique", -- "Ultrabold-Italic", -- "Heavy", -- "Heavy-Oblique", -- "Heavy-Italic" --}; -- -- --static PangoFontFamily * --get_family_from_name (GtkWidget *widget, const gchar *fontname) --{ -- PangoFontFamily **families; -- int n_families, i; -- -- pango_context_list_families (dia_font_get_context(), -- &families, &n_families); -- /* Doing it the slow way until I find a better way */ -- for (i = 0; i < n_families; i++) { -- if (!(g_ascii_strcasecmp (pango_font_family_get_name (families[i]), fontname))) { -- PangoFontFamily *fam = families[i]; -- g_clear_pointer (&families, g_free); -- return fam; -- } -- } -- g_warning (_("Couldn't find font family for %s\n"), fontname); -- g_clear_pointer (&families, g_free); -- return NULL; --} -- -- --static void --set_styles (DiaFontSelector *fs, -- const gchar *name, -- DiaFontStyle dia_style) --{ -- PangoFontFamily *pff; -- DiaFontSelectorPrivate *priv; -- PangoFontFace **faces = NULL; -- int nfaces = 0; -- int i = 0; -- long stylebits = 0; -- -- g_return_if_fail (DIA_IS_FONT_SELECTOR (fs)); -- -- priv = dia_font_selector_get_instance_private (fs); -- -- pff = get_family_from_name (GTK_WIDGET (fs), name); -- -- pango_font_family_list_faces (pff, &faces, &nfaces); -- -- for (i = 0; i < nfaces; i++) { -- PangoFontDescription *pfd = pango_font_face_describe (faces[i]); -- PangoStyle style = pango_font_description_get_style (pfd); -- PangoWeight weight = pango_font_description_get_weight (pfd); -- /* -- * This is a quick and dirty way to pick the styles present, -- * sort them and avoid duplicates. -- * We set a bit for each style present, bit (weight*3+style) -- * From style_labels, we pick #(weight*3+style) -- * where weight and style are the Dia types. -- */ -- /* Account for DIA_WEIGHT_NORMAL hack */ -- int weightnr = (weight-200)/100; -- if (weightnr < 2) weightnr ++; -- else if (weightnr == 2) weightnr = 0; -- stylebits |= 1 << (3*weightnr + style); -- pango_font_description_free (pfd); -- } -- -- g_clear_pointer (&faces, g_free); -- -- if (stylebits == 0) { -- g_warning ("'%s' has no style!", -- pango_font_family_get_name (pff) ? pango_font_family_get_name (pff) : "(null font)"); -- } -- -- gtk_list_store_clear (priv->styles_store); -- -- for (i = DIA_FONT_NORMAL; i <= (DIA_FONT_HEAVY | DIA_FONT_ITALIC); i+=4) { -- GtkTreeIter iter; -- -- /* -- * bad hack continued ... -- */ -- int weight = DIA_FONT_STYLE_GET_WEIGHT (i) >> 4; -- int slant = DIA_FONT_STYLE_GET_SLANT (i) >> 2; -- -- if (DIA_FONT_STYLE_GET_SLANT (i) > DIA_FONT_ITALIC) { -- continue; -- } -- -- if (!(stylebits & (1 << (3 * weight + slant)))) { -- continue; -- } -- -- gtk_list_store_append (priv->styles_store, &iter); -- gtk_list_store_set (priv->styles_store, -- &iter, -- STYLE_COL_LABEL, style_labels[3 * weight + slant], -- STYLE_COL_ID, i, -- -1); -- -- if (dia_style == i || (i == DIA_FONT_NORMAL && dia_style == -1)) { -- gtk_combo_box_set_active_iter (GTK_COMBO_BOX (priv->styles), &iter); -- } -- } -- -- gtk_widget_set_sensitive (GTK_WIDGET (priv->styles), -- gtk_tree_model_iter_n_children (GTK_TREE_MODEL (priv->styles_store), NULL) > 1); --} -- -- --static void --font_changed (GtkComboBox *widget, -- DiaFontSelector *self) --{ -- DiaFontSelectorPrivate *priv; -- GtkTreeIter active; -- GtkTreePath *active_path; -- GtkTreePath *path; -- char *family = NULL; -- -- g_return_if_fail (DIA_IS_FONT_SELECTOR (self)); -- -- priv = dia_font_selector_get_instance_private (self); -- -- gtk_combo_box_get_active_iter (widget, &active); -- -- active_path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->fonts_store), &active); -- path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->fonts_store), &priv->fonts_reset); -- -- if (gtk_tree_path_compare (path, active_path) == 0) { -- GtkTreeIter iter; -- GtkTreePath *end_path; -- DiaFont *font; -- -- persistent_list_clear (PERSIST_NAME); -- -- path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->fonts_store), &priv->fonts_default_end); -- -- // Move over the separator -- gtk_tree_path_next (path); -- gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->fonts_store), &iter, path); -- -- end_path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->fonts_store), &priv->fonts_custom_end); -- -- while (gtk_tree_path_compare (path, end_path) != 0) { -- gtk_tree_store_remove (priv->fonts_store, &iter); -- -- gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->fonts_store), &iter, path); -- -- gtk_tree_path_free (end_path); -- end_path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->fonts_store), &priv->fonts_custom_end); -- } -- -- gtk_tree_path_free (path); -- gtk_tree_path_free (end_path); -- gtk_tree_path_free (active_path); -- -- if (priv->current) { -- font = dia_font_new (priv->current, priv->current_style, 1.0); -- dia_font_selector_set_font (self, font); -- g_clear_object (&font); -- } else { -- gtk_tree_model_get_iter_first (GTK_TREE_MODEL (priv->fonts_store), &iter); -- gtk_combo_box_set_active_iter (GTK_COMBO_BOX (priv->fonts), &iter); -- } -- -- return; -- } -- -- gtk_tree_model_get (GTK_TREE_MODEL (priv->fonts_store), -- &active, -- FONT_COL_FAMILY, &family, -- -1); -- -- g_clear_pointer (&priv->current, g_free); -- priv->current = g_strdup (family); -- -- set_styles (self, family, -1); -- g_signal_emit (G_OBJECT (self), signals[VALUE_CHANGED], 0); -- -- if (g_strcmp0 (family, "sans") != 0 && -- g_strcmp0 (family, "serif") != 0 && -- g_strcmp0 (family, "monospace") != 0 && -- !persistent_list_add (PERSIST_NAME, family)) { -- GtkTreeIter iter; -- -- gtk_tree_store_insert_before (priv->fonts_store, -- &iter, -- NULL, -- &priv->fonts_custom_end); -- gtk_tree_store_set (priv->fonts_store, -- &iter, -- FONT_COL_FAMILY, family, -- -1); -- -- gtk_combo_box_set_active_iter (widget, &iter); -- } -- -- gtk_tree_path_free (path); -- gtk_tree_path_free (active_path); -- g_clear_pointer (&family, g_free); --} -- -- --static gboolean --is_separator (GtkTreeModel *model, -- GtkTreeIter *iter, -- gpointer data) --{ -- gboolean result; -- char *family; -- -- gtk_tree_model_get (model, iter, FONT_COL_FAMILY, &family, -1); -- -- result = g_strcmp0 (family, "separator") == 0; -- -- g_clear_pointer (&family, g_free); -- -- return result; --} -- -- --static void --is_sensitive (GtkCellLayout *cell_layout, -- GtkCellRenderer *cell, -- GtkTreeModel *tree_model, -- GtkTreeIter *iter, -- gpointer data) --{ -- gboolean sensitive; -- -- sensitive = !gtk_tree_model_iter_has_child (tree_model, iter); -- -- g_object_set (cell, "sensitive", sensitive, NULL); --} -- -- --static void --style_changed (GtkComboBox *widget, -- DiaFontSelector *self) --{ -- DiaFontSelectorPrivate *priv; -- GtkTreeIter active; -- -- g_return_if_fail (DIA_IS_FONT_SELECTOR (self)); -- -- priv = dia_font_selector_get_instance_private (self); -- -- if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (priv->styles), &active)) { -- gtk_tree_model_get (GTK_TREE_MODEL (priv->styles_store), -- &active, -- STYLE_COL_ID, &priv->current_style, -- -1); -- } else { -- priv->current_style = 0; -- } -- -- g_signal_emit (G_OBJECT (self), signals[VALUE_CHANGED], 0); --} -- -- --static void --dia_font_selector_init (DiaFontSelector *fs) --{ -- DiaFontSelectorPrivate *priv; -- PangoFontFamily **families; -- int n_families,i; -- GtkCellRenderer *renderer; -- GtkTreeIter iter; -- GList *tmplist; -- -- g_return_if_fail (DIA_IS_FONT_SELECTOR (fs)); -- -- priv = dia_font_selector_get_instance_private (fs); -- -- priv->fonts_store = gtk_tree_store_new (FONT_N_COL, G_TYPE_STRING); -- -- gtk_tree_store_append (priv->fonts_store, &iter, NULL); -- gtk_tree_store_set (priv->fonts_store, -- &iter, -- FONT_COL_FAMILY, "sans", -- -1); -- gtk_tree_store_append (priv->fonts_store, &iter, NULL); -- gtk_tree_store_set (priv->fonts_store, -- &iter, -- FONT_COL_FAMILY, "serif", -- -1); -- gtk_tree_store_append (priv->fonts_store, &iter, NULL); -- gtk_tree_store_set (priv->fonts_store, -- &iter, -- FONT_COL_FAMILY, "monospace", -- -1); -- -- gtk_tree_store_append (priv->fonts_store, &priv->fonts_default_end, NULL); -- gtk_tree_store_set (priv->fonts_store, -- &priv->fonts_default_end, -- FONT_COL_FAMILY, "separator", -- -1); -- -- persistence_register_list (PERSIST_NAME); -- -- for (tmplist = persistent_list_get_glist (PERSIST_NAME); -- tmplist != NULL; tmplist = g_list_next (tmplist)) { -- gtk_tree_store_append (priv->fonts_store, &iter, NULL); -- gtk_tree_store_set (priv->fonts_store, -- &iter, -- FONT_COL_FAMILY, tmplist->data, -- -1); -- } -- -- gtk_tree_store_append (priv->fonts_store, &priv->fonts_custom_end, NULL); -- gtk_tree_store_set (priv->fonts_store, -- &priv->fonts_custom_end, -- FONT_COL_FAMILY, "separator", -- -1); -- -- gtk_tree_store_append (priv->fonts_store, &priv->fonts_other, NULL); -- gtk_tree_store_set (priv->fonts_store, -- &priv->fonts_other, -- FONT_COL_FAMILY, _("Other Fonts"), -- -1); -- -- gtk_tree_store_append (priv->fonts_store, &priv->fonts_reset, NULL); -- gtk_tree_store_set (priv->fonts_store, -- &priv->fonts_reset, -- FONT_COL_FAMILY, _("Reset Menu"), -- -1); -- -- priv->fonts = gtk_combo_box_new_with_model (GTK_TREE_MODEL (priv->fonts_store)); -- gtk_widget_set_hexpand (priv->fonts, TRUE); -- gtk_widget_show (priv->fonts); -- -- g_signal_connect (priv->fonts, -- "changed", -- G_CALLBACK (font_changed), -- fs); -- -- renderer = gtk_cell_renderer_text_new (); -- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->fonts), renderer, TRUE); -- gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (priv->fonts), renderer, -- "text", FONT_COL_FAMILY, -- "family", FONT_COL_FAMILY, -- NULL); -- -- gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (priv->fonts), -- is_separator, NULL, NULL); -- gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (priv->fonts), -- renderer, -- is_sensitive, -- NULL, NULL); -- -- priv->styles_store = gtk_list_store_new (STYLE_N_COL, -- G_TYPE_STRING, -- G_TYPE_INT); -- priv->styles = gtk_combo_box_new_with_model (GTK_TREE_MODEL (priv->styles_store)); -- gtk_widget_show (priv->styles); -- -- g_signal_connect (priv->styles, -- "changed", -- G_CALLBACK (style_changed), -- fs); -- -- renderer = gtk_cell_renderer_text_new (); -- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->styles), renderer, TRUE); -- gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (priv->styles), renderer, -- "text", STYLE_COL_LABEL, -- NULL); -- -- pango_context_list_families (dia_font_get_context (), -- &families, -- &n_families); -- -- qsort (families, -- n_families, -- sizeof (PangoFontFamily *), -- sort_fonts); -- -- /* Doing it the slow way until I find a better way */ -- for (i = 0; i < n_families; i++) { -- gtk_tree_store_append (priv->fonts_store, -- &iter, -- &priv->fonts_other); -- gtk_tree_store_set (priv->fonts_store, -- &iter, -- FONT_COL_FAMILY, pango_font_family_get_name (families[i]), -- -1); -- } -- g_clear_pointer (&families, g_free); -- -- gtk_box_pack_start (GTK_BOX (fs), GTK_WIDGET (priv->fonts), FALSE, TRUE, 0); -- gtk_box_pack_start (GTK_BOX (fs), GTK_WIDGET (priv->styles), FALSE, TRUE, 0); --} -- -- --GtkWidget * --dia_font_selector_new (void) --{ -- return g_object_new (DIA_TYPE_FONT_SELECTOR, NULL); --} -- -- --static gboolean --set_font (GtkTreeModel *model, -- GtkTreePath *path, -- GtkTreeIter *iter, -- gpointer data) --{ -- DiaFontSelector *self = DIA_FONT_SELECTOR (data); -- DiaFontSelectorPrivate *priv = dia_font_selector_get_instance_private (self); -- char *font; -- gboolean res = FALSE; -- -- gtk_tree_model_get (model, -- iter, -- FONT_COL_FAMILY, &font, -- -1); -- -- res = g_strcmp0 (priv->looking_for, font) == 0; -- if (res) { -- gtk_combo_box_set_active_iter (GTK_COMBO_BOX (priv->fonts), iter); -- } -- -- g_clear_pointer (&font, g_free); -- -- return res; --} -- -- --/** -- * dia_font_selector_set_font: -- * -- * Set the current font to be shown in the font selector. -- */ --void --dia_font_selector_set_font (DiaFontSelector *self, DiaFont *font) --{ -- DiaFontSelectorPrivate *priv; -- const gchar *fontname = dia_font_get_family (font); -- -- g_return_if_fail (DIA_IS_FONT_SELECTOR (self)); -- -- priv = dia_font_selector_get_instance_private (self); -- -- priv->looking_for = fontname; -- gtk_tree_model_foreach (GTK_TREE_MODEL (priv->fonts_store), set_font, self); -- priv->looking_for = NULL; -- -- set_styles (self, fontname, dia_font_get_style (font)); --} -- -- --DiaFont * --dia_font_selector_get_font (DiaFontSelector *self) --{ -- DiaFontSelectorPrivate *priv; -- DiaFontStyle style; -- DiaFont *font; -- GtkTreeIter iter; -- char *fontname = NULL; -- -- g_return_val_if_fail (DIA_IS_FONT_SELECTOR (self), NULL); -- -- priv = dia_font_selector_get_instance_private (self); -- -- if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (priv->fonts), &iter)) { -- gtk_tree_model_get (GTK_TREE_MODEL (priv->fonts_store), -- &iter, -- FONT_COL_FAMILY, &fontname, -- -1); -- } else { -- g_warning ("No font selected"); -- } -- -- if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (priv->styles), &iter)) { -- gtk_tree_model_get (GTK_TREE_MODEL (priv->styles_store), -- &iter, -- STYLE_COL_ID, &style, -- -1); -- } else { -- style = 0; -- } -- -- font = dia_font_new (fontname, style, 1.0); -- -- g_clear_pointer (&fontname, g_free); -- -- return font; --} -- -diff --git a/lib/dia-font-selector.h b/lib/dia-font-selector.h -deleted file mode 100644 -index 8ffba0ccb..000000000 ---- a/lib/dia-font-selector.h -+++ /dev/null -@@ -1,37 +0,0 @@ --/* Dia -- an diagram creation/manipulation program -- * Copyright (C) 1998 Alexander Larsson -- * -- * This program is free software; you can redistribute it and/or modify -- * it under the terms of the GNU General Public License as published by -- * the Free Software Foundation; either version 2 of the License, or -- * (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU General Public License for more details. -- * -- * You should have received a copy of the GNU General Public License -- * along with this program; if not, write to the Free Software -- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- * -- * SPDX-License-Identifier: GPL-2.0-or-later -- */ -- --#pragma once -- --#include -- --#include "font.h" -- --G_BEGIN_DECLS -- --#define DIA_TYPE_FONT_SELECTOR dia_font_selector_get_type () --G_DECLARE_FINAL_TYPE (DiaFontSelector, dia_font_selector, DIA, FONT_SELECTOR, GtkBox) -- --GtkWidget *dia_font_selector_new (void); --void dia_font_selector_set_font (DiaFontSelector *self, -- DiaFont *font); --DiaFont *dia_font_selector_get_font (DiaFontSelector *self); -- --G_END_DECLS -diff --git a/lib/libdia.def b/lib/libdia.def -index db1c4ad7a..7f2364ddd 100644 ---- a/lib/libdia.def -+++ b/lib/libdia.def -@@ -252,11 +252,6 @@ EXPORTS - dia_font_copy - dia_font_string_width - -- dia_font_selector_get_font -- dia_font_selector_get_type -- dia_font_selector_new -- dia_font_selector_set_font -- - dia_guide_new - dia_guide_copy - dia_guide_free -diff --git a/lib/meson.build b/lib/meson.build -index f1ffb9659..7d2058c41 100644 ---- a/lib/meson.build -+++ b/lib/meson.build -@@ -167,8 +167,6 @@ libdia_sources = stdprop_sources + [ - 'dia-colour-cell-renderer.h', - 'dia-colour-selector.c', - 'dia-colour-selector.h', -- 'dia-font-selector.c', -- 'dia-font-selector.h', - 'dia-graphene.h', - 'dia-guide.c', - 'dia-guide.h', -diff --git a/lib/prop_attr.c b/lib/prop_attr.c -index 18a850a41..2362813a0 100644 ---- a/lib/prop_attr.c -+++ b/lib/prop_attr.c -@@ -29,11 +29,11 @@ - - #include - #include "dia_xml.h" -+#include "font.h" - #include "properties.h" - #include "propinternals.h" - #include "dia-arrow-selector.h" - #include "dia-colour-selector.h" --#include "dia-font-selector.h" - #include "dia-line-style-selector.h" - - /***************************/ -@@ -421,22 +421,27 @@ fontprop_copy(FontProperty *src) - static WIDGET * - fontprop_get_widget(FontProperty *prop, PropDialog *dialog) - { -- GtkWidget *ret = dia_font_selector_new(); -- prophandler_connect(&prop->common, G_OBJECT(ret), "value-changed"); -+ GtkWidget *ret = gtk_font_button_new(); -+ gtk_font_chooser_set_level (GTK_FONT_CHOOSER (ret), GTK_FONT_CHOOSER_LEVEL_FAMILY | GTK_FONT_CHOOSER_LEVEL_STYLE); -+ prophandler_connect(&prop->common, G_OBJECT(ret), "font-set"); - return ret; - } - - static void - fontprop_reset_widget(FontProperty *prop, WIDGET *widget) - { -- dia_font_selector_set_font (DIA_FONT_SELECTOR (widget), -- prop->font_data); -+ const PangoFontDescription *desc = dia_font_get_description (prop->font_data); -+ gtk_font_chooser_set_font_desc (GTK_FONT_CHOOSER (widget), desc); - } - - static void - fontprop_set_from_widget(FontProperty *prop, WIDGET *widget) - { -- prop->font_data = dia_font_selector_get_font (DIA_FONT_SELECTOR (widget)); -+ char *desc = gtk_font_chooser_get_font (GTK_FONT_CHOOSER (widget)); -+ DiaFont *new_font = dia_font_new_from_description (desc); -+ -+ g_clear_pointer (&desc, g_free); -+ g_set_object (&prop->font_data, new_font); - } - - static void -diff --git a/objects/UML/class_dialog.c b/objects/UML/class_dialog.c -index 163cc2949..56af1d84b 100644 ---- a/objects/UML/class_dialog.c -+++ b/objects/UML/class_dialog.c -@@ -40,6 +40,7 @@ - #include - #include - -+#include "font.h" - #include "object.h" - #include "class.h" - #include "diaoptionmenu.h" -@@ -196,6 +197,28 @@ _class_set_comment (GtkTextView *view, gchar *text) - } - - -+static DiaFont * -+_font_from_button (GtkFontButton *btn) -+{ -+ char *font_desc; -+ DiaFont *ret; -+ -+ font_desc = gtk_font_chooser_get_font (GTK_FONT_CHOOSER (btn)); -+ ret = dia_font_new_from_description (font_desc); -+ g_clear_pointer (&font_desc, g_free); -+ -+ return ret; -+} -+ -+ -+static void -+_set_selector_font (GtkFontButton *btn, DiaFont *font) -+{ -+ gtk_font_chooser_set_font_desc (GTK_FONT_CHOOSER (btn), -+ dia_font_get_description (font)); -+} -+ -+ - static void - class_read_from_dialog(UMLClass *umlclass, UMLClassDialog *prop_dialog) - { -@@ -243,12 +266,12 @@ class_read_from_dialog(UMLClass *umlclass, UMLClassDialog *prop_dialog) - dia_colour_selector_get_colour (DIA_COLOUR_SELECTOR (prop_dialog->fill_color), - ¨class->fill_color); - -- umlclass->normal_font = dia_font_selector_get_font (prop_dialog->normal_font); -- umlclass->polymorphic_font = dia_font_selector_get_font (prop_dialog->polymorphic_font); -- umlclass->abstract_font = dia_font_selector_get_font (prop_dialog->abstract_font); -- umlclass->classname_font = dia_font_selector_get_font (prop_dialog->classname_font); -- umlclass->abstract_classname_font = dia_font_selector_get_font (prop_dialog->abstract_classname_font); -- umlclass->comment_font = dia_font_selector_get_font (prop_dialog->comment_font); -+ umlclass->normal_font = _font_from_button(prop_dialog->normal_font); -+ umlclass->polymorphic_font = _font_from_button(prop_dialog->polymorphic_font); -+ umlclass->abstract_font = _font_from_button(prop_dialog->abstract_font); -+ umlclass->classname_font = _font_from_button (prop_dialog->classname_font); -+ umlclass->abstract_classname_font = _font_from_button (prop_dialog->abstract_classname_font); -+ umlclass->comment_font = _font_from_button (prop_dialog->comment_font); - - umlclass->font_height = gtk_spin_button_get_value (prop_dialog->normal_font_height); - umlclass->abstract_font_height = gtk_spin_button_get_value (prop_dialog->abstract_font_height); -@@ -291,12 +314,12 @@ class_fill_in_dialog(UMLClass *umlclass) - dia_colour_selector_set_colour (prop_dialog->text_color, ¨class->text_color); - dia_colour_selector_set_colour (prop_dialog->line_color, ¨class->line_color); - dia_colour_selector_set_colour (prop_dialog->fill_color, ¨class->fill_color); -- dia_font_selector_set_font (prop_dialog->normal_font, umlclass->normal_font); -- dia_font_selector_set_font (prop_dialog->polymorphic_font, umlclass->polymorphic_font); -- dia_font_selector_set_font (prop_dialog->abstract_font, umlclass->abstract_font); -- dia_font_selector_set_font (prop_dialog->classname_font, umlclass->classname_font); -- dia_font_selector_set_font (prop_dialog->abstract_classname_font, umlclass->abstract_classname_font); -- dia_font_selector_set_font (prop_dialog->comment_font, umlclass->comment_font); -+ _set_selector_font (prop_dialog->normal_font, umlclass->normal_font); -+ _set_selector_font (prop_dialog->polymorphic_font, umlclass->polymorphic_font); -+ _set_selector_font (prop_dialog->abstract_font, umlclass->abstract_font); -+ _set_selector_font (prop_dialog->classname_font, umlclass->classname_font); -+ _set_selector_font (prop_dialog->abstract_classname_font, umlclass->abstract_classname_font); -+ _set_selector_font (prop_dialog->comment_font, umlclass->comment_font); - gtk_spin_button_set_value (prop_dialog->normal_font_height, umlclass->font_height); - gtk_spin_button_set_value (prop_dialog->polymorphic_font_height, umlclass->polymorphic_font_height); - gtk_spin_button_set_value (prop_dialog->abstract_font_height, umlclass->abstract_font_height); -@@ -311,7 +334,7 @@ create_font_props_row (GtkGrid *grid, - gint row, - DiaFont *font, - real height, -- DiaFontSelector **fontsel, -+ GtkFontButton **fontsel, - GtkSpinButton **heightsel) - { - GtkWidget *label; -@@ -320,9 +343,10 @@ create_font_props_row (GtkGrid *grid, - label = gtk_label_new (kind); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_grid_attach (grid, label, 0, row, 1, 1); -- *fontsel = DIA_FONT_SELECTOR (dia_font_selector_new ()); -+ *fontsel = GTK_FONT_BUTTON (gtk_font_button_new ()); - gtk_widget_set_hexpand (GTK_WIDGET (*fontsel), TRUE); -- dia_font_selector_set_font (DIA_FONT_SELECTOR (*fontsel), font); -+ gtk_font_chooser_set_font_desc (GTK_FONT_CHOOSER (*fontsel), dia_font_get_description (font)); -+ gtk_font_chooser_set_level (GTK_FONT_CHOOSER (*fontsel), GTK_FONT_CHOOSER_LEVEL_FAMILY | GTK_FONT_CHOOSER_LEVEL_STYLE); - gtk_grid_attach (GTK_GRID (grid), GTK_WIDGET(*fontsel), 1, row, 1, 1); - - adj = GTK_ADJUSTMENT (gtk_adjustment_new (height, 0.1, 10.0, 0.1, 1.0, 0)); -diff --git a/objects/UML/class_dialog.h b/objects/UML/class_dialog.h -index 6bbb4b404..bf38b5613 100644 ---- a/objects/UML/class_dialog.h -+++ b/objects/UML/class_dialog.h -@@ -1,7 +1,6 @@ - #pragma once - - #include "dia-colour-selector.h" --#include "dia-font-selector.h" - - G_BEGIN_DECLS - -@@ -32,12 +31,12 @@ struct _UMLClassDialog { - GtkToggleButton *op_supp; - GtkToggleButton *comments_vis; - GtkToggleButton *op_wrap; -- DiaFontSelector *normal_font; -- DiaFontSelector *abstract_font; -- DiaFontSelector *polymorphic_font; -- DiaFontSelector *classname_font; -- DiaFontSelector *abstract_classname_font; -- DiaFontSelector *comment_font; -+ GtkFontButton *normal_font; -+ GtkFontButton *abstract_font; -+ GtkFontButton *polymorphic_font; -+ GtkFontButton *classname_font; -+ GtkFontButton *abstract_classname_font; -+ GtkFontButton *comment_font; - GtkSpinButton *normal_font_height; - GtkSpinButton *abstract_font_height; - GtkSpinButton *polymorphic_font_height; --- -GitLab - diff --git a/helpers/DATA/dino-im/cve/01_ef8fb0e94ce79d5fde2943e433ad0422eb7f70ec.patch b/helpers/DATA/dino-im/cve/01_ef8fb0e94ce79d5fde2943e433ad0422eb7f70ec.patch new file mode 100644 index 0000000..0172ccd --- /dev/null +++ b/helpers/DATA/dino-im/cve/01_ef8fb0e94ce79d5fde2943e433ad0422eb7f70ec.patch @@ -0,0 +1,37 @@ +From ef8fb0e94ce79d5fde2943e433ad0422eb7f70ec Mon Sep 17 00:00:00 2001 +From: Marvin W +Date: Thu, 23 Mar 2023 10:13:30 -0600 +Subject: [PATCH] Check sender of bookmark:1 updates + +--- + xmpp-vala/src/module/xep/0402_bookmarks2.vala | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/xmpp-vala/src/module/xep/0402_bookmarks2.vala b/xmpp-vala/src/module/xep/0402_bookmarks2.vala +index 406f37f43..d1e53e6e3 100644 +--- a/xmpp-vala/src/module/xep/0402_bookmarks2.vala ++++ b/xmpp-vala/src/module/xep/0402_bookmarks2.vala +@@ -68,6 +68,11 @@ public class Module : BookmarksProvider, XmppStreamModule { + } + + private void on_pupsub_item(XmppStream stream, Jid jid, string id, StanzaNode? node) { ++ if (!jid.equals(stream.get_flag(Bind.Flag.IDENTITY).my_jid.bare_jid)) { ++ warning("Received alleged bookmarks:1 item from %s, ignoring", jid.to_string()); ++ return; ++ } ++ + Conference conference = parse_item_node(node, id); + Flag? flag = stream.get_flag(Flag.IDENTITY); + if (flag != null) { +@@ -77,6 +82,11 @@ public class Module : BookmarksProvider, XmppStreamModule { + } + + private void on_pupsub_retract(XmppStream stream, Jid jid, string id) { ++ if (!jid.equals(stream.get_flag(Bind.Flag.IDENTITY).my_jid.bare_jid)) { ++ warning("Received alleged bookmarks:1 retract from %s, ignoring", jid.to_string()); ++ return; ++ } ++ + try { + Jid jid_parsed = new Jid(id); + Flag? flag = stream.get_flag(Flag.IDENTITY); diff --git a/helpers/DATA/distro-info-data/add_trisquel_tools_py.patch b/helpers/DATA/distro-info-data/add_trisquel_tools_py.patch index 1c1e7a4..13a196a 100644 --- a/helpers/DATA/distro-info-data/add_trisquel_tools_py.patch +++ b/helpers/DATA/distro-info-data/add_trisquel_tools_py.patch @@ -1,16 +1,14 @@ -diff --git a/lib/tools.py b/lib/tools.py -index 2ab74f7f..a3d52620 100644 ---- a/lib/tools.py -+++ b/lib/tools.py -@@ -49,7 +49,7 @@ def get_csv_dict_reader(filename: str) -> csv.DictReader: - +--- a/lib/tools.py 2021-10-15 08:01:00.000000000 -0500 ++++ a/lib/tools.py 2022-04-06 12:27:07.672427372 -0500 +@@ -37,7 +37,7 @@ def main(validation_function): """Main function with command line parameter parsing.""" -- parser = argparse.ArgumentParser(usage="%(prog)s [-h] -d|-u csv-file") -+ parser = argparse.ArgumentParser(usage="%(prog)s [-h] -d|-u|-t csv-file") + script_name = os.path.basename(sys.argv[0]) +- usage = "%s [-h] -d|-u csv-file" % (script_name) ++ usage = "%s [-h] -d|-u|-t csv-file" % (script_name) + parser = argparse.ArgumentParser(usage=usage) parser.add_argument( - "-d", @@ -56,15 +56,24 @@ default=False, help="validate an Ubuntu CSV file", diff --git a/helpers/DATA/distro-info/distro_info_py.patch b/helpers/DATA/distro-info/distro_info_py.patch index 0c91ff1..efd916b 100644 --- a/helpers/DATA/distro-info/distro_info_py.patch +++ b/helpers/DATA/distro-info/distro_info_py.patch @@ -1,7 +1,5 @@ -diff --git a/python/distro_info.py b/python/distro_info.py -index c87fbff6..0a624745 100644 ---- a/python/distro_info.py -+++ b/python/distro_info.py +--- source/python/distro_info.py 2021-11-04 15:27:37.000000000 -0600 ++++ source/python/distro_info.py_fix 2022-04-06 10:20:39.217365952 -0500 @@ -1,3 +1,4 @@ +# Copyright (C) 2021, Trisquel GNU/Linux developers # Copyright (C) 2009-2012, Benjamin Drung @@ -25,7 +23,7 @@ index c87fbff6..0a624745 100644 """ def __init__(self, distro): -@@ -340,16 +340,16 @@ class DebianDistroInfo(DistroInfo): +@@ -311,14 +312,14 @@ ] @@ -34,35 +32,31 @@ index c87fbff6..0a624745 100644 +class TrisquelDistroInfo(DistroInfo): + """provides information about Trisquel's distributions""" - def __init__(self) -> None: + def __init__(self): - super().__init__("Ubuntu") + super().__init__("Trisquel") - def lts( - self, date: typing.Optional[datetime.date] = None, result: str = "codename" - ) -> typing.Union[DistroRelease, str]: + def lts(self, date=None, result="codename"): - """Get latest long term support (LTS) Ubuntu distribution based on the + """Get latest long term support (LTS) Trisquel distribution based on the given date.""" if date is None: date = self._date -@@ -372,7 +372,7 @@ class UbuntuDistroInfo(DistroInfo): - def supported( - self, date: typing.Optional[datetime.date] = None, result: str = "codename" - ) -> list[typing.Union[DistroRelease, str]]: +@@ -337,7 +338,7 @@ + return "LTS" in distros[0].version + + def supported(self, date=None, result="codename"): - """Get list of all supported Ubuntu distributions based on the given + """Get list of all supported Trisquel distributions based on the given date.""" if date is None: date = self._date -@@ -382,17 +382,3 @@ class UbuntuDistroInfo(DistroInfo): - if (x.eol and date <= x.eol) or (x.eol_server is not None and date <= x.eol_server) +@@ -347,15 +348,3 @@ + if date <= x.eol or (x.eol_server is not None and date <= x.eol_server) ] return distros - -- def supported_esm( -- self, date: typing.Optional[datetime.date] = None, result: str = "codename" -- ) -> list[typing.Union[DistroRelease, str]]: +- def supported_esm(self, date=None, result="codename"): - """Get list of all ESM supported Ubuntu distributions based on the - given date.""" - if date is None: diff --git a/helpers/DATA/distro-info/test_distro_info.py_legacy b/helpers/DATA/distro-info/test_distro_info.py similarity index 98% rename from helpers/DATA/distro-info/test_distro_info.py_legacy rename to helpers/DATA/distro-info/test_distro_info.py index eebdf32..d3a8a77 100644 --- a/helpers/DATA/distro-info/test_distro_info.py_legacy +++ b/helpers/DATA/distro-info/test_distro_info.py @@ -1,8 +1,3 @@ -## -# This file is used for reference when the patch needs updating. -# only remove it when you no longer need it on the next release -# e.g. T12 > T13, etc. -## # test_distro_info.py - Test suite for distro_info # # Copyright (C) 2021, Trisquel GNU/Linux developers diff --git a/helpers/DATA/distro-info/test_distro_info.py.patch b/helpers/DATA/distro-info/test_distro_info.py.patch deleted file mode 100644 index 1e7d6bf..0000000 --- a/helpers/DATA/distro-info/test_distro_info.py.patch +++ /dev/null @@ -1,152 +0,0 @@ -diff --git a/python/distro_info_test/test_distro_info.py b/python/distro_info_test/test_distro_info.py -index b9e1cc13..94474bf5 100644 ---- a/python/distro_info_test/test_distro_info.py -+++ b/python/distro_info_test/test_distro_info.py -@@ -1,5 +1,6 @@ - # test_distro_info.py - Test suite for distro_info - # -+# Copyright (C) 2024, Trisquel GNU/Linux developers - # Copyright (C) 2011, Benjamin Drung - # - # Permission to use, copy, modify, and/or distribute this software for any -@@ -19,7 +20,7 @@ - import datetime - import unittest - --from distro_info import DebianDistroInfo, UbuntuDistroInfo -+from distro_info import DebianDistroInfo, TrisquelDistroInfo - - - class DebianDistroInfoTestCase(unittest.TestCase): # pylint: disable=too-many-public-methods -@@ -122,91 +123,89 @@ class DebianDistroInfoTestCase(unittest.TestCase): # pylint: disable=too-many-p - self.assertEqual(self._distro_info.stable(self._date, result="release"), "5.0") - - --class UbuntuDistroInfoTestCase(unittest.TestCase): # pylint: disable=too-many-public-methods -- """TestCase object for distro_info.UbuntuDistroInfo""" -+class TrisquelDistroInfoTestCase(unittest.TestCase): # pylint: disable=too-many-public-methods -+ """TestCase object for distro_info.TrisquelDistroInfo""" - - def setUp(self) -> None: # pylint: disable=invalid-name -- self._distro_info = UbuntuDistroInfo() -+ self._distro_info = TrisquelDistroInfo() - self._date = datetime.date(2011, 1, 10) - - def test_all(self) -> None: -- """Test: List all known Ubuntu distributions.""" -+ """Test: List all known Trisquel distributions.""" - all_distros = { -- "warty", -- "hoary", -- "breezy", -- "dapper", -- "edgy", -- "feisty", -- "gutsy", -- "hardy", -- "intrepid", -- "jaunty", -- "karmic", -- "lucid", -- "maverick", -- "natty", -+ "robur", -+ "dwyn", -+ "awen", -+ "taranis", -+ "slaine", -+ "dagda", -+ "brigantia", -+ "toutanis", -+ "belenos", -+ "flidas", -+ "etiona", -+ "nabia", - } - self.assertEqual(all_distros - set(self._distro_info.all), set()) - - def test_devel(self) -> None: -- """Test: Get latest development Ubuntu distribution.""" -- self.assertEqual(self._distro_info.devel(self._date), "natty") -+ """Test: Get latest development Trisquel distribution.""" -+ self.assertEqual(self._distro_info.devel(self._date), "dagda") - - def test_lts(self) -> None: -- """Test: Get latest long term support (LTS) Ubuntu distribution.""" -- self.assertEqual(self._distro_info.lts(self._date), "lucid") -+ """Test: Get latest long term support (LTS) Trisquel distribution.""" -+ self.assertEqual(self._distro_info.lts(self._date), "taranis") - - def test_stable(self) -> None: -- """Test: Get latest stable Ubuntu distribution.""" -- self.assertEqual(self._distro_info.stable(self._date), "maverick") -+ """Test: Get latest stable Trisquel distribution.""" -+ self.assertEqual(self._distro_info.stable(self._date), "taranis") - - def test_supported(self) -> None: -- """Test: List all supported Ubuntu distribution.""" -- supported = ["dapper", "hardy", "karmic", "lucid", "maverick", "natty"] -+ """Test: List all supported Trisquel distribution.""" -+ supported = ["robur", "awen", "taranis", "slaine", "dagda"] - self.assertEqual(self._distro_info.supported(self._date), supported) - - def test_unsupported(self) -> None: -- """Test: List all unsupported Ubuntu distributions.""" -- unsupported = ["warty", "hoary", "breezy", "edgy", "feisty", "gutsy", "intrepid", "jaunty"] -+ """Test: List all unsupported Trisquel distributions.""" -+ unsupported = ["dwyn"] - self.assertEqual(self._distro_info.unsupported(self._date), unsupported) - - def test_current_unsupported(self) -> None: -- """Test: List all unsupported Ubuntu distributions today.""" -- unsupported = {"warty", "hoary", "breezy", "edgy", "feisty", "gutsy", "intrepid", "jaunty"} -+ """Test: List all unsupported Trisquel distributions today.""" -+ unsupported = {"robur", "dwyn"} - self.assertEqual(unsupported - set(str(d) for d in self._distro_info.unsupported()), set()) - - def test_valid(self) -> None: -- """Test: Check for valid Ubuntu distribution.""" -- self.assertTrue(self._distro_info.valid("lucid")) -+ """Test: Check for valid Trisquel distribution.""" -+ self.assertTrue(self._distro_info.valid("taranis")) - self.assertFalse(self._distro_info.valid("42")) - - def test_is_lts(self) -> None: -- """Test: Check if Ubuntu distribution is an LTS.""" -- self.assertTrue(self._distro_info.is_lts("lucid")) -+ """Test: Check if Trisquel distribution is an LTS.""" -+ self.assertTrue(self._distro_info.is_lts("taranis")) - self.assertFalse(self._distro_info.is_lts("42")) - self.assertFalse(self._distro_info.is_lts("warty")) - - def test_codename(self) -> None: - """Test: Check result set to codename.""" -- self.assertEqual(self._distro_info.lts(self._date, "codename"), "lucid") -- self.assertEqual(self._distro_info.devel(self._date, result="codename"), "natty") -+ self.assertEqual(self._distro_info.lts(self._date, "codename"), "taranis") -+ self.assertEqual(self._distro_info.devel(self._date, result="codename"), "dagda") - - def test_version(self) -> None: - """Test: Check result set to version.""" -- self.assertEqual(self._distro_info.version("lucid"), "10.04 LTS") -- self.assertEqual(self._distro_info.version("Maverick Meerkat"), "10.10") -+ self.assertEqual(self._distro_info.version("taranis"), "4.0 LTS") -+ self.assertEqual(self._distro_info.version("Slaine"), "4.5") - - def test_fullname(self) -> None: - """Test: Check result set to fullname.""" - self.assertEqual( -- self._distro_info.stable(self._date, "fullname"), 'Ubuntu 10.10 "Maverick Meerkat"' -+ self._distro_info.stable(self._date, "fullname"), 'Trisquel 4.0 LTS "Taranis"' - ) - self.assertEqual( -- self._distro_info.lts(self._date, result="fullname"), 'Ubuntu 10.04 LTS "Lucid Lynx"' -+ self._distro_info.lts(self._date, result="fullname"), 'Trisquel 4.0 LTS "Taranis"' - ) - - def test_release(self) -> None: - """Test: Check result set to release.""" -- self.assertEqual(self._distro_info.devel(self._date, "release"), "11.04") -- self.assertEqual(self._distro_info.lts(self._date, result="release"), "10.04 LTS") -+ self.assertEqual(self._distro_info.devel(self._date, "release"), "5.0") -+ self.assertEqual(self._distro_info.lts(self._date, result="release"), "4.0 LTS") diff --git a/helpers/DATA/dpkg/Trisquel.pm b/helpers/DATA/dpkg/Trisquel.pm new file mode 100644 index 0000000..3710ff7 --- /dev/null +++ b/helpers/DATA/dpkg/Trisquel.pm @@ -0,0 +1,100 @@ +# Copyright © 2008 Ian Jackson +# Copyright © 2008 Canonical, Ltd. +# written by Colin Watson +# Copyright © 2008 James Westby +# Copyright © 2009 Raphaël Hertzog +# Copyright © 2022 Ruben Rodriguez +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +package Dpkg::Vendor::Trisquel; + +use strict; +use warnings; + +our $VERSION = '0.01'; + +use Dpkg::ErrorHandling; +use Dpkg::Gettext; +use Dpkg::Control::Types; + +use parent qw(Dpkg::Vendor::Debian); + +=encoding utf8 + +=head1 NAME + +Dpkg::Vendor::Trisquel - Trisquel vendor class + +=head1 DESCRIPTION + +This vendor class customizes the behaviour of dpkg scripts for Trisquel +specific behavior and policies. + +=cut + +sub run_hook { + my ($self, $hook, @params) = @_; + + if ($hook eq 'package-keyrings') { + return ($self->SUPER::run_hook($hook), + '/usr/share/keyrings/trisquel-archive-keyring.gpg'); + } elsif ($hook eq 'archive-keyrings') { + return ($self->SUPER::run_hook($hook), + '/usr/share/keyrings/trisquel-archive-keyring.gpg'); + } elsif ($hook eq 'archive-keyrings-historic') { + return ($self->SUPER::run_hook($hook), + '/usr/share/keyrings/trisquel-archive-removed-keys.gpg'); + } elsif ($hook eq 'update-buildflags') { + my $flags = shift @params; + + # Run the Debian hook to add hardening flags + $self->SUPER::run_hook($hook, $flags); + + require Dpkg::BuildOptions; + + my $build_opts = Dpkg::BuildOptions->new(); + + if (!$build_opts->has('noopt')) { + require Dpkg::Arch; + + my $arch = Dpkg::Arch::get_host_arch(); + if (Dpkg::Arch::debarch_eq($arch, 'ppc64el')) { + for my $flag (qw(CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS GCJFLAGS + FFLAGS FCFLAGS)) { + my $value = $flags->get($flag); + $value =~ s/-O[0-9]/-O3/; + $flags->set($flag, $value); + } + } + } + # Per https://wiki.ubuntu.com/DistCompilerFlags + $flags->prepend('LDFLAGS', '-Wl,-Bsymbolic-functions'); + } else { + return $self->SUPER::run_hook($hook, @params); + } + + # Default return value for unknown/unimplemented hooks + return; +} + +=head1 CHANGES + +=head2 Version 0.xx + +This is a private module. + +=cut + +1; diff --git a/helpers/DATA/dpkg/patch-Makefile_in_am-to-add-trisquel-options.patch b/helpers/DATA/dpkg/patch-Makefile_in_am-to-add-trisquel-options.patch deleted file mode 100644 index fb618d4..0000000 --- a/helpers/DATA/dpkg/patch-Makefile_in_am-to-add-trisquel-options.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/scripts/Makefile.am b/scripts/Makefile.am -index 8d39d24..c69d88d 100644 ---- a/scripts/Makefile.am -+++ b/scripts/Makefile.am -@@ -89,6 +89,7 @@ nobase_dist_perllib_DATA = \ - Dpkg/Vendor/Default.pm \ - Dpkg/Vendor/Devuan.pm \ - Dpkg/Vendor/Ubuntu.pm \ -+ Dpkg/Vendor/Trisquel.pm \ - Dpkg/Version.pm \ - Dpkg.pm \ - # EOL -@@ -237,6 +238,7 @@ test_scripts = \ - t/Dpkg_BuildEnv.t \ - t/Dpkg_BuildFlags.t \ - t/Dpkg_BuildFlags_Ubuntu.t \ -+ t/Dpkg_BuildFlags_Trisquel.t - t/Dpkg_BuildInfo.t \ - t/Dpkg_BuildOptions.t \ - t/Dpkg_BuildProfiles.t \ -@@ -258,6 +260,7 @@ test_scripts = \ - t/Dpkg_Vendor.t \ - t/Dpkg_Changelog.t \ - t/Dpkg_Changelog_Ubuntu.t \ -+ t/Dpkg_Changelog_Trisquel.t \ - t/Dpkg_Control_Fields.t \ - t/Dpkg_Control.t \ - t/Dpkg_Control_Tests.t \ -diff --git a/scripts/Makefile.in b/scripts/Makefile.in -index 8b0a61f..74a035f 100644 ---- a/scripts/Makefile.in -+++ b/scripts/Makefile.in -@@ -548,6 +548,7 @@ nobase_dist_perllib_DATA = \ - Dpkg/Vendor/Default.pm \ - Dpkg/Vendor/Devuan.pm \ - Dpkg/Vendor/Ubuntu.pm \ -+ Dpkg/Vendor/Trisquel.pm \ - Dpkg/Version.pm \ - Dpkg.pm \ - # EOL -@@ -644,6 +645,7 @@ test_scripts = \ - t/Dpkg_BuildEnv.t \ - t/Dpkg_BuildFlags.t \ - t/Dpkg_BuildFlags_Ubuntu.t \ -+ t/Dpkg_BuildFlags_Trisquel.t \ - t/Dpkg_BuildInfo.t \ - t/Dpkg_BuildOptions.t \ - t/Dpkg_BuildProfiles.t \ -@@ -665,6 +667,7 @@ test_scripts = \ - t/Dpkg_Vendor.t \ - t/Dpkg_Changelog.t \ - t/Dpkg_Changelog_Ubuntu.t \ -+ t/Dpkg_Changelog_Trisquel.t \ - t/Dpkg_Control_Fields.t \ - t/Dpkg_Control.t \ - t/Dpkg_Control_Tests.t \ diff --git a/helpers/DATA/dpkg/patch-Trisquel_pm-from-Ubuntu_pm.patch b/helpers/DATA/dpkg/patch-Trisquel_pm-from-Ubuntu_pm.patch deleted file mode 100644 index 75fc55d..0000000 --- a/helpers/DATA/dpkg/patch-Trisquel_pm-from-Ubuntu_pm.patch +++ /dev/null @@ -1,154 +0,0 @@ -diff --git a/scripts/Dpkg/Vendor/Trisquel.pm b/scripts/Dpkg/Vendor/Trisquel.pm -index 383d5cc..8b65c43 100644 ---- a/scripts/Dpkg/Vendor/Trisquel.pm -+++ b/scripts/Dpkg/Vendor/Trisquel.pm -@@ -3,6 +3,8 @@ - # written by Colin Watson - # Copyright © 2008 James Westby - # Copyright © 2009 Raphaël Hertzog -+# Copyright © 2022 Ruben Rodriguez -+# Copyright © 2024 Luis Guzman - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -21,18 +23,18 @@ - - =head1 NAME - --Dpkg::Vendor::Ubuntu - Ubuntu vendor class -+Dpkg::Vendor::Trisquel - Trisquel vendor class - - =head1 DESCRIPTION - --This vendor class customizes the behavior of dpkg scripts for Ubuntu -+This vendor class customizes the behavior of dpkg scripts for Trisquel - specific behavior and policies. - - B: This is a private module, its API can change at any time. - - =cut - --package Dpkg::Vendor::Ubuntu 0.01; -+package Dpkg::Vendor::Trisquel 0.01; - - use strict; - use warnings; -@@ -48,71 +50,20 @@ use parent qw(Dpkg::Vendor::Debian); - sub run_hook { - my ($self, $hook, @params) = @_; - -- if ($hook eq 'before-source-build') { -- my $src = shift @params; -- my $fields = $src->{fields}; -- -- # check that Maintainer/XSBC-Original-Maintainer comply to -- # https://wiki.ubuntu.com/DebianMaintainerField -- if (defined($fields->{'Version'}) and defined($fields->{'Maintainer'}) and -- $fields->{'Version'} =~ /ubuntu/) { -- if ($fields->{'Maintainer'} !~ /(?:ubuntu|canonical)/i) { -- if (length $ENV{DEBEMAIL} and $ENV{DEBEMAIL} =~ /\@(?:ubuntu|canonical)\.com/) { -- error(g_('Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address')); -- } else { -- warning(g_('Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address')); -- } -- } -- unless ($fields->{'Original-Maintainer'}) { -- warning(g_('Version number suggests Ubuntu changes, but there is no XSBC-Original-Maintainer field')); -- } -- } -- } elsif ($hook eq 'package-keyrings') { -+ if ($hook eq 'package-keyrings') { - return ($self->SUPER::run_hook($hook), -- '/usr/share/keyrings/ubuntu-archive-keyring.gpg'); -+ '/usr/share/keyrings/trisquel-archive-keyring.gpg'); - } elsif ($hook eq 'archive-keyrings') { - return ($self->SUPER::run_hook($hook), -- '/usr/share/keyrings/ubuntu-archive-keyring.gpg'); -+ '/usr/share/keyrings/trisquel-archive-keyring.gpg'); - } elsif ($hook eq 'archive-keyrings-historic') { - return ($self->SUPER::run_hook($hook), -- '/usr/share/keyrings/ubuntu-archive-removed-keys.gpg'); -- } elsif ($hook eq 'register-custom-fields') { -- my @field_ops = $self->SUPER::run_hook($hook); -- push @field_ops, [ -- 'register', 'Launchpad-Bugs-Fixed', -- CTRL_FILE_CHANGES | CTRL_CHANGELOG, -- ], [ -- 'insert_after', CTRL_FILE_CHANGES, 'Closes', 'Launchpad-Bugs-Fixed', -- ], [ -- 'insert_after', CTRL_CHANGELOG, 'Closes', 'Launchpad-Bugs-Fixed', -- ]; -- return @field_ops; -- } elsif ($hook eq 'post-process-changelog-entry') { -- my $fields = shift @params; -- -- # Add Launchpad-Bugs-Fixed field -- my $bugs = find_launchpad_closes($fields->{'Changes'} // ''); -- if (scalar(@$bugs)) { -- $fields->{'Launchpad-Bugs-Fixed'} = join(' ', @$bugs); -- } -- } elsif ($hook eq 'update-buildopts') { -- my $build_opts = shift @params; -- require Dpkg::Arch; -- my $arch = Dpkg::Arch::get_host_arch(); -- if (Dpkg::Arch::debarch_eq($arch, 'riscv64')) { -- $build_opts->set('nocheck', 1, 'riscv64'); -- } -- } elsif ($hook eq 'update-buildprofiles') { -- my $build_profiles_ref = shift @params; -- unless(grep $_ =~ /^!?noudeb$/, @$build_profiles_ref) { -- unshift(@$build_profiles_ref, 'noudeb'); -- } else { -- # Strip otherwise invalid profile name -- @$build_profiles_ref = grep { $_ ne "!noudeb" } @$build_profiles_ref; -- } -+ '/usr/share/keyrings/trisquel-archive-removed-keys.gpg'); - } else { - return $self->SUPER::run_hook($hook, @params); - } -+ # Default return value for unknown/unimplemented hooks -+ return; - } - - sub _lto_disabled { -@@ -289,39 +240,11 @@ sub add_build_flags { - return; - } - --=head1 PUBLIC FUNCTIONS -- --=over -- --=item $bugs = Dpkg::Vendor::Ubuntu::find_launchpad_closes($changes) -- --Takes one string as argument and finds "LP: #123456, #654321" statements, --which are references to bugs on Launchpad. Returns all closed bug --numbers in an array reference. -- --=cut -- --sub find_launchpad_closes { -- my $changes = shift; -- my %closes; -- -- while ($changes && -- ($changes =~ /lp:\s+\#\d+(?:,\s*\#\d+)*/pig)) { -- $closes{$_} = 1 foreach (${^MATCH} =~ /\#?\s?(\d+)/g); -- } -- -- my @closes = sort { $a <=> $b } keys %closes; -- -- return \@closes; --} -- --=back -- - =head1 CHANGES - - =head2 Version 0.xx - --This is a semi-private module. Only documented functions are public. -+This is a private module. - - =cut - diff --git a/helpers/DATA/electrum/replace_distutils_by_packaging.patch b/helpers/DATA/electrum/replace_distutils_by_packaging.patch deleted file mode 100644 index 01263b5..0000000 --- a/helpers/DATA/electrum/replace_distutils_by_packaging.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/electrum/gui/qt/update_checker.py b/electrum/gui/qt/update_checker.py -index fa3ad989..998e746f 100644 ---- a/electrum/gui/qt/update_checker.py -+++ b/electrum/gui/qt/update_checker.py -@@ -16,7 +16,7 @@ from electrum.i18n import _ - from electrum.util import make_aiohttp_session - from electrum.logging import Logger - from electrum.network import Network --from electrum._vendor.distutils.version import StrictVersion -+import packaging.version - - - class UpdateCheck(QDialog, Logger): -@@ -76,7 +76,7 @@ class UpdateCheck(QDialog, Logger): - - @staticmethod - def is_newer(latest_version): -- return latest_version > StrictVersion(version.ELECTRUM_VERSION) -+ return latest_version > packaging.version(version.ELECTRUM_VERSION) - - def update_view(self, latest_version=None): - if latest_version: -@@ -129,7 +129,7 @@ class UpdateCheckThread(QThread, Logger): - break - else: - raise Exception('no valid signature for version announcement') -- return StrictVersion(version_num.strip()) -+ return packaging.version(version_num.strip()) - - def run(self): - if not self.network: -diff --git a/debian/control b/debian/control -index 6b24e90c..2a3f3436 100644 ---- a/debian/control -+++ b/debian/control -@@ -24,6 +24,7 @@ Build-Depends: - python3-dnspython (>= 2.0), - python3-ecdsa (>= 0.14), - python3-kivy, -+ python3-packaging, - python3-pbkdf2, - python3-protobuf (>= 3.12), - python3-pyaes, diff --git a/helpers/DATA/emacs/patch_changes/000-add_custom_libs_imagemagic_tree-sitter_json.patch b/helpers/DATA/emacs/patch_changes/000-add_custom_libs_imagemagic_tree-sitter_json.patch new file mode 100644 index 0000000..8f9640f --- /dev/null +++ b/helpers/DATA/emacs/patch_changes/000-add_custom_libs_imagemagic_tree-sitter_json.patch @@ -0,0 +1,41 @@ +diff --git a/debian/rules b/debian/rules +index 2aaaef13..db5d184f 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -297,6 +297,9 @@ confflags_gtk := $(confflags) + confflags_gtk += --with-cairo + confflags_gtk += --with-x=yes + confflags_gtk += --with-x-toolkit=gtk3 ++confflags_gtk += --with-imagemagick ++#confflags_gtk += --with-tree-sitter ++confflags_gtk += --with-json + # For those who prefer the old-style non-toolkit scrollbars, just + # change the assignment below to --without-toolkit-scroll-bars. The + # resulting emacs-gtk package will have the old scrollbars. +@@ -317,6 +320,9 @@ confflags_lucid += --with-x=yes + confflags_lucid += --with-x-toolkit=lucid + confflags_lucid += --with-toolkit-scroll-bars + confflags_lucid += --without-gsettings ++confflags_gtk += --with-imagemagick ++#confflags_gtk += --with-tree-sitter ++confflags_gtk += --with-json + + define cfg_tree + cd $(1) && \ +diff --git a/debian/control b/debian/control +index 005b695..169abfc 100644 +--- a/debian/control ++++ b/debian/control +@@ -26,10 +26,12 @@ Build-Depends: + libgpm-dev [linux-any], + libgtk-3-dev, + libharfbuzz-dev, ++ libjansson-dev, + libjpeg-dev, + liblcms2-dev, + liblockfile-dev, + libm17n-dev, ++ libmagickwand-dev, + libncurses-dev, + liboss4-salsa-dev [hurd-i386 kfreebsd-i386 kfreebsd-amd64], + libotf-dev, diff --git a/helpers/DATA/eom/patch_changes/001-361_add_helper_to_get_content_type.patch b/helpers/DATA/eom/patch_changes/001-361_add_helper_to_get_content_type.patch deleted file mode 100644 index b25c20d..0000000 --- a/helpers/DATA/eom/patch_changes/001-361_add_helper_to_get_content_type.patch +++ /dev/null @@ -1,406 +0,0 @@ -From 1dcda49f5ca719dfea822a34ac7925246875240f Mon Sep 17 00:00:00 2001 -From: Victor Kareh -Date: Thu, 24 Jul 2025 09:23:56 -0400 -Subject: [PATCH 1/2] EomUtil: Add helper to get content type from GFileInfos - -This prefers the real content type, but automatically falls back to the -fast content type the other one isn't set in the GFileInfo. - -Backported from https://gitlab.gnome.org/GNOME/eog/-/commit/4f80d090fd8f27c8d430dfe5931ea53446643ec7 ---- - src/eom-util.c | 18 ++++++++++++++++++ - src/eom-util.h | 3 +++ - 2 files changed, 21 insertions(+) - -diff --git a/src/eom-util.c b/src/eom-util.c -index e9142235..a839f6fd 100644 ---- a/src/eom-util.c -+++ b/src/eom-util.c -@@ -482,3 +482,21 @@ eom_notebook_scroll_event_cb (GtkWidget *widget, - - return TRUE; - } -+ -+const char* -+eom_util_get_content_type_with_fallback (GFileInfo *file_info) -+{ -+ g_return_val_if_fail (file_info != NULL, NULL); -+ -+ if (g_file_info_has_attribute (file_info, -+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE)) -+ return g_file_info_get_content_type (file_info); -+ else if (g_file_info_has_attribute (file_info, -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE)) -+ return g_file_info_get_attribute_string (file_info, -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE); -+ else -+ g_warn_if_reached (); -+ -+ return NULL; -+} -diff --git a/src/eom-util.h b/src/eom-util.h -index d08b88ae..9f2c3704 100644 ---- a/src/eom-util.h -+++ b/src/eom-util.h -@@ -68,6 +68,9 @@ void eom_util_show_file_in_filemanager (GFile *file, - gboolean eom_notebook_scroll_event_cb (GtkWidget *notebook, - GdkEventScroll *event); - -+G_GNUC_INTERNAL -+const char *eom_util_get_content_type_with_fallback (GFileInfo *file_info); -+ - G_END_DECLS - - #endif /* __EOM_UTIL_H__ */ - -From f1275445e638d3c38c93457227602b7314f59d86 Mon Sep 17 00:00:00 2001 -From: Victor Kareh -Date: Thu, 24 Jul 2025 09:26:33 -0400 -Subject: [PATCH 2/2] Eom*: Use fast content type as fallback - -It turns out that, depending on the responsible GVfs implementation, -a GFileInfo may not actually set the content type attribute even if -requested. Since knowing the content type is rather critical for eom -try to use the fast content type as a fallback in those cases. - -The fast content type should be hardly unknown as it is usually just -based on the file extension. - -Fixes #360. - -Backported from https://gitlab.gnome.org/GNOME/eog/-/commit/de19faf73c8d8627193320d512c8b97316d9740c ---- - src/eom-file-chooser.c | 6 ++++-- - src/eom-image.c | 8 +++++--- - src/eom-jobs.c | 7 +++++-- - src/eom-list-store.c | 18 ++++++++++++------ - src/eom-metadata-sidebar.c | 5 +++-- - src/eom-properties-dialog.c | 5 +++-- - src/eom-thumb-view.c | 6 ++++-- - src/eom-thumbnail.c | 4 +++- - src/eom-window.c | 10 ++++++---- - 9 files changed, 45 insertions(+), 24 deletions(-) - -diff --git a/src/eom-file-chooser.c b/src/eom-file-chooser.c -index 5d82901d..5c366fae 100644 ---- a/src/eom-file-chooser.c -+++ b/src/eom-file-chooser.c -@@ -22,6 +22,7 @@ - #include "eom-file-chooser.h" - #include "eom-config-keys.h" - #include "eom-pixbuf-util.h" -+#include "eom-util.h" - - #include - -@@ -333,7 +334,8 @@ update_preview_cb (GtkFileChooser *file_chooser, gpointer data) - G_FILE_ATTRIBUTE_TIME_MODIFIED "," - G_FILE_ATTRIBUTE_STANDARD_TYPE "," - G_FILE_ATTRIBUTE_STANDARD_SIZE "," -- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, -+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE"," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, - 0, NULL, NULL); - g_object_unref (file); - -@@ -352,7 +354,7 @@ update_preview_cb (GtkFileChooser *file_chooser, gpointer data) - /* read files smaller than 100kb directly */ - - gchar *mime_type = g_content_type_get_mime_type ( -- g_file_info_get_content_type (file_info)); -+ eom_util_get_content_type_with_fallback (file_info)); - - if (G_LIKELY (mime_type)) { - gboolean can_thumbnail, has_failed; -diff --git a/src/eom-image.c b/src/eom-image.c -index f24b5282..e9741efe 100644 ---- a/src/eom-image.c -+++ b/src/eom-image.c -@@ -589,7 +589,8 @@ eom_image_get_file_info (EomImage *img, - - file_info = g_file_query_info (img->priv->file, - G_FILE_ATTRIBUTE_STANDARD_SIZE "," -- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, -+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, - 0, NULL, error); - - if (file_info == NULL) { -@@ -607,8 +608,9 @@ eom_image_get_file_info (EomImage *img, - if (bytes) - *bytes = g_file_info_get_size (file_info); - -- if (mime_type) -- *mime_type = g_strdup (g_file_info_get_content_type (file_info)); -+ if (mime_type) { -+ *mime_type = g_strdup (eom_util_get_content_type_with_fallback (file_info)); -+ } - g_object_unref (file_info); - } - } -diff --git a/src/eom-jobs.c b/src/eom-jobs.c -index 71042681..0b518004 100644 ---- a/src/eom-jobs.c -+++ b/src/eom-jobs.c -@@ -30,6 +30,7 @@ - #include "eom-list-store.h" - #include "eom-thumbnail.h" - #include "eom-pixbuf-util.h" -+#include "eom-util.h" - - #include - -@@ -385,7 +386,9 @@ filter_files (GSList *files, GList **file_list, GList **error_list) - - if (file != NULL) { - file_info = g_file_query_info (file, -- G_FILE_ATTRIBUTE_STANDARD_TYPE","G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, -+ G_FILE_ATTRIBUTE_STANDARD_TYPE"," -+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE"," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, - 0, NULL, NULL); - if (file_info == NULL) { - type = G_FILE_TYPE_UNKNOWN; -@@ -397,7 +400,7 @@ filter_files (GSList *files, GList **file_list, GList **error_list) - if (G_UNLIKELY (type == G_FILE_TYPE_UNKNOWN)) { - const gchar *ctype; - -- ctype = g_file_info_get_content_type (file_info); -+ ctype = eom_util_get_content_type_with_fallback (file_info); - - /* If the content type is supported - adjust the file_type */ -diff --git a/src/eom-list-store.c b/src/eom-list-store.c -index 3d1a9c68..9336614b 100644 ---- a/src/eom-list-store.c -+++ b/src/eom-list-store.c -@@ -26,6 +26,7 @@ - #include "eom-image.h" - #include "eom-job-queue.h" - #include "eom-jobs.h" -+#include "eom-util.h" - - #include - -@@ -378,12 +379,13 @@ file_monitor_changed_cb (GFileMonitor *monitor, - case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: - file_info = g_file_query_info (file, - G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE "," - G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, - 0, NULL, NULL); - if (file_info == NULL) { - break; - } -- mimetype = g_file_info_get_content_type (file_info); -+ mimetype = eom_util_get_content_type_with_fallback (file_info); - - if (is_file_in_list_store_file (store, file, &iter)) { - if (eom_image_is_supported_mime_type (mimetype)) { -@@ -419,12 +421,13 @@ file_monitor_changed_cb (GFileMonitor *monitor, - if (!is_file_in_list_store_file (store, file, NULL)) { - file_info = g_file_query_info (file, - G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE "," - G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, - 0, NULL, NULL); - if (file_info == NULL) { - break; - } -- mimetype = g_file_info_get_content_type (file_info); -+ mimetype = eom_util_get_content_type_with_fallback (file_info); - - if (eom_image_is_supported_mime_type (mimetype)) { - const gchar *caption; -@@ -437,12 +440,13 @@ file_monitor_changed_cb (GFileMonitor *monitor, - break; - case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: - file_info = g_file_query_info (file, -- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, -+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, - 0, NULL, NULL); - if (file_info == NULL) { - break; - } -- mimetype = g_file_info_get_content_type (file_info); -+ mimetype = eom_util_get_content_type_with_fallback (file_info); - if (is_file_in_list_store_file (store, file, &iter) && - eom_image_is_supported_mime_type (mimetype)) { - eom_list_store_thumbnail_refresh (store, &iter); -@@ -468,7 +472,7 @@ directory_visit (GFile *directory, - gboolean load_uri = FALSE; - const char *mime_type, *name; - -- mime_type = g_file_info_get_content_type (children_info); -+ mime_type = eom_util_get_content_type_with_fallback (children_info); - name = g_file_info_get_name (children_info); - - if (!g_str_has_prefix (name, ".")) { -@@ -512,6 +516,7 @@ eom_list_store_append_directory (EomListStore *store, - - file_enumerator = g_file_enumerate_children (file, - G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE "," - G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME "," - G_FILE_ATTRIBUTE_STANDARD_NAME, - 0, NULL, NULL); -@@ -565,6 +570,7 @@ eom_list_store_add_files (EomListStore *store, GList *file_list, gboolean preser - file_info = g_file_query_info (file, - G_FILE_ATTRIBUTE_STANDARD_TYPE"," - G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE"," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE"," - G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, - 0, NULL, NULL); - if (file_info == NULL) { -@@ -578,7 +584,7 @@ eom_list_store_add_files (EomListStore *store, GList *file_list, gboolean preser - if (G_UNLIKELY (file_type == G_FILE_TYPE_UNKNOWN)) { - const gchar *ctype; - -- ctype = g_file_info_get_content_type (file_info); -+ ctype = eom_util_get_content_type_with_fallback (file_info); - - /* If the content type is supported adjust file_type */ - if (eom_image_is_supported_mime_type (ctype)) -diff --git a/src/eom-metadata-sidebar.c b/src/eom-metadata-sidebar.c -index 9b8fc8b8..2dbde74b 100644 ---- a/src/eom-metadata-sidebar.c -+++ b/src/eom-metadata-sidebar.c -@@ -158,14 +158,15 @@ eom_metadata_sidebar_update_general_section (EomMetadataSidebar *sidebar) - - file = eom_image_get_file (img); - file_info = g_file_query_info (file, -- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, -+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE"," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, - 0, NULL, NULL); - if (file_info == NULL) { - str = g_strdup (_("Unknown")); - } else { - const gchar *mime_str; - -- mime_str = g_file_info_get_content_type (file_info); -+ mime_str = eom_util_get_content_type_with_fallback (file_info); - str = g_content_type_get_description (mime_str); - g_object_unref (file_info); - } -diff --git a/src/eom-properties-dialog.c b/src/eom-properties-dialog.c -index 0bad997d..480b3f74 100644 ---- a/src/eom-properties-dialog.c -+++ b/src/eom-properties-dialog.c -@@ -173,12 +173,13 @@ pd_update_general_tab (EomPropertiesDialog *prop_dlg, - - file = eom_image_get_file (image); - file_info = g_file_query_info (file, -- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, -+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE"," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, - 0, NULL, NULL); - if (file_info == NULL) { - type_str = g_strdup (_("Unknown")); - } else { -- mime_str = g_file_info_get_content_type (file_info); -+ mime_str = eom_util_get_content_type_with_fallback (file_info); - type_str = g_content_type_get_description (mime_str); - g_object_unref (file_info); - } -diff --git a/src/eom-thumb-view.c b/src/eom-thumb-view.c -index 0b28440d..332d180a 100644 ---- a/src/eom-thumb-view.c -+++ b/src/eom-thumb-view.c -@@ -27,6 +27,7 @@ - #include "eom-list-store.h" - #include "eom-image.h" - #include "eom-job-queue.h" -+#include "eom-util.h" - - #ifdef HAVE_EXIF - #include "eom-exif-util.h" -@@ -494,7 +495,8 @@ thumbview_get_tooltip_string (EomImage *image) - - file = eom_image_get_file (image); - file_info = g_file_query_info (file, -- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, -+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE"," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, - 0, NULL, NULL); - g_object_unref (file); - if (file_info == NULL) { -@@ -502,7 +504,7 @@ thumbview_get_tooltip_string (EomImage *image) - return NULL; - } - -- mime_str = g_file_info_get_content_type (file_info); -+ mime_str = eom_util_get_content_type_with_fallback (file_info); - - if (G_UNLIKELY (mime_str == NULL)) { - g_free (bytes); -diff --git a/src/eom-thumbnail.c b/src/eom-thumbnail.c -index 6a278b31..30a5760a 100644 ---- a/src/eom-thumbnail.c -+++ b/src/eom-thumbnail.c -@@ -36,6 +36,7 @@ - #include "eom-thumbnail.h" - #include "eom-list-store.h" - #include "eom-debug.h" -+#include "eom-util.h" - - #define EOM_THUMB_ERROR eom_thumb_error_quark () - -@@ -161,6 +162,7 @@ eom_thumb_data_new (GFile *file, GError **error) - - file_info = g_file_query_info (file, - G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE "," - G_FILE_ATTRIBUTE_TIME_MODIFIED "," - G_FILE_ATTRIBUTE_THUMBNAIL_PATH "," - G_FILE_ATTRIBUTE_THUMBNAILING_FAILED "," -@@ -176,7 +178,7 @@ eom_thumb_data_new (GFile *file, GError **error) - /* if available, copy data */ - data->mtime = g_file_info_get_attribute_uint64 (file_info, - G_FILE_ATTRIBUTE_TIME_MODIFIED); -- data->mime_type = g_strdup (g_file_info_get_content_type (file_info)); -+ data->mime_type = g_strdup (eom_util_get_content_type_with_fallback (file_info)); - - data->thumb_exists = (g_file_info_get_attribute_byte_string (file_info, - G_FILE_ATTRIBUTE_THUMBNAIL_PATH) != NULL); -diff --git a/src/eom-window.c b/src/eom-window.c -index c039d67c..3d572f9d 100644 ---- a/src/eom-window.c -+++ b/src/eom-window.c -@@ -738,7 +738,8 @@ add_file_to_recent_files (GFile *file) - return FALSE; - - file_info = g_file_query_info (file, -- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, -+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE"," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, - 0, NULL, NULL); - if (file_info == NULL) - return FALSE; -@@ -746,7 +747,7 @@ add_file_to_recent_files (GFile *file) - recent_data = g_slice_new (GtkRecentData); - recent_data->display_name = NULL; - recent_data->description = NULL; -- recent_data->mime_type = (gchar *) g_file_info_get_content_type (file_info); -+ recent_data->mime_type = (gchar *) eom_util_get_content_type_with_fallback (file_info); - recent_data->app_name = EOM_RECENT_FILES_APP_NAME; - recent_data->app_exec = g_strjoin(" ", g_get_prgname (), "%u", NULL); - recent_data->groups = groups; -@@ -955,13 +956,14 @@ eom_window_update_openwith_menu (EomWindow *window, EomImage *image) - - file = eom_image_get_file (image); - file_info = g_file_query_info (file, -- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, -+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE"," -+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, - 0, NULL, NULL); - - if (file_info == NULL) - return; - else { -- mime_type = g_file_info_get_content_type (file_info); -+ mime_type = eom_util_get_content_type_with_fallback (file_info); - } - - if (priv->open_with_menu_id != 0) { diff --git a/helpers/DATA/epiphany-browser/patch_changes/000-force_disable_gl_tests.patch b/helpers/DATA/epiphany-browser/patch_changes/000-force_disable_gl_tests.patch deleted file mode 100644 index 1590440..0000000 --- a/helpers/DATA/epiphany-browser/patch_changes/000-force_disable_gl_tests.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/tests/meson.build b/tests/meson.build -index 5528a6e4..4b63cb85 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -31,16 +31,17 @@ if get_option('unit_tests').enabled() - # env: envs - # ) - -- embed_shell_test = executable('test-ephy-embed-shell', -- 'ephy-embed-shell-test.c', -- adguard_resources, -- dependencies: ephymain_dep, -- c_args: test_cargs + ['-DTEST_DIR="' + meson.current_source_dir() + '"'], -- ) -- test('Embed shell test', -- embed_shell_test, -- env: envs -- ) -+ # TRISQUEL: Disabled test due builds env don't support OpenGL. -+ #embed_shell_test = executable('test-ephy-embed-shell', -+ # 'ephy-embed-shell-test.c', -+ # adguard_resources, -+ # dependencies: ephymain_dep, -+ # c_args: test_cargs + ['-DTEST_DIR="' + meson.current_source_dir() + '"'], -+ #) -+ #test('Embed shell test', -+ # embed_shell_test, -+ # env: envs -+ #) - - embed_utils_test = executable('test-ephy-embed-utils', - 'ephy-embed-utils-test.c', diff --git a/helpers/DATA/finish-install/09trisquel-uefi-splash b/helpers/DATA/finish-install/09trisquel-uefi-splash deleted file mode 100755 index 537e917..0000000 --- a/helpers/DATA/finish-install/09trisquel-uefi-splash +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# Enable 'splash' only on UEFI desktop installs, and only if Plymouth is present. -# Runs before 10update-initramfs, so we only call update-grub here. -# - -# Run only on UEFI installs -[ -d /sys/firmware/efi ] || exit 0 - -# Require plymouth in the target system (otherwise splash is pointless) -in-target dpkg -s plymouth >/dev/null 2>&1 || exit 0 - -# Heuristic “desktop present?” check — avoid debconf; rely on packages/DM. -if ! in-target sh -c ' - dpkg -s trisquel-desktop-common >/dev/null 2>&1 || - dpkg -s triskel >/dev/null 2>&1 || - dpkg -s trisquel-gnome >/dev/null 2>&1 || - dpkg -s trisquel-mini >/dev/null 2>&1 || - dpkg -s lightdm >/dev/null 2>&1 || - dpkg -s gdm3 >/dev/null 2>&1 || - dpkg -s sddm >/dev/null 2>&1 -'; then -# No desktop, then do nothing - exit 0 -fi - -CFG=/target/etc/default/grub -[ -f "$CFG" ] || exit 0 - -# If the key is missing entirely, create it with just "splash" -grep -q '^GRUB_CMDLINE_LINUX_DEFAULT=' "$CFG" \ - || echo 'GRUB_CMDLINE_LINUX_DEFAULT="splash"' >> "$CFG" - -# Normalize trivial cases: -# - empty quotes > "splash" -# - unquoted value > quote it -sed -i -r \ - -e 's/^GRUB_CMDLINE_LINUX_DEFAULT=""$/GRUB_CMDLINE_LINUX_DEFAULT="splash"/' \ - -e 's/^(GRUB_CMDLINE_LINUX_DEFAULT)=([^"].*)$/\1="\2"/' \ - "$CFG" - -# If 'splash' is already present, leave as-is; otherwise append it -grep -q '^GRUB_CMDLINE_LINUX_DEFAULT=.*\bsplash\b' "$CFG" || \ - sed -i -r 's/^(GRUB_CMDLINE_LINUX_DEFAULT="[^"]*)"/\1 splash"/' "$CFG" - -# Regenerate grub.cfg; never fail finish-install -in-target update-grub >/dev/null 2>&1 || true - -# Always succeed so remaining finish-install hooks run -exit 0 diff --git a/helpers/DATA/finish-install/fix_keyboard-configure-netinstall.patch b/helpers/DATA/finish-install/fix_keyboard-configure-netinstall.patch new file mode 100644 index 0000000..231ab51 --- /dev/null +++ b/helpers/DATA/finish-install/fix_keyboard-configure-netinstall.patch @@ -0,0 +1,16 @@ +diff -Nru finish-install-2.104+11.0trisquel0/finish-install.d/10update-initramfs finish-install-2.104+11.0trisquel0/finish-install.d/10update-initramfs +--- finish-install-2.104+11.0trisquel0/finish-install.d/10update-initramfs 2018-08-10 14:21:58.000000000 -0500 ++++ finish-install-2.104+11.0trisquel0/finish-install.d/10update-initramfs 2022-12-18 17:56:21.817264252 -0600 +@@ -4,7 +4,11 @@ + # update-initramfs to make sure one can type the passphrase + # (see #694156, workaround for #696773): + /bin/in-target \ +- /bin/sh -c "dpkg-query -s cryptsetup >/dev/null 2>&1 && dpkg-query -s console-setup >/dev/null 2>&1" ++ /bin/sh -c "dpkg-query -s console-setup >/dev/null 2>&1" ++ ++#Fix bug keyboard not using the selected layout. ++/bin/in-target \ ++ dpkg-reconfigure -f noninteractive keyboard-configuration + + if [ $? = 0 ]; then + echo "Encrypted LVM detected, refreshing initramfs" diff --git a/helpers/DATA/finish-install/patch_changes/001-fix_keyboard-configure-netinstall.patch b/helpers/DATA/finish-install/patch_changes/001-fix_keyboard-configure-netinstall.patch deleted file mode 100644 index 0101fe3..0000000 --- a/helpers/DATA/finish-install/patch_changes/001-fix_keyboard-configure-netinstall.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/finish-install.d/10update-initramfs b/finish-install.d/10update-initramfs -index f91557cb..6b35ce25 100755 ---- a/finish-install.d/10update-initramfs -+++ b/finish-install.d/10update-initramfs -@@ -6,8 +6,10 @@ log() { - - # If both cryptsetup and console-setup are installed, run update-initramfs to - # make sure one can type the passphrase (see #694156, workaround for #696773): --if /bin/in-target /bin/sh -c "dpkg-query -s cryptsetup >/dev/null 2>&1 && dpkg-query -s console-setup >/dev/null 2>&1"; then -+if /bin/in-target /bin/sh -c "dpkg-query -s console-setup >/dev/null 2>&1"; then - log "refresh initramfs for cryptsetup" -+ # Fix bug keyboard not using the selected layout. --Trisquel -+ /bin/in-target /bin/sh -c "dpkg-reconfigure -f noninteractive keyboard-configuration" - refresh=yes - fi - diff --git a/helpers/DATA/freedom-maker/0001-documentation_could-be-upstreamed.patch b/helpers/DATA/freedom-maker/0001-documentation_could-be-upstreamed.patch index 41707e2..4038e5c 100644 --- a/helpers/DATA/freedom-maker/0001-documentation_could-be-upstreamed.patch +++ b/helpers/DATA/freedom-maker/0001-documentation_could-be-upstreamed.patch @@ -1,5 +1,5 @@ diff --git a/README.md b/README.md -index 2ea7ebf3..aa30828e 100644 +index cd1815f..aaa7caa 100644 --- a/README.md +++ b/README.md @@ -26,31 +26,32 @@ tweaks, see the *Build Images* section below. @@ -28,35 +28,35 @@ index 2ea7ebf3..aa30828e 100644 -- *raspberry2*: RasbperryPi 2's SD card -- *raspberry3*: RasbperryPi 3's SD card -- *raspberry3-b-plus*: RasbperryPi 3 Model B+'s SD card --- *raspberry64*: Single image for Raspberry Pi 3B, Raspberry Pi 3B+ and Raspberry Pi 4B +-- *test*: build virtualbox i386 image and run diagnostics tests on it -- *virtualbox-amd64*: 64-bit image for the VirtualBox virtualization tool -- *virtualbox-i386*: 32-bit image for the VirtualBox virtualization tool +| target | description | +|-----------------------|-------------| -+| *a20-olinuxino-lime* | A20 OLinuXino Lime's SD card | -+| *a20-olinuxino-lime2* | A20 OLinuXino Lime2's SD card | -+| *a20-olinuxino-micro* | A20 OLinuXino MICRO's SD card | -+| *amd64* | Disk image for any machine with amd64 architecture | -+| *arm64* | Disk image for any machine with arm64/aarch64 architecture | -+| *armhf* | Disk image for any machine with arm32 architecture | -+| *banana-pro* | Banana Pro's SD card | -+| *beaglebone* | BeagleBone Black's SD card | -+| *cubieboard2* | Cubieboard2's SD card | -+| *cubietruck* | Cubietruck's SD card | -+| *i386* | Disk image for any machine with i386 architecture | -+| *lamobo-r1* | Lamobo R1 aka BananaPi Router SD card | -+| *orange-pi-zero* | Orange Pi Zero's SD card | -+| *pcduino3* | pcDuino3's SD card | -+| *pine64-lts* | Pine64 LTS board's SD card | -+| *pine64-plus* | Pine64+ board's SD card | -+| *qemu-amd64* | 64-bit image for the Qemu virtualization tool | -+| *qemu-i386* | 32-bit image for the Qemu virtualization tool | -+| *raspberry2* | RasbperryPi 2's SD card | -+| *raspberry3* | RasbperryPi 3's SD card | -+| *raspberry3-b-plus* | RasbperryPi 3 Model B+'s SD card | -+| *raspberry64* | Single image for Raspberry Pi 3B, Raspberry Pi 3B+ and Raspberry Pi 4B | -+| *virtualbox-amd64* | 64-bit image for the VirtualBox virtualization tool | -+| *virtualbox-i386* | 32-bit image for the VirtualBox virtualization tool | ++| *a20-olinuxino-lime* | A20 OLinuXino Lime's SD card | ++| *a20-olinuxino-lime2* | A20 OLinuXino Lime2's SD card | ++| *a20-olinuxino-micro* | A20 OLinuXino MICRO's SD card | ++| *amd64* | Disk image for any machine with amd64 architecture | ++| *arm64* | Disk image for any machine with arm64/aarch64 architecture | ++| *armhf* | Disk image for any machine with arm32 architecture | ++| *banana-pro* | Banana Pro's SD card | ++| *beaglebone* | BeagleBone Black's SD card | ++| *cubieboard2* | Cubieboard2's SD card | ++| *cubietruck* | Cubietruck's SD card | ++| *i386* | Disk image for any machine with i386 architecture | ++| *lamobo-r1* | Lamobo R1 aka BananaPi Router SD card | ++| *orange-pi-zero* | Orange Pi Zero's SD card | ++| *pcduino3* | pcDuino3's SD card | ++| *pine64-lts* | Pine64 LTS board's SD card | ++| *pine64-plus* | Pine64+ board's SD card | ++| *qemu-amd64* | 64-bit image for the Qemu virtualization tool | ++| *qemu-i386* | 32-bit image for the Qemu virtualization tool | ++| *raspberry2* | RasbperryPi 2's SD card | ++| *raspberry3* | RasbperryPi 3's SD card | ++| *raspberry3-b-plus* | RasbperryPi 3 Model B+'s SD card | ++| *test* | build virtualbox i386 image and run diagnostics tests on it ++| *virtualbox-amd64* | 64-bit image for the VirtualBox virtualization tool | ++| *virtualbox-i386* | 32-bit image for the VirtualBox virtualization tool | ## Running Build diff --git a/helpers/DATA/freedom-maker/0002-generalize-distro-fork-name_could-be-upstreamed.patch b/helpers/DATA/freedom-maker/0002-generalize-distro-fork-name_could-be-upstreamed.patch index 4f924ec..aa38523 100644 --- a/helpers/DATA/freedom-maker/0002-generalize-distro-fork-name_could-be-upstreamed.patch +++ b/helpers/DATA/freedom-maker/0002-generalize-distro-fork-name_could-be-upstreamed.patch @@ -11,31 +11,22 @@ index ca998d9..1b051e2 100644 # initramfs-tools is a dependency for the kernel-image package. However, when # kernel is not installed, as in case of Raspberry Pi image, explicit # dependency is needed. -diff --git a/freedommaker/builder.py b/freedommaker/builder.py -index e4ccddd5..1ec3026b 100644 ---- a/freedommaker/builder.py -+++ b/freedommaker/builder.py -@@ -87,10 +87,10 @@ class ImageBuilder: # pylint: disable=too-many-instance-attributes - """Return the Debian release components to use for the build.""" - components = ['main'] - if self.include_non_free_firmware: -- components.append('non-free-firmware') -+ components.append('libre') +@@ -114,14 +116,15 @@ class ImageBuilder(object): # pylint: disable=too-many-instance-attributes + elif 'contrib' in self.release_components: + free_tag = 'contrib' + else: +- free_tag = 'free' ++ free_tag = 'libre' + else: +- free_tag = 'nonfree' ++ free_tag = 'libre' - if self.include_contrib: -- components.append('contrib') -+ components.append('libre') - - if self.arguments.release_component: - for component in self.arguments.release_component: -@@ -120,8 +120,9 @@ class ImageBuilder: # pylint: disable=too-many-instance-attributes - """Return the base file name of the final image.""" build_stamp = self.arguments.build_stamp build_stamp = build_stamp + '_' if build_stamp else '' -- return 'freedombox-{distribution}_{build_stamp}{machine}' \ +- return 'freedombox-{distribution}-{free_tag}_{build_stamp}{machine}' \ + return '{distro}freedombox-{distribution}-{free_tag}_{build_stamp}_{machine}' \ '-{architecture}'.format( + distro=DISTRO_BRAND.lower() + '-' if DISTRO_BRAND else '', - distribution=self.arguments.distribution, + distribution=self.arguments.distribution, free_tag=free_tag, build_stamp=build_stamp, machine=self.machine, architecture=self.architecture) diff --git a/helpers/DATA/freedom-maker/0003-trisquelize-documentation.patch b/helpers/DATA/freedom-maker/0003-trisquelize-documentation.patch index 2ea68f0..4292ec1 100644 --- a/helpers/DATA/freedom-maker/0003-trisquelize-documentation.patch +++ b/helpers/DATA/freedom-maker/0003-trisquelize-documentation.patch @@ -31,16 +31,16 @@ index aaa7caa..293545b 100644 | target | description | |-----------------------|-------------| -@@ -42,25 +42,18 @@ Trisquel Freedom-maker supports building for the following targets: - | *pine64-plus* | Pine64+ board's SD card | - | *qemu-amd64* | 64-bit image for the Qemu virtualization tool | - | *qemu-i386* | 32-bit image for the Qemu virtualization tool | --| *raspberry2* | RasbperryPi 2's SD card | --| *raspberry3* | RasbperryPi 3's SD card | --| *raspberry3-b-plus* | RasbperryPi 3 Model B+'s SD card | --| *raspberry64* | Single image for Raspberry Pi 3B, Raspberry Pi 3B+ and Raspberry Pi 4B | --| *virtualbox-amd64* | 64-bit image for the VirtualBox virtualization tool | --| *virtualbox-i386* | 32-bit image for the VirtualBox virtualization tool | +@@ -46,25 +42,18 @@ Freedom-maker supports building for the following targets: + | *pine64-plus* | Pine64+ board's SD card | + | *qemu-amd64* | 64-bit image for the Qemu virtualization tool | + | *qemu-i386* | 32-bit image for the Qemu virtualization tool | +-| *raspberry2* | RasbperryPi 2's SD card | +-| *raspberry3* | RasbperryPi 3's SD card | +-| *raspberry3-b-plus* | RasbperryPi 3 Model B+'s SD card | +-| *test* | build virtualbox i386 image and run diagnostics tests on it +-| *virtualbox-amd64* | 64-bit image for the VirtualBox virtualization tool | +-| *virtualbox-i386* | 32-bit image for the VirtualBox virtualization tool | ## Running Build @@ -53,7 +53,7 @@ index aaa7caa..293545b 100644 2. Install the required dependencies: ```shell - $ sudo apt install binfmt-support btrfs-progs debootstrap dmsetup dosfstools fdisk git kpartx parted psmisc qemu-user-static qemu-utils sshpass sudo u-boot-tools xz-utils + $ sudo apt install btrfs-progs debootstrap kpartx parted qemu-user-static qemu-utils sshpass - $ cd freedom-maker - $ sudo apt build-dep . + $ sudo apt build-dep freedom-maker @@ -68,69 +68,47 @@ index aaa7caa..293545b 100644 $ sudo python3 -m freedommaker ``` where: <TARGET> is one of the 'Supported Targets' above. -diff --git a/doc/freedom-maker.xml b/doc/freedom-maker.xml -index 09c2f001..8c4abdd6 100644 ---- a/doc/freedom-maker.xml -+++ b/doc/freedom-maker.xml -@@ -85,7 +85,7 @@ - - - -- Debian mirror to use for building -+ Trisquel mirror to use for building - - - -@@ -93,7 +93,7 @@ - - - -- Debian mirror to use in built image -+ Trisquel mirror to use in built image - - - -@@ -101,15 +101,7 @@ - - - -- Debian release to use in built image -- -- -- -- -- -- -- -- Add an extra Debian release component (other than main) -+ Trisquel release to use in built image - - - -@@ -208,12 +200,10 @@ - - - -- Image targets to build. Choose one or more of a20-olinuxino-lime, -- a20-olinuxino-lime2, a20-olinuxino-micro, amd64, arm64, armhf, -- banana-pro, beaglebone, cubieboard2, cubietruck, i386, lamobo-r1, -- orange-pi-zero, pcduino3, pine64-lts, pine64-plus, qemu-amd64, -- qemu-i386, raspberry2, raspberry3, raspberry3-b-plus, raspberry64, -- vagrant virtualbox-amd64, virtualbox-i386 -+ Image targets to build. Choose one or more of freedommaker, -+ dreamplug, beaglebone, cubieboard2, cubietruck, -+ a20-olinuxino-lime,a20-olinuxino-lime2, a20-olinuxino-micro, -+ i386, amd64, qemu-i386, qemu-amd64, pcDuino3 - - - -@@ -236,8 +226,7 @@ - $ freedommaker a20-olinuxino-lime a20-olinuxino-lime2 - a20-olinuxino-micro amd64 arm64 armhf banana-pro beaglebone cubieboard2 - cubietruck i386 lamobo-r1 orange-pi-zero pcduino3 pine64-lts pine64-plus -- qemu-amd64 qemu-i386 raspberry2 raspberry3 raspberry3-b-plus raspberry64 -- vagrant virtualbox-amd64 virtualbox-i386 -+ qemu-amd64 qemu-i386 - - Build all the available FreedomBox images using freedom-maker. - +diff --git a/debian/freedom-maker.1 b/debian/freedom-maker.1 +index 71a9a9b..58051f3 100644 +--- a/debian/freedom-maker.1 ++++ b/debian/freedom-maker.1 +@@ -51,17 +51,17 @@ Size of the image to build + .PP + \fB\-\-build\-mirror\fR + .RS 4 +-Debian mirror to use for building ++Trisquel mirror to use for building + .RE + .PP + \fB\-\-mirror\fR + .RS 4 +-Debian mirror to use in built image ++Trisquel mirror to use in built image + .RE + .PP + \fB\-\-distribution\fR + .RS 4 +-Debian release to use in built image ++Trisquel release to use in built image + .RE + .PP + \fB\-\-package\fR +@@ -101,7 +101,7 @@ Force rebuild of images even when required image exists + .PP + \fBtargets\fR + .RS 4 +-Image targets to build\&. Choose one or more of a20\-olinuxino\-lime, a20\-olinuxino\-lime2, a20\-olinuxino\-micro, amd64, arm64, armhf, banana\-pro, beaglebone, cubieboard2, cubietruck, i386, lamobo\-r1, orange\-pi\-zero, pcduino3, pine64\-lts, pine64\-plus, qemu\-amd64, qemu\-i386, raspberry2, raspberry3, raspberry3\-b\-plus, test, virtualbox\-amd64, virtualbox\-i386 ++Image targets to build\&. Choose one or more of freedommaker, dreamplug, beaglebone, cubieboard2, cubietruck, a20\-olinuxino\-lime, a20\-olinuxino\-lime2, a20\-olinuxino\-micro, i386, amd64, qemu\-i386, qemu\-amd64, pcDuino3 + .RE + .SH "EXAMPLES" + .PP +@@ -128,8 +128,7 @@ Build a FreedomBox image for the BeagleBone Single Board Computer\&. + $ freedommaker a20\-olinuxino\-lime a20\-olinuxino\-lime2 + a20\-olinuxino\-micro amd64 arm64 armhf banana\-pro beaglebone cubieboard2 + cubietruck i386 lamobo\-r1 orange\-pi\-zero pcduino3 pine64\-lts pine64\-plus +- qemu\-amd64 qemu\-i386 raspberry2 raspberry3 raspberry3\-b\-plus test +- virtualbox\-amd64 virtualbox\-i386 ++ qemu\-amd64 qemu\-i386 + .fi + .if n \{\ + .RE diff --git a/helpers/DATA/freedom-maker/0005-trisquelize-code.patch b/helpers/DATA/freedom-maker/0005-trisquelize-code.patch index 539e4df..ca9c46e 100644 --- a/helpers/DATA/freedom-maker/0005-trisquelize-code.patch +++ b/helpers/DATA/freedom-maker/0005-trisquelize-code.patch @@ -16,23 +16,23 @@ index c5175a8..a479721 100644 LOG_LEVEL = 'debug' HOSTNAME = 'freedombox' diff --git a/freedommaker/library.py b/freedommaker/library.py -index 28f10cfa..b821226b 100644 +index f8ea629..04954b5 100644 --- a/freedommaker/library.py +++ b/freedommaker/library.py -@@ -527,12 +527,12 @@ deb {mirror} {distribution}-updates {components} +@@ -493,12 +493,12 @@ deb {mirror} {distribution}-updates {components} deb-src {mirror} {distribution}-updates {components} ''' security_template = ''' -deb http://security.debian.org/debian-security/ {distribution}-security {components} -deb-src http://security.debian.org/debian-security/ {distribution}-security {components} -+deb https://archive.trisquel.org/trisquel/ {distribution}-security {components} -+deb-src https://archive.trisquel.org/trisquel/ {distribution}-security {components} ++deb {mirror} {distribution}-security {components} ++deb-src {mirror} {distribution}-security {components} ''' backports_template = f''' --deb http://deb.debian.org/debian {releases.STABLE_CODENAME}-backports main --deb-src http://deb.debian.org/debian {releases.STABLE_CODENAME}-backports main -+deb {mirror} {distribution}-backports {components} -+deb-src {mirror} {distribution}-backports {components} +-deb http://deb.debian.org/debian {STABLE_CODENAME}-backports main +-deb-src http://deb.debian.org/debian {STABLE_CODENAME}-backports main ++#deb {mirror} {distribution}-backports {components} ++#deb-src {mirror} {distribution}-backports {components} ''' file_path = path_in_mount(state, 'etc/apt/sources.list') with open(file_path, 'w') as file_handle: diff --git a/helpers/DATA/freedom-maker/0006-remove-nonfree-support.patch b/helpers/DATA/freedom-maker/0006-remove-nonfree-support.patch index 94b8a80..0241e69 100644 --- a/helpers/DATA/freedom-maker/0006-remove-nonfree-support.patch +++ b/helpers/DATA/freedom-maker/0006-remove-nonfree-support.patch @@ -12,24 +12,23 @@ index 1f2c207..c97d392 100644 FreedomBox is a personal cloud server which can be installed on single board computers and Debian machines. diff --git a/freedommaker/builders/__init__.py b/freedommaker/builders/__init__.py -index 56c180db..139c6541 100644 +index dd694f3..139c654 100644 --- a/freedommaker/builders/__init__.py +++ b/freedommaker/builders/__init__.py -@@ -25,11 +25,3 @@ from . import pine64_plus +@@ -25,10 +25,3 @@ from . import pine64_plus from . import pine64_lts from . import qemu_amd64 from . import qemu_i386 -from . import raspberry_pi_2 -from . import raspberry_pi_3 -from . import raspberry_pi_3_b_plus --from . import raspberry_pi_64bit -from . import raspberry_pi_with_uboot -from . import vagrant -from . import virtualbox_amd64 -from . import virtualbox_i386 diff --git a/freedommaker/builders/raspberry_pi_2.py b/freedommaker/builders/raspberry_pi_2.py deleted file mode 100644 -index 439444e7..00000000 +index c226683..0000000 --- a/freedommaker/builders/raspberry_pi_2.py +++ /dev/null @@ -1,15 +0,0 @@ @@ -47,13 +46,13 @@ index 439444e7..00000000 - machine = 'raspberry2' - kernel_flavor = 'armmp' - flash_kernel_name = 'Raspberry Pi 2 Model B' -- u_boot_rpi_variant = 'rpi_2' +- uboot_variant = 'rpi_2' diff --git a/freedommaker/builders/raspberry_pi_3.py b/freedommaker/builders/raspberry_pi_3.py deleted file mode 100644 -index 3b9bf82b..00000000 +index 797e8df..0000000 --- a/freedommaker/builders/raspberry_pi_3.py +++ /dev/null -@@ -1,15 +0,0 @@ +@@ -1,16 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later -""" -Worker class to build Raspberry Pi 3 image. @@ -66,67 +65,34 @@ index 3b9bf82b..00000000 - """Image builder for Raspberry Pi 3 target.""" - architecture = 'armhf' - machine = 'raspberry3' +- free = False - kernel_flavor = 'armmp' - flash_kernel_name = 'Raspberry Pi 3 Model B' -- u_boot_rpi_variant = 'rpi_3_32b' -diff --git a/freedommaker/builders/raspberry_pi_64bit.py b/freedommaker/builders/raspberry_pi_64bit.py +- uboot_variant = 'rpi_3_32b' +diff --git a/freedommaker/builders/raspberry_pi_3_b_plus.py b/freedommaker/builders/raspberry_pi_3_b_plus.py deleted file mode 100644 -index e6a9ffa0..00000000 ---- a/freedommaker/builders/raspberry_pi_64bit.py +index 7a54842..0000000 +--- a/freedommaker/builders/raspberry_pi_3_b_plus.py +++ /dev/null -@@ -1,46 +0,0 @@ +@@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later -""" --Worker class to build Raspberry Pi 64-bit image. +-Worker class to build Raspberry Pi 3 Model B+ image. -""" - --from .. import library --from ..builder import ImageBuilder +-from .raspberry_pi_3 import RaspberryPi3ImageBuilder - - --class RaspberryPi64ImageBuilder(ImageBuilder): -- """Image builder for Raspberry Pi 64-bit target.""" -- architecture = 'arm64' -- boot_loader = None -- firmware_filesystem_type = 'vfat' -- firmware_size = '256MiB' -- include_non_free_firmware = True -- kernel_flavor = 'arm64' -- machine = 'raspberry64' -- update_initramfs = False -- -- def __init__(self, arguments): -- """Add to list of packages.""" -- super().__init__(arguments) -- self.packages += ['firmware-brcm80211'] -- -- @classmethod -- def get_target_name(cls): -- """Return the name of the target for an image builder.""" -- return getattr(cls, 'machine', None) -- -- def install_boot_loader(self, state): -- """Install the firmware onto the image.""" -- uuid = library.get_uuid_of_device(state['devices']['root']) -- script = ''' --set -e --set -x --set -o pipefail -- --# This will trigger installing firmware and updating initramfs. --apt-get install raspi-firmware -- --# Fixup cmdline.txt and set defaults --echo "console=tty0 console=ttyS1,115200 root=UUID={uuid} rw fsck.repair=yes net.ifnames=0 rootwait" >/boot/firmware/cmdline.txt --sed -i 's/^#ROOTPART=.*/ROOTPART=UUID={uuid}/' /etc/default/raspi-firmware --'''.format(uuid=uuid) -- library.run_in_chroot(state, ['bash', '-c', script]) +-class RaspberryPi3BPlusImageBuilder(RaspberryPi3ImageBuilder): +- """Image builder for Raspberry Pi 3 Model B+ target.""" +- machine = 'raspberry3-b-plus' +- flash_kernel_name = 'Raspberry Pi 3 Model B+' diff --git a/freedommaker/builders/raspberry_pi_with_uboot.py b/freedommaker/builders/raspberry_pi_with_uboot.py deleted file mode 100644 -index c4be09cd..00000000 +index 8057f87..0000000 --- a/freedommaker/builders/raspberry_pi_with_uboot.py +++ /dev/null -@@ -1,46 +0,0 @@ +@@ -1,44 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later -""" -Base worker class to build Raspberry Pi 2 and 3 images. @@ -138,15 +104,14 @@ index c4be09cd..00000000 - -class RaspberryPiWithUBoot(ARMImageBuilder): - """Base image builder for Raspberry Pi 2 and 3 targets.""" -- include_non_free_firmware = True +- free = False - uboot_variant = None - firmware_filesystem_type = 'vfat' -- firmware_size = '256MiB' -- u_boot_variant = 'rpi' +- firmware_size = '64MiB' - - def install_boot_loader(self, state): - """Install the boot loader onto the image.""" -- if not self.u_boot_rpi_variant: +- if not self.uboot_variant: - raise NotImplementedError - - firmware_package = 'raspi-firmware' @@ -168,35 +133,29 @@ index c4be09cd..00000000 - -# u-boot setup -apt-get install -y u-boot-rpi --cp /usr/lib/u-boot/{u_boot_rpi_variant}/u-boot.bin /boot/firmware/kernel.img --cp /usr/lib/u-boot/{u_boot_rpi_variant}/u-boot.bin /boot/firmware/kernel7.img --'''.format(firmware_package=firmware_package, -- u_boot_rpi_variant=self.u_boot_rpi_variant) +-cp /usr/lib/u-boot/{uboot_variant}/u-boot.bin /boot/firmware/kernel.img +-cp /usr/lib/u-boot/{uboot_variant}/u-boot.bin /boot/firmware/kernel7.img +-'''.format(firmware_package=firmware_package, uboot_variant=self.uboot_variant) - library.run_in_chroot(state, ['bash', '-c', script]) diff --git a/freedommaker/builders/vagrant.py b/freedommaker/builders/vagrant.py deleted file mode 100644 -index 30df772b..00000000 +index 13d124d..0000000 --- a/freedommaker/builders/vagrant.py +++ /dev/null -@@ -1,56 +0,0 @@ +@@ -1,41 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later -""" -Worker class to build Vagrant images. -""" - --import logging -import os --import subprocess - -from .. import library -from .virtualbox_amd64 import VirtualBoxAmd64ImageBuilder - --logger = logging.getLogger(__name__) -- - -class VagrantImageBuilder(VirtualBoxAmd64ImageBuilder): - """Image builder for Vagrant package.""" -- include_contrib = True - vagrant_extension = '.box' - - @classmethod @@ -215,23 +174,86 @@ index 30df772b..00000000 - self.create_vm_file(self.image_file, vm_file) - os.remove(self.image_file) - self.vagrant_package(vm_file, vagrant_file) -- self.store_hash(vagrant_file) - - def vagrant_package(self, vm_file, vagrant_file): - """Create a vagrant package from VM file.""" - command = [ -- 'freedommaker/vagrant_package.py', '--distribution', +- 'bin/vagrant-package', '--distribution', - self.arguments.distribution, '--release-components' - ] - command.extend(self.release_components) - command += ['--output', vagrant_file, vm_file] - library.run(command) +diff --git a/freedommaker/builders/virtualbox.py b/freedommaker/builders/virtualbox.py +deleted file mode 100644 +index 73c1965..0000000 +--- a/freedommaker/builders/virtualbox.py ++++ /dev/null +@@ -1,31 +0,0 @@ +-# SPDX-License-Identifier: GPL-3.0-or-later +-""" +-Base worker class to build VirtualBox images. +-""" - -- def store_hash(self, vagrant_file): -- """Store the SHA-256 hash of the vagrant box file.""" -- output = subprocess.check_output(['sha256sum', vagrant_file]) -- result = output.decode() -- logger.info('sha256sum: %s', result) -- hash_filename = self._replace_extension(vagrant_file, '.sha256') -- with open(hash_filename, 'w') as hash_file: -- hash_file.write(result) +-import os +- +-from .. import library +-from .vm import VMImageBuilder +- +- +-class VirtualBoxImageBuilder(VMImageBuilder): +- """Base image builder for all VirtualBox targets.""" +- vm_image_extension = '.vdi' +- +- @classmethod +- def get_target_name(cls): +- """Return the name of the target for an image builder.""" +- if getattr(cls, 'architecture', None): +- return 'virtualbox-' + cls.architecture +- +- return None +- +- def create_vm_file(self, image_file, vm_file): +- """Create a VM file from image file.""" +- try: +- os.remove(vm_file) +- except FileNotFoundError: +- pass +- +- library.run(['VBoxManage', 'convertdd', image_file, vm_file]) +diff --git a/freedommaker/builders/virtualbox_amd64.py b/freedommaker/builders/virtualbox_amd64.py +deleted file mode 100644 +index 20108d6..0000000 +--- a/freedommaker/builders/virtualbox_amd64.py ++++ /dev/null +@@ -1,12 +0,0 @@ +-# SPDX-License-Identifier: GPL-3.0-or-later +-""" +-Worker class to build VirtualBox amd64 images. +-""" +- +-from .virtualbox import VirtualBoxImageBuilder +- +- +-class VirtualBoxAmd64ImageBuilder(VirtualBoxImageBuilder): +- """Image builder for all VirtualBox amd64 targets.""" +- architecture = 'amd64' +- kernel_flavor = 'amd64' +diff --git a/freedommaker/builders/virtualbox_i386.py b/freedommaker/builders/virtualbox_i386.py +deleted file mode 100644 +index 9380a6a..0000000 +--- a/freedommaker/builders/virtualbox_i386.py ++++ /dev/null +@@ -1,12 +0,0 @@ +-# SPDX-License-Identifier: GPL-3.0-or-later +-""" +-Worker class to build VirtualBox i386 images. +-""" +- +-from .virtualbox import VirtualBoxImageBuilder +- +- +-class VirtualBoxI386ImageBuilder(VirtualBoxImageBuilder): +- """Image builder for all VirtualBox i386 targets.""" +- architecture = 'i386' +- kernel_flavor = '686' diff --git a/helpers/DATA/freedom-maker/0007-patch-test_library-nabia.patch b/helpers/DATA/freedom-maker/0007-patch-test_library-nabia.patch index d6cd449..86c318d 100644 --- a/helpers/DATA/freedom-maker/0007-patch-test_library-nabia.patch +++ b/helpers/DATA/freedom-maker/0007-patch-test_library-nabia.patch @@ -1,75 +1,76 @@ diff --git a/freedommaker/tests/test_library.py b/freedommaker/tests/test_library.py -index 4b52b278..b4688a11 100644 +index 2cc840a..6e63917 100644 --- a/freedommaker/tests/test_library.py +++ b/freedommaker/tests/test_library.py -@@ -446,13 +446,13 @@ def test_cleanup_extra_storage(run, image, state, random_string): - @patch('freedommaker.library.run') - def test_debootstrap(run, state): - """Test debootstrapping.""" -- library.debootstrap(state, 'i386', 'stretch', 'minbase', -- ['main', 'contrib'], ['p1', 'p2'], -- 'http://deb.debian.org/debian') -+ library.debootstrap(state, 'amd64', 'aramo', 'minbase', -+ ['main'], ['p1', 'p2'], -+ 'http://archive.trisquel.org/trisquel') - run.assert_called_with([ -- 'debootstrap', '--arch=i386', '--variant=minbase', -- '--components=main,contrib', '--include=p1,p2', 'stretch', -- state['mount_point'], 'http://deb.debian.org/debian' -+ 'debootstrap', '--arch=amd64', '--variant=minbase', -+ '--components=main', '--include=p1,p2', 'aramo', -+ state['mount_point'], 'http://archive.trisquel.org/trisquel' - ]) +@@ -422,13 +422,13 @@ modify x x + @patch('freedommaker.library.run') + def test_debootstrap(self, run): + """Test debootstrapping.""" +- library.debootstrap(self.state, 'i386', 'stretch', 'minbase', +- ['main', 'contrib'], ['p1', 'p2'], +- 'http://deb.debian.org/debian') ++ library.debootstrap(self.state, 'amd64', 'nabia', 'minbase', ++ ['main'], ['p1', 'p2'], ++ 'http://archive.trisquel.org/trisquel') + run.assert_called_with([ +- 'debootstrap', '--arch=i386', '--variant=minbase', +- '--components=main,contrib', '--include=p1,p2', 'stretch', +- self.state['mount_point'], 'http://deb.debian.org/debian' ++ 'debootstrap', '--arch=amd64', '--variant=minbase', ++ '--components=main', '--include=p1,p2', 'nabia', ++ self.state['mount_point'], 'http://archive.trisquel.org/trisquel' + ]) - assert state['cleanup'] == [[ -@@ -602,17 +602,17 @@ def test_setup_apt(run, state): - sources_path = state['mount_point'] + '/etc/apt/sources.list' + self.assertEqual(self.state['cleanup'], [[ +@@ -574,31 +574,37 @@ ff02::2 ip6-allrouters + sources_path = self.state['mount_point'] + '/etc/apt/sources.list' - stable_content = ''' + stable_content = ''' -deb http://deb.debian.org/debian stable main -deb-src http://deb.debian.org/debian stable main -+deb http://archive.trisquel.org/trisquel aramo main -+deb-src http://archive.trisquel.org/trisquel aramo main ++deb http://archive.trisquel.org/trisquel nabia main ++deb-src http://archive.trisquel.org/trisquel nabia main -deb http://deb.debian.org/debian stable-updates main -deb-src http://deb.debian.org/debian stable-updates main -+deb http://archive.trisquel.org/trisquel aramo-updates main -+deb-src http://archive.trisquel.org/trisquel aramo-updates main ++deb http://archive.trisquel.org/trisquel nabia-updates main ++deb-src http://archive.trisquel.org/trisquel nabia-updates main -deb http://security.debian.org/debian-security/ stable-security main -deb-src http://security.debian.org/debian-security/ stable-security main -+deb https://archive.trisquel.org/trisquel/ aramo-security main -+deb-src https://archive.trisquel.org/trisquel/ aramo-security main ++deb http://archive.trisquel.org/trisquel nabia-security main ++deb-src http://archive.trisquel.org/trisquel nabia-security main ''' - with assert_file_change(sources_path, None, stable_content): -- library.setup_apt(state, 'http://deb.debian.org/debian', 'stable', -+ library.setup_apt(state, 'http://archive.trisquel.org/trisquel', 'aramo', - ['main']) + with self.assert_file_change(sources_path, None, stable_content): +- library.setup_apt(self.state, 'http://deb.debian.org/debian', +- 'stable', ['main']) ++ library.setup_apt(self.state, 'http://archive.trisquel.org/trisquel', ++ 'nabia', ['main']) - assert run.call_args_list == [ -@@ -620,13 +620,19 @@ deb-src https://archive.trisquel.org/trisquel/ aramo-security main - call(state, ['apt-get', 'clean']) - ] + self.assertEqual(run.call_args_list, [ + call(self.state, ['apt-get', 'update']), + call(self.state, ['apt-get', 'clean']) + ]) -- unstable_content = ''' --deb http://ftp.us.debian.org/debian unstable main contrib non-free-firmware --deb-src http://ftp.us.debian.org/debian unstable main contrib non-free-firmware -+ ecne_content = ''' -+deb http://archive.trisquel.org/trisquel ecne main -+deb-src http://archive.trisquel.org/trisquel ecne main +- unstable_content = ''' +-deb http://ftp.us.debian.org/debian unstable main contrib non-free +-deb-src http://ftp.us.debian.org/debian unstable main contrib non-free ++ aramo_content = ''' ++deb http://archive.trisquel.org/trisquel aramo main ++deb-src http://archive.trisquel.org/trisquel aramo main + -+deb http://archive.trisquel.org/trisquel ecne-updates main -+deb-src http://archive.trisquel.org/trisquel ecne-updates main ++deb http://archive.trisquel.org/trisquel aramo-updates main ++deb-src http://archive.trisquel.org/trisquel aramo-updates main + -+deb https://archive.trisquel.org/trisquel/ ecne-security main -+deb-src https://archive.trisquel.org/trisquel/ ecne-security main ++deb http://archive.trisquel.org/trisquel aramo-security main ++deb-src http://archive.trisquel.org/trisquel aramo-security main ''' -- with assert_file_change(sources_path, None, unstable_content): -- library.setup_apt(state, 'http://ftp.us.debian.org/debian', 'unstable', -- ['main', 'contrib', 'non-free-firmware']) -+ with assert_file_change(sources_path, None, ecne_content): -+ library.setup_apt(state, 'http://archive.trisquel.org/trisquel', 'ecne', -+ ['main']) +- with self.assert_file_change(sources_path, None, unstable_content): +- library.setup_apt(self.state, 'http://ftp.us.debian.org/debian', +- 'unstable', ['main', 'contrib', 'non-free']) ++ with self.assert_file_change(sources_path, None, aramo_content): ++ library.setup_apt(self.state, 'http://archive.trisquel.org/trisquel', ++ 'aramo', ['main']) - - @patch('freedommaker.library.run_in_chroot') + @patch('freedommaker.library.run_in_chroot') + def test_setup_flash_kernel(self, run): diff --git a/helpers/DATA/freedom-maker/0008-specify-generic-kernels.patch b/helpers/DATA/freedom-maker/0008-specify-generic-kernels.patch index 08c2472..ac7a908 100644 --- a/helpers/DATA/freedom-maker/0008-specify-generic-kernels.patch +++ b/helpers/DATA/freedom-maker/0008-specify-generic-kernels.patch @@ -5,12 +5,12 @@ index ff7f807..ad94e1c 100644 @@ -10,7 +10,7 @@ from .arm import ARMImageBuilder class A20ImageBuilder(ARMImageBuilder): """Base image builder for all Allwinner A20 board based targets.""" - architecture: str = 'armhf' -- kernel_flavor: str = 'armmp-lpae' -+ kernel_flavor: str = 'generic' - u_boot_path: str | None = None - u_boot_variant: str = 'sunxi' + architecture = 'armhf' +- kernel_flavor = 'armmp-lpae' ++ kernel_flavor = 'generic' + u_boot_path = None + def install_boot_loader(self, state): diff --git a/freedommaker/builders/a64.py b/ffreedommaker/builders/a64.py index 7314724..21f3ae1 100644 --- a/freedommaker/builders/a64.py @@ -18,25 +18,22 @@ index 7314724..21f3ae1 100644 @@ -12,7 +12,7 @@ from .arm import ARMImageBuilder class A64ImageBuilder(ARMImageBuilder): """Image builder for all Allwinner A64 board targets.""" - architecture: str = 'arm64' -- kernel_flavor: str = 'arm64' -+ kernel_flavor: str = 'generic' - u_boot_target: str | None = None + architecture = 'arm64' +- kernel_flavor = 'arm64' ++ kernel_flavor = 'generic' + u_boot_target = None def __init__(self, *args, **kwargs): diff --git a/freedommaker/builders/amd64.py b/ffreedommaker/builders/amd64.py index d577ece..1b758f8 100644 --- a/freedommaker/builders/amd64.py +++ b/ffreedommaker/builders/amd64.py -@@ -9,7 +9,7 @@ from .amd_intel import AMDIntelImageBuilder +@@ -9,4 +9,4 @@ from .amd_intel import AMDIntelImageBuilder class AMD64ImageBuilder(AMDIntelImageBuilder): """Image builder for all amd64 targets.""" architecture = 'amd64' - kernel_flavor = 'amd64' + kernel_flavor = 'generic' - include_non_free_firmware = True - - def __init__(self, *args, **kwargs): diff --git a/freedommaker/builders/arm64.py b/ffreedommaker/builders/arm64.py index 4576d3e..fc593f9 100644 --- a/freedommaker/builders/arm64.py @@ -80,15 +77,12 @@ diff --git a/freedommaker/builders/i386.py b/ffreedommaker/builders/i386.py index 98a48da..692122d 100644 --- a/freedommaker/builders/i386.py +++ b/ffreedommaker/builders/i386.py -@@ -9,7 +9,7 @@ from .amd_intel import AMDIntelImageBuilder +@@ -9,4 +9,4 @@ from .amd_intel import AMDIntelImageBuilder class I386ImageBuilder(AMDIntelImageBuilder): """Image builder for all i386 targets.""" architecture = 'i386' - kernel_flavor = '686' + kernel_flavor = 'generic' - include_non_free_firmware = True - - def __init__(self, *args, **kwargs): diff --git a/freedommaker/builders/qemu_amd64.py b/ffreedommaker/builders/qemu_amd64.py index bb28f0a..61e5863 100644 --- a/freedommaker/builders/qemu_amd64.py diff --git a/helpers/DATA/gnome-boxes/001_add_trisquel_gnome-boxes_logo.patch b/helpers/DATA/gnome-boxes/patch_changes/001_add_trisquel_gnome-boxes_logo.patch similarity index 100% rename from helpers/DATA/gnome-boxes/001_add_trisquel_gnome-boxes_logo.patch rename to helpers/DATA/gnome-boxes/patch_changes/001_add_trisquel_gnome-boxes_logo.patch diff --git a/helpers/DATA/gnome-boxes/patch_changes/002_allow_recommended-downloads_parsing_handle_empty.patch b/helpers/DATA/gnome-boxes/patch_changes/002_allow_recommended-downloads_parsing_handle_empty.patch new file mode 100644 index 0000000..1b57e3b --- /dev/null +++ b/helpers/DATA/gnome-boxes/patch_changes/002_allow_recommended-downloads_parsing_handle_empty.patch @@ -0,0 +1,30 @@ +From 333dfad568ba77456ff3b00e6c2750d6a2cf0d73 Mon Sep 17 00:00:00 2001 +From: Felipe Borges +Date: Wed, 10 Aug 2022 09:54:41 +0200 +Subject: [PATCH] util-app: Make recommended-downloads parsing handle empty + media lists + +--- + src/util-app.vala | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/util-app.vala b/src/util-app.vala +index c0a42a94d..c5f47ae22 100644 +--- a/src/util-app.vala ++++ b/src/util-app.vala +@@ -250,7 +250,11 @@ private async GLib.List? parse_recommended_downloads_file (string + continue; + } + +- var media = os.get_media_list ().get_nth (0) as Osinfo.Media; ++ var media_list = os.get_media_list (); ++ if (media_list == null || media_list.get_length () == 0) ++ continue; ++ ++ var media = media_list.get_nth (0) as Osinfo.Media; + if (media.url != null || os_id.has_prefix ("http://redhat.com")) + list.append (media); + +-- +GitLab + diff --git a/helpers/DATA/gnome-shell/drop_gnome-shell-overrides-migration.patch b/helpers/DATA/gnome-shell/drop_gnome-shell-overrides-migration.patch new file mode 100644 index 0000000..7188f72 --- /dev/null +++ b/helpers/DATA/gnome-shell/drop_gnome-shell-overrides-migration.patch @@ -0,0 +1,127 @@ +From a9e6e44ef898671229388938cc3ed511fa394dfc Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Mon, 23 Jan 2023 16:38:36 +0000 +Subject: [PATCH] tools: Drop gnome-shell-overrides-migration.sh +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The tool was added in 2018 to migrate to per-desktop overrides from the +old overrides system. + +5 years later, everyone who’s going to migrate probably has migrated, so +we can delete the script and remove a process running on every login. + +Signed-off-by: Philip Withnall +Part-of: +--- + ...gnome-shell-overrides-migration.desktop.in | 5 --- + data/meson.build | 9 ----- + meson.build | 1 - + tools/gnome-shell-overrides-migration.sh | 38 ------------------- + tools/meson.build | 4 -- + 5 files changed, 57 deletions(-) + delete mode 100644 data/gnome-shell-overrides-migration.desktop.in + delete mode 100755 tools/gnome-shell-overrides-migration.sh + delete mode 100644 tools/meson.build + +diff --git a/data/gnome-shell-overrides-migration.desktop.in b/data/gnome-shell-overrides-migration.desktop.in +deleted file mode 100644 +index 99452e6ec1..0000000000 +--- a/data/gnome-shell-overrides-migration.desktop.in ++++ /dev/null +@@ -1,5 +0,0 @@ +-[Desktop Entry] +-Type=Application +-Name=GNOME settings overrides migration +-NoDisplay=true +-Exec=@libexecdir@/gnome-shell-overrides-migration.sh +diff --git a/data/meson.build b/data/meson.build +index 7fa7f15ffb..a31efcc794 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -99,15 +99,6 @@ schema = configure_file( + ) + install_data('00_org.gnome.shell.gschema.override', install_dir: schemadir) + +-overrides_migration_conf = configuration_data() +-overrides_migration_conf.set('libexecdir', libexecdir) +-overrides_migration = configure_file( +- input: 'gnome-shell-overrides-migration.desktop.in', +- output: 'gnome-shell-overrides-migration.desktop', +- configuration: overrides_migration_conf, +- install_dir: autostartdir +-) +- + if have_systemd + unitconf = configuration_data() + unitconf.set('bindir', bindir) +diff --git a/meson.build b/meson.build +index 791ec2e64e..6cd40cefa8 100644 +--- a/meson.build ++++ b/meson.build +@@ -283,7 +283,6 @@ subdir('js') + subdir('src') + subdir('po') + subdir('data') +-subdir('tools') + + if get_option('tests') + subdir('tests') +diff --git a/tools/gnome-shell-overrides-migration.sh b/tools/gnome-shell-overrides-migration.sh +deleted file mode 100755 +index a1b4cb6331..0000000000 +--- a/tools/gnome-shell-overrides-migration.sh ++++ /dev/null +@@ -1,38 +0,0 @@ +-#!/bin/sh +- +-PKG_DATA_DIR=${XDG_DATA_HOME:-$HOME/.local/share}/gnome-shell +- +-MIGRATION_GUARD=$PKG_DATA_DIR/gnome-overrides-migrated +-OVERRIDE_SCHEMA= +- +-if [ -f $MIGRATION_GUARD ]; then +- exit # already migrated +-fi +- +-# Find the right session +-if echo $XDG_CURRENT_DESKTOP | grep -q -v GNOME; then +- exit # not a GNOME session +-fi +- +-if echo $XDG_CURRENT_DESKTOP | grep -q Classic; then +- OVERRIDE_SCHEMA=org.gnome.shell.extensions.classic-overrides +-else +- OVERRIDE_SCHEMA=org.gnome.shell.overrides +-fi +- +-mkdir -p $PKG_DATA_DIR +- +-for k in `gsettings list-keys $OVERRIDE_SCHEMA` +-do +- if [ $k = button-layout ]; then +- orig_schema=org.gnome.desktop.wm.preferences +- else +- orig_schema=org.gnome.mutter +- fi +- +- oldValue=`gsettings get $OVERRIDE_SCHEMA $k` +- curValue=`gsettings get $orig_schema $k` +- if [ $oldValue != $curValue ]; then +- gsettings set $orig_schema $k $oldValue +- fi +-done && touch $MIGRATION_GUARD +diff --git a/tools/meson.build b/tools/meson.build +deleted file mode 100644 +index d8e217cc44..0000000000 +--- a/tools/meson.build ++++ /dev/null +@@ -1,4 +0,0 @@ +-install_data('gnome-shell-overrides-migration.sh', +- install_dir: libexecdir, +- install_mode: 'rwxr-xr-x' +-) +-- +GitLab + diff --git a/helpers/DATA/gnome-software/rm_snap_fwup_support.patch b/helpers/DATA/gnome-software/rm_snap_fwup_support.patch index dd3403d..e9ee024 100644 --- a/helpers/DATA/gnome-software/rm_snap_fwup_support.patch +++ b/helpers/DATA/gnome-software/rm_snap_fwup_support.patch @@ -1,24 +1,15 @@ diff --git a/debian/control b/debian/control -index 7262a65c..497779f7 100644 +index 2ea9e66..91f61fc 100644 --- a/debian/control +++ b/debian/control -@@ -17,7 +17,6 @@ Build-Depends: appstream, - libadwaita-1-dev (>= 1.4), - libappstream-dev (>= 1.0.0), - libflatpak-dev (>= 1.14.0) [amd64 arm64 armel armhf i386 mipsel mips64el ppc64el s390x hppa powerpc ppc64 riscv64 x32], -- libfwupd-dev (>= 1.5.6) [linux-any], - libglib-testing-0-dev, - libglib2.0-dev (>= 2.70.0), - libgtk-4-dev (>= 4.12.0), -@@ -60,10 +60,8 @@ Depends: appstream, +@@ -62,9 +62,8 @@ Depends: appstream, ${misc:Depends}, ${shlibs:Depends} Conflicts: sessioninstaller --Recommends: fwupd [linux-any], -- ${plugin:Recommends} +-Recommends: fwupd [linux-any], ${plugin:Recommends} +Recommends: ${plugin:Recommends} Suggests: apt-config-icons-hidpi, -- gnome-software-plugin-flatpak [amd64 arm64 armel armhf i386 mipsel mips64el ppc64el s390x hppa powerpc ppc64 riscv64 x32], +- gnome-software-plugin-flatpak [amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el s390x hppa powerpc powerpcspe ppc64], ${plugin:Suggests} Description: Software Center for GNOME Software lets you install and update applications and system extensions. diff --git a/helpers/DATA/gnupg2/001-reduce_gpg-wks-server_dependency_to_match_later_releases.patch b/helpers/DATA/gnupg2/001-reduce_gpg-wks-server_dependency_to_match_later_releases.patch new file mode 100644 index 0000000..b53a6d4 --- /dev/null +++ b/helpers/DATA/gnupg2/001-reduce_gpg-wks-server_dependency_to_match_later_releases.patch @@ -0,0 +1,35 @@ +diff --git a/debian/control b/debian/control +index c6a9778..ca0b1f0 100644 +--- a/debian/control ++++ b/debian/control +@@ -254,8 +254,6 @@ Depends: + gpg-agent (>= ${source:Version}), + gpg-wks-client (<< ${source:Version}.1~), + gpg-wks-client (>= ${source:Version}), +- gpg-wks-server (<< ${source:Version}.1~), +- gpg-wks-server (>= ${source:Version}), + gpgsm (<< ${source:Version}.1~), + gpgsm (>= ${source:Version}), + gpgv (<< ${source:Version}.1~), +@@ -265,6 +263,8 @@ Depends: + Recommends: + ${shlibs:Recommends}, + Suggests: ++ gpg-wks-server (<< ${source:Version}.1~), ++ gpg-wks-server (>= ${source:Version}), + parcimonie, + xloadimage, + Breaks: +diff --git a/debian/control b/debian/control +index ca0b1f0..dc1d5cd 100644 +--- a/debian/control ++++ b/debian/control +@@ -279,6 +279,8 @@ Breaks: + python-apt (<= 1.1.0~beta4), + python-gnupg (<< 0.3.8-3), + python3-apt (<= 1.1.0~beta4), ++Conflicts: ++ gpg-wks-server (<= 2.2.27-3ubuntu2.3+11.0trisquel0), + Replaces: + gnupg2 (<< 2.1.11-7+exp1), + Description: GNU privacy guard - a free PGP replacement diff --git a/helpers/DATA/gnupg2/001_add-gpgv-udeb-dependencies-hack.patch b/helpers/DATA/gnupg2/001_add-gpgv-udeb-dependencies-hack.patch deleted file mode 100644 index c78d1d5..0000000 --- a/helpers/DATA/gnupg2/001_add-gpgv-udeb-dependencies-hack.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/debian/control b/debian/control -index c599ba9e..7215fac0 100644 ---- a/debian/control -+++ b/debian/control -@@ -388,8 +388,10 @@ Build-Profiles: - Section: debian-installer - Architecture: any - Depends: -- ${misc:Depends}, -- ${shlibs:Depends}, -+ libc6-udeb (>= 2.39), -+ libgcrypt20-udeb (>= 1.10.3), -+ libgpg-error0-udeb (>= 1.47), -+ zlib1g-udeb (>= 1:1.2.3.3.dfsg-1) - Description: minimal signature verification tool - GnuPG is GNU's tool for secure communication and data storage. - It can be used to encrypt data and to create digital signatures. diff --git a/helpers/DATA/grub-installer/custom/01_39c6708ef9c5f191cf9000f7499f0a1fe2dc9422.patch b/helpers/DATA/grub-installer/custom/01_39c6708ef9c5f191cf9000f7499f0a1fe2dc9422.patch new file mode 100644 index 0000000..6abeca6 --- /dev/null +++ b/helpers/DATA/grub-installer/custom/01_39c6708ef9c5f191cf9000f7499f0a1fe2dc9422.patch @@ -0,0 +1,1098 @@ +From 7bcf88624342b44066bcb312486e1d7c81ae7e7f Mon Sep 17 00:00:00 2001 +From: Philip Hands +Date: Wed, 23 Aug 2023 07:50:47 +0200 +Subject: [PATCH 01/14] move duplicated functions into functions.sh + +--- + debian/postinst | 18 +------------ + functions.sh | 41 +++++++++++++++++++++++++++++ + grub-installer | 16 ----------- + rescue.d/80grub-reinstall | 16 ----------- + rescue.d/81grub-efi-force-removable | 29 -------------------- + 5 files changed, 42 insertions(+), 78 deletions(-) + +diff --git a/debian/postinst b/debian/postinst +index 85714195..b7f5ef1f 100755 +--- a/debian/postinst ++++ b/debian/postinst +@@ -2,23 +2,7 @@ + + . /usr/share/debconf/confmodule + +-log () { +- logger -t grub-installer "$@" +-} +- +-error () { +- log "error: $@" +-} +- +-die () { +- local template="$1" +- shift +- +- error "$@" +- db_input critical "$template" || [ $? -eq 30 ] +- db_go || true +- exit 1 +-} ++. /usr/share/grub-installer/functions.sh + + mountvirtfs () { + fstype="$1" +diff --git a/functions.sh b/functions.sh +index 412e97a7..55789b08 100644 +--- a/functions.sh ++++ b/functions.sh +@@ -37,3 +37,44 @@ update_mtab() { + is_floppy () { + echo "$1" | grep -q '(fd' || echo "$1" | grep -q "/dev/fd" || echo "$1" | grep -q floppy + } ++ ++log () { ++ logger -t grub-installer "$@" ++} ++ ++error () { ++ log "error: $@" ++} ++ ++info() { ++ log "info: $@" ++} ++ ++debug () { ++ [ -z "${DEBCONF_DEBUG}" ] || log "debug: $@" ++} ++ ++die () { ++ local template="$1" ++ shift ++ ++ error "$@" ++ db_input critical "$template" || [ $? -eq 30 ] ++ db_go || true ++ exit 1 ++} ++ ++EXTRA_PATHS="" ++mountvirtfs () { ++ fstype="$1" ++ path="$2" ++ if grep -q "[[:space:]]$fstype\$" /proc/filesystems && \ ++ ! grep -q "^[^ ]\+ \+$path " /proc/mounts; then ++ mkdir -p "$path" || \ ++ die grub-installer/mounterr "Error creating $path" ++ mount -t "$fstype" "$fstype" "$path" || \ ++ die grub-installer/mounterr "Error mounting $path" ++ EXTRA_PATHS="$EXTRA_PATHS $path" ++ trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT ++ fi ++} +diff --git a/grub-installer b/grub-installer +index 2787e7c8..bd2bcf9d 100755 +--- a/grub-installer ++++ b/grub-installer +@@ -21,22 +21,6 @@ newline=" + + db_capb backup + +-log() { +- logger -t grub-installer "$@" +-} +- +-error() { +- log "error: $@" +-} +- +-info() { +- log "info: $@" +-} +- +-debug () { +- [ -z "${DEBCONF_DEBUG}" ] || log "debug: $@" +-} +- + ARCH="$(archdetect)" + info "architecture: $ARCH" + SUBARCH="${ARCH#*/}" +diff --git a/rescue.d/80grub-reinstall b/rescue.d/80grub-reinstall +index cc3fe8a8..c52a0be2 100755 +--- a/rescue.d/80grub-reinstall ++++ b/rescue.d/80grub-reinstall +@@ -4,22 +4,6 @@ + + . /usr/share/grub-installer/functions.sh + +-mountvirtfs () { +- fstype="$1" +- path="$2" +- if grep -q "[[:space:]]$fstype\$" /proc/filesystems && \ +- ! grep -q "^[^ ]\+ \+$path " /proc/mounts; then +- mkdir -p "$path" || \ +- die grub-installer/mounterr "Error creating $path" +- mount -t "$fstype" "$fstype" "$path" || \ +- die grub-installer/mounterr "Error mounting $path" +- EXTRA_PATHS="$EXTRA_PATHS $path" +- trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT +- fi +-} +- +- +- + db_progress START 0 2 grub-installer/progress/title + db_progress INFO grub-installer/progress/step_bootdev + +diff --git a/rescue.d/81grub-efi-force-removable b/rescue.d/81grub-efi-force-removable +index cbb1ce74..958f9a48 100755 +--- a/rescue.d/81grub-efi-force-removable ++++ b/rescue.d/81grub-efi-force-removable +@@ -4,39 +4,10 @@ + + . /usr/share/grub-installer/functions.sh + +-EXTRA_PATHS="" +- + log () { + logger -t grub-installer "grub-efi-force-removable $@" + } + +-error () { +- log "error: $@" +-} +- +-die () { +- local template="$1" +- shift +- +- error "$@" +- db_input critical "$template" || [ $? -eq 30 ] +- db_go || true +- exit 1 +-} +- +-mountvirtfs () { +- fstype="$1" +- path="$2" +- if grep -q "[[:space:]]$fstype\$" /proc/filesystems && \ +- ! grep -q "^[^ ]\+ \+$path " /proc/mounts; then +- mkdir -p "$path" || \ +- die grub-installer/mounterr "Error creating $path" +- mount -t "$fstype" "$fstype" "$path" || \ +- die grub-installer/mounterr "Error mounting $path" +- EXTRA_PATHS="$EXTRA_PATHS $path" +- trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT +- fi +-} + + db_progress START 0 3 grub-installer/progress/title + db_progress INFO grub-installer/progress/step_force_efi_removable +-- +GitLab + + +From 1ec23ed1b62a4fed2b42b0cf555f4d2894c31b7c Mon Sep 17 00:00:00 2001 +From: Philip Hands +Date: Wed, 23 Aug 2023 08:12:10 +0200 +Subject: [PATCH 02/14] log: append the script's name if DEBCONF_DEBUG set + +This is a way of making 81grub-efi-force-removable less special, and +seems like it might be a useful thing to have in our logs anyway. + +The fact that 81grub-efi-force-removable adds its own name when logging +strikes me as left-over scafolding from when it was built, so we could +just remove this instead. +--- + functions.sh | 8 ++++---- + rescue.d/81grub-efi-force-removable | 14 +++++++------- + 2 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/functions.sh b/functions.sh +index 55789b08..9eeb34b0 100644 +--- a/functions.sh ++++ b/functions.sh +@@ -39,19 +39,19 @@ is_floppy () { + } + + log () { +- logger -t grub-installer "$@" ++ logger -t grub-installer "$*${DEBCONF_DEBUG:+ [${0##*/}]}" + } + + error () { +- log "error: $@" ++ log "error: $*" + } + + info() { +- log "info: $@" ++ log "info: $*" + } + + debug () { +- [ -z "${DEBCONF_DEBUG}" ] || log "debug: $@" ++ [ -z "${DEBCONF_DEBUG}" ] || log "debug: $*" + } + + die () { +diff --git a/rescue.d/81grub-efi-force-removable b/rescue.d/81grub-efi-force-removable +index 958f9a48..f03d88d7 100755 +--- a/rescue.d/81grub-efi-force-removable ++++ b/rescue.d/81grub-efi-force-removable +@@ -4,17 +4,17 @@ + + . /usr/share/grub-installer/functions.sh + +-log () { +- logger -t grub-installer "grub-efi-force-removable $@" ++_dbg_log() { ++ # just having DEBCONF_DEBUG defined is enough to get log() to append the script's name ++ DEBCONF_DEBUG=${DEBCONF_DEBUG:-0} log "$@" + } + +- + db_progress START 0 3 grub-installer/progress/title + db_progress INFO grub-installer/progress/step_force_efi_removable + + # Should we also install grub-efi to the removable media path? + # Ask the user +-log "Prompting user about removable media path" ++_dbg_log "Prompting user about removable media path" + db_input high grub-installer/force-efi-extra-removable + if ! db_go; then + # back up to menu +@@ -30,7 +30,7 @@ fi + db_progress STEP 1 + db_progress INFO grub-installer/progress/step_mount_filesystems + +-log "Mounting filesystems" ++_dbg_log "Mounting filesystems" + # If we're installing grub-efi, it wants /sys mounted in the + # target. Maybe /proc too, and definitely the efivars fs. Should be + # harmless if we're not using it. +@@ -45,7 +45,7 @@ trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT + db_progress STEP 1 + db_progress INFO grub-installer/progress/step_install_loader + # Do the installation now +-log "Running grub-install" ++_dbg_log "Running grub-install" + if ! chroot /target grub-install --force-extra-removable; then + db_input critical grub-installer/grub-install-failed || true + db_go || true +@@ -56,7 +56,7 @@ fi + db_progress STEP 1 + db_progress INFO grub-installer/progress/step_update_debconf_efi_removable + # And add the debconf flag so the installed system will also do this in future +-log "Running debconf-set-selections in the chroot" ++_dbg_log "Running debconf-set-selections in the chroot" + chroot /target 'debconf-set-selections' < +Date: Wed, 23 Aug 2023 08:13:48 +0200 +Subject: [PATCH 03/14] merge 'efivarsfs' special case into functions.sh + +--- + debian/postinst | 23 ++++------------------- + functions.sh | 12 +++++++++--- + 2 files changed, 13 insertions(+), 22 deletions(-) + +diff --git a/debian/postinst b/debian/postinst +index b7f5ef1f..b1954b87 100755 +--- a/debian/postinst ++++ b/debian/postinst +@@ -4,29 +4,14 @@ + + . /usr/share/grub-installer/functions.sh + +-mountvirtfs () { +- fstype="$1" +- path="$2" +- if grep -q "[[:space:]]$fstype\$" /proc/filesystems && \ +- ! grep -q "^[^ ]\+ \+$path " /proc/mounts; then +- mkdir -p "$path" || \ +- die grub-installer/mounterr "Error creating $path" +- +- if mount -t "$fstype" "$fstype" "$path"; then +- log "Success mounting $path" +- trap "umount $path" HUP INT QUIT KILL PIPE TERM EXIT +- elif [ "$fstype" = "efivarfs" ]; then +- error "Error mounting $path (non-fatal)" +- else +- die grub-installer/mounterr "Error mounting $path" +- fi +- fi +-} +- + # If we're installing grub-efi, it wants /sys mounted in the + # target. Maybe /proc too? + mountvirtfs proc /target/proc + mountvirtfs sysfs /target/sys ++# unmounting /target/proc causes an error later on in the install: ++# umount: can't unmount /target/proc: Invalid argument ++# (seems like a bug somewhere, but will preserve the old 'overwriting traps' behaviour for now) ++EXTRA_PATHS="" + mountvirtfs efivarfs /target/sys/firmware/efi/efivars + + grub-installer /target +diff --git a/functions.sh b/functions.sh +index 9eeb34b0..c23265ab 100644 +--- a/functions.sh ++++ b/functions.sh +@@ -72,9 +72,15 @@ mountvirtfs () { + ! grep -q "^[^ ]\+ \+$path " /proc/mounts; then + mkdir -p "$path" || \ + die grub-installer/mounterr "Error creating $path" +- mount -t "$fstype" "$fstype" "$path" || \ ++ ++ if mount -t "$fstype" "$fstype" "$path"; then ++ log "Success mounting $path" ++ EXTRA_PATHS="$EXTRA_PATHS $path" ++ trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT ++ elif [ "$fstype" = "efivarfs" ]; then ++ error "Error mounting $path (non-fatal)" ++ else + die grub-installer/mounterr "Error mounting $path" +- EXTRA_PATHS="$EXTRA_PATHS $path" +- trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT ++ fi + fi + } +-- +GitLab + + +From 676368b5f9b9c7e8b9d7e2fd3e4ce98770659660 Mon Sep 17 00:00:00 2001 +From: Arnaud Rebillout +Date: Wed, 23 Aug 2023 09:59:22 +0200 +Subject: [PATCH 04/14] Don't fail if we can't mkdir efivars + +Closes: #1031183 +--- + functions.sh | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/functions.sh b/functions.sh +index c23265ab..183a6baa 100644 +--- a/functions.sh ++++ b/functions.sh +@@ -70,8 +70,14 @@ mountvirtfs () { + path="$2" + if grep -q "[[:space:]]$fstype\$" /proc/filesystems && \ + ! grep -q "^[^ ]\+ \+$path " /proc/mounts; then +- mkdir -p "$path" || \ ++ if mkdir -p "$path"; then ++ true ++ elif [ "$fstype" = "efivarfs" ]; then ++ error "Error creating $path (non-fatal)" ++ return ++ else + die grub-installer/mounterr "Error creating $path" ++ fi + + if mount -t "$fstype" "$fstype" "$path"; then + log "Success mounting $path" +-- +GitLab + + +From 5d7b0988cedc35707f17f824aa6ad11a5199f989 Mon Sep 17 00:00:00 2001 +From: Philip Hands +Date: Wed, 23 Aug 2023 10:15:51 +0200 +Subject: [PATCH 05/14] mountvirtfs: separate success vs. fatality logic + +Having the efivarfs check in an elif made this code seem tangly to me. +Hopefully this is now cleaner, with the operation's success or failure +first being deterimined, then whether any error should be fatal being +deterimined afterwards. +--- + functions.sh | 25 +++++++++++++------------ + 1 file changed, 13 insertions(+), 12 deletions(-) + +diff --git a/functions.sh b/functions.sh +index 183a6baa..6675efcd 100644 +--- a/functions.sh ++++ b/functions.sh +@@ -71,22 +71,23 @@ mountvirtfs () { + if grep -q "[[:space:]]$fstype\$" /proc/filesystems && \ + ! grep -q "^[^ ]\+ \+$path " /proc/mounts; then + if mkdir -p "$path"; then +- true +- elif [ "$fstype" = "efivarfs" ]; then +- error "Error creating $path (non-fatal)" +- return ++ if mount -t "$fstype" "$fstype" "$path"; then ++ log "Success mounting $path" ++ EXTRA_PATHS="$EXTRA_PATHS $path" ++ trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT ++ return ++ else ++ failed_action="Mounting" ++ fi + else +- die grub-installer/mounterr "Error creating $path" ++ failed_action="Creating" + fi + +- if mount -t "$fstype" "$fstype" "$path"; then +- log "Success mounting $path" +- EXTRA_PATHS="$EXTRA_PATHS $path" +- trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT +- elif [ "$fstype" = "efivarfs" ]; then +- error "Error mounting $path (non-fatal)" ++ # if here, a failure has occured (otherwise would 'return' above) ++ if [ "$fstype" = "efivarfs" ]; then ++ error "$failed_action $path failed (non-fatal)" + else +- die grub-installer/mounterr "Error mounting $path" ++ die grub-installer/mounterr "$failed_action '$path' failed" + fi + fi + } +-- +GitLab + + +From bc1945e46f6ae7a3113e6761d9f2a5e21a52adbd Mon Sep 17 00:00:00 2001 +From: Philip Hands +Date: Wed, 23 Aug 2023 10:27:27 +0200 +Subject: [PATCH 06/14] avoid tagging expected(ish) failure as 'error:' + +I've left the word 'error' in the message, to make it easy to find +anyway, but if the behaviour is somewhat expected, then having 'error:' +starting the line seems likely to be a red-herring when an unrelated bug +occurs (even with the 'non-fatal'). +--- + functions.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/functions.sh b/functions.sh +index 6675efcd..a03e03af 100644 +--- a/functions.sh ++++ b/functions.sh +@@ -85,7 +85,7 @@ mountvirtfs () { + + # if here, a failure has occured (otherwise would 'return' above) + if [ "$fstype" = "efivarfs" ]; then +- error "$failed_action $path failed (non-fatal)" ++ info "$failed_action $path failed (non-fatal error)" + else + die grub-installer/mounterr "$failed_action '$path' failed" + fi +-- +GitLab + + +From 2b80ed9f3295f2fde11dfd97dc5e5da3cacc699e Mon Sep 17 00:00:00 2001 +From: Philip Hands +Date: Wed, 23 Aug 2023 10:36:16 +0200 +Subject: [PATCH 07/14] only try to mount /sys.../efi/... on efi systems + +--- + debian/postinst | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + +diff --git a/debian/postinst b/debian/postinst +index b1954b87..86d6428b 100755 +--- a/debian/postinst ++++ b/debian/postinst +@@ -4,14 +4,17 @@ + + . /usr/share/grub-installer/functions.sh + +-# If we're installing grub-efi, it wants /sys mounted in the +-# target. Maybe /proc too? +-mountvirtfs proc /target/proc +-mountvirtfs sysfs /target/sys +-# unmounting /target/proc causes an error later on in the install: +-# umount: can't unmount /target/proc: Invalid argument +-# (seems like a bug somewhere, but will preserve the old 'overwriting traps' behaviour for now) +-EXTRA_PATHS="" +-mountvirtfs efivarfs /target/sys/firmware/efi/efivars ++ARCH=$(archdetect) ++if [ "${ARCH#*/}" = "efi" ]; then ++ # If we're installing grub-efi, it wants /sys mounted in the ++ # target. Maybe /proc too? ++ mountvirtfs proc /target/proc ++ mountvirtfs sysfs /target/sys ++ # unmounting /target/proc causes an error later on in the install: ++ # umount: can't unmount /target/proc: Invalid argument ++ # (seems like a bug somewhere, but will preserve the old 'overwriting traps' behaviour for now) ++ EXTRA_PATHS="" ++ mountvirtfs efivarfs /target/sys/firmware/efi/efivars ++fi + + grub-installer /target +-- +GitLab + + +From da766c976ef03b578dab1306ba86581fb474ba61 Mon Sep 17 00:00:00 2001 +From: Philip Hands +Date: Wed, 23 Aug 2023 10:45:07 +0200 +Subject: [PATCH 08/14] mountvirtfs: introduce optional 'fatality' param + +This seems clearer than having mountvirtfs treat efivarfs as a special +case, as one gets to see that there's something different in the call, +and it also means that if the function manages to fail for some other +reason than the mkdir failing, we won't mask that with `... || true` +--- + debian/postinst | 2 +- + functions.sh | 9 ++++++--- + rescue.d/80grub-reinstall | 2 +- + rescue.d/81grub-efi-force-removable | 2 +- + 4 files changed, 9 insertions(+), 6 deletions(-) + +diff --git a/debian/postinst b/debian/postinst +index 86d6428b..2523c14f 100755 +--- a/debian/postinst ++++ b/debian/postinst +@@ -14,7 +14,7 @@ if [ "${ARCH#*/}" = "efi" ]; then + # umount: can't unmount /target/proc: Invalid argument + # (seems like a bug somewhere, but will preserve the old 'overwriting traps' behaviour for now) + EXTRA_PATHS="" +- mountvirtfs efivarfs /target/sys/firmware/efi/efivars ++ mountvirtfs efivarfs /target/sys/firmware/efi/efivars non-fatal + fi + + grub-installer /target +diff --git a/functions.sh b/functions.sh +index a03e03af..a40af89d 100644 +--- a/functions.sh ++++ b/functions.sh +@@ -68,6 +68,8 @@ EXTRA_PATHS="" + mountvirtfs () { + fstype="$1" + path="$2" ++ failure_response="${3:-fatal}" ++ + if grep -q "[[:space:]]$fstype\$" /proc/filesystems && \ + ! grep -q "^[^ ]\+ \+$path " /proc/mounts; then + if mkdir -p "$path"; then +@@ -83,11 +85,12 @@ mountvirtfs () { + failed_action="Creating" + fi + ++ log_msg="$failed_action '$path' failed ($failure_response error)" + # if here, a failure has occured (otherwise would 'return' above) +- if [ "$fstype" = "efivarfs" ]; then +- info "$failed_action $path failed (non-fatal error)" ++ if [ "$failure_response" != "fatal" ]; then ++ info "$log_msg" + else +- die grub-installer/mounterr "$failed_action '$path' failed" ++ die grub-installer/mounterr "$log_msg" + fi + fi + } +diff --git a/rescue.d/80grub-reinstall b/rescue.d/80grub-reinstall +index c52a0be2..31b45125 100755 +--- a/rescue.d/80grub-reinstall ++++ b/rescue.d/80grub-reinstall +@@ -13,7 +13,7 @@ db_progress INFO grub-installer/progress/step_bootdev + mountvirtfs proc /target/proc + mountvirtfs sysfs /target/sys + modprobe efivarfs >/dev/null 2>&1 || true +-mountvirtfs efivarfs /target/sys/firmware/efi/efivars || true ++mountvirtfs efivarfs /target/sys/firmware/efi/efivars non-fatal + if [ -e /target/boot/efi ]; then + chroot /target mount /boot/efi || true + EXTRA_PATHS="$EXTRA_PATHS /target/boot/efi" +diff --git a/rescue.d/81grub-efi-force-removable b/rescue.d/81grub-efi-force-removable +index f03d88d7..212aeb74 100755 +--- a/rescue.d/81grub-efi-force-removable ++++ b/rescue.d/81grub-efi-force-removable +@@ -37,7 +37,7 @@ _dbg_log "Mounting filesystems" + mountvirtfs proc /target/proc + mountvirtfs sysfs /target/sys + modprobe efivarfs >/dev/null 2>&1 || true +-mountvirtfs efivarfs /target/sys/firmware/efi/efivars || true ++mountvirtfs efivarfs /target/sys/firmware/efi/efivars non-fatal + chroot /target mount /boot/efi || true + EXTRA_PATHS="$EXTRA_PATHS /target/boot/efi" + trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT +-- +GitLab + + +From a1e2235247fd6c1ead6b15e7122d9e3451878b3b Mon Sep 17 00:00:00 2001 +From: Philip Hands +Date: Wed, 23 Aug 2023 10:52:23 +0200 +Subject: [PATCH 09/14] grub-installer/mounterr: say which path failed + +--- + debian/grub-installer.templates | 4 ++-- + functions.sh | 10 +++++++--- + 2 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/debian/grub-installer.templates b/debian/grub-installer.templates +index 83bbb217..7c4272bd 100644 +--- a/debian/grub-installer.templates ++++ b/debian/grub-installer.templates +@@ -229,8 +229,8 @@ Description: for internal use; can be preseeded + Template: grub-installer/mounterr + Type: error + # :sl4: +-_Description: Failed to mount /target/proc +- Mounting the proc file system on /target/proc failed. ++_Description: Failed to mount ${PATH} ++ Mounting the ${FSTYPE} file system on ${PATH} failed. + . + Check /var/log/syslog or see virtual console 4 for the details. + . +diff --git a/functions.sh b/functions.sh +index a40af89d..4e3338c6 100644 +--- a/functions.sh ++++ b/functions.sh +@@ -55,10 +55,14 @@ debug () { + } + + die () { +- local template="$1" +- shift ++ local template="$1" ; shift ++ local fstype="$1" ; shift ++ local path="$1" ; shift ++ + + error "$@" ++ db_subst "$template" FSTYPE "$fstype" ++ db_subst "$template" PATH "$path" + db_input critical "$template" || [ $? -eq 30 ] + db_go || true + exit 1 +@@ -90,7 +94,7 @@ mountvirtfs () { + if [ "$failure_response" != "fatal" ]; then + info "$log_msg" + else +- die grub-installer/mounterr "$log_msg" ++ die grub-installer/mounterr "$fstype" "$path" "$log_msg" + fi + fi + } +-- +GitLab + + +From b878d83e2289e3907126d29dc2f687aaba7d4aab Mon Sep 17 00:00:00 2001 +From: Philip Hands +Date: Wed, 23 Aug 2023 18:30:04 +0200 +Subject: [PATCH 10/14] insert new paths at the start of $EXTRA_PATHS + +This ensures that umount is called with the most recently mounted thing +first, which is required when mountpoints are nested. +--- + functions.sh | 2 +- + rescue.d/80grub-reinstall | 2 +- + rescue.d/81grub-efi-force-removable | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/functions.sh b/functions.sh +index 4e3338c6..186ad7b1 100644 +--- a/functions.sh ++++ b/functions.sh +@@ -79,7 +79,7 @@ mountvirtfs () { + if mkdir -p "$path"; then + if mount -t "$fstype" "$fstype" "$path"; then + log "Success mounting $path" +- EXTRA_PATHS="$EXTRA_PATHS $path" ++ EXTRA_PATHS="$path $EXTRA_PATHS" + trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT + return + else +diff --git a/rescue.d/80grub-reinstall b/rescue.d/80grub-reinstall +index 31b45125..d9441a49 100755 +--- a/rescue.d/80grub-reinstall ++++ b/rescue.d/80grub-reinstall +@@ -16,7 +16,7 @@ modprobe efivarfs >/dev/null 2>&1 || true + mountvirtfs efivarfs /target/sys/firmware/efi/efivars non-fatal + if [ -e /target/boot/efi ]; then + chroot /target mount /boot/efi || true +- EXTRA_PATHS="$EXTRA_PATHS /target/boot/efi" ++ EXTRA_PATHS="/target/boot/efi $EXTRA_PATHS" + fi + if [ -n "$EXTRA_PATHS" ]; then + trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT +diff --git a/rescue.d/81grub-efi-force-removable b/rescue.d/81grub-efi-force-removable +index 212aeb74..ede1ed33 100755 +--- a/rescue.d/81grub-efi-force-removable ++++ b/rescue.d/81grub-efi-force-removable +@@ -39,7 +39,7 @@ mountvirtfs sysfs /target/sys + modprobe efivarfs >/dev/null 2>&1 || true + mountvirtfs efivarfs /target/sys/firmware/efi/efivars non-fatal + chroot /target mount /boot/efi || true +-EXTRA_PATHS="$EXTRA_PATHS /target/boot/efi" ++EXTRA_PATHS="/target/boot/efi $EXTRA_PATHS" + trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT + + db_progress STEP 1 +-- +GitLab + + +From 01126606e5055c1448b439666557fa1e94588ff0 Mon Sep 17 00:00:00 2001 +From: Pascal Hambourg +Date: Sun, 27 Aug 2023 15:17:42 +0200 +Subject: [PATCH 11/14] Move unmount-on-exit logic into its own function + +So that it can be used with other mounts than mountvirtfs (/run, /boot/efi). + +Use unmount_on_exit with /proc and /run, so that unmounts match mounts +even on error exit. Unconditional unmount on normal exit only was +flawed. +--- + functions.sh | 8 ++++++-- + grub-installer | 14 +++++--------- + rescue.d/80grub-reinstall | 6 +----- + rescue.d/81grub-efi-force-removable | 4 +--- + 4 files changed, 13 insertions(+), 19 deletions(-) + +diff --git a/functions.sh b/functions.sh +index 186ad7b1..76df5ae0 100644 +--- a/functions.sh ++++ b/functions.sh +@@ -69,6 +69,11 @@ die () { + } + + EXTRA_PATHS="" ++unmount_on_exit () { ++ EXTRA_PATHS="$1 $EXTRA_PATHS" ++ trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT ++} ++ + mountvirtfs () { + fstype="$1" + path="$2" +@@ -79,8 +84,7 @@ mountvirtfs () { + if mkdir -p "$path"; then + if mount -t "$fstype" "$fstype" "$path"; then + log "Success mounting $path" +- EXTRA_PATHS="$path $EXTRA_PATHS" +- trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT ++ unmount_on_exit "$path" + return + else + failed_action="Mounting" +diff --git a/grub-installer b/grub-installer +index bd2bcf9d..efdc5fa7 100755 +--- a/grub-installer ++++ b/grub-installer +@@ -35,17 +35,21 @@ if [ -z "$initial_proc_contents" ]; then + info "Mounting /proc into $ROOT" + if [ "$(udpkg --print-os)" = "kfreebsd" ]; then + mount -t linprocfs proc $ROOT/proc ++ unmount_on_exit $ROOT/proc + elif [ "$(udpkg --print-os)" = "hurd" ]; then + mount -t proc none $ROOT/proc ++ unmount_on_exit $ROOT/proc + else +- mount -t proc proc $ROOT/proc ++ mountvirtfs proc $ROOT/proc + fi + fi + + # On Linux, we need /run in the chroot to work around + # https://bugs.debian.org/918590. + if [ "$(udpkg --print-os)" = "linux" ] && [ ! -d "$ROOT/run/udev" ]; then ++ info "Bind mounting /run into $ROOT" + mount --bind /run $ROOT/run ++ unmount_on_exit $ROOT/run + fi + + get_serial_console() { +@@ -1483,11 +1487,3 @@ fi + + db_progress STEP 1 + db_progress STOP +- +-if [ "$(udpkg --print-os)" = "linux" ] && ! umount $ROOT/run; then +- info "Failed to unmount /run in $ROOT" +-fi +- +-if ! umount $ROOT/proc; then +- info "Failed to unmount /proc in $ROOT" +-fi +diff --git a/rescue.d/80grub-reinstall b/rescue.d/80grub-reinstall +index d9441a49..754338ba 100755 +--- a/rescue.d/80grub-reinstall ++++ b/rescue.d/80grub-reinstall +@@ -15,11 +15,7 @@ mountvirtfs sysfs /target/sys + modprobe efivarfs >/dev/null 2>&1 || true + mountvirtfs efivarfs /target/sys/firmware/efi/efivars non-fatal + if [ -e /target/boot/efi ]; then +- chroot /target mount /boot/efi || true +- EXTRA_PATHS="/target/boot/efi $EXTRA_PATHS" +-fi +-if [ -n "$EXTRA_PATHS" ]; then +- trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT ++ chroot /target mount /boot/efi && unmount_on_exit /target/boot/efi || true + fi + + db_input critical grub-installer/bootdev +diff --git a/rescue.d/81grub-efi-force-removable b/rescue.d/81grub-efi-force-removable +index ede1ed33..9275185d 100755 +--- a/rescue.d/81grub-efi-force-removable ++++ b/rescue.d/81grub-efi-force-removable +@@ -38,9 +38,7 @@ mountvirtfs proc /target/proc + mountvirtfs sysfs /target/sys + modprobe efivarfs >/dev/null 2>&1 || true + mountvirtfs efivarfs /target/sys/firmware/efi/efivars non-fatal +-chroot /target mount /boot/efi || true +-EXTRA_PATHS="/target/boot/efi $EXTRA_PATHS" +-trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT ++chroot /target mount /boot/efi && unmount_on_exit /target/boot/efi || true + + db_progress STEP 1 + db_progress INFO grub-installer/progress/step_install_loader +-- +GitLab + + +From 4ce7d6c337c36cee7db499482ab9507c7d018c5f Mon Sep 17 00:00:00 2001 +From: Pascal Hambourg +Date: Sun, 27 Aug 2023 18:02:38 +0200 +Subject: [PATCH 12/14] Move /sys and efivarfs mounts from postinst to + grub-installer + +And mount them only if we're installing grub-efi* to avoid adding a +bogus 'uefi-firmware' menu entry when ignore_uefi is set. +Also, remove /proc mount from postinst since grub-installer does it too. +--- + debian/postinst | 17 ----------------- + grub-installer | 7 +++++++ + 2 files changed, 7 insertions(+), 17 deletions(-) + +diff --git a/debian/postinst b/debian/postinst +index 2523c14f..f63eea3d 100755 +--- a/debian/postinst ++++ b/debian/postinst +@@ -1,20 +1,3 @@ + #! /bin/sh -e + +-. /usr/share/debconf/confmodule +- +-. /usr/share/grub-installer/functions.sh +- +-ARCH=$(archdetect) +-if [ "${ARCH#*/}" = "efi" ]; then +- # If we're installing grub-efi, it wants /sys mounted in the +- # target. Maybe /proc too? +- mountvirtfs proc /target/proc +- mountvirtfs sysfs /target/sys +- # unmounting /target/proc causes an error later on in the install: +- # umount: can't unmount /target/proc: Invalid argument +- # (seems like a bug somewhere, but will preserve the old 'overwriting traps' behaviour for now) +- EXTRA_PATHS="" +- mountvirtfs efivarfs /target/sys/firmware/efi/efivars non-fatal +-fi +- + grub-installer /target +diff --git a/grub-installer b/grub-installer +index efdc5fa7..50defde0 100755 +--- a/grub-installer ++++ b/grub-installer +@@ -461,6 +461,13 @@ fi + + case $grub_package in + grub-efi*) ++ # If we're installing grub-efi, it wants /sys and efivarfs ++ # mounted in the target. Conversely, if we're installing grub-pc, ++ # efivarfs must not be mounted in the target to prevent update-grub ++ # from adding a bogus menu entry for UEFI firmware settings. ++ mountvirtfs sysfs $ROOT/sys ++ mountvirtfs efivarfs $ROOT/sys/firmware/efi/efivars non-fatal ++ + # debconf priority for the EFI removable question. The happy path here + # is that efi boot variables are available. If they are not, then the + # user most likely has to force grub to the removable media path in +-- +GitLab + + +From 74edbf3a4ce9882569f8238cecd7651b6295087c Mon Sep 17 00:00:00 2001 +From: Philip Hands +Date: Mon, 28 Aug 2023 14:31:24 +0200 +Subject: [PATCH 13/14] Use a combined stack for on_exit() cleanup tasks + +Add support for not only umount but any cleanup commands (rmdir, rm...) +to prepare partman's ignore_uefi flag propagation to the target system. + +This requires to undo the operations in the reverse order to which they +were done in order to accomodate nested operations. So push all the +commands onto a single LIFO stack. +--- + functions.sh | 25 ++++++++++++++++++++----- + grub-installer | 6 +++--- + rescue.d/80grub-reinstall | 2 +- + rescue.d/81grub-efi-force-removable | 2 +- + 4 files changed, 25 insertions(+), 10 deletions(-) + +diff --git a/functions.sh b/functions.sh +index 76df5ae0..c48bf675 100644 +--- a/functions.sh ++++ b/functions.sh +@@ -68,11 +68,26 @@ die () { + exit 1 + } + +-EXTRA_PATHS="" +-unmount_on_exit () { +- EXTRA_PATHS="$1 $EXTRA_PATHS" +- trap "umount $EXTRA_PATHS" HUP INT QUIT KILL PIPE TERM EXIT ++# on_exit() takes a command, and pushes it onto a stack of commands, which ++# are later executed by perform_exit_stack() (via trap) in LIFO order. ++EXIT_STACK="" ++on_exit() { ++ if [ 1 != $# ]; then ++ error "$0: on_exit() expects exactly 1 argument, but was given $# ${*:+(args:$(printf " [%s]" "$@"))}" ++ exit 1 ++ fi ++ EXIT_STACK=$(printf '%s\n%s' "$1" "$EXIT_STACK") ++} ++ ++perform_exit_stack () { ++ printf '%s\n' "$EXIT_STACK" | \ ++ while read -r cmd; do ++ debug "perform_exit_stack(): Running \"$cmd\"" ++ eval "$cmd" || info "attempt to run \"$cmd\" failed [$?] when exiting \"$0\" (non-fatal)" ++ done ++ debug "perform_exit_stack(): exiting \"$0\"" + } ++trap perform_exit_stack HUP INT QUIT KILL PIPE TERM EXIT + + mountvirtfs () { + fstype="$1" +@@ -84,7 +99,7 @@ mountvirtfs () { + if mkdir -p "$path"; then + if mount -t "$fstype" "$fstype" "$path"; then + log "Success mounting $path" +- unmount_on_exit "$path" ++ on_exit "umount '$path'" + return + else + failed_action="Mounting" +diff --git a/grub-installer b/grub-installer +index 50defde0..5b9dc6a1 100755 +--- a/grub-installer ++++ b/grub-installer +@@ -35,10 +35,10 @@ if [ -z "$initial_proc_contents" ]; then + info "Mounting /proc into $ROOT" + if [ "$(udpkg --print-os)" = "kfreebsd" ]; then + mount -t linprocfs proc $ROOT/proc +- unmount_on_exit $ROOT/proc ++ on_exit "umount '$ROOT/proc'" + elif [ "$(udpkg --print-os)" = "hurd" ]; then + mount -t proc none $ROOT/proc +- unmount_on_exit $ROOT/proc ++ on_exit "umount '$ROOT/proc'" + else + mountvirtfs proc $ROOT/proc + fi +@@ -49,7 +49,7 @@ fi + if [ "$(udpkg --print-os)" = "linux" ] && [ ! -d "$ROOT/run/udev" ]; then + info "Bind mounting /run into $ROOT" + mount --bind /run $ROOT/run +- unmount_on_exit $ROOT/run ++ on_exit "umount '$ROOT/run'" + fi + + get_serial_console() { +diff --git a/rescue.d/80grub-reinstall b/rescue.d/80grub-reinstall +index 754338ba..cd05f3d6 100755 +--- a/rescue.d/80grub-reinstall ++++ b/rescue.d/80grub-reinstall +@@ -15,7 +15,7 @@ mountvirtfs sysfs /target/sys + modprobe efivarfs >/dev/null 2>&1 || true + mountvirtfs efivarfs /target/sys/firmware/efi/efivars non-fatal + if [ -e /target/boot/efi ]; then +- chroot /target mount /boot/efi && unmount_on_exit /target/boot/efi || true ++ chroot /target mount /boot/efi && on_exit "umount /target/boot/efi" || true + fi + + db_input critical grub-installer/bootdev +diff --git a/rescue.d/81grub-efi-force-removable b/rescue.d/81grub-efi-force-removable +index 9275185d..82e17a3b 100755 +--- a/rescue.d/81grub-efi-force-removable ++++ b/rescue.d/81grub-efi-force-removable +@@ -38,7 +38,7 @@ mountvirtfs proc /target/proc + mountvirtfs sysfs /target/sys + modprobe efivarfs >/dev/null 2>&1 || true + mountvirtfs efivarfs /target/sys/firmware/efi/efivars non-fatal +-chroot /target mount /boot/efi && unmount_on_exit /target/boot/efi || true ++chroot /target mount /boot/efi && on_exit "umount /target/boot/efi" || true + + db_progress STEP 1 + db_progress INFO grub-installer/progress/step_install_loader +-- +GitLab + + +From 44cf4f9ea70d42371a37f159a9610a92b506f4a1 Mon Sep 17 00:00:00 2001 +From: Pascal Hambourg +Date: Sun, 27 Aug 2023 19:28:45 +0200 +Subject: [PATCH 14/14] grub-installer: propagate ignore_uefi flag to target + system for os-prober + +If partman-efi set /var/lib/partman/ignore_uefi flag, os-prober +should perform legacy BIOS probes and skip EFI probes in target chroot, +so temporarily set ignore_uefi in the target system too. +--- + grub-installer | 30 ++++++++++++++++++++++++++++++ + 1 file changed, 30 insertions(+) + +diff --git a/grub-installer b/grub-installer +index 5b9dc6a1..09dfe212 100755 +--- a/grub-installer ++++ b/grub-installer +@@ -323,6 +323,8 @@ case $ARCH in + ;; + i386/efi|amd64/efi) + if [ -f /var/lib/partman/ignore_uefi ]; then ++ # $SUBARCH != "efi" if partman ignore_uefi flag is set ++ # so this branch should not be reached + grub_package="grub-pc" + else + grub_package="grub-efi" +@@ -368,6 +370,34 @@ case $ARCH in + grub_package="grub-pc" + esac + ++if [ -f /var/lib/partman/ignore_uefi ]; then ++ # propagate partman ignore_uefi flag to the target system so that ++ # os-prober performs legacy BIOS probes instead of EFI probes ++ # when running update-grub in target chroot ++ if [ ! -e $ROOT/var/lib/partman ]; then ++ if mkdir -p $ROOT/var/lib/partman; then ++ on_exit "rmdir '$ROOT/var/lib/partman'" ++ else ++ error "Failed to create directory $ROOT/var/lib/partman" ++ exit 1 ++ fi ++ elif [ ! -d $ROOT/var/lib/partman ]; then ++ error "$ROOT/var/lib/partman exists but is not a directory" ++ exit 1 ++ fi ++ if [ ! -e $ROOT/var/lib/partman/ignore_uefi ]; then ++ if touch $ROOT/var/lib/partman/ignore_uefi; then ++ on_exit "rm '$ROOT/var/lib/partman/ignore_uefi'" ++ else ++ error "Failed to create file $ROOT/var/lib/partman/ignore_uefi" ++ exit 1 ++ fi ++ elif [ ! -f $ROOT/var/lib/partman/ignore_uefi ]; then ++ error "$ROOT/var/lib/partman/ignore_uefi exists but is not a regular file" ++ exit 1 ++ fi ++fi ++ + case "$frtype:$bootfstype:$bootfslabel:$grub_package" in + multipath:*:*:*) + # Multipath requires GRUB Legacy for now +-- +GitLab + diff --git a/helpers/DATA/grub-installer/custom/02_a50782a34b4e792d62b77a5b56c9ca7fe14ece9c.patch b/helpers/DATA/grub-installer/custom/02_a50782a34b4e792d62b77a5b56c9ca7fe14ece9c.patch new file mode 100644 index 0000000..6097ef4 --- /dev/null +++ b/helpers/DATA/grub-installer/custom/02_a50782a34b4e792d62b77a5b56c9ca7fe14ece9c.patch @@ -0,0 +1,42 @@ +From a50782a34b4e792d62b77a5b56c9ca7fe14ece9c Mon Sep 17 00:00:00 2001 +From: D-I role +Date: Thu, 14 Sep 2023 20:02:51 +0000 +Subject: [PATCH] [l10n] Update templates.pot (from l10n-sync run at dillon) + +--- + debian/po/templates.pot | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/debian/po/templates.pot b/debian/po/templates.pot +index 30e63b4e..c46bf4bd 100644 +--- a/debian/po/templates.pot ++++ b/debian/po/templates.pot +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: grub-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME \n" + "Language-Team: LANGUAGE \n" +@@ -394,14 +394,14 @@ msgstr "" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" ++msgid "Failed to mount ${PATH}" + msgstr "" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "" + + #. Type: error +-- +GitLab + diff --git a/helpers/DATA/grub-installer/custom/03_1e1b1e7cd8e9284dd4067705f55c3a207e008d60.patch b/helpers/DATA/grub-installer/custom/03_1e1b1e7cd8e9284dd4067705f55c3a207e008d60.patch new file mode 100644 index 0000000..5a7b49b --- /dev/null +++ b/helpers/DATA/grub-installer/custom/03_1e1b1e7cd8e9284dd4067705f55c3a207e008d60.patch @@ -0,0 +1,2659 @@ +From 1e1b1e7cd8e9284dd4067705f55c3a207e008d60 Mon Sep 17 00:00:00 2001 +From: D-I role +Date: Thu, 14 Sep 2023 20:23:31 +0000 +Subject: [PATCH] [l10n] Commit changed/added po files (from l10n-sync run at + dillon) + +--- + debian/po/am.po | 10 ++++++---- + debian/po/ar.po | 14 ++++++++------ + debian/po/ast.po | 10 ++++++---- + debian/po/be.po | 14 ++++++++------ + debian/po/bg.po | 12 +++++++----- + debian/po/bn.po | 10 ++++++---- + debian/po/bo.po | 11 +++++------ + debian/po/bs.po | 10 ++++++---- + debian/po/ca.po | 12 +++++++----- + debian/po/cs.po | 12 +++++++----- + debian/po/cy.po | 10 ++++++---- + debian/po/da.po | 10 ++++++---- + debian/po/de.po | 12 +++++++----- + debian/po/dz.po | 10 ++++++---- + debian/po/el.po | 10 ++++++---- + debian/po/eo.po | 10 ++++++---- + debian/po/es.po | 12 +++++++----- + debian/po/et.po | 10 ++++++---- + debian/po/eu.po | 10 ++++++---- + debian/po/fa.po | 10 ++++++---- + debian/po/fi.po | 14 ++++++++------ + debian/po/fr.po | 10 ++++++---- + debian/po/ga.po | 10 ++++++---- + debian/po/gl.po | 10 ++++++---- + debian/po/gu.po | 10 ++++++---- + debian/po/he.po | 12 +++++++----- + debian/po/hi.po | 14 ++++++++------ + debian/po/hr.po | 14 ++++++++------ + debian/po/hu.po | 10 ++++++---- + debian/po/id.po | 14 ++++++++------ + debian/po/is.po | 12 +++++++----- + debian/po/it.po | 10 ++++++---- + debian/po/ja.po | 10 ++++++---- + debian/po/ka.po | 12 +++++++----- + debian/po/kab.po | 10 ++++++---- + debian/po/kk.po | 10 ++++++---- + debian/po/km.po | 10 ++++++---- + debian/po/kn.po | 10 ++++++---- + debian/po/ko.po | 12 +++++++----- + debian/po/ku.po | 10 ++++++---- + debian/po/lo.po | 10 ++++++---- + debian/po/lt.po | 12 +++++++----- + debian/po/lv.po | 10 ++++++---- + debian/po/mk.po | 10 ++++++---- + debian/po/ml.po | 10 ++++++---- + debian/po/mr.po | 10 ++++++---- + debian/po/nb.po | 14 ++++++++------ + debian/po/ne.po | 10 ++++++---- + debian/po/nl.po | 12 +++++++----- + debian/po/nn.po | 10 ++++++---- + debian/po/oc.po | 10 ++++++---- + debian/po/pa.po | 10 ++++++---- + debian/po/pl.po | 12 +++++++----- + debian/po/pt.po | 12 +++++++----- + debian/po/pt_BR.po | 12 +++++++----- + debian/po/ro.po | 12 +++++++----- + debian/po/ru.po | 10 ++++++---- + debian/po/se.po | 11 +++++++---- + debian/po/si.po | 10 ++++++---- + debian/po/sk.po | 10 ++++++---- + debian/po/sl.po | 10 ++++++---- + debian/po/sq.po | 10 ++++++---- + debian/po/sr.po | 12 +++++++----- + debian/po/sv.po | 14 ++++++++------ + debian/po/ta.po | 10 ++++++---- + debian/po/te.po | 10 ++++++---- + debian/po/tg.po | 10 ++++++---- + debian/po/th.po | 10 ++++++---- + debian/po/tl.po | 10 ++++++---- + debian/po/tr.po | 14 ++++++++------ + debian/po/ug.po | 10 ++++++---- + debian/po/uk.po | 14 ++++++++------ + debian/po/vi.po | 10 ++++++---- + debian/po/zh_CN.po | 14 ++++++++------ + debian/po/zh_TW.po | 14 ++++++++------ + 75 files changed, 490 insertions(+), 342 deletions(-) + +diff --git a/debian/po/am.po b/debian/po/am.po +index ee843616..1b753cf7 100644 +--- a/debian/po/am.po ++++ b/debian/po/am.po +@@ -17,7 +17,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2022-12-11 11:40+0000\n" + "Last-Translator: Danial Behzadi \n" + "Language-Team: Amharic \n" +@@ -428,14 +428,16 @@ msgstr "ግሩብ የገዢ ስልት ማስነሻ እንደገና ይተከል" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc ን መጫን አልተሳካም" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "ሲዲውን መጫን አልተሳካም" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "የproc ፋይል ስርዓትን በ /target/proc መጫን አልተሳካም።" + + #. Type: error +diff --git a/debian/po/ar.po b/debian/po/ar.po +index 300d86ee..fa7fca2c 100644 +--- a/debian/po/ar.po ++++ b/debian/po/ar.po +@@ -30,9 +30,9 @@ msgid "" + msgstr "" + "Project-Id-Version: ar\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2022-01-05 22:55+0000\n" +-"Last-Translator: Bashir Hassan \n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-02-10 08:40+0000\n" ++"Last-Translator: Khaled Mahmoud \n" + "Language-Team: \n" + "Language: ar\n" + "MIME-Version: 1.0\n" +@@ -453,14 +453,16 @@ msgstr "تثبيت محمّل الإقلاع GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "فشل تركيب /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "فشل تركيب القرص المدمج" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "فشل تركيب نظام ملفّات proc عند /target/proc." + + #. Type: error +diff --git a/debian/po/ast.po b/debian/po/ast.po +index 9dca7d44..04971f2a 100644 +--- a/debian/po/ast.po ++++ b/debian/po/ast.po +@@ -19,7 +19,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2022-12-11 11:40+0000\n" + "Last-Translator: Danial Behzadi \n" + "Language-Team: Softastur\n" +@@ -460,14 +460,16 @@ msgstr "Reinstalar el cargador d'arranque GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Falló montar /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Falló montar CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Falló montar el sistema de ficheros proc en /target/proc" + + #. Type: error +diff --git a/debian/po/be.po b/debian/po/be.po +index a3ba5ad3..3b137f1a 100644 +--- a/debian/po/be.po ++++ b/debian/po/be.po +@@ -22,9 +22,9 @@ msgid "" + msgstr "" + "Project-Id-Version: be\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-27 15:36+0300\n" +-"Last-Translator: Viktar Siarheichyk \n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-08-01 07:07+0000\n" ++"Last-Translator: Viktar Siarhejčyk \n" + "Language-Team: Belarusian \n" + "Language: be\n" + "MIME-Version: 1.0\n" +@@ -451,14 +451,16 @@ msgstr "Пераўсталяваць загрузчык GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Не атрымалася прымацаваць /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Не атрымалася прымацаваць CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "" + "Не атрымалася прымацаваць файлавую сістэму proc да пункта /target/proc." + +diff --git a/debian/po/bg.po b/debian/po/bg.po +index dc0e9821..ab00af87 100644 +--- a/debian/po/bg.po ++++ b/debian/po/bg.po +@@ -35,8 +35,8 @@ msgid "" + msgstr "" + "Project-Id-Version: bg\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2022-12-10 18:02+0200\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-04-06 18:54+0300\n" + "Last-Translator: Damyan Ivanov \n" + "Language-Team: Bulgarian \n" + "Language: bg\n" +@@ -474,14 +474,16 @@ msgstr "Повторно инсталиране на програмата за + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Грешка при монтирането на /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Грешка при монтиране на компактдиска" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "" + "Монтирането на файловата система proc в /target/proc завърши неуспешно." + +diff --git a/debian/po/bn.po b/debian/po/bn.po +index f5bd85ec..df9424bd 100644 +--- a/debian/po/bn.po ++++ b/debian/po/bn.po +@@ -32,7 +32,7 @@ msgid "" + msgstr "" + "Project-Id-Version: bn\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-05-14 17:53+0000\n" + "Last-Translator: Indrani Roy \n" + "Language-Team: Bengali\n" +@@ -464,14 +464,16 @@ msgstr "পুনরায় GRUB বুট লোডার ইনস্টলক + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc মাউন্ট করার যায় নি" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "CD-ROM মাউন্ট করতে ব্যর্থ" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "proc ফাইল সিস্টেমকে /target/proc-এ মাউন্ট করা যায় নি।" + + #. Type: error +diff --git a/debian/po/bo.po b/debian/po/bo.po +index 7a0972a8..64557a7f 100644 +--- a/debian/po/bo.po ++++ b/debian/po/bo.po +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2019-08-28 18:09+0000\n" + "Last-Translator: leela <53352@protonmail.com>\n" + "Language-Team: bo \n" +@@ -435,17 +435,16 @@ msgstr "GRUB འགོ་འཛུགས་ཆས་བསྐྱར་དུ་ + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-#, fuzzy +-msgid "Failed to mount /target/proc" +-msgstr "/target ཐོག་ཏུ་བཀར་ཡོད་པའི་ཡིག་ཆ་མ་ལག་མེད་པ" ++msgid "Failed to mount ${PATH}" ++msgstr "" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 + #, fuzzy +-msgid "Mounting the proc file system on /target/proc failed." +-msgstr "/target/ ཐོག་ཏུ་རྨང་གཞིའི་སྒྲིག་འཇུག་བྱེད་མ་ཐུབ" ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." ++msgstr "${DEVICE} ཐོག་གི་ཁག་${PARTITION} གི་ཡིག་ཆའི་མ་ལག་${TYPE} འཚོལ་བཤེར་བཞིན་པ་་་" + + #. Type: error + #. Description +diff --git a/debian/po/bs.po b/debian/po/bs.po +index f6e8262e..6e1c8f8a 100644 +--- a/debian/po/bs.po ++++ b/debian/po/bs.po +@@ -26,7 +26,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer_packages_po_sublevel1_bs\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2022-04-28 20:08+0000\n" + "Last-Translator: Amar Tufo \n" + "Language-Team: Bosnian \n" +@@ -464,14 +464,16 @@ msgstr "Reinstaliraj GRUB boot loader" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Nemogu montirati /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Nemogu montirati CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Montiranje proc datotečnog sistema na /target/proc nije uspjelo." + + #. Type: error +diff --git a/debian/po/ca.po b/debian/po/ca.po +index 980286e3..d002101f 100644 +--- a/debian/po/ca.po ++++ b/debian/po/ca.po +@@ -23,8 +23,8 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-23 19:09+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-08-21 06:34+0000\n" + "Last-Translator: d \n" + "Language-Team: Catalan \n" + "Language: ca\n" +@@ -465,14 +465,16 @@ msgstr "Reinstal·la el carregador GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "No s'ha pogut muntar /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "No s'ha pogut muntar el CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Ha fallat el muntatge del sistema de fitxers proc a /target/proc." + + #. Type: error +diff --git a/debian/po/cs.po b/debian/po/cs.po +index ff27c66d..3a901e62 100644 +--- a/debian/po/cs.po ++++ b/debian/po/cs.po +@@ -18,8 +18,8 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-05-15 14:16+0200\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-06-27 21:49+0200\n" + "Last-Translator: Miroslav Kure \n" + "Language-Team: Czech \n" + "Language: cs\n" +@@ -446,14 +446,16 @@ msgstr "Reinstalovat zavaděč GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Připojení /target/proc selhalo" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Selhalo připojení CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Připojení souborového systému proc pod /target/proc selhalo." + + #. Type: error +diff --git a/debian/po/cy.po b/debian/po/cy.po +index d262bc6e..0e55e884 100644 +--- a/debian/po/cy.po ++++ b/debian/po/cy.po +@@ -20,7 +20,7 @@ msgid "" + msgstr "" + "Project-Id-Version: \n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2022-03-06 22:56+0000\n" + "Last-Translator: Ceiri Wyn Tudur \n" + "Language-Team: Welsh <>\n" +@@ -462,14 +462,16 @@ msgstr "Ailsefydlu'r llwythwr ymgychwyn GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Methwyd clymu /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Methwyd clymu CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Methwyd clymu'r system ffeiliau proc ar /target/proc." + + #. Type: error +diff --git a/debian/po/da.po b/debian/po/da.po +index f2b6dfa5..e555ff97 100644 +--- a/debian/po/da.po ++++ b/debian/po/da.po +@@ -39,7 +39,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer_packages_po_sublevel1_da\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-05-10 00:53+0000\n" + "Last-Translator: Tino Didriksen \n" + "Language-Team: \n" +@@ -470,14 +470,16 @@ msgstr "Geninstaller GRUB-opstartsindlæseren" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Kunne ikke montere /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Kunne ikke montere disketten" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Montering af proc-filsystemet på /target/proc mislykkedes." + + #. Type: error +diff --git a/debian/po/de.po b/debian/po/de.po +index dd82683b..47340661 100644 +--- a/debian/po/de.po ++++ b/debian/po/de.po +@@ -41,8 +41,8 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-22 23:52+0200\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-08-30 22:32+0200\n" + "Last-Translator: Holger Wansing \n" + "Language-Team: German \n" + "Language: de\n" +@@ -487,14 +487,16 @@ msgstr "Den GRUB-Bootloader neu installieren" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Einbinden von /target/proc fehlgeschlagen" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Einbinden der CD-ROM fehlgeschlagen" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Das proc-Dateisystem konnte nicht als /target/proc eingebunden werden." + + #. Type: error +diff --git a/debian/po/dz.po b/debian/po/dz.po +index 3d4438cb..c58b12c3 100644 +--- a/debian/po/dz.po ++++ b/debian/po/dz.po +@@ -18,7 +18,7 @@ msgid "" + msgstr "" + "Project-Id-Version: dDz.po\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2021-05-21 05:32+0000\n" + "Last-Translator: Jacque Fresco \n" + "Language-Team: Dzongkha \n" +@@ -454,14 +454,16 @@ msgstr "GRUB བུཊི་མངོན་གསལ་པ་ལོག་གཞ + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr " /target/proc སྦྱར་བརྩེགས་འབད་ནི་ལུ་འཐུས་ཤོར་བྱུང་ཡོད།" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "སི་ཌི་-རོམ་སྦྱར་བཙེགས་འབད་ནི་ལུ་འཐུས་ཤོར་བྱུང་ཡོད།" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr " /target/proc ལུ་ proc ཡིག་སྣོད་རིམ་ལུགས་སྦྱར་བརྩེགས་འབད་ནི་ལུ་འཐུས་ཤོར་བྱུང་ཡོ" + + #. Type: error +diff --git a/debian/po/el.po b/debian/po/el.po +index 2a1f8a5e..5ca0e845 100644 +--- a/debian/po/el.po ++++ b/debian/po/el.po +@@ -35,7 +35,7 @@ msgid "" + msgstr "" + "Project-Id-Version: el\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-05-13 02:46+0300\n" + "Last-Translator: galaxico \n" + "Language-Team: Greek \n" +@@ -477,14 +477,16 @@ msgstr "Επανεγκατάσταση του φορτωτή εκκίνησης + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Σφάλμα κατά τη προσάρτηση του /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Σφάλμα κατά την προσάρτηση (mount) του CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "" + "Η προσάρτηση του εικονικού συστήματος αρχείων procfs στο /target/proc " + "απέτυχε." +diff --git a/debian/po/eo.po b/debian/po/eo.po +index 3ae61c11..3bc6e47d 100644 +--- a/debian/po/eo.po ++++ b/debian/po/eo.po +#@@ -22,7 +22,7 @@ msgid "" +# msgstr "" +# "Project-Id-Version: debian-installer\n" +# "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +#-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +#+"POT-Creation-Date: 2023-09-14 20:02+0000\n" +# "PO-Revision-Date: 2023-07-21 00:03+0000\n" +# "Last-Translator: Felipe Castro \n" +# "Language-Team: Esperanto \n" +@@ -453,14 +453,16 @@ msgstr "Reinstali la ekŝargilon 'GRUB'" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Malsukcesis munti /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Munto de lumdisko malsukcesis" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Muntado de dosiersistemo proc sur /target/proc malsukcesis." + + #. Type: error +diff --git a/debian/po/es.po b/debian/po/es.po +index 4f716c37..72bedde0 100644 +--- a/debian/po/es.po ++++ b/debian/po/es.po +@@ -60,8 +60,8 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-23 19:09+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-08-18 17:56+0000\n" + "Last-Translator: gallegonovato \n" + "Language-Team: Debian Spanish \n" + "Language: es\n" +@@ -503,14 +503,16 @@ msgstr "Reinstalar el cargador de arranque GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Fallo al montar «/target/proc»" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Se produjo un fallo al montar el CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Falló el montaje el sistema de ficheros proc en «/target/proc»." + + #. Type: error +diff --git a/debian/po/et.po b/debian/po/et.po +index a638f434..26f09abe 100644 +--- a/debian/po/et.po ++++ b/debian/po/et.po +@@ -31,7 +31,7 @@ msgid "" + msgstr "" + "Project-Id-Version: \n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-04-25 19:42+0000\n" + "Last-Translator: Kristjan Räts \n" + "Language-Team: Estonian <>\n" +@@ -460,14 +460,16 @@ msgstr "GRUB alglaaduri uuesti seadistamine" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc haakimine nurjus" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Laserketast ei õnnestunud haakida" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Failisüsteemi /target/proc ei õnnestunud külge haakida." + + #. Type: error +diff --git a/debian/po/eu.po b/debian/po/eu.po +index eecab2dc..f6166dd1 100644 +--- a/debian/po/eu.po ++++ b/debian/po/eu.po +@@ -27,7 +27,7 @@ msgid "" + msgstr "" + "Project-Id-Version: di-sublevel1_eu\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2022-06-09 19:45+0000\n" + "Last-Translator: Gontzal Manuel Pujana Onaindia \n" + "Language-Team: Basque \n" +@@ -458,14 +458,16 @@ msgstr "Berriro instalatu GRUB abioko kargatzailea" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Huts egin du /target/proc muntatzean" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Ezin izan da CD-ROMa muntatu" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Huts egin du proc fitxategi-sistema /target/proc-en muntatzean." + + #. Type: error +diff --git a/debian/po/fa.po b/debian/po/fa.po +index 71d635c3..6ef61be0 100644 +--- a/debian/po/fa.po ++++ b/debian/po/fa.po +@@ -25,7 +25,7 @@ msgid "" + msgstr "" + "Project-Id-Version: fa sublevel1\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-05-06 12:58+0000\n" + "Last-Translator: Danial Behzadi \n" + "Language-Team: Debian-l10n-persian \n" +@@ -456,14 +456,16 @@ msgstr "نصب مجدد راه‌انداز GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "سوار کردن /target/proc شکست خورد" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "مونت CD-ROM با شکست مواجه شد" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "فایل سیستم proc بر روی /target/proc مانت نشده است ." + + #. Type: error +diff --git a/debian/po/fi.po b/debian/po/fi.po +index f489caba..299edc36 100644 +--- a/debian/po/fi.po ++++ b/debian/po/fi.po +@@ -27,9 +27,9 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2022-06-02 19:19+0000\n" +-"Last-Translator: Jiri Nakola \n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2022-09-16 09:23+0000\n" ++"Last-Translator: Tommi Nieminen \n" + "Language-Team: Finnish \n" + "Language: fi\n" + "MIME-Version: 1.0\n" +@@ -456,14 +456,16 @@ msgstr "Asennetaan GRUB-alkulatausohjelma uudelleen" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Hakemiston /target/proc liittäminen ei onnistunut" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "CD-levyn liittäminen epäonnistui" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "" + "proc-tiedostojärjestelmän liittäminen liitoskohtaan /target/proc ei " + "onnistunut." +diff --git a/debian/po/fr.po b/debian/po/fr.po +index 205fe424..9333b07f 100644 +--- a/debian/po/fr.po ++++ b/debian/po/fr.po +@@ -30,7 +30,7 @@ msgid "" + msgstr "" + "Project-Id-Version: fr\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-05-14 09:38+0200\n" + "Last-Translator: Baptiste Jammet \n" + "Language-Team: French \n" +@@ -480,14 +480,16 @@ msgstr "Réinstallation du programme de démarrage GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Échec du montage de /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Impossible de monter le CD" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Le montage du système de fichiers « proc » sur /target/proc a échoué." + + #. Type: error +diff --git a/debian/po/ga.po b/debian/po/ga.po +index 8f134764..338d0466 100644 +--- a/debian/po/ga.po ++++ b/debian/po/ga.po +@@ -17,7 +17,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-04-24 19:41-0500\n" + "Last-Translator: Kevin Scannell \n" + "Language-Team: Irish \n" +@@ -451,14 +451,16 @@ msgstr "Athshuiteáil luchtóir tosaithe GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Theip ar /target/proc a fheistiú" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Theip ar CD-ROM a fheistiú" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Níorbh fhéidir an córas comhad proc a fheistiú ar /target/proc." + + #. Type: error +diff --git a/debian/po/gl.po b/debian/po/gl.po +index 9a10d06e..fe262a98 100644 +--- a/debian/po/gl.po ++++ b/debian/po/gl.po +@@ -25,7 +25,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gl\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-04-16 12:50+0000\n" + "Last-Translator: gallegonovato \n" + "Language-Team: Galician \n" +@@ -460,14 +460,16 @@ msgstr "Reinstalar o cargador de arranque GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Non foi posíbel montar /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Non foi posíbel montar o CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Non foi posíbel montar o sistema de ficheiros proc en /target/proc ." + + #. Type: error +diff --git a/debian/po/gu.po b/debian/po/gu.po +index e6325e69..ea12770d 100644 +--- a/debian/po/gu.po ++++ b/debian/po/gu.po +@@ -24,7 +24,7 @@ msgid "" + msgstr "" + "Project-Id-Version: d-i\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2008-08-07 11:42+0530\n" + "Last-Translator: Kartik Mistry \n" + "Language-Team: \n" +@@ -451,14 +451,16 @@ msgstr "GRUB બૂટ લોડર ફરી સ્થાપિત કરો" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc માઉન્ટ કરવામાં નિષ્ફળ" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "સીડી-રોમ માઉન્ટ કરવામાં નિષ્ફળ" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "/target/proc પર proc ફાઇલ સિસ્ટમ માઉન્ટ કરવામાં નિષ્ફળ ગયું" + + #. Type: error +diff --git a/debian/po/he.po b/debian/po/he.po +index 69beaa2d..3dda5b63 100644 +--- a/debian/po/he.po ++++ b/debian/po/he.po +@@ -27,8 +27,8 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-23 13:41+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-08-18 17:56+0000\n" + "Last-Translator: Yaron Shahrabani \n" + "Language-Team: Hebrew (https://www.transifex.com/yaron/teams/79473/he/)\n" + "Language: he\n" +@@ -449,14 +449,16 @@ msgstr "התקנה מחדש של מנהל האתחול GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "העיגון של ‎/target/proc נכשל" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "עגינת התקליטור נכשלה" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "עיגון מערכת קבצים מסוג proc ב־‎ /target/proc נכשל." + + #. Type: error +diff --git a/debian/po/hi.po b/debian/po/hi.po +index e90c81ac..c9411908 100644 +--- a/debian/po/hi.po ++++ b/debian/po/hi.po +@@ -27,7 +27,7 @@ + # Kumar Appaiah , 2008, 2011, 2012. + # Sruthi Chandran , 2018. + # Himanshu Awasthi , 2018. +-# KushagraKarira , 2020, 2021. ++# KushagraKarira , 2020, 2021, 2022. + # षिखर् , 2020. + # Indrani Roy , 2021. + # +@@ -35,8 +35,8 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer_packages_po_sublevel1_hi\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2021-12-03 23:44+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2022-12-17 17:48+0000\n" + "Last-Translator: KushagraKarira \n" + "Language-Team: \n" + "Language: hi\n" +@@ -458,14 +458,16 @@ msgstr "ग्रब बूट लोडर पुनः संस्थाप + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc को आरूढ़ करने में विफल" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "सीडी-रोम माउन्ट करने में असफल" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "proc फाइलतंत्र को /target/proc पर माउंट करने में असफल." + + #. Type: error +diff --git a/debian/po/hr.po b/debian/po/hr.po +index 61e08318..d894292e 100644 +--- a/debian/po/hr.po ++++ b/debian/po/hr.po +@@ -24,9 +24,9 @@ msgid "" + msgstr "" + "Project-Id-Version: Debian-installer 1st-stage master file HR\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-05-28 21:04+0200\n" +-"Last-Translator: Valentin Vidic \n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-06-03 10:49+0000\n" ++"Last-Translator: Milo Ivir \n" + "Language-Team: Croatian \n" + "Language: hr\n" + "MIME-Version: 1.0\n" +@@ -455,14 +455,16 @@ msgstr "Ponovno instalirajte GRUB učitača pokretanja" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Neuspjelo montiranje /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Neuspjelo montiranje CD-ROM-a" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Montiranje proc datotečnog sustava na /target/proc nije uspjelo." + + #. Type: error +diff --git a/debian/po/hu.po b/debian/po/hu.po +index e93be7bf..581c24cf 100644 +--- a/debian/po/hu.po ++++ b/debian/po/hu.po +@@ -28,7 +28,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-04-25 15:56+0000\n" + "Last-Translator: Balázs Máhli \n" + "Language-Team: Debian L10n Hungarian \n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-08-24 22:56+0000\n" ++"Last-Translator: Reza Almanda \n" + "Language-Team: Debian Indonesia Translators \n" + "Language: id\n" +@@ -467,14 +467,16 @@ msgstr "Memasang kembali boot loader GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Gagal mengaitkan /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Gagal mengaitkan CD ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Pengaitan sistem berkas proc pada /target/proc gagal." + + #. Type: error +diff --git a/debian/po/is.po b/debian/po/is.po +index 2a4536f7..ed1a58e2 100644 +--- a/debian/po/is.po ++++ b/debian/po/is.po +#@@ -26,8 +26,8 @@ msgid "" +# msgstr "" +# "Project-Id-Version: Icelandic (Debian Installer)\n" +# "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +#-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +#-"PO-Revision-Date: 2023-06-05 11:50+0000\n" +#+"POT-Creation-Date: 2023-09-14 20:02+0000\n" +#+"PO-Revision-Date: 2023-07-24 14:07+0000\n" +# "Last-Translator: Sveinn í Felli \n" +# "Language-Team: Icelandic \n" +# "Language: is\n" +@@ -458,14 +458,16 @@ msgstr "Setja GRUB ræsistjórann upp aftur" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Tókst ekki að tengja /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Tókst ekki að tengja geisladisk" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Tókst ekki að tengja proc skráakerfið á /target/proc." + + #. Type: error +diff --git a/debian/po/it.po b/debian/po/it.po +index 534cce70..b30ec2e0 100644 +--- a/debian/po/it.po ++++ b/debian/po/it.po +@@ -40,7 +40,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2020-10-26 09:14+0100\n" + "Last-Translator: Milo Casagrande \n" + "Language-Team: Italian \n" +@@ -477,14 +477,16 @@ msgstr "Re-installare il boot loader GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Montaggio di /target/proc non riuscito" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Montaggio del dischetto non riuscito" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Il montaggio del file system proc su /target/proc non è riuscito." + + #. Type: error +diff --git a/debian/po/ja.po b/debian/po/ja.po +index baef32f4..1a2eba91 100644 +--- a/debian/po/ja.po ++++ b/debian/po/ja.po +@@ -29,7 +29,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-05-14 17:53+0000\n" + "Last-Translator: YOSHINO Yoshihito \n" + "Language-Team: Debian L10n Japanese \n" +@@ -462,14 +462,16 @@ msgstr "GRUB ブートローダの再インストール" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc のマウントに失敗しました" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "CD-ROM のマウントに失敗しました" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "proc ファイルシステムを /target/proc にマウントするのに失敗しました。" + + #. Type: error +diff --git a/debian/po/ka.po b/debian/po/ka.po +index a4be02c3..b3604785 100644 +--- a/debian/po/ka.po ++++ b/debian/po/ka.po +@@ -24,8 +24,8 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer.2006071\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-09 20:53+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-08-05 18:47+0000\n" + "Last-Translator: Temuri Doghonadze \n" + "Language-Team: Georgian\n" + "Language: ka\n" +@@ -459,14 +459,16 @@ msgstr "GRUB სისტემური ჩამტვირთველის + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "შეცდომა დამონტაჟებისას" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "შეცდომა კომპაქტ-დისკის დამონტაჟებისას" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "proc ფაილური სისტემა ვერ დამონტაჟდა პუნქტზე /target/proc." + + #. Type: error +diff --git a/debian/po/kab.po b/debian/po/kab.po +index 1657e781..f3416692 100644 +--- a/debian/po/kab.po ++++ b/debian/po/kab.po +@@ -12,7 +12,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer sublevel1\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2022-01-28 11:55+0000\n" + "Last-Translator: Selyan Sliman Amiri \n" + "Language-Team: Kabyle \n" +@@ -444,14 +444,16 @@ msgstr "Ales asebded n umsalay n usenker GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Yecceḍ userkeb n /asaḍas/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Ur yeddi ara usali n CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Yecceḍ userkeb n unagraw n yifuyla proc ɣef /usaḍas/proc." + + #. Type: error +diff --git a/debian/po/kk.po b/debian/po/kk.po +index 0406791e..deced522 100644 +--- a/debian/po/kk.po ++++ b/debian/po/kk.po +@@ -22,7 +22,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2022-12-04 17:19+0600\n" + "Last-Translator: Baurzhan Muftakhidinov \n" + "Language-Team: Kazakh\n" +@@ -448,14 +448,16 @@ msgstr "GRUB жүйелік жүктеушісін қайта орнату" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc тіркеу сәтсіз" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "CD-ROM тіркеу сәтсіз аяқталды" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Базалық жүйені /target/ бумасын орнату сәтсіз аяқталды." + + #. Type: error +diff --git a/debian/po/km.po b/debian/po/km.po +index 1a12670a..4d8b3c69 100644 +--- a/debian/po/km.po ++++ b/debian/po/km.po +@@ -13,7 +13,7 @@ msgid "" + msgstr "" + "Project-Id-Version: km\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2019-08-28 18:10+0000\n" + "Last-Translator: leela <53352@protonmail.com>\n" + "Language-Team: Khmer \n" +@@ -446,14 +446,16 @@ msgstr "ដំឡើង​កម្មវិធី​ចាប់ផ្ដើម + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "បាន​បរាជ័យ​ក្នុង​ការ​ម៉ោន /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "បរាជ័យ​ក្នុង​ម៉ោន​ស៊ីឌីរ៉ូម" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "ការ​ម៉ោន​ប្រព័ន្ធ​ឯកសារ proc លើ /target/proc បាន​បរាជ័យ​ហើយ ។" + + #. Type: error +diff --git a/debian/po/kn.po b/debian/po/kn.po +index 08548589..bf2b3f53 100644 +--- a/debian/po/kn.po ++++ b/debian/po/kn.po +@@ -21,7 +21,7 @@ msgid "" + msgstr "" + "Project-Id-Version: kn\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2020-07-21 17:24+0000\n" + "Last-Translator: Yogesh \n" + "Language-Team: Kannada \n" +@@ -458,14 +458,16 @@ msgstr "ಗ್ರಬ್ ಬೂಟ್ ಲೋಡರನ್ನು ಮರುಸ್ಥ + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc ಕಳಶವಾಗಿಸಲು ವಿಫಲವಾಗಿದೆ " ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "ಸಿ ಡಿ ರೊಮ್ ಅನ್ನು ಆರೋಹಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "proc ಕಡತ ವ್ಯವಸ್ಥೆ ಯು /target/proc ಮೇಲೆ ಕಳಶವಾಗಿಸಲು ವಿಫಲವಾಗಿದೆ " + + #. Type: error +diff --git a/debian/po/ko.po b/debian/po/ko.po +index c2fc156e..8704d5f5 100644 +--- a/debian/po/ko.po ++++ b/debian/po/ko.po +@@ -27,8 +27,8 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-28 22:35+0900\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-09-04 17:30+0530\n" + "Last-Translator: Changwoo Ryu \n" + "Language-Team: Korean \n" + "Language: ko\n" +@@ -449,14 +449,16 @@ msgstr "GRUB 부트로더 다시 설치" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc을 마운트하는데 실패했습니다" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "CD-ROM을 마운트하는데 실패했습니다" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "/target/proc의 proc 파일 시스템을 마운트하는데 실패했습니다." + + #. Type: error +diff --git a/debian/po/ku.po b/debian/po/ku.po +index 535e8c96..34d56d1e 100644 +--- a/debian/po/ku.po ++++ b/debian/po/ku.po +@@ -18,7 +18,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ku\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2021-05-21 05:32+0000\n" + "Last-Translator: Jacque Fresco \n" + "Language-Team: Kurdish Team http://pckurd.net\n" +@@ -450,14 +450,16 @@ msgstr "Boot loader a GRUB ji nû ve saz bike" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Mountkirina /target/proc serneket" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Mountkirina CD-ROM serneket" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Mountkirina pergala pelan proc di /target/proc de serneket." + + #. Type: error +diff --git a/debian/po/lo.po b/debian/po/lo.po +index a32ea04c..10530775 100644 +--- a/debian/po/lo.po ++++ b/debian/po/lo.po +@@ -13,7 +13,7 @@ msgid "" + msgstr "" + "Project-Id-Version: lo\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2012-04-25 09:05+0700\n" + "Last-Translator: Anousak Souphavanh \n" + "Language-Team: Lao \n" +@@ -439,14 +439,16 @@ msgstr "ຕິດຕັ້ງບູດໂຫຼດເດີ GRUB ໃໝ່" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "ລົ້ມແຫຼວທີ່ຈະຍຶດເປົ້າໝາຍ /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "ເມົ້າທ໌ຊີດີລອມບໍ່ສຳເລັດ" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "ເມົ້າທ໌ລະບົບແຟ້ມ proc ເທີງ /target/proc ບໍ່ສຳເລັດ" + + #. Type: error +diff --git a/debian/po/lt.po b/debian/po/lt.po +index 5d1eaf59..e78f758f 100644 +--- a/debian/po/lt.po ++++ b/debian/po/lt.po +#@@ -29,8 +29,8 @@ msgid "" +# msgstr "" +# "Project-Id-Version: debian-installer\n" +# "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +#-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +#-"PO-Revision-Date: 2023-07-17 07:08+0000\n" +#+"POT-Creation-Date: 2023-09-14 20:02+0000\n" +#+"PO-Revision-Date: 2023-08-30 06:12+0000\n" +# "Last-Translator: Rimas Kudelis \n" +# "Language-Team: Lithuanian \n" +# "Language: lt\n" +@@ -464,14 +464,16 @@ msgstr "Pradinio įkėliklio GRUB įdiegimas naujai" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Nepavyko prijungti „/target/proc“" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Nepavyko prijungti kompaktinio disko" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Nepavyko prijungti „proc“ failų sistemos prie „/target/proc“." + + #. Type: error +diff --git a/debian/po/lv.po b/debian/po/lv.po +index 4100cc03..0674bb3c 100644 +--- a/debian/po/lv.po ++++ b/debian/po/lv.po +@@ -29,7 +29,7 @@ msgid "" + msgstr "" + "Project-Id-Version: lv\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-04-30 21:51+0300\n" + "Last-Translator: Tranzistors \n" + "Language-Team: Latvian \n" +@@ -456,14 +456,16 @@ msgstr "Pārinstalēt GRUB palaidēju" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Neizdevās piemontēt /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Nevarēja piemontēt CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Neizdevās piemontēt proc datņu sistēmu uz /target/proc." + + #. Type: error +diff --git a/debian/po/mk.po b/debian/po/mk.po +index 419793c7..90819be0 100644 +--- a/debian/po/mk.po ++++ b/debian/po/mk.po +@@ -24,7 +24,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer_packages_po_sublevel1_mk\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-05-20 08:52+0000\n" + "Last-Translator: Kristijan Fremen Velkovski \n" + "Language-Team: Macedonian <>\n" +@@ -463,14 +463,16 @@ msgstr "Преинсталирај го ГРУБ бут вчитувачот" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Не успеав да монтирам /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Не успеав да го монтирам CD-ROM-от" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Монтирањето на proc датотечниот систем на /target/proc не успеа." + + #. Type: error +diff --git a/debian/po/ml.po b/debian/po/ml.po +index 70f57062..30ef3660 100644 +--- a/debian/po/ml.po ++++ b/debian/po/ml.po +@@ -23,7 +23,7 @@ msgid "" + msgstr "" + "Project-Id-Version: Debian Installer Level 1\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2022-04-10 08:47+0000\n" + "Last-Translator: anomymous\n" + "Language-Team: Swatantra Malayalam Computing \n" +@@ -461,14 +461,16 @@ msgstr "ഗ്രബ് ബൂട്ട് ലോഡര്‍ വീണ്ടു + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc മൌണ്ട് ചെയ്യുന്നതില്‍ പരാജയപ്പെട്ടു" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "സിഡി-റോം മൌണ്ട് ചെയ്യുന്നതില്‍ പരാജയപ്പെട്ടു" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "proc ഫയല്‍ സിസ്റ്റം /target/proc ല്‍ മൌണ്ട് ചെയ്യുന്നതില്‍ പരാജയപ്പെട്ടു." + + #. Type: error +diff --git a/debian/po/mr.po b/debian/po/mr.po +index 4a18c87f..0bbefe54 100644 +--- a/debian/po/mr.po ++++ b/debian/po/mr.po +@@ -19,7 +19,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2020-10-10 17:26+0000\n" + "Last-Translator: Prachi Joshi \n" + "Language-Team: CDAC_DI\n" +@@ -447,14 +447,16 @@ msgstr "ग्रब आरंभ सुचक पुन्हा अधिष + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc आरोहित करता आले नाही" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "सीडी-रॉम आरोहित करणे अयशस्वी" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "पीआरओसी फाईल प्रणाली /target/proc वर आरोहित करता आली नाही." + + #. Type: error +diff --git a/debian/po/nb.po b/debian/po/nb.po +index 63c27d03..8686f3dd 100644 +--- a/debian/po/nb.po ++++ b/debian/po/nb.po +@@ -34,9 +34,9 @@ msgid "" + msgstr "" + "Project-Id-Version: nb\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-05-06 12:58+0000\n" +-"Last-Translator: Kjetil Sørlund \n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-09-08 12:41+0000\n" ++"Last-Translator: Petter Reinholdtsen \n" + "Language-Team: Norwegian Bokmål \n" + "Language: nb\n" + "MIME-Version: 1.0\n" +@@ -466,14 +466,16 @@ msgstr "Installer oppstartslasteren GRUB på nytt" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Klarte ikke å montere /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Klarte ikke å montere CD-plata" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "klarte ikke å montere proc-filsystemet på /target/proc." + + #. Type: error +diff --git a/debian/po/ne.po b/debian/po/ne.po +index cfc89511..46e70a2a 100644 +--- a/debian/po/ne.po ++++ b/debian/po/ne.po +@@ -23,7 +23,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer_packages_po_sublevel1_ne\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2019-08-28 18:10+0000\n" + "Last-Translator: leela <53352@protonmail.com>\n" + "Language-Team: Nepali \n" +@@ -458,14 +458,16 @@ msgstr "GRUB बुट लोडर पुन:स्थापना गर्न + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc लाई माउन्ट गर्न असफल भयो" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "सी डी रोम माउन्ट गर्न असफल भयो" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "/target/proc मा proc फाइल प्रणाली माउन्ट गर्दै गरेको असफल भयो ।" + + #. Type: error +diff --git a/debian/po/nl.po b/debian/po/nl.po +index af8c79ea..3ca2fcdf 100644 +--- a/debian/po/nl.po ++++ b/debian/po/nl.po +@@ -27,8 +27,8 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer/sublevel1\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-21 23:04+0200\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-08-17 22:24+0200\n" + "Last-Translator: Frans Spiesschaert \n" + "Language-Team: Debian Dutch l10n Team \n" + "Language: nl\n" +@@ -471,14 +471,16 @@ msgstr "De GRUB bootloader opnieuw installeren" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Aankoppelen van /target/proc is mislukt" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Aankoppelen van de diskette is mislukt" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Aankoppelen van het proc-bestandssysteem op /target/proc is mislukt." + + #. Type: error +diff --git a/debian/po/nn.po b/debian/po/nn.po +index 8b138400..6266f181 100644 +--- a/debian/po/nn.po ++++ b/debian/po/nn.po +@@ -26,7 +26,7 @@ msgid "" + msgstr "" + "Project-Id-Version: nn\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-05-17 23:53+0000\n" + "Last-Translator: Yngve Spjeld-Landro \n" + "Language-Team: Norwegian Nynorsk \n" +@@ -457,14 +457,16 @@ msgstr "Installer oppstartssystemet GRUB på nytt" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Klarte ikkje å montera /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Klarte ikkje montera CD-plata" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Klarte ikkje å montera proc-filsystemet på /target/proc." + + #. Type: error +diff --git a/debian/po/oc.po b/debian/po/oc.po +index e45ea9b4..bb62baaf 100644 +--- a/debian/po/oc.po ++++ b/debian/po/oc.po +@@ -15,7 +15,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer sublevel1\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-05-20 08:52+0000\n" + "Last-Translator: Quentin PAGÈS \n" + "Language-Team: Occitan (post 1500) \n" +@@ -458,14 +458,16 @@ msgstr "Tornar installar lo gestionari d'aviada GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Impossible de montar /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Impossible de montar lo CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "" + "Lo montatge del sistèma de fichièrs « proc » sus /target/proc a pas capitat." + +diff --git a/debian/po/pa.po b/debian/po/pa.po +index 7f590f4b..0f465740 100644 +--- a/debian/po/pa.po ++++ b/debian/po/pa.po +#@@ -26,7 +26,7 @@ msgid "" +# msgstr "" +# "Project-Id-Version: pa\n" +# "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +#-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +#+"POT-Creation-Date: 2023-09-14 20:02+0000\n" +# "PO-Revision-Date: 2023-09-03 10:42+0000\n" +# "Last-Translator: Aman Alam \n" +# "Language-Team: Punjabi \n" +@@ -448,14 +448,16 @@ msgstr "GRUB ਬੂਟ ਲੋਡਰ ਮੁੜ-ਇੰਸਟਾਲ ਹੋ ਰਿ + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc ਨੂੰ ਮਾਊਂਟ ਕਰਨ ਵਿੱਚ ਫੇਲ੍ਹ" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "CD-ROM ਮਾਊਂਟ ਕਰਨ ਵਿੱਚ ਅਸਫਲ" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "/target/proc ਤੇ proc ਫਾਇਲ ਸਿਸਟਮ ਮਾਊਂਟ ਕਰਨ ਵਿੱਚ ਅਸਫਲ।" + + #. Type: error +diff --git a/debian/po/pl.po b/debian/po/pl.po +index ddc6be5f..1ffd10a8 100644 +--- a/debian/po/pl.po ++++ b/debian/po/pl.po +#@@ -36,8 +36,8 @@ msgid "" +# msgstr "" +# "Project-Id-Version: debian-installer\n" +# "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +#-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +#-"PO-Revision-Date: 2023-06-29 21:52+0000\n" +#+"POT-Creation-Date: 2023-09-14 20:02+0000\n" +#+"PO-Revision-Date: 2023-08-18 17:56+0000\n" +# "Last-Translator: Matthaiks \n" +# "Language-Team: Polish \n" +# "Language: pl\n" +@@ -472,14 +472,16 @@ msgstr "Ponowna instalacja programu rozruchowego GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Montowanie /target/proc nie powiodło się" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Nie udało się zamontować płyty CD" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Zamontowanie systemu plików proc na /target/proc nie powiodło się." + + #. Type: error +diff --git a/debian/po/pt.po b/debian/po/pt.po +index b84557c7..ff54239b 100644 +--- a/debian/po/pt.po ++++ b/debian/po/pt.po +@@ -24,8 +24,8 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-27 20:57+0100\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-08-27 16:16+0100\n" + "Last-Translator: Miguel Figueiredo \n" + "Language-Team: Portuguese \n" + "Language: pt\n" +@@ -459,14 +459,16 @@ msgstr "Reinstalar o carregador do sistema GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Falha ao tentar montar /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Não foi possível montar o CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Falha ao montar o sistema de ficheiros proc em /target/proc." + + #. Type: error +diff --git a/debian/po/pt_BR.po b/debian/po/pt_BR.po +index 7ce73bc3..223c4fce 100644 +--- a/debian/po/pt_BR.po ++++ b/debian/po/pt_BR.po +@@ -22,8 +22,8 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-21 18:30-0300\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-08-19 08:19-0300\n" + "Last-Translator: Adriano Rafael Gomes \n" + "Language-Team: Brazilian Portuguese \n" +@@ -463,14 +463,16 @@ msgstr "Reinstalar o carregador de inicialização GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Falha ao montar /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Falha ao montar CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "A montagem do sistema de arquivos proc em /target/proc falhou." + + #. Type: error +diff --git a/debian/po/ro.po b/debian/po/ro.po +index 7418062d..7efef826 100644 +--- a/debian/po/ro.po ++++ b/debian/po/ro.po +#@@ -38,8 +38,8 @@ msgid "" +# msgstr "" +# "Project-Id-Version: ro\n" +# "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +#-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +#-"PO-Revision-Date: 2023-06-19 12:51+0000\n" +#+"POT-Creation-Date: 2023-09-14 20:02+0000\n" +#+"PO-Revision-Date: 2023-07-08 14:50+0000\n" +# "Last-Translator: NicolaeFericitu \n" +# "Language-Team: Romanian \n" +# "Language: ro\n" +@@ -483,14 +483,16 @@ msgstr "Reinstalează încărcătorul de sistem GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Eșec la montarea /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Eșec la montarea CD-ului" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Montarea sistemului de fișiere proc în /target/proc a eșuat." + + #. Type: error +diff --git a/debian/po/ru.po b/debian/po/ru.po +index b6e1e49c..5f81c7e3 100644 +--- a/debian/po/ru.po ++++ b/debian/po/ru.po +@@ -26,7 +26,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ru\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2022-12-11 12:17+0500\n" + "Last-Translator: Lev Lamberov \n" + "Language-Team: Russian \n" +@@ -458,14 +458,16 @@ msgstr "Переустановка системного загрузчика GRU + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Не удалось смонтировать /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Не удалось смонтировать компакт-диск" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Не удалось смонтировать файловую систему proc в /target/proc." + + #. Type: error +diff --git a/debian/po/se.po b/debian/po/se.po +index 6ae2d232..75cb27f7 100644 +--- a/debian/po/se.po ++++ b/debian/po/se.po +@@ -15,7 +15,7 @@ msgid "" + msgstr "" + "Project-Id-Version: se\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2021-05-21 05:32+0000\n" + "Last-Translator: Jacque Fresco \n" + "Language-Team: Northern Sami \n" +@@ -437,15 +437,18 @@ msgstr "Sajáiduhttimin vuolggáhangieđahalli GRUB" + #. :sl4: + #: ../grub-installer.templates:30001 + #, fuzzy +-msgid "Failed to mount /target/proc" +-msgstr "Ii oktage fiilavuogádat lea čatnon /target ohcui" ++msgid "Failed to mount ${PATH}" ++msgstr "Hálidatgo geahččalit ođđasit čatnat CD-ROM:a?" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "" ++"Dárkkisteamen ${TYPE}-fiilavuogádaga partišuvdnanr. ${PARTITION}:s ${DEVICE}:" ++"s …" + + #. Type: error + #. Description +diff --git a/debian/po/si.po b/debian/po/si.po +index d101933c..c1ca8e95 100644 +--- a/debian/po/si.po ++++ b/debian/po/si.po +@@ -17,7 +17,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-03-01 15:39+0000\n" + "Last-Translator: HelaBasa Group \n" + "Language-Team: Sinhala \n" +@@ -443,14 +443,16 @@ msgstr "GRUB ආරම්භක පූරකය නැවත ස්ථාපන + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc රැඳවීම අසාර්ථක විය" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "CD-ROM රැඳවීම අසාර්ථකයි" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "proc ගොනු පද්ධතිය /target/proc හි රැඳවීම අසාර්ථක විය." + + #. Type: error +diff --git a/debian/po/sk.po b/debian/po/sk.po +index 7e7804b8..03c2999e 100644 +--- a/debian/po/sk.po ++++ b/debian/po/sk.po +@@ -25,7 +25,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2018-04-16 09:18+0200\n" + "Last-Translator: Ivan Masár \n" + "Language-Team: x\n" +@@ -464,14 +464,16 @@ msgstr "Reinštalácia zavádzača GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Chyba pri pripájaní /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Zlyhalo pripojenie CD" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Zlyhalo pripájanie súborového systému proc do /target/proc." + + #. Type: error +diff --git a/debian/po/sl.po b/debian/po/sl.po +index c19d4c69..3cc2cb1a 100644 +--- a/debian/po/sl.po ++++ b/debian/po/sl.po +@@ -33,7 +33,7 @@ msgid "" + msgstr "" + "Project-Id-Version: sl\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2017-10-13 10:42+0100\n" + "Last-Translator: Vanja Cvelbar \n" + "Language-Team: Slovenian \n" +@@ -475,14 +475,16 @@ msgstr "Ponovno namesti zagonski nalagalnik GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Nisem mogel priklopiti /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Nisem mogel priklopiti CD-ROM-a" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Priklapljanje proc datotečnega sistema na /target/proc ni uspelo." + + #. Type: error +diff --git a/debian/po/sq.po b/debian/po/sq.po +index 7ac41007..f35bd388 100644 +--- a/debian/po/sq.po ++++ b/debian/po/sq.po +@@ -20,7 +20,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2017-09-11 23:13+0300\n" + "Last-Translator: Sotirios Vrachas \n" + "Language-Team: Albanian \n" +@@ -466,14 +466,16 @@ msgstr "Duke reinstaluar ngarkuesin e nisjes GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Montimi i /target/proc dështoi" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Montimi i CD-ROM-it dështoi" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Montimi i filesistemit proc në /target/proc dështoi." + + #. Type: error +diff --git a/debian/po/sr.po b/debian/po/sr.po +index f3ef5e5a..762ca56f 100644 +--- a/debian/po/sr.po ++++ b/debian/po/sr.po +@@ -25,8 +25,8 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-27 16:50+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-08-28 16:13+0000\n" + "Last-Translator: Filipovic Dragan \n" + "Language-Team: Serbian \n" + "Language: sr\n" +@@ -454,14 +454,16 @@ msgstr "Понови инсталацију GRUB бут лоудера" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Неуспело монтирање /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Неуспело монирање CD-ROM-а" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Монтирање proc фајл система на /target/proc није успело." + + #. Type: error +diff --git a/debian/po/sv.po b/debian/po/sv.po +index 50a50751..3a333c86 100644 +--- a/debian/po/sv.po ++++ b/debian/po/sv.po +@@ -26,9 +26,9 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-24 19:49+0000\n" +-"Last-Translator: bittin1ddc447d824349b2 \n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-08-19 20:53+0000\n" ++"Last-Translator: Anders Jonsson \n" + "Language-Team: Swedish \n" + "Language: sv\n" + "MIME-Version: 1.0\n" +@@ -459,14 +459,16 @@ msgstr "Installera om starthanteraren GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Misslyckades med att montera /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Misslyckades med att montera cd-skiva" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Monteringen av proc-filsystemet i /target/proc misslyckades." + + #. Type: error +diff --git a/debian/po/ta.po b/debian/po/ta.po +index d173c901..ab578e21 100644 +--- a/debian/po/ta.po ++++ b/debian/po/ta.po +@@ -24,7 +24,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ta\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2022-06-13 18:17+0000\n" + "Last-Translator: Alex \n" + "Language-Team: Tamil <>\n" +@@ -453,14 +453,16 @@ msgstr "க்ரப் துவக்கியை மீண்டும் ந + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc ஐ ஏற்றுதல் தோல்வியுற்றது" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "குறுந் தட்டை ஏற்றுதல் தோல்வியுற்றது" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "/target/proc இல் ப்ராக் கோப்பு அமைப்பை ஏற்றுதல் தோல்வியுற்றது." + + #. Type: error +diff --git a/debian/po/te.po b/debian/po/te.po +index 82848018..a9ea0b71 100644 +--- a/debian/po/te.po ++++ b/debian/po/te.po +@@ -21,7 +21,7 @@ msgid "" + msgstr "" + "Project-Id-Version: te\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2021-11-21 21:49+0000\n" + "Last-Translator: Praveen Illa \n" + "Language-Team: d-i \n" +@@ -446,14 +446,16 @@ msgstr "GRUB బూట్ లోడర్ ని మరల స్థాపనచ + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc సంధానము విఫలమైంది" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "CD-ROM అనుసంధానం విఫలం" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "/target/proc పై proc ఫైల్ వ్యవస్థ సంధానము విఫలమైంది" + + #. Type: error +diff --git a/debian/po/tg.po b/debian/po/tg.po +index c52e3f42..dccedd88 100644 +--- a/debian/po/tg.po ++++ b/debian/po/tg.po +@@ -15,7 +15,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2019-09-10 18:06+0500\n" + "Last-Translator: Victor Ibragimov \n" + "Language-Team: Tajik \n" +@@ -466,14 +466,16 @@ msgstr "Аз нав насб кардани боркунандаи роҳанд + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc васл карда нашуд" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "CD-ROM васл карда нашуд" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Низоми файлии proc дар /target/proc бо нокомӣ дучор шуд." + + #. Type: error +diff --git a/debian/po/th.po b/debian/po/th.po +index 102a4a6d..348362cd 100644 +--- a/debian/po/th.po ++++ b/debian/po/th.po +@@ -22,7 +22,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2021-02-03 16:48+0700\n" + "Last-Translator: Theppitak Karoonboonyanan \n" + "Language-Team: Thai \n" +@@ -439,14 +439,16 @@ msgstr "ติดตั้งบูตโหลดเดอร์ GRUB ใหม + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "ไม่สามารถเมานท์ /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "เมานท์ซีดีรอมไม่สำเร็จ" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "เมานท์ระบบแฟ้ม proc บน /target/proc ไม่สำเร็จ" + + #. Type: error +diff --git a/debian/po/tl.po b/debian/po/tl.po +index 8ed08be6..3295cd60 100644 +--- a/debian/po/tl.po ++++ b/debian/po/tl.po +@@ -20,7 +20,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2021-05-21 05:32+0000\n" + "Last-Translator: Jacque Fresco \n" + "Language-Team: Tagalog \n" +@@ -465,14 +465,16 @@ msgstr "Iluklok muli ang GRUB boot loader" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Bigo ang pag-mount ng /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Bigo ang pag-mount ng CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Bigo ang pag-mount ng proc file system sa /target/proc." + + #. Type: error +diff --git a/debian/po/tr.po b/debian/po/tr.po +index 7a374c17..ff0d48b0 100644 +--- a/debian/po/tr.po ++++ b/debian/po/tr.po +@@ -30,15 +30,15 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-05-10 11:52+0300\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-07-05 19:50+0000\n" + "Last-Translator: Fatih Altun \n" + "Language-Team: Debian L10N Turkish\n" + "Language: tr\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"Plural-Forms: nplurals=2; plural=n != 1;\n" + + #. Type: boolean + #. Description +@@ -465,14 +465,16 @@ msgstr "GRUB önyükleyiciyi tekrar kur" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc bağlanması başarısız" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "CD-ROM bağlanamadı" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "/target/proc üzerine proc dosya sistemi bağlanması başarısız." + + #. Type: error +diff --git a/debian/po/ug.po b/debian/po/ug.po +index 99102282..0ea84e46 100644 +--- a/debian/po/ug.po ++++ b/debian/po/ug.po +@@ -19,7 +19,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2020-07-21 17:24+0000\n" + "Last-Translator: Abdusalam <1810010207@s.upc.edu.cn>\n" + "Language-Team: Uyghur Computer Science Association \n" +@@ -459,14 +459,16 @@ msgstr "GRUB قوزغىتىش يۈكلىگۈچنى قايتا ئورنات" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "/target/proc ئېگەرلەش مەغلۇپ بولدى" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "CD-ROM نى ئېگەرلەش مەغلۇپ بولدى" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "proc ھۆججەت سىستېمىسىنى /target/proc غا ئېگەرلەش مەغلۇپ بولدى." + + #. Type: error +diff --git a/debian/po/uk.po b/debian/po/uk.po +index b5e17dba..086dc53a 100644 +--- a/debian/po/uk.po ++++ b/debian/po/uk.po +#@@ -25,9 +25,9 @@ msgid "" +# msgstr "" +# "Project-Id-Version: uk\n" +# "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +#-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +#-"PO-Revision-Date: 2023-06-15 17:50+0000\n" +#-"Last-Translator: Tymofii Lytvynenko \n" +#+"POT-Creation-Date: 2023-09-14 20:02+0000\n" +#+"PO-Revision-Date: 2023-07-22 18:08+0000\n" +#+"Last-Translator: Serhii Horichenko \n" +# "Language-Team: Ukrainian \n" +# "Language: uk\n" +# "MIME-Version: 1.0\n" +@@ -455,14 +455,16 @@ msgstr "Перевстановити завантажувач GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Не вдалося змонтувати /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Не вдалося змонтувати CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Не вдалося змонтувати файлову систему proc в /target/proc." + + #. Type: error +diff --git a/debian/po/vi.po b/debian/po/vi.po +index bf35e102..f85d92fe 100644 +--- a/debian/po/vi.po ++++ b/debian/po/vi.po +@@ -18,7 +18,7 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer sublevel1\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" + "PO-Revision-Date: 2023-02-24 10:38+0000\n" + "Last-Translator: tictactoe \n" + "Language-Team: Vietnamese \n" +@@ -451,14 +451,16 @@ msgstr "Cài đặt lại bộ tải khởi động GRUB" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "Gặp lỗi khi gắn kết “/target/proc”" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "Gặp lỗi khi gắn đĩa CD-ROM" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "Gặp lỗi khi gắn kết hệ thống tập tin proc vào “/target/proc” bị lỗi." + + #. Type: error +diff --git a/debian/po/zh_CN.po b/debian/po/zh_CN.po +index 3a365eec..642b2d82 100644 +--- a/debian/po/zh_CN.po ++++ b/debian/po/zh_CN.po +@@ -37,9 +37,9 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2023-04-25 19:42+0000\n" +-"Last-Translator: Wenbin Lv \n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-09-06 15:06+0000\n" ++"Last-Translator: Boyuan Yang <073plan@gmail.com>\n" + "Language-Team: \n" + "Language: zh_CN\n" + "MIME-Version: 1.0\n" +@@ -453,14 +453,16 @@ msgstr "重新安装 GRUB 启动引导器" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "挂载 /target/proc 失败" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "无法挂载光盘" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "挂载 proc 文件系统到 /target/proc 上失败。" + + #. Type: error +diff --git a/debian/po/zh_TW.po b/debian/po/zh_TW.po +index 78d53fae..414b7ed2 100644 +--- a/debian/po/zh_TW.po ++++ b/debian/po/zh_TW.po +@@ -33,9 +33,9 @@ msgid "" + msgstr "" + "Project-Id-Version: debian-installer\n" + "Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n" +-"POT-Creation-Date: 2023-04-20 20:02+0000\n" +-"PO-Revision-Date: 2021-02-16 09:50+0000\n" +-"Last-Translator: louies0623 \n" ++"POT-Creation-Date: 2023-09-14 20:02+0000\n" ++"PO-Revision-Date: 2023-02-02 11:37+0000\n" ++"Last-Translator: Chang-Chia Tseng \n" + "Language-Team: Debian-user in Chinese [Big5] \n" + "Language: zh_TW\n" +@@ -448,14 +448,16 @@ msgstr "重新安裝 GRUB 開機程式" + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Failed to mount /target/proc" +-msgstr "無法掛載 /target/proc" ++#, fuzzy ++msgid "Failed to mount ${PATH}" ++msgstr "無法掛載光碟" + + #. Type: error + #. Description + #. :sl4: + #: ../grub-installer.templates:30001 +-msgid "Mounting the proc file system on /target/proc failed." ++#, fuzzy ++msgid "Mounting the ${FSTYPE} file system on ${PATH} failed." + msgstr "在將 proc 檔案系統掛載至 /target/proc 上時失敗了。" + + #. Type: error +-- +GitLab + diff --git a/helpers/DATA/grub-installer/patch_changes/000-migrate_efi_fix_install_to_patch.patch b/helpers/DATA/grub-installer/patch_changes/000-migrate_efi_fix_install_to_patch.patch deleted file mode 100644 index 9b4dd07..0000000 --- a/helpers/DATA/grub-installer/patch_changes/000-migrate_efi_fix_install_to_patch.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/grub-installer b/grub-installer -index 4fdbb30e..af19a59f 100755 ---- a/grub-installer -+++ b/grub-installer -@@ -533,8 +533,12 @@ case "$grub_package" in - grub-efi-ia32-bin grub-efi-ia32 - ;; - grub-efi*) -+ export DEBIAN_PRIORITY=critical -+ export DEBIAN_FRONTEND=noninteractive -+ unset DEBIAN_HAS_FRONTEND -+ unset DEBCONF_REDIR - log-output -t grub-installer $chroot $ROOT dpkg -P \ -- grub grub-legacy grub-pc-bin grub-pc -+ grub grub-legacy grub-pc-bin grub-pc grub-gfxpayload-lists - ;; - esac - diff --git a/helpers/DATA/grub-installer/patch_changes/001-set_only_low_priority_question_as_ubiquity.patch b/helpers/DATA/grub-installer/patch_changes/001-set_only_low_priority_question_as_ubiquity.patch deleted file mode 100644 index 3abed06..0000000 --- a/helpers/DATA/grub-installer/patch_changes/001-set_only_low_priority_question_as_ubiquity.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/grub-installer b/grub-installer -index 3d80321f..a1793ee5 100755 ---- a/grub-installer -+++ b/grub-installer -@@ -475,23 +475,24 @@ case $grub_package in - NV_PRIO=high - fi - -- # Should we force a copy of grub-efi to be installed -- # to the removable media path too? Set default to true -- # if the removable media path is empty, then ask at low -- # priority, or can also be pre-seeded of course -- if ! [ -e /var/lib/grub-installer/removable_media_path_checked ]; then -- info "Checking removable media path $ROOT/boot/efi/EFI/BOOT/BOOT${EFI_SUFFIX}.EFI" -- if ! [ -f $ROOT/boot/efi/EFI/BOOT/BOOT${EFI_SUFFIX}.EFI ]; then -- info "Removable media path is empty" -- db_fget grub-installer/force-efi-extra-removable seen -- if [ "$RET" = false ]; then -- info "force-efi-extra-removable not preseeded, set it true" -- db_set grub-installer/force-efi-extra-removable true -- fi -- fi -- mkdir -p /var/lib/grub-installer -- touch /var/lib/grub-installer/removable_media_path_checked -- fi -+# Mimic ubiquity 1.128ubuntu15 behaviour and only bypass low priority question. -- Ark74 -+# # Should we force a copy of grub-efi to be installed -+# # to the removable media path too? Set default to true -+# # if the removable media path is empty, then ask at low -+# # priority, or can also be pre-seeded of course -+# if ! [ -e /var/lib/grub-installer/removable_media_path_checked ]; then -+# info "Checking removable media path $ROOT/boot/efi/EFI/BOOT/BOOT${EFI_SUFFIX}.EFI" -+# if ! [ -f $ROOT/boot/efi/EFI/BOOT/BOOT${EFI_SUFFIX}.EFI ]; then -+# info "Removable media path is empty" -+# db_fget grub-installer/force-efi-extra-removable seen -+# if [ "$RET" = false ]; then -+# info "force-efi-extra-removable not preseeded, set it true" -+# db_set grub-installer/force-efi-extra-removable true -+# fi -+# fi -+# mkdir -p /var/lib/grub-installer -+# touch /var/lib/grub-installer/removable_media_path_checked -+# fi - db_input $ER_PRIO grub-installer/force-efi-extra-removable || [ $? -eq 30 ] - db_go || exit 10 - db_get grub-installer/force-efi-extra-removable diff --git a/helpers/DATA/grub2-unsigned/0001-Cryptomount-support-LUKS-detached-header.patch b/helpers/DATA/grub2-unsigned/0001-Cryptomount-support-LUKS-detached-header.patch new file mode 100644 index 0000000..5d6bd23 --- /dev/null +++ b/helpers/DATA/grub2-unsigned/0001-Cryptomount-support-LUKS-detached-header.patch @@ -0,0 +1,253 @@ +diff --git a/0001-Cryptomount-support-LUKS-detached-header.patch b/0001-Cryptomount-support-LUKS-detached-header.patch +new file mode 100644 +index 00000000000..65943f41b8c +--- /dev/null ++++ b/0001-Cryptomount-support-LUKS-detached-header.patch +@@ -0,0 +1,247 @@ ++From 2008e08c0a511da5d454664363f452a9e26c734f Mon Sep 17 00:00:00 2001 ++From: John Lane ++Date: Tue, 23 Jun 2015 11:16:30 +0100 ++Subject: [PATCH 1/7] Cryptomount support LUKS detached header ++ ++--- ++ grub-core/disk/cryptodisk.c | 22 ++++++++++++++++++---- ++ grub-core/disk/geli.c | 7 +++++-- ++ grub-core/disk/luks.c | 45 +++++++++++++++++++++++++++++++++++++-------- ++ include/grub/cryptodisk.h | 5 +++-- ++ 4 files changed, 63 insertions(+), 16 deletions(-) ++ ++diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c ++index bd60a66b3..5230a5a9a 100644 ++--- a/grub-core/disk/cryptodisk.c +++++ b/grub-core/disk/cryptodisk.c ++@@ -41,6 +41,7 @@ static const struct grub_arg_option options[] = ++ /* TRANSLATORS: It's still restricted to cryptodisks only. */ ++ {"all", 'a', 0, N_("Mount all."), 0, 0}, ++ {"boot", 'b', 0, N_("Mount all volumes with `boot' flag set."), 0, 0}, +++ {"header", 'H', 0, N_("Read LUKS header from file"), 0, ARG_TYPE_STRING}, ++ {0, 0, 0, 0, 0, 0} ++ }; ++ ++@@ -809,6 +810,7 @@ grub_util_cryptodisk_get_uuid (grub_disk_t disk) ++ ++ static int check_boot, have_it; ++ static char *search_uuid; +++static grub_file_t hdr; ++ ++ static void ++ cryptodisk_close (grub_cryptodisk_t dev) ++@@ -833,13 +835,13 @@ grub_cryptodisk_scan_device_real (const char *name, grub_disk_t source) ++ ++ FOR_CRYPTODISK_DEVS (cr) ++ { ++- dev = cr->scan (source, search_uuid, check_boot); +++ dev = cr->scan (source, search_uuid, check_boot, hdr); ++ if (grub_errno) ++ return grub_errno; ++ if (!dev) ++ continue; ++ ++- err = cr->recover_key (source, dev); +++ err = cr->recover_key (source, dev, hdr); ++ if (err) ++ { ++ cryptodisk_close (dev); ++@@ -880,7 +882,7 @@ grub_cryptodisk_cheat_mount (const char *sourcedev, const char *cheat) ++ ++ FOR_CRYPTODISK_DEVS (cr) ++ { ++- dev = cr->scan (source, search_uuid, check_boot); +++ dev = cr->scan (source, search_uuid, check_boot,0); ++ if (grub_errno) ++ return grub_errno; ++ if (!dev) ++@@ -934,6 +936,18 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args) ++ if (argc < 1 && !state[1].set && !state[2].set) ++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "device name required"); ++ +++ if (state[3].set) /* LUKS detached header */ +++ { +++ if (state[0].set) /* Cannot use UUID lookup with detached header */ +++ return GRUB_ERR_BAD_ARGUMENT; +++ +++ hdr = grub_file_open (state[3].arg, GRUB_FILE_TYPE_NONE); +++ if (!hdr) +++ return grub_errno; +++ } +++ else +++ hdr = NULL; +++ ++ have_it = 0; ++ if (state[0].set) ++ { ++@@ -1141,7 +1155,7 @@ GRUB_MOD_INIT (cryptodisk) ++ { ++ grub_disk_dev_register (&grub_cryptodisk_dev); ++ cmd = grub_register_extcmd ("cryptomount", grub_cmd_cryptomount, 0, ++- N_("SOURCE|-u UUID|-a|-b"), +++ N_("SOURCE|-u UUID|-a|-b|-H file"), ++ N_("Mount a crypto device."), options); ++ grub_procfs_register ("luks_script", &luks_script); ++ } ++diff --git a/grub-core/disk/geli.c b/grub-core/disk/geli.c ++index e9d23299a..f4394eb42 100644 ++--- a/grub-core/disk/geli.c +++++ b/grub-core/disk/geli.c ++@@ -52,6 +52,7 @@ ++ #include ++ #include ++ #include +++#include ++ #include ++ #include ++ #include ++@@ -243,7 +244,8 @@ grub_util_get_geli_uuid (const char *dev) ++ ++ static grub_cryptodisk_t ++ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++- int boot_only) +++ int boot_only, +++ grub_file_t hdr __attribute__ ((unused)) ) ++ { ++ grub_cryptodisk_t newdev; ++ struct grub_geli_phdr header; ++@@ -398,7 +400,8 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ } ++ ++ static grub_err_t ++-recover_key (grub_disk_t source, grub_cryptodisk_t dev) +++recover_key (grub_disk_t source, grub_cryptodisk_t dev, +++ grub_file_t hdr __attribute__ ((unused)) ) ++ { ++ grub_size_t keysize; ++ grub_uint8_t digest[GRUB_CRYPTO_MAX_MDLEN]; ++diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c ++index 86c50c612..66e64c0e0 100644 ++--- a/grub-core/disk/luks.c +++++ b/grub-core/disk/luks.c ++@@ -23,6 +23,7 @@ ++ #include ++ #include ++ #include +++#include ++ #include ++ #include ++ #include ++@@ -66,7 +67,7 @@ gcry_err_code_t AF_merge (const gcry_md_spec_t * hash, grub_uint8_t * src, ++ ++ static grub_cryptodisk_t ++ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++- int check_boot) +++ int check_boot, grub_file_t hdr) ++ { ++ grub_cryptodisk_t newdev; ++ const char *iptr; ++@@ -86,11 +87,21 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ int benbi_log = 0; ++ grub_err_t err; ++ +++ err = GRUB_ERR_NONE; +++ ++ if (check_boot) ++ return NULL; ++ ++ /* Read the LUKS header. */ ++- err = grub_disk_read (disk, 0, 0, sizeof (header), &header); +++ if (hdr) +++ { +++ grub_file_seek (hdr, 0); +++ if (grub_file_read (hdr, &header, sizeof (header)) != sizeof (header)) +++ err = GRUB_ERR_READ_ERROR; +++ } +++ else +++ err = grub_disk_read (disk, 0, 0, sizeof (header), &header); +++ ++ if (err) ++ { ++ if (err == GRUB_ERR_OUT_OF_RANGE) ++@@ -304,12 +315,14 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ grub_memcpy (newdev->uuid, uuid, sizeof (newdev->uuid)); ++ newdev->modname = "luks"; ++ COMPILE_TIME_ASSERT (sizeof (newdev->uuid) >= sizeof (uuid)); +++ ++ return newdev; ++ } ++ ++ static grub_err_t ++ luks_recover_key (grub_disk_t source, ++- grub_cryptodisk_t dev) +++ grub_cryptodisk_t dev, +++ grub_file_t hdr) ++ { ++ struct grub_luks_phdr header; ++ grub_size_t keysize; ++@@ -321,8 +334,19 @@ luks_recover_key (grub_disk_t source, ++ grub_err_t err; ++ grub_size_t max_stripes = 1; ++ char *tmp; +++ grub_uint32_t sector; +++ +++ err = GRUB_ERR_NONE; +++ +++ if (hdr) +++ { +++ grub_file_seek (hdr, 0); +++ if (grub_file_read (hdr, &header, sizeof (header)) != sizeof (header)) +++ err = GRUB_ERR_READ_ERROR; +++ } +++ else +++ err = grub_disk_read (source, 0, 0, sizeof (header), &header); ++ ++- err = grub_disk_read (source, 0, 0, sizeof (header), &header); ++ if (err) ++ return err; ++ ++@@ -391,13 +415,18 @@ luks_recover_key (grub_disk_t source, ++ return grub_crypto_gcry_error (gcry_err); ++ } ++ +++ sector = grub_be_to_cpu32 (header.keyblock[i].keyMaterialOffset); ++ length = (keysize * grub_be_to_cpu32 (header.keyblock[i].stripes)); ++ ++ /* Read and decrypt the key material from the disk. */ ++- err = grub_disk_read (source, ++- grub_be_to_cpu32 (header.keyblock ++- [i].keyMaterialOffset), 0, ++- length, split_key); +++ if (hdr) +++ { +++ grub_file_seek (hdr, sector * 512); +++ if (grub_file_read (hdr, split_key, length) != (grub_ssize_t)length) +++ err = GRUB_ERR_READ_ERROR; +++ } +++ else +++ err = grub_disk_read (source, sector, 0, length, split_key); ++ if (err) ++ { ++ grub_free (split_key); ++diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h ++index 32f564ae0..4e6e89a93 100644 ++--- a/include/grub/cryptodisk.h +++++ b/include/grub/cryptodisk.h ++@@ -20,6 +20,7 @@ ++ #define GRUB_CRYPTODISK_HEADER 1 ++ ++ #include +++#include ++ #include ++ #include ++ #ifdef GRUB_UTIL ++@@ -107,8 +108,8 @@ struct grub_cryptodisk_dev ++ struct grub_cryptodisk_dev **prev; ++ ++ grub_cryptodisk_t (*scan) (grub_disk_t disk, const char *check_uuid, ++- int boot_only); ++- grub_err_t (*recover_key) (grub_disk_t disk, grub_cryptodisk_t dev); +++ int boot_only, grub_file_t hdr); +++ grub_err_t (*recover_key) (grub_disk_t disk, grub_cryptodisk_t dev, grub_file_t hdr); ++ }; ++ typedef struct grub_cryptodisk_dev *grub_cryptodisk_dev_t; ++ ++-- ++2.16.2 ++ diff --git a/helpers/DATA/grub2-unsigned/0002-Cryptomount-support-key-files.patch b/helpers/DATA/grub2-unsigned/0002-Cryptomount-support-key-files.patch new file mode 100644 index 0000000..3106301 --- /dev/null +++ b/helpers/DATA/grub2-unsigned/0002-Cryptomount-support-key-files.patch @@ -0,0 +1,211 @@ +diff --git a/0002-Cryptomount-support-key-files.patch b/0002-Cryptomount-support-key-files.patch +new file mode 100644 +index 00000000000..43af5ff3cbf +--- /dev/null ++++ b/0002-Cryptomount-support-key-files.patch +@@ -0,0 +1,205 @@ ++From df3aa34cc68b128c5441ee25ef092e6c2c87392e Mon Sep 17 00:00:00 2001 ++From: John Lane ++Date: Fri, 26 Jun 2015 13:37:10 +0100 ++Subject: [PATCH 2/7] Cryptomount support key files ++ ++--- ++ grub-core/disk/cryptodisk.c | 46 ++++++++++++++++++++++++++++++++++++++++++++- ++ grub-core/disk/geli.c | 4 +++- ++ grub-core/disk/luks.c | 44 +++++++++++++++++++++++++++++-------------- ++ include/grub/cryptodisk.h | 5 ++++- ++ 4 files changed, 82 insertions(+), 17 deletions(-) ++ ++diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c ++index 5230a5a9a..5261af547 100644 ++--- a/grub-core/disk/cryptodisk.c +++++ b/grub-core/disk/cryptodisk.c ++@@ -42,6 +42,9 @@ static const struct grub_arg_option options[] = ++ {"all", 'a', 0, N_("Mount all."), 0, 0}, ++ {"boot", 'b', 0, N_("Mount all volumes with `boot' flag set."), 0, 0}, ++ {"header", 'H', 0, N_("Read LUKS header from file"), 0, ARG_TYPE_STRING}, +++ {"keyfile", 'k', 0, N_("Key file"), 0, ARG_TYPE_STRING}, +++ {"keyfile-offset", 'O', 0, N_("Key file offset (bytes)"), 0, ARG_TYPE_INT}, +++ {"keyfile-size", 'S', 0, N_("Key file data size (bytes)"), 0, ARG_TYPE_INT}, ++ {0, 0, 0, 0, 0, 0} ++ }; ++ ++@@ -811,6 +814,8 @@ grub_util_cryptodisk_get_uuid (grub_disk_t disk) ++ static int check_boot, have_it; ++ static char *search_uuid; ++ static grub_file_t hdr; +++static grub_uint8_t *key, keyfile_buffer[GRUB_CRYPTODISK_MAX_KEYFILE_SIZE]; +++static grub_size_t keyfile_size; ++ ++ static void ++ cryptodisk_close (grub_cryptodisk_t dev) ++@@ -841,7 +846,7 @@ grub_cryptodisk_scan_device_real (const char *name, grub_disk_t source) ++ if (!dev) ++ continue; ++ ++- err = cr->recover_key (source, dev, hdr); +++ err = cr->recover_key (source, dev, hdr, key, keyfile_size); ++ if (err) ++ { ++ cryptodisk_close (dev); ++@@ -949,6 +954,45 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args) ++ hdr = NULL; ++ ++ have_it = 0; +++ key = NULL; +++ +++ if (state[4].set) /* Key file; fails back to passphrase entry */ +++ { +++ grub_file_t keyfile; +++ int keyfile_offset; +++ grub_size_t requested_keyfile_size; +++ +++ requested_keyfile_size = state[6].set ? grub_strtoul(state[6].arg, 0, 0) : 0; +++ +++ if (requested_keyfile_size > GRUB_CRYPTODISK_MAX_KEYFILE_SIZE) +++ grub_printf (N_("Key file size exceeds maximum (%llu)\n"), \ +++ (unsigned long long) GRUB_CRYPTODISK_MAX_KEYFILE_SIZE); +++ else +++ { +++ keyfile_offset = state[5].set ? grub_strtoul (state[5].arg, 0, 0) : 0; +++ keyfile_size = requested_keyfile_size ? requested_keyfile_size : \ +++ GRUB_CRYPTODISK_MAX_KEYFILE_SIZE; +++ +++ keyfile = grub_file_open (state[4].arg, GRUB_FILE_TYPE_NONE); +++ if (!keyfile) +++ grub_printf (N_("Unable to open key file %s\n"), state[4].arg); +++ else if (grub_file_seek (keyfile, keyfile_offset) == (grub_off_t)-1) +++ grub_printf (N_("Unable to seek to offset %d in key file\n"), keyfile_offset); +++ else +++ { +++ keyfile_size = grub_file_read (keyfile, keyfile_buffer, keyfile_size); +++ if (keyfile_size == (grub_size_t)-1) +++ grub_printf (N_("Error reading key file\n")); +++ else if (requested_keyfile_size && (keyfile_size != requested_keyfile_size)) +++ grub_printf (N_("Cannot read %llu bytes for key file (read %llu bytes)\n"), +++ (unsigned long long) requested_keyfile_size, +++ (unsigned long long) keyfile_size); +++ else +++ key = keyfile_buffer; +++ } +++ } +++ } +++ ++ if (state[0].set) ++ { ++ grub_cryptodisk_t dev; ++diff --git a/grub-core/disk/geli.c b/grub-core/disk/geli.c ++index f4394eb42..da6aa6a63 100644 ++--- a/grub-core/disk/geli.c +++++ b/grub-core/disk/geli.c ++@@ -401,7 +401,9 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ ++ static grub_err_t ++ recover_key (grub_disk_t source, grub_cryptodisk_t dev, ++- grub_file_t hdr __attribute__ ((unused)) ) +++ grub_file_t hdr __attribute__ ((unused)), +++ grub_uint8_t *key __attribute__ ((unused)), +++ grub_size_t keyfile_size __attribute__ ((unused)) ) ++ { ++ grub_size_t keysize; ++ grub_uint8_t digest[GRUB_CRYPTO_MAX_MDLEN]; ++diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c ++index 66e64c0e0..588236888 100644 ++--- a/grub-core/disk/luks.c +++++ b/grub-core/disk/luks.c ++@@ -322,12 +322,16 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ static grub_err_t ++ luks_recover_key (grub_disk_t source, ++ grub_cryptodisk_t dev, ++- grub_file_t hdr) +++ grub_file_t hdr, +++ grub_uint8_t *keyfile_bytes, +++ grub_size_t keyfile_bytes_size) ++ { ++ struct grub_luks_phdr header; ++ grub_size_t keysize; ++ grub_uint8_t *split_key = NULL; ++- char passphrase[MAX_PASSPHRASE] = ""; +++ char interactive_passphrase[MAX_PASSPHRASE] = ""; +++ grub_uint8_t *passphrase; +++ grub_size_t passphrase_length; ++ grub_uint8_t candidate_digest[sizeof (header.mkDigest)]; ++ unsigned i; ++ grub_size_t length; ++@@ -364,18 +368,30 @@ luks_recover_key (grub_disk_t source, ++ if (!split_key) ++ return grub_errno; ++ ++- /* Get the passphrase from the user. */ ++- tmp = NULL; ++- if (source->partition) ++- tmp = grub_partition_get_name (source->partition); ++- grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name, ++- source->partition ? "," : "", tmp ? : "", ++- dev->uuid); ++- grub_free (tmp); ++- if (!grub_password_get (passphrase, MAX_PASSPHRASE)) +++ if (keyfile_bytes) ++ { ++- grub_free (split_key); ++- return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); +++ /* Use bytestring from key file as passphrase */ +++ passphrase = keyfile_bytes; +++ passphrase_length = keyfile_bytes_size; +++ } +++ else +++ { +++ /* Get the passphrase from the user. */ +++ tmp = NULL; +++ if (source->partition) +++ tmp = grub_partition_get_name (source->partition); +++ grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name, +++ source->partition ? "," : "", tmp ? : "", dev->uuid); +++ grub_free (tmp); +++ if (!grub_password_get (interactive_passphrase, MAX_PASSPHRASE)) +++ { +++ grub_free (split_key); +++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); +++ } +++ +++ passphrase = (grub_uint8_t *)interactive_passphrase; +++ passphrase_length = grub_strlen (interactive_passphrase); +++ ++ } ++ ++ /* Try to recover master key from each active keyslot. */ ++@@ -393,7 +409,7 @@ luks_recover_key (grub_disk_t source, ++ ++ /* Calculate the PBKDF2 of the user supplied passphrase. */ ++ gcry_err = grub_crypto_pbkdf2 (dev->hash, (grub_uint8_t *) passphrase, ++- grub_strlen (passphrase), +++ passphrase_length, ++ header.keyblock[i].passwordSalt, ++ sizeof (header.keyblock[i].passwordSalt), ++ grub_be_to_cpu32 (header.keyblock[i]. ++diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h ++index 4e6e89a93..67f6b0b59 100644 ++--- a/include/grub/cryptodisk.h +++++ b/include/grub/cryptodisk.h ++@@ -55,6 +55,8 @@ typedef enum ++ #define GRUB_CRYPTODISK_GF_BYTES (1U << GRUB_CRYPTODISK_GF_LOG_BYTES) ++ #define GRUB_CRYPTODISK_MAX_KEYLEN 128 ++ +++#define GRUB_CRYPTODISK_MAX_KEYFILE_SIZE 8192 +++ ++ struct grub_cryptodisk; ++ ++ typedef gcry_err_code_t ++@@ -109,7 +111,8 @@ struct grub_cryptodisk_dev ++ ++ grub_cryptodisk_t (*scan) (grub_disk_t disk, const char *check_uuid, ++ int boot_only, grub_file_t hdr); ++- grub_err_t (*recover_key) (grub_disk_t disk, grub_cryptodisk_t dev, grub_file_t hdr); +++ grub_err_t (*recover_key) (grub_disk_t disk, grub_cryptodisk_t dev, +++ grub_file_t hdr, grub_uint8_t *key, grub_size_t keyfile_size); ++ }; ++ typedef struct grub_cryptodisk_dev *grub_cryptodisk_dev_t; ++ ++-- ++2.16.2 ++ diff --git a/helpers/DATA/grub2-unsigned/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch b/helpers/DATA/grub2-unsigned/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch new file mode 100644 index 0000000..f6df274 --- /dev/null +++ b/helpers/DATA/grub2-unsigned/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch @@ -0,0 +1,335 @@ +diff --git a/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch b/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch +new file mode 100644 +index 00000000000..19ffed89ca8 +--- /dev/null ++++ b/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch +@@ -0,0 +1,329 @@ ++From d055c1e314fa37957f169e08bea9d19c4417ed21 Mon Sep 17 00:00:00 2001 ++From: John Lane ++Date: Fri, 26 Jun 2015 13:49:58 +0100 ++Subject: [PATCH 3/7] cryptomount luks allow multiple passphrase attempts ++ ++--- ++ grub-core/disk/luks.c | 278 ++++++++++++++++++++++++++------------------------ ++ 1 file changed, 143 insertions(+), 135 deletions(-) ++ ++diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c ++index 588236888..11e437edb 100644 ++--- a/grub-core/disk/luks.c +++++ b/grub-core/disk/luks.c ++@@ -321,10 +321,10 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ ++ static grub_err_t ++ luks_recover_key (grub_disk_t source, ++- grub_cryptodisk_t dev, ++- grub_file_t hdr, ++- grub_uint8_t *keyfile_bytes, ++- grub_size_t keyfile_bytes_size) +++ grub_cryptodisk_t dev, +++ grub_file_t hdr, +++ grub_uint8_t *keyfile_bytes, +++ grub_size_t keyfile_bytes_size) ++ { ++ struct grub_luks_phdr header; ++ grub_size_t keysize; ++@@ -339,6 +339,7 @@ luks_recover_key (grub_disk_t source, ++ grub_size_t max_stripes = 1; ++ char *tmp; ++ grub_uint32_t sector; +++ unsigned attempts = 2; ++ ++ err = GRUB_ERR_NONE; ++ ++@@ -361,151 +362,158 @@ luks_recover_key (grub_disk_t source, ++ ++ for (i = 0; i < ARRAY_SIZE (header.keyblock); i++) ++ if (grub_be_to_cpu32 (header.keyblock[i].active) == LUKS_KEY_ENABLED ++- && grub_be_to_cpu32 (header.keyblock[i].stripes) > max_stripes) +++ && grub_be_to_cpu32 (header.keyblock[i].stripes) > max_stripes) ++ max_stripes = grub_be_to_cpu32 (header.keyblock[i].stripes); ++ ++ split_key = grub_malloc (keysize * max_stripes); ++ if (!split_key) ++ return grub_errno; ++ ++- if (keyfile_bytes) +++ while (attempts) ++ { ++- /* Use bytestring from key file as passphrase */ ++- passphrase = keyfile_bytes; ++- passphrase_length = keyfile_bytes_size; ++- } ++- else ++- { ++- /* Get the passphrase from the user. */ ++- tmp = NULL; ++- if (source->partition) ++- tmp = grub_partition_get_name (source->partition); ++- grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name, ++- source->partition ? "," : "", tmp ? : "", dev->uuid); ++- grub_free (tmp); ++- if (!grub_password_get (interactive_passphrase, MAX_PASSPHRASE)) +++ if (keyfile_bytes) ++ { ++- grub_free (split_key); ++- return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); ++- } ++- ++- passphrase = (grub_uint8_t *)interactive_passphrase; ++- passphrase_length = grub_strlen (interactive_passphrase); ++- ++- } ++- ++- /* Try to recover master key from each active keyslot. */ ++- for (i = 0; i < ARRAY_SIZE (header.keyblock); i++) ++- { ++- gcry_err_code_t gcry_err; ++- grub_uint8_t candidate_key[GRUB_CRYPTODISK_MAX_KEYLEN]; ++- grub_uint8_t digest[GRUB_CRYPTODISK_MAX_KEYLEN]; ++- ++- /* Check if keyslot is enabled. */ ++- if (grub_be_to_cpu32 (header.keyblock[i].active) != LUKS_KEY_ENABLED) ++- continue; ++- ++- grub_dprintf ("luks", "Trying keyslot %d\n", i); ++- ++- /* Calculate the PBKDF2 of the user supplied passphrase. */ ++- gcry_err = grub_crypto_pbkdf2 (dev->hash, (grub_uint8_t *) passphrase, ++- passphrase_length, ++- header.keyblock[i].passwordSalt, ++- sizeof (header.keyblock[i].passwordSalt), ++- grub_be_to_cpu32 (header.keyblock[i]. ++- passwordIterations), ++- digest, keysize); ++- ++- if (gcry_err) ++- { ++- grub_free (split_key); ++- return grub_crypto_gcry_error (gcry_err); ++- } ++- ++- grub_dprintf ("luks", "PBKDF2 done\n"); ++- ++- gcry_err = grub_cryptodisk_setkey (dev, digest, keysize); ++- if (gcry_err) ++- { ++- grub_free (split_key); ++- return grub_crypto_gcry_error (gcry_err); ++- } ++- ++- sector = grub_be_to_cpu32 (header.keyblock[i].keyMaterialOffset); ++- length = (keysize * grub_be_to_cpu32 (header.keyblock[i].stripes)); ++- ++- /* Read and decrypt the key material from the disk. */ ++- if (hdr) ++- { ++- grub_file_seek (hdr, sector * 512); ++- if (grub_file_read (hdr, split_key, length) != (grub_ssize_t)length) ++- err = GRUB_ERR_READ_ERROR; +++ /* Use bytestring from key file as passphrase */ +++ passphrase = keyfile_bytes; +++ passphrase_length = keyfile_bytes_size; +++ keyfile_bytes = NULL; /* use it only once */ ++ } ++ else ++- err = grub_disk_read (source, sector, 0, length, split_key); ++- if (err) ++- { ++- grub_free (split_key); ++- return err; ++- } ++- ++- gcry_err = grub_cryptodisk_decrypt (dev, split_key, length, 0); ++- if (gcry_err) ++- { ++- grub_free (split_key); ++- return grub_crypto_gcry_error (gcry_err); ++- } ++- ++- /* Merge the decrypted key material to get the candidate master key. */ ++- gcry_err = AF_merge (dev->hash, split_key, candidate_key, keysize, ++- grub_be_to_cpu32 (header.keyblock[i].stripes)); ++- if (gcry_err) ++- { ++- grub_free (split_key); ++- return grub_crypto_gcry_error (gcry_err); ++- } ++- ++- grub_dprintf ("luks", "candidate key recovered\n"); ++- ++- /* Calculate the PBKDF2 of the candidate master key. */ ++- gcry_err = grub_crypto_pbkdf2 (dev->hash, candidate_key, ++- grub_be_to_cpu32 (header.keyBytes), ++- header.mkDigestSalt, ++- sizeof (header.mkDigestSalt), ++- grub_be_to_cpu32 ++- (header.mkDigestIterations), ++- candidate_digest, ++- sizeof (candidate_digest)); ++- if (gcry_err) ++- { ++- grub_free (split_key); ++- return grub_crypto_gcry_error (gcry_err); ++- } ++- ++- /* Compare the calculated PBKDF2 to the digest stored ++- in the header to see if it's correct. */ ++- if (grub_memcmp (candidate_digest, header.mkDigest, ++- sizeof (header.mkDigest)) != 0) ++- { ++- grub_dprintf ("luks", "bad digest\n"); ++- continue; ++- } +++ { +++ /* Get the passphrase from the user. */ +++ tmp = NULL; +++ if (source->partition) +++ tmp = grub_partition_get_name (source->partition); +++ grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name, +++ source->partition ? "," : "", tmp ? : "", dev->uuid); +++ grub_free (tmp); +++ if (!grub_password_get (interactive_passphrase, MAX_PASSPHRASE)) +++ { +++ grub_free (split_key); +++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); +++ } +++ +++ passphrase = (grub_uint8_t *)interactive_passphrase; +++ passphrase_length = grub_strlen (interactive_passphrase); ++ ++- /* TRANSLATORS: It's a cryptographic key slot: one element of an array ++- where each element is either empty or holds a key. */ ++- grub_printf_ (N_("Slot %d opened\n"), i); +++ } ++ ++- /* Set the master key. */ ++- gcry_err = grub_cryptodisk_setkey (dev, candidate_key, keysize); ++- if (gcry_err) ++- { ++- grub_free (split_key); ++- return grub_crypto_gcry_error (gcry_err); ++- } +++ /* Try to recover master key from each active keyslot. */ +++ for (i = 0; i < ARRAY_SIZE (header.keyblock); i++) +++ { +++ gcry_err_code_t gcry_err; +++ grub_uint8_t candidate_key[GRUB_CRYPTODISK_MAX_KEYLEN]; +++ grub_uint8_t digest[GRUB_CRYPTODISK_MAX_KEYLEN]; +++ +++ /* Check if keyslot is enabled. */ +++ if (grub_be_to_cpu32 (header.keyblock[i].active) != LUKS_KEY_ENABLED) +++ continue; +++ +++ grub_dprintf ("luks", "Trying keyslot %d\n", i); +++ +++ /* Calculate the PBKDF2 of the user supplied passphrase. */ +++ gcry_err = grub_crypto_pbkdf2 (dev->hash, (grub_uint8_t *) passphrase, +++ passphrase_length, +++ header.keyblock[i].passwordSalt, +++ sizeof (header.keyblock[i].passwordSalt), +++ grub_be_to_cpu32 (header.keyblock[i]. +++ passwordIterations), +++ digest, keysize); +++ +++ if (gcry_err) +++ { +++ grub_free (split_key); +++ return grub_crypto_gcry_error (gcry_err); +++ } +++ +++ grub_dprintf ("luks", "PBKDF2 done\n"); +++ +++ gcry_err = grub_cryptodisk_setkey (dev, digest, keysize); +++ if (gcry_err) +++ { +++ grub_free (split_key); +++ return grub_crypto_gcry_error (gcry_err); +++ } +++ +++ sector = grub_be_to_cpu32 (header.keyblock[i].keyMaterialOffset); +++ length = (keysize * grub_be_to_cpu32 (header.keyblock[i].stripes)); +++ +++ /* Read and decrypt the key material from the disk. */ +++ if (hdr) +++ { +++ grub_file_seek (hdr, sector * 512); +++ if (grub_file_read (hdr, split_key, length) != (grub_ssize_t)length) +++ err = GRUB_ERR_READ_ERROR; +++ } +++ else +++ err = grub_disk_read (source, sector, 0, length, split_key); +++ if (err) +++ { +++ grub_free (split_key); +++ return err; +++ } +++ +++ gcry_err = grub_cryptodisk_decrypt (dev, split_key, length, 0); +++ if (gcry_err) +++ { +++ grub_free (split_key); +++ return grub_crypto_gcry_error (gcry_err); +++ } +++ +++ /* Merge the decrypted key material to get the candidate master key. */ +++ gcry_err = AF_merge (dev->hash, split_key, candidate_key, keysize, +++ grub_be_to_cpu32 (header.keyblock[i].stripes)); +++ if (gcry_err) +++ { +++ grub_free (split_key); +++ return grub_crypto_gcry_error (gcry_err); +++ } +++ +++ grub_dprintf ("luks", "candidate key recovered\n"); +++ +++ /* Calculate the PBKDF2 of the candidate master key. */ +++ gcry_err = grub_crypto_pbkdf2 (dev->hash, candidate_key, +++ grub_be_to_cpu32 (header.keyBytes), +++ header.mkDigestSalt, +++ sizeof (header.mkDigestSalt), +++ grub_be_to_cpu32 +++ (header.mkDigestIterations), +++ candidate_digest, +++ sizeof (candidate_digest)); +++ if (gcry_err) +++ { +++ grub_free (split_key); +++ return grub_crypto_gcry_error (gcry_err); +++ } +++ +++ /* Compare the calculated PBKDF2 to the digest stored +++ in the header to see if it's correct. */ +++ if (grub_memcmp (candidate_digest, header.mkDigest, +++ sizeof (header.mkDigest)) != 0) +++ { +++ grub_dprintf ("luks", "bad digest\n"); +++ continue; +++ } +++ +++ /* TRANSLATORS: It's a cryptographic key slot: one element of an array +++ where each element is either empty or holds a key. */ +++ grub_printf_ (N_("Slot %d opened\n"), i); +++ +++ /* Set the master key. */ +++ gcry_err = grub_cryptodisk_setkey (dev, candidate_key, keysize); +++ if (gcry_err) +++ { +++ grub_free (split_key); +++ return grub_crypto_gcry_error (gcry_err); +++ } ++ ++- grub_free (split_key); +++ grub_free (split_key); ++ ++- return GRUB_ERR_NONE; +++ return GRUB_ERR_NONE; +++ } +++ grub_printf_ (N_("Failed to decrypt master key.\n")); +++ if (--attempts) grub_printf_ (N_("%u attempt%s remaining.\n"), attempts, +++ (attempts==1) ? "" : "s"); ++ } ++ ++ grub_free (split_key); ++-- ++2.16.2 ++ diff --git a/helpers/DATA/grub2-unsigned/0004-Cryptomount-support-plain-dm-crypt.patch b/helpers/DATA/grub2-unsigned/0004-Cryptomount-support-plain-dm-crypt.patch new file mode 100644 index 0000000..325186e --- /dev/null +++ b/helpers/DATA/grub2-unsigned/0004-Cryptomount-support-plain-dm-crypt.patch @@ -0,0 +1,650 @@ +diff --git a/0004-Cryptomount-support-plain-dm-crypt.patch b/0004-Cryptomount-support-plain-dm-crypt.patch +new file mode 100644 +index 00000000000..34c10d7216b +--- /dev/null ++++ b/0004-Cryptomount-support-plain-dm-crypt.patch +@@ -0,0 +1,644 @@ ++From a8f9e3dcece89c179e89414abe89985c7ab1e03f Mon Sep 17 00:00:00 2001 ++From: John Lane ++Date: Fri, 26 Jun 2015 22:09:52 +0100 ++Subject: [PATCH 4/7] Cryptomount support plain dm-crypt ++ ++Patch modified to take into account a change to context ++brought about by c93d3e694713b8230fa2cf88414fabe005b56782 ++ ++grub-core/disk/cryptodisk.c ++142c142 ++< if (disklast) ++--- ++> ++--- ++ grub-core/disk/cryptodisk.c | 298 +++++++++++++++++++++++++++++++++++++++++++- ++ grub-core/disk/luks.c | 195 +---------------------------- ++ include/grub/cryptodisk.h | 8 ++ ++ 3 files changed, 310 insertions(+), 191 deletions(-) ++ ++diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c ++index 5261af547..7f656f75c 100644 ++--- a/grub-core/disk/cryptodisk.c +++++ b/grub-core/disk/cryptodisk.c ++@@ -45,6 +45,12 @@ static const struct grub_arg_option options[] = ++ {"keyfile", 'k', 0, N_("Key file"), 0, ARG_TYPE_STRING}, ++ {"keyfile-offset", 'O', 0, N_("Key file offset (bytes)"), 0, ARG_TYPE_INT}, ++ {"keyfile-size", 'S', 0, N_("Key file data size (bytes)"), 0, ARG_TYPE_INT}, +++ {"plain", 'p', 0, N_("Plain (no LUKS header)"), 0, ARG_TYPE_NONE}, +++ {"cipher", 'c', 0, N_("Plain mode cipher"), 0, ARG_TYPE_STRING}, +++ {"digest", 'd', 0, N_("Plain mode passphrase digest (hash)"), 0, ARG_TYPE_STRING}, +++ {"offset", 'o', 0, N_("Plain mode data sector offset"), 0, ARG_TYPE_INT}, +++ {"size", 's', 0, N_("Size of raw device (sectors, defaults to whole device)"), 0, ARG_TYPE_INT}, +++ {"key-size", 'K', 0, N_("Set key size (bits)"), 0, ARG_TYPE_INT}, ++ {0, 0, 0, 0, 0, 0} ++ }; ++ ++@@ -933,6 +939,48 @@ grub_cryptodisk_scan_device (const char *name, ++ return have_it && search_uuid ? 1 : 0; ++ } ++ +++/* Hashes a passphrase into a key and stores it with cipher. */ +++static gcry_err_code_t +++set_passphrase (grub_cryptodisk_t dev, grub_size_t keysize, const char *passphrase) +++{ +++ grub_uint8_t derived_hash[GRUB_CRYPTODISK_MAX_KEYLEN * 2], *dh = derived_hash; +++ char *p; +++ unsigned int round, i; +++ unsigned int len, size; +++ +++ /* Need no passphrase if there's no key */ +++ if (keysize == 0) +++ return GPG_ERR_INV_KEYLEN; +++ +++ /* Hack to support the "none" hash */ +++ if (dev->hash) +++ len = dev->hash->mdlen; +++ else +++ len = grub_strlen (passphrase); +++ +++ if (keysize > GRUB_CRYPTODISK_MAX_KEYLEN || len > GRUB_CRYPTODISK_MAX_KEYLEN) +++ return GPG_ERR_INV_KEYLEN; +++ +++ p = grub_malloc (grub_strlen (passphrase) + 2 + keysize / len); +++ if (!p) +++ return grub_errno; +++ +++ for (round = 0, size = keysize; size; round++, dh += len, size -= len) +++ { +++ for (i = 0; i < round; i++) +++ p[i] = 'A'; +++ +++ grub_strcpy (p + i, passphrase); +++ +++ if (len > size) +++ len = size; +++ +++ grub_crypto_hash (dev->hash, dh, p, grub_strlen (p)); +++ } +++ +++ return grub_cryptodisk_setkey (dev, derived_hash, keysize); +++} +++ ++ static grub_err_t ++ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args) ++ { ++@@ -1060,7 +1108,63 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args) ++ return GRUB_ERR_NONE; ++ } ++ ++- err = grub_cryptodisk_scan_device_real (diskname, disk); +++ if (state[7].set) /* Plain mode */ +++ { +++ char *cipher; +++ char *mode; +++ char *digest; +++ int offset, size, key_size; +++ +++ cipher = grub_strdup (state[8].set ? state[8].arg : GRUB_CRYPTODISK_PLAIN_CIPHER); +++ digest = grub_strdup (state[9].set ? state[9].arg : GRUB_CRYPTODISK_PLAIN_DIGEST); +++ offset = state[10].set ? grub_strtoul (state[10].arg, 0, 0) : 0; +++ size = state[11].set ? grub_strtoul (state[11].arg, 0, 0) : 0; +++ key_size = ( state[12].set ? grub_strtoul (state[12].arg, 0, 0) \ +++ : GRUB_CRYPTODISK_PLAIN_KEYSIZE ) / 8; +++ +++ /* no strtok, do it manually */ +++ mode = grub_strchr(cipher,'-'); +++ if (!mode) +++ return GRUB_ERR_BAD_ARGUMENT; +++ else +++ *mode++ = 0; +++ +++ dev = grub_cryptodisk_create (disk, NULL, cipher, mode, digest); +++ +++ dev->offset = offset; +++ if (size) dev->total_length = size; +++ +++ if (key) +++ { +++ err = grub_cryptodisk_setkey (dev, key, key_size); +++ if (err) +++ return err; +++ } +++ else +++ { +++ char passphrase[GRUB_CRYPTODISK_MAX_PASSPHRASE] = ""; +++ +++ grub_printf_ (N_("Enter passphrase for %s: "), diskname); +++ if (!grub_password_get (passphrase, GRUB_CRYPTODISK_MAX_PASSPHRASE)) +++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); +++ +++ err = set_passphrase (dev, key_size, passphrase); +++ if (err) +++ { +++ grub_crypto_cipher_close (dev->cipher); +++ return err; +++ } +++ } +++ +++ grub_cryptodisk_insert (dev, diskname, disk); +++ +++ grub_free (cipher); +++ grub_free (digest); +++ +++ err = GRUB_ERR_NONE; +++ } +++ else +++ err = grub_cryptodisk_scan_device_real (diskname, disk); ++ ++ grub_disk_close (disk); ++ if (disklast) ++@@ -1193,13 +1297,203 @@ struct grub_procfs_entry luks_script = ++ .get_contents = luks_script_get ++ }; ++ +++grub_cryptodisk_t +++grub_cryptodisk_create (grub_disk_t disk, char *uuid, +++ char *ciphername, char *ciphermode, char *hashspec) +++{ +++ grub_cryptodisk_t newdev; +++ char *cipheriv = NULL; +++ grub_crypto_cipher_handle_t cipher = NULL, secondary_cipher = NULL; +++ grub_crypto_cipher_handle_t essiv_cipher = NULL; +++ const gcry_md_spec_t *hash = NULL, *essiv_hash = NULL; +++ const struct gcry_cipher_spec *ciph; +++ grub_cryptodisk_mode_t mode; +++ grub_cryptodisk_mode_iv_t mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64; +++ int benbi_log = 0; +++ +++ if (!uuid) +++ uuid = (char*)"00000000000000000000000000000000"; +++ +++ ciph = grub_crypto_lookup_cipher_by_name (ciphername); +++ if (!ciph) +++ { +++ grub_error (GRUB_ERR_FILE_NOT_FOUND, "Cipher %s isn't available", +++ ciphername); +++ return NULL; +++ } +++ +++ /* Configure the cipher used for the bulk data. */ +++ cipher = grub_crypto_cipher_open (ciph); +++ if (!cipher) +++ return NULL; +++ +++ /* Configure the cipher mode. */ +++ if (grub_strcmp (ciphermode, "ecb") == 0) +++ { +++ mode = GRUB_CRYPTODISK_MODE_ECB; +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; +++ cipheriv = NULL; +++ } +++ else if (grub_strcmp (ciphermode, "plain") == 0) +++ { +++ mode = GRUB_CRYPTODISK_MODE_CBC; +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; +++ cipheriv = NULL; +++ } +++ else if (grub_memcmp (ciphermode, "cbc-", sizeof ("cbc-") - 1) == 0) +++ { +++ mode = GRUB_CRYPTODISK_MODE_CBC; +++ cipheriv = ciphermode + sizeof ("cbc-") - 1; +++ } +++ else if (grub_memcmp (ciphermode, "pcbc-", sizeof ("pcbc-") - 1) == 0) +++ { +++ mode = GRUB_CRYPTODISK_MODE_PCBC; +++ cipheriv = ciphermode + sizeof ("pcbc-") - 1; +++ } +++ else if (grub_memcmp (ciphermode, "xts-", sizeof ("xts-") - 1) == 0) +++ { +++ mode = GRUB_CRYPTODISK_MODE_XTS; +++ cipheriv = ciphermode + sizeof ("xts-") - 1; +++ secondary_cipher = grub_crypto_cipher_open (ciph); +++ if (!secondary_cipher) +++ { +++ grub_crypto_cipher_close (cipher); +++ return NULL; +++ } +++ if (cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES) +++ { +++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported XTS block size: %d", +++ cipher->cipher->blocksize); +++ grub_crypto_cipher_close (cipher); +++ grub_crypto_cipher_close (secondary_cipher); +++ return NULL; +++ } +++ if (secondary_cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES) +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported XTS block size: %d", +++ secondary_cipher->cipher->blocksize); +++ grub_crypto_cipher_close (secondary_cipher); +++ return NULL; +++ } +++ } +++ else if (grub_memcmp (ciphermode, "lrw-", sizeof ("lrw-") - 1) == 0) +++ { +++ mode = GRUB_CRYPTODISK_MODE_LRW; +++ cipheriv = ciphermode + sizeof ("lrw-") - 1; +++ if (cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES) +++ { +++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported LRW block size: %d", +++ cipher->cipher->blocksize); +++ grub_crypto_cipher_close (cipher); +++ return NULL; +++ } +++ } +++ else +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unknown cipher mode: %s", +++ ciphermode); +++ return NULL; +++ } +++ +++ if (cipheriv == NULL); +++ else if (grub_memcmp (cipheriv, "plain", sizeof ("plain") - 1) == 0) +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; +++ else if (grub_memcmp (cipheriv, "plain64", sizeof ("plain64") - 1) == 0) +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64; +++ else if (grub_memcmp (cipheriv, "benbi", sizeof ("benbi") - 1) == 0) +++ { +++ if (cipher->cipher->blocksize & (cipher->cipher->blocksize - 1) +++ || cipher->cipher->blocksize == 0) +++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported benbi blocksize: %d", +++ cipher->cipher->blocksize); +++ /* FIXME should we return an error here? */ +++ for (benbi_log = 0; +++ (cipher->cipher->blocksize << benbi_log) < GRUB_DISK_SECTOR_SIZE; +++ benbi_log++); +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_BENBI; +++ } +++ else if (grub_memcmp (cipheriv, "null", sizeof ("null") - 1) == 0) +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_NULL; +++ else if (grub_memcmp (cipheriv, "essiv:", sizeof ("essiv:") - 1) == 0) +++ { +++ char *hash_str = cipheriv + 6; +++ +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_ESSIV; +++ +++ /* Configure the hash and cipher used for ESSIV. */ +++ essiv_hash = grub_crypto_lookup_md_by_name (hash_str); +++ if (!essiv_hash) +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_crypto_cipher_close (secondary_cipher); +++ grub_error (GRUB_ERR_FILE_NOT_FOUND, +++ "Couldn't load %s hash", hash_str); +++ return NULL; +++ } +++ essiv_cipher = grub_crypto_cipher_open (ciph); +++ if (!essiv_cipher) +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_crypto_cipher_close (secondary_cipher); +++ return NULL; +++ } +++ } +++ else +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_crypto_cipher_close (secondary_cipher); +++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unknown IV mode: %s", +++ cipheriv); +++ return NULL; +++ } +++ +++ /* Configure the passphrase hash (LUKS also uses AF splitter and HMAC). */ +++ hash = grub_crypto_lookup_md_by_name (hashspec); +++ if (!hash) +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_crypto_cipher_close (essiv_cipher); +++ grub_crypto_cipher_close (secondary_cipher); +++ grub_error (GRUB_ERR_FILE_NOT_FOUND, "Couldn't load %s hash", +++ hashspec); +++ return NULL; +++ } +++ +++ newdev = grub_zalloc (sizeof (struct grub_cryptodisk)); +++ if (!newdev) +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_crypto_cipher_close (essiv_cipher); +++ grub_crypto_cipher_close (secondary_cipher); +++ return NULL; +++ } +++ newdev->cipher = cipher; +++ newdev->offset = 0; +++ newdev->source_disk = NULL; +++ newdev->benbi_log = benbi_log; +++ newdev->mode = mode; +++ newdev->mode_iv = mode_iv; +++ newdev->secondary_cipher = secondary_cipher; +++ newdev->essiv_cipher = essiv_cipher; +++ newdev->essiv_hash = essiv_hash; +++ newdev->hash = hash; +++ newdev->log_sector_size = 9; +++ newdev->total_length = grub_disk_get_size (disk) - newdev->offset; +++ grub_memcpy (newdev->uuid, uuid, sizeof (newdev->uuid)); +++ COMPILE_TIME_ASSERT (sizeof (newdev->uuid) >= sizeof (uuid)); +++ +++ return newdev; +++} +++ ++ static grub_extcmd_t cmd; ++ ++ GRUB_MOD_INIT (cryptodisk) ++ { ++ grub_disk_dev_register (&grub_cryptodisk_dev); ++ cmd = grub_register_extcmd ("cryptomount", grub_cmd_cryptomount, 0, ++- N_("SOURCE|-u UUID|-a|-b|-H file"), +++ N_("SOURCE|-u UUID|-a|-b|-H file|-p -c cipher -d digest"), ++ N_("Mount a crypto device."), options); ++ grub_procfs_register ("luks_script", &luks_script); ++ } ++diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c ++index 11e437edb..4ebe21b4e 100644 ++--- a/grub-core/disk/luks.c +++++ b/grub-core/disk/luks.c ++@@ -30,8 +30,6 @@ ++ ++ GRUB_MOD_LICENSE ("GPLv3+"); ++ ++-#define MAX_PASSPHRASE 256 ++- ++ #define LUKS_KEY_ENABLED 0x00AC71F3 ++ ++ /* On disk LUKS header */ ++@@ -76,15 +74,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ char uuid[sizeof (header.uuid) + 1]; ++ char ciphername[sizeof (header.cipherName) + 1]; ++ char ciphermode[sizeof (header.cipherMode) + 1]; ++- char *cipheriv = NULL; ++ char hashspec[sizeof (header.hashSpec) + 1]; ++- grub_crypto_cipher_handle_t cipher = NULL, secondary_cipher = NULL; ++- grub_crypto_cipher_handle_t essiv_cipher = NULL; ++- const gcry_md_spec_t *hash = NULL, *essiv_hash = NULL; ++- const struct gcry_cipher_spec *ciph; ++- grub_cryptodisk_mode_t mode; ++- grub_cryptodisk_mode_iv_t mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64; ++- int benbi_log = 0; ++ grub_err_t err; ++ ++ err = GRUB_ERR_NONE; ++@@ -119,7 +109,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ iptr++) ++ { ++ if (*iptr != '-') ++- *optr++ = *iptr; +++ *optr++ = *iptr; ++ } ++ *optr = 0; ++ ++@@ -129,6 +119,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ return NULL; ++ } ++ +++ ++ /* Make sure that strings are null terminated. */ ++ grub_memcpy (ciphername, header.cipherName, sizeof (header.cipherName)); ++ ciphername[sizeof (header.cipherName)] = 0; ++@@ -137,184 +128,10 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ grub_memcpy (hashspec, header.hashSpec, sizeof (header.hashSpec)); ++ hashspec[sizeof (header.hashSpec)] = 0; ++ ++- ciph = grub_crypto_lookup_cipher_by_name (ciphername); ++- if (!ciph) ++- { ++- grub_error (GRUB_ERR_FILE_NOT_FOUND, "Cipher %s isn't available", ++- ciphername); ++- return NULL; ++- } ++- ++- /* Configure the cipher used for the bulk data. */ ++- cipher = grub_crypto_cipher_open (ciph); ++- if (!cipher) ++- return NULL; ++- ++- if (grub_be_to_cpu32 (header.keyBytes) > 1024) ++- { ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "invalid keysize %d", ++- grub_be_to_cpu32 (header.keyBytes)); ++- grub_crypto_cipher_close (cipher); ++- return NULL; ++- } ++- ++- /* Configure the cipher mode. */ ++- if (grub_strcmp (ciphermode, "ecb") == 0) ++- { ++- mode = GRUB_CRYPTODISK_MODE_ECB; ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; ++- cipheriv = NULL; ++- } ++- else if (grub_strcmp (ciphermode, "plain") == 0) ++- { ++- mode = GRUB_CRYPTODISK_MODE_CBC; ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; ++- cipheriv = NULL; ++- } ++- else if (grub_memcmp (ciphermode, "cbc-", sizeof ("cbc-") - 1) == 0) ++- { ++- mode = GRUB_CRYPTODISK_MODE_CBC; ++- cipheriv = ciphermode + sizeof ("cbc-") - 1; ++- } ++- else if (grub_memcmp (ciphermode, "pcbc-", sizeof ("pcbc-") - 1) == 0) ++- { ++- mode = GRUB_CRYPTODISK_MODE_PCBC; ++- cipheriv = ciphermode + sizeof ("pcbc-") - 1; ++- } ++- else if (grub_memcmp (ciphermode, "xts-", sizeof ("xts-") - 1) == 0) ++- { ++- mode = GRUB_CRYPTODISK_MODE_XTS; ++- cipheriv = ciphermode + sizeof ("xts-") - 1; ++- secondary_cipher = grub_crypto_cipher_open (ciph); ++- if (!secondary_cipher) ++- { ++- grub_crypto_cipher_close (cipher); ++- return NULL; ++- } ++- if (cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES) ++- { ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported XTS block size: %d", ++- cipher->cipher->blocksize); ++- grub_crypto_cipher_close (cipher); ++- grub_crypto_cipher_close (secondary_cipher); ++- return NULL; ++- } ++- if (secondary_cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES) ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported XTS block size: %d", ++- secondary_cipher->cipher->blocksize); ++- grub_crypto_cipher_close (secondary_cipher); ++- return NULL; ++- } ++- } ++- else if (grub_memcmp (ciphermode, "lrw-", sizeof ("lrw-") - 1) == 0) ++- { ++- mode = GRUB_CRYPTODISK_MODE_LRW; ++- cipheriv = ciphermode + sizeof ("lrw-") - 1; ++- if (cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES) ++- { ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported LRW block size: %d", ++- cipher->cipher->blocksize); ++- grub_crypto_cipher_close (cipher); ++- return NULL; ++- } ++- } ++- else ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unknown cipher mode: %s", ++- ciphermode); ++- return NULL; ++- } ++- ++- if (cipheriv == NULL); ++- else if (grub_memcmp (cipheriv, "plain", sizeof ("plain") - 1) == 0) ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; ++- else if (grub_memcmp (cipheriv, "plain64", sizeof ("plain64") - 1) == 0) ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64; ++- else if (grub_memcmp (cipheriv, "benbi", sizeof ("benbi") - 1) == 0) ++- { ++- if (cipher->cipher->blocksize & (cipher->cipher->blocksize - 1) ++- || cipher->cipher->blocksize == 0) ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported benbi blocksize: %d", ++- cipher->cipher->blocksize); ++- /* FIXME should we return an error here? */ ++- for (benbi_log = 0; ++- (cipher->cipher->blocksize << benbi_log) < GRUB_DISK_SECTOR_SIZE; ++- benbi_log++); ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_BENBI; ++- } ++- else if (grub_memcmp (cipheriv, "null", sizeof ("null") - 1) == 0) ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_NULL; ++- else if (grub_memcmp (cipheriv, "essiv:", sizeof ("essiv:") - 1) == 0) ++- { ++- char *hash_str = cipheriv + 6; ++- ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_ESSIV; ++- ++- /* Configure the hash and cipher used for ESSIV. */ ++- essiv_hash = grub_crypto_lookup_md_by_name (hash_str); ++- if (!essiv_hash) ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_crypto_cipher_close (secondary_cipher); ++- grub_error (GRUB_ERR_FILE_NOT_FOUND, ++- "Couldn't load %s hash", hash_str); ++- return NULL; ++- } ++- essiv_cipher = grub_crypto_cipher_open (ciph); ++- if (!essiv_cipher) ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_crypto_cipher_close (secondary_cipher); ++- return NULL; ++- } ++- } ++- else ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_crypto_cipher_close (secondary_cipher); ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unknown IV mode: %s", ++- cipheriv); ++- return NULL; ++- } ++- ++- /* Configure the hash used for the AF splitter and HMAC. */ ++- hash = grub_crypto_lookup_md_by_name (hashspec); ++- if (!hash) ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_crypto_cipher_close (essiv_cipher); ++- grub_crypto_cipher_close (secondary_cipher); ++- grub_error (GRUB_ERR_FILE_NOT_FOUND, "Couldn't load %s hash", ++- hashspec); ++- return NULL; ++- } +++ newdev = grub_cryptodisk_create (disk, uuid, ciphername, ciphermode, hashspec); ++ ++- newdev = grub_zalloc (sizeof (struct grub_cryptodisk)); ++- if (!newdev) ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_crypto_cipher_close (essiv_cipher); ++- grub_crypto_cipher_close (secondary_cipher); ++- return NULL; ++- } ++- newdev->cipher = cipher; ++ newdev->offset = grub_be_to_cpu32 (header.payloadOffset); ++- newdev->source_disk = NULL; ++- newdev->benbi_log = benbi_log; ++- newdev->mode = mode; ++- newdev->mode_iv = mode_iv; ++- newdev->secondary_cipher = secondary_cipher; ++- newdev->essiv_cipher = essiv_cipher; ++- newdev->essiv_hash = essiv_hash; ++- newdev->hash = hash; ++- newdev->log_sector_size = 9; ++- newdev->total_length = grub_disk_get_size (disk) - newdev->offset; ++- grub_memcpy (newdev->uuid, uuid, sizeof (newdev->uuid)); ++ newdev->modname = "luks"; ++- COMPILE_TIME_ASSERT (sizeof (newdev->uuid) >= sizeof (uuid)); ++ ++ return newdev; ++ } ++@@ -329,7 +146,7 @@ luks_recover_key (grub_disk_t source, ++ struct grub_luks_phdr header; ++ grub_size_t keysize; ++ grub_uint8_t *split_key = NULL; ++- char interactive_passphrase[MAX_PASSPHRASE] = ""; +++ char interactive_passphrase[GRUB_CRYPTODISK_MAX_PASSPHRASE] = ""; ++ grub_uint8_t *passphrase; ++ grub_size_t passphrase_length; ++ grub_uint8_t candidate_digest[sizeof (header.mkDigest)]; ++@@ -376,7 +193,7 @@ luks_recover_key (grub_disk_t source, ++ /* Use bytestring from key file as passphrase */ ++ passphrase = keyfile_bytes; ++ passphrase_length = keyfile_bytes_size; ++- keyfile_bytes = NULL; /* use it only once */ +++ keyfile_bytes = NULL; /* use it only once */ ++ } ++ else ++ { ++@@ -387,7 +204,7 @@ luks_recover_key (grub_disk_t source, ++ grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name, ++ source->partition ? "," : "", tmp ? : "", dev->uuid); ++ grub_free (tmp); ++- if (!grub_password_get (interactive_passphrase, MAX_PASSPHRASE)) +++ if (!grub_password_get (interactive_passphrase, GRUB_CRYPTODISK_MAX_PASSPHRASE)) ++ { ++ grub_free (split_key); ++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); ++diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h ++index 67f6b0b59..bb25ab730 100644 ++--- a/include/grub/cryptodisk.h +++++ b/include/grub/cryptodisk.h ++@@ -54,9 +54,14 @@ typedef enum ++ #define GRUB_CRYPTODISK_GF_LOG_BYTES (GRUB_CRYPTODISK_GF_LOG_SIZE - 3) ++ #define GRUB_CRYPTODISK_GF_BYTES (1U << GRUB_CRYPTODISK_GF_LOG_BYTES) ++ #define GRUB_CRYPTODISK_MAX_KEYLEN 128 +++#define GRUB_CRYPTODISK_MAX_PASSPHRASE 256 ++ ++ #define GRUB_CRYPTODISK_MAX_KEYFILE_SIZE 8192 ++ +++#define GRUB_CRYPTODISK_PLAIN_CIPHER "aes-cbc-essiv:sha256" +++#define GRUB_CRYPTODISK_PLAIN_DIGEST "ripemd160" +++#define GRUB_CRYPTODISK_PLAIN_KEYSIZE 256 +++ ++ struct grub_cryptodisk; ++ ++ typedef gcry_err_code_t ++@@ -160,4 +165,7 @@ grub_util_get_geli_uuid (const char *dev); ++ grub_cryptodisk_t grub_cryptodisk_get_by_uuid (const char *uuid); ++ grub_cryptodisk_t grub_cryptodisk_get_by_source_disk (grub_disk_t disk); ++ +++grub_cryptodisk_t grub_cryptodisk_create (grub_disk_t disk, char *uuid, +++ char *ciphername, char *ciphermode, char *digest); +++ ++ #endif ++-- ++2.16.2 ++ diff --git a/helpers/DATA/grub2-unsigned/0005-Cryptomount-support-for-hyphens-in-UUID.patch b/helpers/DATA/grub2-unsigned/0005-Cryptomount-support-for-hyphens-in-UUID.patch new file mode 100644 index 0000000..a70086f --- /dev/null +++ b/helpers/DATA/grub2-unsigned/0005-Cryptomount-support-for-hyphens-in-UUID.patch @@ -0,0 +1,128 @@ +diff --git a/0005-Cryptomount-support-for-hyphens-in-UUID.patch b/0005-Cryptomount-support-for-hyphens-in-UUID.patch +new file mode 100644 +index 00000000000..f6ed18a66d7 +--- /dev/null ++++ b/0005-Cryptomount-support-for-hyphens-in-UUID.patch +@@ -0,0 +1,122 @@ ++From 0939fef502c4b97d1facc7972a54d5dfeba4ab71 Mon Sep 17 00:00:00 2001 ++From: John Lane ++Date: Fri, 26 Jun 2015 22:48:03 +0100 ++Subject: [PATCH 5/7] Cryptomount support for hyphens in UUID ++ ++--- ++ grub-core/disk/cryptodisk.c | 20 +++++++++++++++++--- ++ grub-core/disk/luks.c | 26 ++++++++------------------ ++ include/grub/cryptodisk.h | 2 ++ ++ 3 files changed, 27 insertions(+), 21 deletions(-) ++ ++diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c ++index 7f656f75c..c442d3a34 100644 ++--- a/grub-core/disk/cryptodisk.c +++++ b/grub-core/disk/cryptodisk.c ++@@ -114,6 +114,20 @@ gf_mul_be (grub_uint8_t *o, const grub_uint8_t *a, const grub_uint8_t *b) ++ } ++ } ++ +++int +++grub_cryptodisk_uuidcmp(char *uuid_a, char *uuid_b) +++{ +++ while ((*uuid_a != '\0') && (*uuid_b != '\0')) +++ { +++ while (*uuid_a == '-') uuid_a++; +++ while (*uuid_b == '-') uuid_b++; +++ if (grub_toupper(*uuid_a) != grub_toupper(*uuid_b)) break; +++ uuid_a++; +++ uuid_b++; +++ } +++ return (*uuid_a == '\0') && (*uuid_b == '\0'); +++} +++ ++ static gcry_err_code_t ++ grub_crypto_pcbc_decrypt (grub_crypto_cipher_handle_t cipher, ++ void *out, void *in, grub_size_t size, ++@@ -509,8 +523,8 @@ grub_cryptodisk_open (const char *name, grub_disk_t disk) ++ if (grub_memcmp (name, "cryptouuid/", sizeof ("cryptouuid/") - 1) == 0) ++ { ++ for (dev = cryptodisk_list; dev != NULL; dev = dev->next) ++- if (grub_strcasecmp (name + sizeof ("cryptouuid/") - 1, dev->uuid) == 0) ++- break; +++ if (grub_cryptodisk_uuidcmp(name + sizeof ("cryptouuid/") - 1, dev->uuid)) +++ break; ++ } ++ else ++ { ++@@ -742,7 +756,7 @@ grub_cryptodisk_get_by_uuid (const char *uuid) ++ { ++ grub_cryptodisk_t dev; ++ for (dev = cryptodisk_list; dev != NULL; dev = dev->next) ++- if (grub_strcasecmp (dev->uuid, uuid) == 0) +++ if (grub_cryptodisk_uuidcmp(dev->uuid, uuid)) ++ return dev; ++ return NULL; ++ } ++diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c ++index 4ebe21b4e..80a760670 100644 ++--- a/grub-core/disk/luks.c +++++ b/grub-core/disk/luks.c ++@@ -68,9 +68,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ int check_boot, grub_file_t hdr) ++ { ++ grub_cryptodisk_t newdev; ++- const char *iptr; ++ struct grub_luks_phdr header; ++- char *optr; ++ char uuid[sizeof (header.uuid) + 1]; ++ char ciphername[sizeof (header.cipherName) + 1]; ++ char ciphermode[sizeof (header.cipherMode) + 1]; ++@@ -104,22 +102,6 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ || grub_be_to_cpu16 (header.version) != 1) ++ return NULL; ++ ++- optr = uuid; ++- for (iptr = header.uuid; iptr < &header.uuid[ARRAY_SIZE (header.uuid)]; ++- iptr++) ++- { ++- if (*iptr != '-') ++- *optr++ = *iptr; ++- } ++- *optr = 0; ++- ++- if (check_uuid && grub_strcasecmp (check_uuid, uuid) != 0) ++- { ++- grub_dprintf ("luks", "%s != %s\n", uuid, check_uuid); ++- return NULL; ++- } ++- ++- ++ /* Make sure that strings are null terminated. */ ++ grub_memcpy (ciphername, header.cipherName, sizeof (header.cipherName)); ++ ciphername[sizeof (header.cipherName)] = 0; ++@@ -127,6 +109,14 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ ciphermode[sizeof (header.cipherMode)] = 0; ++ grub_memcpy (hashspec, header.hashSpec, sizeof (header.hashSpec)); ++ hashspec[sizeof (header.hashSpec)] = 0; +++ grub_memcpy (uuid, header.uuid, sizeof (header.uuid)); +++ uuid[sizeof (header.uuid)] = 0; +++ +++ if ( check_uuid && ! grub_cryptodisk_uuidcmp(check_uuid, uuid)) +++ { +++ grub_dprintf ("luks", "%s != %s\n", uuid, check_uuid); +++ return NULL; +++ } ++ ++ newdev = grub_cryptodisk_create (disk, uuid, ciphername, ciphermode, hashspec); ++ ++diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h ++index bb25ab730..01c02696e 100644 ++--- a/include/grub/cryptodisk.h +++++ b/include/grub/cryptodisk.h ++@@ -168,4 +168,6 @@ grub_cryptodisk_t grub_cryptodisk_get_by_source_disk (grub_disk_t disk); ++ grub_cryptodisk_t grub_cryptodisk_create (grub_disk_t disk, char *uuid, ++ char *ciphername, char *ciphermode, char *digest); ++ +++int +++grub_cryptodisk_uuidcmp(char *uuid_a, char *uuid_b); ++ #endif ++-- ++2.16.2 ++ diff --git a/helpers/DATA/grub2-unsigned/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch b/helpers/DATA/grub2-unsigned/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch new file mode 100644 index 0000000..09f876d --- /dev/null +++ b/helpers/DATA/grub2-unsigned/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch @@ -0,0 +1,114 @@ +diff --git a/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch b/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch +new file mode 100644 +index 00000000000..49750f84aca +--- /dev/null ++++ b/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch +@@ -0,0 +1,108 @@ ++From 908f4282cc934422923ff59836a835e63d6a7117 Mon Sep 17 00:00:00 2001 ++From: Paul Gideon Dann ++Date: Tue, 19 Jul 2016 12:36:37 +0100 ++Subject: [PATCH] Add support for using a whole device as a keyfile ++ ++--- ++ grub-core/disk/cryptodisk.c | 86 +++++++++++++++++++++++++++++-------- ++ 1 file changed, 68 insertions(+), 18 deletions(-) ++ ++diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c ++index d0388c6d1..c5d8021ba 100644 ++--- a/grub-core/disk/cryptodisk.c +++++ b/grub-core/disk/cryptodisk.c ++@@ -1031,26 +1031,76 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args) ++ else ++ { ++ keyfile_offset = state[5].set ? grub_strtoul (state[5].arg, 0, 0) : 0; ++- keyfile_size = requested_keyfile_size ? requested_keyfile_size : \ ++- GRUB_CRYPTODISK_MAX_KEYFILE_SIZE; ++- ++- keyfile = grub_file_open (state[4].arg, GRUB_FILE_TYPE_NONE); ++- if (!keyfile) ++- grub_printf (N_("Unable to open key file %s\n"), state[4].arg); ++- else if (grub_file_seek (keyfile, keyfile_offset) == (grub_off_t)-1) ++- grub_printf (N_("Unable to seek to offset %d in key file\n"), keyfile_offset); ++- else +++ +++ if (grub_strchr (state[4].arg, '/')) ++ { ++- keyfile_size = grub_file_read (keyfile, keyfile_buffer, keyfile_size); ++- if (keyfile_size == (grub_size_t)-1) ++- grub_printf (N_("Error reading key file\n")); ++- else if (requested_keyfile_size && (keyfile_size != requested_keyfile_size)) ++- grub_printf (N_("Cannot read %llu bytes for key file (read %llu bytes)\n"), ++- (unsigned long long) requested_keyfile_size, ++- (unsigned long long) keyfile_size); +++ keyfile_size = requested_keyfile_size ? requested_keyfile_size : \ +++ GRUB_CRYPTODISK_MAX_KEYFILE_SIZE; +++ keyfile = grub_file_open (state[4].arg, GRUB_FILE_TYPE_NONE); +++ if (!keyfile) +++ grub_printf (N_("Unable to open key file %s\n"), state[4].arg); +++ else if (grub_file_seek (keyfile, keyfile_offset) == (grub_off_t)-1) +++ grub_printf (N_("Unable to seek to offset %d in key file\n"), keyfile_offset); ++ else ++- key = keyfile_buffer; ++- } +++ { +++ keyfile_size = grub_file_read (keyfile, keyfile_buffer, keyfile_size); +++ if (keyfile_size == (grub_size_t)-1) +++ grub_printf (N_("Error reading key file\n")); +++ else if (requested_keyfile_size && (keyfile_size != requested_keyfile_size)) +++ grub_printf (N_("Cannot read %llu bytes for key file (read %llu bytes)\n"), +++ (unsigned long long) requested_keyfile_size, +++ (unsigned long long) keyfile_size); +++ else +++ key = keyfile_buffer; +++ } +++ } +++ else +++ { +++ grub_disk_t keydisk; +++ char* keydisk_name; +++ grub_err_t err; +++ grub_uint64_t total_sectors; +++ +++ keydisk_name = grub_file_get_device_name(state[4].arg); +++ keydisk = grub_disk_open (keydisk_name); +++ if (!keydisk) +++ { +++ grub_printf (N_("Unable to open disk %s\n"), keydisk_name); +++ goto cleanup_keydisk_name; +++ } +++ +++ total_sectors = grub_disk_get_size (keydisk); +++ if (total_sectors == GRUB_DISK_SIZE_UNKNOWN) +++ { +++ grub_printf (N_("Unable to determine size of disk %s\n"), keydisk_name); +++ goto cleanup_keydisk; +++ } +++ +++ keyfile_size = (total_sectors << GRUB_DISK_SECTOR_BITS); +++ if (requested_keyfile_size > 0 && requested_keyfile_size < keyfile_size) +++ keyfile_size = requested_keyfile_size; +++ if (keyfile_size > GRUB_CRYPTODISK_MAX_KEYFILE_SIZE) +++ { +++ grub_printf (N_("Key file size exceeds maximum (%llu)\n"), \ +++ (unsigned long long) GRUB_CRYPTODISK_MAX_KEYFILE_SIZE); +++ goto cleanup_keydisk; +++ } +++ +++ err = grub_disk_read (keydisk, 0, keyfile_offset, keyfile_size, keyfile_buffer); +++ if (err != GRUB_ERR_NONE) +++ { +++ grub_printf (N_("Failed to read from disk %s\n"), keydisk_name); +++ keyfile_size = 0; +++ goto cleanup_keydisk; +++ } +++ +++ key = keyfile_buffer; +++ +++ cleanup_keydisk: +++ grub_disk_close (keydisk); +++ cleanup_keydisk_name: +++ grub_free (keydisk_name); +++ } ++ } ++ } ++ diff --git a/helpers/DATA/grub2-unsigned/patch_changes/007-prevent-duplicated-gnu-linux-with-trisquel-full-name.patch b/helpers/DATA/grub2-unsigned/patch_changes/007-prevent-duplicated-gnu-linux-with-trisquel-full-name.patch deleted file mode 100644 index 1d49f7e..0000000 --- a/helpers/DATA/grub2-unsigned/patch_changes/007-prevent-duplicated-gnu-linux-with-trisquel-full-name.patch +++ /dev/null @@ -1,22 +0,0 @@ -Prevent duplicated GNU/Linux string with Trisquel's full name. - -diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in -index cc393be7..f13c4774 100644 ---- a/util/grub.d/10_linux.in -+++ b/util/grub.d/10_linux.in -@@ -31,7 +31,14 @@ CLASS="--class gnu-linux --class gnu --class os" - if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then - OS=GNU/Linux - else -- OS="${GRUB_DISTRIBUTOR} GNU/Linux" -+ case ${GRUB_DISTRIBUTOR} in -+ "Trisquel GNU/Linux") -+ OS="${GRUB_DISTRIBUTOR}" -+ ;; -+ *) -+ OS="${GRUB_DISTRIBUTOR} GNU/Linux" -+ ;; -+ esac - CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}" - fi - diff --git a/helpers/DATA/grub2/0001-Cryptomount-support-LUKS-detached-header.patch b/helpers/DATA/grub2/0001-Cryptomount-support-LUKS-detached-header.patch new file mode 100644 index 0000000..5d6bd23 --- /dev/null +++ b/helpers/DATA/grub2/0001-Cryptomount-support-LUKS-detached-header.patch @@ -0,0 +1,253 @@ +diff --git a/0001-Cryptomount-support-LUKS-detached-header.patch b/0001-Cryptomount-support-LUKS-detached-header.patch +new file mode 100644 +index 00000000000..65943f41b8c +--- /dev/null ++++ b/0001-Cryptomount-support-LUKS-detached-header.patch +@@ -0,0 +1,247 @@ ++From 2008e08c0a511da5d454664363f452a9e26c734f Mon Sep 17 00:00:00 2001 ++From: John Lane ++Date: Tue, 23 Jun 2015 11:16:30 +0100 ++Subject: [PATCH 1/7] Cryptomount support LUKS detached header ++ ++--- ++ grub-core/disk/cryptodisk.c | 22 ++++++++++++++++++---- ++ grub-core/disk/geli.c | 7 +++++-- ++ grub-core/disk/luks.c | 45 +++++++++++++++++++++++++++++++++++++-------- ++ include/grub/cryptodisk.h | 5 +++-- ++ 4 files changed, 63 insertions(+), 16 deletions(-) ++ ++diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c ++index bd60a66b3..5230a5a9a 100644 ++--- a/grub-core/disk/cryptodisk.c +++++ b/grub-core/disk/cryptodisk.c ++@@ -41,6 +41,7 @@ static const struct grub_arg_option options[] = ++ /* TRANSLATORS: It's still restricted to cryptodisks only. */ ++ {"all", 'a', 0, N_("Mount all."), 0, 0}, ++ {"boot", 'b', 0, N_("Mount all volumes with `boot' flag set."), 0, 0}, +++ {"header", 'H', 0, N_("Read LUKS header from file"), 0, ARG_TYPE_STRING}, ++ {0, 0, 0, 0, 0, 0} ++ }; ++ ++@@ -809,6 +810,7 @@ grub_util_cryptodisk_get_uuid (grub_disk_t disk) ++ ++ static int check_boot, have_it; ++ static char *search_uuid; +++static grub_file_t hdr; ++ ++ static void ++ cryptodisk_close (grub_cryptodisk_t dev) ++@@ -833,13 +835,13 @@ grub_cryptodisk_scan_device_real (const char *name, grub_disk_t source) ++ ++ FOR_CRYPTODISK_DEVS (cr) ++ { ++- dev = cr->scan (source, search_uuid, check_boot); +++ dev = cr->scan (source, search_uuid, check_boot, hdr); ++ if (grub_errno) ++ return grub_errno; ++ if (!dev) ++ continue; ++ ++- err = cr->recover_key (source, dev); +++ err = cr->recover_key (source, dev, hdr); ++ if (err) ++ { ++ cryptodisk_close (dev); ++@@ -880,7 +882,7 @@ grub_cryptodisk_cheat_mount (const char *sourcedev, const char *cheat) ++ ++ FOR_CRYPTODISK_DEVS (cr) ++ { ++- dev = cr->scan (source, search_uuid, check_boot); +++ dev = cr->scan (source, search_uuid, check_boot,0); ++ if (grub_errno) ++ return grub_errno; ++ if (!dev) ++@@ -934,6 +936,18 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args) ++ if (argc < 1 && !state[1].set && !state[2].set) ++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "device name required"); ++ +++ if (state[3].set) /* LUKS detached header */ +++ { +++ if (state[0].set) /* Cannot use UUID lookup with detached header */ +++ return GRUB_ERR_BAD_ARGUMENT; +++ +++ hdr = grub_file_open (state[3].arg, GRUB_FILE_TYPE_NONE); +++ if (!hdr) +++ return grub_errno; +++ } +++ else +++ hdr = NULL; +++ ++ have_it = 0; ++ if (state[0].set) ++ { ++@@ -1141,7 +1155,7 @@ GRUB_MOD_INIT (cryptodisk) ++ { ++ grub_disk_dev_register (&grub_cryptodisk_dev); ++ cmd = grub_register_extcmd ("cryptomount", grub_cmd_cryptomount, 0, ++- N_("SOURCE|-u UUID|-a|-b"), +++ N_("SOURCE|-u UUID|-a|-b|-H file"), ++ N_("Mount a crypto device."), options); ++ grub_procfs_register ("luks_script", &luks_script); ++ } ++diff --git a/grub-core/disk/geli.c b/grub-core/disk/geli.c ++index e9d23299a..f4394eb42 100644 ++--- a/grub-core/disk/geli.c +++++ b/grub-core/disk/geli.c ++@@ -52,6 +52,7 @@ ++ #include ++ #include ++ #include +++#include ++ #include ++ #include ++ #include ++@@ -243,7 +244,8 @@ grub_util_get_geli_uuid (const char *dev) ++ ++ static grub_cryptodisk_t ++ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++- int boot_only) +++ int boot_only, +++ grub_file_t hdr __attribute__ ((unused)) ) ++ { ++ grub_cryptodisk_t newdev; ++ struct grub_geli_phdr header; ++@@ -398,7 +400,8 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ } ++ ++ static grub_err_t ++-recover_key (grub_disk_t source, grub_cryptodisk_t dev) +++recover_key (grub_disk_t source, grub_cryptodisk_t dev, +++ grub_file_t hdr __attribute__ ((unused)) ) ++ { ++ grub_size_t keysize; ++ grub_uint8_t digest[GRUB_CRYPTO_MAX_MDLEN]; ++diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c ++index 86c50c612..66e64c0e0 100644 ++--- a/grub-core/disk/luks.c +++++ b/grub-core/disk/luks.c ++@@ -23,6 +23,7 @@ ++ #include ++ #include ++ #include +++#include ++ #include ++ #include ++ #include ++@@ -66,7 +67,7 @@ gcry_err_code_t AF_merge (const gcry_md_spec_t * hash, grub_uint8_t * src, ++ ++ static grub_cryptodisk_t ++ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++- int check_boot) +++ int check_boot, grub_file_t hdr) ++ { ++ grub_cryptodisk_t newdev; ++ const char *iptr; ++@@ -86,11 +87,21 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ int benbi_log = 0; ++ grub_err_t err; ++ +++ err = GRUB_ERR_NONE; +++ ++ if (check_boot) ++ return NULL; ++ ++ /* Read the LUKS header. */ ++- err = grub_disk_read (disk, 0, 0, sizeof (header), &header); +++ if (hdr) +++ { +++ grub_file_seek (hdr, 0); +++ if (grub_file_read (hdr, &header, sizeof (header)) != sizeof (header)) +++ err = GRUB_ERR_READ_ERROR; +++ } +++ else +++ err = grub_disk_read (disk, 0, 0, sizeof (header), &header); +++ ++ if (err) ++ { ++ if (err == GRUB_ERR_OUT_OF_RANGE) ++@@ -304,12 +315,14 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ grub_memcpy (newdev->uuid, uuid, sizeof (newdev->uuid)); ++ newdev->modname = "luks"; ++ COMPILE_TIME_ASSERT (sizeof (newdev->uuid) >= sizeof (uuid)); +++ ++ return newdev; ++ } ++ ++ static grub_err_t ++ luks_recover_key (grub_disk_t source, ++- grub_cryptodisk_t dev) +++ grub_cryptodisk_t dev, +++ grub_file_t hdr) ++ { ++ struct grub_luks_phdr header; ++ grub_size_t keysize; ++@@ -321,8 +334,19 @@ luks_recover_key (grub_disk_t source, ++ grub_err_t err; ++ grub_size_t max_stripes = 1; ++ char *tmp; +++ grub_uint32_t sector; +++ +++ err = GRUB_ERR_NONE; +++ +++ if (hdr) +++ { +++ grub_file_seek (hdr, 0); +++ if (grub_file_read (hdr, &header, sizeof (header)) != sizeof (header)) +++ err = GRUB_ERR_READ_ERROR; +++ } +++ else +++ err = grub_disk_read (source, 0, 0, sizeof (header), &header); ++ ++- err = grub_disk_read (source, 0, 0, sizeof (header), &header); ++ if (err) ++ return err; ++ ++@@ -391,13 +415,18 @@ luks_recover_key (grub_disk_t source, ++ return grub_crypto_gcry_error (gcry_err); ++ } ++ +++ sector = grub_be_to_cpu32 (header.keyblock[i].keyMaterialOffset); ++ length = (keysize * grub_be_to_cpu32 (header.keyblock[i].stripes)); ++ ++ /* Read and decrypt the key material from the disk. */ ++- err = grub_disk_read (source, ++- grub_be_to_cpu32 (header.keyblock ++- [i].keyMaterialOffset), 0, ++- length, split_key); +++ if (hdr) +++ { +++ grub_file_seek (hdr, sector * 512); +++ if (grub_file_read (hdr, split_key, length) != (grub_ssize_t)length) +++ err = GRUB_ERR_READ_ERROR; +++ } +++ else +++ err = grub_disk_read (source, sector, 0, length, split_key); ++ if (err) ++ { ++ grub_free (split_key); ++diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h ++index 32f564ae0..4e6e89a93 100644 ++--- a/include/grub/cryptodisk.h +++++ b/include/grub/cryptodisk.h ++@@ -20,6 +20,7 @@ ++ #define GRUB_CRYPTODISK_HEADER 1 ++ ++ #include +++#include ++ #include ++ #include ++ #ifdef GRUB_UTIL ++@@ -107,8 +108,8 @@ struct grub_cryptodisk_dev ++ struct grub_cryptodisk_dev **prev; ++ ++ grub_cryptodisk_t (*scan) (grub_disk_t disk, const char *check_uuid, ++- int boot_only); ++- grub_err_t (*recover_key) (grub_disk_t disk, grub_cryptodisk_t dev); +++ int boot_only, grub_file_t hdr); +++ grub_err_t (*recover_key) (grub_disk_t disk, grub_cryptodisk_t dev, grub_file_t hdr); ++ }; ++ typedef struct grub_cryptodisk_dev *grub_cryptodisk_dev_t; ++ ++-- ++2.16.2 ++ diff --git a/helpers/DATA/grub2/0002-Cryptomount-support-key-files.patch b/helpers/DATA/grub2/0002-Cryptomount-support-key-files.patch new file mode 100644 index 0000000..3106301 --- /dev/null +++ b/helpers/DATA/grub2/0002-Cryptomount-support-key-files.patch @@ -0,0 +1,211 @@ +diff --git a/0002-Cryptomount-support-key-files.patch b/0002-Cryptomount-support-key-files.patch +new file mode 100644 +index 00000000000..43af5ff3cbf +--- /dev/null ++++ b/0002-Cryptomount-support-key-files.patch +@@ -0,0 +1,205 @@ ++From df3aa34cc68b128c5441ee25ef092e6c2c87392e Mon Sep 17 00:00:00 2001 ++From: John Lane ++Date: Fri, 26 Jun 2015 13:37:10 +0100 ++Subject: [PATCH 2/7] Cryptomount support key files ++ ++--- ++ grub-core/disk/cryptodisk.c | 46 ++++++++++++++++++++++++++++++++++++++++++++- ++ grub-core/disk/geli.c | 4 +++- ++ grub-core/disk/luks.c | 44 +++++++++++++++++++++++++++++-------------- ++ include/grub/cryptodisk.h | 5 ++++- ++ 4 files changed, 82 insertions(+), 17 deletions(-) ++ ++diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c ++index 5230a5a9a..5261af547 100644 ++--- a/grub-core/disk/cryptodisk.c +++++ b/grub-core/disk/cryptodisk.c ++@@ -42,6 +42,9 @@ static const struct grub_arg_option options[] = ++ {"all", 'a', 0, N_("Mount all."), 0, 0}, ++ {"boot", 'b', 0, N_("Mount all volumes with `boot' flag set."), 0, 0}, ++ {"header", 'H', 0, N_("Read LUKS header from file"), 0, ARG_TYPE_STRING}, +++ {"keyfile", 'k', 0, N_("Key file"), 0, ARG_TYPE_STRING}, +++ {"keyfile-offset", 'O', 0, N_("Key file offset (bytes)"), 0, ARG_TYPE_INT}, +++ {"keyfile-size", 'S', 0, N_("Key file data size (bytes)"), 0, ARG_TYPE_INT}, ++ {0, 0, 0, 0, 0, 0} ++ }; ++ ++@@ -811,6 +814,8 @@ grub_util_cryptodisk_get_uuid (grub_disk_t disk) ++ static int check_boot, have_it; ++ static char *search_uuid; ++ static grub_file_t hdr; +++static grub_uint8_t *key, keyfile_buffer[GRUB_CRYPTODISK_MAX_KEYFILE_SIZE]; +++static grub_size_t keyfile_size; ++ ++ static void ++ cryptodisk_close (grub_cryptodisk_t dev) ++@@ -841,7 +846,7 @@ grub_cryptodisk_scan_device_real (const char *name, grub_disk_t source) ++ if (!dev) ++ continue; ++ ++- err = cr->recover_key (source, dev, hdr); +++ err = cr->recover_key (source, dev, hdr, key, keyfile_size); ++ if (err) ++ { ++ cryptodisk_close (dev); ++@@ -949,6 +954,45 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args) ++ hdr = NULL; ++ ++ have_it = 0; +++ key = NULL; +++ +++ if (state[4].set) /* Key file; fails back to passphrase entry */ +++ { +++ grub_file_t keyfile; +++ int keyfile_offset; +++ grub_size_t requested_keyfile_size; +++ +++ requested_keyfile_size = state[6].set ? grub_strtoul(state[6].arg, 0, 0) : 0; +++ +++ if (requested_keyfile_size > GRUB_CRYPTODISK_MAX_KEYFILE_SIZE) +++ grub_printf (N_("Key file size exceeds maximum (%llu)\n"), \ +++ (unsigned long long) GRUB_CRYPTODISK_MAX_KEYFILE_SIZE); +++ else +++ { +++ keyfile_offset = state[5].set ? grub_strtoul (state[5].arg, 0, 0) : 0; +++ keyfile_size = requested_keyfile_size ? requested_keyfile_size : \ +++ GRUB_CRYPTODISK_MAX_KEYFILE_SIZE; +++ +++ keyfile = grub_file_open (state[4].arg, GRUB_FILE_TYPE_NONE); +++ if (!keyfile) +++ grub_printf (N_("Unable to open key file %s\n"), state[4].arg); +++ else if (grub_file_seek (keyfile, keyfile_offset) == (grub_off_t)-1) +++ grub_printf (N_("Unable to seek to offset %d in key file\n"), keyfile_offset); +++ else +++ { +++ keyfile_size = grub_file_read (keyfile, keyfile_buffer, keyfile_size); +++ if (keyfile_size == (grub_size_t)-1) +++ grub_printf (N_("Error reading key file\n")); +++ else if (requested_keyfile_size && (keyfile_size != requested_keyfile_size)) +++ grub_printf (N_("Cannot read %llu bytes for key file (read %llu bytes)\n"), +++ (unsigned long long) requested_keyfile_size, +++ (unsigned long long) keyfile_size); +++ else +++ key = keyfile_buffer; +++ } +++ } +++ } +++ ++ if (state[0].set) ++ { ++ grub_cryptodisk_t dev; ++diff --git a/grub-core/disk/geli.c b/grub-core/disk/geli.c ++index f4394eb42..da6aa6a63 100644 ++--- a/grub-core/disk/geli.c +++++ b/grub-core/disk/geli.c ++@@ -401,7 +401,9 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ ++ static grub_err_t ++ recover_key (grub_disk_t source, grub_cryptodisk_t dev, ++- grub_file_t hdr __attribute__ ((unused)) ) +++ grub_file_t hdr __attribute__ ((unused)), +++ grub_uint8_t *key __attribute__ ((unused)), +++ grub_size_t keyfile_size __attribute__ ((unused)) ) ++ { ++ grub_size_t keysize; ++ grub_uint8_t digest[GRUB_CRYPTO_MAX_MDLEN]; ++diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c ++index 66e64c0e0..588236888 100644 ++--- a/grub-core/disk/luks.c +++++ b/grub-core/disk/luks.c ++@@ -322,12 +322,16 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ static grub_err_t ++ luks_recover_key (grub_disk_t source, ++ grub_cryptodisk_t dev, ++- grub_file_t hdr) +++ grub_file_t hdr, +++ grub_uint8_t *keyfile_bytes, +++ grub_size_t keyfile_bytes_size) ++ { ++ struct grub_luks_phdr header; ++ grub_size_t keysize; ++ grub_uint8_t *split_key = NULL; ++- char passphrase[MAX_PASSPHRASE] = ""; +++ char interactive_passphrase[MAX_PASSPHRASE] = ""; +++ grub_uint8_t *passphrase; +++ grub_size_t passphrase_length; ++ grub_uint8_t candidate_digest[sizeof (header.mkDigest)]; ++ unsigned i; ++ grub_size_t length; ++@@ -364,18 +368,30 @@ luks_recover_key (grub_disk_t source, ++ if (!split_key) ++ return grub_errno; ++ ++- /* Get the passphrase from the user. */ ++- tmp = NULL; ++- if (source->partition) ++- tmp = grub_partition_get_name (source->partition); ++- grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name, ++- source->partition ? "," : "", tmp ? : "", ++- dev->uuid); ++- grub_free (tmp); ++- if (!grub_password_get (passphrase, MAX_PASSPHRASE)) +++ if (keyfile_bytes) ++ { ++- grub_free (split_key); ++- return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); +++ /* Use bytestring from key file as passphrase */ +++ passphrase = keyfile_bytes; +++ passphrase_length = keyfile_bytes_size; +++ } +++ else +++ { +++ /* Get the passphrase from the user. */ +++ tmp = NULL; +++ if (source->partition) +++ tmp = grub_partition_get_name (source->partition); +++ grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name, +++ source->partition ? "," : "", tmp ? : "", dev->uuid); +++ grub_free (tmp); +++ if (!grub_password_get (interactive_passphrase, MAX_PASSPHRASE)) +++ { +++ grub_free (split_key); +++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); +++ } +++ +++ passphrase = (grub_uint8_t *)interactive_passphrase; +++ passphrase_length = grub_strlen (interactive_passphrase); +++ ++ } ++ ++ /* Try to recover master key from each active keyslot. */ ++@@ -393,7 +409,7 @@ luks_recover_key (grub_disk_t source, ++ ++ /* Calculate the PBKDF2 of the user supplied passphrase. */ ++ gcry_err = grub_crypto_pbkdf2 (dev->hash, (grub_uint8_t *) passphrase, ++- grub_strlen (passphrase), +++ passphrase_length, ++ header.keyblock[i].passwordSalt, ++ sizeof (header.keyblock[i].passwordSalt), ++ grub_be_to_cpu32 (header.keyblock[i]. ++diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h ++index 4e6e89a93..67f6b0b59 100644 ++--- a/include/grub/cryptodisk.h +++++ b/include/grub/cryptodisk.h ++@@ -55,6 +55,8 @@ typedef enum ++ #define GRUB_CRYPTODISK_GF_BYTES (1U << GRUB_CRYPTODISK_GF_LOG_BYTES) ++ #define GRUB_CRYPTODISK_MAX_KEYLEN 128 ++ +++#define GRUB_CRYPTODISK_MAX_KEYFILE_SIZE 8192 +++ ++ struct grub_cryptodisk; ++ ++ typedef gcry_err_code_t ++@@ -109,7 +111,8 @@ struct grub_cryptodisk_dev ++ ++ grub_cryptodisk_t (*scan) (grub_disk_t disk, const char *check_uuid, ++ int boot_only, grub_file_t hdr); ++- grub_err_t (*recover_key) (grub_disk_t disk, grub_cryptodisk_t dev, grub_file_t hdr); +++ grub_err_t (*recover_key) (grub_disk_t disk, grub_cryptodisk_t dev, +++ grub_file_t hdr, grub_uint8_t *key, grub_size_t keyfile_size); ++ }; ++ typedef struct grub_cryptodisk_dev *grub_cryptodisk_dev_t; ++ ++-- ++2.16.2 ++ diff --git a/helpers/DATA/grub2/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch b/helpers/DATA/grub2/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch new file mode 100644 index 0000000..f6df274 --- /dev/null +++ b/helpers/DATA/grub2/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch @@ -0,0 +1,335 @@ +diff --git a/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch b/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch +new file mode 100644 +index 00000000000..19ffed89ca8 +--- /dev/null ++++ b/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch +@@ -0,0 +1,329 @@ ++From d055c1e314fa37957f169e08bea9d19c4417ed21 Mon Sep 17 00:00:00 2001 ++From: John Lane ++Date: Fri, 26 Jun 2015 13:49:58 +0100 ++Subject: [PATCH 3/7] cryptomount luks allow multiple passphrase attempts ++ ++--- ++ grub-core/disk/luks.c | 278 ++++++++++++++++++++++++++------------------------ ++ 1 file changed, 143 insertions(+), 135 deletions(-) ++ ++diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c ++index 588236888..11e437edb 100644 ++--- a/grub-core/disk/luks.c +++++ b/grub-core/disk/luks.c ++@@ -321,10 +321,10 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ ++ static grub_err_t ++ luks_recover_key (grub_disk_t source, ++- grub_cryptodisk_t dev, ++- grub_file_t hdr, ++- grub_uint8_t *keyfile_bytes, ++- grub_size_t keyfile_bytes_size) +++ grub_cryptodisk_t dev, +++ grub_file_t hdr, +++ grub_uint8_t *keyfile_bytes, +++ grub_size_t keyfile_bytes_size) ++ { ++ struct grub_luks_phdr header; ++ grub_size_t keysize; ++@@ -339,6 +339,7 @@ luks_recover_key (grub_disk_t source, ++ grub_size_t max_stripes = 1; ++ char *tmp; ++ grub_uint32_t sector; +++ unsigned attempts = 2; ++ ++ err = GRUB_ERR_NONE; ++ ++@@ -361,151 +362,158 @@ luks_recover_key (grub_disk_t source, ++ ++ for (i = 0; i < ARRAY_SIZE (header.keyblock); i++) ++ if (grub_be_to_cpu32 (header.keyblock[i].active) == LUKS_KEY_ENABLED ++- && grub_be_to_cpu32 (header.keyblock[i].stripes) > max_stripes) +++ && grub_be_to_cpu32 (header.keyblock[i].stripes) > max_stripes) ++ max_stripes = grub_be_to_cpu32 (header.keyblock[i].stripes); ++ ++ split_key = grub_malloc (keysize * max_stripes); ++ if (!split_key) ++ return grub_errno; ++ ++- if (keyfile_bytes) +++ while (attempts) ++ { ++- /* Use bytestring from key file as passphrase */ ++- passphrase = keyfile_bytes; ++- passphrase_length = keyfile_bytes_size; ++- } ++- else ++- { ++- /* Get the passphrase from the user. */ ++- tmp = NULL; ++- if (source->partition) ++- tmp = grub_partition_get_name (source->partition); ++- grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name, ++- source->partition ? "," : "", tmp ? : "", dev->uuid); ++- grub_free (tmp); ++- if (!grub_password_get (interactive_passphrase, MAX_PASSPHRASE)) +++ if (keyfile_bytes) ++ { ++- grub_free (split_key); ++- return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); ++- } ++- ++- passphrase = (grub_uint8_t *)interactive_passphrase; ++- passphrase_length = grub_strlen (interactive_passphrase); ++- ++- } ++- ++- /* Try to recover master key from each active keyslot. */ ++- for (i = 0; i < ARRAY_SIZE (header.keyblock); i++) ++- { ++- gcry_err_code_t gcry_err; ++- grub_uint8_t candidate_key[GRUB_CRYPTODISK_MAX_KEYLEN]; ++- grub_uint8_t digest[GRUB_CRYPTODISK_MAX_KEYLEN]; ++- ++- /* Check if keyslot is enabled. */ ++- if (grub_be_to_cpu32 (header.keyblock[i].active) != LUKS_KEY_ENABLED) ++- continue; ++- ++- grub_dprintf ("luks", "Trying keyslot %d\n", i); ++- ++- /* Calculate the PBKDF2 of the user supplied passphrase. */ ++- gcry_err = grub_crypto_pbkdf2 (dev->hash, (grub_uint8_t *) passphrase, ++- passphrase_length, ++- header.keyblock[i].passwordSalt, ++- sizeof (header.keyblock[i].passwordSalt), ++- grub_be_to_cpu32 (header.keyblock[i]. ++- passwordIterations), ++- digest, keysize); ++- ++- if (gcry_err) ++- { ++- grub_free (split_key); ++- return grub_crypto_gcry_error (gcry_err); ++- } ++- ++- grub_dprintf ("luks", "PBKDF2 done\n"); ++- ++- gcry_err = grub_cryptodisk_setkey (dev, digest, keysize); ++- if (gcry_err) ++- { ++- grub_free (split_key); ++- return grub_crypto_gcry_error (gcry_err); ++- } ++- ++- sector = grub_be_to_cpu32 (header.keyblock[i].keyMaterialOffset); ++- length = (keysize * grub_be_to_cpu32 (header.keyblock[i].stripes)); ++- ++- /* Read and decrypt the key material from the disk. */ ++- if (hdr) ++- { ++- grub_file_seek (hdr, sector * 512); ++- if (grub_file_read (hdr, split_key, length) != (grub_ssize_t)length) ++- err = GRUB_ERR_READ_ERROR; +++ /* Use bytestring from key file as passphrase */ +++ passphrase = keyfile_bytes; +++ passphrase_length = keyfile_bytes_size; +++ keyfile_bytes = NULL; /* use it only once */ ++ } ++ else ++- err = grub_disk_read (source, sector, 0, length, split_key); ++- if (err) ++- { ++- grub_free (split_key); ++- return err; ++- } ++- ++- gcry_err = grub_cryptodisk_decrypt (dev, split_key, length, 0); ++- if (gcry_err) ++- { ++- grub_free (split_key); ++- return grub_crypto_gcry_error (gcry_err); ++- } ++- ++- /* Merge the decrypted key material to get the candidate master key. */ ++- gcry_err = AF_merge (dev->hash, split_key, candidate_key, keysize, ++- grub_be_to_cpu32 (header.keyblock[i].stripes)); ++- if (gcry_err) ++- { ++- grub_free (split_key); ++- return grub_crypto_gcry_error (gcry_err); ++- } ++- ++- grub_dprintf ("luks", "candidate key recovered\n"); ++- ++- /* Calculate the PBKDF2 of the candidate master key. */ ++- gcry_err = grub_crypto_pbkdf2 (dev->hash, candidate_key, ++- grub_be_to_cpu32 (header.keyBytes), ++- header.mkDigestSalt, ++- sizeof (header.mkDigestSalt), ++- grub_be_to_cpu32 ++- (header.mkDigestIterations), ++- candidate_digest, ++- sizeof (candidate_digest)); ++- if (gcry_err) ++- { ++- grub_free (split_key); ++- return grub_crypto_gcry_error (gcry_err); ++- } ++- ++- /* Compare the calculated PBKDF2 to the digest stored ++- in the header to see if it's correct. */ ++- if (grub_memcmp (candidate_digest, header.mkDigest, ++- sizeof (header.mkDigest)) != 0) ++- { ++- grub_dprintf ("luks", "bad digest\n"); ++- continue; ++- } +++ { +++ /* Get the passphrase from the user. */ +++ tmp = NULL; +++ if (source->partition) +++ tmp = grub_partition_get_name (source->partition); +++ grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name, +++ source->partition ? "," : "", tmp ? : "", dev->uuid); +++ grub_free (tmp); +++ if (!grub_password_get (interactive_passphrase, MAX_PASSPHRASE)) +++ { +++ grub_free (split_key); +++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); +++ } +++ +++ passphrase = (grub_uint8_t *)interactive_passphrase; +++ passphrase_length = grub_strlen (interactive_passphrase); ++ ++- /* TRANSLATORS: It's a cryptographic key slot: one element of an array ++- where each element is either empty or holds a key. */ ++- grub_printf_ (N_("Slot %d opened\n"), i); +++ } ++ ++- /* Set the master key. */ ++- gcry_err = grub_cryptodisk_setkey (dev, candidate_key, keysize); ++- if (gcry_err) ++- { ++- grub_free (split_key); ++- return grub_crypto_gcry_error (gcry_err); ++- } +++ /* Try to recover master key from each active keyslot. */ +++ for (i = 0; i < ARRAY_SIZE (header.keyblock); i++) +++ { +++ gcry_err_code_t gcry_err; +++ grub_uint8_t candidate_key[GRUB_CRYPTODISK_MAX_KEYLEN]; +++ grub_uint8_t digest[GRUB_CRYPTODISK_MAX_KEYLEN]; +++ +++ /* Check if keyslot is enabled. */ +++ if (grub_be_to_cpu32 (header.keyblock[i].active) != LUKS_KEY_ENABLED) +++ continue; +++ +++ grub_dprintf ("luks", "Trying keyslot %d\n", i); +++ +++ /* Calculate the PBKDF2 of the user supplied passphrase. */ +++ gcry_err = grub_crypto_pbkdf2 (dev->hash, (grub_uint8_t *) passphrase, +++ passphrase_length, +++ header.keyblock[i].passwordSalt, +++ sizeof (header.keyblock[i].passwordSalt), +++ grub_be_to_cpu32 (header.keyblock[i]. +++ passwordIterations), +++ digest, keysize); +++ +++ if (gcry_err) +++ { +++ grub_free (split_key); +++ return grub_crypto_gcry_error (gcry_err); +++ } +++ +++ grub_dprintf ("luks", "PBKDF2 done\n"); +++ +++ gcry_err = grub_cryptodisk_setkey (dev, digest, keysize); +++ if (gcry_err) +++ { +++ grub_free (split_key); +++ return grub_crypto_gcry_error (gcry_err); +++ } +++ +++ sector = grub_be_to_cpu32 (header.keyblock[i].keyMaterialOffset); +++ length = (keysize * grub_be_to_cpu32 (header.keyblock[i].stripes)); +++ +++ /* Read and decrypt the key material from the disk. */ +++ if (hdr) +++ { +++ grub_file_seek (hdr, sector * 512); +++ if (grub_file_read (hdr, split_key, length) != (grub_ssize_t)length) +++ err = GRUB_ERR_READ_ERROR; +++ } +++ else +++ err = grub_disk_read (source, sector, 0, length, split_key); +++ if (err) +++ { +++ grub_free (split_key); +++ return err; +++ } +++ +++ gcry_err = grub_cryptodisk_decrypt (dev, split_key, length, 0); +++ if (gcry_err) +++ { +++ grub_free (split_key); +++ return grub_crypto_gcry_error (gcry_err); +++ } +++ +++ /* Merge the decrypted key material to get the candidate master key. */ +++ gcry_err = AF_merge (dev->hash, split_key, candidate_key, keysize, +++ grub_be_to_cpu32 (header.keyblock[i].stripes)); +++ if (gcry_err) +++ { +++ grub_free (split_key); +++ return grub_crypto_gcry_error (gcry_err); +++ } +++ +++ grub_dprintf ("luks", "candidate key recovered\n"); +++ +++ /* Calculate the PBKDF2 of the candidate master key. */ +++ gcry_err = grub_crypto_pbkdf2 (dev->hash, candidate_key, +++ grub_be_to_cpu32 (header.keyBytes), +++ header.mkDigestSalt, +++ sizeof (header.mkDigestSalt), +++ grub_be_to_cpu32 +++ (header.mkDigestIterations), +++ candidate_digest, +++ sizeof (candidate_digest)); +++ if (gcry_err) +++ { +++ grub_free (split_key); +++ return grub_crypto_gcry_error (gcry_err); +++ } +++ +++ /* Compare the calculated PBKDF2 to the digest stored +++ in the header to see if it's correct. */ +++ if (grub_memcmp (candidate_digest, header.mkDigest, +++ sizeof (header.mkDigest)) != 0) +++ { +++ grub_dprintf ("luks", "bad digest\n"); +++ continue; +++ } +++ +++ /* TRANSLATORS: It's a cryptographic key slot: one element of an array +++ where each element is either empty or holds a key. */ +++ grub_printf_ (N_("Slot %d opened\n"), i); +++ +++ /* Set the master key. */ +++ gcry_err = grub_cryptodisk_setkey (dev, candidate_key, keysize); +++ if (gcry_err) +++ { +++ grub_free (split_key); +++ return grub_crypto_gcry_error (gcry_err); +++ } ++ ++- grub_free (split_key); +++ grub_free (split_key); ++ ++- return GRUB_ERR_NONE; +++ return GRUB_ERR_NONE; +++ } +++ grub_printf_ (N_("Failed to decrypt master key.\n")); +++ if (--attempts) grub_printf_ (N_("%u attempt%s remaining.\n"), attempts, +++ (attempts==1) ? "" : "s"); ++ } ++ ++ grub_free (split_key); ++-- ++2.16.2 ++ diff --git a/helpers/DATA/grub2/0004-Cryptomount-support-plain-dm-crypt.patch b/helpers/DATA/grub2/0004-Cryptomount-support-plain-dm-crypt.patch new file mode 100644 index 0000000..325186e --- /dev/null +++ b/helpers/DATA/grub2/0004-Cryptomount-support-plain-dm-crypt.patch @@ -0,0 +1,650 @@ +diff --git a/0004-Cryptomount-support-plain-dm-crypt.patch b/0004-Cryptomount-support-plain-dm-crypt.patch +new file mode 100644 +index 00000000000..34c10d7216b +--- /dev/null ++++ b/0004-Cryptomount-support-plain-dm-crypt.patch +@@ -0,0 +1,644 @@ ++From a8f9e3dcece89c179e89414abe89985c7ab1e03f Mon Sep 17 00:00:00 2001 ++From: John Lane ++Date: Fri, 26 Jun 2015 22:09:52 +0100 ++Subject: [PATCH 4/7] Cryptomount support plain dm-crypt ++ ++Patch modified to take into account a change to context ++brought about by c93d3e694713b8230fa2cf88414fabe005b56782 ++ ++grub-core/disk/cryptodisk.c ++142c142 ++< if (disklast) ++--- ++> ++--- ++ grub-core/disk/cryptodisk.c | 298 +++++++++++++++++++++++++++++++++++++++++++- ++ grub-core/disk/luks.c | 195 +---------------------------- ++ include/grub/cryptodisk.h | 8 ++ ++ 3 files changed, 310 insertions(+), 191 deletions(-) ++ ++diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c ++index 5261af547..7f656f75c 100644 ++--- a/grub-core/disk/cryptodisk.c +++++ b/grub-core/disk/cryptodisk.c ++@@ -45,6 +45,12 @@ static const struct grub_arg_option options[] = ++ {"keyfile", 'k', 0, N_("Key file"), 0, ARG_TYPE_STRING}, ++ {"keyfile-offset", 'O', 0, N_("Key file offset (bytes)"), 0, ARG_TYPE_INT}, ++ {"keyfile-size", 'S', 0, N_("Key file data size (bytes)"), 0, ARG_TYPE_INT}, +++ {"plain", 'p', 0, N_("Plain (no LUKS header)"), 0, ARG_TYPE_NONE}, +++ {"cipher", 'c', 0, N_("Plain mode cipher"), 0, ARG_TYPE_STRING}, +++ {"digest", 'd', 0, N_("Plain mode passphrase digest (hash)"), 0, ARG_TYPE_STRING}, +++ {"offset", 'o', 0, N_("Plain mode data sector offset"), 0, ARG_TYPE_INT}, +++ {"size", 's', 0, N_("Size of raw device (sectors, defaults to whole device)"), 0, ARG_TYPE_INT}, +++ {"key-size", 'K', 0, N_("Set key size (bits)"), 0, ARG_TYPE_INT}, ++ {0, 0, 0, 0, 0, 0} ++ }; ++ ++@@ -933,6 +939,48 @@ grub_cryptodisk_scan_device (const char *name, ++ return have_it && search_uuid ? 1 : 0; ++ } ++ +++/* Hashes a passphrase into a key and stores it with cipher. */ +++static gcry_err_code_t +++set_passphrase (grub_cryptodisk_t dev, grub_size_t keysize, const char *passphrase) +++{ +++ grub_uint8_t derived_hash[GRUB_CRYPTODISK_MAX_KEYLEN * 2], *dh = derived_hash; +++ char *p; +++ unsigned int round, i; +++ unsigned int len, size; +++ +++ /* Need no passphrase if there's no key */ +++ if (keysize == 0) +++ return GPG_ERR_INV_KEYLEN; +++ +++ /* Hack to support the "none" hash */ +++ if (dev->hash) +++ len = dev->hash->mdlen; +++ else +++ len = grub_strlen (passphrase); +++ +++ if (keysize > GRUB_CRYPTODISK_MAX_KEYLEN || len > GRUB_CRYPTODISK_MAX_KEYLEN) +++ return GPG_ERR_INV_KEYLEN; +++ +++ p = grub_malloc (grub_strlen (passphrase) + 2 + keysize / len); +++ if (!p) +++ return grub_errno; +++ +++ for (round = 0, size = keysize; size; round++, dh += len, size -= len) +++ { +++ for (i = 0; i < round; i++) +++ p[i] = 'A'; +++ +++ grub_strcpy (p + i, passphrase); +++ +++ if (len > size) +++ len = size; +++ +++ grub_crypto_hash (dev->hash, dh, p, grub_strlen (p)); +++ } +++ +++ return grub_cryptodisk_setkey (dev, derived_hash, keysize); +++} +++ ++ static grub_err_t ++ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args) ++ { ++@@ -1060,7 +1108,63 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args) ++ return GRUB_ERR_NONE; ++ } ++ ++- err = grub_cryptodisk_scan_device_real (diskname, disk); +++ if (state[7].set) /* Plain mode */ +++ { +++ char *cipher; +++ char *mode; +++ char *digest; +++ int offset, size, key_size; +++ +++ cipher = grub_strdup (state[8].set ? state[8].arg : GRUB_CRYPTODISK_PLAIN_CIPHER); +++ digest = grub_strdup (state[9].set ? state[9].arg : GRUB_CRYPTODISK_PLAIN_DIGEST); +++ offset = state[10].set ? grub_strtoul (state[10].arg, 0, 0) : 0; +++ size = state[11].set ? grub_strtoul (state[11].arg, 0, 0) : 0; +++ key_size = ( state[12].set ? grub_strtoul (state[12].arg, 0, 0) \ +++ : GRUB_CRYPTODISK_PLAIN_KEYSIZE ) / 8; +++ +++ /* no strtok, do it manually */ +++ mode = grub_strchr(cipher,'-'); +++ if (!mode) +++ return GRUB_ERR_BAD_ARGUMENT; +++ else +++ *mode++ = 0; +++ +++ dev = grub_cryptodisk_create (disk, NULL, cipher, mode, digest); +++ +++ dev->offset = offset; +++ if (size) dev->total_length = size; +++ +++ if (key) +++ { +++ err = grub_cryptodisk_setkey (dev, key, key_size); +++ if (err) +++ return err; +++ } +++ else +++ { +++ char passphrase[GRUB_CRYPTODISK_MAX_PASSPHRASE] = ""; +++ +++ grub_printf_ (N_("Enter passphrase for %s: "), diskname); +++ if (!grub_password_get (passphrase, GRUB_CRYPTODISK_MAX_PASSPHRASE)) +++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); +++ +++ err = set_passphrase (dev, key_size, passphrase); +++ if (err) +++ { +++ grub_crypto_cipher_close (dev->cipher); +++ return err; +++ } +++ } +++ +++ grub_cryptodisk_insert (dev, diskname, disk); +++ +++ grub_free (cipher); +++ grub_free (digest); +++ +++ err = GRUB_ERR_NONE; +++ } +++ else +++ err = grub_cryptodisk_scan_device_real (diskname, disk); ++ ++ grub_disk_close (disk); ++ if (disklast) ++@@ -1193,13 +1297,203 @@ struct grub_procfs_entry luks_script = ++ .get_contents = luks_script_get ++ }; ++ +++grub_cryptodisk_t +++grub_cryptodisk_create (grub_disk_t disk, char *uuid, +++ char *ciphername, char *ciphermode, char *hashspec) +++{ +++ grub_cryptodisk_t newdev; +++ char *cipheriv = NULL; +++ grub_crypto_cipher_handle_t cipher = NULL, secondary_cipher = NULL; +++ grub_crypto_cipher_handle_t essiv_cipher = NULL; +++ const gcry_md_spec_t *hash = NULL, *essiv_hash = NULL; +++ const struct gcry_cipher_spec *ciph; +++ grub_cryptodisk_mode_t mode; +++ grub_cryptodisk_mode_iv_t mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64; +++ int benbi_log = 0; +++ +++ if (!uuid) +++ uuid = (char*)"00000000000000000000000000000000"; +++ +++ ciph = grub_crypto_lookup_cipher_by_name (ciphername); +++ if (!ciph) +++ { +++ grub_error (GRUB_ERR_FILE_NOT_FOUND, "Cipher %s isn't available", +++ ciphername); +++ return NULL; +++ } +++ +++ /* Configure the cipher used for the bulk data. */ +++ cipher = grub_crypto_cipher_open (ciph); +++ if (!cipher) +++ return NULL; +++ +++ /* Configure the cipher mode. */ +++ if (grub_strcmp (ciphermode, "ecb") == 0) +++ { +++ mode = GRUB_CRYPTODISK_MODE_ECB; +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; +++ cipheriv = NULL; +++ } +++ else if (grub_strcmp (ciphermode, "plain") == 0) +++ { +++ mode = GRUB_CRYPTODISK_MODE_CBC; +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; +++ cipheriv = NULL; +++ } +++ else if (grub_memcmp (ciphermode, "cbc-", sizeof ("cbc-") - 1) == 0) +++ { +++ mode = GRUB_CRYPTODISK_MODE_CBC; +++ cipheriv = ciphermode + sizeof ("cbc-") - 1; +++ } +++ else if (grub_memcmp (ciphermode, "pcbc-", sizeof ("pcbc-") - 1) == 0) +++ { +++ mode = GRUB_CRYPTODISK_MODE_PCBC; +++ cipheriv = ciphermode + sizeof ("pcbc-") - 1; +++ } +++ else if (grub_memcmp (ciphermode, "xts-", sizeof ("xts-") - 1) == 0) +++ { +++ mode = GRUB_CRYPTODISK_MODE_XTS; +++ cipheriv = ciphermode + sizeof ("xts-") - 1; +++ secondary_cipher = grub_crypto_cipher_open (ciph); +++ if (!secondary_cipher) +++ { +++ grub_crypto_cipher_close (cipher); +++ return NULL; +++ } +++ if (cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES) +++ { +++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported XTS block size: %d", +++ cipher->cipher->blocksize); +++ grub_crypto_cipher_close (cipher); +++ grub_crypto_cipher_close (secondary_cipher); +++ return NULL; +++ } +++ if (secondary_cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES) +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported XTS block size: %d", +++ secondary_cipher->cipher->blocksize); +++ grub_crypto_cipher_close (secondary_cipher); +++ return NULL; +++ } +++ } +++ else if (grub_memcmp (ciphermode, "lrw-", sizeof ("lrw-") - 1) == 0) +++ { +++ mode = GRUB_CRYPTODISK_MODE_LRW; +++ cipheriv = ciphermode + sizeof ("lrw-") - 1; +++ if (cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES) +++ { +++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported LRW block size: %d", +++ cipher->cipher->blocksize); +++ grub_crypto_cipher_close (cipher); +++ return NULL; +++ } +++ } +++ else +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unknown cipher mode: %s", +++ ciphermode); +++ return NULL; +++ } +++ +++ if (cipheriv == NULL); +++ else if (grub_memcmp (cipheriv, "plain", sizeof ("plain") - 1) == 0) +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; +++ else if (grub_memcmp (cipheriv, "plain64", sizeof ("plain64") - 1) == 0) +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64; +++ else if (grub_memcmp (cipheriv, "benbi", sizeof ("benbi") - 1) == 0) +++ { +++ if (cipher->cipher->blocksize & (cipher->cipher->blocksize - 1) +++ || cipher->cipher->blocksize == 0) +++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported benbi blocksize: %d", +++ cipher->cipher->blocksize); +++ /* FIXME should we return an error here? */ +++ for (benbi_log = 0; +++ (cipher->cipher->blocksize << benbi_log) < GRUB_DISK_SECTOR_SIZE; +++ benbi_log++); +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_BENBI; +++ } +++ else if (grub_memcmp (cipheriv, "null", sizeof ("null") - 1) == 0) +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_NULL; +++ else if (grub_memcmp (cipheriv, "essiv:", sizeof ("essiv:") - 1) == 0) +++ { +++ char *hash_str = cipheriv + 6; +++ +++ mode_iv = GRUB_CRYPTODISK_MODE_IV_ESSIV; +++ +++ /* Configure the hash and cipher used for ESSIV. */ +++ essiv_hash = grub_crypto_lookup_md_by_name (hash_str); +++ if (!essiv_hash) +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_crypto_cipher_close (secondary_cipher); +++ grub_error (GRUB_ERR_FILE_NOT_FOUND, +++ "Couldn't load %s hash", hash_str); +++ return NULL; +++ } +++ essiv_cipher = grub_crypto_cipher_open (ciph); +++ if (!essiv_cipher) +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_crypto_cipher_close (secondary_cipher); +++ return NULL; +++ } +++ } +++ else +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_crypto_cipher_close (secondary_cipher); +++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unknown IV mode: %s", +++ cipheriv); +++ return NULL; +++ } +++ +++ /* Configure the passphrase hash (LUKS also uses AF splitter and HMAC). */ +++ hash = grub_crypto_lookup_md_by_name (hashspec); +++ if (!hash) +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_crypto_cipher_close (essiv_cipher); +++ grub_crypto_cipher_close (secondary_cipher); +++ grub_error (GRUB_ERR_FILE_NOT_FOUND, "Couldn't load %s hash", +++ hashspec); +++ return NULL; +++ } +++ +++ newdev = grub_zalloc (sizeof (struct grub_cryptodisk)); +++ if (!newdev) +++ { +++ grub_crypto_cipher_close (cipher); +++ grub_crypto_cipher_close (essiv_cipher); +++ grub_crypto_cipher_close (secondary_cipher); +++ return NULL; +++ } +++ newdev->cipher = cipher; +++ newdev->offset = 0; +++ newdev->source_disk = NULL; +++ newdev->benbi_log = benbi_log; +++ newdev->mode = mode; +++ newdev->mode_iv = mode_iv; +++ newdev->secondary_cipher = secondary_cipher; +++ newdev->essiv_cipher = essiv_cipher; +++ newdev->essiv_hash = essiv_hash; +++ newdev->hash = hash; +++ newdev->log_sector_size = 9; +++ newdev->total_length = grub_disk_get_size (disk) - newdev->offset; +++ grub_memcpy (newdev->uuid, uuid, sizeof (newdev->uuid)); +++ COMPILE_TIME_ASSERT (sizeof (newdev->uuid) >= sizeof (uuid)); +++ +++ return newdev; +++} +++ ++ static grub_extcmd_t cmd; ++ ++ GRUB_MOD_INIT (cryptodisk) ++ { ++ grub_disk_dev_register (&grub_cryptodisk_dev); ++ cmd = grub_register_extcmd ("cryptomount", grub_cmd_cryptomount, 0, ++- N_("SOURCE|-u UUID|-a|-b|-H file"), +++ N_("SOURCE|-u UUID|-a|-b|-H file|-p -c cipher -d digest"), ++ N_("Mount a crypto device."), options); ++ grub_procfs_register ("luks_script", &luks_script); ++ } ++diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c ++index 11e437edb..4ebe21b4e 100644 ++--- a/grub-core/disk/luks.c +++++ b/grub-core/disk/luks.c ++@@ -30,8 +30,6 @@ ++ ++ GRUB_MOD_LICENSE ("GPLv3+"); ++ ++-#define MAX_PASSPHRASE 256 ++- ++ #define LUKS_KEY_ENABLED 0x00AC71F3 ++ ++ /* On disk LUKS header */ ++@@ -76,15 +74,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ char uuid[sizeof (header.uuid) + 1]; ++ char ciphername[sizeof (header.cipherName) + 1]; ++ char ciphermode[sizeof (header.cipherMode) + 1]; ++- char *cipheriv = NULL; ++ char hashspec[sizeof (header.hashSpec) + 1]; ++- grub_crypto_cipher_handle_t cipher = NULL, secondary_cipher = NULL; ++- grub_crypto_cipher_handle_t essiv_cipher = NULL; ++- const gcry_md_spec_t *hash = NULL, *essiv_hash = NULL; ++- const struct gcry_cipher_spec *ciph; ++- grub_cryptodisk_mode_t mode; ++- grub_cryptodisk_mode_iv_t mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64; ++- int benbi_log = 0; ++ grub_err_t err; ++ ++ err = GRUB_ERR_NONE; ++@@ -119,7 +109,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ iptr++) ++ { ++ if (*iptr != '-') ++- *optr++ = *iptr; +++ *optr++ = *iptr; ++ } ++ *optr = 0; ++ ++@@ -129,6 +119,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ return NULL; ++ } ++ +++ ++ /* Make sure that strings are null terminated. */ ++ grub_memcpy (ciphername, header.cipherName, sizeof (header.cipherName)); ++ ciphername[sizeof (header.cipherName)] = 0; ++@@ -137,184 +128,10 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ grub_memcpy (hashspec, header.hashSpec, sizeof (header.hashSpec)); ++ hashspec[sizeof (header.hashSpec)] = 0; ++ ++- ciph = grub_crypto_lookup_cipher_by_name (ciphername); ++- if (!ciph) ++- { ++- grub_error (GRUB_ERR_FILE_NOT_FOUND, "Cipher %s isn't available", ++- ciphername); ++- return NULL; ++- } ++- ++- /* Configure the cipher used for the bulk data. */ ++- cipher = grub_crypto_cipher_open (ciph); ++- if (!cipher) ++- return NULL; ++- ++- if (grub_be_to_cpu32 (header.keyBytes) > 1024) ++- { ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "invalid keysize %d", ++- grub_be_to_cpu32 (header.keyBytes)); ++- grub_crypto_cipher_close (cipher); ++- return NULL; ++- } ++- ++- /* Configure the cipher mode. */ ++- if (grub_strcmp (ciphermode, "ecb") == 0) ++- { ++- mode = GRUB_CRYPTODISK_MODE_ECB; ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; ++- cipheriv = NULL; ++- } ++- else if (grub_strcmp (ciphermode, "plain") == 0) ++- { ++- mode = GRUB_CRYPTODISK_MODE_CBC; ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; ++- cipheriv = NULL; ++- } ++- else if (grub_memcmp (ciphermode, "cbc-", sizeof ("cbc-") - 1) == 0) ++- { ++- mode = GRUB_CRYPTODISK_MODE_CBC; ++- cipheriv = ciphermode + sizeof ("cbc-") - 1; ++- } ++- else if (grub_memcmp (ciphermode, "pcbc-", sizeof ("pcbc-") - 1) == 0) ++- { ++- mode = GRUB_CRYPTODISK_MODE_PCBC; ++- cipheriv = ciphermode + sizeof ("pcbc-") - 1; ++- } ++- else if (grub_memcmp (ciphermode, "xts-", sizeof ("xts-") - 1) == 0) ++- { ++- mode = GRUB_CRYPTODISK_MODE_XTS; ++- cipheriv = ciphermode + sizeof ("xts-") - 1; ++- secondary_cipher = grub_crypto_cipher_open (ciph); ++- if (!secondary_cipher) ++- { ++- grub_crypto_cipher_close (cipher); ++- return NULL; ++- } ++- if (cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES) ++- { ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported XTS block size: %d", ++- cipher->cipher->blocksize); ++- grub_crypto_cipher_close (cipher); ++- grub_crypto_cipher_close (secondary_cipher); ++- return NULL; ++- } ++- if (secondary_cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES) ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported XTS block size: %d", ++- secondary_cipher->cipher->blocksize); ++- grub_crypto_cipher_close (secondary_cipher); ++- return NULL; ++- } ++- } ++- else if (grub_memcmp (ciphermode, "lrw-", sizeof ("lrw-") - 1) == 0) ++- { ++- mode = GRUB_CRYPTODISK_MODE_LRW; ++- cipheriv = ciphermode + sizeof ("lrw-") - 1; ++- if (cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES) ++- { ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported LRW block size: %d", ++- cipher->cipher->blocksize); ++- grub_crypto_cipher_close (cipher); ++- return NULL; ++- } ++- } ++- else ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unknown cipher mode: %s", ++- ciphermode); ++- return NULL; ++- } ++- ++- if (cipheriv == NULL); ++- else if (grub_memcmp (cipheriv, "plain", sizeof ("plain") - 1) == 0) ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; ++- else if (grub_memcmp (cipheriv, "plain64", sizeof ("plain64") - 1) == 0) ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64; ++- else if (grub_memcmp (cipheriv, "benbi", sizeof ("benbi") - 1) == 0) ++- { ++- if (cipher->cipher->blocksize & (cipher->cipher->blocksize - 1) ++- || cipher->cipher->blocksize == 0) ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported benbi blocksize: %d", ++- cipher->cipher->blocksize); ++- /* FIXME should we return an error here? */ ++- for (benbi_log = 0; ++- (cipher->cipher->blocksize << benbi_log) < GRUB_DISK_SECTOR_SIZE; ++- benbi_log++); ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_BENBI; ++- } ++- else if (grub_memcmp (cipheriv, "null", sizeof ("null") - 1) == 0) ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_NULL; ++- else if (grub_memcmp (cipheriv, "essiv:", sizeof ("essiv:") - 1) == 0) ++- { ++- char *hash_str = cipheriv + 6; ++- ++- mode_iv = GRUB_CRYPTODISK_MODE_IV_ESSIV; ++- ++- /* Configure the hash and cipher used for ESSIV. */ ++- essiv_hash = grub_crypto_lookup_md_by_name (hash_str); ++- if (!essiv_hash) ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_crypto_cipher_close (secondary_cipher); ++- grub_error (GRUB_ERR_FILE_NOT_FOUND, ++- "Couldn't load %s hash", hash_str); ++- return NULL; ++- } ++- essiv_cipher = grub_crypto_cipher_open (ciph); ++- if (!essiv_cipher) ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_crypto_cipher_close (secondary_cipher); ++- return NULL; ++- } ++- } ++- else ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_crypto_cipher_close (secondary_cipher); ++- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unknown IV mode: %s", ++- cipheriv); ++- return NULL; ++- } ++- ++- /* Configure the hash used for the AF splitter and HMAC. */ ++- hash = grub_crypto_lookup_md_by_name (hashspec); ++- if (!hash) ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_crypto_cipher_close (essiv_cipher); ++- grub_crypto_cipher_close (secondary_cipher); ++- grub_error (GRUB_ERR_FILE_NOT_FOUND, "Couldn't load %s hash", ++- hashspec); ++- return NULL; ++- } +++ newdev = grub_cryptodisk_create (disk, uuid, ciphername, ciphermode, hashspec); ++ ++- newdev = grub_zalloc (sizeof (struct grub_cryptodisk)); ++- if (!newdev) ++- { ++- grub_crypto_cipher_close (cipher); ++- grub_crypto_cipher_close (essiv_cipher); ++- grub_crypto_cipher_close (secondary_cipher); ++- return NULL; ++- } ++- newdev->cipher = cipher; ++ newdev->offset = grub_be_to_cpu32 (header.payloadOffset); ++- newdev->source_disk = NULL; ++- newdev->benbi_log = benbi_log; ++- newdev->mode = mode; ++- newdev->mode_iv = mode_iv; ++- newdev->secondary_cipher = secondary_cipher; ++- newdev->essiv_cipher = essiv_cipher; ++- newdev->essiv_hash = essiv_hash; ++- newdev->hash = hash; ++- newdev->log_sector_size = 9; ++- newdev->total_length = grub_disk_get_size (disk) - newdev->offset; ++- grub_memcpy (newdev->uuid, uuid, sizeof (newdev->uuid)); ++ newdev->modname = "luks"; ++- COMPILE_TIME_ASSERT (sizeof (newdev->uuid) >= sizeof (uuid)); ++ ++ return newdev; ++ } ++@@ -329,7 +146,7 @@ luks_recover_key (grub_disk_t source, ++ struct grub_luks_phdr header; ++ grub_size_t keysize; ++ grub_uint8_t *split_key = NULL; ++- char interactive_passphrase[MAX_PASSPHRASE] = ""; +++ char interactive_passphrase[GRUB_CRYPTODISK_MAX_PASSPHRASE] = ""; ++ grub_uint8_t *passphrase; ++ grub_size_t passphrase_length; ++ grub_uint8_t candidate_digest[sizeof (header.mkDigest)]; ++@@ -376,7 +193,7 @@ luks_recover_key (grub_disk_t source, ++ /* Use bytestring from key file as passphrase */ ++ passphrase = keyfile_bytes; ++ passphrase_length = keyfile_bytes_size; ++- keyfile_bytes = NULL; /* use it only once */ +++ keyfile_bytes = NULL; /* use it only once */ ++ } ++ else ++ { ++@@ -387,7 +204,7 @@ luks_recover_key (grub_disk_t source, ++ grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name, ++ source->partition ? "," : "", tmp ? : "", dev->uuid); ++ grub_free (tmp); ++- if (!grub_password_get (interactive_passphrase, MAX_PASSPHRASE)) +++ if (!grub_password_get (interactive_passphrase, GRUB_CRYPTODISK_MAX_PASSPHRASE)) ++ { ++ grub_free (split_key); ++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); ++diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h ++index 67f6b0b59..bb25ab730 100644 ++--- a/include/grub/cryptodisk.h +++++ b/include/grub/cryptodisk.h ++@@ -54,9 +54,14 @@ typedef enum ++ #define GRUB_CRYPTODISK_GF_LOG_BYTES (GRUB_CRYPTODISK_GF_LOG_SIZE - 3) ++ #define GRUB_CRYPTODISK_GF_BYTES (1U << GRUB_CRYPTODISK_GF_LOG_BYTES) ++ #define GRUB_CRYPTODISK_MAX_KEYLEN 128 +++#define GRUB_CRYPTODISK_MAX_PASSPHRASE 256 ++ ++ #define GRUB_CRYPTODISK_MAX_KEYFILE_SIZE 8192 ++ +++#define GRUB_CRYPTODISK_PLAIN_CIPHER "aes-cbc-essiv:sha256" +++#define GRUB_CRYPTODISK_PLAIN_DIGEST "ripemd160" +++#define GRUB_CRYPTODISK_PLAIN_KEYSIZE 256 +++ ++ struct grub_cryptodisk; ++ ++ typedef gcry_err_code_t ++@@ -160,4 +165,7 @@ grub_util_get_geli_uuid (const char *dev); ++ grub_cryptodisk_t grub_cryptodisk_get_by_uuid (const char *uuid); ++ grub_cryptodisk_t grub_cryptodisk_get_by_source_disk (grub_disk_t disk); ++ +++grub_cryptodisk_t grub_cryptodisk_create (grub_disk_t disk, char *uuid, +++ char *ciphername, char *ciphermode, char *digest); +++ ++ #endif ++-- ++2.16.2 ++ diff --git a/helpers/DATA/grub2/0005-Cryptomount-support-for-hyphens-in-UUID.patch b/helpers/DATA/grub2/0005-Cryptomount-support-for-hyphens-in-UUID.patch new file mode 100644 index 0000000..a70086f --- /dev/null +++ b/helpers/DATA/grub2/0005-Cryptomount-support-for-hyphens-in-UUID.patch @@ -0,0 +1,128 @@ +diff --git a/0005-Cryptomount-support-for-hyphens-in-UUID.patch b/0005-Cryptomount-support-for-hyphens-in-UUID.patch +new file mode 100644 +index 00000000000..f6ed18a66d7 +--- /dev/null ++++ b/0005-Cryptomount-support-for-hyphens-in-UUID.patch +@@ -0,0 +1,122 @@ ++From 0939fef502c4b97d1facc7972a54d5dfeba4ab71 Mon Sep 17 00:00:00 2001 ++From: John Lane ++Date: Fri, 26 Jun 2015 22:48:03 +0100 ++Subject: [PATCH 5/7] Cryptomount support for hyphens in UUID ++ ++--- ++ grub-core/disk/cryptodisk.c | 20 +++++++++++++++++--- ++ grub-core/disk/luks.c | 26 ++++++++------------------ ++ include/grub/cryptodisk.h | 2 ++ ++ 3 files changed, 27 insertions(+), 21 deletions(-) ++ ++diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c ++index 7f656f75c..c442d3a34 100644 ++--- a/grub-core/disk/cryptodisk.c +++++ b/grub-core/disk/cryptodisk.c ++@@ -114,6 +114,20 @@ gf_mul_be (grub_uint8_t *o, const grub_uint8_t *a, const grub_uint8_t *b) ++ } ++ } ++ +++int +++grub_cryptodisk_uuidcmp(char *uuid_a, char *uuid_b) +++{ +++ while ((*uuid_a != '\0') && (*uuid_b != '\0')) +++ { +++ while (*uuid_a == '-') uuid_a++; +++ while (*uuid_b == '-') uuid_b++; +++ if (grub_toupper(*uuid_a) != grub_toupper(*uuid_b)) break; +++ uuid_a++; +++ uuid_b++; +++ } +++ return (*uuid_a == '\0') && (*uuid_b == '\0'); +++} +++ ++ static gcry_err_code_t ++ grub_crypto_pcbc_decrypt (grub_crypto_cipher_handle_t cipher, ++ void *out, void *in, grub_size_t size, ++@@ -509,8 +523,8 @@ grub_cryptodisk_open (const char *name, grub_disk_t disk) ++ if (grub_memcmp (name, "cryptouuid/", sizeof ("cryptouuid/") - 1) == 0) ++ { ++ for (dev = cryptodisk_list; dev != NULL; dev = dev->next) ++- if (grub_strcasecmp (name + sizeof ("cryptouuid/") - 1, dev->uuid) == 0) ++- break; +++ if (grub_cryptodisk_uuidcmp(name + sizeof ("cryptouuid/") - 1, dev->uuid)) +++ break; ++ } ++ else ++ { ++@@ -742,7 +756,7 @@ grub_cryptodisk_get_by_uuid (const char *uuid) ++ { ++ grub_cryptodisk_t dev; ++ for (dev = cryptodisk_list; dev != NULL; dev = dev->next) ++- if (grub_strcasecmp (dev->uuid, uuid) == 0) +++ if (grub_cryptodisk_uuidcmp(dev->uuid, uuid)) ++ return dev; ++ return NULL; ++ } ++diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c ++index 4ebe21b4e..80a760670 100644 ++--- a/grub-core/disk/luks.c +++++ b/grub-core/disk/luks.c ++@@ -68,9 +68,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ int check_boot, grub_file_t hdr) ++ { ++ grub_cryptodisk_t newdev; ++- const char *iptr; ++ struct grub_luks_phdr header; ++- char *optr; ++ char uuid[sizeof (header.uuid) + 1]; ++ char ciphername[sizeof (header.cipherName) + 1]; ++ char ciphermode[sizeof (header.cipherMode) + 1]; ++@@ -104,22 +102,6 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ || grub_be_to_cpu16 (header.version) != 1) ++ return NULL; ++ ++- optr = uuid; ++- for (iptr = header.uuid; iptr < &header.uuid[ARRAY_SIZE (header.uuid)]; ++- iptr++) ++- { ++- if (*iptr != '-') ++- *optr++ = *iptr; ++- } ++- *optr = 0; ++- ++- if (check_uuid && grub_strcasecmp (check_uuid, uuid) != 0) ++- { ++- grub_dprintf ("luks", "%s != %s\n", uuid, check_uuid); ++- return NULL; ++- } ++- ++- ++ /* Make sure that strings are null terminated. */ ++ grub_memcpy (ciphername, header.cipherName, sizeof (header.cipherName)); ++ ciphername[sizeof (header.cipherName)] = 0; ++@@ -127,6 +109,14 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid, ++ ciphermode[sizeof (header.cipherMode)] = 0; ++ grub_memcpy (hashspec, header.hashSpec, sizeof (header.hashSpec)); ++ hashspec[sizeof (header.hashSpec)] = 0; +++ grub_memcpy (uuid, header.uuid, sizeof (header.uuid)); +++ uuid[sizeof (header.uuid)] = 0; +++ +++ if ( check_uuid && ! grub_cryptodisk_uuidcmp(check_uuid, uuid)) +++ { +++ grub_dprintf ("luks", "%s != %s\n", uuid, check_uuid); +++ return NULL; +++ } ++ ++ newdev = grub_cryptodisk_create (disk, uuid, ciphername, ciphermode, hashspec); ++ ++diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h ++index bb25ab730..01c02696e 100644 ++--- a/include/grub/cryptodisk.h +++++ b/include/grub/cryptodisk.h ++@@ -168,4 +168,6 @@ grub_cryptodisk_t grub_cryptodisk_get_by_source_disk (grub_disk_t disk); ++ grub_cryptodisk_t grub_cryptodisk_create (grub_disk_t disk, char *uuid, ++ char *ciphername, char *ciphermode, char *digest); ++ +++int +++grub_cryptodisk_uuidcmp(char *uuid_a, char *uuid_b); ++ #endif ++-- ++2.16.2 ++ diff --git a/helpers/DATA/grub2/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch b/helpers/DATA/grub2/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch new file mode 100644 index 0000000..09f876d --- /dev/null +++ b/helpers/DATA/grub2/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch @@ -0,0 +1,114 @@ +diff --git a/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch b/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch +new file mode 100644 +index 00000000000..49750f84aca +--- /dev/null ++++ b/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch +@@ -0,0 +1,108 @@ ++From 908f4282cc934422923ff59836a835e63d6a7117 Mon Sep 17 00:00:00 2001 ++From: Paul Gideon Dann ++Date: Tue, 19 Jul 2016 12:36:37 +0100 ++Subject: [PATCH] Add support for using a whole device as a keyfile ++ ++--- ++ grub-core/disk/cryptodisk.c | 86 +++++++++++++++++++++++++++++-------- ++ 1 file changed, 68 insertions(+), 18 deletions(-) ++ ++diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c ++index d0388c6d1..c5d8021ba 100644 ++--- a/grub-core/disk/cryptodisk.c +++++ b/grub-core/disk/cryptodisk.c ++@@ -1031,26 +1031,76 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args) ++ else ++ { ++ keyfile_offset = state[5].set ? grub_strtoul (state[5].arg, 0, 0) : 0; ++- keyfile_size = requested_keyfile_size ? requested_keyfile_size : \ ++- GRUB_CRYPTODISK_MAX_KEYFILE_SIZE; ++- ++- keyfile = grub_file_open (state[4].arg, GRUB_FILE_TYPE_NONE); ++- if (!keyfile) ++- grub_printf (N_("Unable to open key file %s\n"), state[4].arg); ++- else if (grub_file_seek (keyfile, keyfile_offset) == (grub_off_t)-1) ++- grub_printf (N_("Unable to seek to offset %d in key file\n"), keyfile_offset); ++- else +++ +++ if (grub_strchr (state[4].arg, '/')) ++ { ++- keyfile_size = grub_file_read (keyfile, keyfile_buffer, keyfile_size); ++- if (keyfile_size == (grub_size_t)-1) ++- grub_printf (N_("Error reading key file\n")); ++- else if (requested_keyfile_size && (keyfile_size != requested_keyfile_size)) ++- grub_printf (N_("Cannot read %llu bytes for key file (read %llu bytes)\n"), ++- (unsigned long long) requested_keyfile_size, ++- (unsigned long long) keyfile_size); +++ keyfile_size = requested_keyfile_size ? requested_keyfile_size : \ +++ GRUB_CRYPTODISK_MAX_KEYFILE_SIZE; +++ keyfile = grub_file_open (state[4].arg, GRUB_FILE_TYPE_NONE); +++ if (!keyfile) +++ grub_printf (N_("Unable to open key file %s\n"), state[4].arg); +++ else if (grub_file_seek (keyfile, keyfile_offset) == (grub_off_t)-1) +++ grub_printf (N_("Unable to seek to offset %d in key file\n"), keyfile_offset); ++ else ++- key = keyfile_buffer; ++- } +++ { +++ keyfile_size = grub_file_read (keyfile, keyfile_buffer, keyfile_size); +++ if (keyfile_size == (grub_size_t)-1) +++ grub_printf (N_("Error reading key file\n")); +++ else if (requested_keyfile_size && (keyfile_size != requested_keyfile_size)) +++ grub_printf (N_("Cannot read %llu bytes for key file (read %llu bytes)\n"), +++ (unsigned long long) requested_keyfile_size, +++ (unsigned long long) keyfile_size); +++ else +++ key = keyfile_buffer; +++ } +++ } +++ else +++ { +++ grub_disk_t keydisk; +++ char* keydisk_name; +++ grub_err_t err; +++ grub_uint64_t total_sectors; +++ +++ keydisk_name = grub_file_get_device_name(state[4].arg); +++ keydisk = grub_disk_open (keydisk_name); +++ if (!keydisk) +++ { +++ grub_printf (N_("Unable to open disk %s\n"), keydisk_name); +++ goto cleanup_keydisk_name; +++ } +++ +++ total_sectors = grub_disk_get_size (keydisk); +++ if (total_sectors == GRUB_DISK_SIZE_UNKNOWN) +++ { +++ grub_printf (N_("Unable to determine size of disk %s\n"), keydisk_name); +++ goto cleanup_keydisk; +++ } +++ +++ keyfile_size = (total_sectors << GRUB_DISK_SECTOR_BITS); +++ if (requested_keyfile_size > 0 && requested_keyfile_size < keyfile_size) +++ keyfile_size = requested_keyfile_size; +++ if (keyfile_size > GRUB_CRYPTODISK_MAX_KEYFILE_SIZE) +++ { +++ grub_printf (N_("Key file size exceeds maximum (%llu)\n"), \ +++ (unsigned long long) GRUB_CRYPTODISK_MAX_KEYFILE_SIZE); +++ goto cleanup_keydisk; +++ } +++ +++ err = grub_disk_read (keydisk, 0, keyfile_offset, keyfile_size, keyfile_buffer); +++ if (err != GRUB_ERR_NONE) +++ { +++ grub_printf (N_("Failed to read from disk %s\n"), keydisk_name); +++ keyfile_size = 0; +++ goto cleanup_keydisk; +++ } +++ +++ key = keyfile_buffer; +++ +++ cleanup_keydisk: +++ grub_disk_close (keydisk); +++ cleanup_keydisk_name: +++ grub_free (keydisk_name); +++ } ++ } ++ } ++ diff --git a/helpers/DATA/grub2/patch_changes/007-prevent-duplicated-gnu-linux-with-trisquel-full-name.patch b/helpers/DATA/grub2/patch_changes/007-prevent-duplicated-gnu-linux-with-trisquel-full-name.patch deleted file mode 100644 index 1d49f7e..0000000 --- a/helpers/DATA/grub2/patch_changes/007-prevent-duplicated-gnu-linux-with-trisquel-full-name.patch +++ /dev/null @@ -1,22 +0,0 @@ -Prevent duplicated GNU/Linux string with Trisquel's full name. - -diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in -index cc393be7..f13c4774 100644 ---- a/util/grub.d/10_linux.in -+++ b/util/grub.d/10_linux.in -@@ -31,7 +31,14 @@ CLASS="--class gnu-linux --class gnu --class os" - if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then - OS=GNU/Linux - else -- OS="${GRUB_DISTRIBUTOR} GNU/Linux" -+ case ${GRUB_DISTRIBUTOR} in -+ "Trisquel GNU/Linux") -+ OS="${GRUB_DISTRIBUTOR}" -+ ;; -+ *) -+ OS="${GRUB_DISTRIBUTOR} GNU/Linux" -+ ;; -+ esac - CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}" - fi - diff --git a/helpers/DATA/gtk+3.0/patch_changes/000-fix_tooltip_gtk+3.0_lxde.patch b/helpers/DATA/gtk+3.0/patch_changes/000-fix_tooltip_gtk+3.0_lxde.patch deleted file mode 100644 index fb4ff47..0000000 --- a/helpers/DATA/gtk+3.0/patch_changes/000-fix_tooltip_gtk+3.0_lxde.patch +++ /dev/null @@ -1,36 +0,0 @@ -From baa351f7e2d8cb92e94ce122bf8b96cfe88f9a5a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ingo=20Br=C3=BCckl?= -Date: Mon, 17 Feb 2025 18:04:20 +0100 -Subject: [PATCH] Fix position of child tooltips in custom windows - -Unlike a GTK_TOPLEVEL_WINDOW, a custom toplevel window derived from -GtkWindow can have non-zero x/y allocations (like a panel at the bottom -of the screen). - -Since the allocation of such a toplevel window is relative to the screen -origin, the position of the child must also be relative to the screen -origin so that we get the correct coordinates relative to each other. - -diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c -index 1bf72f19..3d6a99f1 100644 ---- a/gtk/gtktooltip.c -+++ b/gtk/gtktooltip.c -@@ -875,6 +875,7 @@ gtk_tooltip_position (GtkTooltip *tooltip, - GdkWindow *widget_window; - GdkWindow *effective_toplevel; - GtkWidget *toplevel; -+ GtkAllocation toplevel_allocation; - int rect_anchor_dx = 0; - int cursor_size; - int anchor_rect_padding; -@@ -886,8 +887,9 @@ gtk_tooltip_position (GtkTooltip *tooltip, - tooltip->tooltip_widget = new_tooltip_widget; - - toplevel = _gtk_widget_get_toplevel (new_tooltip_widget); -+ _gtk_widget_get_allocation (toplevel, &toplevel_allocation); - gtk_widget_translate_coordinates (new_tooltip_widget, toplevel, -- 0, 0, -+ toplevel_allocation.x, toplevel_allocation.y, - &anchor_rect.x, &anchor_rect.y); - - anchor_rect.width = gtk_widget_get_allocated_width (new_tooltip_widget); diff --git a/helpers/DATA/gtk+3.0/patch_changes/001-fix_FTBFS_on_armhf_ecne.patch b/helpers/DATA/gtk+3.0/patch_changes/001-fix_FTBFS_on_armhf_ecne.patch deleted file mode 100644 index 35b0578..0000000 --- a/helpers/DATA/gtk+3.0/patch_changes/001-fix_FTBFS_on_armhf_ecne.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c -index d6db84fa..bfcef2b5 100644 ---- a/gtk/gtkwindow.c -+++ b/gtk/gtkwindow.c -@@ -71,6 +71,7 @@ - - #ifdef GDK_WINDOWING_X11 - #include "x11/gdkx.h" -+#include - #endif - - #ifdef GDK_WINDOWING_WIN32 diff --git a/helpers/DATA/guix/cve/0001-etc-news-add-news-entry-for-build-user-takeover-vuln.patch b/helpers/DATA/guix/cve/0001-etc-news-add-news-entry-for-build-user-takeover-vuln.patch index 0e0012b..413336f 100644 --- a/helpers/DATA/guix/cve/0001-etc-news-add-news-entry-for-build-user-takeover-vuln.patch +++ b/helpers/DATA/guix/cve/0001-etc-news-add-news-entry-for-build-user-takeover-vuln.patch @@ -10,10 +10,10 @@ Subject: [PATCH] etc: news: add news entry for build user takeover 1 file changed, 32 insertions(+) diff --git a/etc/news.scm b/etc/news.scm -index a64572df..63d2b7f9 100644 +index a90f92a9ff..3fb53a9849 100644 --- a/etc/news.scm +++ b/etc/news.scm -@@ -26,6 +26,38 @@ +@@ -33,6 +33,38 @@ (channel-news (version 0) @@ -49,6 +49,9 @@ index a64572df..63d2b7f9 100644 + +See @uref{https://issues.guix.gnu.org/73919} for more information on this +vulnerability."))) - (entry (commit "788602b37ff42f730d4b7b569b0fb51465f147da") + (entry (commit "2161820ebbbab62a5ce76c9101ebaec54dc61586") (title - (en "New @option{--symlink} option for @command{guix shell}") + (en "Risk of local privilege escalation during user account creation") +-- +2.45.2 + diff --git a/helpers/DATA/guix/cve/CVE-2024-27297_4a67c00ad02fbe7a7f5796c4c4dc2c0ad70f0472.patch b/helpers/DATA/guix/cve/CVE-2024-27297_4a67c00ad02fbe7a7f5796c4c4dc2c0ad70f0472.patch new file mode 100644 index 0000000..f4a022e --- /dev/null +++ b/helpers/DATA/guix/cve/CVE-2024-27297_4a67c00ad02fbe7a7f5796c4c4dc2c0ad70f0472.patch @@ -0,0 +1,378 @@ +From 4a67c00ad02fbe7a7f5796c4c4dc2c0ad70f0472 Mon Sep 17 00:00:00 2001 +From: Vagrant Cascadian +Date: Tue, 12 Mar 2024 09:18:23 -0700 +Subject: [PATCH] debian/patches: guix-daemon: Protect against file descriptor + escape when building fixed-output derivations (CVE-2024-27297). (Closes: + #1066113) + +--- + ...gainst-FD-escape-when-building-fixed.patch | 232 ++++++++++++++++++ + ...hortcoming-in-previous-security-fix-.patch | 106 ++++++++ + debian/patches/series | 2 + + 3 files changed, 340 insertions(+) + create mode 100644 debian/patches/security/0001-daemon-Protect-against-FD-escape-when-building-fixed.patch + create mode 100644 debian/patches/security/0032-daemon-Address-shortcoming-in-previous-security-fix-.patch + +diff --git a/debian/patches/security/0001-daemon-Protect-against-FD-escape-when-building-fixed.patch b/debian/patches/security/0001-daemon-Protect-against-FD-escape-when-building-fixed.patch +new file mode 100644 +index 0000000000..e6e02cf206 +--- /dev/null ++++ b/debian/patches/security/0001-daemon-Protect-against-FD-escape-when-building-fixed.patch +@@ -0,0 +1,232 @@ ++From 8f4ffb3fae133bb21d7991e97c2f19a7108b1143 Mon Sep 17 00:00:00 2001 ++From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= ++Date: Mon, 11 Mar 2024 10:59:42 +0100 ++Subject: [PATCH 01/36] daemon: Protect against FD escape when building ++ fixed-output derivations (CVE-2024-27297). ++MIME-Version: 1.0 ++Content-Type: text/plain; charset=UTF-8 ++Content-Transfer-Encoding: 8bit ++ ++This fixes a security issue (CVE-2024-27297) whereby a fixed-output ++derivation build process could open a writable file descriptor to its ++output, send it to some outside process for instance over an abstract ++AF_UNIX socket, which would then allow said process to modify the file ++in the store after it has been marked as “valid”. ++ ++Vulnerability discovered by puck . ++ ++Nix security advisory: ++https://github.com/NixOS/nix/security/advisories/GHSA-2ffj-w4mj-pg37 ++ ++Nix fix: ++https://github.com/NixOS/nix/commit/244f3eee0bbc7f11e9b383a15ed7368e2c4becc9 ++ ++* nix/libutil/util.cc (readDirectory): Add variants that take a DIR* and ++a file descriptor. Rewrite the ‘Path’ variant accordingly. ++(copyFile, copyFileRecursively): New functions. ++* nix/libutil/util.hh (copyFileRecursively): New declaration. ++* nix/libstore/build.cc (DerivationGoal::buildDone): When ‘fixedOutput’ ++is true, call ‘copyFileRecursively’ followed by ‘rename’ on each output. ++ ++Change-Id: I7952d41093eed26e123e38c14a4c1424be1ce1c4 ++ ++Reported-by: Picnoir , Théophane Hufschmitt ++Change-Id: Idb5f2757f35af86b032a9851cecb19b70227bd88 ++--- ++ nix/libstore/build.cc | 16 ++++++ ++ nix/libutil/util.cc | 112 ++++++++++++++++++++++++++++++++++++++++-- ++ nix/libutil/util.hh | 6 +++ ++ 3 files changed, 129 insertions(+), 5 deletions(-) ++ ++diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc ++index 461fcbc584..e2adee118b 100644 ++--- a/nix/libstore/build.cc +++++ b/nix/libstore/build.cc ++@@ -1382,6 +1382,22 @@ void DerivationGoal::buildDone() ++ % drvPath % statusToString(status)); ++ } ++ +++ if (fixedOutput) { +++ /* Replace the output, if it exists, by a fresh copy of itself to +++ make sure that there's no stale file descriptor pointing to it +++ (CVE-2024-27297). */ +++ foreach (DerivationOutputs::iterator, i, drv.outputs) { +++ if (pathExists(i->second.path)) { +++ Path pivot = i->second.path + ".tmp"; +++ copyFileRecursively(i->second.path, pivot, true); +++ int err = rename(pivot.c_str(), i->second.path.c_str()); +++ if (err != 0) +++ throw SysError(format("renaming `%1%' to `%2%'") +++ % pivot % i->second.path); +++ } +++ } +++ } +++ ++ /* Compute the FS closure of the outputs and register them as ++ being valid. */ ++ registerOutputs(); ++diff --git a/nix/libutil/util.cc b/nix/libutil/util.cc ++index 82eac72120..493f06f357 100644 ++--- a/nix/libutil/util.cc +++++ b/nix/libutil/util.cc ++@@ -215,14 +215,11 @@ bool isLink(const Path & path) ++ } ++ ++ ++-DirEntries readDirectory(const Path & path) +++static DirEntries readDirectory(DIR *dir) ++ { ++ DirEntries entries; ++ entries.reserve(64); ++ ++- AutoCloseDir dir = opendir(path.c_str()); ++- if (!dir) throw SysError(format("opening directory `%1%'") % path); ++- ++ struct dirent * dirent; ++ while (errno = 0, dirent = readdir(dir)) { /* sic */ ++ checkInterrupt(); ++@@ -230,11 +227,29 @@ DirEntries readDirectory(const Path & path) ++ if (name == "." || name == "..") continue; ++ entries.emplace_back(name, dirent->d_ino, dirent->d_type); ++ } ++- if (errno) throw SysError(format("reading directory `%1%'") % path); +++ if (errno) throw SysError(format("reading directory")); ++ ++ return entries; ++ } ++ +++DirEntries readDirectory(const Path & path) +++{ +++ AutoCloseDir dir = opendir(path.c_str()); +++ if (!dir) throw SysError(format("opening directory `%1%'") % path); +++ return readDirectory(dir); +++} +++ +++static DirEntries readDirectory(int fd) +++{ +++ /* Since 'closedir' closes the underlying file descriptor, duplicate FD +++ beforehand. */ +++ int fdcopy = dup(fd); +++ if (fdcopy < 0) throw SysError("dup"); +++ +++ AutoCloseDir dir = fdopendir(fdcopy); +++ if (!dir) throw SysError(format("opening directory from file descriptor `%1%'") % fd); +++ return readDirectory(dir); +++} ++ ++ unsigned char getFileType(const Path & path) ++ { ++@@ -364,6 +379,93 @@ void deletePath(const Path & path, unsigned long long & bytesFreed, size_t linkT ++ _deletePath(path, bytesFreed, linkThreshold); ++ } ++ +++static void copyFile(int sourceFd, int destinationFd) +++{ +++ struct stat st; +++ if (fstat(sourceFd, &st) == -1) throw SysError("statting file"); +++ +++ ssize_t result = copy_file_range(sourceFd, NULL, destinationFd, NULL, st.st_size, 0); +++ if (result < 0 && errno == ENOSYS) { +++ for (size_t remaining = st.st_size; remaining > 0; ) { +++ unsigned char buf[8192]; +++ size_t count = std::min(remaining, sizeof buf); +++ +++ readFull(sourceFd, buf, count); +++ writeFull(destinationFd, buf, count); +++ remaining -= count; +++ } +++ } else { +++ if (result < 0) +++ throw SysError(format("copy_file_range `%1%' to `%2%'") % sourceFd % destinationFd); +++ if (result < st.st_size) +++ throw SysError(format("short write in copy_file_range `%1%' to `%2%'") +++ % sourceFd % destinationFd); +++ } +++} +++ +++static void copyFileRecursively(int sourceroot, const Path &source, +++ int destinationroot, const Path &destination, +++ bool deleteSource) +++{ +++ struct stat st; +++ if (fstatat(sourceroot, source.c_str(), &st, AT_SYMLINK_NOFOLLOW) == -1) +++ throw SysError(format("statting file `%1%'") % source); +++ +++ if (S_ISREG(st.st_mode)) { +++ AutoCloseFD sourceFd = openat(sourceroot, source.c_str(), +++ O_CLOEXEC | O_NOFOLLOW | O_RDONLY); +++ if (sourceFd == -1) throw SysError(format("opening `%1%'") % source); +++ +++ AutoCloseFD destinationFd = openat(destinationroot, destination.c_str(), +++ O_CLOEXEC | O_CREAT | O_WRONLY | O_TRUNC, +++ st.st_mode); +++ if (destinationFd == -1) throw SysError(format("opening `%1%'") % source); +++ +++ copyFile(sourceFd, destinationFd); +++ } else if (S_ISLNK(st.st_mode)) { +++ char target[st.st_size + 1]; +++ ssize_t result = readlinkat(sourceroot, source.c_str(), target, st.st_size); +++ if (result != st.st_size) throw SysError("reading symlink target"); +++ target[st.st_size] = '\0'; +++ int err = symlinkat(target, destinationroot, destination.c_str()); +++ if (err != 0) +++ throw SysError(format("creating symlink `%1%'") % destination); +++ } else if (S_ISDIR(st.st_mode)) { +++ int err = mkdirat(destinationroot, destination.c_str(), 0755); +++ if (err != 0) +++ throw SysError(format("creating directory `%1%'") % destination); +++ +++ AutoCloseFD destinationFd = openat(destinationroot, destination.c_str(), +++ O_CLOEXEC | O_RDONLY | O_DIRECTORY); +++ if (err != 0) +++ throw SysError(format("opening directory `%1%'") % destination); +++ +++ AutoCloseFD sourceFd = openat(sourceroot, source.c_str(), +++ O_CLOEXEC | O_NOFOLLOW | O_RDONLY); +++ if (sourceFd == -1) +++ throw SysError(format("opening `%1%'") % source); +++ +++ if (deleteSource && !(st.st_mode & S_IWUSR)) { +++ /* Ensure the directory writable so files within it can be +++ deleted. */ +++ if (fchmod(sourceFd, st.st_mode | S_IWUSR) == -1) +++ throw SysError(format("making `%1%' directory writable") % source); +++ } +++ +++ for (auto & i : readDirectory(sourceFd)) +++ copyFileRecursively((int)sourceFd, i.name, (int)destinationFd, i.name, +++ deleteSource); +++ } else throw Error(format("refusing to copy irregular file `%1%'") % source); +++ +++ if (deleteSource) +++ unlinkat(sourceroot, source.c_str(), +++ S_ISDIR(st.st_mode) ? AT_REMOVEDIR : 0); +++} +++ +++void copyFileRecursively(const Path &source, const Path &destination, bool deleteSource) +++{ +++ copyFileRecursively(AT_FDCWD, source, AT_FDCWD, destination, deleteSource); +++} ++ ++ static Path tempName(Path tmpRoot, const Path & prefix, bool includePid, ++ int & counter) ++diff --git a/nix/libutil/util.hh b/nix/libutil/util.hh ++index 880b0e93b2..058f5f8446 100644 ++--- a/nix/libutil/util.hh +++++ b/nix/libutil/util.hh ++@@ -102,6 +102,12 @@ void deletePath(const Path & path); ++ void deletePath(const Path & path, unsigned long long & bytesFreed, ++ size_t linkThreshold = 1); ++ +++/* Copy SOURCE to DESTINATION, recursively. Throw if SOURCE contains a file +++ that is not a regular file, symlink, or directory. When DELETESOURCE is +++ true, delete source files once they have been copied. */ +++void copyFileRecursively(const Path &source, const Path &destination, +++ bool deleteSource = false); +++ ++ /* Create a temporary directory. */ ++ Path createTempDir(const Path & tmpRoot = "", const Path & prefix = "nix", ++ bool includePid = true, bool useGlobalCounter = true, mode_t mode = 0755); ++-- ++2.39.2 ++ +diff --git a/debian/patches/security/0032-daemon-Address-shortcoming-in-previous-security-fix-.patch b/debian/patches/security/0032-daemon-Address-shortcoming-in-previous-security-fix-.patch +new file mode 100644 +index 0000000000..0d0b6bd22f +--- /dev/null ++++ b/debian/patches/security/0032-daemon-Address-shortcoming-in-previous-security-fix-.patch +@@ -0,0 +1,106 @@ ++From ff1251de0bc327ec478fc66a562430fbf35aef42 Mon Sep 17 00:00:00 2001 ++From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= ++Date: Tue, 12 Mar 2024 11:53:35 +0100 ++Subject: [PATCH 32/36] daemon: Address shortcoming in previous security fix ++ for CVE-2024-27297. ++MIME-Version: 1.0 ++Content-Type: text/plain; charset=UTF-8 ++Content-Transfer-Encoding: 8bit ++ ++This is a followup to 8f4ffb3fae133bb21d7991e97c2f19a7108b1143. ++ ++Commit 8f4ffb3fae133bb21d7991e97c2f19a7108b1143 fell short in two ++ways: (1) it didn’t have any effet for fixed-output derivations ++performed in a chroot, which is the case for all of them except those ++using “builtin:download” and “builtin:git-download”, and (2) it did not ++preserve ownership when copying, leading to “suspicious ownership or ++permission […] rejecting this build output” errors. ++ ++* nix/libstore/build.cc (DerivationGoal::buildDone): Account for ++‘chrootRootDir’ when copying ‘drv.outputs’. ++* nix/libutil/util.cc (copyFileRecursively): Add ‘fchown’ and ‘fchownat’ ++calls to preserve file ownership; this is necessary for chrooted ++fixed-output derivation builds. ++* nix/libutil/util.hh: Update comment. ++ ++Change-Id: Ib59f040e98fed59d1af81d724b874b592cbef156 ++--- ++ nix/libstore/build.cc | 11 ++++++----- ++ nix/libutil/util.cc | 4 ++++ ++ nix/libutil/util.hh | 7 ++++--- ++ 3 files changed, 14 insertions(+), 8 deletions(-) ++ ++diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc ++index e2adee118b..d23c0944a4 100644 ++--- a/nix/libstore/build.cc +++++ b/nix/libstore/build.cc ++@@ -1387,13 +1387,14 @@ void DerivationGoal::buildDone() ++ make sure that there's no stale file descriptor pointing to it ++ (CVE-2024-27297). */ ++ foreach (DerivationOutputs::iterator, i, drv.outputs) { ++- if (pathExists(i->second.path)) { ++- Path pivot = i->second.path + ".tmp"; ++- copyFileRecursively(i->second.path, pivot, true); ++- int err = rename(pivot.c_str(), i->second.path.c_str()); +++ Path output = chrootRootDir + i->second.path; +++ if (pathExists(output)) { +++ Path pivot = output + ".tmp"; +++ copyFileRecursively(output, pivot, true); +++ int err = rename(pivot.c_str(), output.c_str()); ++ if (err != 0) ++ throw SysError(format("renaming `%1%' to `%2%'") ++- % pivot % i->second.path); +++ % pivot % output); ++ } ++ } ++ } ++diff --git a/nix/libutil/util.cc b/nix/libutil/util.cc ++index 493f06f357..578d657293 100644 ++--- a/nix/libutil/util.cc +++++ b/nix/libutil/util.cc ++@@ -422,6 +422,7 @@ static void copyFileRecursively(int sourceroot, const Path &source, ++ if (destinationFd == -1) throw SysError(format("opening `%1%'") % source); ++ ++ copyFile(sourceFd, destinationFd); +++ fchown(destinationFd, st.st_uid, st.st_gid); ++ } else if (S_ISLNK(st.st_mode)) { ++ char target[st.st_size + 1]; ++ ssize_t result = readlinkat(sourceroot, source.c_str(), target, st.st_size); ++@@ -430,6 +431,8 @@ static void copyFileRecursively(int sourceroot, const Path &source, ++ int err = symlinkat(target, destinationroot, destination.c_str()); ++ if (err != 0) ++ throw SysError(format("creating symlink `%1%'") % destination); +++ fchownat(destinationroot, destination.c_str(), +++ st.st_uid, st.st_gid, AT_SYMLINK_NOFOLLOW); ++ } else if (S_ISDIR(st.st_mode)) { ++ int err = mkdirat(destinationroot, destination.c_str(), 0755); ++ if (err != 0) ++@@ -455,6 +458,7 @@ static void copyFileRecursively(int sourceroot, const Path &source, ++ for (auto & i : readDirectory(sourceFd)) ++ copyFileRecursively((int)sourceFd, i.name, (int)destinationFd, i.name, ++ deleteSource); +++ fchown(destinationFd, st.st_uid, st.st_gid); ++ } else throw Error(format("refusing to copy irregular file `%1%'") % source); ++ ++ if (deleteSource) ++diff --git a/nix/libutil/util.hh b/nix/libutil/util.hh ++index 058f5f8446..377aac0684 100644 ++--- a/nix/libutil/util.hh +++++ b/nix/libutil/util.hh ++@@ -102,9 +102,10 @@ void deletePath(const Path & path); ++ void deletePath(const Path & path, unsigned long long & bytesFreed, ++ size_t linkThreshold = 1); ++ ++-/* Copy SOURCE to DESTINATION, recursively. Throw if SOURCE contains a file ++- that is not a regular file, symlink, or directory. When DELETESOURCE is ++- true, delete source files once they have been copied. */ +++/* Copy SOURCE to DESTINATION, recursively, preserving ownership. Throw if +++ SOURCE contains a file that is not a regular file, symlink, or directory. +++ When DELETESOURCE is true, delete source files once they have been +++ copied. */ ++ void copyFileRecursively(const Path &source, const Path &destination, ++ bool deleteSource = false); ++ ++-- ++2.39.2 ++ +diff --git a/debian/patches/series b/debian/patches/series_ +index 5d506e57..0b8879d1 100644 +--- a/debian/patches/series ++++ b/debian/patches/series_ +@@ -40,3 +40,5 @@ lsb-init-functions + guix-daemon-openrc-fixes + tests-Ensure-test-OpenPGP-keys-never-expire.patch + use-c-utf8-locale ++security/0001-daemon-Protect-against-FD-escape-when-building-fixed.patch ++security/0032-daemon-Address-shortcoming-in-previous-security-fix-.patch +-- +GitLab + diff --git a/helpers/DATA/guix/guix-1.3.0.4-to-1.3.0-5.patch b/helpers/DATA/guix/guix-1.3.0.4-to-1.3.0-5.patch new file mode 100644 index 0000000..0e5b6b7 --- /dev/null +++ b/helpers/DATA/guix/guix-1.3.0.4-to-1.3.0-5.patch @@ -0,0 +1,157 @@ +diff --git a/debian/control b/debian/control +index f5080c40..24f545ae 100644 +--- a/debian/control ++++ b/debian/control +@@ -44,7 +44,9 @@ Depends: ${misc:Depends}, ${shlibs:Depends}, + guile-sqlite3 (>= 0.1.3-2~), + guile-zlib (>= 0.1.0), + libssh-dev, +-Recommends: nscd, ++Recommends: ca-certificates, ++ less, ++ nscd, + systemd, + Description: GNU Guix functional package manager + Guix is an advanced distribution of the GNU operating system +diff --git a/debian/patches/series b/debian/patches/series +index 2151eca4..5d506e57 100644 +--- a/debian/patches/series ++++ b/debian/patches/series +@@ -38,3 +38,5 @@ lsb-init-functions + 0030-Disable-gexp-derivation-allowed-references-test-when.patch + 0031-Disable-substitue-deduplication-test-when-network-is.patch + guix-daemon-openrc-fixes ++tests-Ensure-test-OpenPGP-keys-never-expire.patch ++use-c-utf8-locale +diff --git a/guix/debian/patches/tests-Ensure-test-OpenPGP-keys-never-expire.patch b/debian/patches/tests-Ensure-test-OpenPGP-keys-never-expire.patch +new file mode 100644 +index 00000000..3d23bd95 +--- /dev/null ++++ b/debian/patches/tests-Ensure-test-OpenPGP-keys-never-expire.patch +@@ -0,0 +1,62 @@ ++From 3ae7632ca0a1edca9d8c3c766efb0dcc8aa5da37 Mon Sep 17 00:00:00 2001 ++From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= ++Date: Wed, 18 May 2022 23:20:21 +0200 ++Subject: [PATCH] tests: Ensure test OpenPGP keys never expire. ++ ++All these keys had expiration dates. 'tests/keys/ed25519.pub' expired ++on 2022-04-24. ++ ++Fixes . ++ ++* tests/keys/ed25519.pub, tests/keys/ed25519-2.pub, ++tests/keys/ed25519-3.pub: Remove expiration date. ++--- ++ tests/keys/ed25519-2.pub | 11 +++++------ ++ tests/keys/ed25519-3.pub | 10 +++++----- ++ tests/keys/ed25519.pub | 10 +++++----- ++ 3 files changed, 15 insertions(+), 16 deletions(-) ++ ++Adjusted to apply to older locations present in 1.3.0. ++ ++diff --git a/tests/ed25519bis.key b/tests/ed25519bis.key ++index f5329105d5..ef050e3845 100644 ++--- a/tests/ed25519bis.key +++++ b/tests/ed25519bis.key ++@@ -1,10 +1,9 @@ ++ -----BEGIN PGP PUBLIC KEY BLOCK----- ++ ++ mDMEXtVsNhYJKwYBBAHaRw8BAQdAnLsYdh3BpeK1xDguJE80XW2/MSmqeeP6pbQw ++-8jAw0OG0IkNoYXJsaWUgR3VpeCA8Y2hhcmxpZUBleGFtcGxlLm9yZz6IlgQTFggA ++-PhYhBKBDaY1jer75FlruS4IkDtyrgNqDBQJe1Ww2AhsDBQkDwmcABQsJCAcCBhUK ++-CQgLAgQWAgMBAh4BAheAAAoJEIIkDtyrgNqDM6cA/idDdoxo9SU+witdTXt24APH ++-yRzHbX9Iyh4dZNIek9JwAP9E0BwSvDHB4LY9z4RWf2hJp3dm/yZ/jEpK+w4BGN4J ++-Ag== ++-=JIU0 +++8jAw0OG0IkNoYXJsaWUgR3VpeCA8Y2hhcmxpZUBleGFtcGxlLm9yZz6IkAQTFggA +++OAIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBKBDaY1jer75FlruS4IkDtyr +++gNqDBQJihWJtAAoJEIIkDtyrgNqDbs0BAPOaGSYf3pX3DReEe1zbxxVQrolX9/AZ +++VP0AOt0TAgkzAP0Sr7G1NuCtjWWGK1WmlyTFPhOWLhNriKgZFkBZrGypAw== +++=pdTB ++ -----END PGP PUBLIC KEY BLOCK----- ++diff --git a/tests/ed25519.key b/tests/ed25519.key ++index f6bf906783..5a2fccc9f9 100644 ++--- a/tests/ed25519.key +++++ b/tests/ed25519.key ++@@ -2,9 +2,9 @@ ++ ++ mDMEXqNaoBYJKwYBBAHaRw8BAQdArviKtelb4g0I3zx9xyDS40Oz8i1/LRXqppG6 ++ b23Hdim0KEVkIFR3by1GaWZ0eSA8bHVkbyt0ZXN0LWVjY0BjaGJvdWliLm9yZz6I ++-lgQTFggAPhYhBETTHiGvcTj5tjIoCncfScv6rgctBQJeo1qgAhsDBQkDwmcABQsJ ++-CAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEHcfScv6rgctq4MA/1R9G0roEwrHwmTd ++-DHxt211eLqupwXE0Z7xY2FH6DHk9AP4owEefBU7jQprSAzBS+c6gdS3SCCKKqAh6 ++-ToZ4LmbKAw== ++-=FXMK +++kAQTFggAOAIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBETTHiGvcTj5tjIo +++CncfScv6rgctBQJihWH6AAoJEHcfScv6rgctfPMBAPv+yPmEgM+J6D1nZjXsO4zW ++++4e3y2Ez+QxgI2tn8Z2xAQDBUWyyu0X+8dguGmVlsaiQdkazaUSpexvIhh9zONYw +++Bg== +++=s4Vp ++ -----END PGP PUBLIC KEY BLOCK----- ++-- ++2.30.2 ++ +diff --git a/guix/debian/patches/use-c-utf8-locale b/debian/patches/use-c-utf8-locale +new file mode 100644 +index 00000000..6f69c0fa +--- /dev/null ++++ b/debian/patches/use-c-utf8-locale +@@ -0,0 +1,58 @@ ++Use the C.UTF-8 locale for guix-daemon and guix-publish. ++ ++https://bugs.debian.org/1012536 ++ ++Index: guix/etc/guix-daemon.service.in ++=================================================================== ++--- guix.orig/etc/guix-daemon.service.in +++++ guix/etc/guix-daemon.service.in ++@@ -7,7 +7,7 @@ Description=Build daemon for GNU Guix ++ ++ [Service] ++ ExecStart=/usr/bin/guix-daemon --build-users-group=_guixbuild ++-Environment='GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8 +++Environment=LC_ALL=C.UTF-8 ++ RemainAfterExit=yes ++ StandardOutput=syslog ++ StandardError=syslog ++Index: guix/etc/init.d/guix-daemon.in ++=================================================================== ++--- guix.orig/etc/init.d/guix-daemon.in +++++ guix/etc/init.d/guix-daemon.in ++@@ -35,8 +35,7 @@ start) ++ -a \ ++ -e "/var/log/guix-daemon-stderr.log" \ ++ -o "/var/log/guix-daemon-stdout.log" \ ++- -E GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale \ ++- -E LC_ALL=en_US.utf8 \ +++ -E LC_ALL=C.UTF-8 \ ++ -p "/var/run/guix-daemon.pid" \ ++ /usr/bin/guix-daemon \ ++ --build-users-group=_guixbuild ++Index: guix/etc/openrc/guix-daemon.in ++=================================================================== ++--- guix.orig/etc/openrc/guix-daemon.in +++++ guix/etc/openrc/guix-daemon.in ++@@ -17,8 +17,7 @@ ++ # You should have received a copy of the GNU General Public License ++ # along with GNU Guix. If not, see . ++ ++-export GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale ++-export LC_ALL=en_US.utf8 +++export LC_ALL=C.UTF-8 ++ command="/usr/bin/guix-daemon" ++ command_args="--build-users-group=_guixbuild" ++ command_background="yes" ++Index: guix/etc/guix-publish.service.in ++=================================================================== ++--- guix.orig/etc/guix-publish.service.in +++++ guix/etc/guix-publish.service.in ++@@ -10,7 +10,7 @@ After=guix-daemon.service ++ ++ [Service] ++ ExecStart=/usr/bin/guix publish --user=nobody --port=8181 ++-Environment='GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8 +++Environment=LC_ALL=C.UTF-8 ++ RemainAfterExit=yes ++ StandardOutput=syslog ++ StandardError=syslog diff --git a/helpers/DATA/hplip/patch_changes/000-add_trisquel_distro_definition_distros_password.patch b/helpers/DATA/hplip/patch_changes/000-add_trisquel_distro_definition_distros_password.patch index cfc7c7b..41cc67f 100644 --- a/helpers/DATA/hplip/patch_changes/000-add_trisquel_distro_definition_distros_password.patch +++ b/helpers/DATA/hplip/patch_changes/000-add_trisquel_distro_definition_distros_password.patch @@ -299,3 +299,15 @@ index 80588920..66bb81a1 100644 +packages=epm + +# **************************************** +diff --git a/base/password.py b/base/password.py +index a76d4048..b0c6fe20 100644 +--- a/base/password.py ++++ b/base/password.py +@@ -63,6 +63,7 @@ AUTH_TYPES = {'mepis': 'su', + 'debiangnu/linux' : 'su', + 'mxlinux' : 'su', + 'elementaryos' : 'sudo', ++ 'trisquel' : 'sudo', + } + + diff --git a/helpers/DATA/hw-detect/patch_changes/001-disable_firmware_lookup_or_load_request.patch b/helpers/DATA/hw-detect/patch_changes/001-disable_firmware_lookup_or_load_request.patch deleted file mode 100644 index bb006b5..0000000 --- a/helpers/DATA/hw-detect/patch_changes/001-disable_firmware_lookup_or_load_request.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff --git a/check-missing-firmware.sh b/check-missing-firmware.sh -index c6a5a845..3bb4d6a4 100755 ---- a/check-missing-firmware.sh -+++ b/check-missing-firmware.sh -@@ -361,8 +361,6 @@ check_for_firmware() { - # For those who don't want to load any firmware, even if available on - # installation images (#1029848). The loop is still entered so that - # logs are generated. --db_get hw-detect/firmware-lookup --firmware_lookup="$RET" - - # NOTE: The ask_load_firmware function returns true the first time around, - # without asking any questions. For consistency, skip mountmedia calls during -@@ -373,10 +371,11 @@ while check_missing && ask_load_firmware; do - loop=$((loop+1)) - log "mainloop iteration #$loop" - -- if [ "$firmware_lookup" = "never" ]; then -- log "firmware lookup disabled (=$firmware_lookup), exiting" -- exit 0 -- fi -+ # Trisquel: hardcode disable firmware loading -+ # to prevent installation of nonfree blobs. This script -+ # is kept to preserve compatibility with hw-detect. -+ log "firmware lookup disabled (hardcoded), exiting" -+ exit 0 - - # first, check if needed firmware debs are available on the - # PXE initrd or the installation CD. -diff --git a/hw-detect.post-base-installer.d/50install-firmware b/hw-detect.post-base-installer.d/50install-firmware -old mode 100755 -new mode 100644 -index f6e069f3..f69ed994 ---- a/hw-detect.post-base-installer.d/50install-firmware -+++ b/hw-detect.post-base-installer.d/50install-firmware -@@ -8,12 +8,12 @@ log () { - - # For those who don't want to load any firmware, even if available on - # installation images (#1029848): --db_get hw-detect/firmware-lookup --firmware_lookup="$RET" --if [ "$firmware_lookup" = "never" ]; then -- log "firmware lookup disabled (=$firmware_lookup), exiting" -- exit 0 --fi -+ -+# Trisquel: hardcode disable firmware loading -+# to prevent installation of nonfree blobs. This script -+# is kept to preserve compatibility with hw-detect. -+log "firmware lookup disabled (hardcoded), exiting" -+exit 0 - - # copy any loose firmware files to /target (incl. subdirs) - if [ -d /lib/firmware ]; then@@ -56,5 +56,3 @@ done - printf "GenuineIntel intel-microcode\nAuthenticAMD amd64-microcode\n" | while read vendor pkg; do - if grep -qs "^vendor_id.*$vendor$" /proc/cpuinfo; then - log "queuing $pkg installation ($vendor)" -- echo $pkg >> /tmp/microcode.list -- mkdir -p /var/cache/firmware diff --git a/helpers/DATA/hw-detect/patch_changes/002-remove_firmware_lookup_from_template.patch b/helpers/DATA/hw-detect/patch_changes/002-remove_firmware_lookup_from_template.patch deleted file mode 100644 index 337d4f4..0000000 --- a/helpers/DATA/hw-detect/patch_changes/002-remove_firmware_lookup_from_template.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/debian/hw-detect.templates b/debian/hw-detect.templates -index 790afdbf..db5e2934 100644 ---- a/debian/hw-detect.templates -+++ b/debian/hw-detect.templates -@@ +79,12 -79,3 @@ Template: hw-detect/load-ide - Type: boolean - Default: false - Description: for internal use; can be preseeded -- --# This is an initial implementation, which might evolve over time (#1029848): --Template: hw-detect/firmware-lookup --Type: text --Default: --Description: for expert use; can be preseeded -- Setting this to "never" makes check-missing-firmware and install-firmware -- hooks not try to find and install firmware packages (even if available on -- the installation image). diff --git a/helpers/DATA/ibus/denylist.txt b/helpers/DATA/ibus/denylist.txt new file mode 100644 index 0000000..00b7d77 --- /dev/null +++ b/helpers/DATA/ibus/denylist.txt @@ -0,0 +1,27 @@ +# vim:set fileencoding=utf-8 et sts=4 sw=4: +# +# ibus - Intelligent Input Bus for Linux / Unix OS +# +# Copyright © 2020-2022 Takao Fujiwara +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library. If not, see . + +# This file is a deny list (black list) and used by gensimple.py. +# gensimple.py generates the engine list with evdev.xml and if an engine name +# is matched with any entries in this file, the engine is excluded from the +# engine list. +# Asterisk(*) character can be used to match any engines. +# E.g. xkb:cn:*:* excludes xkb:cn::zho and xkb:cn:mon_trad:mvf +xkb:cn:*:* +xkb:nec_vndr/jp:*:* diff --git a/helpers/DATA/ibus/fix_latam_spanish_blacklist.patch b/helpers/DATA/ibus/fix_latam_spanish_blacklist.patch new file mode 100644 index 0000000..d9c7ff5 --- /dev/null +++ b/helpers/DATA/ibus/fix_latam_spanish_blacklist.patch @@ -0,0 +1,28 @@ +From 82e38d9e1c06e7fdc0816fe08f4021b8c1cdff10 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 20 Jul 2022 11:25:26 +0900 +Subject: [PATCH] engine: Delete xkb:latam:*:* in denylist.txt + +BUG=https://github.com/ibus/ibus/issues/2412 + +diff --git a/engine/Makefile.am b/engine/Makefile.am +index 03867f52f..7256fbc82 100644 +--- a/engine/Makefile.am ++++ b/engine/Makefile.am +@@ -4,7 +4,7 @@ + # + # Copyright (c) 2010-2016, Google Inc. All rights reserved. + # Copyright (c) 2007-2016 Peng Huang +-# Copyright (c) 2013-2020 Takao Fujiwara ++# Copyright (c) 2013-2021 Takao Fujiwara + # + # This library is free software; you can redistribute it and/or + # modify it under the terms of the GNU Lesser General Public +@@ -88,6 +88,7 @@ CLEANFILES = \ + $(NULL) + + EXTRA_DIST = \ ++ denylist.txt \ + gensimple.py \ + iso639converter.py \ + simple.xml.in \ diff --git a/helpers/DATA/ibus/simple.xml.in_1.5.27.patch b/helpers/DATA/ibus/simple.xml.in_1.5.27.patch new file mode 100644 index 0000000..ee0cf78 --- /dev/null +++ b/helpers/DATA/ibus/simple.xml.in_1.5.27.patch @@ -0,0 +1,1093 @@ +From ef9bd3b1c8e2ed122b064abb59fc6e121e23bb59 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 23 Aug 2022 00:26:57 +0900 +Subject: [PATCH] engine: Update simple.xml with xkeyboard-config 2.36 + +--- + engine/simple.xml.in | 875 ++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 780 insertions(+), 95 deletions(-) + +diff --git a/engine/simple.xml.in b/engine/simple.xml.in +index 1152b5934..914895e76 100644 +--- a/engine/simple.xml.in ++++ b/engine/simple.xml.in +@@ -3,7 +3,7 @@ + org.freedesktop.IBus.Simple + A table based simple engine + @libexecdir@/ibus-engine-simple +- 1.5.26.20220314 ++ 1.5.27.20220823 + Peng Huang <shawn.p.huang@gmail.com> + GPL + https://github.com/ibus/ibus/wiki +@@ -781,8 +781,8 @@ + 1 + + +- xkb:by:ru:bel +- be ++ xkb:by:ru:rus ++ ru + GPL + Peng Huang <shawn.p.huang@gmail.com> + by +@@ -4289,14 +4289,14 @@ + 1 + + +- xkb:fr:bre:fra +- fr ++ xkb:fr:bre:bre ++ br + GPL + Peng Huang <shawn.p.huang@gmail.com> + fr + bre +- French (Breton) +- French (Breton) ++ Breton (France) ++ Breton (France) + ibus-keyboard + 1 + +@@ -5570,6 +5570,77 @@ + ibus-keyboard + 1 + ++ ++ xkb:latam::spa ++ es ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ latam ++ Spanish (Latin American) ++ Spanish (Latin American) ++ ibus-keyboard ++ 50 ++ ++ ++ xkb:latam:nodeadkeys:spa ++ es ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ latam ++ nodeadkeys ++ Spanish (Latin American, no dead keys) ++ Spanish (Latin American, no dead keys) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:latam:deadtilde:spa ++ es ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ latam ++ deadtilde ++ Spanish (Latin American, dead tilde) ++ Spanish (Latin American, dead tilde) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:latam:dvorak:spa ++ es ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ latam ++ dvorak ++ Spanish (Latin American, Dvorak) ++ Spanish (Latin American, Dvorak) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:latam:colemak:spa ++ es ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ latam ++ colemak ++ Spanish (Latin American, Colemak) ++ Spanish (Latin American, Colemak) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:latam:colemak-gaming:spa ++ es ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ latam ++ colemak-gaming ++ Spanish (Latin American, Colemak for gaming) ++ Spanish (Latin American, Colemak for gaming) ++ ibus-keyboard ++ 1 ++ + + xkb:lt::lit + lt +@@ -6744,6 +6815,18 @@ + ibus-keyboard + 1 + ++ ++ xkb:ru:ab:abk ++ ab ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ ru ++ ab ++ Abkhazian (Russia) ++ Abkhazian (Russia) ++ ibus-keyboard ++ 1 ++ + + xkb:rs::srp + sr +@@ -7488,6 +7571,18 @@ + ibus-keyboard + 1 + ++ ++ xkb:tr:e:tur ++ tr ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ tr ++ e ++ Turkish (E) ++ Turkish (E) ++ ibus-keyboard ++ 1 ++ + + xkb:tr:alt:tur + tr +@@ -7895,8 +7990,8 @@ + 1 + + +- xkb:ua:rstu_ru:ukr +- uk ++ xkb:ua:rstu_ru:rus ++ ru + GPL + Peng Huang <shawn.p.huang@gmail.com> + ua +@@ -8150,8 +8245,8 @@ + Peng Huang <shawn.p.huang@gmail.com> + vn + fr +- Vietnamese (French) +- Vietnamese (French) ++ Vietnamese (France) ++ Vietnamese (France) + ibus-keyboard + 1 + +@@ -10029,8 +10124,8 @@ + 50 + + +- xkb:id::msa +- ms ++ xkb:id::ace ++ ace + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +@@ -10040,8 +10135,8 @@ + 50 + + +- xkb:id::min +- min ++ xkb:id::ban ++ ban + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +@@ -10051,8 +10146,19 @@ + 50 + + +- xkb:id::ace +- ace ++ xkb:id::bbc ++ bbc ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ Indonesian (Latin) ++ Indonesian (Latin) ++ ibus-keyboard ++ 50 ++ ++ ++ xkb:id::bew ++ bew + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +@@ -10073,8 +10179,8 @@ + 50 + + +- xkb:id::tsg +- tsg ++ xkb:id::btm ++ btm + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +@@ -10084,8 +10190,8 @@ + 50 + + +- xkb:id::mfa +- mfa ++ xkb:id::bts ++ bts + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +@@ -10095,183 +10201,762 @@ + 50 + + +- xkb:id:phonetic:ind ++ xkb:id::bug ++ bug ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ Indonesian (Latin) ++ Indonesian (Latin) ++ ibus-keyboard ++ 50 ++ ++ ++ xkb:id::gor ++ gor ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ Indonesian (Latin) ++ Indonesian (Latin) ++ ibus-keyboard ++ 50 ++ ++ ++ xkb:id::jav ++ jv ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ Indonesian (Latin) ++ Indonesian (Latin) ++ ibus-keyboard ++ 50 ++ ++ ++ xkb:id::jax ++ jax ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ Indonesian (Latin) ++ Indonesian (Latin) ++ ibus-keyboard ++ 50 ++ ++ ++ xkb:id::mad ++ mad ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ Indonesian (Latin) ++ Indonesian (Latin) ++ ibus-keyboard ++ 50 ++ ++ ++ xkb:id::mak ++ mak ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ Indonesian (Latin) ++ Indonesian (Latin) ++ ibus-keyboard ++ 50 ++ ++ ++ xkb:id::min ++ min ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ Indonesian (Latin) ++ Indonesian (Latin) ++ ibus-keyboard ++ 50 ++ ++ ++ xkb:id::mui ++ mui ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ Indonesian (Latin) ++ Indonesian (Latin) ++ ibus-keyboard ++ 50 ++ ++ ++ xkb:id::sas ++ sas ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ Indonesian (Latin) ++ Indonesian (Latin) ++ ibus-keyboard ++ 50 ++ ++ ++ xkb:id::sun ++ su ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ Indonesian (Latin) ++ Indonesian (Latin) ++ ibus-keyboard ++ 50 ++ ++ ++ xkb:id:javanese:ind + id + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phonetic +- Indonesian (Arab Pegon, phonetic) +- Indonesian (Arab Pegon, phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phonetic:msa +- ms ++ xkb:id:javanese:ace ++ ace + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phonetic +- Indonesian (Arab Pegon, phonetic) +- Indonesian (Arab Pegon, phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phonetic:min +- min ++ xkb:id:javanese:ban ++ ban + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phonetic +- Indonesian (Arab Pegon, phonetic) +- Indonesian (Arab Pegon, phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phonetic:ace +- ace ++ xkb:id:javanese:bbc ++ bbc + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phonetic +- Indonesian (Arab Pegon, phonetic) +- Indonesian (Arab Pegon, phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phonetic:bjn ++ xkb:id:javanese:bew ++ bew ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ javanese ++ Javanese ++ Javanese ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:javanese:bjn + bjn + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phonetic +- Indonesian (Arab Pegon, phonetic) +- Indonesian (Arab Pegon, phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phonetic:tsg +- tsg ++ xkb:id:javanese:btm ++ btm + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phonetic +- Indonesian (Arab Pegon, phonetic) +- Indonesian (Arab Pegon, phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phonetic:mfa +- mfa ++ xkb:id:javanese:bts ++ bts + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phonetic +- Indonesian (Arab Pegon, phonetic) +- Indonesian (Arab Pegon, phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phoneticx:ind +- id ++ xkb:id:javanese:bug ++ bug + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phoneticx +- Indonesian (Arab Pegon, extended phonetic) +- Indonesian (Arab Pegon, extended phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phoneticx:msa +- ms ++ xkb:id:javanese:gor ++ gor + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phoneticx +- Indonesian (Arab Pegon, extended phonetic) +- Indonesian (Arab Pegon, extended phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phoneticx:min +- min ++ xkb:id:javanese:jav ++ jv + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phoneticx +- Indonesian (Arab Pegon, extended phonetic) +- Indonesian (Arab Pegon, extended phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phoneticx:ace +- ace ++ xkb:id:javanese:jax ++ jax + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phoneticx +- Indonesian (Arab Pegon, extended phonetic) +- Indonesian (Arab Pegon, extended phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phoneticx:bjn +- bjn ++ xkb:id:javanese:mad ++ mad + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phoneticx +- Indonesian (Arab Pegon, extended phonetic) +- Indonesian (Arab Pegon, extended phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phoneticx:tsg +- tsg ++ xkb:id:javanese:mak ++ mak + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phoneticx +- Indonesian (Arab Pegon, extended phonetic) +- Indonesian (Arab Pegon, extended phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:id:phoneticx:mfa +- mfa ++ xkb:id:javanese:min ++ min + GPL + Peng Huang <shawn.p.huang@gmail.com> + id +- phoneticx +- Indonesian (Arab Pegon, extended phonetic) +- Indonesian (Arab Pegon, extended phonetic) ++ javanese ++ Javanese ++ Javanese + ibus-keyboard + 1 + + +- xkb:jv::jav +- jv ++ xkb:id:javanese:mui ++ mui + GPL + Peng Huang <shawn.p.huang@gmail.com> +- jv +- Indonesian (Javanese) +- Indonesian (Javanese) ++ id ++ javanese ++ Javanese ++ Javanese + ibus-keyboard +- 50 ++ 1 ++ ++ ++ xkb:id:javanese:sas ++ sas ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ javanese ++ Javanese ++ Javanese ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:javanese:sun ++ su ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ javanese ++ Javanese ++ Javanese ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:ind ++ id ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:ace ++ ace ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:ban ++ ban ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:bbc ++ bbc ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:bew ++ bew ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:bjn ++ bjn ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:btm ++ btm ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:bts ++ bts ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:bug ++ bug ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:gor ++ gor ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:jav ++ jv ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:jax ++ jax ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:mad ++ mad ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:mak ++ mak ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:min ++ min ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:mui ++ mui ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:sas ++ sas ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phonetic:sun ++ su ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phonetic ++ Indonesian (Arab Pegon, phonetic) ++ Indonesian (Arab Pegon, phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:ind ++ id ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:ace ++ ace ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:ban ++ ban ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:bbc ++ bbc ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:bew ++ bew ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:bjn ++ bjn ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:btm ++ btm ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:bts ++ bts ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:bug ++ bug ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:gor ++ gor ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:jav ++ jv ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:jax ++ jax ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:mad ++ mad ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:mak ++ mak ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:min ++ min ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:mui ++ mui ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:sas ++ sas ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 ++ ++ ++ xkb:id:phoneticx:sun ++ su ++ GPL ++ Peng Huang <shawn.p.huang@gmail.com> ++ id ++ phoneticx ++ Indonesian (Arab Pegon, extended phonetic) ++ Indonesian (Arab Pegon, extended phonetic) ++ ibus-keyboard ++ 1 + + + xkb:my::ind diff --git a/helpers/DATA/inetutils/patch_changes/000-fix_injection_bug_with_bogus_user_names.patch b/helpers/DATA/inetutils/patch_changes/000-fix_injection_bug_with_bogus_user_names.patch new file mode 100644 index 0000000..344d9ab --- /dev/null +++ b/helpers/DATA/inetutils/patch_changes/000-fix_injection_bug_with_bogus_user_names.patch @@ -0,0 +1,34 @@ +From fd702c02497b2f398e739e3119bed0b23dd7aa7b Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Tue, 20 Jan 2026 01:10:36 -0800 +Subject: [PATCH] Fix injection bug with bogus user names + +Problem reported by Kyu Neushwaistein. +* telnetd/utility.c (_var_short_name): +Ignore user names that start with '-' or contain shell metacharacters. + +Signed-off-by: Simon Josefsson +--- + telnetd/utility.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/telnetd/utility.c b/telnetd/utility.c +index b486226e..c02cd0e6 100644 +--- a/telnetd/utility.c ++++ b/telnetd/utility.c +@@ -1733,7 +1733,14 @@ _var_short_name (struct line_expander *exp) + return user_name ? xstrdup (user_name) : NULL; + + case 'U': +- return getenv ("USER") ? xstrdup (getenv ("USER")) : xstrdup (""); ++ { ++ /* Ignore user names starting with '-' or containing shell ++ metachars, as they can cause trouble. */ ++ char const *u = getenv ("USER"); ++ return xstrdup ((u && *u != '-' ++ && !u[strcspn (u, "\t\n !\"#$&'()*;<=>?[\\^`{|}~")]) ++ ? u : ""); ++ } + + default: + exp->state = EXP_STATE_ERROR; diff --git a/helpers/DATA/inetutils/patch_changes/001-telnetd_sanitize_all_variable_expansions.patch b/helpers/DATA/inetutils/patch_changes/001-telnetd_sanitize_all_variable_expansions.patch new file mode 100644 index 0000000..8b4653c --- /dev/null +++ b/helpers/DATA/inetutils/patch_changes/001-telnetd_sanitize_all_variable_expansions.patch @@ -0,0 +1,78 @@ +From ccba9f748aa8d50a38d7748e2e60362edd6a32cc Mon Sep 17 00:00:00 2001 +From: Simon Josefsson +Date: Tue, 20 Jan 2026 14:02:39 +0100 +Subject: [PATCH] telnetd: Sanitize all variable expansions + +* telnetd/utility.c (sanitize): New function. +(_var_short_name): Use it for all variables. +--- + telnetd/utility.c | 32 ++++++++++++++++++-------------- + 1 file changed, 18 insertions(+), 14 deletions(-) + +diff --git a/telnetd/utility.c b/telnetd/utility.c +index c02cd0e6..b21ad961 100644 +--- a/telnetd/utility.c ++++ b/telnetd/utility.c +@@ -1684,6 +1684,17 @@ static void _expand_cond (struct line_expander *exp); + static void _skip_block (struct line_expander *exp); + static void _expand_block (struct line_expander *exp); + ++static char * ++sanitize (const char *u) ++{ ++ /* Ignore values starting with '-' or containing shell metachars, as ++ they can cause trouble. */ ++ if (u && *u != '-' && !u[strcspn (u, "\t\n !\"#$&'()*;<=>?[\\^`{|}~")]) ++ return u; ++ else ++ return ""; ++} ++ + /* Expand a variable referenced by its short one-symbol name. + Input: exp->cp points to the variable name. + FIXME: not implemented */ +@@ -1710,13 +1721,13 @@ _var_short_name (struct line_expander *exp) + return xstrdup (timebuf); + + case 'h': +- return xstrdup (remote_hostname); ++ return xstrdup (sanitize (remote_hostname)); + + case 'l': +- return xstrdup (local_hostname); ++ return xstrdup (sanitize (local_hostname)); + + case 'L': +- return xstrdup (line); ++ return xstrdup (sanitize (line)); + + case 't': + q = strchr (line + 1, '/'); +@@ -1724,23 +1735,16 @@ _var_short_name (struct line_expander *exp) + q++; + else + q = line; +- return xstrdup (q); ++ return xstrdup (sanitize (q)); + + case 'T': +- return terminaltype ? xstrdup (terminaltype) : NULL; ++ return terminaltype ? xstrdup (sanitize (terminaltype)) : NULL; + + case 'u': +- return user_name ? xstrdup (user_name) : NULL; ++ return user_name ? xstrdup (sanitize (user_name)) : NULL; + + case 'U': +- { +- /* Ignore user names starting with '-' or containing shell +- metachars, as they can cause trouble. */ +- char const *u = getenv ("USER"); +- return xstrdup ((u && *u != '-' +- && !u[strcspn (u, "\t\n !\"#$&'()*;<=>?[\\^`{|}~")]) +- ? u : ""); +- } ++ return xstrdup (sanitize (getenv ("USER"))); + + default: + exp->state = EXP_STATE_ERROR; diff --git a/helpers/DATA/initramfs-tools/no-warn-firmware.patch b/helpers/DATA/initramfs-tools/no-warn-firmware.patch new file mode 100644 index 0000000..bab4511 --- /dev/null +++ b/helpers/DATA/initramfs-tools/no-warn-firmware.patch @@ -0,0 +1,38 @@ +diff -ru a/hook-functions b/hook-functions +--- a/hook-functions 2022-10-27 13:44:07.000000000 -0400 ++++ b/hook-functions 2023-03-15 15:48:30.390326951 -0400 +@@ -118,22 +118,7 @@ + + # Add required firmware + for firmware in $(modinfo -k "${version}" -F firmware "${kmod}"); do +- # Only print warning for missing fw of loaded module +- # or forced loaded module +- if ! add_firmware "$firmware"; then +- # Only warn about missing firmware if +- # /proc/modules exists +- if [ ! -e /proc/modules ] ; then +- continue +- fi +- +- kmod_modname="${kmod##*/}" +- kmod_modname="${kmod_modname%%.*}" +- if grep -q "^$kmod_modname\\>" /proc/modules "${CONFDIR}/modules"; then +- echo "W: Possible missing firmware /lib/firmware/${firmware} for module ${kmod_modname}" >&2 +- fi +- continue +- fi ++ add_firmware "$firmware" || true + done + done + } +@@ -157,9 +142,7 @@ + fi + + tr '\0' '\n' < "$builtin_modinfo_path" | grep -E '^[^=]*\.firmware=' | sed -n 's/\.firmware=/\t/p' | while read -r builtin_modname firmware; do +- if ! add_firmware "$firmware"; then +- echo "W: Possible missing firmware /lib/firmware/${firmware} for built-in driver ${builtin_modname}" >&2 +- fi ++ add_firmware "$firmware" && echo "Added firmware for driver $builtin_modname" || true + done + } + diff --git a/helpers/DATA/kernel-wedge/diff-kernel-wedge-2105_to_296u3.patch b/helpers/DATA/kernel-wedge/2.96-ubuntu3.patch similarity index 74% rename from helpers/DATA/kernel-wedge/diff-kernel-wedge-2105_to_296u3.patch rename to helpers/DATA/kernel-wedge/2.96-ubuntu3.patch index 40503b3..6263871 100644 --- a/helpers/DATA/kernel-wedge/diff-kernel-wedge-2105_to_296u3.patch +++ b/helpers/DATA/kernel-wedge/2.96-ubuntu3.patch @@ -1,8 +1,8 @@ -diff --git a/README b/README +diff --git a/kernel-wedge-2.96ubuntu3/README b/kernel-wedge-2.96ubuntu3/README new file mode 100644 index 0000000..5d7d329 --- /dev/null -+++ b/README ++++ b/kernel-wedge-2.96ubuntu3/README @@ -0,0 +1,195 @@ +This is kernel-wedge, an industrial strength kernel splitting tool. +It is used to generate kernel module udebs for the debian installer. @@ -199,10 +199,10 @@ index 0000000..5d7d329 +though -- but the modules.dep can even be copied from another system and +it'll work. This can be useful if you cannot install the required +kernel-image package, or are cross-compiling. -diff --git a/README.md b/README.md +diff --git a/kernel-wedge-2.104ubuntu1/README.md b/kernel-wedge-2.104ubuntu1/README.md deleted file mode 100644 index 06d5d3c..0000000 ---- a/README.md +--- a/kernel-wedge-2.104ubuntu1/README.md +++ /dev/null @@ -1,224 +0,0 @@ -# kernel-wedge, an industrial strength kernel splitting tool @@ -429,20 +429,20 @@ index 06d5d3c..0000000 -though -- but the modules.dep can even be copied from another system and -it'll work. This can be useful if you cannot install the required -kernel-image package, or are cross-compiling. -diff --git a/TODO b/TODO +diff --git a/kernel-wedge-2.104ubuntu1/TODO b/kernel-wedge-2.96ubuntu3/TODO index 5c8df11..2c98bc5 100644 ---- a/TODO -+++ b/TODO +--- a/kernel-wedge-2.104ubuntu1/TODO ++++ b/kernel-wedge-2.96ubuntu3/TODO @@ -1,2 +1,4 @@ * Better docs for making a custom modules package, or using a different or custom kernel. +* Support Depends_subarch in package-lists, not currently supported in + gen-deps or gen-control. -diff --git a/commands/build-all.txt b/commands/build-all.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/build-all.txt b/kernel-wedge-2.96ubuntu3/commands/build-all.txt new file mode 100644 index 0000000..225ba1b --- /dev/null -+++ b/commands/build-all.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/build-all.txt @@ -0,0 +1,10 @@ +build-all + @@ -454,10 +454,10 @@ index 0000000..225ba1b +not shipped in the .deb (varies) + +dpkg-cross must be installed, but you do not need a cross compiler. -diff --git a/commands/build-arch b/commands/build-arch +diff --git a/kernel-wedge-2.104ubuntu1/commands/build-arch b/kernel-wedge-2.96ubuntu3/commands/build-arch index 5b910ab..4a9b21f 100755 ---- a/commands/build-arch -+++ b/commands/build-arch +--- a/kernel-wedge-2.104ubuntu1/commands/build-arch ++++ b/kernel-wedge-2.96ubuntu3/commands/build-arch @@ -21,7 +21,9 @@ buildpackage -S # Directory for stubs, added to PATH. arch="$1" @@ -469,11 +469,11 @@ index 5b910ab..4a9b21f 100755 PATH=$PATH:$tmpdir export PATH -diff --git a/commands/build-arch.txt b/commands/build-arch.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/build-arch.txt b/kernel-wedge-2.96ubuntu3/commands/build-arch.txt new file mode 100644 index 0000000..ee82b24 --- /dev/null -+++ b/commands/build-arch.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/build-arch.txt @@ -0,0 +1,11 @@ +build-arch + @@ -486,31 +486,11 @@ index 0000000..ee82b24 +not shipped in the .deb (varies) + +dpkg-cross must be installed, but you do not need a cross compiler. -diff --git a/commands/check b/commands/check -index 4b416d1..bb8c8b7 100755 ---- a/commands/check -+++ b/commands/check -@@ -3,7 +3,14 @@ empty= - if [ $# -ge 1 ]; then - packages="$*" - else -- packages="$(dh_listpackages -s)" -+ packages_all="$(dh_listpackages -s)" -+ packages="" -+ for pkg in $packages_all -+ do -+ case "$pkg" in -+ *-di) packages="$packages $pkg" ;; -+ esac -+ done - fi - for pkg in $packages; do - if [ -z "$(find debian/$pkg -type f)" ]; then -diff --git a/commands/check.txt b/commands/check.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/check.txt b/kernel-wedge-2.96ubuntu3/commands/check.txt new file mode 100644 index 0000000..df4722a --- /dev/null -+++ b/commands/check.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/check.txt @@ -0,0 +1,6 @@ +check + @@ -518,11 +498,11 @@ index 0000000..df4722a + +Return 1 if any problems are found, unless $KW_CHECK_NONFATAL is +non-empty. -diff --git a/commands/copy-firmware b/commands/copy-firmware +diff --git a/kernel-wedge-2.96ubuntu3/commands/copy-firmware b/kernel-wedge-2.96ubuntu3/commands/copy-firmware new file mode 100755 index 0000000..d8a3f1e --- /dev/null -+++ b/commands/copy-firmware ++++ b/kernel-wedge-2.96ubuntu3/commands/copy-firmware @@ -0,0 +1,118 @@ +#!/bin/sh +# @@ -642,11 +622,11 @@ index 0000000..d8a3f1e + fi +done +exit $code -diff --git a/commands/copy-firmware.txt b/commands/copy-firmware.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/copy-firmware.txt b/kernel-wedge-2.96ubuntu3/commands/copy-firmware.txt new file mode 100644 index 0000000..600e534 --- /dev/null -+++ b/commands/copy-firmware.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/copy-firmware.txt @@ -0,0 +1,6 @@ +copy-firmware version flavour installedname + @@ -654,10 +634,10 @@ index 0000000..600e534 + +Return 1 if a required module is missing, unless $KW_CHECK_NONFATAL is +non-empty. -diff --git a/commands/copy-modules b/commands/copy-modules +diff --git a/kernel-wedge-2.104ubuntu1/commands/copy-modules b/kernel-wedge-2.96ubuntu3/commands/copy-modules index 30f9dc5..276267a 100755 ---- a/commands/copy-modules -+++ b/commands/copy-modules +--- a/kernel-wedge-2.104ubuntu1/commands/copy-modules ++++ b/kernel-wedge-2.96ubuntu3/commands/copy-modules @@ -32,6 +32,59 @@ deplist() { done } @@ -783,11 +763,11 @@ index 30f9dc5..276267a 100755 fi done exit $code -diff --git a/commands/copy-modules.txt b/commands/copy-modules.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/copy-modules.txt b/kernel-wedge-2.96ubuntu3/commands/copy-modules.txt new file mode 100644 index 0000000..f719caf --- /dev/null -+++ b/commands/copy-modules.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/copy-modules.txt @@ -0,0 +1,6 @@ +copy-modules version flavour installedname + @@ -795,10 +775,10 @@ index 0000000..f719caf + +Return 1 if a required module is missing, unless $KW_CHECK_NONFATAL is +non-empty. -diff --git a/commands/find-dups b/commands/find-dups +diff --git a/kernel-wedge-2.104ubuntu1/commands/find-dups b/kernel-wedge-2.96ubuntu3/commands/find-dups index 7c4d45a..ea34572 100755 ---- a/commands/find-dups -+++ b/commands/find-dups +--- a/kernel-wedge-2.104ubuntu1/commands/find-dups ++++ b/kernel-wedge-2.96ubuntu3/commands/find-dups @@ -3,7 +3,7 @@ kernel=$1 ( @@ -808,11 +788,11 @@ index 7c4d45a..ea34572 100755 cd $dir find lib -type f -printf "$dir %p\n" cd ../.. -diff --git a/commands/find-dups.txt b/commands/find-dups.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/find-dups.txt b/kernel-wedge-2.96ubuntu3/commands/find-dups.txt new file mode 100644 index 0000000..6ff3462 --- /dev/null -+++ b/commands/find-dups.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/find-dups.txt @@ -0,0 +1,6 @@ +find-dups kernel-name + @@ -820,21 +800,21 @@ index 0000000..6ff3462 + +Return 1 if any duplicates are found, unless $KW_CHECK_NONFATAL is +non-empty or the configuration file 'ignore-dups' exists. -diff --git a/commands/find-unpackaged.txt b/commands/find-unpackaged.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/find-unpackaged.txt b/kernel-wedge-2.96ubuntu3/commands/find-unpackaged.txt new file mode 100644 index 0000000..5aae086 --- /dev/null -+++ b/commands/find-unpackaged.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/find-unpackaged.txt @@ -0,0 +1,5 @@ +find-unpackaged kernel-name + +List modules that are not packaged in a udeb. Pass the kernel name. + +Always return 0. -diff --git a/commands/gen-control b/commands/gen-control +diff --git a/kernel-wedge-2.104ubuntu1/commands/gen-control b/kernel-wedge-2.96ubuntu3/commands/gen-control index 67922d8..417930e 100755 ---- a/commands/gen-control -+++ b/commands/gen-control +--- a/kernel-wedge-2.104ubuntu1/commands/gen-control ++++ b/kernel-wedge-2.96ubuntu3/commands/gen-control @@ -4,15 +4,22 @@ use strict; use warnings; @@ -1075,20 +1055,20 @@ index 67922d8..417930e 100755 } -}); +} -diff --git a/commands/gen-control.txt b/commands/gen-control.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/gen-control.txt b/kernel-wedge-2.96ubuntu3/commands/gen-control.txt new file mode 100644 index 0000000..da85997 --- /dev/null -+++ b/commands/gen-control.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/gen-control.txt @@ -0,0 +1,4 @@ +gen-control + +Generate a debian/control from the control stub, the kernel-versions +files, and the package-list. -diff --git a/commands/gen-deps b/commands/gen-deps +diff --git a/kernel-wedge-2.104ubuntu1/commands/gen-deps b/kernel-wedge-2.96ubuntu3/commands/gen-deps index 3a1a90c..71101ef 100755 ---- a/commands/gen-deps -+++ b/commands/gen-deps +--- a/kernel-wedge-2.104ubuntu1/commands/gen-deps ++++ b/kernel-wedge-2.96ubuntu3/commands/gen-deps @@ -1,35 +1,74 @@ #!/usr/bin/perl -# Generates from debian/control a dependency file, suitable to be fed to @@ -1182,11 +1162,11 @@ index 3a1a90c..71101ef 100755 +read_package_list("$defconfigdir/package-list"); +read_package_list("$configdir/package-list"); print sort @out; -diff --git a/commands/gen-deps.txt b/commands/gen-deps.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/gen-deps.txt b/kernel-wedge-2.96ubuntu3/commands/gen-deps.txt new file mode 100644 index 0000000..937485d --- /dev/null -+++ b/commands/gen-deps.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/gen-deps.txt @@ -0,0 +1,6 @@ +gen-deps flavour + @@ -1194,10 +1174,10 @@ index 0000000..937485d +flavour, suitable to be fed to tsort. The file has the base package name on +the left, and the package it depends on is on the right. It is sorted. + -diff --git a/commands/help b/commands/help +diff --git a/kernel-wedge-2.104ubuntu1/commands/help b/kernel-wedge-2.96ubuntu3/commands/help index 4a7a73f..ba04853 100755 ---- a/commands/help -+++ b/commands/help +--- a/kernel-wedge-2.104ubuntu1/commands/help ++++ b/kernel-wedge-2.96ubuntu3/commands/help @@ -9,4 +9,8 @@ if [ ! -x "$LIBDIR/$command" ]; then echo "No such command." exit 1 @@ -1208,20 +1188,20 @@ index 4a7a73f..ba04853 100755 + exit +fi +cat $LIBDIR/$command.txt -diff --git a/commands/help.txt b/commands/help.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/help.txt b/kernel-wedge-2.96ubuntu3/commands/help.txt new file mode 100644 index 0000000..06b4d90 --- /dev/null -+++ b/commands/help.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/help.txt @@ -0,0 +1,4 @@ +help command + +The help command displays help for another command (or in the case of this +help text, for itself). -diff --git a/commands/install-files b/commands/install-files +diff --git a/kernel-wedge-2.104ubuntu1/commands/install-files b/kernel-wedge-2.96ubuntu3/commands/install-files index c88e29a..2def509 100755 ---- a/commands/install-files -+++ b/commands/install-files +--- a/kernel-wedge-2.104ubuntu1/commands/install-files ++++ b/kernel-wedge-2.96ubuntu3/commands/install-files @@ -45,7 +45,6 @@ while () { } @@ -1296,21 +1276,21 @@ index c88e29a..2def509 100755 + doit("kernel-wedge", "strip-modules", "$kernelversion-$flavour"); } close KVERS; -diff --git a/commands/install-files.txt b/commands/install-files.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/install-files.txt b/kernel-wedge-2.96ubuntu3/commands/install-files.txt new file mode 100644 index 0000000..6a5309e --- /dev/null -+++ b/commands/install-files.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/install-files.txt @@ -0,0 +1,4 @@ +install-files + +Create and populate the package build directories. + -diff --git a/commands/mass-build b/commands/mass-build +diff --git a/kernel-wedge-2.96ubuntu3/commands/mass-build b/kernel-wedge-2.96ubuntu3/commands/mass-build new file mode 100755 index 0000000..301dded --- /dev/null -+++ b/commands/mass-build ++++ b/kernel-wedge-2.96ubuntu3/commands/mass-build @@ -0,0 +1,10 @@ +#!/bin/sh +set -e @@ -1322,20 +1302,20 @@ index 0000000..301dded + cd $pwd + fi +done -diff --git a/commands/mass-build.txt b/commands/mass-build.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/mass-build.txt b/kernel-wedge-2.96ubuntu3/commands/mass-build.txt new file mode 100644 index 0000000..9e906dd --- /dev/null -+++ b/commands/mass-build.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/mass-build.txt @@ -0,0 +1,4 @@ +mass-build + +Runs the build-all command in every linux-kernel-di directory in the +working directory. -diff --git a/commands/preprocess b/commands/preprocess -index 7cd1041..045903b 100755 ---- a/commands/preprocess -+++ b/commands/preprocess +diff --git a/kernel-wedge-2.104ubuntu1/commands/preprocess b/kernel-wedge-2.96ubuntu3/commands/preprocess +index 0c77e52..045903b 100755 +--- a/kernel-wedge-2.104ubuntu1/commands/preprocess ++++ b/kernel-wedge-2.96ubuntu3/commands/preprocess @@ -2,53 +2,51 @@ use strict; use warnings; @@ -1370,7 +1350,7 @@ index 7cd1041..045903b 100755 - File::Find::find({ - follow => 1, # If $moddir is a symlink, follow it. - wanted => sub { -- if (/\.ko(?:\.(?:xz|zstd))?$/) { +- if (/\.ko$/) { - push @module_files, - File::Spec->abs2rel($File::Find::name, - $moddir); @@ -1477,15 +1457,15 @@ index 7cd1041..045903b 100755 + $fullpattern = '^' . $fullpattern . '\.(?:ko|o)$'; - # Add module suffix; anchor at start and end of string -- @regexps = ('^' . $re . '\.ko(?:\.(?:xz|zstd))?$'); +- @regexps = ('^' . $re . '\.ko$'); - } else { - # If pattern doesn't include a wildcard, find the - # module in any subdir, but prefer a module in the - # kernel subdir. We still do wildcard processing - # to handle equivalence of '-' and '_' for Linux. - my $re = wildcard_to_regexp($pattern); -- @regexps = ('^kernel/(?:.*/)?' . $re . '\.ko(?:\.(?:xz|zstd))?$', -- '(?:^|/)' . $re . '\.ko(?:\.(?:xz|zstd))?$'); +- @regexps = ('^kernel/(?:.*/)?' . $re . '\.ko$', +- '(?:^|/)' . $re . '\.ko$'); - } + # We need to recurse only if the pattern contains '**' or a + # directory separator after any wildcard. We could optimise @@ -1607,11 +1587,11 @@ index 7cd1041..045903b 100755 foreach my $m (sort keys %modules) { print "$m\n"; } -diff --git a/commands/preprocess.txt b/commands/preprocess.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/preprocess.txt b/kernel-wedge-2.96ubuntu3/commands/preprocess.txt new file mode 100644 index 0000000..833bbe7 --- /dev/null -+++ b/commands/preprocess.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/preprocess.txt @@ -0,0 +1,11 @@ +preprocess module-list module-dir + @@ -1624,11 +1604,11 @@ index 0000000..833bbe7 +? Match a single character within a path component +* Match any number of characters within a path component +** Match any number of characters including multiple path components -diff --git a/commands/strip-modules b/commands/strip-modules +diff --git a/kernel-wedge-2.96ubuntu3/commands/strip-modules b/kernel-wedge-2.96ubuntu3/commands/strip-modules new file mode 100755 index 0000000..fdc682b --- /dev/null -+++ b/commands/strip-modules ++++ b/kernel-wedge-2.96ubuntu3/commands/strip-modules @@ -0,0 +1,10 @@ +#!/bin/bash -e +exit 0 # temporarily disabled, turn on after etch rc2 release @@ -1640,26 +1620,48 @@ index 0000000..fdc682b + strip -R .comment -R .note -g --strip-unneeded $module + done +done -diff --git a/commands/strip-modules.txt b/commands/strip-modules.txt +diff --git a/kernel-wedge-2.96ubuntu3/commands/strip-modules.txt b/kernel-wedge-2.96ubuntu3/commands/strip-modules.txt new file mode 100644 index 0000000..39d9ede --- /dev/null -+++ b/commands/strip-modules.txt ++++ b/kernel-wedge-2.96ubuntu3/commands/strip-modules.txt @@ -0,0 +1,3 @@ +strip-modules kernel-name + +Remove debugging symbols from kernel modules. Pass the kernel name. -diff --git a/debian/compat b/debian/compat +diff --git a/kernel-wedge-2.96ubuntu3/debian/compat b/kernel-wedge-2.96ubuntu3/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null -+++ b/debian/compat ++++ b/kernel-wedge-2.96ubuntu3/debian/compat @@ -0,0 +1 @@ +9 -diff --git a/debian/copyright b/debian/copyright +diff --git a/kernel-wedge-2.104ubuntu1/debian/control b/kernel-wedge-2.96ubuntu3/debian/control +index 442e4a7..8a3213a 100644 +--- a/kernel-wedge-2.104ubuntu1/debian/control ++++ b/kernel-wedge-2.96ubuntu3/debian/control +@@ -3,12 +3,11 @@ Section: utils + Priority: optional + Maintainer: Ubuntu Developers + XSBC-Original-Maintainer: Debian Install System Team +-Uploaders: Steve Langasek , Ben Hutchings +-Build-Depends: debhelper-compat (= 12) +-Rules-Requires-Root: no +-Standards-Version: 4.4.1 +-Vcs-Browser: https://salsa.debian.org/installer-team/kernel-wedge +-Vcs-Git: https://salsa.debian.org/installer-team/kernel-wedge.git ++Uploaders: Steve Langasek , Ben Hutchings , Christian Perrier ++Build-Depends: debhelper (>= 9) ++Standards-Version: 3.9.4 ++Vcs-Browser: https://anonscm.debian.org/cgit/d-i/kernel-wedge.git ++Vcs-Git: https://anonscm.debian.org/git/d-i/kernel-wedge.git + + Package: kernel-wedge + Architecture: all +diff --git a/kernel-wedge-2.104ubuntu1/debian/copyright b/kernel-wedge-2.96ubuntu3/debian/copyright index 3982c68..168f437 100644 ---- a/debian/copyright -+++ b/debian/copyright +--- a/kernel-wedge-2.104ubuntu1/debian/copyright ++++ b/kernel-wedge-2.96ubuntu3/debian/copyright @@ -1,27 +1,5 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +This package is Copyright (c) 2001-2002 Herbert Xu @@ -1692,57 +1694,49 @@ index 3982c68..168f437 100644 - `/usr/share/common-licenses/GPL-2'. +It is licensed under the terms of the GNU GPL, see +/usr/share/common-licenses/GPL -diff --git a/debian/docs b/debian/docs +diff --git a/kernel-wedge-2.104ubuntu1/debian/docs b/kernel-wedge-2.96ubuntu3/debian/docs index 6f77277..724e084 100644 ---- a/debian/docs -+++ b/debian/docs +--- a/kernel-wedge-2.104ubuntu1/debian/docs ++++ b/kernel-wedge-2.96ubuntu3/debian/docs @@ -1,2 +1,2 @@ -README.md +README TODO -diff --git a/debian/gbp.conf b/debian/gbp.conf -deleted file mode 100644 -index 0bb7b3e..0000000 ---- a/debian/gbp.conf -+++ /dev/null -@@ -1,2 +0,0 @@ --[DEFAULT] --debian-tag=%(version)s -diff --git a/debian/install b/debian/install +diff --git a/kernel-wedge-2.104ubuntu1/debian/install b/kernel-wedge-2.96ubuntu3/debian/install index 7b23e42..8b11304 100644 ---- a/debian/install -+++ b/debian/install +--- a/kernel-wedge-2.104ubuntu1/debian/install ++++ b/kernel-wedge-2.96ubuntu3/debian/install @@ -1,3 +1,2 @@ kernel-wedge usr/bin generic-rules commands usr/share/kernel-wedge -lib/KernelWedge.pm usr/share/perl5 -diff --git a/debian/kernel-wedge.lintian-overrides b/debian/kernel-wedge.lintian-overrides +diff --git a/kernel-wedge-2.104ubuntu1/debian/kernel-wedge.lintian-overrides b/kernel-wedge-2.104ubuntu1/debian/kernel-wedge.lintian-overrides deleted file mode 100644 index 1406034..0000000 ---- a/debian/kernel-wedge.lintian-overrides +--- a/kernel-wedge-2.104ubuntu1/debian/kernel-wedge.lintian-overrides +++ /dev/null @@ -1 +0,0 @@ -kernel-wedge: binary-package-depends-on-toolchain-package Depends: debhelper (>= 9) -diff --git a/debian/manpages b/debian/manpages +diff --git a/kernel-wedge-2.104ubuntu1/debian/manpages b/kernel-wedge-2.96ubuntu3/debian/manpages index bf519d7..85cd183 100644 ---- a/debian/manpages -+++ b/debian/manpages +--- a/kernel-wedge-2.104ubuntu1/debian/manpages ++++ b/kernel-wedge-2.96ubuntu3/debian/manpages @@ -1 +1 @@ -man/*.1 +kernel-wedge.1 -diff --git a/debian/tests/control b/debian/tests/control +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/control b/kernel-wedge-2.104ubuntu1/debian/tests/control deleted file mode 100644 index 9a56926..0000000 ---- a/debian/tests/control +--- a/kernel-wedge-2.104ubuntu1/debian/tests/control +++ /dev/null @@ -1,3 +0,0 @@ -Tests: preprocess -# We don't use gcc but need it to avoid #945772 -Depends: diffutils, gcc -diff --git a/debian/tests/preprocess b/debian/tests/preprocess +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess deleted file mode 100755 index 3106f75..0000000 ---- a/debian/tests/preprocess +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -eu @@ -1802,36 +1796,36 @@ index 3106f75..0000000 -done - -exit "$my_rc" -diff --git a/debian/tests/preprocess-data/builtin.in b/debian/tests/preprocess-data/builtin.in +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/builtin.in b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/builtin.in deleted file mode 100644 index 6a13e96..0000000 ---- a/debian/tests/preprocess-data/builtin.in +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/builtin.in +++ /dev/null @@ -1 +0,0 @@ -builtin -diff --git a/debian/tests/preprocess-data/builtin.out b/debian/tests/preprocess-data/builtin.out +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/builtin.out b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/builtin.out deleted file mode 100644 index e69de29..0000000 -diff --git a/debian/tests/preprocess-data/excludemissing.in b/debian/tests/preprocess-data/excludemissing.in +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/excludemissing.in b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/excludemissing.in deleted file mode 100644 index 4d71975..0000000 ---- a/debian/tests/preprocess-data/excludemissing.in +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/excludemissing.in +++ /dev/null @@ -1,3 +0,0 @@ -does-not-exist -foo -does-not-exist - -diff --git a/debian/tests/preprocess-data/excludemissing.out b/debian/tests/preprocess-data/excludemissing.out +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/excludemissing.out b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/excludemissing.out deleted file mode 100644 index a476456..0000000 ---- a/debian/tests/preprocess-data/excludemissing.out +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/excludemissing.out +++ /dev/null @@ -1 +0,0 @@ -kernel/drivers/foo.ko -diff --git a/debian/tests/preprocess-data/filelist b/debian/tests/preprocess-data/filelist +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/filelist b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/filelist deleted file mode 100644 index 2a6fbf3..0000000 ---- a/debian/tests/preprocess-data/filelist +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/filelist +++ /dev/null @@ -1,18 +0,0 @@ -extra/foo.ko @@ -1852,142 +1846,142 @@ index 2a6fbf3..0000000 -modules.softdep -modules.symbols -modules.symbols.bin -diff --git a/debian/tests/preprocess-data/hyphen.in b/debian/tests/preprocess-data/hyphen.in +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/hyphen.in b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/hyphen.in deleted file mode 100644 index 3645353..0000000 ---- a/debian/tests/preprocess-data/hyphen.in +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/hyphen.in +++ /dev/null @@ -1,2 +0,0 @@ -hyp-hen -under-score -diff --git a/debian/tests/preprocess-data/hyphen.out b/debian/tests/preprocess-data/hyphen.out +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/hyphen.out b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/hyphen.out deleted file mode 100644 index 001fbd3..0000000 ---- a/debian/tests/preprocess-data/hyphen.out +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/hyphen.out +++ /dev/null @@ -1,2 +0,0 @@ -kernel/drivers/hyp-hen.ko -kernel/drivers/under_score.ko -diff --git a/debian/tests/preprocess-data/include.in b/debian/tests/preprocess-data/include.in +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/include.in b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/include.in deleted file mode 100644 index 8645503..0000000 ---- a/debian/tests/preprocess-data/include.in +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/include.in +++ /dev/null @@ -1,2 +0,0 @@ -#include -foo -diff --git a/debian/tests/preprocess-data/include.out b/debian/tests/preprocess-data/include.out +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/include.out b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/include.out deleted file mode 100644 index 09ca089..0000000 ---- a/debian/tests/preprocess-data/include.out +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/include.out +++ /dev/null @@ -1,2 +0,0 @@ -kernel/drivers/foo.ko -kernel/drivers/subdir/bar.ko -diff --git a/debian/tests/preprocess-data/missing.err b/debian/tests/preprocess-data/missing.err +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missing.err b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missing.err deleted file mode 100644 index c9f581c..0000000 ---- a/debian/tests/preprocess-data/missing.err +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missing.err +++ /dev/null @@ -1 +0,0 @@ -missing module does-not-exist -diff --git a/debian/tests/preprocess-data/missing.in b/debian/tests/preprocess-data/missing.in +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missing.in b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missing.in deleted file mode 100644 index 6702195..0000000 ---- a/debian/tests/preprocess-data/missing.in +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missing.in +++ /dev/null @@ -1 +0,0 @@ -does-not-exist -diff --git a/debian/tests/preprocess-data/missing.out b/debian/tests/preprocess-data/missing.out +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missing.out b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missing.out deleted file mode 100644 index e69de29..0000000 -diff --git a/debian/tests/preprocess-data/missing.rc b/debian/tests/preprocess-data/missing.rc +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missing.rc b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missing.rc deleted file mode 100644 index d00491f..0000000 ---- a/debian/tests/preprocess-data/missing.rc +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missing.rc +++ /dev/null @@ -1 +0,0 @@ -1 -diff --git a/debian/tests/preprocess-data/missingdir.err b/debian/tests/preprocess-data/missingdir.err +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missingdir.err b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missingdir.err deleted file mode 100644 index aad5c3a..0000000 ---- a/debian/tests/preprocess-data/missingdir.err +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missingdir.err +++ /dev/null @@ -1,2 +0,0 @@ -pattern missing/dir/* refers to nonexistent subdirectory -Died at SOMEWHERE, <$fh> line 1. -diff --git a/debian/tests/preprocess-data/missingdir.in b/debian/tests/preprocess-data/missingdir.in +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missingdir.in b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missingdir.in deleted file mode 100644 index 3af1147..0000000 ---- a/debian/tests/preprocess-data/missingdir.in +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missingdir.in +++ /dev/null @@ -1 +0,0 @@ -missing/dir/* -diff --git a/debian/tests/preprocess-data/missingdir.out b/debian/tests/preprocess-data/missingdir.out +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missingdir.out b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missingdir.out deleted file mode 100644 index e69de29..0000000 -diff --git a/debian/tests/preprocess-data/missingdir.rc b/debian/tests/preprocess-data/missingdir.rc +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missingdir.rc b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missingdir.rc deleted file mode 100644 index d00491f..0000000 ---- a/debian/tests/preprocess-data/missingdir.rc +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/missingdir.rc +++ /dev/null @@ -1 +0,0 @@ -1 -diff --git a/debian/tests/preprocess-data/modules/common b/debian/tests/preprocess-data/modules/common +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/modules/common b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/modules/common deleted file mode 100644 index 5716ca5..0000000 ---- a/debian/tests/preprocess-data/modules/common +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/modules/common +++ /dev/null @@ -1 +0,0 @@ -bar -diff --git a/debian/tests/preprocess-data/modules.builtin b/debian/tests/preprocess-data/modules.builtin +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/modules.builtin b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/modules.builtin deleted file mode 100644 index 4f01ad9..0000000 ---- a/debian/tests/preprocess-data/modules.builtin +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/modules.builtin +++ /dev/null @@ -1 +0,0 @@ -kernel/blah/builtin.ko -diff --git a/debian/tests/preprocess-data/simple.in b/debian/tests/preprocess-data/simple.in +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/simple.in b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/simple.in deleted file mode 100644 index 257cc56..0000000 ---- a/debian/tests/preprocess-data/simple.in +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/simple.in +++ /dev/null @@ -1 +0,0 @@ -foo -diff --git a/debian/tests/preprocess-data/simple.out b/debian/tests/preprocess-data/simple.out +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/simple.out b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/simple.out deleted file mode 100644 index a476456..0000000 ---- a/debian/tests/preprocess-data/simple.out +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/simple.out +++ /dev/null @@ -1 +0,0 @@ -kernel/drivers/foo.ko -diff --git a/debian/tests/preprocess-data/underscore.in b/debian/tests/preprocess-data/underscore.in +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/underscore.in b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/underscore.in deleted file mode 100644 index 15f1fb8..0000000 ---- a/debian/tests/preprocess-data/underscore.in +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/underscore.in +++ /dev/null @@ -1,2 +0,0 @@ -hyp_hen -under_score -diff --git a/debian/tests/preprocess-data/underscore.out b/debian/tests/preprocess-data/underscore.out +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/underscore.out b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/underscore.out deleted file mode 100644 index 001fbd3..0000000 ---- a/debian/tests/preprocess-data/underscore.out +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/underscore.out +++ /dev/null @@ -1,2 +0,0 @@ -kernel/drivers/hyp-hen.ko -kernel/drivers/under_score.ko -diff --git a/debian/tests/preprocess-data/wilddoublestar.in b/debian/tests/preprocess-data/wilddoublestar.in +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/wilddoublestar.in b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/wilddoublestar.in deleted file mode 100644 index e1d26f4..0000000 ---- a/debian/tests/preprocess-data/wilddoublestar.in +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/wilddoublestar.in +++ /dev/null @@ -1 +0,0 @@ -kernel/drivers/** -diff --git a/debian/tests/preprocess-data/wilddoublestar.out b/debian/tests/preprocess-data/wilddoublestar.out +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/wilddoublestar.out b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/wilddoublestar.out deleted file mode 100644 index ccd912a..0000000 ---- a/debian/tests/preprocess-data/wilddoublestar.out +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/wilddoublestar.out +++ /dev/null @@ -1,5 +0,0 @@ -kernel/drivers/foo.ko @@ -1995,26 +1989,26 @@ index ccd912a..0000000 -kernel/drivers/subdir/bar.ko -kernel/drivers/subdir/baz.ko -kernel/drivers/under_score.ko -diff --git a/debian/tests/preprocess-data/wildstar.in b/debian/tests/preprocess-data/wildstar.in +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/wildstar.in b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/wildstar.in deleted file mode 100644 index a68e216..0000000 ---- a/debian/tests/preprocess-data/wildstar.in +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/wildstar.in +++ /dev/null @@ -1 +0,0 @@ -kernel/drivers/* -diff --git a/debian/tests/preprocess-data/wildstar.out b/debian/tests/preprocess-data/wildstar.out +diff --git a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/wildstar.out b/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/wildstar.out deleted file mode 100644 index ad33cd5..0000000 ---- a/debian/tests/preprocess-data/wildstar.out +--- a/kernel-wedge-2.104ubuntu1/debian/tests/preprocess-data/wildstar.out +++ /dev/null @@ -1,3 +0,0 @@ -kernel/drivers/foo.ko -kernel/drivers/hyp-hen.ko -kernel/drivers/under_score.ko -diff --git a/generic-rules b/generic-rules +diff --git a/kernel-wedge-2.104ubuntu1/generic-rules b/kernel-wedge-2.96ubuntu3/generic-rules index 6ef8263..0bbfe32 100755 ---- a/generic-rules -+++ b/generic-rules +--- a/kernel-wedge-2.104ubuntu1/generic-rules ++++ b/kernel-wedge-2.96ubuntu3/generic-rules @@ -12,7 +12,7 @@ build: debian/control clean: debian/control @@ -2024,10 +2018,10 @@ index 6ef8263..0bbfe32 100755 binary-indep: -diff --git a/kernel-wedge b/kernel-wedge +diff --git a/kernel-wedge-2.104ubuntu1/kernel-wedge b/kernel-wedge-2.96ubuntu3/kernel-wedge index 24cd2f5..75758c2 100755 ---- a/kernel-wedge -+++ b/kernel-wedge +--- a/kernel-wedge-2.104ubuntu1/kernel-wedge ++++ b/kernel-wedge-2.96ubuntu3/kernel-wedge @@ -3,8 +3,9 @@ LIBDIR=/usr/share/kernel-wedge/commands usage () { echo "Usage: kernel-wedge command options" @@ -2040,11 +2034,11 @@ index 24cd2f5..75758c2 100755 done exit 1 } -diff --git a/kernel-wedge.1 b/kernel-wedge.1 +diff --git a/kernel-wedge-2.96ubuntu3/kernel-wedge.1 b/kernel-wedge-2.96ubuntu3/kernel-wedge.1 new file mode 100644 index 0000000..ec52db6 --- /dev/null -+++ b/kernel-wedge.1 ++++ b/kernel-wedge-2.96ubuntu3/kernel-wedge.1 @@ -0,0 +1,15 @@ +.TH NAME 1 +.SH NAME @@ -2061,10 +2055,10 @@ index 0000000..ec52db6 +See /usr/share/doc/kernel-wedge/README.gz for detailed documentation. +.SH AUTHOR +Joey Hess -diff --git a/lib/KernelWedge.pm b/lib/KernelWedge.pm +diff --git a/kernel-wedge-2.104ubuntu1/lib/KernelWedge.pm b/kernel-wedge-2.104ubuntu1/lib/KernelWedge.pm deleted file mode 100644 index a171dfb..0000000 ---- a/lib/KernelWedge.pm +--- a/kernel-wedge-2.104ubuntu1/lib/KernelWedge.pm +++ /dev/null @@ -1,148 +0,0 @@ -package KernelWedge; @@ -2215,10 +2209,10 @@ index a171dfb..0000000 -} - -1; -diff --git a/man/kernel-wedge-build-all.1 b/man/kernel-wedge-build-all.1 +diff --git a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-build-all.1 b/kernel-wedge-2.104ubuntu1/man/kernel-wedge-build-all.1 deleted file mode 100644 index 4cfb5ea..0000000 ---- a/man/kernel-wedge-build-all.1 +--- a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-build-all.1 +++ /dev/null @@ -1,16 +0,0 @@ -.TH KERNEL\-WEDGE\-BUILD\-ALL 1 "June 2019" "Kernel-wedge" @@ -2237,10 +2231,10 @@ index 4cfb5ea..0000000 -\fBdpkg\-cross\fR must be installed, but you do not need a cross compiler. -.SH AUTHOR -Joey Hess -diff --git a/man/kernel-wedge-build-arch.1 b/man/kernel-wedge-build-arch.1 +diff --git a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-build-arch.1 b/kernel-wedge-2.104ubuntu1/man/kernel-wedge-build-arch.1 deleted file mode 100644 index 87255c8..0000000 ---- a/man/kernel-wedge-build-arch.1 +--- a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-build-arch.1 +++ /dev/null @@ -1,18 +0,0 @@ -.TH KERNEL\-WEDGE\-BUILD\-ARCH 1 "June 2019" "Kernel-wedge" @@ -2261,10 +2255,10 @@ index 87255c8..0000000 -\fBdpkg-cross\fR must be installed, but you do not need a cross compiler. -.SH AUTHOR -Frans Pop -diff --git a/man/kernel-wedge-check.1 b/man/kernel-wedge-check.1 +diff --git a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-check.1 b/kernel-wedge-2.104ubuntu1/man/kernel-wedge-check.1 deleted file mode 100644 index 03864f2..0000000 ---- a/man/kernel-wedge-check.1 +--- a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-check.1 +++ /dev/null @@ -1,12 +0,0 @@ -.TH KERNEL\-WEDGE\-CHECK 1 "June 2019" "Kernel-wedge" @@ -2279,10 +2273,10 @@ index 03864f2..0000000 -non-empty. -.SH AUTHOR -Joey Hess -diff --git a/man/kernel-wedge-copy-modules.1 b/man/kernel-wedge-copy-modules.1 +diff --git a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-copy-modules.1 b/kernel-wedge-2.104ubuntu1/man/kernel-wedge-copy-modules.1 deleted file mode 100644 index a52fa0d..0000000 ---- a/man/kernel-wedge-copy-modules.1 +--- a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-copy-modules.1 +++ /dev/null @@ -1,13 +0,0 @@ -.TH KERNEL\-WEDGE\-COPY\-MODULES 1 "June 2019" "Kernel-wedge" @@ -2298,10 +2292,10 @@ index a52fa0d..0000000 -non-empty. -.SH AUTHOR -Joey Hess -diff --git a/man/kernel-wedge-find-dups.1 b/man/kernel-wedge-find-dups.1 +diff --git a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-find-dups.1 b/kernel-wedge-2.104ubuntu1/man/kernel-wedge-find-dups.1 deleted file mode 100644 index 450c69b..0000000 ---- a/man/kernel-wedge-find-dups.1 +--- a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-find-dups.1 +++ /dev/null @@ -1,13 +0,0 @@ -.TH KERNEL\-WEDGE\-FIND\-DUPS 1 "June 2019" "Kernel-wedge" @@ -2317,10 +2311,10 @@ index 450c69b..0000000 -non-empty or the configuration file 'ignore\-dups' exists. -.SH AUTHOR -Joey Hess -diff --git a/man/kernel-wedge-find-unpackaged.1 b/man/kernel-wedge-find-unpackaged.1 +diff --git a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-find-unpackaged.1 b/kernel-wedge-2.104ubuntu1/man/kernel-wedge-find-unpackaged.1 deleted file mode 100644 index fd53b2a..0000000 ---- a/man/kernel-wedge-find-unpackaged.1 +--- a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-find-unpackaged.1 +++ /dev/null @@ -1,12 +0,0 @@ -.TH KERNEL\-WEDGE\-FIND\-UNPACKAGED 1 "June 2019" "Kernel-wedge" @@ -2335,10 +2329,10 @@ index fd53b2a..0000000 -Always return 0. -.SH AUTHOR -Ben Hutchings -diff --git a/man/kernel-wedge-gen-control.1 b/man/kernel-wedge-gen-control.1 +diff --git a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-gen-control.1 b/kernel-wedge-2.104ubuntu1/man/kernel-wedge-gen-control.1 deleted file mode 100644 index 49b4707..0000000 ---- a/man/kernel-wedge-gen-control.1 +--- a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-gen-control.1 +++ /dev/null @@ -1,64 +0,0 @@ -.TH KERNEL\-WEDGE\-GEN\-CONTROL 1 "June 2019" "Kernel-wedge" @@ -2405,10 +2399,10 @@ index 49b4707..0000000 -but should be excluded from the control file. -.SH AUTHOR -Joey Hess, Ben Hutchings -diff --git a/man/kernel-wedge-gen-deps.1 b/man/kernel-wedge-gen-deps.1 +diff --git a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-gen-deps.1 b/kernel-wedge-2.104ubuntu1/man/kernel-wedge-gen-deps.1 deleted file mode 100644 index c9bf9d8..0000000 ---- a/man/kernel-wedge-gen-deps.1 +--- a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-gen-deps.1 +++ /dev/null @@ -1,12 +0,0 @@ -.TH KERNEL\-WEDGE\-GEN\-DEPS 1 "June 2019" "Kernel-wedge" @@ -2423,10 +2417,10 @@ index c9bf9d8..0000000 -the left, and the package it depends on is on the right. It is sorted. -.SH AUTHOR -Joey Hess -diff --git a/man/kernel-wedge-help.1 b/man/kernel-wedge-help.1 +diff --git a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-help.1 b/kernel-wedge-2.104ubuntu1/man/kernel-wedge-help.1 deleted file mode 100644 index 3f7a246..0000000 ---- a/man/kernel-wedge-help.1 +--- a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-help.1 +++ /dev/null @@ -1,11 +0,0 @@ -.TH KERNEL\-WEDGE\-HELP 1 "June 2019" "Kernel-wedge" @@ -2440,10 +2434,10 @@ index 3f7a246..0000000 -command. -.SH AUTHOR -Joey Hess -diff --git a/man/kernel-wedge-install-files.1 b/man/kernel-wedge-install-files.1 +diff --git a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-install-files.1 b/kernel-wedge-2.104ubuntu1/man/kernel-wedge-install-files.1 deleted file mode 100644 index d0d5da9..0000000 ---- a/man/kernel-wedge-install-files.1 +--- a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-install-files.1 +++ /dev/null @@ -1,9 +0,0 @@ -.TH KERNEL\-WEDGE\-INSTALL\-FILES 1 "June 2019" "Kernel-wedge" @@ -2455,10 +2449,10 @@ index d0d5da9..0000000 -Create and populate the package build directories. -.SH AUTHOR -Joey Hess -diff --git a/man/kernel-wedge-preprocess.1 b/man/kernel-wedge-preprocess.1 +diff --git a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-preprocess.1 b/kernel-wedge-2.104ubuntu1/man/kernel-wedge-preprocess.1 deleted file mode 100644 index ea26e8b..0000000 ---- a/man/kernel-wedge-preprocess.1 +--- a/kernel-wedge-2.104ubuntu1/man/kernel-wedge-preprocess.1 +++ /dev/null @@ -1,28 +0,0 @@ -.TH KERNEL\-WEDGE\-PREPROCESS 1 "June 2019" "Kernel-wedge" @@ -2489,10 +2483,10 @@ index ea26e8b..0000000 -treat them as equivalent in module names. -.SH AUTHOR -Joey Hess, Ben Hutchings -diff --git a/man/kernel-wedge.1 b/man/kernel-wedge.1 +diff --git a/kernel-wedge-2.104ubuntu1/man/kernel-wedge.1 b/kernel-wedge-2.104ubuntu1/man/kernel-wedge.1 deleted file mode 100644 index ba482e4..0000000 ---- a/man/kernel-wedge.1 +--- a/kernel-wedge-2.104ubuntu1/man/kernel-wedge.1 +++ /dev/null @@ -1,15 +0,0 @@ -.TH KERNEL\-WEDGE 1 "June 2019" "Kernel-wedge" @@ -2510,81 +2504,81 @@ index ba482e4..0000000 -See /usr/share/doc/kernel-wedge/README.md.gz for detailed documentation. -.SH AUTHOR -Joey Hess -diff --git a/modules/acpi-modules b/modules/acpi-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/acpi-modules b/kernel-wedge-2.96ubuntu3/modules/acpi-modules new file mode 100644 index 0000000..d4723a1 --- /dev/null -+++ b/modules/acpi-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/acpi-modules @@ -0,0 +1,2 @@ +fan +thermal -diff --git a/modules/affs-modules b/modules/affs-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/affs-modules b/kernel-wedge-2.96ubuntu3/modules/affs-modules new file mode 100644 index 0000000..ac28259 --- /dev/null -+++ b/modules/affs-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/affs-modules @@ -0,0 +1 @@ +affs -diff --git a/modules/ata-modules b/modules/ata-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/ata-modules b/kernel-wedge-2.96ubuntu3/modules/ata-modules new file mode 100644 index 0000000..6ca33ce --- /dev/null -+++ b/modules/ata-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/ata-modules @@ -0,0 +1,2 @@ +libata +ata_generic -diff --git a/modules/brltty-modules b/modules/brltty-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/brltty-modules b/kernel-wedge-2.96ubuntu3/modules/brltty-modules new file mode 100644 index 0000000..4345566 --- /dev/null -+++ b/modules/brltty-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/brltty-modules @@ -0,0 +1 @@ +brlvger -diff --git a/modules/btrfs-modules b/modules/btrfs-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/btrfs-modules b/kernel-wedge-2.96ubuntu3/modules/btrfs-modules new file mode 100644 index 0000000..00531f6 --- /dev/null -+++ b/modules/btrfs-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/btrfs-modules @@ -0,0 +1 @@ +btrfs -diff --git a/modules/cdrom-core-modules b/modules/cdrom-core-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/cdrom-core-modules b/kernel-wedge-2.96ubuntu3/modules/cdrom-core-modules new file mode 100644 index 0000000..07d1178 --- /dev/null -+++ b/modules/cdrom-core-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/cdrom-core-modules @@ -0,0 +1,3 @@ +cdrom ? +sr_mod ? +ide-cd_mod ? -diff --git a/modules/core-modules b/modules/core-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/core-modules b/kernel-wedge-2.96ubuntu3/modules/core-modules new file mode 100644 index 0000000..d06c2be --- /dev/null -+++ b/modules/core-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/core-modules @@ -0,0 +1,2 @@ +bitrev ? +led-class ? -diff --git a/modules/crc-modules b/modules/crc-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/crc-modules b/kernel-wedge-2.96ubuntu3/modules/crc-modules new file mode 100644 index 0000000..0b8ec0a --- /dev/null -+++ b/modules/crc-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/crc-modules @@ -0,0 +1,3 @@ +crc-ccitt +libcrc32c +crc32c -diff --git a/modules/crypto-dm-modules b/modules/crypto-dm-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/crypto-dm-modules b/kernel-wedge-2.96ubuntu3/modules/crypto-dm-modules new file mode 100644 index 0000000..189131f --- /dev/null -+++ b/modules/crypto-dm-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/crypto-dm-modules @@ -0,0 +1 @@ +dm-crypt -diff --git a/modules/crypto-modules b/modules/crypto-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/crypto-modules b/kernel-wedge-2.96ubuntu3/modules/crypto-modules new file mode 100644 index 0000000..b443ec1 --- /dev/null -+++ b/modules/crypto-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/crypto-modules @@ -0,0 +1,6 @@ +aes_generic +blowfish @@ -2592,48 +2586,48 @@ index 0000000..b443ec1 +serpent +sha256_generic +cbc ? -diff --git a/modules/efi-modules b/modules/efi-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/efi-modules b/kernel-wedge-2.96ubuntu3/modules/efi-modules new file mode 100644 index 0000000..9173272 --- /dev/null -+++ b/modules/efi-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/efi-modules @@ -0,0 +1 @@ +efivars -diff --git a/modules/event-modules b/modules/event-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/event-modules b/kernel-wedge-2.96ubuntu3/modules/event-modules new file mode 100644 index 0000000..97a5e58 --- /dev/null -+++ b/modules/event-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/event-modules @@ -0,0 +1 @@ +evdev -diff --git a/modules/ext2-modules b/modules/ext2-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/ext2-modules b/kernel-wedge-2.96ubuntu3/modules/ext2-modules new file mode 100644 index 0000000..43d7af3 --- /dev/null -+++ b/modules/ext2-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/ext2-modules @@ -0,0 +1 @@ +ext2 -diff --git a/modules/ext3-modules b/modules/ext3-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/ext3-modules b/kernel-wedge-2.96ubuntu3/modules/ext3-modules new file mode 100644 index 0000000..1c28572 --- /dev/null -+++ b/modules/ext3-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/ext3-modules @@ -0,0 +1,2 @@ +ext3 +jbd -diff --git a/modules/ext4-modules b/modules/ext4-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/ext4-modules b/kernel-wedge-2.96ubuntu3/modules/ext4-modules new file mode 100644 index 0000000..6100342 --- /dev/null -+++ b/modules/ext4-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/ext4-modules @@ -0,0 +1,2 @@ +ext4 +jbd2 -diff --git a/modules/fat-modules b/modules/fat-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/fat-modules b/kernel-wedge-2.96ubuntu3/modules/fat-modules new file mode 100644 index 0000000..37e6d05 --- /dev/null -+++ b/modules/fat-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/fat-modules @@ -0,0 +1,6 @@ +fat ? +vfat @@ -2641,51 +2635,51 @@ index 0000000..37e6d05 +nls_cp437 ? +# the default i/o character set for fat (as of 2.6.25) +nls_utf8 ? -diff --git a/modules/firewire-core-modules b/modules/firewire-core-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/firewire-core-modules b/kernel-wedge-2.96ubuntu3/modules/firewire-core-modules new file mode 100644 index 0000000..ebfcb22 --- /dev/null -+++ b/modules/firewire-core-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/firewire-core-modules @@ -0,0 +1,5 @@ +ieee1394 ? +ohci1394 ? +sbp2 ? +firewire-ohci ? +firewire-sbp2 ? -diff --git a/modules/floppy-modules b/modules/floppy-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/floppy-modules b/kernel-wedge-2.96ubuntu3/modules/floppy-modules new file mode 100644 index 0000000..8b54ec8 --- /dev/null -+++ b/modules/floppy-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/floppy-modules @@ -0,0 +1 @@ +floppy -diff --git a/modules/hfs-modules b/modules/hfs-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/hfs-modules b/kernel-wedge-2.96ubuntu3/modules/hfs-modules new file mode 100644 index 0000000..4a31155 --- /dev/null -+++ b/modules/hfs-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/hfs-modules @@ -0,0 +1,2 @@ +hfs +hfsplus -diff --git a/modules/i2c-modules b/modules/i2c-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/i2c-modules b/kernel-wedge-2.96ubuntu3/modules/i2c-modules new file mode 100644 index 0000000..8c51c24 --- /dev/null -+++ b/modules/i2c-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/i2c-modules @@ -0,0 +1 @@ +i2c-core -diff --git a/modules/ide-core-modules b/modules/ide-core-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/ide-core-modules b/kernel-wedge-2.96ubuntu3/modules/ide-core-modules new file mode 100644 index 0000000..96284d1 --- /dev/null -+++ b/modules/ide-core-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/ide-core-modules @@ -0,0 +1 @@ +ide-core -diff --git a/modules/ide-modules b/modules/ide-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/ide-modules b/kernel-wedge-2.96ubuntu3/modules/ide-modules new file mode 100644 index 0000000..c8ad937 --- /dev/null -+++ b/modules/ide-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/ide-modules @@ -0,0 +1,32 @@ +ide-generic ? +ide-gd_mod ? @@ -2719,11 +2713,11 @@ index 0000000..c8ad937 +via82cxxx ? +delkin_cb ? +tc86c001 ? -diff --git a/modules/input-modules b/modules/input-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/input-modules b/kernel-wedge-2.96ubuntu3/modules/input-modules new file mode 100644 index 0000000..8134eee --- /dev/null -+++ b/modules/input-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/input-modules @@ -0,0 +1,8 @@ +usbhid +hid-apple ? @@ -2733,57 +2727,57 @@ index 0000000..8134eee +hid-monterey ? +hid-sunplus ? +hid-cherry ? -diff --git a/modules/ipv6-modules b/modules/ipv6-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/ipv6-modules b/kernel-wedge-2.96ubuntu3/modules/ipv6-modules new file mode 100644 index 0000000..13ac34b --- /dev/null -+++ b/modules/ipv6-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/ipv6-modules @@ -0,0 +1 @@ +ipv6 -diff --git a/modules/isofs-modules b/modules/isofs-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/isofs-modules b/kernel-wedge-2.96ubuntu3/modules/isofs-modules new file mode 100644 index 0000000..0f41779 --- /dev/null -+++ b/modules/isofs-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/isofs-modules @@ -0,0 +1 @@ +isofs -diff --git a/modules/jffs2-modules b/modules/jffs2-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/jffs2-modules b/kernel-wedge-2.96ubuntu3/modules/jffs2-modules new file mode 100644 index 0000000..19f4e10 --- /dev/null -+++ b/modules/jffs2-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/jffs2-modules @@ -0,0 +1 @@ +jffs2 -diff --git a/modules/jfs-modules b/modules/jfs-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/jfs-modules b/kernel-wedge-2.96ubuntu3/modules/jfs-modules new file mode 100644 index 0000000..aa604c4 --- /dev/null -+++ b/modules/jfs-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/jfs-modules @@ -0,0 +1 @@ +jfs -diff --git a/modules/loop-aes-modules b/modules/loop-aes-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/loop-aes-modules b/kernel-wedge-2.96ubuntu3/modules/loop-aes-modules new file mode 100644 index 0000000..c51e8dc --- /dev/null -+++ b/modules/loop-aes-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/loop-aes-modules @@ -0,0 +1,4 @@ +loop-aes +loop_twofish +loop_blowfish +loop_serpent -diff --git a/modules/loop-modules b/modules/loop-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/loop-modules b/kernel-wedge-2.96ubuntu3/modules/loop-modules new file mode 100644 index 0000000..5281728 --- /dev/null -+++ b/modules/loop-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/loop-modules @@ -0,0 +1,2 @@ +loop +cloop ? -diff --git a/modules/md-modules b/modules/md-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/md-modules b/kernel-wedge-2.96ubuntu3/modules/md-modules new file mode 100644 index 0000000..83f3925 --- /dev/null -+++ b/modules/md-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/md-modules @@ -0,0 +1,11 @@ +linear +md-mod @@ -2796,66 +2790,66 @@ index 0000000..83f3925 +xor +dm-mirror +dm-snapshot -diff --git a/modules/minix-modules b/modules/minix-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/minix-modules b/kernel-wedge-2.96ubuntu3/modules/minix-modules new file mode 100644 index 0000000..aa6ca5d --- /dev/null -+++ b/modules/minix-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/minix-modules @@ -0,0 +1 @@ +minix -diff --git a/modules/mmc-core-modules b/modules/mmc-core-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/mmc-core-modules b/kernel-wedge-2.96ubuntu3/modules/mmc-core-modules new file mode 100644 index 0000000..67128ea --- /dev/null -+++ b/modules/mmc-core-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/mmc-core-modules @@ -0,0 +1 @@ +mmc_core -diff --git a/modules/mmc-modules b/modules/mmc-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/mmc-modules b/kernel-wedge-2.96ubuntu3/modules/mmc-modules new file mode 100644 index 0000000..7d98f69 --- /dev/null -+++ b/modules/mmc-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/mmc-modules @@ -0,0 +1,4 @@ +mmc_block +sdhci +ricoh_mmc ? +tifm_sd -diff --git a/modules/mouse-modules b/modules/mouse-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/mouse-modules b/kernel-wedge-2.96ubuntu3/modules/mouse-modules new file mode 100644 index 0000000..8d65ba4 --- /dev/null -+++ b/modules/mouse-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/mouse-modules @@ -0,0 +1 @@ +psmouse -diff --git a/modules/multipath-modules b/modules/multipath-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/multipath-modules b/kernel-wedge-2.96ubuntu3/modules/multipath-modules new file mode 100644 index 0000000..5fa964c --- /dev/null -+++ b/modules/multipath-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/multipath-modules @@ -0,0 +1,2 @@ +dm-multipath +dm-round-robin -diff --git a/modules/nbd-modules b/modules/nbd-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/nbd-modules b/kernel-wedge-2.96ubuntu3/modules/nbd-modules new file mode 100644 index 0000000..cb3ca60 --- /dev/null -+++ b/modules/nbd-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/nbd-modules @@ -0,0 +1 @@ +nbd -diff --git a/modules/nfs-modules b/modules/nfs-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/nfs-modules b/kernel-wedge-2.96ubuntu3/modules/nfs-modules new file mode 100644 index 0000000..a5bfd2c --- /dev/null -+++ b/modules/nfs-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/nfs-modules @@ -0,0 +1,3 @@ +nfs +lockd +sunrpc -diff --git a/modules/nic-extra-modules b/modules/nic-extra-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/nic-extra-modules b/kernel-wedge-2.96ubuntu3/modules/nic-extra-modules new file mode 100644 index 0000000..157b5c8 --- /dev/null -+++ b/modules/nic-extra-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/nic-extra-modules @@ -0,0 +1,122 @@ +# Note that this is an incomplete list that tries to be a common subset +# that is right for most kernels. Suppliment with any others. @@ -2979,11 +2973,11 @@ index 0000000..157b5c8 +smsc ? +ste10Xp ? +vitesse ? -diff --git a/modules/nic-modules b/modules/nic-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/nic-modules b/kernel-wedge-2.96ubuntu3/modules/nic-modules new file mode 100644 index 0000000..16f0d8c --- /dev/null -+++ b/modules/nic-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/nic-modules @@ -0,0 +1,11 @@ +# Some very common nic modules. +3c59x @@ -2996,11 +2990,11 @@ index 0000000..16f0d8c +winbond-840 +eth1394 ? +xen-netfront ? -diff --git a/modules/nic-pcmcia-modules b/modules/nic-pcmcia-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/nic-pcmcia-modules b/kernel-wedge-2.96ubuntu3/modules/nic-pcmcia-modules new file mode 100644 index 0000000..53b32b2 --- /dev/null -+++ b/modules/nic-pcmcia-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/nic-pcmcia-modules @@ -0,0 +1,20 @@ +# Common pcmcia nic modules. +3c574_cs @@ -3022,11 +3016,11 @@ index 0000000..53b32b2 +xircom_cb +atmel_cs ? +wl3501_cs ? -diff --git a/modules/nic-usb-modules b/modules/nic-usb-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/nic-usb-modules b/kernel-wedge-2.96ubuntu3/modules/nic-usb-modules new file mode 100644 index 0000000..064b926 --- /dev/null -+++ b/modules/nic-usb-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/nic-usb-modules @@ -0,0 +1,16 @@ +catc +kaweth @@ -3044,11 +3038,11 @@ index 0000000..064b926 +rtl8180 ? +rtl8187 ? +g_ether ? -diff --git a/modules/nic-wireless-modules b/modules/nic-wireless-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/nic-wireless-modules b/kernel-wedge-2.96ubuntu3/modules/nic-wireless-modules new file mode 100644 index 0000000..d965067 --- /dev/null -+++ b/modules/nic-wireless-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/nic-wireless-modules @@ -0,0 +1,31 @@ +ieee80211_crypt_wep ? +atmel_pci ? @@ -3081,26 +3075,26 @@ index 0000000..d965067 +# Crypto modules needed for ieee80211 WEP support +ecb ? +arc4 ? -diff --git a/modules/nls-core-modules b/modules/nls-core-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/nls-core-modules b/kernel-wedge-2.96ubuntu3/modules/nls-core-modules new file mode 100644 index 0000000..a38fab7 --- /dev/null -+++ b/modules/nls-core-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/nls-core-modules @@ -0,0 +1 @@ +nls_base -diff --git a/modules/parport-modules b/modules/parport-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/parport-modules b/kernel-wedge-2.96ubuntu3/modules/parport-modules new file mode 100644 index 0000000..2d9f698 --- /dev/null -+++ b/modules/parport-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/parport-modules @@ -0,0 +1,2 @@ +parport +parport_pc -diff --git a/modules/pata-modules b/modules/pata-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/pata-modules b/kernel-wedge-2.96ubuntu3/modules/pata-modules new file mode 100644 index 0000000..4df22e0 --- /dev/null -+++ b/modules/pata-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/pata-modules @@ -0,0 +1,38 @@ +pata_ali ? +pata_amd ? @@ -3140,11 +3134,11 @@ index 0000000..4df22e0 +pata_triflex ? +pata_via ? +pata_winbond ? -diff --git a/modules/pcmcia-modules b/modules/pcmcia-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/pcmcia-modules b/kernel-wedge-2.96ubuntu3/modules/pcmcia-modules new file mode 100644 index 0000000..ab5b4b2 --- /dev/null -+++ b/modules/pcmcia-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/pcmcia-modules @@ -0,0 +1,8 @@ +pcmcia + @@ -3154,59 +3148,59 @@ index 0000000..ab5b4b2 +tcic ? +yenta_socket +pd6729 ? -diff --git a/modules/pcmcia-storage-modules b/modules/pcmcia-storage-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/pcmcia-storage-modules b/kernel-wedge-2.96ubuntu3/modules/pcmcia-storage-modules new file mode 100644 index 0000000..69849ef --- /dev/null -+++ b/modules/pcmcia-storage-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/pcmcia-storage-modules @@ -0,0 +1,2 @@ +ide-cs +pata_pcmcia ? -diff --git a/modules/plip-modules b/modules/plip-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/plip-modules b/kernel-wedge-2.96ubuntu3/modules/plip-modules new file mode 100644 index 0000000..bcb0ea8 --- /dev/null -+++ b/modules/plip-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/plip-modules @@ -0,0 +1 @@ +plip -diff --git a/modules/ppp-modules b/modules/ppp-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/ppp-modules b/kernel-wedge-2.96ubuntu3/modules/ppp-modules new file mode 100644 index 0000000..0dd77f0 --- /dev/null -+++ b/modules/ppp-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/ppp-modules @@ -0,0 +1,5 @@ +ppp_async ? +ppp_deflate +ppp_synctty ? +pppoe +pppox -diff --git a/modules/qnx4-modules b/modules/qnx4-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/qnx4-modules b/kernel-wedge-2.96ubuntu3/modules/qnx4-modules new file mode 100644 index 0000000..05d4adc --- /dev/null -+++ b/modules/qnx4-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/qnx4-modules @@ -0,0 +1 @@ +qnx4 -diff --git a/modules/reiserfs-modules b/modules/reiserfs-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/reiserfs-modules b/kernel-wedge-2.96ubuntu3/modules/reiserfs-modules new file mode 100644 index 0000000..5a01360 --- /dev/null -+++ b/modules/reiserfs-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/reiserfs-modules @@ -0,0 +1 @@ +reiserfs -diff --git a/modules/rtc-modules b/modules/rtc-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/rtc-modules b/kernel-wedge-2.96ubuntu3/modules/rtc-modules new file mode 100644 index 0000000..0a78e78 --- /dev/null -+++ b/modules/rtc-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/rtc-modules @@ -0,0 +1,2 @@ +rtc ? +rtc-cmos -diff --git a/modules/sata-modules b/modules/sata-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/sata-modules b/kernel-wedge-2.96ubuntu3/modules/sata-modules new file mode 100644 index 0000000..119f13f --- /dev/null -+++ b/modules/sata-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/sata-modules @@ -0,0 +1,20 @@ +ata_piix ? +sata_nv ? @@ -3228,31 +3222,31 @@ index 0000000..119f13f +sata_mv ? +pdc_adma ? +sata_inic162x ? -diff --git a/modules/scsi-common-modules b/modules/scsi-common-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/scsi-common-modules b/kernel-wedge-2.96ubuntu3/modules/scsi-common-modules new file mode 100644 index 0000000..9baefe5 --- /dev/null -+++ b/modules/scsi-common-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/scsi-common-modules @@ -0,0 +1,5 @@ +aic79xx +aic7xxx +BusLogic ? +sym53c8xx +sym53c8xx_2 ? -diff --git a/modules/scsi-core-modules b/modules/scsi-core-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/scsi-core-modules b/kernel-wedge-2.96ubuntu3/modules/scsi-core-modules new file mode 100644 index 0000000..372fed5 --- /dev/null -+++ b/modules/scsi-core-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/scsi-core-modules @@ -0,0 +1,3 @@ +scsi_dh +scsi_mod +sd_mod -diff --git a/modules/scsi-extra-modules b/modules/scsi-extra-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/scsi-extra-modules b/kernel-wedge-2.96ubuntu3/modules/scsi-extra-modules new file mode 100644 index 0000000..8443e16 --- /dev/null -+++ b/modules/scsi-extra-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/scsi-extra-modules @@ -0,0 +1,35 @@ +3w-xxxx +DAC960 @@ -3289,11 +3283,11 @@ index 0000000..8443e16 +hptiop ? +qla4xxx ? +qla2xxx ? -diff --git a/modules/scsi-modules b/modules/scsi-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/scsi-modules b/kernel-wedge-2.96ubuntu3/modules/scsi-modules new file mode 100644 index 0000000..32e606c --- /dev/null -+++ b/modules/scsi-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/scsi-modules @@ -0,0 +1,28 @@ +NCR53c406a ? +advansys ? @@ -3323,18 +3317,18 @@ index 0000000..32e606c +aic94xx ? +stex ? +xen-blkfront ? -diff --git a/modules/serial-modules b/modules/serial-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/serial-modules b/kernel-wedge-2.96ubuntu3/modules/serial-modules new file mode 100644 index 0000000..4756752 --- /dev/null -+++ b/modules/serial-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/serial-modules @@ -0,0 +1 @@ +serial_cs -diff --git a/modules/sound-modules b/modules/sound-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/sound-modules b/kernel-wedge-2.96ubuntu3/modules/sound-modules new file mode 100644 index 0000000..0e0e7c9 --- /dev/null -+++ b/modules/sound-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/sound-modules @@ -0,0 +1,143 @@ +snd-aaci ? +snd-ad1816a ? @@ -3479,11 +3473,11 @@ index 0000000..0e0e7c9 +snd-wavefront ? +snd-ymfpci ? +snd_ps3 ? -diff --git a/modules/speakup-modules b/modules/speakup-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/speakup-modules b/kernel-wedge-2.96ubuntu3/modules/speakup-modules new file mode 100644 index 0000000..59e3f9e --- /dev/null -+++ b/modules/speakup-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/speakup-modules @@ -0,0 +1,15 @@ +speakup +speakup_acntpc @@ -3500,42 +3494,42 @@ index 0000000..59e3f9e +speakup_soft +speakup_spkout +speakup_txprt -diff --git a/modules/squashfs-modules b/modules/squashfs-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/squashfs-modules b/kernel-wedge-2.96ubuntu3/modules/squashfs-modules new file mode 100644 index 0000000..7c1157f --- /dev/null -+++ b/modules/squashfs-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/squashfs-modules @@ -0,0 +1 @@ +squashfs -diff --git a/modules/ufs-modules b/modules/ufs-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/ufs-modules b/kernel-wedge-2.96ubuntu3/modules/ufs-modules new file mode 100644 index 0000000..19173e9 --- /dev/null -+++ b/modules/ufs-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/ufs-modules @@ -0,0 +1 @@ +ufs -diff --git a/modules/uinput-modules b/modules/uinput-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/uinput-modules b/kernel-wedge-2.96ubuntu3/modules/uinput-modules new file mode 100644 index 0000000..42bc005 --- /dev/null -+++ b/modules/uinput-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/uinput-modules @@ -0,0 +1 @@ +uinput -diff --git a/modules/usb-modules b/modules/usb-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/usb-modules b/kernel-wedge-2.96ubuntu3/modules/usb-modules new file mode 100644 index 0000000..ac99de2 --- /dev/null -+++ b/modules/usb-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/usb-modules @@ -0,0 +1,4 @@ +ehci-hcd ? +ohci-hcd ? +uhci-hcd ? +usbcore ? -diff --git a/modules/usb-serial-modules b/modules/usb-serial-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/usb-serial-modules b/kernel-wedge-2.96ubuntu3/modules/usb-serial-modules new file mode 100644 index 0000000..7726ac5 --- /dev/null -+++ b/modules/usb-serial-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/usb-serial-modules @@ -0,0 +1,7 @@ +usbserial +belkin_sa ? @@ -3544,11 +3538,11 @@ index 0000000..7726ac5 +mct_u232 ? +pl2303 ? +spcp8x5 ? -diff --git a/modules/usb-storage-modules b/modules/usb-storage-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/usb-storage-modules b/kernel-wedge-2.96ubuntu3/modules/usb-storage-modules new file mode 100644 index 0000000..b87ec0a --- /dev/null -+++ b/modules/usb-storage-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/usb-storage-modules @@ -0,0 +1,12 @@ +usb-storage +ums-jumpshot ? @@ -3562,11 +3556,11 @@ index 0000000..b87ec0a +ums-cypress ? +ums-usbat ? +ums-sddr55 ? -diff --git a/modules/virtio-modules b/modules/virtio-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/virtio-modules b/kernel-wedge-2.96ubuntu3/modules/virtio-modules new file mode 100644 index 0000000..84d09e4 --- /dev/null -+++ b/modules/virtio-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/virtio-modules @@ -0,0 +1,6 @@ +virtio_net +virtio_blk @@ -3574,18 +3568,18 @@ index 0000000..84d09e4 + +# Some architectures do not have PCI bus +virtio_pci ? -diff --git a/modules/xfs-modules b/modules/xfs-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/xfs-modules b/kernel-wedge-2.96ubuntu3/modules/xfs-modules new file mode 100644 index 0000000..7bd8fb2 --- /dev/null -+++ b/modules/xfs-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/xfs-modules @@ -0,0 +1,2 @@ +# Not available currently on all kernel versions, so marked optional. +xfs ? -diff --git a/modules/zlib-modules b/modules/zlib-modules +diff --git a/kernel-wedge-2.96ubuntu3/modules/zlib-modules b/kernel-wedge-2.96ubuntu3/modules/zlib-modules new file mode 100644 index 0000000..322c546 --- /dev/null -+++ b/modules/zlib-modules ++++ b/kernel-wedge-2.96ubuntu3/modules/zlib-modules @@ -0,0 +1 @@ +zlib_deflate diff --git a/helpers/DATA/keyring.gpg b/helpers/DATA/keyring.gpg index 2ab38e5..c2c2169 100644 Binary files a/helpers/DATA/keyring.gpg and b/helpers/DATA/keyring.gpg differ diff --git a/helpers/DATA/kolourpaint/patch_changes/000-add_recommends_icon_theme_for_kolourpaint.patch b/helpers/DATA/kolourpaint/patch_changes/000-add_recommends_icon_theme_for_kolourpaint.patch deleted file mode 100644 index 89736f9..0000000 --- a/helpers/DATA/kolourpaint/patch_changes/000-add_recommends_icon_theme_for_kolourpaint.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/debian/control b/debian/control -index 43e3abe5..1677a89d 100644 ---- a/debian/control -+++ b/debian/control -@@ -32,6 +32,7 @@ Package: kolourpaint - Section: graphics - Architecture: any - Depends: ${misc:Depends}, ${shlibs:Depends} -+Recommends: breeze-icon-theme - Breaks: kolourpaint4 (<< 4:17.04) - Replaces: kolourpaint4 (<< 4:17.04) - Description: simple image editor and drawing application diff --git a/helpers/DATA/kubuntu-settings/face.icon b/helpers/DATA/kubuntu-settings/face.icon deleted file mode 100644 index 9dcfc66..0000000 --- a/helpers/DATA/kubuntu-settings/face.icon +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - Go Home - - - go - seek - home - - - - - Rodney Dawes - - - - - Jakub Steiner - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helpers/DATA/kubuntu-settings/patch_changes/000-tune-distro-welcome-to-trisquels-vision.patch b/helpers/DATA/kubuntu-settings/patch_changes/000-tune-distro-welcome-to-trisquels-vision.patch deleted file mode 100644 index 577565c..0000000 --- a/helpers/DATA/kubuntu-settings/patch_changes/000-tune-distro-welcome-to-trisquels-vision.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/desktop/plasma/plasma-welcome-extra-pages/01-Kubuntu.qml b/desktop/plasma/plasma-welcome-extra-pages/01-Kubuntu.qml_ -index ecb6354a..fcede269 100644 ---- a/desktop/plasma/plasma-welcome-extra-pages/01-Kubuntu.qml -+++ b/desktop/plasma/plasma-welcome-extra-pages/01-Kubuntu.qml_ -@@ -1,6 +1,7 @@ - /* - * SPDX-FileCopyrightText: 2021 Felipe Kinoshita - * SPDX-FileCopyrightText: 2022 Nate Graham -+ * SPDX-FileCopyrightText: 2025 Luis Guzmán - * - * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL - */ -@@ -17,22 +18,21 @@ import org.kde.plasma.welcome 1.0 - GenericPage { - heading: i18nc("@info:window", "Welcome to Triskel | Friendly Computing") - description: i18nc("@info:usagetip", -- '

You are using the Triskel® Linux distribution, an official Ubuntu® flavor. -- It is used by millions around the world who value:

-+ '

You are using the Triskel GNU/Linux distribution, an official Trisquel flavor. -+ It is used by users around the world who value:

- -
    -
  • The beautiful and intuitive KDE Plasma desktop and KDE apps
  • --
  • The breadth and compatibility of the full Ubuntu -- archive
  • -+
  • The breadth and compatibility of the full Trisquel archive
  • -
  • Frequent security updates
  • -
  • Current, reliable core apps for productivity, office, email, - graphics, and music
  • --
  • The availability of Triskel-optimized hardware and commercial support
  • -+
  • Software Freedom along with the availability of Trisquel-community support
  • -
- --

Triskel is free software developed by members of the global Ubuntu® -+

Triskel is free software developed by members of the global - community. Please donate today to support its continued development. All -- proceeds fund the Triskel Developer Team!

-+ proceeds fund the continuity of the developement of Trisquel!

- '); - - RowLayout { diff --git a/helpers/DATA/kubuntu-settings/usr-share/README.md b/helpers/DATA/kubuntu-settings/usr-share/README.md deleted file mode 100644 index b6c0f62..0000000 --- a/helpers/DATA/kubuntu-settings/usr-share/README.md +++ /dev/null @@ -1,11 +0,0 @@ -## Logotype note - -The logo `triskel_tour.svg` has been modified for visual effects. - -Please, do NOT reuse as "original" Trisquel logo. - -Get a original copy from other source this image shouldn't be used on other places. - -Regards. - --- Ark74 \ No newline at end of file diff --git a/helpers/DATA/kubuntu-settings/usr-share/triskel_donate.svg b/helpers/DATA/kubuntu-settings/usr-share/triskel_donate.svg deleted file mode 100644 index 9784834..0000000 --- a/helpers/DATA/kubuntu-settings/usr-share/triskel_donate.svg +++ /dev/null @@ -1,102 +0,0 @@ - -Donate diff --git a/helpers/DATA/kubuntu-settings/usr-share/triskel_tour.svg b/helpers/DATA/kubuntu-settings/usr-share/triskel_tour.svg deleted file mode 100644 index 0a620b0..0000000 --- a/helpers/DATA/kubuntu-settings/usr-share/triskel_tour.svg +++ /dev/null @@ -1,482 +0,0 @@ - -View the Feature Tour diff --git a/helpers/DATA/kubuntu-settings/wallpaper/Ecne/contents/images/3840x2160.jpg b/helpers/DATA/kubuntu-settings/wallpaper/Ecne/contents/images/3840x2160.jpg deleted file mode 100644 index bfd0658..0000000 Binary files a/helpers/DATA/kubuntu-settings/wallpaper/Ecne/contents/images/3840x2160.jpg and /dev/null differ diff --git a/helpers/DATA/kubuntu-settings/wallpaper/Ecne/contents/screenshot.jpg b/helpers/DATA/kubuntu-settings/wallpaper/Ecne/contents/screenshot.jpg deleted file mode 100644 index 89fa109..0000000 Binary files a/helpers/DATA/kubuntu-settings/wallpaper/Ecne/contents/screenshot.jpg and /dev/null differ diff --git a/helpers/DATA/kubuntu-settings/wallpaper/Ecne/metadata.desktop b/helpers/DATA/kubuntu-settings/wallpaper/Ecne/metadata.desktop deleted file mode 100644 index 0f16be3..0000000 --- a/helpers/DATA/kubuntu-settings/wallpaper/Ecne/metadata.desktop +++ /dev/null @@ -1,4 +0,0 @@ -[Desktop Entry] - -Name=Ecne -X-KDE-PluginInfo-License=GPLv3+ diff --git a/helpers/DATA/language-selector/patch_changes/000-add_language-selector_support_browsers.patch b/helpers/DATA/language-selector/patch_changes/000-add_language-selector_support_browsers.patch deleted file mode 100644 index 611d7f8..0000000 --- a/helpers/DATA/language-selector/patch_changes/000-add_language-selector_support_browsers.patch +++ /dev/null @@ -1,24 +0,0 @@ -Add icedove and abrowser, and other browsers to the supported language-selector apps. - -diff --git a/data/pkg_depends b/data/pkg_depends -index 73d0d019..f38d68a6 100644 ---- a/data/pkg_depends -+++ b/data/pkg_depends -@@ -11,13 +11,15 @@ tr::gvfs:language-pack-gnome- - # Format: %LCODE% or %LCODE%-%CCODE% - tr::libreoffice-common:libreoffice-l10n- - tr::libreoffice-common:libreoffice-help- --tr::thunderbird:thunderbird-locale- -+tr::icedove:icedove-locale- -+tr::abrowser:abrowser-locale- -+tr::icecat:icecat-locale- - tr::lightning-extension:lightning-extension-locale- - tr::sunbird:sunbird-locale- - tr::sword-text-gerlut1545:sword-language-pack- - tr::gimp:gimp-help- - tr::evolution:evolution-documentation- --tr::chromium-browser:chromium-browser-l10n -+tr::ungoogled-chromium:ungoogled-chromium-l10n - tr::sylpheed:sylpheed-i18n - tr::amarok:amarok-help- - tr::gnome-user-docs:gnome-user-docs- diff --git a/helpers/DATA/libmateweather/patch_changes/001-0cc07f7e5163870bcc2fb7281c28e8e39c9cbc54.patch b/helpers/DATA/libmateweather/patch_changes/001-0cc07f7e5163870bcc2fb7281c28e8e39c9cbc54.patch new file mode 100644 index 0000000..8596e63 --- /dev/null +++ b/helpers/DATA/libmateweather/patch_changes/001-0cc07f7e5163870bcc2fb7281c28e8e39c9cbc54.patch @@ -0,0 +1,22 @@ +From 0cc07f7e5163870bcc2fb7281c28e8e39c9cbc54 Mon Sep 17 00:00:00 2001 +From: Mike Ovchinnikov +Date: Wed, 18 Oct 2023 14:59:53 +0400 +Subject: [PATCH] Dataserver url changed + +--- + libmateweather/weather-metar.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libmateweather/weather-metar.c b/libmateweather/weather-metar.c +index a9f3c84d..0ae2cbb9 100644 +--- a/libmateweather/weather-metar.c ++++ b/libmateweather/weather-metar.c +@@ -550,7 +550,7 @@ metar_start_open (WeatherInfo *info) + } + + msg = soup_form_request_new ( +- "GET", "https://www.aviationweather.gov/adds/dataserver_current/httpparam", ++ "GET", "https://www.aviationweather.gov/cgi-bin/data/dataserver.php", + "dataSource", "metars", + "requestType", "retrieve", + "format", "xml", diff --git a/helpers/DATA/libmateweather/patch_changes/002-a61542ffc2d3807dbc3163d1727cc5d8c2118838.patch b/helpers/DATA/libmateweather/patch_changes/002-a61542ffc2d3807dbc3163d1727cc5d8c2118838.patch new file mode 100644 index 0000000..5da2035 --- /dev/null +++ b/helpers/DATA/libmateweather/patch_changes/002-a61542ffc2d3807dbc3163d1727cc5d8c2118838.patch @@ -0,0 +1,42 @@ +From a61542ffc2d3807dbc3163d1727cc5d8c2118838 Mon Sep 17 00:00:00 2001 +From: mbkma +Date: Wed, 11 Jan 2023 20:53:29 +0100 +Subject: [PATCH] rename Europe/Kiev to Europe/Kyiv + +--- + data/Locations.xml.in | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/data/Locations.xml.in b/data/Locations.xml.in +index 8bf9bad..ea75673 100644 +--- a/data/Locations.xml.in ++++ b/data/Locations.xml.in +@@ -20627,13 +20627,12 @@ + UA + UP + +- +- Europe/Simferopol ++ + Europe/Uzhgorod + Europe/Zaporozhye + + +- Europe/Kiev ++ Europe/Kyiv + + + Boryspil' +@@ -20706,10 +20705,10 @@ + + + +- Kiev ++ Kyiv + 50.433333 30.516667 + + Kyiv diff --git a/helpers/DATA/libmateweather/patch_changes/001-weather_server_uri_update_138.patch b/helpers/DATA/libmateweather/patch_changes/003-weather_server_uri_update_138.patch similarity index 94% rename from helpers/DATA/libmateweather/patch_changes/001-weather_server_uri_update_138.patch rename to helpers/DATA/libmateweather/patch_changes/003-weather_server_uri_update_138.patch index f23ec31..4413374 100644 --- a/helpers/DATA/libmateweather/patch_changes/001-weather_server_uri_update_138.patch +++ b/helpers/DATA/libmateweather/patch_changes/003-weather_server_uri_update_138.patch @@ -31,7 +31,7 @@ index 7bc24fc9..4698a077 100644 } msg = soup_form_request_new ( -- "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php", +- "GET", "https://www.aviationweather.gov/cgi-bin/data/dataserver.php", + "GET", "https://aviationweather.gov/api/data/dataserver", "dataSource", "metars", "requestType", "retrieve", diff --git a/helpers/DATA/libreoffice/debian-rules_7.3.patch b/helpers/DATA/libreoffice/debian-rules_7.3.patch index 89d637a..f1261b5 100644 --- a/helpers/DATA/libreoffice/debian-rules_7.3.patch +++ b/helpers/DATA/libreoffice/debian-rules_7.3.patch @@ -1,18 +1,17 @@ -diff --git a/debian/rules b/debian/rules -index 06de6171..b930f423 100755 ---- a/debian/rules -+++ b/debian/rules -@@ -824,7 +824,8 @@ endif - # for t64 - BUILD_DEPS += , dpkg-dev (>= 1.22.5) [$(filter-out i386,$(OOO_32BIT_ARCHS))] - +--- a/debian/rules 2022-01-26 09:57:22.000000000 -0600 ++++ b/debian/rules 2022-02-04 09:48:40.142753566 -0600 +@@ -667,8 +667,8 @@ + BULLSEYE_BACKPORT=y + ENABLE_LTO=n + endif +- -ifeq "$(DEB_VENDOR)" "Ubuntu" +ifeq ("$(DEB_VENDOR)",$(filter "$(DEB_VENDOR)","Ubuntu" "Trisquel")) + ifeq "$(DEB_VENDOR)" "Ubuntu" # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . # Note: these are for Ubuntu use ONLY. For your own distribution, # please get your own set of keys. -@@ -835,7 +835,7 @@ +@@ -679,7 +679,7 @@ GOOGLEAPI_CLIENTID_UBUNTU := 424119844901-gee57209rkbo1rgula4i0arilvgv3lsf.apps.googleusercontent.com GOOGLEAPI_CLIENTSECRET_UBUNTU := 3h1DknIrVsq2wEhIuADVxQ3E CONFIGURE_FLAGS += --with-gdrive-client-id=$(GOOGLEAPI_CLIENTID_UBUNTU) --with-gdrive-client-secret=$(GOOGLEAPI_CLIENTSECRET_UBUNTU) diff --git a/helpers/DATA/libselinux/patch_changes/00-replace_python-pip_to_fallback_option.patch b/helpers/DATA/libselinux/patch_changes/00-replace_python-pip_to_fallback_option.patch deleted file mode 100644 index ad0df75..0000000 --- a/helpers/DATA/libselinux/patch_changes/00-replace_python-pip_to_fallback_option.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/Makefile b/src/Makefile -index bd61dfb1..8f9cb3cf 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -189,7 +189,7 @@ install: all - ln -sf --relative $(DESTDIR)$(SHLIBDIR)/$(LIBSO) $(DESTDIR)$(LIBDIR)/$(TARGET) - - install-pywrap: pywrap -- $(PYTHON) -m pip install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR) --ignore-installed --no-deps` $(PYTHON_SETUP_ARGS) . -+ $(PYTHON) setup.py install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR) ` $(PYTHON_SETUP_ARGS) - install -m 644 $(SWIGPYOUT) $(DESTDIR)$(PYTHONLIBDIR)/selinux/__init__.py - ln -sf --relative $(DESTDIR)$(PYTHONLIBDIR)/selinux/_selinux$(PYCEXT) $(DESTDIR)$(PYTHONLIBDIR)/_selinux$(PYCEXT) - diff --git a/helpers/DATA/libtgowt/00_0614aac699b1a53242ffe2664e3724533bf64f97.patch b/helpers/DATA/libtgowt/00_0614aac699b1a53242ffe2664e3724533bf64f97.patch new file mode 100644 index 0000000..6433b4d --- /dev/null +++ b/helpers/DATA/libtgowt/00_0614aac699b1a53242ffe2664e3724533bf64f97.patch @@ -0,0 +1,31 @@ +From 0614aac699b1a53242ffe2664e3724533bf64f97 Mon Sep 17 00:00:00 2001 +From: John Preston +Date: Fri, 28 Apr 2023 14:32:00 +0400 +Subject: [PATCH] Build: Add explicit libsrtp_config. + +--- + src/third_party/libsrtp_config/config.h | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + create mode 100644 src/third_party/libsrtp_config/config.h + +diff --git a/src/third_party/libsrtp_config/config.h b/src/third_party/libsrtp_config/config.h +new file mode 100644 +index 00000000..1edcdc5c +--- /dev/null ++++ b/src/third_party/libsrtp_config/config.h +@@ -0,0 +1,15 @@ ++#define PACKAGE_VERSION "2.5.0" ++#define PACKAGE_STRING "libsrtp2 2.5.0" ++ ++#define GCM ++#define OPENSSL ++#define CPU_CISC 1 ++#define HAVE_INTTYPES_H 1 ++#define HAVE_STDINT_H 1 ++#define HAVE_STDLIB_H 1 ++#define HAVE_SYS_TYPES_H 1 ++#define HAVE_UINT8_T 1 ++#define HAVE_UINT16_T 1 ++#define HAVE_UINT32_T 1 ++#define HAVE_UINT64_T 1 ++#define HAVE_INT32_T 1 diff --git a/helpers/DATA/libtgowt/01_7998a2a95da261d709664aefa2787258f1d24142.patch b/helpers/DATA/libtgowt/01_7998a2a95da261d709664aefa2787258f1d24142.patch new file mode 100644 index 0000000..cf357ff --- /dev/null +++ b/helpers/DATA/libtgowt/01_7998a2a95da261d709664aefa2787258f1d24142.patch @@ -0,0 +1,35 @@ +From 7998a2a95da261d709664aefa2787258f1d24142 Mon Sep 17 00:00:00 2001 +From: Nicholas Guriev +Date: Tue, 20 Jun 2023 09:47:41 +0300 +Subject: [PATCH] Exclude libSRTP from the orig tarball + +--- + debian/copyright | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/debian/copyright b/debian/copyright +index d8431c08..9f9247fe 100644 +--- a/debian/copyright ++++ b/debian/copyright +@@ -3,6 +3,7 @@ Upstream-Name: tg_owt + Upstream-Contact: John Preston + Source: https://github.com/desktop-app/tg_owt + Files-Excluded: src/third_party/abseil-cpp/* ++ src/third_party/libsrtp/* + src/third_party/rnnoise/* + src/third_party/yasm/* + Comment: Exclude RNNoise non-free model, and also, unused libraries and binaries. +@@ -94,10 +95,6 @@ Files: src/third_party/crc32c/* + License: BSD-3-Clause + Copyright: 2008,2017,2021, The CRC32C Authors + +-Files: src/third_party/libsrtp/* +-License: BSD-3-Clause +-Copyright: 2001-2017, Cisco Systems, Inc. +- + Files: src/third_party/libyuv/* + License: BSD-3-Clause + Copyright: 2011-2022, The LibYuv Project Authors +-- +GitLab + diff --git a/helpers/DATA/libtgowt/02_fdb627d9cbe59428b13f3e9f731d4dc0d55354e4.patch b/helpers/DATA/libtgowt/02_fdb627d9cbe59428b13f3e9f731d4dc0d55354e4.patch new file mode 100644 index 0000000..7ca2fbf --- /dev/null +++ b/helpers/DATA/libtgowt/02_fdb627d9cbe59428b13f3e9f731d4dc0d55354e4.patch @@ -0,0 +1,182 @@ +From fdb627d9cbe59428b13f3e9f731d4dc0d55354e4 Mon Sep 17 00:00:00 2001 +From: Nicholas Guriev +Date: Thu, 4 May 2023 16:21:09 +0300 +Subject: [PATCH] New Unbundle-libSRTP.patch + +Link against the updated library from the libsrtp2-dev package which already +has a fix of OpenSSL 3.0.0 incompatibility. + +Gbp-Dch: full +--- + debian/control | 1 + + debian/patches/Unbundle-libSRTP.patch | 124 ++++++++++++++++++++++++++ + debian/patches/series | 1 + + 3 files changed, 126 insertions(+) + create mode 100644 debian/patches/Unbundle-libSRTP.patch + +diff --git a/debian/control b/debian/control +index c9aa2912..516aa47e 100644 +--- a/debian/control ++++ b/debian/control +@@ -20,6 +20,7 @@ Build-Depends-Arch: + libpipewire-0.3-dev, + libprotobuf-dev, + libpulse-dev, ++ libsrtp2-dev, + libssl-dev, + libswresample-dev, + libswscale-dev, +diff --git a/debian/patches/Unbundle-libSRTP.patch b/debian/patches/Unbundle-libSRTP.patch +new file mode 100644 +index 00000000..466ad0ff +--- /dev/null ++++ b/debian/patches/Unbundle-libSRTP.patch +@@ -0,0 +1,124 @@ ++Description: Avoid private symbols and link against system-wide libSRTP ++ The package no longer uses outdated bundled copy of the library. The change ++ fixes incompatibility with OpenSSL 3.0.0 or later. ++ . ++ The excluded code in SrtpSession looks unreachable from the call integration ++ in Telegram Desktop. Though, I can't 100% confirm this. ++Author: Nicholas Guriev ++Forwarded: https://github.com/desktop-app/tg_owt/pull/123 ++Last-Update: Thu, 04 May 2023 16:21:09 +0300 ++ ++--- a/CMakeLists.txt +++++ b/CMakeLists.txt ++@@ -2658,6 +2658,9 @@ if (TG_OWT_USE_PROTOBUF) ++ list(APPEND export_targets proto) ++ endif() ++ +++if (LIBSRTP_FOUND) +++ target_compile_definitions(tg_owt PRIVATE HAVE_LIBSRTP) +++endif() ++ if (NOT absl_FOUND) ++ include(cmake/libabsl.cmake) ++ list(APPEND export_targets libabsl) ++--- a/cmake/libsrtp.cmake +++++ b/cmake/libsrtp.cmake ++@@ -1,3 +1,16 @@ +++find_package(PkgConfig REQUIRED) +++pkg_check_modules(LIBSRTP libsrtp2) +++ +++if (LIBSRTP_FOUND) +++ add_library(libsrtp INTERFACE EXCLUDE_FROM_ALL) +++ add_library(tg_owt::libsrtp ALIAS libsrtp) +++ +++ target_include_directories(libsrtp INTERFACE ${LIBSRTP_INCLUDE_DIRS} ${LIBSRTP_CFLAGS_OTHER}) +++ target_link_libraries(libsrtp INTERFACE ${LIBSRTP_LINK_LIBRARIES} ${LIBSRTP_LDFLAGS_OTHER}) +++ +++ return() +++endif() +++ ++ add_library(libsrtp OBJECT EXCLUDE_FROM_ALL) ++ init_target(libsrtp) ++ add_library(tg_owt::libsrtp ALIAS libsrtp) ++--- a/src/pc/external_hmac.cc +++++ b/src/pc/external_hmac.cc ++@@ -15,7 +15,6 @@ ++ ++ #include "rtc_base/logging.h" ++ #include "rtc_base/zero_memory.h" ++-#include "third_party/libsrtp/include/srtp.h" ++ ++ // Begin test case 0 */ ++ static const uint8_t kExternalHmacTestCase0Key[20] = { ++--- a/src/pc/external_hmac.h +++++ b/src/pc/external_hmac.h ++@@ -30,9 +30,12 @@ ++ ++ #include ++ ++-#include "third_party/libsrtp/crypto/include/crypto_types.h" ++-#include "third_party/libsrtp/include/srtp.h" ++-#include "third_party/libsrtp/include/srtp_priv.h" +++#ifdef HAVE_LIBSRTP +++# include +++# include +++#else +++# include "srtp_priv.h" +++#endif ++ ++ #define EXTERNAL_HMAC_SHA1 SRTP_HMAC_SHA1 + 1 ++ #define HMAC_KEY_LENGTH 20 ++--- a/src/pc/srtp_session.cc +++++ b/src/pc/srtp_session.cc ++@@ -30,8 +30,12 @@ ++ #include "rtc_base/thread_annotations.h" ++ #include "rtc_base/time_utils.h" ++ #include "system_wrappers/include/metrics.h" ++-#include "third_party/libsrtp/include/srtp.h" ++-#include "third_party/libsrtp/include/srtp_priv.h" +++ +++#ifdef HAVE_LIBSRTP +++# include +++#else +++# include "srtp_priv.h" +++#endif ++ ++ namespace cricket { ++ ++@@ -290,6 +294,7 @@ bool SrtpSession::UnprotectRtcp(void* p, ++ bool SrtpSession::GetRtpAuthParams(uint8_t** key, int* key_len, int* tag_len) { ++ RTC_DCHECK(thread_checker_.IsCurrent()); ++ RTC_DCHECK(IsExternalAuthActive()); +++#ifndef HAVE_LIBSRTP ++ if (!IsExternalAuthActive()) { ++ return false; ++ } ++@@ -313,6 +318,10 @@ bool SrtpSession::GetRtpAuthParams(uint8 ++ *key_len = external_hmac->key_length; ++ *tag_len = rtp_auth_tag_len_; ++ return true; +++#else +++ RTC_LOG_F(LS_WARNING) << "unavailable"; +++ return false; +++#endif ++ } ++ ++ int SrtpSession::GetSrtpOverhead() const { ++@@ -336,6 +345,7 @@ bool SrtpSession::GetSendStreamPacketInd ++ int in_len, ++ int64_t* index) { ++ RTC_DCHECK(thread_checker_.IsCurrent()); +++#ifndef HAVE_LIBSRTP ++ srtp_hdr_t* hdr = reinterpret_cast(p); ++ srtp_stream_ctx_t* stream = srtp_get_stream(session_, hdr->ssrc); ++ if (!stream) { ++@@ -346,6 +356,10 @@ bool SrtpSession::GetSendStreamPacketInd ++ *index = static_cast(rtc::NetworkToHost64( ++ srtp_rdbx_get_packet_index(&stream->rtp_rdbx) << 16)); ++ return true; +++#else +++ RTC_LOG_F(LS_WARNING) << "unavailable"; +++ return false; +++#endif ++ } ++ ++ bool SrtpSession::DoSetKey(int type, +#diff --git a/debian/patches/series b/debian/patches/series +#index 7dc5c619..0dd4e655 100644 +#--- a/debian/patches/series +#+++ b/debian/patches/series +#@@ -3,4 +3,5 @@ Convert-endianness.patch +# Fix-libabsl-include.patch +# Packaged-PipeWire.patch +# Skip-RNNoise.patch +#+Unbundle-libSRTP.patch +# Backport-to-stable-libvpx.patch +diff --git a/debian/patches/series b/debian/patches/series +index fefeb174..bc834658 100644 +--- a/debian/patches/series ++++ b/debian/patches/series +@@ -4,5 +4,6 @@ Fix-libabsl-include.patch + Packaged-PipeWire.patch + Prefer-std-bit-over-absl-bits.patch + Skip-RNNoise.patch ++Unbundle-libSRTP.patch + Backport-to-stable-Abseil.patch + Backport-to-stable-libvpx.patch +-- +GitLab + diff --git a/helpers/DATA/libtgowt/03_87e6ebb3d5b2ad4021a25858a73f2a167e9d6027.patch b/helpers/DATA/libtgowt/03_87e6ebb3d5b2ad4021a25858a73f2a167e9d6027.patch new file mode 100644 index 0000000..d745e3a --- /dev/null +++ b/helpers/DATA/libtgowt/03_87e6ebb3d5b2ad4021a25858a73f2a167e9d6027.patch @@ -0,0 +1,52 @@ +From 87e6ebb3d5b2ad4021a25858a73f2a167e9d6027 Mon Sep 17 00:00:00 2001 +From: Nicholas Guriev +Date: Sat, 24 Jun 2023 13:00:54 +0300 +Subject: [PATCH] Update Unbundle-libSRTP.patch and Unbundle-libyuv.patch + + * Remove EXCLUDE_FROM_ALL property from INTERFACE libraries. + * It is meaningless and interferes backporting to bullseye. + +Gbp-Dch: ignore +--- + debian/patches/Unbundle-libSRTP.patch | 4 ++-- + debian/patches/Unbundle-libyuv.patch | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/debian/patches/Unbundle-libSRTP.patch b/debian/patches/Unbundle-libSRTP.patch +index 466ad0ff..b51e2fe3 100644 +--- a/debian/patches/Unbundle-libSRTP.patch ++++ b/debian/patches/Unbundle-libSRTP.patch +@@ -10,7 +10,7 @@ Last-Update: Thu, 04 May 2023 16:21:09 +0300 + + --- a/CMakeLists.txt + +++ b/CMakeLists.txt +-@@ -2658,6 +2658,9 @@ if (TG_OWT_USE_PROTOBUF) ++@@ -2655,6 +2655,9 @@ if (TG_OWT_USE_PROTOBUF) + list(APPEND export_targets proto) + endif() + +@@ -27,7 +27,7 @@ Last-Update: Thu, 04 May 2023 16:21:09 +0300 + +pkg_check_modules(LIBSRTP libsrtp2) + + + +if (LIBSRTP_FOUND) +-+ add_library(libsrtp INTERFACE EXCLUDE_FROM_ALL) +++ add_library(libsrtp INTERFACE) + + add_library(tg_owt::libsrtp ALIAS libsrtp) + + + + target_include_directories(libsrtp INTERFACE ${LIBSRTP_INCLUDE_DIRS} ${LIBSRTP_CFLAGS_OTHER}) +#diff --git a/debian/patches/Unbundle-libyuv.patch b/debian/patches/Unbundle-libyuv.patch +#index 1ad9956d..5fd3d54e 100644 +#--- a/debian/patches/Unbundle-libyuv.patch +#+++ b/debian/patches/Unbundle-libyuv.patch +#@@ -7,7 +7,7 @@ Last-Update: Sat, 24 Jun 2023 11:53:26 +0300 +# @@ -1,3 +1,12 @@ +# +find_library(LIBYUV_PATH yuv) +# +if (LIBYUV_PATH) +#-+ add_library(libyuv INTERFACE EXCLUDE_FROM_ALL) +#++ add_library(libyuv INTERFACE) +# + add_library(tg_owt::libyuv ALIAS libyuv) +# + +# + target_link_libraries(libyuv INTERFACE ${LIBYUV_PATH}) +-- +GitLab + diff --git a/helpers/DATA/linux-hwe-6.11/udeb/5-udebs.mk b/helpers/DATA/linux-hwe-5.19/5-udebs.mk similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/5-udebs.mk rename to helpers/DATA/linux-hwe-5.19/5-udebs.mk diff --git a/helpers/DATA/linux-hwe-6.11/check.sh b/helpers/DATA/linux-hwe-5.19/check.sh similarity index 100% rename from helpers/DATA/linux-hwe-6.11/check.sh rename to helpers/DATA/linux-hwe-5.19/check.sh diff --git a/helpers/DATA/linux-hwe-5.19/d-i.patch b/helpers/DATA/linux-hwe-5.19/d-i.patch new file mode 100644 index 0000000..ca1d04c --- /dev/null +++ b/helpers/DATA/linux-hwe-5.19/d-i.patch @@ -0,0 +1,70 @@ +diff --git a/debian/rules b/debian/rules +index fe52711..b2d1921 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -128,12 +128,19 @@ clean: debian/control debian/canonical-certs.pem debian/canonical-revoked-certs. + dh_testroot + dh_clean + ++ # d-i stuff ++ rm -rf $(DEBIAN)/d-i-$(arch) ++ # Generated on the fly. ++ rm -f $(DEBIAN)/d-i/firmware/$(arch)/kernel-image ++ + # normal build junk + rm -rf $(DEBIAN)/abi/$(release)-$(revision) + rm -rf $(builddir) + rm -f $(stampdir)/stamp-* + rm -rf $(DEBIAN)/linux-* + ++ # This gets rid of the d-i packages in control ++ cp -f $(DEBIAN)/control.stub $(DROOT)/control + cp $(DEBIAN)/changelog debian/changelog + + # Install the copyright information. +@@ -184,7 +191,6 @@ $(DEBIAN)/control.stub: \ + $(DROOT)/scripts/control-create \ + $(control_files) \ + debian/canonical-revoked-certs.pem \ +- $(DROOT)/control.d/flavour-module.stub \ + $(DEBIAN)/changelog \ + $(wildcard $(DEBIAN)/control.d/* $(DEBIAN)/sub-flavours/*.vars) + for i in $(control_files); do \ +@@ -211,7 +217,14 @@ $(DEBIAN)/control.stub: \ + + .PHONY: debian/control + debian/control: $(DEBIAN)/control.stub ++ echo "# placebo control.stub for kernel-wedge flow change" >debian/control.stub + cp $(DEBIAN)/control.stub debian/control ++ # append udeb packages ++ export KW_DEFCONFIG_DIR=$(DEBIAN)/d-i && \ ++ export KW_CONFIG_DIR=$(DEBIAN)/d-i && \ ++ LANG=C kernel-wedge gen-control $(release)-$(abinum) | \ ++ grep-dctrl -FArchitecture $(arch) \ ++ >>$(CURDIR)/debian/control + + debian/canonical-certs.pem: $(wildcard $(DROOT)/certs/*-all.pem) $(wildcard $(DROOT)/certs/*-$(arch).pem) $(wildcard $(DEBIAN)/certs/*-all.pem) $(wildcard $(DEBIAN)/certs/*-$(arch).pem) + for cert in $(sort $(notdir $^)); \ +diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk +index b89c61c..ef1ef03 100644 +--- a/debian/rules.d/2-binary-arch.mk ++++ b/debian/rules.d/2-binary-arch.mk +@@ -178,10 +178,14 @@ endif + install -m600 $(builddir)/build-$*/System.map \ + $(pkgdir)/boot/System.map-$(abi_release)-$* + +-ifeq ($(do_dtbs),true) +- $(build_cd) $(kmake) $(build_O) $(conc_level) dtbs_install \ +- INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree +-endif ++ if [ "$(filter true,$(do_dtbs))" ]; then \ ++ $(build_cd) $(kmake) $(build_O) $(conc_level) dtbs_install \ ++ INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree; \ ++ ( cd $(pkgdir)/lib/firmware/$(abi_release)-$*/ && find device-tree -print ) | \ ++ while read dtb_file; do \ ++ echo "$$dtb_file ?" >> $(DEBIAN)/d-i/firmware/$(arch)/kernel-image; \ ++ done; \ ++ fi + + ifeq ($(no_dumpfile),) + makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \ diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/README.txt b/helpers/DATA/linux-hwe-5.19/d-i/firmware/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/README.txt rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/README.txt diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/amd64/README.txt b/helpers/DATA/linux-hwe-5.19/d-i/firmware/amd64/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/amd64/README.txt rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/amd64/README.txt diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/amd64/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/amd64/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/amd64/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/amd64/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/amd64/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/amd64/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/amd64/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/amd64/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/arm64/README.txt b/helpers/DATA/linux-hwe-5.19/d-i/firmware/arm64/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/arm64/README.txt rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/arm64/README.txt diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/arm64/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/arm64/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/arm64/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/arm64/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/arm64/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/arm64/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/arm64/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/arm64/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/armhf/README.txt b/helpers/DATA/linux-hwe-5.19/d-i/firmware/armhf/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/armhf/README.txt rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/armhf/README.txt diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/i386/README.txt b/helpers/DATA/linux-hwe-5.19/d-i/firmware/i386/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/i386/README.txt rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/i386/README.txt diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/i386/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/i386/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/i386/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/i386/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/i386/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/i386/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/i386/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/i386/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/powerpc/README.txt b/helpers/DATA/linux-hwe-5.19/d-i/firmware/powerpc/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/powerpc/README.txt rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/powerpc/README.txt diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/powerpc/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/powerpc/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/powerpc/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/powerpc/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/powerpc/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/powerpc/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/powerpc/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/powerpc/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/ppc64el/README.txt b/helpers/DATA/linux-hwe-5.19/d-i/firmware/ppc64el/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/ppc64el/README.txt rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/ppc64el/README.txt diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/ppc64el/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/ppc64el/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/ppc64el/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/ppc64el/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/ppc64el/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/ppc64el/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/ppc64el/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/ppc64el/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/s390x/README.txt b/helpers/DATA/linux-hwe-5.19/d-i/firmware/s390x/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/s390x/README.txt rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/s390x/README.txt diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/s390x/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/s390x/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/s390x/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/s390x/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/s390x/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/s390x/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/s390x/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/s390x/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/firmware/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/firmware/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/firmware/scsi-modules diff --git a/helpers/DATA/linux-hwe-5.19/d-i/kernel-versions b/helpers/DATA/linux-hwe-5.19/d-i/kernel-versions new file mode 100644 index 0000000..6cd90ed --- /dev/null +++ b/helpers/DATA/linux-hwe-5.19/d-i/kernel-versions @@ -0,0 +1,16 @@ +# arch version flavour installedname suffix bdep +amd64 - generic - - - + +i386 - generic - - - + +armhf - generic - - - +armhf - generic-lpae - - - + +arm64 - generic - - - + +ppc64el - generic - - - + +s390x - generic - - - + +# Ports +# arch version flavour installedname suffix bdep diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/block-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/block-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/block-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/crc-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/crc-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/crc-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/crypto-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/crypto-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/fat-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/fat-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/fat-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/fb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/fb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/fb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/floppy-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/floppy-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/floppy-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/floppy-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/fs-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/fs-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/fs-secondary-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/fs-secondary-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/isofs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/isofs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/kernel-image b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/kernel-image rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/kernel-image diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/md-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/md-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/md-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/message-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/message-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/message-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/mouse-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/mouse-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/multipath-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/multipath-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/nic-shared-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/nic-shared-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/nic-wireless-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/nic-wireless-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/parport-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/parport-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/parport-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/scsi-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/scsi-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/serial-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/serial-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/serial-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/serial-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/storage-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/storage-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/usb-storage-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/usb-storage-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/virtio-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/virtio-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/vlan-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64-virtual/vlan-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64-virtual/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/block-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/block-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/block-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/crc-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/crc-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/crc-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/crypto-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/crypto-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/fat-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/fat-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/fat-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/fb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/fb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/fb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/firewire-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/firewire-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/firewire-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/firewire-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/floppy-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/floppy-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/floppy-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/floppy-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/fs-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/fs-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/fs-secondary-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/fs-secondary-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/i2c-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/i2c-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/i2c-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/i2c-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/input-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/input-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/input-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/input-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/ipmi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/ipmi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/ipmi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/ipmi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/isofs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/isofs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/kernel-image b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/kernel-image rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/kernel-image diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/md-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/md-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/md-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/message-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/message-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/message-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/mouse-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/mouse-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/mtd-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/mtd-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/mtd-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/mtd-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/multipath-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/multipath-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/nfs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/nfs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/nic-pcmcia-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/nic-pcmcia-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/nic-pcmcia-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/nic-pcmcia-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/nic-shared-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/nic-shared-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/nic-usb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/nic-usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/nic-usb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/nic-usb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/nic-wireless-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/nic-wireless-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/parport-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/parport-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/parport-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/pata-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/pata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/pata-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/pata-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/pcmcia-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/pcmcia-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/pcmcia-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/pcmcia-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/pcmcia-storage-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/pcmcia-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/pcmcia-storage-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/pcmcia-storage-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/plip-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/plip-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/plip-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/plip-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/ppp-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/ppp-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/ppp-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/ppp-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/sata-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/sata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/sata-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/sata-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/scsi-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/scsi-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/serial-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/serial-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/serial-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/serial-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/speakup-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/speakup-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/speakup-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/speakup-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/storage-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/storage-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/usb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/usb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/usb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/usb-storage-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/usb-storage-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/virtio-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/virtio-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/vlan-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/amd64/vlan-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/amd64/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/block-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/block-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/block-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/crc-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/crc-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/crc-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/crypto-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/crypto-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/fat-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/fat-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/fat-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/fb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/fb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/fb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/fs-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/fs-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/fs-secondary-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/fs-secondary-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/i2c-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/i2c-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/i2c-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/i2c-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/input-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/input-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/input-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/input-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/ipmi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/ipmi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/ipmi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/ipmi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/isofs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/isofs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/kernel-image b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/kernel-image rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/kernel-image diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/md-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/md-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/md-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/message-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/message-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/message-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/mouse-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/mouse-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/mtd-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/mtd-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/mtd-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/mtd-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/multipath-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/multipath-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/nfs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/nfs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/nic-shared-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/nic-shared-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/nic-usb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/nic-usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/nic-usb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/nic-usb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/nic-wireless-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/nic-wireless-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/parport-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/parport-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/parport-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/plip-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/plip-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/plip-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/plip-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/ppp-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/ppp-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/ppp-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/ppp-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/sata-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/sata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/sata-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/sata-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/scsi-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/scsi-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/speakup-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/speakup-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/speakup-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/speakup-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/storage-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/storage-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/usb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/usb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/usb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/usb-storage-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/usb-storage-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/virtio-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/virtio-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/vlan-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/arm64/vlan-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/arm64/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/block-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/block-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/block-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/crc-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/crc-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/crc-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/crypto-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/crypto-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/fat-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/fat-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/fat-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/fs-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/fs-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/fs-secondary-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/fs-secondary-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/i2c-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/i2c-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/i2c-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/i2c-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/input-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/input-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/input-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/input-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/ipmi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/ipmi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/ipmi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/ipmi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/isofs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/isofs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/kernel-image b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/kernel-image rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/kernel-image diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/md-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/md-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/md-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/mouse-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/mouse-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/mtd-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/mtd-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/mtd-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/mtd-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/multipath-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/multipath-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/nfs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/nfs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/nic-shared-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/nic-shared-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/nic-usb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/nic-usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/nic-usb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/nic-usb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/nic-wireless-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/nic-wireless-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/parport-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/parport-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/parport-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/plip-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/plip-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/plip-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/plip-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/ppp-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/ppp-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/ppp-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/ppp-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/sata-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/sata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/sata-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/sata-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/scsi-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/scsi-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/speakup-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/speakup-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/speakup-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/speakup-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/storage-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/storage-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/usb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/usb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/usb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/usb-storage-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/usb-storage-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/vlan-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/armhf/vlan-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/armhf/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/block-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/block-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/block-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/block-modules.powerpc b/helpers/DATA/linux-hwe-5.19/d-i/modules/block-modules.powerpc similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/block-modules.powerpc rename to helpers/DATA/linux-hwe-5.19/d-i/modules/block-modules.powerpc diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/crc-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/crc-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/crc-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/crypto-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/crypto-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/dasd-extra-modules.s390x b/helpers/DATA/linux-hwe-5.19/d-i/modules/dasd-extra-modules.s390x similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/dasd-extra-modules.s390x rename to helpers/DATA/linux-hwe-5.19/d-i/modules/dasd-extra-modules.s390x diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/dasd-modules.s390x b/helpers/DATA/linux-hwe-5.19/d-i/modules/dasd-modules.s390x similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/dasd-modules.s390x rename to helpers/DATA/linux-hwe-5.19/d-i/modules/dasd-modules.s390x diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/fat-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/fat-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/fat-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/fb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/fb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/fb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/firewire-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/firewire-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/firewire-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/firewire-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/floppy-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/floppy-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/floppy-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/floppy-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/fs-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/fs-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/fs-secondary-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/fs-secondary-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i2c-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i2c-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i2c-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i2c-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/block-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/block-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/block-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/crc-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/crc-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/crc-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/crypto-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/crypto-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/fat-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/fat-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/fat-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/fb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/fb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/fb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/floppy-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/floppy-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/floppy-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/floppy-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/fs-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/fs-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/fs-secondary-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/fs-secondary-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/isofs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/isofs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/kernel-image b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/kernel-image rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/kernel-image diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/md-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/md-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/md-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/message-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/message-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/message-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/mouse-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/mouse-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/multipath-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/multipath-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/nic-shared-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/nic-shared-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/nic-wireless-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/nic-wireless-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/parport-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/parport-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/parport-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/scsi-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/scsi-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/serial-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/serial-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/serial-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/serial-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/storage-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/storage-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/usb-storage-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/usb-storage-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/virtio-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/virtio-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/vlan-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386-virtual/vlan-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386-virtual/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/block-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/block-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/block-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/crc-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/crc-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/crc-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/crypto-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/crypto-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/fat-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/fat-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/fat-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/fb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/fb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/fb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/firewire-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/firewire-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/firewire-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/firewire-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/floppy-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/floppy-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/floppy-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/floppy-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/fs-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/fs-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/fs-secondary-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/fs-secondary-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/i2c-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/i2c-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/i2c-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/i2c-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/input-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/input-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/input-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/input-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/ipmi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/ipmi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/ipmi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/ipmi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/isofs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/isofs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/kernel-image b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/kernel-image rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/kernel-image diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/md-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/md-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/md-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/message-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/message-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/message-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/mouse-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/mouse-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/mtd-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/mtd-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/mtd-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/mtd-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/multipath-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/multipath-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/nfs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/nfs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/nic-pcmcia-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/nic-pcmcia-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/nic-pcmcia-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/nic-pcmcia-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/nic-shared-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/nic-shared-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/nic-usb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/nic-usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/nic-usb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/nic-usb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/nic-wireless-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/nic-wireless-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/parport-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/parport-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/parport-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/pata-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/pata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/pata-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/pata-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/pcmcia-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/pcmcia-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/pcmcia-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/pcmcia-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/pcmcia-storage-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/pcmcia-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/pcmcia-storage-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/pcmcia-storage-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/plip-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/plip-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/plip-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/plip-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/ppp-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/ppp-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/ppp-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/ppp-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/sata-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/sata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/sata-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/sata-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/scsi-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/scsi-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/serial-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/serial-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/serial-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/serial-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/speakup-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/speakup-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/speakup-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/speakup-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/storage-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/storage-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/usb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/usb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/usb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/usb-storage-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/usb-storage-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/virtio-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/virtio-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/vlan-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/i386/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/i386/vlan-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/i386/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/input-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/input-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/input-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/input-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ipmi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ipmi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ipmi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ipmi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/isofs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/isofs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/kernel-image b/helpers/DATA/linux-hwe-5.19/d-i/modules/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/kernel-image rename to helpers/DATA/linux-hwe-5.19/d-i/modules/kernel-image diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/md-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/md-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/md-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/message-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/message-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/message-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/message-modules.powerpc b/helpers/DATA/linux-hwe-5.19/d-i/modules/message-modules.powerpc similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/message-modules.powerpc rename to helpers/DATA/linux-hwe-5.19/d-i/modules/message-modules.powerpc diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/mouse-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/mouse-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/mtd-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/mtd-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/mtd-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/mtd-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/mtd-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/mtd-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/mtd-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/mtd-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/multipath-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/multipath-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nfs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nfs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nic-modules.powerpc b/helpers/DATA/linux-hwe-5.19/d-i/modules/nic-modules.powerpc similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nic-modules.powerpc rename to helpers/DATA/linux-hwe-5.19/d-i/modules/nic-modules.powerpc diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nic-pcmcia-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/nic-pcmcia-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nic-pcmcia-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/nic-pcmcia-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nic-shared-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nic-shared-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nic-usb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/nic-usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nic-usb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/nic-usb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nic-wireless-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/nic-wireless-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/parport-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/parport-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/parport-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/pata-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/pata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/pata-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/pata-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/pcmcia-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/pcmcia-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/pcmcia-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/pcmcia-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/pcmcia-storage-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/pcmcia-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/pcmcia-storage-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/pcmcia-storage-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/plip-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/plip-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/plip-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/plip-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/block-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/block-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/block-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/crc-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/crc-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/crc-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/crypto-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/crypto-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/fat-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/fat-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/fat-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/fb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/fb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/fb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/floppy-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/floppy-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/floppy-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/floppy-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/fs-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/fs-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/fs-secondary-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/fs-secondary-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/i2c-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/i2c-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/i2c-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/i2c-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/input-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/input-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/input-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/input-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/ipmi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/ipmi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/ipmi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/ipmi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/isofs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/isofs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/kernel-image b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/kernel-image rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/kernel-image diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/md-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/md-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/md-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/message-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/message-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/message-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/mtd-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/mtd-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/mtd-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/mtd-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/multipath-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/multipath-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/nfs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/nfs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/nic-shared-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/nic-shared-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/nic-usb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/nic-usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/nic-usb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/nic-usb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/nic-wireless-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/nic-wireless-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/parport-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/parport-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/parport-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/plip-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/plip-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/plip-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/plip-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/ppp-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/ppp-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/ppp-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/ppp-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/sata-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/sata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/sata-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/sata-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/scsi-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/scsi-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/serial-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/serial-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/serial-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/serial-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/storage-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/storage-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/usb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/usb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/usb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/usb-storage-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/usb-storage-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/virtio-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/virtio-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/vlan-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppc64el/vlan-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppc64el/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppp-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/ppp-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/ppp-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/ppp-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/block-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/block-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/block-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/crc-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/crc-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/crc-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/crypto-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/crypto-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/dasd-extra-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/dasd-extra-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/dasd-extra-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/dasd-extra-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/dasd-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/dasd-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/dasd-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/dasd-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/fat-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/fat-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/fat-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/fs-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/fs-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/fs-secondary-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/fs-secondary-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/isofs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/isofs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/kernel-image b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/kernel-image rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/kernel-image diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/md-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/md-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/md-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/multipath-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/multipath-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/nfs-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/nfs-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/nic-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/nic-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/nic-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/nic-shared-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/nic-shared-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/scsi-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/scsi-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/storage-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/storage-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/virtio-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/virtio-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/vlan-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/s390x/vlan-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/s390x/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/sata-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/sata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/sata-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/sata-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/scsi-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/scsi-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/scsi-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/scsi-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/scsi-modules.powerpc b/helpers/DATA/linux-hwe-5.19/d-i/modules/scsi-modules.powerpc similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/scsi-modules.powerpc rename to helpers/DATA/linux-hwe-5.19/d-i/modules/scsi-modules.powerpc diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/serial-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/serial-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/serial-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/serial-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/speakup-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/speakup-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/speakup-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/speakup-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/storage-core-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/storage-core-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/storage-core-modules.powerpc b/helpers/DATA/linux-hwe-5.19/d-i/modules/storage-core-modules.powerpc similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/storage-core-modules.powerpc rename to helpers/DATA/linux-hwe-5.19/d-i/modules/storage-core-modules.powerpc diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/usb-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/usb-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/usb-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/usb-storage-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/usb-storage-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/virtio-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/virtio-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/vlan-modules b/helpers/DATA/linux-hwe-5.19/d-i/modules/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/modules/vlan-modules rename to helpers/DATA/linux-hwe-5.19/d-i/modules/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/package-list b/helpers/DATA/linux-hwe-5.19/d-i/package-list similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/package-list rename to helpers/DATA/linux-hwe-5.19/d-i/package-list diff --git a/helpers/DATA/linux-hwe-5.19/deblob-5.19 b/helpers/DATA/linux-hwe-5.19/deblob-5.19 new file mode 100644 index 0000000..865aee1 --- /dev/null +++ b/helpers/DATA/linux-hwe-5.19/deblob-5.19 @@ -0,0 +1,4052 @@ +#! /bin/sh + +# Copyright (C) 2008-2022 Alexandre Oliva +# Copyright (C) 2008 Jeff Moe +# Copyright (C) 2009 Rubén Rodríguez +# +# This program is part of GNU Linux-libre, a GNU project that +# publishes scripts to clean up Linux so as to make it suitable for +# use in the GNU Project and in Free System Distributions. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +# deblob - remove non-free blobs from the vanilla linux kernel + +# http://www.fsfla.org/svn/fsfla/software/linux-libre + + +# This script, suited for the kernel version named below, in kver, +# attempts to remove only non-Free Software bits, without removing +# Free Software that happens to be in the same file. + +# Drivers that currently require non-Free firmware are retained, but +# firmware included in GPLed sources is replaced with /*(DEBLOBBED)*/ +# if the deblob-check script, that knows how to do this, is present. +# -lxoliva + + +# See also: +# http://wiki.debian.org/KernelFirmwareLicensing +# svn://svn.debian.org/kernel/dists/trunk/linux-2.6/debian/patches/debian/dfsg/files-1 +# http://wiki.gnewsense.org/Builder gen-kernel + +# Thanks to Brian Brazil @ gnewsense + + +# For each kver release, start extra with an empty string, then count +# from 1 if changes are needed that require rebuilding the tarball. +kver=5.19 extra= + +case $1 in +--force) + echo "WARNING: Using the force, ignored errors will be" >&2 + die () { + echo ERROR: "$@" >&2 + errors=: + } + forced=: errors=false + shift + ;; +*) + set -e + die () { + echo ERROR: "$@" >&2 + echo Use --force to ignore + exit 1 + } + forced=false errors=false + ;; +esac + +check=`echo "$0" | sed 's,[^/]*$,,;s,^$,.,;s,/*$,,'`/deblob-check +if [ ! -f $check ] ; then + if $forced; then + die deblob-check script missing, will remove entire files + else + die deblob-check script missing + fi + have_check=false +else + have_check=: + [ -x $check ] || check="/bin/sh $check" +fi + +filetest () { + if [ ! -f $1 ]; then + die $1 does not exist, something is wrong && return 1 + fi +} + +announce () { + echo + echo "$@" +} + +clean_file () { + #$1 = filename + filetest $1 || return 0 + rm $1 + echo $1: removed +} + +check_changed () { + #$1 = filename + if cmp $1.deblob $1 > /dev/null; then + rm $1.deblob + die $1 did not change, something is wrong && return 1 + fi + if test -x $1; then chmod +x $1.deblob; else chmod -x $1.deblob; fi + mv $1.deblob $1 +} + +clean_blob () { + #$1 = filename + filetest $1 || return 0 + if $have_check; then + name=$1 + set fnord "$@" -d + shift 2 + if $check "$@" -i linux-$kver $name > $name.deblob; then + if [ ! -s $name.deblob ]; then + die got an empty file after removing blobs from $name + fi + else + die failed removing blobs from $name + fi + check_changed $name && echo $name: removed blobs or mentions thereof + else + clean_file $1 + fi +} + +clean_kconfig () { + #$1 = filename $2 = things to remove + case $1 in + -f) + shift + ;; + *) + if $have_check; then + filetest $1 || return 0 + if sed -n "/^\(menu\)\?config $2$/p" $1 | grep . > /dev/null; then + : + else + die $1 does not contain matches for $2 + fi + return 0 + fi + ;; + esac + filetest $1 || return 0 + sed "/^config \\($2\\)\$/{p;i\ + depends on NONFREE +d;}" $1 > $1.deblob + check_changed $1 && echo $1: marked config $2 as depending on NONFREE +} + +clean_mk () { + #$1 = config $2 = Makefile name + # We don't clean up Makefiles any more --lxoliva + # sed -i "/\\($1\\)/d" $2 + # echo $2: removed $1 support + # check_changed $2 + filetest $2 || return 0 + if sed -n "/\\($1\\)/p" $2 | grep . > /dev/null; then + : + else + die $2 does not contain matches for $1 + fi +} + +clean_sed () { + #$1 = sed-script $2 = file $3 = comment + filetest $2 || return 0 + cp "$2" "$2".deblob # preserve mode + sed -e "$1" "$2" > "$2".deblob || { + die $2: failed: ${3-applied sed script $1} && return 0; } + check_changed $2 && echo $2: ${3-applied sed script $1} +} + +reject_firmware () { + #$1 = file $2 = pre sed pattern + filetest $1 || return 0 + clean_sed "$2"' +s,\(^\|[^>.0-9a-zA-Z_$]\)\(request\(_ihex\|\(_partial\)\)\?_firmware\|firmware_request_platform\)\(_nowait\|_direct\|_into_buf\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1reject\4_firmware\5\6,g +s,\(^\|[^>.0-9a-zA-Z_$]\)firmware_request_\(nowarn\|builtin\)\($\|[^-.0-9a-zA-Z_$),; ]\),\1firmware_reject_\2\3,g +' "$1" 'disabled non-Free firmware-loading machinery' +} + +maybe_reject_firmware () { + #$1 = file $2 = pre sed pattern + filetest $1 || return 0 + clean_sed "$2"' +s,\(^\|[^>.0-9a-zA-Z_$]\)request_\(ihex_\|partial_\)\?firmware\(_nowait\|_direct\|_into_buf\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1maybe_reject_\2firmware\3\4,g +' "$1" 'retain Free firmware-loading machinery, disabling non-Free one' +} + +undefine_macro () { + #$1 - macro name + #$2 - substitution + #$3 - message + #rest - file names + macro=$1 repl=$2 msg=$3; shift 3 + for f in "$@"; do + clean_sed " +s,^#[ ]*define[ ][ ]*$macro[ ].*\$,/*(DEBLOBBED)*/,; +s,$macro,$repl,g; +" "$f" "$msg" + done +} + +undefault_firmware () { + #$1 - pattern such that $1_DEFAULT_FIRMWARE is #defined to non-Free firmware + #$@ other than $1 - file names + macro="$1"_DEFAULT_FIRMWARE; shift + undefine_macro "$macro" "\"/*(DEBLOBBED)*/\"" \ + "disabled non-Free firmware" "$@" +} + +# First, check that files that contain firmwares and their +# corresponding sources are present. + +for f in \ +\ + drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx8.asm \ + drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm \ + drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm \ + `: sources for gfx11 are in ..._gfx10.asm` \ + drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h \ +\ + drivers/gpu/drm/i915/gt/shaders/README \ + drivers/gpu/drm/i915/gt/shaders/clear_kernel/hsw.asm \ + drivers/gpu/drm/i915/gt/hsw_clear_kernel.c \ + drivers/gpu/drm/i915/gt/shaders/clear_kernel/ivb.asm \ + drivers/gpu/drm/i915/gt/ivb_clear_kernel.c \ +\ + drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/com.fuc \ + drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gt215.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gt215.fuc3.h \ +\ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/macros.fuc \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/com.fuc \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpc.fuc \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf100.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf100.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf117.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf117.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk104.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk104.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk110.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk110.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk208.fuc5 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk208.fuc5.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgm107.fuc5 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgm107.fuc5.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hub.fuc \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf100.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf100.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf117.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf117.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk104.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk104.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk110.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk110.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk208.fuc5 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk208.fuc5.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgm107.fuc5 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgm107.fuc5.h \ +\ + drivers/gpu/drm/nouveau/nvkm/engine/sec/fuc/g98.fuc0s \ + drivers/gpu/drm/nouveau/nvkm/engine/sec/fuc/g98.fuc0s.h \ +\ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/macros.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/kernel.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/arith.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/host.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/memx.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/perf.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/i2c_.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/test.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/idle.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf119.fuc4 \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf119.fuc4.h \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5 \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h \ +\ + drivers/net/wan/wanxlfw.inc_shipped \ + drivers/net/wan/wanxlfw.S \ + drivers/net/wireless/atmel/atmel.c \ + drivers/net/wireless/atmel/atmel.c \ + drivers/scsi/aic7xxx/aic79xx_seq.h_shipped \ + drivers/scsi/aic7xxx/aic79xx.seq \ + drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped \ + drivers/scsi/aic7xxx/aic7xxx.seq \ + drivers/scsi/53c700_d.h_shipped \ + drivers/scsi/53c700.scr \ + drivers/scsi/sym53c8xx_2/sym_fw1.h \ + drivers/scsi/sym53c8xx_2/sym_fw1.h \ + drivers/scsi/sym53c8xx_2/sym_fw2.h \ + drivers/scsi/sym53c8xx_2/sym_fw2.h \ +\ + kernel/bpf/preload/iterators/iterators.lskel.h \ + kernel/bpf/preload/iterators/iterators.bpf.c \ +; do + filetest $f || : +done + +# Identify the tarball. +grep -q 'EXTRAVERSION.*-gnu' Makefile || +clean_sed "/^EXTRAVERSION *=/ { s,=$,& ,; s,$,&-gnu$extra,; } +" Makefile 'added -gnu to EXTRAVERSION' + +grep -q Linux-libre README || +clean_sed ' +1 s,^Linux kernel$,GNU Linux-libre, +2 s,^============$,===============, +' README 'renamed to GNU Linux-libre' + +grep -q Linux-libre Documentation/admin-guide/README.rst || +clean_sed ' +/^==*=$/q +/Linux kernel release.*kernel\.org.*/ { + s,,GNU Linux-libre , + N; + s,=$,&&,; + :loop + n; + $! b loop; +} +' Documentation/admin-guide/README.rst 'renamed to GNU Linux-libre' + +grep -q 'release notes for GNU Linux-libre' Documentation/admin-guide/README.rst || +clean_sed ' +2,8 s,Linux version [0-9.]*[0-9],GNU Linux-libre, +' Documentation/admin-guide/README.rst 'dropped partial Linux version' + +grep -q 'Unix kernel' Documentation/admin-guide/README.rst || +clean_sed ' +1,23 s,\(operating system \)\?Unix,Unix kernel, +' Documentation/admin-guide/README.rst 'Linux is a kernel' + +grep -q 'What is GNU Linux-libre' Documentation/admin-guide/README.rst || +clean_sed ' +/What is Linux/i\ +What is GNU Linux-libre?\ +------------------------\ +\ + GNU Linux-libre is a Free version of the kernel Linux (see below),\ + suitable for use with the GNU Operating System in 100% Free\ + GNU/Linux-libre System Distributions.\ + http://www.gnu.org/distros/\ +\ + It removes non-Free components from Linux, that are disguised as\ + source code or distributed in separate files. It also disables\ + run-time requests for non-Free components, shipped separately or as\ + part of Linux, and documentation pointing to them, so as to avoid\ + (Free-)baiting users into the trap of non-Free Software.\ + http://www.fsfla.org/anuncio/2010-11-Linux-2.6.36-libre-debait\ +\ + Linux-libre started within the gNewSense GNU/Linux distribution.\ + It was later adopted by Jeff Moe, who coined its name, and in 2008\ + it became a project maintained by FSF Latin America. In 2012, it\ + became part of the GNU Project.\ +\ + The GNU Linux-libre project takes a minimal-changes approach to\ + cleaning up Linux, making no effort to substitute components that\ + need to be removed with functionally equivalent Free ones.\ + Nevertheless, we encourage and support efforts towards doing so.\ + http://libreplanet.org/wiki/LinuxLibre:Devices_that_require_non-free_firmware\ +\ + Our mascot is Freedo, a light-blue penguin that has just come out\ + of the shower. Although we like penguins, GNU is a much greater\ + contribution to the entire system, so its mascot deserves more\ + promotion. See our web page for their images.\ + http://linux-libre.fsfla.org/\ +\ + If you are the author of an awesome program and want to join us in\ + writing Free (libre) Software, please consider making it an official\ + GNU program and become a GNU Maintainer. You can find instructions\ + on how to do so at https://www.gnu.org/help/evaluation. We look\ + forward to hacking with you! :)\ + +' Documentation/admin-guide/README.rst 'added blurb about GNU Linux-libre' + +clean_sed ' +s,Linux kernel,GNU Linux-libre, +' scripts/package/builddeb 'kernel name' + +clean_sed ' +s,Linux kernel,GNU Linux-libre, +' scripts/package/mkdebian 'kernel name' + +clean_sed ' +s,https://www\..*linux/kernel$,https://linux-libre.fsfla.org/, +' scripts/package/mkdebian 'sources' + +clean_sed ' +s,https\?://www\.kernel\.org/,https://linux-libre.fsfla.org/, +' scripts/package/mkdebian 'home page' + +clean_sed ' +s,git://git\..*torvalds/linux\.git,/*(DEBLOBBED)*/, +' scripts/package/mkdebian 'upstream development repo' + +# The tarball name and its expansion do not include -libre. +# We could change KERNELPATH and keep this, but what else would break? +# Enabling this would require the other commented-out mkspec bits below. +# clean_sed ' +# s,Name: kernel,&-libre, +# ' scripts/package/mkspec 'package name' + +clean_sed ' +s,The Linux,The GNU Linux-libre, +' scripts/package/mkspec 'package summary' + +clean_sed ' +s,Linux kernel,GNU Linux-libre, +' scripts/package/mkspec 'kernel name' + +clean_sed ' +s,https\?://www\.kernel\.org,https://linux-libre.fsfla.org, +' scripts/package/mkspec 'home page' + +# clean_sed ' +# s,\(%description\) -n kernel-,\1 , +# ' scripts/package/mkspec '-libre subpackages' + +# clean_sed ' +# /Provides: kernel-/{p;s,kernel-,&libre-,;} +# ' scripts/package/mkspec '-libre provides' + +# As with rpms, we leave the package name as kernel. +clean_sed ' +s,The upstream Linux kernel,The GNU Linux-libre kernel, +' scripts/package/snapcraft.template 'description' + +clean_sed ' +s,Linux kernel,GNU Linux-libre, +' scripts/package/snapcraft.template 'summary' + +clean_sed ' +s,linux-upstream,linux-libre, +' scripts/Makefile.package 'libre, not upstream' + +# We replace several blob name s[n]printf format strings +# with "/*(DEBLOBBED)*/", counting on extra args to be ignored. +# These are warned about, but -Werror turns them into errors. +clean_sed ' +s, -Werror$, -Werror -Wno-error=format-extra-args -Wno-error=comment -Wno-error=unused-function -Wno-error=unused-variable, +' Makefile 'avoid compile failures at /*(DEBLOBBED)*/ warnings' + +# Add reject_firmware and maybe_reject_firmware +grep -q _LINUX_LIBRE_FIRMWARE_H include/linux/firmware.h || +clean_sed '$i\ +#ifndef _LINUX_LIBRE_FIRMWARE_H\ +#define _LINUX_LIBRE_FIRMWARE_H\ +\ +#include \ +\ +#define NONFREE_FIRMWARE "/*(DEBLOBBED)*/"\ +\ +static inline int\ +is_nonfree_firmware(const char *name)\ +{\ + return strstr(name, NONFREE_FIRMWARE) != 0;\ +}\ +\ +static inline int\ +report_missing_free_firmware(const char *name, const char *what)\ +{\ + printk(KERN_ERR "%s: Missing Free %s (non-Free firmware loading is disabled)\\n", name,\ + what ? what : "firmware");\ + return -ENOENT;\ +}\ +static inline bool\ +firmware_reject_builtin(struct firmware *fw, const char *name)\ +{\ + return false;\ +}\ +static inline int\ +firmware_reject_nowarn(const struct firmware **fw,\ + const char *name, struct device *device)\ +{\ + const struct firmware *xfw = NULL;\ + int retval, retval0 = -ENOENT;\ + if (fw) *fw = xfw;\ + retval = firmware_request_nowarn(&xfw, NONFREE_FIRMWARE, device);\ + if (!retval) {\ + release_firmware(xfw);\ + retval = retval0;\ + }\ + return retval;\ +}\ +static inline int\ +reject_firmware(const struct firmware **fw,\ + const char *name, struct device *device)\ +{\ + int retval, retval0;\ + retval0 = report_missing_free_firmware(dev_name(device), NULL);\ + retval = firmware_reject_nowarn(fw, name, device);\ + if (!retval) {\ + retval = retval0;\ + }\ + return retval;\ +}\ +static inline int\ +maybe_reject_firmware(const struct firmware **fw,\ + const char *name, struct device *device)\ +{\ + if (is_nonfree_firmware(name))\ + return reject_firmware(fw, name, device);\ + else\ + return request_firmware(fw, name, device);\ +}\ +static inline int\ +reject_firmware_direct(const struct firmware **fw,\ + const char *name, struct device *device)\ +{\ + const struct firmware *xfw = NULL;\ + int retval, retval0;\ + if (fw) *fw = xfw;\ + retval0 = report_missing_free_firmware(dev_name(device), NULL);\ + retval = request_firmware_direct(&xfw, NONFREE_FIRMWARE, device);\ + if (!retval) {\ + release_firmware(xfw);\ + retval = retval0;\ + }\ + return retval;\ +}\ +static inline int\ +reject_firmware_nowait(struct module *module, int uevent,\ + const char *name, struct device *device,\ + gfp_t gfp, void *context,\ + void (*cont)(const struct firmware *fw,\ + void *context))\ +{\ + report_missing_free_firmware(dev_name(device), NULL);\ + /* We assume NONFREE_FIRMWARE will not be found; how could it? */\ + return request_firmware_nowait(module, uevent, NONFREE_FIRMWARE,\ + device, gfp, context, cont);\ +}\ +static inline int\ +maybe_reject_firmware_nowait(struct module *module, int uevent,\ + const char *name, struct device *device,\ + gfp_t gfp, void *context,\ + void (*cont)(const struct firmware *fw,\ + void *context))\ +{\ + if (is_nonfree_firmware(name))\ + return reject_firmware_nowait(module, uevent, name,\ + device, gfp, context, cont);\ + else\ + return request_firmware_nowait(module, uevent, name,\ + device, gfp, context, cont);\ +}\ +static inline int\ +reject_firmware_into_buf(const struct firmware **firmware_p, const char *name,\ + struct device *device, void *buf, size_t size)\ +{\ + const struct firmware *xfw = NULL;\ + int retval, retval0;\ + if (firmware_p) *firmware_p = xfw;\ + retval0 = report_missing_free_firmware(dev_name(device), NULL);\ + retval = request_firmware_into_buf(&xfw, NONFREE_FIRMWARE, device, buf, size);\ + if (!retval) {\ + release_firmware(xfw);\ + retval = retval0;\ + }\ + return retval;\ +}\ +static inline int\ +maybe_reject_firmware_into_buf(const struct firmware **firmware_p, const char *name,\ + struct device *device, void *buf, size_t size)\ +{\ + if (is_nonfree_firmware(name))\ + return reject_firmware_into_buf(firmware_p, name, device, buf, size);\ + else\ + return request_firmware_into_buf(firmware_p, name, device, buf, size);\ +}\ +static inline int\ +reject_partial_firmware_into_buf(const struct firmware **firmware_p, const char *name,\ + struct device *device, void *buf, size_t size, size_t offset)\ +{\ + const struct firmware *xfw = NULL;\ + int retval, retval0;\ + if (firmware_p) *firmware_p = xfw;\ + retval0 = report_missing_free_firmware(dev_name(device), NULL);\ + retval = request_partial_firmware_into_buf(&xfw, NONFREE_FIRMWARE, device, buf, size, offset);\ + if (!retval) {\ + release_firmware(xfw);\ + retval = retval0;\ + }\ + return retval;\ +}\ +static inline int\ +maybe_reject_partial_firmware_into_buf(const struct firmware **firmware_p, const char *name,\ + struct device *device, void *buf, size_t size, size_t offset)\ +{\ + if (is_nonfree_firmware(name))\ + return reject_partial_firmware_into_buf(firmware_p, name, device, buf, size, offset);\ + else\ + return request_partial_firmware_into_buf(firmware_p, name, device, buf, size, offset);\ +}\ +\ +#endif /* _LINUX_LIBRE_FIRMWARE_H */\ +' include/linux/firmware.h 'added non-Free firmware notification support' + +grep -q _LINUX_LIBRE_IHEX_H include/linux/ihex.h || +clean_sed '$i\ +#ifndef _LINUX_LIBRE_IHEX_H\ +#define _LINUX_LIBRE_IHEX_H\ +\ +static inline int\ +maybe_reject_ihex_firmware(const struct firmware **fw,\ + const char *name, struct device *device)\ +{\ + if (is_nonfree_firmware(name))\ + return reject_firmware(fw, name, device);\ + else\ + return request_ihex_firmware(fw, name, device);\ +}\ +\ +#endif /* _LINUX_LIBRE_IHEX_H */\ +' include/linux/ihex.h 'added non-Free ihex firmware notification support' + +clean_sed ' +s,\(timeout = \)\(firmware_loading_timeout()\),\1is_nonfree_firmware(name) ? 1 : \2, +' drivers/base/firmware_loader/fallback.c 'shorten non-Free firmware fail-to-load timeout' + + +######## +# Arch # +######## + +# x86 + +announce MICROCODE_AMD - "AMD microcode patch loading support" +reject_firmware arch/x86/kernel/cpu/microcode/amd.c +clean_blob arch/x86/kernel/cpu/microcode/amd.c +clean_kconfig arch/x86/Kconfig MICROCODE_AMD +clean_mk CONFIG_MICROCODE_AMD arch/x86/kernel/cpu/microcode/Makefile + +announce MICROCODE_INTEL - "Intel microcode patch loading support" +reject_firmware arch/x86/kernel/cpu/microcode/intel.c +clean_blob arch/x86/kernel/cpu/microcode/intel.c +clean_kconfig arch/x86/Kconfig MICROCODE_INTEL +clean_mk CONFIG_MICROCODE_INTEL arch/x86/kernel/cpu/microcode/Makefile + +announce MICROCODE - "CPU microcode loading support" +clean_blob Documentation/x86/microcode.rst +clean_kconfig arch/x86/Kconfig MICROCODE +clean_mk CONFIG_MICROCODE arch/x86/kernel/cpu/Makefile + +# Do no recommend non-Free microcode update. +announce X86_LOCAL_APIC - Undocumented +clean_blob arch/x86/kernel/apic/apic.c +clean_kconfig arch/x86/Kconfig X86_LOCAL_APIC +clean_mk CONFIG_X86_LOCAL_APIC arch/x86/kernel/apic/Makefile + +# Do no recommend non-Free microcode update. +announce CPU_SUP_INTEL - "Support Intel processors" +clean_blob arch/x86/events/intel/core.c +clean_kconfig arch/x86/Kconfig.cpu CPU_SUP_INTEL +clean_mk CONFIG_CPU_SUP_INTEL arch/x86/events/intel/Makefile + +# Do no recommend non-Free microcode update. +announce SENSORS_CORETEMP - "Intel Core/Core2/Atom temperature sensor" +clean_blob drivers/hwmon/coretemp.c +clean_kconfig drivers/hwmon/Kconfig SENSORS_CORETEMP +clean_mk CONFIG_SENSORS_CORETEMP drivers/hwmon/Makefile + +# arm + +announce IXP4XX_NPE - "IXP4xx Network Processor Engine support" +reject_firmware drivers/soc/ixp4xx/ixp4xx-npe.c +clean_blob drivers/soc/ixp4xx/ixp4xx-npe.c +clean_blob Documentation/arm/ixp4xx.rst +clean_kconfig drivers/soc/ixp4xx/Kconfig IXP4XX_NPE +clean_mk CONFIG_IXP4XX_NPE drivers/soc/ixp4xx/Makefile + +announce MACH_SUN8I - "Allwinner sun8i Family SoCs support" +clean_blob arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts +clean_blob arch/arm/boot/dts/sun8i-a23-inet86dz.dts +clean_blob arch/arm/boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts +clean_blob arch/arm/boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts +clean_blob arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts +clean_kconfig arch/arm/mach-sunxi/Kconfig MACH_SUN8I +clean_mk CONFIG_MACH_SUN8I arch/arm/boot/dts/Makefile + +# ppc + +announce UCODE_PATCH - "ppc microcode" +clean_blob arch/powerpc/platforms/8xx/micropatch.c +clean_kconfig arch/powerpc/platforms/8xx/Kconfig UCODE_PATCH +clean_mk CONFIG_UCODE_PATCH arch/powerpc/platforms/8xx/Makefile + +announce USB_SOF_UCODE_PATCH - "USB SOF patch" +clean_kconfig arch/powerpc/platforms/8xx/Kconfig USB_SOF_UCODE_PATCH + +announce I2C_SPI_UCODE_PATCH - "I2C/SPI relocation patch" +clean_kconfig arch/powerpc/platforms/8xx/Kconfig I2C_SPI_UCODE_PATCH + +announce I2C_SPI_SMC1_UCODE_PATCH - "I2C/SPI/SMC1 relocation patch" +clean_kconfig arch/powerpc/platforms/8xx/Kconfig I2C_SPI_SMC1_UCODE_PATCH + +announce SMC_UCODE_PATCH - "SMC relocation patch" +clean_kconfig arch/powerpc/platforms/8xx/Kconfig SMC_UCODE_PATCH + +####### +# ATM # +####### + +announce ATM_FORE200E - "FORE Systems 200E-series" +reject_firmware drivers/atm/fore200e.c +clean_blob drivers/atm/fore200e.c +clean_blob Documentation/networking/device_drivers/atm/fore200e.rst +clean_blob drivers/atm/.gitignore +clean_blob Documentation/dontdiff +clean_kconfig drivers/atm/Kconfig ATM_FORE200E +clean_mk CONFIG_ATM_FORE200E drivers/atm/Makefile + +announce ATM_SOLOS - "Solos ADSL2+ PCI Multiport card driver" +reject_firmware drivers/atm/solos-pci.c +clean_blob drivers/atm/solos-pci.c +clean_kconfig drivers/atm/Kconfig ATM_SOLOS +clean_mk CONFIG_ATM_SOLOS drivers/atm/Makefile + +########## +# Crypto # +########## + +announce CAVIUM_CPT - "Cavium Cryptographic Accelerator driver" +reject_firmware drivers/crypto/cavium/cpt/cptpf_main.c +clean_blob drivers/crypto/cavium/cpt/cptpf_main.c +clean_kconfig drivers/crypto/cavium/cpt/Kconfig CAVIUM_CPT +clean_mk CONFIG_CAVIUM_CPT drivers/crypto/cavium/cpt/Makefile + +announce CRYPTO_DEV_NITROX_CNN55XX - "Support for Cavium CNN55XX driver" +reject_firmware drivers/crypto/cavium/nitrox/nitrox_main.c +clean_blob drivers/crypto/cavium/nitrox/nitrox_main.c +clean_kconfig drivers/crypto/cavium/nitrox/Kconfig CRYPTO_DEV_NITROX_CNN55XX +clean_mk CONFIG_CRYPTO_DEV_NITROX_CNN55XX drivers/crypto/cavium/nitrox/Makefile + +announce CRYPTO_DEV_SP_PSP - "Platform Security Processor (PSP) device" +reject_firmware drivers/crypto/ccp/sev-dev.c +clean_blob drivers/crypto/ccp/sev-dev.c +clean_kconfig drivers/crypto/ccp/Kconfig CRYPTO_DEV_SP_PSP +clean_mk CONFIG_CRYPTO_DEV_SP_PSP drivers/crypto/ccp/Makefile + +announce CRYPTO_DEV_SAFEXCEL - "Inside Secure's SafeXcel cryptographic engine driver" +reject_firmware drivers/crypto/inside-secure/safexcel.c +clean_blob drivers/crypto/inside-secure/safexcel.c +clean_kconfig drivers/crypto/Kconfig CRYPTO_DEV_SAFEXCEL +clean_mk CONFIG_CRYPTO_DEV_SAFEXCEL drivers/crypto/inside-secure/Makefile + +announce CRYPTO_DEV_OCTEONTX_CPT - "Support for Marvell OcteonTX CPT driver" +reject_firmware drivers/crypto/marvell/octeontx/otx_cptpf_ucode.c +clean_blob drivers/crypto/marvell/octeontx/otx_cptpf_ucode.h +clean_kconfig drivers/crypto/marvell/Kconfig CRYPTO_DEV_OCTEONTX_CPT +clean_mk CONFIG_CRYPTO_DEV_OCTEONTX_CPT drivers/crypto/marvell/octeontx/Makefile + +announce CRYPTO_DEV_OCTEONTX2_CPT - "Marvell OcteonTX2 CPT driver" +reject_firmware drivers/crypto/marvell/octeontx2/otx2_cptpf_ucode.c +clean_blob drivers/crypto/marvell/octeontx2/otx2_cptpf_ucode.c +clean_kconfig drivers/crypto/marvell/Kconfig CRYPTO_DEV_OCTEONTX2_CPT +clean_mk CONFIG_CRYPTO_DEV_OCTEONTX2_CPT drivers/crypto/marvell/octeontx2/Makefile + +announce CRYPTO_DEV_QAT_DH895xCC - "Support for Intel(R) DH895xCC" +clean_blob drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h +clean_blob drivers/crypto/qat/qat_dh895xcc/adf_drv.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_DH895xCC +clean_mk CONFIG_CRYPTO_DEV_QAT_DH895xCC drivers/crypto/qat/Makefile + +announce CRYPTO_DEV_QAT - "Common bits for Intel(R) QuickAssist Technology" +reject_firmware drivers/crypto/qat/qat_common/adf_accel_engine.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT +clean_mk CONFIG_CRYPTO_DEV_QAT drivers/crypto/qat/Makefile + +announce CRYPTO_DEV_QAT_C3XXX - "Support for Intel(R) C3XXX" +clean_blob drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h +clean_blob drivers/crypto/qat/qat_c3xxx/adf_drv.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_C3XXX +clean_mk CONFIG_CRYPTO_DEV_QAT_C3XXX drivers/crypto/qat/Makefile + +announce CRYPTO_DEV_QAT_C62X - "Support for Intel(R) C62X" +clean_blob drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.h +clean_blob drivers/crypto/qat/qat_c62x/adf_drv.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_C62X +clean_mk CONFIG_CRYPTO_DEV_QAT_C62X drivers/crypto/qat/Makefile + +announce CRYPTO_DEV_QAT_4XXX - "Support for Intel(R) QAT_4XXX" +clean_blob drivers/crypto/qat/qat_4xxx/adf_4xxx_hw_data.h +clean_blob drivers/crypto/qat/qat_4xxx/adf_drv.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_4XXX +clean_mk CONFIG_CRYPTO_DEV_QAT_4XXX drivers/crypto/qat/Makefile + +announce AMDTEE - "AMD's Trusted Execution Environment (TEE)" +reject_firmware drivers/tee/amdtee/core.c +clean_blob drivers/tee/amdtee/core.c +clean_kconfig drivers/tee/amdtee/Kconfig AMDTEE +clean_mk CONFIG_AMDTEE drivers/tee/amdtee/Makefile + +######## +# tty # +######## + +announce MOXA_INTELLIO - "Moxa Intellio support" +reject_firmware drivers/tty/moxa.c +clean_blob drivers/tty/moxa.c +clean_kconfig drivers/tty/Kconfig MOXA_INTELLIO +clean_mk CONFIG_MOXA_INTELLIO drivers/tty/Makefile + +# gpu drm + +announce DRM_DISPLAY_HDCP_HELPER +reject_firmware drivers/gpu/drm/display/drm_hdcp_helper.c +clean_blob drivers/gpu/drm/display/drm_hdcp_helper.c +clean_kconfig drivers/gpu/drm/display/Kconfig DRM_DISPLAY_HDCP_HELPER +clean_mk CONFIG_DRM_DISPLAY_HDCP_HELPER drivers/gpu/drm/display/Makefile + +announce DRM_AMDGPU - "AMD GPU" +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/imu_v11_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/imu_v11_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/mes_v10_1.c +clean_blob drivers/gpu/drm/amd/amdgpu/mes_v10_1.c +reject_firmware drivers/gpu/drm/amd/amdgpu/mes_v11_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/mes_v11_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/psp_v3_1.c +reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v10_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/psp_v10_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v11_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/psp_v11_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v12_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/psp_v12_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/psp_v13_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c +clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +clean_blob drivers/gpu/drm/amd/pm/powerplay/smumgr/smumgr.c +reject_firmware drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c +clean_blob drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c +reject_firmware drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c +clean_blob drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c +reject_firmware drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +clean_blob drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +clean_kconfig drivers/gpu/drm/Kconfig DRM_AMDGPU +clean_mk CONFIG_DRM_AMDGPU drivers/gpu/drm/amd/amdgpu/Makefile + +announce DRM_AMDGPU_CIK - "Enable amdgpu support for CIK parts" +reject_firmware drivers/gpu/drm/amd/amdgpu/cik_sdma.c +clean_blob drivers/gpu/drm/amd/amdgpu/cik_sdma.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +clean_kconfig drivers/gpu/drm/amd/amdgpu/Kconfig DRM_AMDGPU_CIK +clean_mk CONFIG_DRM_AMDGPU_CIK drivers/gpu/drm/amd/amdgpu/Makefile + +announce DRM_AMDGPU_SI - "Enable amdgpu support for SI parts" +reject_firmware drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c +clean_blob drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +clean_kconfig drivers/gpu/drm/amd/amdgpu/Kconfig DRM_AMDGPU_SI +clean_mk CONFIG_DRM_AMDGPU_SI drivers/gpu/drm/amd/amdgpu/Makefile + +announce DRM_AST - "AST server chips" +reject_firmware drivers/gpu/drm/ast/ast_dp501.c +clean_blob drivers/gpu/drm/ast/ast_dp501.c +clean_kconfig drivers/gpu/drm/ast/Kconfig DRM_AST +clean_mk CONFIG_DRM_AST drivers/gpu/drm/ast/Makefile + +announce DRM_CDNS_MHDP8546 - "Cadence DPI/DP bridge" +reject_firmware drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c +clean_blob drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c +clean_blob drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.h +clean_kconfig drivers/gpu/drm/bridge/cadence/Kconfig DRM_CDNS_MHDP8546 +clean_mk CONFIG_DRM_CDNS_MHDP8546 drivers/gpu/drm/bridge/cadence/Makefile + +announce DRM_I915 - "Intel 8xx/9xx/G3x/G4x/HD Graphics" +reject_firmware drivers/gpu/drm/i915/display/intel_dmc.c +clean_blob drivers/gpu/drm/i915/display/intel_dmc.c +reject_firmware drivers/gpu/drm/i915/display/intel_opregion.c +reject_firmware drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +clean_blob drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +clean_blob drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h +clean_kconfig drivers/gpu/drm/i915/Kconfig DRM_I915 +clean_mk CONFIG_DRM_I915 drivers/gpu/drm/i915/Makefile + +announce DRM_I915_GVT - "Enable Intel GVT-g graphics virtualization host support" +reject_firmware drivers/gpu/drm/i915/gvt/firmware.c +clean_kconfig drivers/gpu/drm/i915/Kconfig DRM_I915_GVT +clean_mk CONFIG_DRM_I915_GVT drivers/gpu/drm/i915/Makefile + +announce DRM_LONTIUM_LT9611UXC - "Lontium LT9611UXC DSI/HDMI bridge" +reject_firmware drivers/gpu/drm/bridge/lontium-lt9611uxc.c +clean_blob drivers/gpu/drm/bridge/lontium-lt9611uxc.c +clean_kconfig drivers/gpu/drm/bridge/Kconfig DRM_LONTIUM_LT9611UXC +clean_mk CONFIG_DRM_LONTIUM_LT9611UXC drivers/gpu/drm/bridge/Makefile + +announce DRM_NOUVEAU - "Nouveau (nVidia) cards" +reject_firmware drivers/gpu/drm/nouveau/nvkm/core/firmware.c +clean_blob drivers/gpu/drm/nouveau/nvkm/core/firmware.c +reject_firmware drivers/gpu/drm/nouveau/nvkm/engine/falcon.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/falcon.c +reject_firmware drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gm20b.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gp102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gp104.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gp107.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gp108.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gp10b.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gv100.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/tu102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp108.c +# Added in 5.6.6. +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/sec2/tu102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm20b.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp108.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp10b.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/acr/tu102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/fb/gv100.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c +clean_kconfig drivers/gpu/drm/nouveau/Kconfig DRM_NOUVEAU +clean_mk CONFIG_DRM_NOUVEAU drivers/gpu/drm/Makefile + +announce DRM_MGA - "Matrox g200/g400" +reject_firmware drivers/gpu/drm/mga/mga_warp.c +clean_blob drivers/gpu/drm/mga/mga_warp.c +clean_kconfig drivers/gpu/drm/Kconfig DRM_MGA +clean_mk CONFIG_DRM_MGA drivers/gpu/drm/Makefile + +announce DRM_MSM - "MSM DRM" +reject_firmware drivers/gpu/drm/msm/adreno/adreno_gpu.c +clean_blob drivers/gpu/drm/msm/adreno/adreno_device.c +clean_blob drivers/gpu/drm/msm/adreno/a6xx_gpu.c +clean_kconfig drivers/gpu/drm/msm/Kconfig DRM_MSM +clean_mk CONFIG_DRM_MSM drivers/gpu/drm/msm/Makefile + +announce DRM_R128 - "ATI Rage 128" +reject_firmware drivers/gpu/drm/r128/r128_cce.c +clean_blob drivers/gpu/drm/r128/r128_cce.c +clean_kconfig drivers/gpu/drm/Kconfig DRM_R128 +clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile + +announce DRM_PANEL_MIPI_DBI - "DRM support for MIPI DBI compatible panels" +reject_firmware drivers/gpu/drm/tiny/panel-mipi-dbi.c +clean_blob drivers/gpu/drm/tiny/panel-mipi-dbi.c +clean_kconfig drivers/gpu/drm/tiny/Kconfig DRM_PANEL_MIPI_DBI +clean_mk CONFIG_DRM_PANEL_MIPI_DBI drivers/gpu/drm/tiny/Makefile + +announce DRM_RADEON - "ATI Radeon" +reject_firmware drivers/gpu/drm/radeon/r100.c +clean_blob drivers/gpu/drm/radeon/r100.c +reject_firmware drivers/gpu/drm/radeon/r600.c +clean_blob drivers/gpu/drm/radeon/r600.c +reject_firmware drivers/gpu/drm/radeon/ni.c +clean_blob drivers/gpu/drm/radeon/ni.c +reject_firmware drivers/gpu/drm/radeon/si.c +clean_blob drivers/gpu/drm/radeon/si.c +# Something like this might work on other radeon cards too. If you +# have such cards, please give it a try, and report back either way, +# so that we can make more cards work, or at least add comments so +# that others don't waste their time trying them again. See +# https://libreplanet.org/wiki/Group:Hardware/research/gpu/radeon +clean_sed ' +/r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/r600.c 'enable blobless activation' +clean_sed ' +/r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/evergreen.c 'enable blobless activation' +clean_sed ' +/r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/rv770.c 'enable blobless activation' +clean_sed ' +/r = ni_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/ni.c 'enable blobless activation' +clean_sed ' +/r = si_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/si.c 'enable blobless activation' +clean_sed ' +/if (!rdev->mc_fw) {/,/}/ s,return -EINVAL;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/si.c 'enable blobless activation' +reject_firmware drivers/gpu/drm/radeon/cik.c +clean_blob drivers/gpu/drm/radeon/cik.c +reject_firmware drivers/gpu/drm/radeon/radeon_uvd.c +clean_blob drivers/gpu/drm/radeon/radeon_uvd.c +reject_firmware drivers/gpu/drm/radeon/radeon_vce.c +clean_blob drivers/gpu/drm/radeon/radeon_vce.c +clean_kconfig drivers/gpu/drm/Kconfig DRM_RADEON +clean_mk CONFIG_DRM_RADEON drivers/gpu/drm/Makefile + +announce ROCKCHIP_CDN_DP - "Rockchip cdn DP" +reject_firmware drivers/gpu/drm/rockchip/cdn-dp-core.c +clean_blob drivers/gpu/drm/rockchip/cdn-dp-core.c +clean_kconfig drivers/gpu/drm/rockchip/Kconfig ROCKCHIP_CDN_DP +clean_mk CONFIG_ROCKCHIP_CDN_DP drivers/gpu/drm/rockchip/Makefile + +announce DRM_STI - "DRM Support for STMicroelectronics SoC stiH41x Series" +reject_firmware drivers/gpu/drm/sti/sti_hqvdp.c +clean_blob drivers/gpu/drm/sti/sti_hqvdp.c +clean_kconfig drivers/gpu/drm/sti/Kconfig DRM_STI +clean_mk CONFIG_DRM_STI drivers/gpu/drm/sti/Makefile + +announce DRM_TEGRA - "NVIDIA Tegra DRM" +reject_firmware drivers/gpu/drm/tegra/falcon.c +clean_blob drivers/gpu/drm/tegra/nvdec.c +clean_blob drivers/gpu/drm/tegra/vic.c +clean_kconfig drivers/gpu/drm/tegra/Kconfig DRM_TEGRA +clean_mk CONFIG_DRM_TEGRA drivers/gpu/drm/tegra/Makefile + +####### +# dma # +####### + +announce IMX_SDMA - "i.MX SDMA support" +reject_firmware drivers/dma/imx-sdma.c +clean_blob drivers/dma/imx-sdma.c +clean_blob arch/arm/boot/dts/imx25.dtsi +clean_blob arch/arm/boot/dts/imx31.dtsi +clean_blob arch/arm/boot/dts/imx35.dtsi +clean_blob arch/arm/boot/dts/imx50.dtsi +clean_blob arch/arm/boot/dts/imx51.dtsi +clean_blob arch/arm/boot/dts/imx53.dtsi +clean_blob arch/arm/boot/dts/imx53-tx53.dtsi +clean_blob arch/arm/boot/dts/imx6qdl.dtsi +clean_blob arch/arm/boot/dts/imx6sl.dtsi +clean_blob arch/arm/boot/dts/imx6sll.dtsi +clean_blob arch/arm/boot/dts/imx6sx.dtsi +clean_blob arch/arm/boot/dts/imx6ul.dtsi +clean_blob arch/arm/boot/dts/imx7s.dtsi +clean_blob arch/arm64/boot/dts/freescale/imx8mm.dtsi +clean_blob arch/arm64/boot/dts/freescale/imx8mn.dtsi +clean_blob arch/arm64/boot/dts/freescale/imx8mp.dtsi +clean_blob arch/arm64/boot/dts/freescale/imx8mq.dtsi +clean_blob Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt +clean_blob Documentation/devicetree/bindings/dsp/fsl,dsp.yaml +clean_kconfig drivers/dma/Kconfig IMX_SDMA +clean_mk CONFIG_IMX_SDMA drivers/dma/Makefile + +announce ST_FDMA - "ST FDMA dmaengine support" +clean_blob drivers/dma/st_fdma.c +clean_kconfig drivers/dma/Kconfig ST_FDMA +clean_mk CONFIG_ST_FDMA drivers/dma/Makefile + +######### +# Media # +######### + +# media/tuner + +announce MEDIA_TUNER_SI2157 - "Silicon Labs Si2157 silicon tuner" +reject_firmware drivers/media/tuners/si2157.c +clean_blob drivers/media/tuners/si2157.c +clean_blob drivers/media/tuners/si2157_priv.h +clean_kconfig drivers/media/tuners/Kconfig MEDIA_TUNER_SI2157 +clean_mk CONFIG_MEDIA_TUNER_SI2157 drivers/media/tuners/Makefile + +announce MEDIA_TUNER_XC2028 - "XCeive xc2028/xc3028 tuners" +undefault_firmware 'XC\(2028\|3028L\)' \ + drivers/media/tuners/xc2028.h \ + drivers/media/pci/saa7134/saa7134-cards.c \ + drivers/media/pci/ivtv/ivtv-driver.c \ + drivers/media/pci/cx18/cx18-driver.c \ + drivers/media/pci/cx18/cx18-dvb.c \ + drivers/media/pci/cx23885/cx23885-dvb.c \ + drivers/media/pci/cx23885/cx23885-video.c \ + drivers/media/pci/cx88/cx88-dvb.c \ + drivers/media/pci/cx88/cx88-cards.c \ + drivers/media/usb/em28xx/em28xx-cards.c \ + drivers/media/usb/dvb-usb/dib0700_devices.c \ + drivers/media/usb/dvb-usb/cxusb.c +reject_firmware drivers/media/tuners/xc2028.c +clean_blob drivers/media/tuners/xc2028.c +clean_kconfig drivers/media/tuners/Kconfig MEDIA_TUNER_XC2028 +clean_mk CONFIG_MEDIA_TUNER_XC2028 drivers/media/tuners/Makefile + +announce VIDEO_TM6000_DVB - "DVB Support for tm6000 based TV cards" +clean_blob drivers/media/usb/tm6000/tm6000-cards.c +clean_kconfig drivers/media/usb/tm6000/Kconfig VIDEO_TM6000_DVB +clean_mk CONFIG_VIDEO_TM6000_DVB drivers/media/usb/tm6000/Makefile + +announce MEDIA_TUNER_XC4000 - "Xceive XC4000 silicon tuner" +undefine_macro "XC4000_DEFAULT_FIRMWARE\(\|_NEW\)" "\"/*(DEBLOBBED)*/\"" \ + "disabled non-Free firmware" drivers/media/tuners/xc4000.c +maybe_reject_firmware drivers/media/tuners/xc4000.c +clean_blob drivers/media/tuners/xc4000.c +clean_kconfig drivers/media/tuners/Kconfig MEDIA_TUNER_XC4000 +clean_mk CONFIG_MEDIA_TUNER_XC4000 drivers/media/tuners/Makefile + +announce MEDIA_TUNER_XC5000 - "Xceive XC5000 silicon tuner" +undefault_firmware 'XC5000' \ + drivers/media/usb/cx231xx/cx231xx-cards.c +reject_firmware drivers/media/tuners/xc5000.c +clean_blob drivers/media/tuners/xc5000.c +clean_kconfig drivers/media/tuners/Kconfig MEDIA_TUNER_XC5000 +clean_mk CONFIG_MEDIA_TUNER_XC5000 drivers/media/tuners/Makefile + +announce DVB_USB - "Support for various USB DVB devices" +reject_firmware drivers/media/usb/dvb-usb/dvb-usb-firmware.c +clean_blob drivers/media/usb/dvb-usb/dvb-usb-firmware.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB +clean_mk CONFIG_DVB_USB drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_V2 - "Support for various USB DVB devices v2" +reject_firmware drivers/media/usb/dvb-usb-v2/dvb_usb_core.c +clean_blob drivers/media/usb/dvb-usb-v2/dvb_usb_core.c +clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_V2 +clean_mk CONFIG_DVB_USB_V2 drivers/media/usb/dvb-usb-v2/Makefile + +announce DVB_B2C2_FLEXCOP - "Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters" +reject_firmware drivers/media/common/b2c2/flexcop-fe-tuner.c + +announce DVB_BT8XX - "BT8xx based PCI cards" +reject_firmware drivers/media/pci/bt8xx/dvb-bt8xx.c + +announce DVB_USB_A800 - "AVerMedia AverTV DVB-T USB 2.0 (A800)" +clean_blob drivers/media/usb/dvb-usb/a800.c +clean_blob Documentation/admin-guide/media/avermedia.rst +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_A800 +clean_mk CONFIG_DVB_USB_A800 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_AF9005 - "Afatech AF9005 DVB-T USB1.1 support" +clean_file drivers/media/usb/dvb-usb/af9005-script.h +clean_sed ' +s,^ deb_info("load init script\\n");$, {\n err("Missing Free init script\\n");\n return scriptlen = ret = -EINVAL;\n ,; +' drivers/media/usb/dvb-usb/af9005-fe.c 'report missing Free init script' +clean_blob drivers/media/usb/dvb-usb/af9005-fe.c +clean_blob drivers/media/usb/dvb-usb/af9005.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_AF9005 +clean_mk CONFIG_DVB_USB_AF9005 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_AF9015 - "Afatech AF9015 DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb-v2/af9015.h +clean_blob drivers/media/usb/dvb-usb-v2/af9015.c +clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_AF9015 +clean_mk CONFIG_DVB_USB_AF9015 drivers/media/usb/dvb-usb-v2/Makefile + +announce DVB_USB_AF9035 - "Afatech AF9035 DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb-v2/af9035.h +clean_blob drivers/media/usb/dvb-usb-v2/af9035.c +clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_AF9035 +clean_mk CONFIG_DVB_USB_AF9035 drivers/media/usb/dvb-usb-v2/Makefile + +announce DVB_USB_AZ6007 - "Azurewave 6007 and clones DVB-T/C USB2.0 support" +clean_blob drivers/media/usb/dvb-usb-v2/az6007.c +clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_AZ6007 +clean_mk CONFIG_DVB_USB_AZ6007 drivers/media/usb/dvb-usb-v2/Makefile + +announce DVB_USB_AZ6027 - "Azurewave DVB-S/S2 USB2.0 AZ6027 support" +clean_blob drivers/media/usb/dvb-usb/az6027.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_AZ6027 +clean_mk CONFIG_DVB_USB_AZ6027 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_CXUSB - "Conexant USB2.0 hybrid reference design support" +clean_blob drivers/media/usb/dvb-usb/cxusb.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_CXUSB +clean_mk CONFIG_DVB_USB_CXUSB drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_DIB0700 - "DiBcom DiB0700 USB DVB devices" +reject_firmware drivers/media/usb/dvb-usb/dib0700_devices.c +clean_blob drivers/media/usb/dvb-usb/dib0700_devices.c +clean_blob drivers/media/usb/dvb-usb/dib0700_core.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_DIB0700 +clean_mk CONFIG_DVB_USB_DIB0700 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_DIBUSB_MB - "DiBcom USB DVB-T devices (based on the DiB3000M-B)" +clean_blob drivers/media/usb/dvb-usb/dibusb-mb.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_DIBUSB_MB +clean_mk CONFIG_DVB_USB_DIBUSB_MB drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_DIBUSB_MC - "DiBcom USB DVB-T devices (based on the DiB3000M-C/P)" +clean_blob drivers/media/usb/dvb-usb/dibusb-mc.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_DIBUSB_MC +clean_mk CONFIG_DVB_USB_DIBUSB_MC drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_DIGITV - "Nebula Electronics uDigiTV DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/digitv.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_DIGITV +clean_mk CONFIG_DVB_USB_DIGITV drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_DTT200U - "WideView WT-200U and WT-220U (pen) DVB-T USB2.0 support (Yakumo/Hama/Typhoon/Yuan)" +clean_blob drivers/media/usb/dvb-usb/dtt200u.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_DTT200U +clean_mk CONFIG_DVB_USB_DTT200U drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_DW2102 - "DvbWorld DVB-S/S2 USB2.0 support" +reject_firmware drivers/media/usb/dvb-usb/dw2102.c +clean_blob drivers/media/usb/dvb-usb/dw2102.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_DW2102 +clean_mk CONFIG_DVB_USB_DW2102 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_EC168 - "E3C EC168 DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb-v2/ec168.h +clean_blob drivers/media/usb/dvb-usb-v2/ec168.c +clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_EC168 +clean_mk CONFIG_DVB_USB_EC168 drivers/media/usb/dvb-usb-v2/Makefile + +announce DVB_USB_GP8PSK - "GENPIX 8PSK->USB module support" +reject_firmware drivers/media/usb/dvb-usb/gp8psk.c +clean_blob drivers/media/usb/dvb-usb/gp8psk.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_GP8PSK +clean_mk CONFIG_DVB_USB_GP8PSK drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_LME2510 - "LME DM04/QQBOX DVB-S USB2.0 support" +reject_firmware drivers/media/usb/dvb-usb-v2/lmedm04.c +clean_blob drivers/media/usb/dvb-usb-v2/lmedm04.c +clean_file Documentation/admin-guide/media/lmedm04.rst +clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_LME2510 +clean_mk CONFIG_DVB_USB_LME2510 drivers/media/usb/dvb-usb-v2/Makefile + +announce DVB_USB_M920X - "Uli m920x DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/m920x.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_M920X +clean_mk CONFIG_DVB_USB_M920X drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_NOVA_T_USB2 - "Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/nova-t-usb2.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_NOVA_T_USB2 +clean_mk CONFIG_DVB_USB_NOVA_T_USB2 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_OPERA1 - "Opera1 DVB-S USB2.0 receiver" +reject_firmware drivers/media/usb/dvb-usb/opera1.c +clean_blob drivers/media/usb/dvb-usb/opera1.c +clean_blob Documentation/admin-guide/media/opera-firmware.rst +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_OPERA1 +clean_mk CONFIG_DVB_USB_OPERA1 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_TECHNISAT_USB2 - "Technisat DVB-S/S2 USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/technisat-usb2.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_TECHNISAT_USB2 +clean_mk CONFIG_DVB_USB_TECHNISAT_USB2 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_TTUSB2 - "Pinnacle 400e DVB-S USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/ttusb2.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_TTUSB2 +clean_mk CONFIG_DVB_USB_TTUSB2 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_UMT_010 - "HanfTek UMT-010 DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/umt-010.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_UMT_010 +clean_mk CONFIG_DVB_USB_UMT_010 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_VP702X - "TwinhanDTV StarBox and clones DVB-S USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/vp702x.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_VP702X +clean_mk CONFIG_DVB_USB_VP702X drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_VP7045 - "TwinhanDTV Alpha/MagicBoxII, DNTV tinyUSB2, Beetle USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/vp7045.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_VP7045 +clean_mk CONFIG_DVB_USB_VP7045 drivers/media/usb/dvb-usb/Makefile + +# dvb/frontends + +announce DVB_AF9013 - "Afatech AF9013 demodulator" +reject_firmware drivers/media/dvb-frontends/af9013.c +clean_blob drivers/media/dvb-frontends/af9013.c +clean_blob drivers/media/dvb-frontends/af9013_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_AF9013 +clean_mk CONFIG_DVB_AF9013 drivers/media/dvb-frontends/Makefile + +announce DVB_BCM3510 - "Broadcom BCM3510" +undefault_firmware 'BCM3510' drivers/media/dvb-frontends/bcm3510.c +clean_sed ' +/You.ll need a firmware/,/dvb-fe-bcm/d; +' drivers/media/dvb-frontends/bcm3510.c \ + "removed non-Free firmware notes" +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_BCM3510 +clean_mk CONFIG_DVB_BCM3510 drivers/media/dvb-frontends/Makefile + +announce DVB_CX24116 - "Conexant CX24116 based" +undefault_firmware CX24116 drivers/media/dvb-frontends/cx24116.c +reject_firmware drivers/media/dvb-frontends/cx24116.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_CX24116 +clean_mk CONFIG_DVB_CX24116 drivers/media/dvb-frontends/Makefile + +announce DVB_CX24117 - "Conexant CX24117 based" +undefault_firmware CX24117 drivers/media/dvb-frontends/cx24117.c +reject_firmware drivers/media/dvb-frontends/cx24117.c +clean_blob drivers/media/dvb-frontends/cx24117.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_CX24117 +clean_mk CONFIG_DVB_CX24117 drivers/media/dvb-frontends/Makefile + +announce DVB_CX24120 - "Conexant CX24120 based" +clean_blob drivers/media/dvb-frontends/cx24120.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_CX24120 +clean_mk CONFIG_DVB_CX24120 drivers/media/dvb-frontends/Makefile + +announce DVB_DS3000 - "Montage Tehnology DS3000 based" +undefault_firmware 'DS3000' \ + drivers/media/dvb-frontends/ds3000.c +reject_firmware drivers/media/dvb-frontends/ds3000.c +clean_blob drivers/media/dvb-frontends/ds3000.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_DS3000 +clean_mk CONFIG_DVB_DS3000 drivers/media/dvb-frontends/Makefile + +announce DVB_DRX39XYJ - "Micronas DRX-J demodulator" +reject_firmware drivers/media/dvb-frontends/drx39xyj/drxj.c +clean_blob drivers/media/dvb-frontends/drx39xyj/drxj.c +clean_kconfig drivers/media/dvb-frontends/drx39xyj/Kconfig DVB_DRX39XYJ +clean_mk CONFIG_DVB_DRX39XYJ drivers/media/dvb-frontends/drx39xyj/Makefile + +announce DVB_LGS8GXX - "Legend Silicon LGS8913/LGS8GL5/LGS8GXX DMB-TH demodulator" +reject_firmware drivers/media/dvb-frontends/lgs8gxx.c +clean_blob drivers/media/dvb-frontends/lgs8gxx.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_LGS8GXX +clean_mk CONFIG_DVB_LGS8GXX drivers/media/dvb-frontends/Makefile + +announce DVB_M88DS3103 - "Montage M88DS3103" +reject_firmware drivers/media/dvb-frontends/m88ds3103.c +clean_blob drivers/media/dvb-frontends/m88ds3103.c +clean_blob drivers/media/dvb-frontends/m88ds3103_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_M88DS3103 +clean_mk CONFIG_DVB_M88DS3103 drivers/media/dvb-frontends/Makefile + +announce DVB_MXL692 - "MaxLinear MXL692 based" +reject_firmware drivers/media/dvb-frontends/mxl692.c +clean_blob drivers/media/dvb-frontends/mxl692.c +clean_blob drivers/media/dvb-frontends/mxl692.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_MXL692 +clean_mk CONFIG_DVB_MXL692 drivers/media/dvb-frontends/Makefile + +announce DVB_NXT200X - "NxtWave Communications NXT2002/NXT2004 based" +undefault_firmware 'NXT200[24]' drivers/media/dvb-frontends/nxt200x.c +reject_firmware drivers/media/dvb-frontends/nxt200x.c +clean_blob drivers/media/dvb-frontends/nxt200x.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_NXT200X +clean_mk CONFIG_DVB_NXT200X drivers/media/dvb-frontends/Makefile + +announce DVB_OR51132 - "Oren OR51132 based" +reject_firmware drivers/media/dvb-frontends/or51132.c +clean_blob drivers/media/dvb-frontends/or51132.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_OR51132 +clean_mk CONFIG_DVB_OR51132 drivers/media/dvb-frontends/Makefile + +announce DVB_OR51211 - "Oren OR51211 based" +undefault_firmware 'OR51211' drivers/media/dvb-frontends/or51211.c +clean_blob drivers/media/dvb-frontends/or51211.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_OR51211 +clean_mk CONFIG_DVB_OR51211 drivers/media/dvb-frontends/Makefile + +announce DVB_SI2165 - "Silicon Labs si2165 based" +reject_firmware drivers/media/dvb-frontends/si2165.c +clean_blob drivers/media/dvb-frontends/si2165.c +clean_blob drivers/media/dvb-frontends/si2165_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_SI2165 +clean_mk CONFIG_DVB_SI2165 drivers/media/dvb-frontends/Makefile + +announce DVB_SI2168 - "Silicon Labs Si2168" +reject_firmware drivers/media/dvb-frontends/si2168.c +clean_blob drivers/media/dvb-frontends/si2168.c +clean_blob drivers/media/dvb-frontends/si2168_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_SI2168 +clean_mk CONFIG_DVB_SI2168 drivers/media/dvb-frontends/Makefile + +announce DVB_SP8870 - "Spase sp8870" +undefault_firmware 'SP8870' drivers/staging/media/av7110/sp8870.c +clean_blob drivers/staging/media/av7110/sp8870.c +clean_kconfig drivers/staging/media/av7110/Kconfig DVB_SP8870 +clean_mk CONFIG_DVB_SP8870 drivers/staging/media/av7110/Makefile + +announce DVB_SP887X - "Spase sp887x based" +undefault_firmware 'SP887X' drivers/media/dvb-frontends/sp887x.c +clean_blob drivers/media/dvb-frontends/sp887x.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_SP887X +clean_mk CONFIG_DVB_SP887X drivers/media/dvb-frontends/Makefile + +announce DVB_TDA10048 - "Philips TDA10048HN based" +undefine_macro 'TDA10048_DEFAULT_FIRMWARE_SIZE' 0 \ + 'removed non-Free firmware size' drivers/media/dvb-frontends/tda10048.c +undefault_firmware 'TDA10048' drivers/media/dvb-frontends/tda10048.c +reject_firmware drivers/media/dvb-frontends/tda10048.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_TDA10048 +clean_mk CONFIG_DVB_TDA10048 drivers/media/dvb-frontends/Makefile + +announce DVB_TDA1004X - "Philips TDA10045H/TDA10046H" +undefault_firmware 'TDA1004[56]' drivers/media/dvb-frontends/tda1004x.c +clean_blob drivers/media/dvb-frontends/tda1004x.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_TDA1004X +clean_mk CONFIG_DVB_TDA1004X drivers/media/dvb-frontends/Makefile + +announce DVB_TDA10071 - "NXP TDA10071" +reject_firmware drivers/media/dvb-frontends/tda10071.c +clean_blob drivers/media/dvb-frontends/tda10071.c +clean_blob drivers/media/dvb-frontends/tda10071_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_TDA10071 +clean_mk CONFIG_DVB_TDA10071 drivers/media/dvb-frontends/Makefile + +# dvb + +announce DVB_AS102 - "Abilis AS102 DVB receiver" +reject_firmware drivers/media/usb/as102/as102_fw.c +clean_blob drivers/media/usb/as102/as102_fw.c +clean_kconfig drivers/media/usb/as102/Kconfig DVB_AS102 +clean_mk CONFIG_DVB_AS102 drivers/media/usb/as102/Makefile + +announce DVB_AV7110 - "AV7110 cards" +reject_firmware drivers/staging/media/av7110/av7110.c +clean_blob drivers/staging/media/av7110/av7110.c +clean_kconfig drivers/staging/media/av7110/Kconfig DVB_AV7110 +clean_mk CONFIG_DVB_AV7110 drivers/staging/media/av7110/Makefile + +announce DVB_BUDGET - "Budget cards" +reject_firmware drivers/media/pci/ttpci/budget.c + +announce DVB_BUDGET_AV - "Budget cards with analog video inputs" +reject_firmware drivers/media/pci/ttpci/budget-av.c + +announce DVB_BUDGET_CI - "Budget cards with onboard CI connector" +reject_firmware drivers/media/pci/ttpci/budget-ci.c + +announce DVB_C8SECTPFE - "STMicroelectronics C8SECTPFE DVB support" +reject_firmware drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c +clean_blob drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c +clean_kconfig drivers/media/platform/st/sti/c8sectpfe/Kconfig DVB_C8SECTPFE +clean_mk CONFIG_DVB_C8SECTPFE drivers/media/platform/st/sti/c8sectpfe/Makefile + +announce DVB_DRXD - "Micronas DRXD driver" +reject_firmware drivers/media/dvb-frontends/drxd_hard.c +clean_blob drivers/media/dvb-frontends/drxd_hard.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_DRXD +clean_mk CONFIG_DVB_DRXD drivers/media/dvb-frontends/Makefile + +announce DVB_DRXK - "Micronas DRXK based" +reject_firmware drivers/media/dvb-frontends/drxk_hard.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_DRXK +clean_mk CONFIG_DVB_DRXK drivers/media/dvb-frontends/Makefile + +announce DVB_MN88472 - "Panasonic MN88472" +reject_firmware drivers/media/dvb-frontends/mn88472.c +clean_blob drivers/media/dvb-frontends/mn88472.c +clean_blob drivers/media/dvb-frontends/mn88472_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_MN88472 +clean_mk CONFIG_DVB_MN88472 drivers/media/dvb-frontends/Makefile + +announce DVB_MN88473 - "Panasonic MN88473" +reject_firmware drivers/media/dvb-frontends/mn88473.c +clean_blob drivers/media/dvb-frontends/mn88473.c +clean_blob drivers/media/dvb-frontends/mn88473_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_MN88473 +clean_mk CONFIG_DVB_MN88473 drivers/media/dvb-frontends/Makefile + +announce DVB_NGENE - "Micronas nGene support" +reject_firmware drivers/media/pci/ngene/ngene-core.c +clean_blob drivers/media/pci/ngene/ngene-core.c +clean_kconfig drivers/media/pci/ngene/Kconfig DVB_NGENE +clean_mk CONFIG_DVB_NGENE drivers/media/pci/ngene/Makefile + +announce DVB_PLUTO2 - "Pluto2 cards" +reject_firmware drivers/media/pci/pluto2/pluto2.c + +announce SMS_SIANO_MDTV - "Siano SMS1xxx based MDTV receiver" +reject_firmware drivers/media/common/siano/smscoreapi.c +clean_blob drivers/media/common/siano/smscoreapi.c +clean_blob drivers/media/common/siano/smscoreapi.h +clean_kconfig drivers/media/common/siano/Kconfig SMS_SIANO_MDTV +clean_mk CONFIG_SMS_SIANO_MDTV drivers/media/common/siano/Makefile + +announce SMS_USB_DRV - "Siano's USB interface support" +reject_firmware drivers/media/usb/siano/smsusb.c +clean_blob drivers/media/usb/siano/smsusb.c +clean_kconfig drivers/media/usb/siano/Kconfig SMS_USB_DRV +clean_mk CONFIG_SMS_USB_DRV drivers/media/usb/siano/Makefile + +announce DVB_TTUSB_BUDGET - "Technotrend/Hauppauge Nova-USB devices" +reject_firmware drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c +clean_blob drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c +clean_kconfig drivers/media/usb/ttusb-budget/Kconfig DVB_TTUSB_BUDGET +clean_mk CONFIG_DVB_TTUSB_BUDGET drivers/media/usb/ttusb-budget/Makefile + +announce DVB_TTUSB_DEC - "Technotrend/Hauppauge USB DEC devices" +reject_firmware drivers/media/usb/ttusb-dec/ttusb_dec.c +clean_blob drivers/media/usb/ttusb-dec/ttusb_dec.c +clean_blob Documentation/admin-guide/media/ttusb-dec.rst +clean_kconfig drivers/media/usb/ttusb-dec/Kconfig DVB_TTUSB_DEC +clean_mk CONFIG_DVB_TTUSB_DEC drivers/media/usb/ttusb-dec/Makefile + +# video + +announce VIDEO_ALLEGRO_DVT - "Allegro DVT Video IP Core" +reject_firmware drivers/media/platform/allegro-dvt/allegro-core.c +clean_blob drivers/media/platform/allegro-dvt/allegro-core.c +clean_kconfig drivers/media/platform/allegro-dvt/Kconfig VIDEO_ALLEGRO_DVT +clean_mk CONFIG_VIDEO_ALLEGRO_DVT drivers/media/platform/allegro-dvt/Makefile + +announce VIDEO_AMPHION_VPU - "Amphion VPU (Video Processing Unit) Codec IP" +reject_firmware drivers/media/platform/amphion/vpu_core.c +clean_blob drivers/media/platform/amphion/vpu_core.c +clean_kconfig drivers/media/platform/amphion/Kconfig VIDEO_AMPHION_VPU +clean_mk CONFIG_VIDEO_AMPHION_VPU drivers/media/platform/amphion/Makefile + +announce VIDEO_ATOMISP - "Intel Atom Image Signal Processor Driver" +reject_firmware drivers/staging/media/atomisp/pci/atomisp_v4l2.c +clean_blob drivers/staging/media/atomisp/pci/atomisp_v4l2.c +clean_blob drivers/staging/media/atomisp/TODO +clean_kconfig drivers/staging/media/atomisp/Kconfig VIDEO_ATOMISP +clean_mk CONFIG_VIDEO_ATOMISP drivers/staging/media/atomisp/Makefile + +announce VIDEO_BT848 - "BT848 Video For Linux" +reject_firmware drivers/media/pci/bt8xx/bttv-cards.c +clean_blob drivers/media/pci/bt8xx/bttv-cards.c +clean_blob Documentation/admin-guide/media/bttv.rst +clean_kconfig drivers/media/pci/bt8xx/Kconfig VIDEO_BT848 +clean_mk CONFIG_VIDEO_BT848 drivers/media/pci/bt8xx/Makefile + +announce VIDEO_CCS - "MIPI CCS/SMIA++/SMIA sensor support" +reject_firmware drivers/media/i2c/ccs/ccs-core.c +clean_blob drivers/media/i2c/ccs/ccs-core.c +clean_kconfig drivers/media/i2c/ccs/Kconfig VIDEO_CCS +clean_mk CONFIG_VIDEO_CCS drivers/media/i2c/ccs/Makefile + +announce VIDEO_CODA - "Chips&Media Coda multi-standard codec IP" +reject_firmware drivers/media/platform/chips-media/coda-common.c +clean_blob drivers/media/platform/chips-media/coda-common.c +clean_kconfig drivers/media/platform/chips-media/Kconfig VIDEO_CODA +clean_mk CONFIG_VIDEO_CODA drivers/media/platform/chips-media/Makefile + +announce VIDEO_CPIA2 - "CPiA2 Video For Linux" +reject_firmware drivers/media/usb/cpia2/cpia2_core.c +clean_blob drivers/media/usb/cpia2/cpia2_core.c +clean_kconfig drivers/media/usb/cpia2/Kconfig VIDEO_CPIA2 +clean_mk CONFIG_VIDEO_CPIA2 drivers/media/usb/cpia2/Makefile + +announce VIDEO_CX18 - "Conexant cx23418 MPEG encoder support" +reject_firmware drivers/media/pci/cx18/cx18-av-firmware.c +reject_firmware drivers/media/pci/cx18/cx18-dvb.c +reject_firmware drivers/media/pci/cx18/cx18-firmware.c +clean_blob drivers/media/pci/cx18/cx18-av-firmware.c +clean_blob drivers/media/pci/cx18/cx18-dvb.c +clean_blob drivers/media/pci/cx18/cx18-firmware.c +clean_blob drivers/media/pci/cx18/cx18-driver.c +clean_kconfig drivers/media/pci/cx18/Kconfig VIDEO_CX18 +clean_mk CONFIG_VIDEO_CX18 drivers/media/pci/cx18/Makefile + +announce VIDEO_CX231XX - "Conexant cx231xx USB video capture support" +reject_firmware drivers/media/usb/cx231xx/cx231xx-417.c +clean_blob drivers/media/usb/cx231xx/cx231xx-417.c +clean_kconfig drivers/media/usb/cx231xx/Kconfig VIDEO_CX231XX +clean_mk CONFIG_VIDEO_CX231XX drivers/media/usb/cx231xx/Makefile + +announce VIDEO_CX23885 - "Conexant cx23885 (2388x successor) support" +reject_firmware drivers/media/pci/cx23885/cx23885-417.c +clean_blob drivers/media/pci/cx23885/cx23885-417.c +reject_firmware drivers/media/pci/cx23885/cx23885-cards.c +clean_blob drivers/media/pci/cx23885/cx23885-cards.c +clean_blob drivers/media/pci/cx23885/cx23885-video.c +clean_kconfig drivers/media/pci/cx23885/Kconfig VIDEO_CX23885 +clean_mk CONFIG_VIDEO_CX23885 drivers/media/pci/cx23885/Makefile + +announce VIDEO_CX25840 - "Conexant CX2584x audio/video decoders" +reject_firmware drivers/media/i2c/cx25840/cx25840-firmware.c +clean_blob drivers/media/i2c/cx25840/cx25840-firmware.c +clean_kconfig drivers/media/i2c/cx25840/Kconfig VIDEO_CX25840 +clean_mk CONFIG_VIDEO_CX25840 drivers/media/i2c/cx25840/Makefile + +announce VIDEO_CX88_BLACKBIRD - "Blackbird MPEG encoder support (cx2388x + cx23416)" +reject_firmware drivers/media/pci/cx88/cx88-blackbird.c +clean_kconfig drivers/media/pci/cx88/Kconfig VIDEO_CX88_BLACKBIRD +clean_mk CONFIG_VIDEO_CX88_BLACKBIRD drivers/media/pci/cx88/Makefile + +announce VIDEO_EM28XX_DVB - "DVB/ATSC Support for em28xx based TV cards" +clean_blob drivers/media/usb/em28xx/em28xx-dvb.c +clean_kconfig drivers/media/usb/em28xx/Kconfig VIDEO_EM28XX_DVB +clean_mk CONFIG_VIDEO_EM28XX_DVB drivers/media/usb/em28xx/Makefile + +announce VIDEO_EXYNOS4_FIMC_IS - "EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver" +reject_firmware drivers/media/platform/samsung/exynos4-is/fimc-is.c +clean_blob drivers/media/platform/samsung/exynos4-is/fimc-is.h +clean_kconfig drivers/media/platform/samsung/exynos4-is/Kconfig VIDEO_EXYNOS4_FIMC_IS +clean_mk CONFIG_VIDEO_EXYNOS4_FIMC_IS drivers/media/platform/samsung/exynos4-is/Makefile + +announce VIDEO_IPU3_IMGU - "Intel ipu3-imgu driver" +reject_firmware drivers/staging/media/ipu3/ipu3-css-fw.c +clean_blob drivers/staging/media/ipu3/ipu3-css-fw.h +clean_kconfig drivers/staging/media/ipu3/Kconfig VIDEO_IPU3_IMGU +clean_mk CONFIG_VIDEO_IPU3_IMGU drivers/staging/media/ipu3/Makefile + +announce VIDEO_IVTV - "Conexant cx23416/cx23415 MPEG encoder/decoder support" +reject_firmware drivers/media/pci/ivtv/ivtv-firmware.c +clean_blob drivers/media/pci/ivtv/ivtv-firmware.c +clean_blob Documentation/admin-guide/media/ivtv.rst +clean_kconfig drivers/media/pci/ivtv/Kconfig VIDEO_IVTV +clean_mk CONFIG_VIDEO_IVTV drivers/media/pci/ivtv/Makefile + +announce VIDEO_MEDIATEK_VPU - "Mediatek Video Processor Unit" +reject_firmware drivers/media/platform/mediatek/vpu/mtk_vpu.c +clean_blob drivers/media/platform/mediatek/vpu/mtk_vpu.c +clean_kconfig drivers/media/platform/mediatek/vpu/Kconfig VIDEO_MEDIATEK_VPU +clean_mk CONFIG_VIDEO_MEDIATEK_VPU drivers/media/platform/mediatek/vpu/Makefile + +announce VIDEO_MESON_VDEC - "Amlogic video decoder driver" +reject_firmware drivers/staging/media/meson/vdec/vdec_1.c +reject_firmware drivers/staging/media/meson/vdec/vdec_hevc.c +clean_blob drivers/staging/media/meson/vdec/vdec_platform.c +clean_kconfig drivers/staging/media/meson/vdec/Kconfig VIDEO_MESON_VDEC +clean_mk CONFIG_VIDEO_MESON_VDEC drivers/staging/media/meson/vdec/Makefile + +announce VIDEO_PVRUSB2 - "Hauppauge WinTV-PVR USB2 support" +reject_firmware drivers/media/usb/pvrusb2/pvrusb2-hdw.c +clean_blob drivers/media/usb/pvrusb2/pvrusb2-devattr.c +clean_kconfig drivers/media/usb/pvrusb2/Kconfig VIDEO_PVRUSB2 +clean_mk CONFIG_VIDEO_PVRUSB2 drivers/media/usb/pvrusb2/Makefile + +announce "VIDEO_CX23885, VIDEO_CX88_BLACKBIRD, VIDEO_IVTV, VIDEO_PVRUSB2" - "See above" +clean_blob include/media/drv-intf/cx2341x.h + +announce VIDEO_GO7007 - "Go 7007 support" +reject_firmware drivers/media/usb/go7007/go7007-driver.c +clean_blob drivers/media/usb/go7007/go7007-driver.c +reject_firmware drivers/media/usb/go7007/go7007-fw.c +clean_blob drivers/media/usb/go7007/go7007-fw.c +clean_kconfig drivers/media/usb/go7007/Kconfig VIDEO_GO7007 +clean_mk CONFIG_VIDEO_GO7007 drivers/media/usb/go7007/Makefile + +announce VIDEO_GO7007_USB_S2250_BOARD - "Sensoray 2250/2251 support" +reject_firmware drivers/media/usb/go7007/go7007-loader.c +clean_blob drivers/media/usb/go7007/go7007-loader.c +clean_kconfig drivers/media/usb/go7007/Kconfig VIDEO_GO7007_USB_S2250_BOARD +clean_mk CONFIG_VIDEO_GO7007_USB_S2250_BOARD drivers/media/usb/go7007/Makefile + +announce VIDEO_SAA7134_DVB - "DVB/ATSC Support for saa7134 based TV cards" +reject_firmware drivers/media/pci/saa7134/saa7134-dvb.c +clean_kconfig drivers/media/pci/saa7134/Kconfig VIDEO_SAA7134_DVB +clean_mk CONFIG_VIDEO_SAA7134_DVB drivers/media/pci/saa7134/Makefile + +announce VIDEO_SAA7134_GO7007 - "go7007 support for saa7134 based TV cards" +clean_blob drivers/media/pci/saa7134/saa7134-go7007.c +clean_kconfig drivers/media/pci/saa7134/Kconfig VIDEO_SAA7134_GO7007 +clean_mk CONFIG_VIDEO_SAA7134_GO7007 drivers/media/pci/saa7134/Makefile + +announce VIDEO_SAA7164 - "NXP SAA7164 support" +reject_firmware drivers/media/pci/saa7164/saa7164-fw.c +clean_blob drivers/media/pci/saa7164/saa7164-fw.c +clean_kconfig drivers/media/pci/saa7164/Kconfig VIDEO_SAA7164 +clean_mk CONFIG_VIDEO_SAA7164 drivers/media/pci/saa7164/Makefile + +announce VIDEO_S5C73M3 - "Samsung S5C73M3 sensor support" +reject_firmware drivers/media/i2c/s5c73m3/s5c73m3-core.c +clean_blob drivers/media/i2c/s5c73m3/s5c73m3-core.c +clean_kconfig drivers/media/i2c/Kconfig VIDEO_S5C73M3 +clean_mk CONFIG_VIDEO_S5C73M3 drivers/media/i2c/s5c73m3/Makefile + +announce VIDEO_S5K4ECGX - "Samsung S5K4ECGX sensor support" +reject_firmware drivers/media/i2c/s5k4ecgx.c +clean_blob drivers/media/i2c/s5k4ecgx.c +clean_kconfig drivers/media/i2c/Kconfig VIDEO_S5K4ECGX +clean_mk CONFIG_VIDEO_S5K4ECGX drivers/media/i2c/Makefile + +announce VIDEO_S5K5BAF - "Samsung S5K5BAF sensor support" +reject_firmware drivers/media/i2c/s5k5baf.c +clean_blob drivers/media/i2c/s5k5baf.c +clean_kconfig drivers/media/i2c/Kconfig VIDEO_S5K5BAF +clean_mk CONFIG_VIDEO_S5K5BAF drivers/media/i2c/Makefile + +announce VIDEO_VS6624 - "ST VS6624 sensor support" +clean_blob drivers/media/i2c/vs6624.c +clean_kconfig drivers/media/i2c/Kconfig VIDEO_VS6624 +clean_mk CONFIG_VIDEO_VS6624 drivers/media/i2c/Makefile + +announce VIDEO_SAMSUNG_S5P_MFC - "Samsung S5P MFC 5.1 Video Codec" +reject_firmware drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c +clean_blob drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c +clean_kconfig drivers/media/platform/samsung/s5p-mfc/Kconfig VIDEO_SAMSUNG_S5P_MFC +clean_mk CONFIG_VIDEO_SAMSUNG_S5P_MFC drivers/media/platform/samsung/s5p-mfc/Makefile + +announce USB_S2255 - "USB Sensoray 2255 video capture device" +reject_firmware drivers/media/usb/s2255/s2255drv.c +clean_blob drivers/media/usb/s2255/s2255drv.c +clean_kconfig drivers/media/usb/s2255/Kconfig USB_S2255 +clean_mk CONFIG_USB_S2255 drivers/media/usb/s2255/Makefile + +announce USB_GSPCA_VICAM - "USB 3com HomeConnect, AKA vicam" +reject_firmware drivers/media/usb/gspca/vicam.c +clean_blob drivers/media/usb/gspca/vicam.c +clean_kconfig drivers/media/usb/gspca/Kconfig USB_GSPCA_VICAM +clean_mk CONFIG_USB_GSPCA_VICAM drivers/media/usb/gspca/Makefile + +announce VIDEO_QCOM_VENUS - "Qualcomm Venus V4L2 encoder/decoder driver" +reject_firmware drivers/media/platform/qcom/venus/firmware.c +clean_blob drivers/media/platform/qcom/venus/core.c +clean_kconfig drivers/media/platform/qcom/venus/Kconfig VIDEO_QCOM_VENUS +clean_mk CONFIG_VIDEO_QCOM_VENUS drivers/media/platform/qcom/venus/Makefile + +announce VIDEO_TI_VPE - "TI VPE (Video Processing Engine) driver" +reject_firmware drivers/media/platform/ti/vpe/vpdma.c +clean_blob drivers/media/platform/ti/vpe/vpdma.c +clean_kconfig drivers/media/platform/ti/Kconfig VIDEO_TI_VPE +clean_mk CONFIG_VIDEO_TI_VPE drivers/media/platform/ti/vpe/Makefile + +# radio + +announce RADIO_WL1273 - "Texas Instruments WL1273 I2C FM Radio" +reject_firmware drivers/media/radio/radio-wl1273.c +clean_blob drivers/media/radio/radio-wl1273.c +clean_kconfig drivers/media/radio/Kconfig RADIO_WL1273 +clean_mk CONFIG_RADIO_WL1273 drivers/media/radio/Makefile + +announce RADIO_WL128X - "Texas Instruments WL128x FM Radio" +clean_blob drivers/media/radio/wl128x/fmdrv_common.h +reject_firmware drivers/media/radio/wl128x/fmdrv_common.c +clean_blob drivers/media/radio/wl128x/fmdrv_common.c +clean_kconfig drivers/media/radio/wl128x/Kconfig RADIO_WL128X +clean_mk CONFIG_RADIO_WL128X drivers/media/radio/Makefile + +####### +# net # +####### + +announce ACENIC - "Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit" +reject_firmware drivers/net/ethernet/alteon/acenic.c +clean_blob drivers/net/ethernet/alteon/acenic.c +clean_kconfig drivers/net/ethernet/alteon/Kconfig ACENIC +clean_mk CONFIG_ACENIC drivers/net/ethernet/alteon/Makefile + +announce ADAPTEC_STARFIRE - "Adaptec Starfire/DuraLAN support" +reject_firmware drivers/net/ethernet/adaptec/starfire.c +clean_blob drivers/net/ethernet/adaptec/starfire.c +clean_kconfig drivers/net/ethernet/adaptec/Kconfig ADAPTEC_STARFIRE +clean_mk CONFIG_ADAPTEC_STARFIRE drivers/net/ethernet/adaptec/Makefile + +announce BNA - "Brocade 1010/1020 10Gb Ethernet Driver support" +clean_blob drivers/net/ethernet/brocade/bna/bnad.c +clean_blob drivers/net/ethernet/brocade/bna/cna.h +reject_firmware drivers/net/ethernet/brocade/bna/bnad_ethtool.c +reject_firmware drivers/net/ethernet/brocade/bna/cna_fwimg.c +clean_kconfig drivers/net/ethernet/brocade/bna/Kconfig BNA +clean_mk CONFIG_BNA drivers/net/ethernet/brocade/bna/Makefile + +announce BNX2 - "Broadcom NetXtremeII" +reject_firmware drivers/net/ethernet/broadcom/bnx2.c +clean_blob drivers/net/ethernet/broadcom/bnx2.c +clean_kconfig drivers/net/ethernet/broadcom/Kconfig BNX2 +clean_mk CONFIG_BNX2 drivers/net/ethernet/broadcom/Makefile + +announce BNX2X - "Broadcom NetXtremeII 10Gb support" +reject_firmware drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +clean_sed ' +/^#include "bnx2x_init\.h"/,/^$/{ + /^$/i\ +#define bnx2x_init_block(bp, start, end) \\\ + return (printk(KERN_ERR "%s: Missing Free firmware\\n", bp->dev->name),\\\ + -EINVAL) +}' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c 'report missing Free firmware' +clean_blob drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +clean_blob drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +clean_blob drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h +clean_sed ' +/static void bnx2x_init_wr_wb/{ + i\ +extern void bnx2x_init_wr_wb(struct bnx2x *, u32, const u32 *, u32); +}' drivers/net/ethernet/broadcom/bnx2x/bnx2x_init_ops.h 'declare removed function' +clean_blob drivers/net/ethernet/broadcom/bnx2x/bnx2x_init_ops.h +clean_kconfig drivers/net/ethernet/broadcom/Kconfig BNX2X +clean_mk CONFIG_BNX2X drivers/net/ethernet/broadcom/bnx2x/Makefile + +announce CASSINI - "Sun Cassini" +reject_firmware drivers/net/ethernet/sun/cassini.c +clean_blob drivers/net/ethernet/sun/cassini.c +clean_kconfig drivers/net/ethernet/sun/Kconfig CASSINI +clean_mk CONFIG_CASSINI drivers/net/ethernet/sun/Makefile + +announce CHELSIO_T3 - "Chelsio AEL 2005 support" +reject_firmware drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c +clean_blob drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c +clean_kconfig drivers/net/ethernet/chelsio/Kconfig CHELSIO_T3 +clean_mk CONFIG_CHELSIO_T3 drivers/net/ethernet/chelsio/cxgb3/Makefile + +announce CHELSIO_T4 - "Chelsio Communications T4 Ethernet support" +reject_firmware drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c +clean_blob drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c +clean_kconfig drivers/net/ethernet/chelsio/Kconfig CHELSIO_T4 +clean_mk CONFIG_CHELSIO_T4 drivers/net/ethernet/chelsio/cxgb4/Makefile + +announce E100 - "Intel PRO/100+" +reject_firmware drivers/net/ethernet/intel/e100.c +clean_sed ' +/^static const struct firmware \*e100_\(reject\|request\)_firmware(/,/^}$/{ + s:^\(.*\)return ERR_PTR(err);$:\1netif_err(nic, probe, nic->netdev, "Proceeding without firmware\\n");\n\1return NULL;: +}' drivers/net/ethernet/intel/e100.c 'proceed without firmware' +clean_blob drivers/net/ethernet/intel/e100.c +clean_kconfig drivers/net/ethernet/intel/Kconfig E100 +clean_mk CONFIG_E100 drivers/net/ethernet/intel/Makefile + +announce ICE - "Intel(R) Ethernet Connection E800 Series Support" +reject_firmware drivers/net/ethernet/intel/ice/ice_main.c +clean_blob drivers/net/ethernet/intel/ice/ice_main.c +clean_blob Documentation/networking/device_drivers/ethernet/intel/ice.rst +clean_kconfig drivers/net/ethernet/intel/Kconfig ICE +clean_mk CONFIG_ICE drivers/net/ethernet/intel/Makefile + +announce LIQUIDIO - "Cavium LiquidIO support" +reject_firmware drivers/net/ethernet/cavium/liquidio/lio_main.c +clean_blob drivers/net/ethernet/cavium/liquidio/lio_main.c +clean_kconfig drivers/net/ethernet/cavium/Kconfig LIQUIDIO +clean_mk CONFIG_LIQUIDIO drivers/net/ethernet/cavium/liquidio/Makefile + +announce MLXSW_CORE - "Mellanox Technologies Switch ASICs support" +reject_firmware drivers/net/ethernet/mellanox/mlxsw/core.c +reject_firmware drivers/net/ethernet/mellanox/mlxsw/core_linecards.c +clean_blob drivers/net/ethernet/mellanox/mlxsw/core_linecards.c +clean_kconfig drivers/net/ethernet/mellanox/mlxsw/Kconfig MLXSW_CORE +clean_mk CONFIG_MLXSW_CORE drivers/net/ethernet/mellanox/mlxsw/Makefile + +announce MLXSW_SPECTRUM - "Mellanox Technologies Spectrum support" +clean_blob drivers/net/ethernet/mellanox/mlxsw/spectrum.c +clean_kconfig drivers/net/ethernet/mellanox/mlxsw/Kconfig MLXSW_SPECTRUM +clean_mk CONFIG_MLXSW_SPECTRUM drivers/net/ethernet/mellanox/mlxsw/Makefile + +announce MYRI10GE - "Myricom Myri-10G Ethernet support" +reject_firmware drivers/net/ethernet/myricom/myri10ge/myri10ge.c +clean_blob drivers/net/ethernet/myricom/myri10ge/myri10ge.c +clean_kconfig drivers/net/ethernet/myricom/Kconfig MYRI10GE +clean_mk CONFIG_MYRI10GE drivers/net/ethernet/myricom/myri10ge/Makefile + +announce NFP - "Netronome(R) NFP4000/NFP6000 NIC driver" +reject_firmware drivers/net/ethernet/netronome/nfp/nfp_main.c +clean_blob drivers/net/ethernet/netronome/nfp/nfp_main.c +clean_blob Documentation/networking/device_drivers/ethernet/netronome/nfp.rst +clean_kconfig drivers/net/ethernet/netronome/Kconfig NFP +clean_mk CONFIG_NFP drivers/net/ethernet/netronome/nfp/Makefile + +announce NETXEN_NIC - "NetXen Multi port (1/10) Gigabit Ethernet NIC" +reject_firmware drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c +clean_blob drivers/net/ethernet/qlogic/netxen/netxen_nic.h +clean_blob drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c +clean_kconfig drivers/net/ethernet/qlogic/Kconfig NETXEN_NIC +clean_mk CONFIG_NETXEN_NIC drivers/net/ethernet/qlogic/Makefile + +announce QED - "QLogic QED 25/40/100Gb core driver" +reject_firmware drivers/net/ethernet/qlogic/qed/qed_main.c +clean_blob drivers/net/ethernet/qlogic/qed/qed_main.c +clean_kconfig drivers/net/ethernet/qlogic/Kconfig QED +clean_mk CONFIG_QED drivers/net/ethernet/qlogic/qed/Makefile + +announce QLCNIC - "QLOGIC QLCNIC 1/10Gb Converged Ethernet NIC Support" +reject_firmware drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c +reject_firmware drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c +clean_blob drivers/net/ethernet/qlogic/qlcnic/qlcnic.h +clean_blob drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h +clean_blob drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +clean_kconfig drivers/net/ethernet/qlogic/Kconfig QLCNIC +clean_mk CONFIG_QLCNIC drivers/net/ethernet/qlogic/qlcnic/Makefile + +announce R8169 - "Realtek 8169 gigabit ethernet support" +reject_firmware drivers/net/ethernet/realtek/r8169_firmware.c +clean_blob drivers/net/ethernet/realtek/r8169_main.c +clean_kconfig drivers/net/ethernet/realtek/Kconfig R8169 +clean_mk CONFIG_R8169 drivers/net/ethernet/realtek/Makefile + +announce SLICOSS - "Alacritech Gigabit IS-NIC cards" +reject_firmware drivers/net/ethernet/alacritech/slicoss.c +clean_blob drivers/net/ethernet/alacritech/slic.h +clean_blob drivers/net/ethernet/alacritech/slicoss.c +clean_kconfig drivers/net/ethernet/alacritech/Kconfig SLICOSS +clean_mk CONFIG_SLICOSS drivers/net/ethernet/alacritech/Makefile + +announce SPIDER_NET - "Spider Gigabit Ethernet driver" +reject_firmware drivers/net/ethernet/toshiba/spider_net.c +clean_sed 's,spider_fw\.bin,DEBLOBBED.bin,g' \ + drivers/net/ethernet/toshiba/spider_net.c 'removed non-Free firmware notes' +clean_blob drivers/net/ethernet/toshiba/spider_net.c +clean_blob drivers/net/ethernet/toshiba/spider_net.h +clean_kconfig drivers/net/ethernet/toshiba/Kconfig SPIDER_NET +clean_mk CONFIG_SPIDER_NET drivers/net/ethernet/toshiba/Makefile + +announce TEHUTI - "Tehuti Networks 10G Ethernet" +reject_firmware drivers/net/ethernet/tehuti/tehuti.c +clean_blob drivers/net/ethernet/tehuti/tehuti.c +clean_kconfig drivers/net/ethernet/tehuti/Kconfig TEHUTI +clean_mk CONFIG_TEHUTI drivers/net/ethernet/tehuti/Makefile + +announce TIGON3 - "Broadcom Tigon3" +reject_firmware drivers/net/ethernet/broadcom/tg3.c +clean_blob drivers/net/ethernet/broadcom/tg3.c +clean_kconfig drivers/net/ethernet/broadcom/Kconfig TIGON3 +clean_mk CONFIG_TIGON3 drivers/net/ethernet/broadcom/Makefile + +announce TYPHOON - "3cr990 series Typhoon" +reject_firmware drivers/net/ethernet/3com/typhoon.c +clean_blob drivers/net/ethernet/3com/typhoon.c +clean_kconfig drivers/net/ethernet/3com/Kconfig TYPHOON +clean_mk CONFIG_TYPHOON drivers/net/ethernet/3com/Makefile + +announce VXGE - "Exar X3100 Series 10GbE PCIe Server Adapter" +reject_firmware drivers/net/ethernet/neterion/vxge/vxge-main.c +clean_blob drivers/net/ethernet/neterion/vxge/vxge-main.c +clean_kconfig drivers/net/ethernet/neterion/Kconfig VXGE +clean_mk CONFIG_VXGE drivers/net/ethernet/neterion/vxge/Makefile + +# appletalk + +announce COPS - "COPS LocalTalk PC" +clean_sed ' +/sizeof(\(ff\|lt\)drv_code)/{ + i\ + printk(KERN_INFO "%s: Missing Free firmware.\\n", dev->name);\ + return; +} +/\(ff\|lt\)drv_code/d; +' drivers/net/appletalk/cops.c 'report missing Free firmware' +clean_blob drivers/net/appletalk/cops.c +clean_file drivers/net/appletalk/cops_ffdrv.h +clean_file drivers/net/appletalk/cops_ltdrv.h +clean_kconfig drivers/net/appletalk/Kconfig COPS +clean_mk CONFIG_COPS drivers/net/appletalk/Makefile + +# hamradio + +announce YAM - "YAM driver for AX.25" +reject_firmware drivers/net/hamradio/yam.c +clean_blob drivers/net/hamradio/yam.c +clean_kconfig drivers/net/hamradio/Kconfig YAM +clean_mk CONFIG_YAM drivers/net/hamradio/Makefile + +# smsc + +announce PCMCIA_SMC91C92 - "SMC 91Cxx PCMCIA" +reject_firmware drivers/net/ethernet/smsc/smc91c92_cs.c +clean_blob drivers/net/ethernet/smsc/smc91c92_cs.c +clean_kconfig drivers/net/ethernet/smsc/Kconfig PCMCIA_SMC91C92 +clean_mk CONFIG_PCMCIA_SMC91C92 drivers/net/ethernet/smsc/Makefile + +# near-field communication + +announce NFC_FDP - "Intel FDP NFC driver" +reject_firmware drivers/nfc/fdp/fdp.c +clean_blob drivers/nfc/fdp/fdp.c +clean_kconfig drivers/nfc/fdp/Kconfig NFC_FDP +clean_mk CONFIG_NFC_FDP drivers/nfc/fdp/Makefile + +announce NFC_MRVL - "Marvell NFC core driver" +reject_firmware drivers/nfc/nfcmrvl/fw_dnld.c +clean_kconfig drivers/nfc/nfcmrvl/Kconfig NFC_MRVL +clean_mk CONFIG_NFC_MRVL drivers/nfc/nfcmrvl/Makefile + +announce NFC_NXP_NCI - "NXP-NCI NFC driver" +reject_firmware drivers/nfc/nxp-nci/firmware.c +clean_kconfig drivers/nfc/nxp-nci/Kconfig NFC_NXP_NCI +clean_mk CONFIG_NFC_NXP_NCI drivers/nfc/nxp-nci/Makefile + +announce NFC_PN544_I2C - "NFC PN544 i2c support" +reject_firmware drivers/nfc/pn544/i2c.c +clean_kconfig drivers/nfc/pn544/Kconfig NFC_PN544_I2C +clean_mk CONFIG_NFC_PN544_I2C drivers/nfc/pn544/Makefile + +announce NFC_S3FWRN5 - "Core driver for Samsung S3FWRN5 NFC chip" +clean_blob drivers/nfc/s3fwrn5/core.c +reject_firmware drivers/nfc/s3fwrn5/firmware.c +reject_firmware drivers/nfc/s3fwrn5/nci.c +clean_kconfig drivers/nfc/s3fwrn5/Kconfig NFC_S3FWRN5 +clean_mk CONFIG_NFC_S3FWRN5 drivers/nfc/s3fwrn5/Makefile + +# pcmcia + +# CIS files are not software. +# announce PCCARD - "PCCard (PCMCIA/CardBus) support" +# reject_firmware drivers/pcmcia/ds.c +# clean_kconfig drivers/pcmcia/Kconfig 'PCCARD' +# clean_mk CONFIG_PCCARD drivers/pcmcia/Makefile + +# announce PCMCIA_3C574 - "3Com 3c574 PCMCIA support" +# clean_blob drivers/net/pcmcia/3c574_cs.c +# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C574' +# clean_mk CONFIG_PCMCIA_3C574 drivers/net/pcmcia/Makefile + +# announce PCMCIA_3C589 - "3Com 3c589 PCMCIA support" +# clean_blob drivers/net/pcmcia/3c589_cs.c +# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C589' +# clean_mk CONFIG_PCMCIA_3C589 drivers/net/pcmcia/Makefile + +# announce PCMCIA_PCNET - "NE2000 compatible PCMCIA support" +# clean_blob drivers/net/pcmcia/pcnet_cs.c +# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_PCNET' +# clean_mk CONFIG_PCMCIA_PCNET drivers/net/pcmcia/Makefile + +# usb + +announce USB_KAWETH - "USB KLSI KL5USB101-based ethernet device support" +reject_firmware drivers/net/usb/kaweth.c +clean_blob drivers/net/usb/kaweth.c +clean_kconfig drivers/net/usb/Kconfig USB_KAWETH +clean_mk CONFIG_USB_KAWETH drivers/net/usb/Makefile + +announce USB_RTL8152 - "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters" +reject_firmware drivers/net/usb/r8152.c +clean_blob drivers/net/usb/r8152.c +clean_kconfig drivers/net/usb/Kconfig USB_RTL8152 +clean_mk CONFIG_USB_RTL8152 drivers/net/usb/Makefile + +# wireless + +announce ATMEL "Atmel at76c50x chipset 802.11b support" +reject_firmware drivers/net/wireless/atmel/atmel.c +clean_blob drivers/net/wireless/atmel/atmel.c +clean_kconfig drivers/net/wireless/atmel/Kconfig ATMEL +clean_mk CONFIG_ATMEL drivers/net/wireless/atmel/Makefile + +announce AT76C50X_USB - "Atmel at76c503/at76c505/at76c505a USB cards" +reject_firmware drivers/net/wireless/atmel/at76c50x-usb.c +clean_blob drivers/net/wireless/atmel/at76c50x-usb.c +clean_kconfig drivers/net/wireless/atmel/Kconfig AT76C50X_USB +clean_mk CONFIG_AT76C50X_USB drivers/net/wireless/atmel/Makefile + +announce B43 - "Broadcom 43xx wireless support (mac80211 stack)" +maybe_reject_firmware drivers/net/wireless/broadcom/b43/main.c +clean_sed ' +/^static int b43_upload_microcode(/,/^}$/{ + / if (dev->fw\.opensource) {$/i\ + if (!dev->fw.opensource) {\ + b43err(dev->wl, "Rejected non-Free firmware\\n");\ + err = -EOPNOTSUPP;\ + goto error;\ + } +}' drivers/net/wireless/broadcom/b43/main.c 'double-check and reject non-Free firmware' +clean_sed ' +/^[\t]*filename = "\(ucode\|b0g0\(bs\)\?initvals\)5";$/! { + s,^\([\t]*filename = "\)\(ucode\|pcm\|[^ "]*initvals\)[0-9][^ ."]*";,\1/*(DEBLOBBED)*/";,g +}' drivers/net/wireless/broadcom/b43/main.c 'cleaned up blob basenames' +clean_blob drivers/net/wireless/broadcom/b43/main.c +clean_kconfig drivers/net/wireless/broadcom/b43/Kconfig B43 +clean_mk CONFIG_B43 drivers/net/wireless/broadcom/b43/Makefile + +announce B43LEGACY - "Broadcom 43xx-legacy wireless support (mac80211 stack)" +reject_firmware drivers/net/wireless/broadcom/b43legacy/main.c +clean_sed ' +{ + s,^\([\t]*filename = "\)\(ucode\|pcm\|[^ "]*initvals\)[0-9][^ ."]*";,\1/*(DEBLOBBED)*/";,g +}' drivers/net/wireless/broadcom/b43legacy/main.c 'cleaned up blob basenames' +clean_blob drivers/net/wireless/broadcom/b43legacy/main.c +clean_kconfig drivers/net/wireless/broadcom/b43legacy/Kconfig B43LEGACY +clean_mk CONFIG_B43LEGACY drivers/net/wireless/broadcom/b43legacy/Makefile + +announce BRCMSMAC - "Broadcom IEEE802.11n PCIe SoftMAC WLAN driver" +reject_firmware drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c +clean_blob drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c +clean_kconfig drivers/net/wireless/broadcom/brcm80211/Kconfig BRCMSMAC +clean_mk CONFIG_BRCMSMAC drivers/net/wireless/broadcom/brcm80211/Makefile + +announce BRCMFMAC - "Broadcom IEEE802.11n embedded FullMAC WLAN driver" +reject_firmware drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +reject_firmware drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c +clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h +clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC +clean_mk CONFIG_BRCMFMAC drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile + +announce BRCMFMAC_SDIO - "Broadcom IEEE802.11n SDIO FullMAC WLAN driver" +clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC_SDIO +clean_mk CONFIG_BRCMFMAC_SDIO drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile + +announce BRCMFMAC_USB - "Broadcom IEEE802.11n USB FullMAC WLAN driver" +clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c +clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC_USB +clean_mk CONFIG_BRCMFMAC_USB drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile + +announce BRCMFMAC_PCIE - "Broadcom IEEE802.11n PCIE FullMAC WLAN driver" +clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC_PCIE +clean_mk CONFIG_BRCMFMAC_PCIE drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile + +announce HERMES - "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)" +reject_firmware drivers/net/wireless/intersil/orinoco/fw.c +clean_blob drivers/net/wireless/intersil/orinoco/fw.c +clean_kconfig drivers/net/wireless/intersil/orinoco/Kconfig HERMES +clean_mk CONFIG_HERMES drivers/net/wireless/intersil/orinoco/Makefile + +announce ORINOCO_USB - "Agere Orinoco USB support" +reject_firmware drivers/net/wireless/intersil/orinoco/orinoco_usb.c +clean_blob drivers/net/wireless/intersil/orinoco/orinoco_usb.c +clean_kconfig drivers/net/wireless/intersil/orinoco/Kconfig ORINOCO_USB +clean_mk CONFIG_ORINOCO_USB drivers/net/wireless/intersil/orinoco/Makefile + +announce IPW2100 - "Intel PRO/Wireless 2100 Network Connection" +reject_firmware drivers/net/wireless/intel/ipw2x00/ipw2100.c +clean_blob drivers/net/wireless/intel/ipw2x00/ipw2100.c +clean_kconfig drivers/net/wireless/intel/ipw2x00/Kconfig IPW2100 +clean_mk CONFIG_IPW2100 drivers/net/wireless/intel/ipw2x00/Makefile + +announce IPW2200 - "Intel PRO/Wireless 2200BG and 2915ABG Network Connection" +reject_firmware drivers/net/wireless/intel/ipw2x00/ipw2200.c +clean_blob drivers/net/wireless/intel/ipw2x00/ipw2200.c +clean_kconfig drivers/net/wireless/intel/ipw2x00/Kconfig IPW2200 +clean_mk CONFIG_IPW2200 drivers/net/wireless/intel/ipw2x00/Makefile + +announce IWL3945 - "Intel PRO/Wireless 3945ABG/BG Network Connection" +reject_firmware drivers/net/wireless/intel/iwlegacy/3945-mac.c +clean_blob drivers/net/wireless/intel/iwlegacy/3945-mac.c +clean_blob drivers/net/wireless/intel/iwlegacy/3945.h +clean_kconfig drivers/net/wireless/intel/iwlegacy/Kconfig IWL3945 +clean_mk CONFIG_IWL3945 drivers/net/wireless/intel/iwlegacy/Makefile + +announce IWL4965 - "Intel Wireless WiFi 4965AGN" +reject_firmware drivers/net/wireless/intel/iwlegacy/4965-mac.c +clean_blob drivers/net/wireless/intel/iwlegacy/4965-mac.c +clean_blob drivers/net/wireless/intel/iwlegacy/4965.c +clean_kconfig drivers/net/wireless/intel/iwlegacy/Kconfig IWL4965 +clean_mk CONFIG_IWL4965 drivers/net/wireless/intel/iwlegacy/Makefile + +announce IWLWIFI - "Intel Wireless WiFi Next Gen AGN" +reject_firmware drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +reject_firmware drivers/net/wireless/intel/iwlwifi/iwl-drv.c +reject_firmware drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +reject_firmware drivers/net/wireless/intel/iwlwifi/fw/pnvm.c +clean_blob drivers/net/wireless/intel/iwlwifi/iwl-drv.c +clean_blob drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +clean_kconfig drivers/net/wireless/intel/iwlwifi/Kconfig IWLWIFI +clean_mk CONFIG_IWLWIFI drivers/net/wireless/intel/iwlwifi/Makefile + +announce IWLDVM - "Intel Wireless WiFi DVM Firmware support" +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/1000.c +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/2000.c +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/5000.c +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/6000.c +clean_kconfig drivers/net/wireless/intel/iwlwifi/Kconfig IWLDVM +clean_mk CONFIG_IWLMVM drivers/net/wireless/intel/iwlwifi/Makefile + +announce IWLMVM - "Intel Wireless WiFi MVM Firmware support" +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/7000.c +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/8000.c +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/9000.c +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/22000.c +clean_kconfig drivers/net/wireless/intel/iwlwifi/Kconfig IWLMVM +clean_mk CONFIG_IWLMVM drivers/net/wireless/intel/iwlwifi/Makefile + +announce KS7010 - "KeyStream KS7010 SDIO support" +reject_firmware drivers/staging/ks7010/ks7010_sdio.c +clean_blob drivers/staging/ks7010/ks7010_sdio.c +clean_kconfig drivers/staging/ks7010/Kconfig KS7010 +clean_mk CONFIG_KS7010 drivers/staging/ks7010/Makefile + +announce LIBERTAS - "Marvell 8xxx Libertas WLAN driver support" +reject_firmware drivers/net/wireless/marvell/libertas/firmware.c +clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS +clean_mk CONFIG_LIBERTAS drivers/net/wireless/marvell/libertas/Makefile + +announce LIBERTAS_CS - "Marvell Libertas 8385 CompactFlash 802.11b/g cards" +clean_blob drivers/net/wireless/marvell/libertas/if_cs.c +clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS_CS +clean_mk CONFIG_LIBERTAS_CS drivers/net/wireless/marvell/libertas/Makefile + +announce LIBERTAS_SDIO - "Marvell Libertas 8385 and 8686 SDIO 802.11b/g cards" +clean_blob drivers/net/wireless/marvell/libertas/if_sdio.c +clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS_SDIO +clean_mk CONFIG_LIBERTAS_SDIO drivers/net/wireless/marvell/libertas/Makefile + +announce LIBERTAS_SPI - "Marvell Libertas 8686 SPI 802.11b/g cards" +clean_blob drivers/net/wireless/marvell/libertas/if_spi.c +clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS_SPI +clean_mk CONFIG_LIBERTAS_SPI drivers/net/wireless/marvell/libertas/Makefile + +announce LIBERTAS_USB - "Marvell Libertas 8388 USB 802.11b/g cards" +clean_blob drivers/net/wireless/marvell/libertas/if_usb.c +clean_blob drivers/net/wireless/marvell/libertas/README +clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS_USB +clean_mk CONFIG_LIBERTAS_USB drivers/net/wireless/marvell/libertas/Makefile + +announce LIBERTAS_THINFIRM_USB - "Marvell Libertas 8388 USB 802.11b/g cards with thin firmware" +reject_firmware drivers/net/wireless/marvell/libertas_tf/if_usb.c +clean_blob drivers/net/wireless/marvell/libertas_tf/if_usb.c +clean_kconfig drivers/net/wireless/marvell/libertas_tf/Kconfig LIBERTAS_THINFIRM_USB +clean_mk CONFIG_LIBERTAS_THINFIRM_USB drivers/net/wireless/marvell/libertas_tf/Makefile + +announce MT7601U - "MediaTek MT7601U (USB) support" +reject_firmware drivers/net/wireless/mediatek/mt7601u/mcu.c +clean_blob drivers/net/wireless/mediatek/mt7601u/usb.c +clean_blob drivers/net/wireless/mediatek/mt7601u/usb.h +clean_kconfig drivers/net/wireless/mediatek/mt7601u/Kconfig MT7601U +clean_mk CONFIG_MT7601U drivers/net/wireless/mediatek/mt7601u/Makefile + +announce MT76x0_COMMON - "MediaTek MT76x0E/U support" +clean_blob drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0.h +clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x0/Kconfig MT76x0_COMMON +clean_mk CONFIG_MT76x0_COMMON drivers/net/wireless/mediatek/mt76/mt76x0/Makefile + +announce MT76x0E - "MediaTek MT76x0E (PCIe) support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt76x0/pci.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x0/Kconfig MT76x0E +clean_mk CONFIG_MT76x0E drivers/net/wireless/mediatek/mt76/mt76x0/Makefile + +announce MT76x0U - "MediaTek MT76x0U (USB) support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt76x0/usb.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x0/Kconfig MT76x0U +clean_mk CONFIG_MT76x0U drivers/net/wireless/mediatek/mt76/mt76x0/Makefile + +announce MT76x2E - "MediaTek MT76x2E (PCIe) support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2.h +clean_blob drivers/net/wireless/mediatek/mt76/mt76x2/pci.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x2/Kconfig MT76x2E +clean_mk CONFIG_MT76x2E drivers/net/wireless/mediatek/mt76/mt76x2/Makefile + +announce MT76x2U - "MediaTek MT76x2U (USB) support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt76x2/usb.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x2/Kconfig MT76x2U +clean_mk CONFIG_MT76x2U drivers/net/wireless/mediatek/mt76/mt76x2/Makefile + +announce MT7603E - "MediaTek MT7603E (PCIe) and MT76x8 WLAN support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt7603/mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7603/mt7603.h +clean_blob drivers/net/wireless/mediatek/mt76/mt7603/pci.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7603/soc.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7603/Kconfig MT7603E +clean_mk CONFIG_MT7603E drivers/net/wireless/mediatek/mt76/mt7603/Makefile + +announce MT7615E - "MediaTek MT7615E (PCIe) support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h +clean_blob drivers/net/wireless/mediatek/mt76/mt7615/pci.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7615/sdio.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7615/Kconfig MT7615E +clean_mk CONFIG_MT7615E drivers/net/wireless/mediatek/mt76/mt7615/Makefile + +announce MT7622_WMAC - "MT7622 (SoC) WMAC support" +clean_blob drivers/net/wireless/mediatek/mt76/mt7615/soc.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7615/Kconfig MT7622_WMAC +clean_mk CONFIG_MT7622_WMAC drivers/net/wireless/mediatek/mt76/mt7615/Makefile + +announce MT7663U - "MediaTek MT7663U (USB) support" +clean_blob drivers/net/wireless/mediatek/mt76/mt7615/usb.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7615/Kconfig MT7663U +clean_mk CONFIG_MT7663U drivers/net/wireless/mediatek/mt76/mt7615/Makefile + +announce MT7915E - "MediaTek MT7915E (PCIe) support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +reject_firmware drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h +clean_blob drivers/net/wireless/mediatek/mt76/mt7915/pci.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7915/Kconfig MT7915E +clean_mk CONFIG_MT7915E drivers/net/wireless/mediatek/mt76/mt7915/Makefile + +announce MT7986_WMAC - "MT7986 (SoC) WMAC support" +clean_blob drivers/net/wireless/mediatek/mt76/mt7915/soc.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7915/Kconfig MT7986_WMAC +clean_mk CONFIG_MT7986_WMAC drivers/net/wireless/mediatek/mt76/mt7915/Makefile + +announce MT7921_COMMON - "MediaTek MT7921 support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7921/Kconfig MT7921_COMMON +clean_mk CONFIG_MT7921_COMMON drivers/net/wireless/mediatek/mt76/mt7921/Makefile + +announce MT7921E - "MediaTek MT7921E (PCIe) support" +clean_blob drivers/net/wireless/mediatek/mt76/mt7921/pci.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7921/Kconfig MT7921E +clean_mk CONFIG_MT7921E drivers/net/wireless/mediatek/mt76/mt7921/Makefile + +announce MT7921S - "MediaTek MT7921S (SDIO) support" +clean_blob drivers/net/wireless/mediatek/mt76/mt7921/sdio.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7921/Kconfig MT7921S +clean_mk CONFIG_MT7921S drivers/net/wireless/mediatek/mt76/mt7921/Makefile + +announce MT7921U - "MediaTek MT7921U (USB) support" +clean_blob drivers/net/wireless/mediatek/mt76/mt7921/usb.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7921/Kconfig MT7921U +clean_mk CONFIG_MT7921U drivers/net/wireless/mediatek/mt76/mt7921/Makefile + +announce MWIFIEX - "Marvell WiFi-Ex Driver" +clean_blob drivers/net/wireless/marvell/mwifiex/README +reject_firmware drivers/net/wireless/marvell/mwifiex/main.c +clean_blob drivers/net/wireless/marvell/mwifiex/main.c +clean_kconfig drivers/net/wireless/marvell/mwifiex/Kconfig MWIFIEX +clean_mk CONFIG_MWIFIEX drivers/net/wireless/marvell/mwifiex/Makefile + +announce MWIFIEX_SDIO - "Marvell WiFi-Ex Driver for SD8787" +clean_blob drivers/net/wireless/marvell/mwifiex/sdio.h +clean_blob drivers/net/wireless/marvell/mwifiex/sdio.c +clean_kconfig drivers/net/wireless/marvell/mwifiex/Kconfig MWIFIEX_SDIO +clean_mk CONFIG_MWIFIEX_SDIO drivers/net/wireless/marvell/mwifiex/Makefile + +announce MWIFIEX_PCIE - "Marvell WiFi-Ex Driver for PCI 8766" +clean_blob drivers/net/wireless/marvell/mwifiex/pcie.h +clean_kconfig drivers/net/wireless/marvell/mwifiex/Kconfig MWIFIEX_PCIE +clean_mk CONFIG_MWIFIEX_PCIE drivers/net/wireless/marvell/mwifiex/Makefile + +announce MWIFIEX_USB - "Marvell WiFi-Ex Driver for USB8797" +clean_blob drivers/net/wireless/marvell/mwifiex/usb.h +clean_blob drivers/net/wireless/marvell/mwifiex/usb.c +clean_kconfig drivers/net/wireless/marvell/mwifiex/Kconfig MWIFIEX_USB +clean_mk CONFIG_MWIFIEX_USB drivers/net/wireless/marvell/mwifiex/Makefile + +announce MWL8K - "Marvell 88W8xxx PCI/PCIe Wireless support" +reject_firmware drivers/net/wireless/marvell/mwl8k.c +clean_blob drivers/net/wireless/marvell/mwl8k.c +clean_kconfig drivers/net/wireless/marvell/Kconfig MWL8K +clean_mk CONFIG_MWL8K drivers/net/wireless/marvell/Makefile + +announce PRESTERA_PCI - "PCI interface driver for Marvell Prestera Switch ASICs family" +reject_firmware drivers/net/ethernet/marvell/prestera/prestera_pci.c +clean_blob drivers/net/ethernet/marvell/prestera/prestera_pci.c +clean_kconfig drivers/net/ethernet/marvell/prestera/Kconfig PRESTERA_PCI +clean_mk CONFIG_PRESTERA_PCI drivers/net/ethernet/marvell/prestera/Makefile + +announce AR5523 - "Atheros AR5523 wireless driver support" +reject_firmware drivers/net/wireless/ath/ar5523/ar5523.c +clean_blob drivers/net/wireless/ath/ar5523/ar5523.c +clean_blob drivers/net/wireless/ath/ar5523/ar5523.h +clean_kconfig drivers/net/wireless/ath/ar5523/Kconfig AR5523 +clean_mk CONFIG_AR5523 drivers/net/wireless/ath/ar5523/Makefile + +announce ATH6KL - "Atheros ath6kl support" +reject_firmware drivers/net/wireless/ath/ath6kl/init.c +clean_blob drivers/net/wireless/ath/ath6kl/init.c +clean_blob drivers/net/wireless/ath/ath6kl/core.h +clean_kconfig drivers/net/wireless/ath/ath6kl/Kconfig ATH6KL +clean_mk CONFIG_ATH6KL drivers/net/wireless/ath/ath6kl/Makefile + +announce ATH6KL_SDIO - "Atheros ath6kl SDIO support" +clean_blob drivers/net/wireless/ath/ath6kl/sdio.c +clean_kconfig drivers/net/wireless/ath/ath6kl/Kconfig ATH6KL_SDIO +clean_mk CONFIG_ATH6KL_SDIO drivers/net/wireless/ath/ath6kl/Makefile + +announce ATH6KL_USB - "Atheros ath6kl USB support" +clean_blob drivers/net/wireless/ath/ath6kl/usb.c +clean_kconfig drivers/net/wireless/ath/ath6kl/Kconfig ATH6KL_USB +clean_mk CONFIG_ATH6KL_USB drivers/net/wireless/ath/ath6kl/Makefile + +announce ATH10K - "Atheros 802.11ac wireless cards support" +reject_firmware drivers/net/wireless/ath/ath10k/core.c +clean_blob drivers/net/wireless/ath/ath10k/core.c +clean_blob drivers/net/wireless/ath/ath10k/hw.h +clean_blob Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt +clean_kconfig drivers/net/wireless/ath/ath10k/Kconfig ATH10K +clean_mk CONFIG_ATH10K drivers/net/wireless/ath/ath10k/Makefile + +announce ATH10K NL80211_TESTMODE - "nl80211 testmode command" +reject_firmware drivers/net/wireless/ath/ath10k/testmode.c +clean_sed ' +s,^\([\t ]*\/\* We didn.t find FW UTF API 1 \)("utf\.bin"),\1*//*(DEBLOBBED)*//*, +' drivers/net/wireless/ath/ath10k/testmode.c 'removed blob name in comment' +clean_blob drivers/net/wireless/ath/ath10k/testmode.c +clean_kconfig net/wireless/Kconfig NL80211_TESTMODE +clean_mk CONFIG_NL80211_TESTMODE drivers/net/wireless/ath/ath10k/Makefile + +announce ATH10K_PCI - "Atheros ath10k PCI support" +clean_blob drivers/net/wireless/ath/ath10k/pci.c +clean_kconfig drivers/net/wireless/ath/ath10k/Kconfig ATH10K_PCI +clean_mk CONFIG_ATH10K_PCI drivers/net/wireless/ath/ath10k/Makefile + +announce ATH11K - "Qualcomm Technologies 802.11ax chipset support" +reject_firmware drivers/net/wireless/ath/ath11k/core.c +clean_blob drivers/net/wireless/ath/ath11k/hw.h +clean_blob drivers/net/wireless/ath/ath11k/core.c +clean_blob drivers/net/wireless/ath/ath11k/qmi.c +clean_blob Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml +clean_kconfig drivers/net/wireless/ath/ath11k/Kconfig ATH11K +clean_mk CONFIG_ATH11K drivers/net/wireless/ath/ath11k/Makefile + +announce ATH11K_PCI - "Atheros ath11k PCI support" +clean_blob drivers/net/wireless/ath/ath11k/pci.c +clean_kconfig drivers/net/wireless/ath/ath11k/Kconfig ATH11K_PCI +clean_mk CONFIG_ATH11K_PCI drivers/net/wireless/ath/ath11k/Makefile + +announce WIL6210 - "Wilocity 60g WiFi card wil6210 support" +reject_firmware drivers/net/wireless/ath/wil6210/fw_inc.c +clean_blob drivers/net/wireless/ath/wil6210/fw.c +clean_blob drivers/net/wireless/ath/wil6210/wil6210.h +clean_kconfig drivers/net/wireless/ath/wil6210/Kconfig WIL6210 +clean_mk CONFIG_WIL6210 drivers/net/wireless/ath/wil6210/Makefile + +announce CW1200 - "CW1200 WLAN support" +reject_firmware drivers/net/wireless/st/cw1200/fwio.c +clean_blob drivers/net/wireless/st/cw1200/fwio.h +reject_firmware drivers/net/wireless/st/cw1200/sta.c +clean_kconfig drivers/net/wireless/st/cw1200/Kconfig CW1200 +clean_mk CONFIG_CW1200 drivers/net/wireless/st/cw1200/Makefile + +announce CW1200_WLAN_SDIO - "Support SDIO platforms" +clean_blob drivers/net/wireless/st/cw1200/cw1200_sdio.c +clean_kconfig drivers/net/wireless/st/cw1200/Kconfig CW1200_WLAN_SDIO +clean_mk CONFIG_CW1200_WLAN_SDIO drivers/net/wireless/st/cw1200/Makefile + +announce PRISM2_USB - "Prism2.5/3 USB driver" +reject_firmware drivers/staging/wlan-ng/prism2fw.c +clean_blob drivers/staging/wlan-ng/prism2fw.c +clean_kconfig drivers/staging/wlan-ng/Kconfig PRISM2_USB +clean_mk CONFIG_PRISM2_USB drivers/staging/wlan-ng/Makefile + +announce P54_PCI - "Prism54 PCI support" +reject_firmware drivers/net/wireless/intersil/p54/p54pci.c +clean_blob drivers/net/wireless/intersil/p54/p54pci.c +clean_sed 's,3826\.eeprom,DEBLOBBED,g' drivers/net/wireless/intersil/p54/Kconfig \ + 'removed blob name' +clean_kconfig drivers/net/wireless/intersil/p54/Kconfig P54_PCI +clean_mk CONFIG_P54_PCI drivers/net/wireless/intersil/p54/Makefile + +announce P54_SPI - "Prism54 SPI (stlc45xx) support" +# There's support for loading custom 3826.eeprom here, with a default +# eeprom that is clearly pure data. Without Free 3826.arm, there's +# little point in trying to retain the ability to load 3826.eeprom, so +# we drop it altogether. +reject_firmware drivers/net/wireless/intersil/p54/p54spi.c +clean_blob drivers/net/wireless/intersil/p54/p54spi.c +clean_kconfig drivers/net/wireless/intersil/p54/Kconfig P54_SPI +clean_mk CONFIG_P54_SPI drivers/net/wireless/intersil/p54/Makefile + +announce P54_USB - "Prism54 USB support" +reject_firmware drivers/net/wireless/intersil/p54/p54usb.c +clean_blob drivers/net/wireless/intersil/p54/p54usb.c +clean_blob drivers/net/wireless/intersil/p54/p54usb.h +clean_kconfig drivers/net/wireless/intersil/p54/Kconfig P54_USB +clean_mk CONFIG_P54_USB drivers/net/wireless/intersil/p54/Makefile + +announce PLFXLC - "pureLiFi X, XL, XC device support" +reject_firmware drivers/net/wireless/purelifi/plfxlc/firmware.c +clean_blob drivers/net/wireless/purelifi/plfxlc/firmware.c +clean_blob drivers/net/wireless/purelifi/plfxlc/usb.c +clean_kconfig drivers/net/wireless/purelifi/plfxlc/Kconfig PLFXLC +clean_mk CONFIG_PLFXLC drivers/net/wireless/purelifi/plfxlc/Makefile + +announce QTNFMAC_PCIE - "Quantenna QSR1000/QSR2000/QSR10g PCIe support" +reject_firmware drivers/net/wireless/quantenna/qtnfmac/pcie/pearl_pcie.c +reject_firmware drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c +clean_blob drivers/net/wireless/quantenna/qtnfmac/qtn_hw_ids.h +clean_kconfig drivers/net/wireless/quantenna/qtnfmac/Kconfig QTNFMAC_PCIE +clean_mk CONFIG_QTNFMAC_PCIE drivers/net/wireless/quantenna/qtnfmac/Makefile + +announce RSI_91X - "Redpine Signals Inc 91x WLAN driver support" +reject_firmware drivers/net/wireless/rsi/rsi_91x_hal.c +clean_blob drivers/net/wireless/rsi/rsi_common.h +clean_blob drivers/net/wireless/rsi/rsi_91x_hal.c +clean_kconfig drivers/net/wireless/rsi/Kconfig RSI_91X +clean_mk CONFIG_RSI_91X drivers/net/wireless/rsi/Makefile + +announce RSI_SDIO - "Redpine Signals SDIO bus support" +clean_blob drivers/net/wireless/rsi/rsi_91x_sdio.c +clean_kconfig drivers/net/wireless/rsi/Kconfig RSI_SDIO +clean_mk CONFIG_RSI_USB drivers/net/wireless/rsi/Makefile + +announce RSI_USB - "Redpine Signals USB bus support" +clean_blob drivers/net/wireless/rsi/rsi_91x_usb.c +clean_kconfig drivers/net/wireless/rsi/Kconfig RSI_SDIO +clean_mk CONFIG_RSI_USB drivers/net/wireless/rsi/Makefile + +announce RT2X00_LIB_FIRMWARE - "Ralink driver firmware support" +reject_firmware drivers/net/wireless/ralink/rt2x00/rt2x00firmware.c +clean_kconfig drivers/net/wireless/ralink/rt2x00/Kconfig RT2X00_LIB_FIRMWARE +clean_mk CONFIG_RT2X00_LIB_FIRMWARE drivers/net/wireless/ralink/rt2x00/Makefile + +announce RT61PCI - "Ralink rt2501/rt61 (PCI/PCMCIA) support" +clean_blob drivers/net/wireless/ralink/rt2x00/rt61pci.h +clean_blob drivers/net/wireless/ralink/rt2x00/rt61pci.c +clean_kconfig drivers/net/wireless/ralink/rt2x00/Kconfig RT61PCI +clean_mk CONFIG_RT61PCI drivers/net/wireless/ralink/rt2x00/Makefile + +announce RT73USB - "Ralink rt2501/rt73 (USB) support" +clean_blob drivers/net/wireless/ralink/rt2x00/rt73usb.h +clean_blob drivers/net/wireless/ralink/rt2x00/rt73usb.c +clean_kconfig drivers/net/wireless/ralink/rt2x00/Kconfig RT73USB +clean_mk CONFIG_RT73USB drivers/net/wireless/ralink/rt2x00/Makefile + +announce RT2800PCI - "Ralink rt2800 (PCI/PCMCIA) support" +clean_blob drivers/net/wireless/ralink/rt2x00/rt2800pci.h +clean_blob drivers/net/wireless/ralink/rt2x00/rt2800pci.c +clean_kconfig drivers/net/wireless/ralink/rt2x00/Kconfig RT2800PCI +clean_mk CONFIG_RT2800PCI drivers/net/wireless/ralink/rt2x00/Makefile + +announce RT2800USB - "Ralink rt2800 (USB) support" +clean_blob drivers/net/wireless/ralink/rt2x00/rt2800usb.h +clean_blob drivers/net/wireless/ralink/rt2x00/rt2800usb.c +clean_kconfig drivers/net/wireless/ralink/rt2x00/Kconfig RT2800USB +clean_mk CONFIG_RT2800USB drivers/net/wireless/ralink/rt2x00/Makefile + +announce RTL8XXXU - "RTL8723AU/RTL8188[CR]U/RTL819[12]CU (mac80211) support" +reject_firmware drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c +clean_kconfig drivers/net/wireless/realtek/rtl8xxxu/Kconfig RTL8XXXU +clean_mk CONFIG_RTL8XXXU drivers/net/wireless/realtek/rtl8xxxu/Makefile + +announce RTLWIFI - "Realtek Wireless Network Adapters" +reject_firmware drivers/net/wireless/realtek/rtlwifi/core.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTLWIFI +clean_mk CONFIG_RTLWIFI drivers/net/wireless/realtek/rtlwifi/Makefile + +announce RTL8188EE - "Realtek RTL8188EE Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8188EE +clean_mk CONFIG_RTL8188EE drivers/net/wireless/realtek/rtlwifi/rtl8188ee/Makefile + +announce R8188EU - "Realtek RTL8188EU Wireless LAN NIC driver" +reject_firmware drivers/staging/r8188eu/core/rtw_fw.c +clean_blob drivers/staging/r8188eu/core/rtw_fw.c +# Added in 5.19.8. +if grep -q MODULE_FIRMWARE drivers/staging/r8188eu/os_dep/os_intfs.c; then + clean_blob drivers/staging/r8188eu/os_dep/os_intfs.c +fi +clean_kconfig drivers/staging/r8188eu/Kconfig R8188EU +clean_mk CONFIG_R8188EU drivers/staging/r8188eu/Makefile + +announce RTL8192CE - "Realtek RTL8192CE/RTL8188CE Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192CE +clean_mk CONFIG_RTL8192CE drivers/net/wireless/realtek/rtlwifi/rtl8192ce/Makefile + +announce RTL8192CU - "Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192CU +clean_mk CONFIG_RTL8192CU drivers/net/wireless/realtek/rtlwifi/rtl8192cu/Makefile + +announce RTL8192DE - "Realtek RTL8192DE/RTL8188DE PCIe Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192DE +clean_mk CONFIG_RTL8192DE drivers/net/wireless/realtek/rtlwifi/rtl8192de/Makefile + +announce RTL8192SE - "Realtek RTL8192SE/RTL8191SE PCIe Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192SE +clean_mk CONFIG_RTL8192SE drivers/net/wireless/realtek/rtlwifi/rtl8192se/Makefile + +announce RTL8192E - "RealTek RTL8192E Wireless LAN NIC driver" +reject_firmware drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c +clean_blob drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h +clean_blob drivers/staging/rtl8192e/rtl8192e/rtl_core.c +clean_kconfig drivers/staging/rtl8192e/rtl8192e/Kconfig RTL8192E +clean_mk CONFIG_RTL8192E drivers/staging/rtl8192e/Makefile + +announce RTL8192EE - "RealTek RTL8192EE Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192EE +clean_mk CONFIG_RTL8192EE drivers/net/wireless/realtek/rtlwifi/Makefile + +announce RTL8192U - "RealTek RTL8192U Wireless LAN NIC driver" +reject_firmware drivers/staging/rtl8192u/r819xU_firmware.c +clean_blob drivers/staging/rtl8192u/r819xU_firmware.c +clean_kconfig drivers/staging/rtl8192u/Kconfig RTL8192U +clean_mk CONFIG_RTL8192U drivers/staging/rtl8192u/Makefile + +announce R8712U - "RealTek RTL8712U (RTL8192SU) Wireless LAN NIC driver" +reject_firmware drivers/staging/rtl8712/hal_init.c +clean_blob drivers/staging/rtl8712/hal_init.c +clean_kconfig drivers/staging/rtl8712/Kconfig R8712U +clean_mk CONFIG_R8712U drivers/staging/rtl8712/Makefile + +announce RTL8723AE - "Realtek RTL8723AE PCIe Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8723AE +clean_mk CONFIG_RTL8723AE drivers/net/wireless/realtek/rtlwifi/rtl8723ae/Makefile + +announce RTL8723BE - "Realtek RTL8723BE PCIe Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8723BE +clean_mk CONFIG_RTL8723BE drivers/net/wireless/realtek/rtlwifi/rtl8723be/Makefile + +announce RTL8723BS - "Realtek RTL8723BS SDIO Wireless LAN NIC driver" +reject_firmware drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c +clean_blob drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c +clean_kconfig drivers/staging/rtl8723bs/Kconfig RTL8723BS +clean_mk CONFIG_RTL8723BS drivers/staging/rtl8723bs/Makefile + +# There are reports that at least some cards that use this module work +# even without loading a blob. It uses the _nowait variant to load +# the blob, but we used to not call the callback. Now we do, let's +# see how that goes. +announce RTL8821AE - "Realtek RTL8821AE/RTL8812AE Wireless LAN NIC driver" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8821AE +clean_mk CONFIG_RTL8821AE drivers/net/wireless/realtek/rtlwifi/rtl8821ae/Makefile + +announce RTW88 - "Realtek 802.11ac wireless chips support" +reject_firmware drivers/net/wireless/realtek/rtw88/main.c +clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88 +clean_mk CONFIG_RTW88 drivers/net/wireless/realtek/rtw88/Makefile + +announce RTW88_8821C - "Realtek 8821CE PCI wireless network adapter" +clean_blob drivers/net/wireless/realtek/rtw88/rtw8821c.c +clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8821C +clean_mk CONFIG_RTW88_8821C drivers/net/wireless/realtek/rtw88/Makefile + +announce RTW88_8822BE - "Realtek 8822BE PCI wireless network adapter" +clean_blob drivers/net/wireless/realtek/rtw88/rtw8822b.c +clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8822BE +clean_mk CONFIG_RTW88_8822CE drivers/net/wireless/realtek/rtw88/Makefile + +announce RTW88_8822CE - "Realtek 8822CE PCI wireless network adaptar" +clean_blob drivers/net/wireless/realtek/rtw88/rtw8822c.c +clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8822CE +clean_mk CONFIG_RTW88_8822CE drivers/net/wireless/realtek/rtw88/Makefile + +announce RTW88_8723DE - "Realtek 8723DE PCI wireless network adaptar" +clean_blob drivers/net/wireless/realtek/rtw88/rtw8723d.c +clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8723DE +clean_mk CONFIG_RTW88_8723DE drivers/net/wireless/realtek/rtw88/Makefile + +announce RTW89 - "Realtek 802.11ax wireless chips support" +reject_firmware drivers/net/wireless/realtek/rtw89/fw.c +clean_kconfig drivers/net/wireless/realtek/rtw89/Kconfig RTW89 +clean_mk CONFIG_RTW89 drivers/net/wireless/realtek/rtw89/Makefile + +announce RTW89_8852A - "Realtek 802.11ax wireless chips support" +clean_blob drivers/net/wireless/realtek/rtw89/rtw8852a.c +clean_kconfig drivers/net/wireless/realtek/rtw89/Kconfig RTW89_8852A +clean_mk CONFIG_RTW89_8852A drivers/net/wireless/realtek/rtw89/Makefile + +# This driver seems to be under development, without Kconfig or +# Makefile entries as of 5.18-rc6. +announce RTW89_8852C - "Realtek 802.11ax wireless chips support" +clean_blob drivers/net/wireless/realtek/rtw89/rtw8852c.c +if fgrep -q rtw8852c.o drivers/net/wireless/realtek/rtw89/Makefile; then + clean_kconfig drivers/net/wireless/realtek/rtw89/Kconfig RTW89_8852C + clean_mk CONFIG_RTW89_8852C drivers/net/wireless/realtek/rtw89/Makefile +fi + +announce VT6656 - "VIA Technologies VT6656 support" +reject_firmware drivers/staging/vt6656/main_usb.c +clean_blob drivers/staging/vt6656/device.h +clean_blob drivers/staging/vt6656/main_usb.c +clean_kconfig drivers/staging/vt6656/Kconfig VT6656 +clean_mk CONFIG_VT6656 drivers/staging/vt6656/Makefile + +announce WL1251 - "TI wl1251 support" +reject_firmware drivers/net/wireless/ti/wl1251/main.c +clean_blob drivers/net/wireless/ti/wl1251/main.c +clean_blob drivers/net/wireless/ti/wl1251/wl1251.h +clean_kconfig drivers/net/wireless/ti/wl1251/Kconfig WL1251 +clean_mk CONFIG_WL1251 drivers/net/wireless/ti/wl1251/Makefile + +announce WL12XX - "TI wl12xx support" +clean_blob drivers/net/wireless/ti/wl12xx/main.c +clean_kconfig drivers/net/wireless/ti/wl12xx/Kconfig WL12XX +clean_mk CONFIG_WL12XX drivers/net/wireless/ti/wl12xx/Makefile + +announce WL18XX - "TI wl18xx support" +reject_firmware drivers/net/wireless/ti/wl18xx/main.c +clean_blob drivers/net/wireless/ti/wl18xx/main.c +clean_kconfig drivers/net/wireless/ti/wl18xx/Kconfig WL18XX +clean_mk CONFIG_WL18XX drivers/net/wireless/ti/wl18xx/Makefile + +announce WLCORE - "TI wlcore support" +reject_firmware drivers/net/wireless/ti/wlcore/main.c +clean_kconfig drivers/net/wireless/ti/wlcore/Kconfig WLCORE +clean_mk CONFIG_WLCORE drivers/net/wireless/ti/wlcore/Makefile + +announce WLCORE_SDIO - "TI wlcore SDIO support" +clean_blob drivers/net/wireless/ti/wlcore/sdio.c +clean_kconfig drivers/net/wireless/ti/wlcore/Kconfig WLCORE_SDIO +clean_mk CONFIG_WLCORE_SDIO drivers/net/wireless/ti/wlcore/Makefile + +announce WLCORE_SPI - "TI wlcore SPI support" +clean_blob drivers/net/wireless/ti/wlcore/spi.c +clean_kconfig drivers/net/wireless/ti/wlcore/Kconfig WLCORE_SPI +clean_mk CONFIG_WLCORE_SPI drivers/net/wireless/ti/wlcore/Makefile + +announce USB_ZD1201 - "USB ZD1201 based Wireless device support" +reject_firmware drivers/net/wireless/zydas/zd1201.c +clean_blob drivers/net/wireless/zydas/zd1201.c +clean_kconfig drivers/net/wireless/zydas/Kconfig USB_ZD1201 +clean_mk CONFIG_USB_ZD1201 drivers/net/wireless/zydas/Makefile + +announce WCN36XX - "Qualcomm Atheros WCN3660/3680 support" +reject_firmware drivers/net/wireless/ath/wcn36xx/smd.c +clean_blob drivers/net/wireless/ath/wcn36xx/wcn36xx.h +clean_blob drivers/net/wireless/ath/wcn36xx/main.c +clean_kconfig drivers/net/wireless/ath/wcn36xx/Kconfig WCN36XX +clean_mk CONFIG_WCN36XX drivers/net/wireless/ath/wcn36xx/Makefile + +announce WFX - "Silicon Labs wireless chips WF200 and further" +# wfm_wf200_C0.sec appears to be the firmware name obtained from the +# hardware, that these requests would load. It's encrypted and +# signed, definitely not meant to be Free Software. +reject_firmware drivers/net/wireless/silabs/wfx/fwio.c +clean_blob drivers/net/wireless/silabs/wfx/fwio.c +# This loads platform data set configuration files, that are pure +# data, with template input files and tools to compress the text input +# into the expected compressed format. No reason to reject these. +# reject_firmware drivers/staging/wfx/main.c +clean_kconfig drivers/net/wireless/silabs/wfx/Kconfig WFX +clean_mk CONFIG_WFX drivers/net/wireless/silabs/wfx/Makefile + +announce WILC1000 - "WILC1000 support (WiFi only)" +reject_firmware drivers/net/wireless/microchip/wilc1000/netdev.c +undefine_macro "WILC1000_FW_PREFIX" "\"/*(DEBLOBBED)*/\"" \ + "disabled non-Free firmware" drivers/net/wireless/microchip/wilc1000/netdev.c +clean_blob drivers/net/wireless/microchip/wilc1000/netdev.c +clean_kconfig drivers/net/wireless/microchip/wilc1000/Kconfig WILC1000 +clean_mk CONFIG_WILC1000 drivers/net/wireless/microchip/wilc1000/Makefile + +announce ZD1211RW - "ZyDAS ZD1211/ZD1211B USB-wireless support" +reject_firmware drivers/net/wireless/zydas/zd1211rw/zd_usb.c +clean_blob drivers/net/wireless/zydas/zd1211rw/zd_usb.c +clean_kconfig drivers/net/wireless/zydas/zd1211rw/Kconfig ZD1211RW +clean_mk CONFIG_ZD1211RW drivers/net/wireless/zydas/zd1211rw/Makefile + +# ieee802154 + +announce IEEE802154_ADF7242 - "ADF7242 transceiver driver" +reject_firmware drivers/net/ieee802154/adf7242.c +clean_blob drivers/net/ieee802154/adf7242.c +clean_kconfig drivers/net/ieee802154/Kconfig IEEE802154_ADF7242 +clean_mk CONFIG_IEEE802154_ADF7242 drivers/net/ieee802154/Makefile + +# bluetooth + +announce BT_ATH3K - "Atheros firmware download driver" +reject_firmware drivers/bluetooth/ath3k.c +clean_blob drivers/bluetooth/ath3k.c +clean_kconfig drivers/bluetooth/Kconfig BT_ATH3K +clean_mk CONFIG_BT_ATH3K drivers/bluetooth/Makefile + +announce BT_BCM - "Broadcom protocol support" +reject_firmware drivers/bluetooth/btbcm.c +clean_blob drivers/bluetooth/btbcm.c +clean_kconfig drivers/bluetooth/Kconfig BT_BCM +clean_mk CONFIG_BT_BCM drivers/bluetooth/Makefile + +announce BT_HCIBCM203X - "HCI BCM203x USB driver" +reject_firmware drivers/bluetooth/bcm203x.c +clean_blob drivers/bluetooth/bcm203x.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIBCM203X +clean_mk CONFIG_BT_HCIBCM203X drivers/bluetooth/Makefile + +announce BT_HCIUART_AG6XX - "Intel AG6XX protocol support" +reject_firmware drivers/bluetooth/hci_ag6xx.c +clean_blob drivers/bluetooth/hci_ag6xx.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIUART_AG6XX +clean_mk CONFIG_BT_HCIUART_AG6XX drivers/bluetooth/Makefile + +announce BT_HCIUART_LL - "HCILL protocol support" +reject_firmware drivers/bluetooth/hci_ll.c +clean_blob drivers/bluetooth/hci_ll.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIUART_LL +clean_mk CONFIG_BT_HCIUART_LL drivers/bluetooth/Makefile + +announce BT_HCIUART_MRVL - "Marvell protocol support" +reject_firmware drivers/bluetooth/hci_mrvl.c +clean_blob drivers/bluetooth/hci_mrvl.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIUART_MRVL +clean_mk CONFIG_BT_HCIUART_MRVL drivers/bluetooth/Makefile + +announce BT_HCIUART_NOKIA - "UART Nokia H4+ protocol support" +reject_firmware drivers/bluetooth/hci_nokia.c +clean_blob drivers/bluetooth/hci_nokia.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIUART_NOKIA +clean_mk CONFIG_BT_HCIUART_NOKIA drivers/bluetooth/Makefile + +announce BT_HCIBFUSB - "HCI BlueFRITZ! USB driver" +reject_firmware drivers/bluetooth/bfusb.c +clean_blob drivers/bluetooth/bfusb.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIBFUSB +clean_mk CONFIG_BT_HCIBFUSB drivers/bluetooth/Makefile + +announce BT_HCIBT3C - "HCI BT3C (PC Card) driver" +reject_firmware drivers/bluetooth/bt3c_cs.c +clean_blob drivers/bluetooth/bt3c_cs.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIBT3C +clean_mk CONFIG_BT_HCIBT3C drivers/bluetooth/Makefile + +announce BT_HCIBTUSB - "HCI USB driver" +reject_firmware drivers/bluetooth/btusb.c +clean_blob drivers/bluetooth/btusb.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIBTUSB +clean_mk CONFIG_BT_HCIBTUSB drivers/bluetooth/Makefile + +announce BT_INTEL - "Bluetooth support for Intel devices" +reject_firmware drivers/bluetooth/btintel.c +clean_blob drivers/bluetooth/btintel.c +clean_kconfig drivers/bluetooth/Kconfig BT_INTEL +clean_mk CONFIG_BT_INTEL drivers/bluetooth/Makefile + +announce BT_HCIUART_INTEL - "Intel protocol support" +reject_firmware drivers/bluetooth/hci_intel.c +clean_blob drivers/bluetooth/hci_intel.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIUART_INTEL +clean_mk CONFIG_BT_HCIUART_INTEL drivers/bluetooth/Makefile + +announce BT_MRVL_SDIO - "Marvell BT-over-SDIO driver" +reject_firmware drivers/bluetooth/btmrvl_sdio.c +clean_blob drivers/bluetooth/btmrvl_sdio.c +clean_blob Documentation/admin-guide/btmrvl.rst +clean_kconfig drivers/bluetooth/Kconfig BT_MRVL_SDIO +clean_mk CONFIG_BT_MRVL_SDIO drivers/bluetooth/Makefile + +announce BT_MTK - "MediaTek Bluetooth" +clean_blob drivers/bluetooth/btmtk.h +reject_firmware drivers/bluetooth/btmtk.c +clean_blob drivers/bluetooth/btmtk.c +clean_kconfig drivers/bluetooth/Kconfig BT_MTK +clean_mk CONFIG_BT_MTK drivers/bluetooth/Makefile + +announce BT_MTKSDIO - "MediaTek HCI SDIO driver" +clean_blob drivers/bluetooth/btmtksdio.c +clean_kconfig drivers/bluetooth/Kconfig BT_MTKSDIO +clean_mk CONFIG_BT_MTKSDIO drivers/bluetooth/Makefile + +announce BT_MTKUART - "MediaTek HCI UART driver" +# Blob loading consolidated in btmtk dep driver. +clean_kconfig drivers/bluetooth/Kconfig BT_MTKUART +clean_mk CONFIG_BT_MTKUART drivers/bluetooth/Makefile + +announce BT_QCA - "Bluetooh support for Qualcomm/Atheros devices" +reject_firmware drivers/bluetooth/btqca.c +clean_blob drivers/bluetooth/btqca.c +clean_blob Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml +clean_kconfig drivers/bluetooth/Kconfig BT_QCA +clean_mk CONFIG_BT_QCA drivers/bluetooth/Makefile + +announce BT_RTL - "Bluetooth support for Realtek devices" +reject_firmware drivers/bluetooth/btrtl.c +clean_blob drivers/bluetooth/btrtl.c +clean_kconfig drivers/bluetooth/Kconfig BT_RTL +clean_mk CONFIG_BT_RTL drivers/bluetooth/Makefile + +announce TI_ST - "Texas Instruments shared transport line discipline" +reject_firmware drivers/misc/ti-st/st_kim.c +clean_blob drivers/misc/ti-st/st_kim.c +clean_kconfig drivers/misc/ti-st/Kconfig TI_ST +clean_mk CONFIG_TI_ST drivers/misc/ti-st/Makefile + +# infiniband + +announce INFINIBAND_HFI1 - "Intel OPA Gen1 support" +reject_firmware drivers/infiniband/hw/hfi1/firmware.c +clean_blob drivers/infiniband/hw/hfi1/firmware.c +reject_firmware drivers/infiniband/hw/hfi1/platform.c +clean_blob drivers/infiniband/hw/hfi1/platform.c +clean_kconfig drivers/infiniband/hw/hfi1/Kconfig INFINIBAND_HFI1 +clean_mk CONFIG_INFINIBAND_HFI1 drivers/infiniband/hw/hfi1/Makefile + +announce INFINIBAND_QIB - "QLogic PCIe HCA support" +reject_firmware drivers/infiniband/hw/qib/qib_sd7220.c +clean_blob drivers/infiniband/hw/qib/qib_sd7220.c +clean_kconfig drivers/infiniband/hw/qib/Kconfig INFINIBAND_QIB +clean_mk CONFIG_INFINIBAND_QIB drivers/infiniband/hw/qib/Makefile + +# CAN + +announce CAN_SOFTING - "Softing Gmbh CAN generic support" +reject_firmware drivers/net/can/softing/softing_fw.c +clean_kconfig drivers/net/can/softing/Kconfig CAN_SOFTING +clean_mk CONFIG_CAN_SOFTING drivers/net/can/softing/Makefile + +announce CAN_SOFTING_CS - "Softing Gmbh CAN pcmcia cards" +clean_blob drivers/net/can/softing/softing_cs.c +clean_blob drivers/net/can/softing/softing_platform.h +clean_sed ' +/^config CAN_SOFTING_CS$/,${ + /You need firmware/i\ + /*(DEBLOBBED)*/ + /You need firmware/,/softing-fw.*tar\.gz/d +}' drivers/net/can/softing/Kconfig 'removed firmware notes' +clean_kconfig drivers/net/can/softing/Kconfig CAN_SOFTING_CS +clean_mk CONFIG_CAN_SOFTING_CS drivers/net/can/softing/Makefile + +# DSA + +announce NET_DSA_LANTIQ_GSWIP - "Lantiq / Intel GSWIP" +reject_firmware drivers/net/dsa/lantiq_gswip.c +clean_blob drivers/net/dsa/lantiq_gswip.c +clean_kconfig drivers/net/dsa/Kconfig NET_DSA_LANTIQ_GSWIP +clean_mk CONFIG_NET_DSA_LANTIQ_GSWIP drivers/net/dsa/Makefile + +# PHY + +announce MICROSEMI_PHY - "Microsemi PHYs" +reject_firmware drivers/net/phy/mscc/mscc_main.c +clean_blob drivers/net/phy/mscc/mscc_main.c +clean_blob drivers/net/phy/mscc/mscc.h +clean_kconfig drivers/net/phy/Kconfig MICROSEMI_PHY +clean_mk CONFIG_MICROSEMI_PHY drivers/net/phy/mscc/Makefile + +######## +# ISDN # +######## + +announce MISDN_SPEEDFAX - "Support for Sedlbauer Speedfax+" +reject_firmware drivers/isdn/hardware/mISDN/speedfax.c +clean_blob drivers/isdn/hardware/mISDN/speedfax.c +clean_kconfig drivers/isdn/hardware/mISDN/Kconfig MISDN_SPEEDFAX +clean_mk CONFIG_MISDN_SPEEDFAX drivers/isdn/hardware/mISDN/Makefile + +########## +# Serial # +########## + +# announce SERIAL_8250_CS - "8250/16550 PCMCIA device support" +# clean_blob drivers/tty/serial/serial_cs.c +# clean_kconfig drivers/tty/serial/Kconfig 'SERIAL_8250_CS' +# clean_mk CONFIG_SERIAL_8250_CS drivers/tty/serial/Makefile + +announce SERIAL_ICOM - "IBM Multiport Serial Adapter" +reject_firmware drivers/tty/serial/icom.c +clean_blob drivers/tty/serial/icom.c +clean_kconfig drivers/tty/serial/Kconfig SERIAL_ICOM +clean_mk CONFIG_SERIAL_ICOM drivers/tty/serial/Makefile + +announce SERIAL_QE - "Freescale QUICC Engine serial port support" +reject_firmware drivers/tty/serial/ucc_uart.c +clean_blob drivers/tty/serial/ucc_uart.c +clean_kconfig drivers/tty/serial/Kconfig SERIAL_QE +clean_mk CONFIG_SERIAL_QE drivers/tty/serial/Makefile + +announce SERIAL_RP2 - "Comtrol RocketPort EXPRESS/INFINITY support" +reject_firmware drivers/tty/serial/rp2.c +clean_blob drivers/tty/serial/rp2.c +clean_kconfig drivers/tty/serial/Kconfig SERIAL_RP2 +clean_mk CONFIG_SERIAL_RP2 drivers/tty/serial/Makefile + +######## +# Leds # +######## + +announce LEDS_LP55XX_COMMON - "Common Driver for TI/National LP5521 and LP5523/55231" +reject_firmware drivers/leds/leds-lp55xx-common.c +clean_kconfig drivers/leds/Kconfig LEDS_LP55XX_COMMON +clean_mk CONFIG_LEDS_LP55XX_COMMON drivers/leds/Makefile + +announce LEDS_LP5521 - "LED Support for N.S. LP5521 LED driver chip" +# The blob name is the chip name; no point in deblobbing that. +# clean_blob drivers/leds/leds-lp5521.c +clean_kconfig drivers/leds/Kconfig LEDS_LP5521 +clean_mk CONFIG_LEDS_LP5521 drivers/leds/Makefile + +announce LEDS_LP5523 - "LED Support for TI/National LP5523/55231 LED driver chip" +# The blob name is the chip name; no point in deblobbing that. +# clean_blob drivers/leds/leds-lp5523.c +clean_kconfig drivers/leds/Kconfig LEDS_LP5523 +clean_mk CONFIG_LEDS_LP5523 drivers/leds/Makefile + +######### +# input # +######### + +# This only requests files named by the user through a /sys interface. +# There is no default firmware name, but there is a #define that +# presumably was supposed to be one at some point. This is fine, but +# let's deblob the default name just in case. +announce MOUSE_CYAPA - "Cypress APA I2C Trackpad support" +clean_blob drivers/input/mouse/cyapa.c +# clean_kconfig drivers/input/mouse/Kconfig MOUSE_CYAPA +# clean_mk CONFIG_MOUSE_CYAPA drivers/input/mouse/Makefile + +announce MOUSE_ELAN_I2C - "ELAN I2C Touchpad support" +reject_firmware drivers/input/mouse/elan_i2c_core.c +clean_blob drivers/input/mouse/elan_i2c.h +clean_kconfig drivers/input/mouse/Kconfig MOUSE_ELAN_I2C +clean_mk CONFIG_MOUSE_ELAN_I2C drivers/input/mouse/Makefile + +announce TOUCHSCREEN_CHIPONE_ICN8505 - "chipone icn8505 touchscreen controller" +reject_firmware drivers/input/touchscreen/chipone_icn8505.c +clean_blob drivers/input/touchscreen/chipone_icn8505.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_CHIPONE_ICN8505 +clean_mk CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_ELAN - "Elan eKTH I2C touchscreen" +reject_firmware drivers/input/touchscreen/elants_i2c.c +clean_blob drivers/input/touchscreen/elants_i2c.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_ELAN +clean_mk CONFIG_TOUCHSCREEN_ELAN drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_ATMEL_MXT - "Atmel mXT I2C Touchscreen" +reject_firmware drivers/input/touchscreen/atmel_mxt_ts.c +clean_blob drivers/input/touchscreen/atmel_mxt_ts.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_ATMEL_MXT +clean_mk CONFIG_TOUCHSCREEN_ATMEL_MXT drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_GOODIX - "Goodix I2C touchscreen" +reject_firmware drivers/input/touchscreen/goodix.c +clean_blob drivers/input/touchscreen/goodix.c +reject_firmware drivers/input/touchscreen/goodix_fwupload.c +clean_blob drivers/input/touchscreen/goodix_fwupload.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_GOODIX +clean_mk CONFIG_TOUCHSCREEN_GOODIX drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_HIDEEP - "HiDeep Touch IC" +reject_firmware drivers/input/touchscreen/hideep.c +clean_blob drivers/input/touchscreen/hideep.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_HIDEEP +clean_mk CONFIG_TOUCHSCREEN_HIDEEP drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_ILI210X - "Ilitek ILI210X based touchscreen" +reject_firmware drivers/input/touchscreen/ili210x.c +clean_blob drivers/input/touchscreen/ili210x.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_ILI210X +clean_mk CONFIG_TOUCHSCREEN_ILI210X drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_IQS5XX - "Azoteq IQS550/572/525 trackpad/touchscreen controller" +reject_firmware drivers/input/touchscreen/iqs5xx.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_IQS5XX +clean_mk CONFIG_TOUCHSCREEN_IQS5XX drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_MELFAS_MIP4 - "MELFAS MIP4 Touchscreen" +reject_firmware drivers/input/touchscreen/melfas_mip4.c +clean_blob drivers/input/touchscreen/melfas_mip4.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_MELFAS_MIP4 +clean_mk CONFIG_TOUCHSCREEN_MELFAS_MIP4 drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_RM_TS - "Raydium I2C Touchscreen" +reject_firmware drivers/input/touchscreen/raydium_i2c_ts.c +clean_blob drivers/input/touchscreen/raydium_i2c_ts.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_RM_TS +clean_mk CONFIG_TOUCHSCREEN_RM_TS drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_ROHM_BU21023 - "ROHM BU21023/24 Dual touch support resistive touchscreens" +reject_firmware drivers/input/touchscreen/rohm_bu21023.c +clean_blob drivers/input/touchscreen/rohm_bu21023.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_ROHM_BU21023 +clean_mk CONFIG_TOUCHSCREEN_ROHM_BU21023 drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_SILEAD - "Silead I2C touchscreen" +reject_firmware drivers/input/touchscreen/silead.c +clean_blob drivers/input/touchscreen/silead.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_SILEAD +clean_mk CONFIG_TOUCHSCREEN_SILEAD drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_DMI - "DMI based touchscreen configuration info" +clean_blob drivers/platform/x86/touchscreen_dmi.c +clean_kconfig drivers/platform/x86/Kconfig TOUCHSCREEN_DMI +clean_mk CONFIG_TOUCHSCREEN_DMI drivers/platform/x86/Makefile + +announce X86_ANDROID_TABLETS - "X86 Android tablet support" +clean_blob drivers/platform/x86/x86-android-tablets.c +clean_kconfig drivers/platform/x86/Kconfig X86_ANDROID_TABLETS +clean_mk CONFIG_X86_ANDROID_TABLETS drivers/platform/x86/Makefile + +announce TOUCHSCREEN_WDT87XX_I2C - "Weida HiTech I2C touchscreen" +reject_firmware drivers/input/touchscreen/wdt87xx_i2c.c +clean_blob drivers/input/touchscreen/wdt87xx_i2c.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_WDT87XX_I2C +clean_mk CONFIG_TOUCHSCREEN_WDT87XX_I2C drivers/input/touchscreen/Makefile + +announce INPUT_IMS_PCU - "IMS Passenger Control Unit driver" +reject_firmware drivers/input/misc/ims-pcu.c +clean_blob drivers/input/misc/ims-pcu.c +clean_kconfig drivers/input/misc/Kconfig INPUT_IMS_PCU +clean_mk CONFIG_INPUT_IMS_PCU drivers/input/misc/Makefile + +#################### +# Data acquisition # +#################### + +announce INTEL_ISH_FIRMWARE_DOWNLOADER - "Host Firmware Load feature for Intel ISH" +reject_firmware drivers/hid/intel-ish-hid/ishtp-fw-loader.c +clean_blob drivers/hid/intel-ish-hid/ishtp-fw-loader.c +clean_kconfig drivers/hid/intel-ish-hid/Kconfig INTEL_ISH_FIRMWARE_DOWNLOADER +clean_mk CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER drivers/hid/intel-ish-hid/Makefile + +announce COMEDI - "Data acquisition support (comedi)" +maybe_reject_firmware drivers/comedi/drivers.c +clean_kconfig drivers/comedi/Kconfig COMEDI +clean_mk CONFIG_COMEDI drivers/comedi/Makefile + +announce COMEDI_DAQBOARD2000 - "IOtech DAQboard/2000 support" +clean_blob drivers/comedi/drivers/daqboard2000.c +clean_kconfig drivers/comedi/Kconfig COMEDI_DAQBOARD2000 +clean_mk CONFIG_COMEDI_DAQBOARD2000 drivers/comedi/drivers/Makefile + +announce COMEDI_JR3_PCI - "JR3/PCI force sensor board support" +clean_blob drivers/comedi/drivers/jr3_pci.c +clean_kconfig drivers/comedi/Kconfig COMEDI_JR3_PCI +clean_mk CONFIG_COMEDI_JR3_PCI drivers/comedi/drivers/Makefile + +announce COMEDI_ME_DAQ - "Meilhaus ME-2000i, ME-2600i, ME-3000vm1 support" +clean_blob drivers/comedi/drivers/me_daq.c +clean_kconfig drivers/comedi/Kconfig COMEDI_ME_DAQ +clean_mk CONFIG_COMEDI_ME_DAQ drivers/comedi/drivers/Makefile + +announce COMEDI_ME4000 - "Meilhaus ME-4000 support" +clean_blob drivers/comedi/drivers/me4000.c +clean_kconfig drivers/comedi/Kconfig COMEDI_ME4000 +clean_mk CONFIG_COMEDI_ME4000 drivers/comedi/drivers/Makefile + +announce COMEDI_NI_PCIDIO - "NI PCI-DIO32HS, PCI-6533, PCI-6534 support" +clean_blob drivers/comedi/drivers/ni_pcidio.c +clean_kconfig drivers/comedi/Kconfig COMEDI_NI_PCIDIO +clean_mk CONFIG_COMEDI_NI_PCIDIO drivers/comedi/drivers/Makefile + +# There are blob names, but no apparent request or filesystem load +# mechanism. Why are the blob names there, then? +announce IIO_SSP_SENSORHUB - "Samsung Sensorhub driver" +clean_blob drivers/iio/common/ssp_sensors/ssp_dev.c +# clean_kconfig drivers/iio/common/ssp_sensors/Kconfig IIO_SSP_SENSORHUB +# clean_mk CONFIG_IIO_SSP_SENSORHUB drivers/iio/common/ssp_sensors/Makefile + + +####### +# MMC # +####### + +announce MMC_VUB300 - "VUB300 USB to SDIO/SD/MMC Host Controller support" +clean_sed ' +/^config MMC_VUB300/,/^config /{ + /Some SDIO cards/i\ + /*(DEBLOBBED)*/ + /Some SDIO cards/,/obtainable data rate\.$/d +} +' drivers/mmc/host/Kconfig "removed firmware notes" +reject_firmware drivers/mmc/host/vub300.c +clean_blob drivers/mmc/host/vub300.c +clean_kconfig drivers/mmc/host/Kconfig MMC_VUB300 +clean_mk CONFIG_MMC_VUB300 drivers/mmc/host/Makefile + +######## +# SCSI # +######## + +announce SCSI_QLOGICPTI - "PTI Qlogic, ISP Driver" +reject_firmware drivers/scsi/qlogicpti.c +clean_blob drivers/scsi/qlogicpti.c +clean_kconfig drivers/scsi/Kconfig SCSI_QLOGICPTI +clean_mk CONFIG_SCSI_QLOGICPTI drivers/scsi/Makefile + +announce SCSI_ADVANSYS - "AdvanSys SCSI" +reject_firmware drivers/scsi/advansys.c +clean_blob drivers/scsi/advansys.c +clean_kconfig drivers/scsi/Kconfig SCSI_ADVANSYS +clean_mk CONFIG_SCSI_ADVANSYS drivers/scsi/Makefile + +announce SCSI_QLOGIC_1280 - "Qlogic QLA 1240/1x80/1x160 SCSI" +reject_firmware drivers/scsi/qla1280.c +clean_blob drivers/scsi/qla1280.c +clean_kconfig drivers/scsi/Kconfig SCSI_QLOGIC_1280 +clean_mk CONFIG_SCSI_QLOGIC_1280 drivers/scsi/Makefile + +announce SCSI_AIC94XX - "Adaptec AIC94xx SAS/SATA support" +reject_firmware drivers/scsi/aic94xx/aic94xx_seq.c +clean_blob drivers/scsi/aic94xx/aic94xx_seq.c +clean_blob drivers/scsi/aic94xx/aic94xx_seq.h +clean_kconfig drivers/scsi/aic94xx/Kconfig SCSI_AIC94XX +clean_mk CONFIG_SCSI_AIC94XX drivers/scsi/aic94xx/Makefile + +announce SCSI_BFA_FC - "Brocade BFA Fibre Channel Support" +reject_firmware drivers/scsi/bfa/bfad.c +clean_blob drivers/scsi/bfa/bfad.c +clean_kconfig drivers/scsi/Kconfig SCSI_BFA_FC +clean_mk CONFIG_SCSI_BFA_FC drivers/scsi/bfa/Makefile + +announce SCSI_CHELSIO_FCOE - "Chelsio Communications FCoE support" +reject_firmware drivers/scsi/csiostor/csio_hw.c +clean_blob drivers/scsi/csiostor/csio_hw_chip.h +clean_blob drivers/scsi/csiostor/csio_init.c +clean_kconfig drivers/scsi/csiostor/Kconfig SCSI_CHELSIO_FCOE +clean_mk CONFIG_SCSI_CHELSIO_FCOE drivers/scsi/csiostor/Makefile + +announce SCSI_EFCT - "Emulex Fibre Channel Target" +# The firmware name is built out of Vital Product Data read from the +# adapter. The firmware is definitely code, and I couldn't find +# evidence it is Free, so I'm disabling it. It's not clear whether +# this is the hardware or the software inducing to the installation of +# non-Free firmware. +reject_firmware drivers/scsi/elx/efct/efct_driver.c +clean_blob drivers/scsi/elx/efct/efct_driver.c +clean_kconfig drivers/scsi/elx/Kconfig SCSI_EFCT +clean_mk CONFIG_SCSI_EFCT drivers/scsi/elx/Makefile + +announce SCSI_LPFC - "Emulex LightPulse Fibre Channel Support" +# The firmware name is built out of Vital Product Data read from the +# adapter. The firmware is definitely code, and I couldn't find +# evidence it is Free, so I'm disabling it. It's not clear whether +# this is the hardware or the software inducing to the installation of +# non-Free firmware. +reject_firmware drivers/scsi/lpfc/lpfc_init.c +clean_blob drivers/scsi/lpfc/lpfc_init.c +clean_kconfig drivers/scsi/Kconfig SCSI_LPFC +clean_mk CONFIG_SCSI_LPFC drivers/scsi/lpfc/Makefile + +announce SCSI_QLA_FC - "QLogic QLA2XXX Fibre Channel Support" +reject_firmware drivers/scsi/qla2xxx/qla_os.c +clean_sed ' +/^config SCSI_QLA_FC$/,/^config /{ + /^ By default, firmware/i\ + /*(DEBLOBBED)*/ + /^ By default, firmware/,/linux-firmware tree/d +}' drivers/scsi/qla2xxx/Kconfig 'removed firmware notes' +clean_blob drivers/scsi/qla2xxx/qla_os.c +clean_kconfig drivers/scsi/qla2xxx/Kconfig SCSI_QLA_FC +clean_mk CONFIG_SCSI_QLA_FC drivers/scsi/qla2xxx/Makefile + +announce SCSI_WD719x - "Western Digital WD7193/7197/7296 support" +reject_firmware drivers/scsi/wd719x.c +clean_blob drivers/scsi/wd719x.c +clean_blob Documentation/scsi/wd719x.rst +clean_kconfig drivers/scsi/Kconfig SCSI_WD719X +clean_mk CONFIG_SCSI_WD719X drivers/scsi/Makefile + + +####### +# USB # +####### + +# atm + +announce USB_CXACRU - "Conexant AccessRunner USB support" +reject_firmware drivers/usb/atm/cxacru.c +clean_blob drivers/usb/atm/cxacru.c +clean_kconfig drivers/usb/atm/Kconfig USB_CXACRU +clean_mk CONFIG_USB_CXACRU drivers/usb/atm/Makefile + +announce USB_SPEEDTOUCH - "Speedtouch USB support" +reject_firmware drivers/usb/atm/speedtch.c +clean_blob drivers/usb/atm/speedtch.c +clean_kconfig drivers/usb/atm/Kconfig USB_SPEEDTOUCH +clean_mk CONFIG_USB_SPEEDTOUCH drivers/usb/atm/Makefile + +announce USB_UEAGLEATM - "ADI 930 and eagle USB DSL modem" +reject_firmware drivers/usb/atm/ueagle-atm.c +clean_blob drivers/usb/atm/ueagle-atm.c +clean_kconfig drivers/usb/atm/Kconfig USB_UEAGLEATM +clean_mk CONFIG_USB_UEAGLEATM drivers/usb/atm/Makefile + +# host + +announce USB_XHCI_PCI_RENESAS - "Support for additional Renesas xHCI controller with firmware" +reject_firmware drivers/usb/host/xhci-pci-renesas.c +clean_kconfig drivers/usb/host/Kconfig USB_XHCI_PCI_RENESAS +clean_mk CONFIG_USB_XHCI_PCI_RENESAS drivers/usb/host/Makefile + +announce USB_XHCI_PCI - "because of USB_XHCI_PCI_RENESAS" +clean_blob drivers/usb/host/xhci-pci.c +clean_kconfig drivers/usb/host/Kconfig USB_XHCI_PCI +clean_mk CONFIG_USB_XHCI_PCI drivers/usb/host/Makefile + +announce USB_XHCI_RCAR - "xHCI support for Renesas R-Car SoCs" +reject_firmware drivers/usb/host/xhci-rcar.c +clean_blob drivers/usb/host/xhci-rcar.c +clean_blob drivers/usb/host/xhci-rcar.h +clean_kconfig drivers/usb/host/Kconfig USB_XHCI_RCAR +clean_mk CONFIG_USB_XHCI_RCAR drivers/usb/host/Makefile + +announce USB_XHCI_TEGRA - "xHCI support for NVIDIA Tegra SoCs" +reject_firmware drivers/usb/host/xhci-tegra.c +clean_blob drivers/usb/host/xhci-tegra.c +clean_kconfig drivers/usb/host/Kconfig USB_XHCI_TEGRA +clean_mk CONFIG_USB_XHCI_TEGRA drivers/usb/host/Makefile + +# misc + +announce USB_EMI26 - "EMI 2|6 USB Audio interface" +reject_firmware drivers/usb/misc/emi26.c +clean_blob drivers/usb/misc/emi26.c +clean_kconfig drivers/usb/misc/Kconfig USB_EMI26 +clean_mk CONFIG_USB_EMI26 drivers/usb/misc/Makefile + +announce USB_EMI62 - "EMI 6|2m USB Audio interface" +reject_firmware drivers/usb/misc/emi62.c +clean_blob drivers/usb/misc/emi62.c +clean_kconfig drivers/usb/misc/Kconfig USB_EMI62 +clean_mk CONFIG_USB_EMI62 drivers/usb/misc/Makefile + +announce USB_EZUSB_FX2 - "Functions for loading firmware on EZUSB chips" +maybe_reject_firmware drivers/usb/misc/ezusb.c + +announce USB_ISIGHTFW - "iSight firmware loading support" +reject_firmware drivers/usb/misc/isight_firmware.c +clean_blob drivers/usb/misc/isight_firmware.c +clean_kconfig drivers/usb/misc/Kconfig USB_ISIGHTFW +clean_mk CONFIG_USB_ISIGHTFW drivers/usb/misc/Makefile + +# storage + +announce USB_STORAGE_ENE_UB6250 - "USB ENE card reader support" +reject_firmware drivers/usb/storage/ene_ub6250.c +clean_blob drivers/usb/storage/ene_ub6250.c +clean_kconfig drivers/usb/storage/Kconfig USB_STORAGE_ENE_UB6250 +clean_mk CONFIG_USB_STORAGE_ENE_UB6250 drivers/usb/storage/Makefile + +# serial + +announce USB_SERIAL_KEYSPAN - "USB Keyspan USA-xxx Serial Driver" +clean_blob drivers/usb/serial/keyspan.c +clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN +clean_mk CONFIG_USB_SERIAL_KEYSPAN drivers/usb/serial/Makefile + +announce USB_SERIAL_EDGEPORT - "USB Inside Out Edgeport Serial Driver" +reject_firmware drivers/usb/serial/io_edgeport.c +clean_blob drivers/usb/serial/io_edgeport.c +clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_EDGEPORT +clean_mk CONFIG_USB_SERIAL_EDGEPORT drivers/usb/serial/Makefile + +announce USB_SERIAL_EDGEPORT_TI - "USB Inside Out Edgeport Serial Driver (TI devices)" +reject_firmware drivers/usb/serial/io_ti.c +clean_sed 's,firmware "down3\.bin",firmware "(DEBLOBBED)", +' drivers/usb/serial/io_ti.c 'deblobbed comment' +clean_blob drivers/usb/serial/io_ti.c +clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_EDGEPORT_TI +clean_mk CONFIG_USB_SERIAL_EDGEPORT_TI drivers/usb/serial/Makefile + +announce USB_SERIAL_MXUPORT - "USB Moxa UPORT Serial Driver" +reject_firmware drivers/usb/serial/mxuport.c +clean_blob drivers/usb/serial/mxuport.c +clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_MXUPORT +clean_mk CONFIG_USB_SERIAL_MXUPORT drivers/usb/serial/Makefile + +announce USB_SERIAL_TI - "USB TI 3410/5052 Serial Driver" +reject_firmware drivers/usb/serial/ti_usb_3410_5052.c +clean_blob drivers/usb/serial/ti_usb_3410_5052.c +clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_TI +clean_mk CONFIG_USB_SERIAL_TI drivers/usb/serial/Makefile + +announce USB_SERIAL_WHITEHEAT - "USB ConnectTech WhiteHEAT Serial Driver" +clean_blob drivers/usb/serial/whiteheat.c +clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_WHITEHEAT +clean_mk CONFIG_USB_SERIAL_WHITEHEAT drivers/usb/serial/Makefile + +# typec + +announce UCSI_CCG - "UCSI Interface Driver for Cypress CCGx" +reject_firmware drivers/usb/typec/ucsi/ucsi_ccg.c +clean_blob drivers/usb/typec/ucsi/ucsi_ccg.c +clean_kconfig drivers/usb/typec/ucsi/Kconfig UCSI_CCG +clean_mk CONFIG_UCSI_CCG drivers/usb/typec/ucsi/Makefile + + + +################ +# Programmable # +################ + +announce BCM_VK - "Support for Broadcom VK Accelerators" +reject_firmware drivers/misc/bcm-vk/bcm_vk_dev.c +clean_blob drivers/misc/bcm-vk/bcm_vk_dev.c +clean_kconfig drivers/misc/bcm-vk/Kconfig BCM_VK +clean_mk CONFIG_BCM_VK drivers/misc/bcm-vk/Makefile + +announce GEHC_ACHC - "GEHC ACHC support" +reject_firmware drivers/misc/gehc-achc.c +clean_blob drivers/misc/gehc-achc.c +clean_blob Documentation/ABI/testing/sysfs-driver-ge-achc +clean_kconfig drivers/misc/Kconfig GEHC_ACHC +clean_mk CONFIG_GEHC_ACHC drivers/misc/Makefile + +announce HABANA_AI - "HabanaAI accelerators (habanalabs)" +reject_firmware drivers/misc/habanalabs/common/firmware_if.c +reject_firmware drivers/misc/habanalabs/gaudi/gaudi.c +clean_blob drivers/misc/habanalabs/gaudi/gaudi.c +clean_blob drivers/misc/habanalabs/goya/goya.c +clean_kconfig drivers/misc/habanalabs/Kconfig HABANA_AI +clean_mk CONFIG_HABANA_AI drivers/misc/Makefile + +announce LATTICE_ECP3_CONFIG - "Lattice ECP3 FPGA bitstrap configuration via SPI" +reject_firmware drivers/misc/lattice-ecp3-config.c +clean_blob drivers/misc/lattice-ecp3-config.c +clean_kconfig drivers/misc/Kconfig LATTICE_ECP3_CONFIG +clean_mk CONFIG_LATTICE_ECP3_CONFIG drivers/misc/Makefile + +announce REMOTEPROC - "Support for Remote Processor subsystem" +maybe_reject_firmware drivers/remoteproc/remoteproc_core.c +clean_kconfig drivers/remoteproc/Kconfig REMOTEPROC +clean_mk CONFIG_REMOTEPROC drivers/remoteproc/Makefile + +announce IMX_DSP_REMOTEPROC - "i.MX DSP remoteproc support" +# This uses rproc_of_parse_firmware to read firmware-name from a +# devicetree file. AFAICT the files this would end up loading are +# non-Free, so we inactivate it. +reject_firmware drivers/remoteproc/imx_dsp_rproc.c +clean_kconfig drivers/remoteproc/Kconfig IMX_DSP_REMOTEPROC +clean_mk CONFIG_IMX_DSP_REMOTEPROC drivers/remoteproc/Makefile + +announce KEYSTONE_REMOTEPROC - "Keystone Remoteproc support" +clean_blob drivers/remoteproc/keystone_remoteproc.c +clean_kconfig drivers/remoteproc/Kconfig KEYSTONE_REMOTEPROC +clean_mk CONFIG_KEYSTONE_REMOTEPROC drivers/remoteproc/Makefile + +announce MTK_SCP - "Mediatek SCP support" +clean_blob drivers/remoteproc/mtk_scp.c +clean_kconfig drivers/remoteproc/Kconfig MTK_SCP +clean_mk CONFIG_MTK_SCP drivers/remoteproc/Makefile + +announce WKUP_M3_RPROC - "AMx3xx Wakeup M3 remoteproc support" +clean_blob Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt +clean_blob arch/arm/boot/dts/am33xx-l4.dtsi +clean_blob arch/arm/boot/dts/am437x-l4.dtsi +clean_blob arch/arm/mach-omap2/pm33xx-core.c +clean_kconfig drivers/remoteproc/Kconfig WKUP_M3_RPROC +clean_mk CONFIG_WKUP_M3_RPROC drivers/remoteproc/Makefile + +announce WKUP_M3_IPC - "TI AMx3 Wkup-M3 IPC Driver" +reject_firmware drivers/soc/ti/wkup_m3_ipc.c +clean_blob Documentation/devicetree/bindings/soc/ti/wkup-m3-ipc.yaml +clean_blob arch/arm/boot/dts/am335x-bone-common.dtsi +clean_blob arch/arm/boot/dts/am335x-evm.dts +clean_blob arch/arm/boot/dts/am335x-evmsk.dts +clean_blob arch/arm/boot/dts/am437x-gp-evm.dts +clean_blob arch/arm/boot/dts/am437x-sk-evm.dts +clean_blob arch/arm/boot/dts/am43x-epos-evm.dts +clean_kconfig drivers/soc/ti/Kconfig WKUP_M3_IPC +clean_mk CONFIG_WKUP_M3_IPC drivers/soc/ti/Makefile + +announce QCOM_Q6V5_ADSP - "Qualcomm Technology Inc ADSP Peripheral Image Loader" +clean_blob drivers/remoteproc/qcom_q6v5_adsp.c +clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_ADSP +clean_mk CONFIG_QCOM_Q6V5_ADSP drivers/remoteproc/Makefile + +announce QCOM_Q6V5_MSS - "Qualcomm Hexagon V5 self-authenticating modem subsystem support" +reject_firmware drivers/remoteproc/qcom_q6v5_mss.c +clean_blob drivers/remoteproc/qcom_q6v5_mss.c +clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_MSS +clean_mk CONFIG_QCOM_Q6V5_MSS drivers/remoteproc/Makefile + +announce QCOM_Q6V5_PAS - "Qualcomm Hexagon V5 Peripheral Authentication Service support" +clean_blob drivers/remoteproc/qcom_q6v5_pas.c +clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_PAS +clean_mk CONFIG_QCOM_Q6V5_PAS drivers/remoteproc/Makefile + +announce QCOM_Q6V5_WCSS - "Qualcomm Hexagon based WCSS Peripheral Image Loader" +clean_blob drivers/remoteproc/qcom_q6v5_wcss.c +clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_WCSS +clean_mk CONFIG_QCOM_Q6V5_WCSS drivers/remoteproc/Makefile + +announce QCOM_WCNSS_PIL - "Qualcomm WCNSS Peripheral Image Loader" +clean_blob drivers/remoteproc/qcom_wcnss.c +clean_blob Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt +clean_blob Documentation/devicetree/bindings/soc/qcom/qcom,wcnss.yaml +clean_kconfig drivers/remoteproc/Kconfig QCOM_WCNSS_PIL +clean_mk CONFIG_QCOM_WCNSS_PIL drivers/remoteproc/Makefile + +announce QCOM_IPA - "Qualcomm IPA support" +reject_firmware drivers/net/ipa/ipa_main.c +clean_blob drivers/net/ipa/ipa_main.c +clean_kconfig drivers/net/ipa/Kconfig QCOM_IPA +clean_mk CONFIG_QCOM_IPA drivers/net/ipa/Makefile + + +####### +# MFD # +####### + +announce MFD_IQS62X - "Azoteq IQS620A/621/622/624/625 core support" +reject_firmware drivers/mfd/iqs62x.c +clean_blob drivers/mfd/iqs62x.c +clean_blob Documentation/devicetree/bindings/mfd/iqs62x.yaml +clean_kconfig drivers/mfd/Kconfig MFD_IQS62X +clean_mk CONFIG_MFD_IQS62X drivers/mfd/Makefile + +####### +# PTP # +####### + +announce PTP_1588_CLOCK_IDTCM - "IDT CLOCKMATRIX as PTP clock" +reject_firmware drivers/ptp/ptp_clockmatrix.c +clean_blob drivers/ptp/ptp_clockmatrix.h +clean_blob Documentation/driver-api/ptp.rst +clean_kconfig drivers/ptp/Kconfig PTP_1588_CLOCK_IDTCM +clean_mk CONFIG_PTP_1588_CLOCK_IDTCM drivers/ptp/Makefile + +announce PTP_1588_CLOCK_IDT82P33 - "IDT 82P33xxx PTP clock" +reject_firmware drivers/ptp/ptp_idt82p33.c +clean_blob drivers/ptp/ptp_idt82p33.c +clean_blob drivers/ptp/ptp_idt82p33.h +clean_kconfig drivers/ptp/Kconfig PTP_1588_CLOCK_IDT82P33 +clean_mk CONFIG_PTP_1588_CLOCK_IDT82P33 drivers/ptp/Makefile + + + +######### +# Sound # +######### + +announce SND_ASIHPI - "AudioScience ASIxxxx" +reject_firmware sound/pci/asihpi/hpidspcd.c +clean_blob sound/pci/asihpi/hpidspcd.c +clean_blob sound/pci/asihpi/hpioctl.c +clean_kconfig sound/pci/Kconfig SND_ASIHPI +clean_mk CONFIG_SND_ASIHPI sound/pci/asihpi/Makefile + +announce SND_CS46XX - "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x" +reject_firmware sound/pci/cs46xx/cs46xx_lib.c +clean_blob sound/pci/cs46xx/cs46xx_lib.c +clean_kconfig sound/pci/Kconfig SND_CS46XX +clean_mk CONFIG_SND_CS46XX sound/pci/cs46xx/Makefile + +announce SND_KORG1212 - "Korg 1212 IO" +reject_firmware sound/pci/korg1212/korg1212.c +clean_blob sound/pci/korg1212/korg1212.c +clean_kconfig sound/pci/Kconfig SND_KORG1212 +clean_mk CONFIG_SND_KORG1212 sound/pci/korg1212/Makefile + +announce SND_MAESTRO3 - "ESS Allegro/Maestro3" +reject_firmware sound/pci/maestro3.c +clean_blob sound/pci/maestro3.c +clean_kconfig sound/pci/Kconfig SND_MAESTRO3 +clean_mk CONFIG_SND_MAESTRO3 sound/pci/Makefile + +announce SND_YMFPCI - "Yamaha YMF724/740/744/754" +reject_firmware sound/pci/ymfpci/ymfpci_main.c +clean_blob sound/pci/ymfpci/ymfpci_main.c +clean_kconfig sound/pci/Kconfig SND_YMFPCI +clean_mk CONFIG_SND_YMFPCI sound/pci/ymfpci/Makefile + +announce SND_SB16_CSP - "SB16 Advanced Signal Processor" +reject_firmware sound/isa/sb/sb16_csp.c +clean_blob sound/isa/sb/sb16_csp.c +clean_kconfig sound/isa/Kconfig SND_SB16_CSP +clean_mk CONFIG_SND_SB16_CSP sound/isa/sb/Makefile + +announce SND_WAVEFRONT - "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)" +reject_firmware sound/isa/wavefront/wavefront_fx.c +clean_blob sound/isa/wavefront/wavefront_fx.c +reject_firmware sound/isa/wavefront/wavefront_synth.c +clean_blob sound/isa/wavefront/wavefront_synth.c +clean_kconfig sound/isa/Kconfig SND_WAVEFRONT +clean_mk CONFIG_SND_WAVEFRONT sound/isa/wavefront/Makefile + +announce SND_VX_LIB - Digigram VX soundcards +reject_firmware sound/drivers/vx/vx_hwdep.c +clean_blob sound/drivers/vx/vx_hwdep.c +clean_kconfig sound/drivers/Kconfig SND_VX_LIB +clean_mk CONFIG_SND_VX_LIB sound/drivers/vx/Makefile + +announce SND_DARLA20 - "(Echoaudio) Darla20" +clean_blob sound/pci/echoaudio/darla20.c +clean_kconfig sound/pci/Kconfig SND_DARLA20 +clean_mk CONFIG_SND_DARLA20 sound/pci/echoaudio/Makefile + +announce SND_DARLA24 - "(Echoaudio) Darla24" +clean_blob sound/pci/echoaudio/darla24.c +clean_kconfig sound/pci/Kconfig SND_DARLA24 +clean_mk CONFIG_SND_DARLA24 sound/pci/echoaudio/Makefile + +announce SND_ECHO3G - "(Echoaudio) 3G cards" +clean_blob sound/pci/echoaudio/echo3g.c +clean_kconfig sound/pci/Kconfig SND_ECHO3G +clean_mk CONFIG_SND_ECHO3G sound/pci/echoaudio/Makefile + +announce SND_GINA20 - "(Echoaudio) Gina20" +clean_blob sound/pci/echoaudio/gina20.c +clean_kconfig sound/pci/Kconfig SND_GINA20 +clean_mk CONFIG_SND_GINA20 sound/pci/echoaudio/Makefile + +announce SND_GINA24 - "(Echoaudio) Gina24" +clean_blob sound/pci/echoaudio/gina24.c +clean_kconfig sound/pci/Kconfig SND_GINA24 +clean_mk CONFIG_SND_GINA24 sound/pci/echoaudio/Makefile + +announce SND_INDIGO - "(Echoaudio) Indigo" +clean_blob sound/pci/echoaudio/indigo.c +clean_kconfig sound/pci/Kconfig SND_INDIGO +clean_mk CONFIG_SND_INDIGO sound/pci/echoaudio/Makefile + +announce SND_INDIGODJ - "(Echoaudio) Indigo DJ" +clean_blob sound/pci/echoaudio/indigodj.c +clean_kconfig sound/pci/Kconfig SND_INDIGODJ +clean_mk CONFIG_SND_INDIGODJ sound/pci/echoaudio/Makefile + +announce SND_INDIGODJX - "(Echoaudio) Indigo DJx" +clean_blob sound/pci/echoaudio/indigodjx.c +clean_kconfig sound/pci/Kconfig SND_INDIGODJX +clean_mk CONFIG_SND_INDIGODJX sound/pci/echoaudio/Makefile + +announce SND_INDIGOIO - "(Echoaudio) Indigo IO" +clean_blob sound/pci/echoaudio/indigoio.c +clean_kconfig sound/pci/Kconfig SND_INDIGOIO +clean_mk CONFIG_SND_INDIGOIO sound/pci/echoaudio/Makefile + +announce SND_INDIGOIOX - "(Echoaudio) Indigo IOx" +clean_blob sound/pci/echoaudio/indigoiox.c +clean_kconfig sound/pci/Kconfig SND_INDIGOIOX +clean_mk CONFIG_SND_INDIGOIOX sound/pci/echoaudio/Makefile + +announce SND_LAYLA20 - "(Echoaudio) Layla20" +clean_blob sound/pci/echoaudio/layla20.c +clean_kconfig sound/pci/Kconfig SND_LAYLA20 +clean_mk CONFIG_SND_LAYLA20 sound/pci/echoaudio/Makefile + +announce SND_LAYLA24 - "(Echoaudio) Layla24" +clean_blob sound/pci/echoaudio/layla24.c +clean_kconfig sound/pci/Kconfig SND_LAYLA24 +clean_mk CONFIG_SND_LAYLA24 sound/pci/echoaudio/Makefile + +announce SND_MIA - "(Echoaudio) Mia" +clean_blob sound/pci/echoaudio/mia.c +clean_kconfig sound/pci/Kconfig SND_MIA +clean_mk CONFIG_SND_MIA sound/pci/echoaudio/Makefile + +announce SND_MONA - "(Echoaudio) Mona" +clean_blob sound/pci/echoaudio/mona.c +clean_kconfig sound/pci/Kconfig SND_MONA +clean_mk CONFIG_SND_MONA sound/pci/echoaudio/Makefile + +announce SND_'<(Echoaudio)>' - "(Echoaudio) all of the above" +reject_firmware sound/pci/echoaudio/echoaudio.c +clean_blob sound/pci/echoaudio/echoaudio.c + +announce SND_EMU10K1 - "Emu10k1 (SB Live!, Audigy, E-mu APS)" +reject_firmware sound/pci/emu10k1/emu10k1_main.c +clean_blob sound/pci/emu10k1/emu10k1_main.c +clean_kconfig sound/pci/Kconfig SND_EMU10K1 +clean_mk CONFIG_SND_EMU10K1 sound/pci/emu10k1/Makefile + +announce SND_MIXART - "Digigram miXart" +reject_firmware sound/pci/mixart/mixart_hwdep.c +clean_blob sound/pci/mixart/mixart_hwdep.c +clean_kconfig sound/pci/Kconfig SND_MIXART +clean_mk CONFIG_SND_MIXART sound/pci/mixart/Makefile + +announce SND_PCXHR - "Digigram PCXHR" +reject_firmware sound/pci/pcxhr/pcxhr_hwdep.c +clean_blob sound/pci/pcxhr/pcxhr_hwdep.c +clean_kconfig sound/pci/Kconfig SND_PCXHR +clean_mk CONFIG_SND_PCXHR sound/pci/pcxhr/Makefile + +announce SND_RIPTIDE - "Conexant Riptide" +reject_firmware sound/pci/riptide/riptide.c +clean_blob sound/pci/riptide/riptide.c +clean_kconfig sound/pci/Kconfig SND_RIPTIDE +clean_mk CONFIG_SND_RIPTIDE sound/pci/riptide/Makefile + +# This is ok, patch filenames are supplied as module parameters, and +# they are text files with patch instructions. +#announce SND_HDA_PATCH_LOADER - "Support initialization patch loading for HD-audio" +#reject_firmware sound/pci/hda/hda_hwdep.c +#clean_kconfig sound/pci/hda/Kconfig 'SND_HDA_PATCH_LOADER' + +announce SND_HDA_CODEC_CA0132_DSP - "Support new DSP code for CA0132 codec" +reject_firmware sound/pci/hda/patch_ca0132.c +clean_blob sound/pci/hda/patch_ca0132.c +clean_sed ' +/^config SND_HDA_CODEC_CA0132_DSP$/, /^config / { + s,(ctefx.bin),(/*(DEBLOBBED)*/),; +}' sound/pci/hda/Kconfig 'removed blob name' +clean_kconfig sound/pci/hda/Kconfig SND_HDA_CODEC_CA0132_DSP +# There are no separate source files or Makefile entries for the _DSP option. +clean_mk CONFIG_SND_HDA_CODEC_CA0132 sound/pci/hda/Makefile + +announce SND_HDSP - "RME Hammerfall DSP Audio" +reject_firmware sound/pci/rme9652/hdsp.c +clean_blob sound/pci/rme9652/hdsp.c +clean_kconfig sound/pci/Kconfig SND_HDSP +clean_mk CONFIG_SND_HDSP sound/pci/rme9652/Makefile + +# SND_AICA is no longer disabled, its firmware is Free Software. + +announce SND_MSND_PINNACLE - "Support for Turtle Beach MultiSound Pinnacle" +clean_blob sound/isa/msnd/msnd_pinnacle.h +reject_firmware sound/isa/msnd/msnd_pinnacle.c +clean_blob sound/isa/msnd/msnd_pinnacle.c +clean_blob Documentation/sound/cards/multisound.sh +clean_kconfig sound/isa/Kconfig SND_MSND_PINNACLE +clean_mk CONFIG_SND_MSND_PINNACLE sound/isa/msnd/Makefile + +announce SND_MSND_CLASSIC - "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey" +clean_blob sound/isa/msnd/msnd_classic.h +clean_kconfig sound/isa/Kconfig SND_MSND_CLASSIC +clean_mk CONFIG_SND_MSND_CLASSIC sound/isa/msnd/Makefile + +announce SND_SSCAPE - "Ensoniq SoundScape driver" +reject_firmware sound/isa/sscape.c +clean_blob sound/isa/sscape.c +clean_sed ' +/^config SND_SSCAPE$/, /^config / { + s,"\(scope\|sndscape\)\.co[d?]","/*(DEBLOBBED)*/",g; +}' sound/isa/Kconfig 'removed firmware names' +clean_kconfig sound/isa/Kconfig SND_SSCAPE +clean_mk CONFIG_SND_SSCAPE sound/isa/Makefile + +announce SND_SOC_ADAU1701 - "ADAU1701 SigmaDSP processor" +clean_blob sound/soc/codecs/adau1701.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_ADAU1701 +clean_mk CONFIG_SND_SOC_ADAU1701 sound/soc/codecs/Makefile + +announce SND_SOC_ADAU1761 - "ADAU1761 SigmaDSP processor" +clean_blob sound/soc/codecs/adau1761.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_ADAU1761 +clean_mk CONFIG_SND_SOC_ADAU1761 sound/soc/codecs/Makefile + +announce SND_SOC_ADAU1781 - "ADAU1781 SigmaDSP processor" +clean_blob sound/soc/codecs/adau1781.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_ADAU1781 +clean_mk CONFIG_SND_SOC_ADAU1781 sound/soc/codecs/Makefile + +announce SND_SOC_FSL_EASRC - "Enhanced Asynchronous Sample Rate Converter (EASRC) module support" +reject_firmware sound/soc/fsl/fsl_easrc.c +clean_blob Documentation/devicetree/bindings/sound/fsl,easrc.yaml +clean_kconfig sound/soc/fsl/Kconfig SND_SOC_FSL_EASRC +clean_mk CONFIG_SND_SOC_FSL_EASRC sound/soc/fsl/Makefile + +announce SND_SOC_FSL_XCVR - "NXP Audio Transceiver (XCVR) module support" +reject_firmware sound/soc/fsl/fsl_xcvr.c +clean_blob sound/soc/fsl/fsl_xcvr.c +clean_kconfig sound/soc/fsl/Kconfig SND_SOC_FSL_XCVR +clean_mk CONFIG_SND_SOC_FSL_XCVR sound/soc/fsl/Makefile + +announce SND_SOC_MAX98390 - "Maxim Integrated MAX98390 Speaker Amplifier" +reject_firmware sound/soc/codecs/max98390.c +clean_blob sound/soc/codecs/max98390.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_MAX98390 +clean_mk CONFIG_SND_SOC_MAX98390 sound/soc/codecs/Makefile + +announce SND_SOC_RT5677 - "RT5677 SoC" +reject_firmware sound/soc/codecs/rt5677.c +clean_blob sound/soc/codecs/rt5677.h +clean_blob sound/soc/codecs/rt5677.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_RT5677 +clean_mk CONFIG_SND_SOC_RT5677 sound/soc/codecs/Makefile + +announce SND_SOC_SIGMADSP - "SigmaStudio firmware loader" +maybe_reject_firmware sound/soc/codecs/sigmadsp.c + +announce SND_SOC_ACPI_INTEL_MATCH - undocumented +clean_blob sound/soc/intel/common/soc-acpi-intel-bxt-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-byt-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-cht-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-cnl-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-icl-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-glk-match.c +# clean_blob sound/soc/intel/common/soc-acpi-intel-hda-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-kbl-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-skl-match.c +clean_kconfig sound/soc/intel/Kconfig SND_SOC_ACPI_INTEL_MATCH +clean_mk CONFIG_SND_SOC_ACPI_INTEL_MATCH sound/soc/intel/common/Makefile + +announce SND_SOC_INTEL_AVS - "Intel AVS driver" +reject_firmware sound/soc/intel/avs/topology.c +reject_firmware sound/soc/intel/avs/utils.c +clean_blob sound/soc/intel/avs/board_selection.c +clean_blob sound/soc/intel/avs/loader.c +clean_kconfig sound/soc/intel/Kconfig SND_SOC_INTEL_AVS +clean_mk CONFIG_SND_SOC_INTEL_AVS sound/soc/intel/avs/Makefile + +announce SND_SOC_INTEL_CATPT - undocumented +reject_firmware sound/soc/intel/catpt/loader.c +clean_blob sound/soc/intel/catpt/loader.c +clean_kconfig sound/soc/intel/Kconfig SND_SOC_INTEL_CATPT +clean_mk CONFIG_SND_SOC_INTEL_CATPT sound/soc/intel/catpt/Makefile + +announce SND_SOC_INTEL_SKYLAKE - "All Skylake/SST Platforms" +reject_firmware sound/soc/intel/skylake/skl-sst.c +reject_firmware sound/soc/intel/skylake/skl-sst-utils.c +reject_firmware sound/soc/intel/skylake/skl-topology.c +reject_firmware sound/soc/intel/skylake/bxt-sst.c +reject_firmware sound/soc/intel/skylake/cnl-sst.c +clean_blob sound/soc/intel/skylake/skl-nhlt.c +clean_blob sound/soc/intel/skylake/skl-sst.c +clean_blob sound/soc/intel/skylake/skl-topology.c +clean_kconfig sound/soc/intel/Kconfig SND_SOC_INTEL_SKYLAKE +clean_mk CONFIG_SND_SOC_INTEL_SKYLAKE sound/soc/intel/skylake/Makefile + +announce SND_SST_ATOM_HIFI2_PLATFORM - "HiFi2 Platforms" +reject_firmware sound/soc/intel/atom/sst/sst.c +reject_firmware sound/soc/intel/atom/sst/sst_loader.c +clean_kconfig sound/soc/intel/Kconfig SND_SST_ATOM_HIFI2_PLATFORM +clean_mk CONFIG_SND_SST_ATOM_HIFI2_PLATFORM sound/soc/intel/atom/sst/Makefile + +announce SND_SST_ATOM_HIFI2_PLATFORM_PCI - "PCI HiFi2 (Merrifield) Platforms" +clean_blob sound/soc/intel/atom/sst/sst_pci.c +clean_kconfig sound/soc/intel/Kconfig SND_SST_ATOM_HIFI2_PLATFORM_PCI +clean_mk CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI sound/soc/intel/atom/sst/Makefile + +announce SND_SOC_RT5514 - undocumented +reject_firmware sound/soc/codecs/rt5514.c +clean_blob sound/soc/codecs/rt5514.h +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_RT5514 +clean_mk CONFIG_SND_SOC_RT5514 sound/soc/codecs/Makefile + +announce SND_SOC_TAS5805M - "Texas Instruments TAS5805M speaker amplifier" +reject_firmware sound/soc/codecs/tas5805m.c +clean_blob sound/soc/codecs/tas5805m.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_TAS5805M +clean_mk CONFIG_SND_SOC_TAS5805M sound/soc/codecs/Makefile + +announce SND_SOC_WM0010 - "WM0010 DSP driver" +reject_firmware sound/soc/codecs/wm0010.c +clean_blob sound/soc/codecs/wm0010.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_WM0010 +clean_mk CONFIG_SND_SOC_WM0010 sound/soc/codecs/Makefile + +# It's not clear that wm2000_anc.bin is pure data. +# Check with developer, clean up for now. +announce SND_SOC_WM2000 - "WM2000 ALSA Soc Audio codecs" +reject_firmware sound/soc/codecs/wm2000.c +clean_blob sound/soc/codecs/wm2000.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_WM2000 +clean_mk CONFIG_SND_SOC_WM2000 sound/soc/codecs/Makefile + +announce SND_SOC_WM8994 - "WM8994 ALSA Soc Audio codecs" +reject_firmware sound/soc/codecs/wm8958-dsp2.c +clean_blob sound/soc/codecs/wm8958-dsp2.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_WM8994 +clean_mk CONFIG_SND_SOC_WM8994 sound/soc/codecs/Makefile + +# The coeff files might be pure data, but the wmfw surely aren't. +announce SND_SOC_WM_ADSP - "Wolfson ADSP support" +reject_firmware sound/soc/codecs/wm_adsp.c +clean_blob sound/soc/codecs/wm_adsp.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_WM_ADSP +clean_mk CONFIG_SND_SOC_WM_ADSP sound/soc/codecs/Makefile + +announce SND_SOC_ZL38060 - "Microsemi ZL38060 Connected Home Audio Processor" +reject_firmware sound/soc/codecs/zl38060.c +clean_blob sound/soc/codecs/zl38060.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_ZL38060 +clean_mk CONFIG_SND_SOC_ZL38060 sound/soc/codecs/Makefile + +announce SND_SOC_SH4_SIU - "ALSA SoC driver for Renesas SH7343, SH7722 SIU peripheral" +reject_firmware sound/soc/sh/siu_dai.c +clean_blob sound/soc/sh/siu_dai.c +clean_kconfig sound/soc/sh/Kconfig SND_SOC_SH4_SIU +clean_mk CONFIG_SND_SOC_SH4_SIU sound/soc/sh/Makefile + +# These download firmware indeed, but it is Free firmware. + +# announce SND_SOC_SOF - "Sound Open Firmware Support" +# reject_firmware sound/soc/sof/loader.c +# reject_firmware sound/soc/sof/topology.c +# clean_kconfig sound/soc/sof/Kconfig SND_SOC_SOF +# clean_mk CONFIG_SND_SOC_SOF sound/soc/sof/Makefile + +# announce SND_SOC_SOF_ACPI - "SOF ACPI enumeration support" +# clean_blob sound/soc/sof/sof-acpi-dev.c +# clean_kconfig sound/soc/sof/Kconfig SND_SOC_SOF_ACPI +# clean_mk CONFIG_SND_SOC_SOF_ACPI sound/soc/sof/Makefile + +# announce SND_SOC_SOF_PCI - "SOF PCI enumeration support" +# clean_blob sound/soc/sof/sof-pci-dev.c +# clean_kconfig sound/soc/sof/Kconfig SND_SOC_SOF_PCI +# clean_mk CONFIG_SND_SOC_SOF_PCI sound/soc/sof/Makefile + +# announce SND_SOC_SOF_INTEL_COMMON - "SOF support for Intel audio DSPs" +# clean_blob sound/soc/sof/intel/hda.c +# clean_kconfig sound/soc/sof/intel/Kconfig SND_SOC_SOF_HDA_COMMON +# clean_mk CONFIG_SND_SOC_SOF_HDA_COMMON sound/soc/sof/intel/Makefile + +announce SND_SOC_QDSP6_APM - "SoC ALSA audio driver for QDSP6 (APM)" +reject_firmware sound/soc/qcom/qdsp6/topology.c +clean_blob sound/soc/qcom/qdsp6/topology.c +clean_kconfig sound/soc/qcom/Kconfig SND_SOC_QDSP6_APM +clean_mk CONFIG_SND_SOC_QDSP6_APM sound/soc/qcom/qdsp6/Makefile + +announce SND_USB_6FIRE - "TerraTec DMX 6Fire USB" +reject_firmware sound/usb/6fire/firmware.c +clean_blob sound/usb/6fire/firmware.c +clean_kconfig sound/usb/Kconfig SND_USB_6FIRE +clean_mk CONFIG_SND_USB_6FIRE sound/usb/6fire/Makefile + +############ +# Watchdog # +############ + +announce ZIIRAVE_WATCHDOG - "Zodiac RAVE Watchdog Timer" +reject_firmware drivers/watchdog/ziirave_wdt.c +clean_blob drivers/watchdog/ziirave_wdt.c +clean_kconfig drivers/watchdog/Kconfig ZIIRAVE_WATCHDOG +clean_mk CONFIG_ZIIRAVE_WATCHDOG drivers/watchdog/Makefile + +####### +# FIS # +####### + +announce FSI_MASTER_AST_CF - "FSI master based on Aspeed ColdFire coprocessor" +reject_firmware drivers/fsi/fsi-master-ast-cf.c +clean_blob drivers/fsi/fsi-master-ast-cf.c +clean_kconfig drivers/fsi/Kconfig FSI_MASTER_AST_CF +clean_mk CONFIG_FSI_MASTER_AST_CF drivers/fsi/Makefile + +####### +# Bus # +####### + +# This takes firmware names from devicetree files, too likely to be +# binary blobs offered by a hardware. +announce I2C_SLAVE_EEPROM - "I2C eeprom slave driver" +reject_firmware drivers/i2c/i2c-slave-eeprom.c +clean_kconfig drivers/i2c/Kconfig I2C_SLAVE_EEPROM +clean_mk CONFIG_I2C_SLAVE_EEPROM drivers/i2c/Makefile + +announce MHI_BUS - "Modem Host Interface (MHI) bus" +reject_firmware drivers/bus/mhi/host/boot.c +clean_kconfig drivers/bus/mhi/host/Kconfig MHI_BUS +clean_mk CONFIG_MHI_BUS drivers/bus/mhi/host/Makefile + +announce MHI_BUS_PCI_GENERIC - "MHI PCI controller driver" +clean_blob drivers/bus/mhi/host/pci_generic.c +clean_kconfig drivers/bus/mhi/host/Kconfig MHI_BUS_PCI_GENERIC +clean_mk CONFIG_MHI_BUS_PCI_GENERIC drivers/bus/mhi/host/Makefile + +# Greybus + +# I couldn't find any evidence of any Free Software firmware for +# devices that use this bus type, so I'm tentatively disabling it all. +announce GREYBUS_FIRMWARE - "Greybus Firmware Download Class driver" +clean_blob drivers/staging/greybus/firmware.h +reject_firmware drivers/staging/greybus/fw-download.c +clean_blob drivers/staging/greybus/fw-download.c +clean_kconfig drivers/staging/greybus/Kconfig GREYBUS_FIRMWARE +clean_mk CONFIG_GREYBUS_FIRMWARE drivers/staging/greybus/Makefile + +announce GREYBUS_BOOTROM - "Greybus Bootrom Class driver" +reject_firmware drivers/staging/greybus/bootrom.c +clean_blob drivers/staging/greybus/bootrom.c +clean_kconfig drivers/staging/greybus/Kconfig GREYBUS_BOOTROM +clean_mk CONFIG_GREYBUS_BOOTROM drivers/staging/greybus/Makefile + +####### +# SOC # +####### + +announce ARCH_QCOM - "Qualcomm Support" +clean_blob arch/arm64/boot/dts/qcom/msm8998-lenovo-miix-630.dts +clean_blob arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +clean_blob arch/arm64/boot/dts/qcom/sc7180-trogdor-lte-sku.dtsi +clean_blob arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile.dtsi +clean_blob arch/arm64/boot/dts/qcom/sdm845-db845c.dts +clean_blob arch/arm64/boot/dts/qcom/sdm845-mtp.dts +clean_blob arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts +clean_blob arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts +clean_blob arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts +clean_blob arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts +clean_blob arch/arm64/boot/dts/qcom/sm8150-hdk.dts +clean_blob arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts +clean_blob arch/arm64/boot/dts/qcom/sm8150-mtp.dts +clean_blob Documentation/devicetree/bindings/display/msm/gpu.yaml +clean_blob arch/arm64/boot/dts/qcom/sm8250-mtp.dts +clean_blob arch/arm64/boot/dts/qcom/qrb5165-rb5.dts +clean_blob arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi +clean_blob arch/arm64/boot/dts/qcom/sm8350-hdk.dts +clean_blob arch/arm64/boot/dts/qcom/sm8350-mtp.dts +clean_blob arch/arm64/boot/dts/qcom/apq8016-sbc.dts +clean_blob arch/arm64/boot/dts/qcom/apq8096-db820c.dts +clean_blob arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts +clean_blob arch/arm64/boot/dts/qcom/msm8996-xiaomi-scorpio.dts +clean_blob arch/arm64/boot/dts/qcom/sa8155p-adp.dts +clean_blob arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts +clean_blob arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dts +clean_blob arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi +clean_blob arch/arm64/boot/dts/qcom/sm8450-hdk.dts +clean_blob arch/arm64/boot/dts/qcom/sm8450-qrd.dts +clean_kconfig arch/arm/mach-qcom/Kconfig ARCH_QCOM +clean_mk CONFIG_ARCH_QCOM arch/arm64/boot/dts/qcom/Makefile + +announce QCOM_MDT_LOADER - "Qualcomm Peripheral Image Loader" +reject_firmware drivers/soc/qcom/mdt_loader.c +clean_kconfig drivers/soc/qcom/Kconfig QCOM_MDT_LOADER +clean_mk CONFIG_QCOM_MDT_LOADER drivers/soc/qcom/Makefile + +announce QCOM_WCNSS_CTRL - "Qualcomm WCNSS control driver" +reject_firmware drivers/soc/qcom/wcnss_ctrl.c +clean_blob drivers/soc/qcom/wcnss_ctrl.c +clean_blob arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts +clean_kconfig drivers/soc/qcom/Kconfig QCOM_WCNSS_CTRL +clean_mk CONFIG_QCOM_WCNSS_CTRL drivers/soc/qcom/Makefile + +announce KEYSTONE_NAVIGATOR_QMSS - "Keystone Queue Manager Sub System" +reject_firmware drivers/soc/ti/knav_qmss_queue.c +clean_blob drivers/soc/ti/knav_qmss_queue.c +clean_blob Documentation/arm/keystone/knav-qmss.rst +clean_kconfig drivers/soc/ti/Kconfig KEYSTONE_NAVIGATOR_QMSS +clean_mk CONFIG_KEYSTONE_NAVIGATOR_QMSS drivers/soc/ti/Makefile + +announce BRCMSTB_DPFE - "Broadcom STM DPFE driver" +reject_firmware drivers/memory/brcmstb_dpfe.c +clean_blob drivers/memory/brcmstb_dpfe.c +clean_kconfig drivers/memory/Kconfig BRCMSTB_DPFE +clean_mk CONFIG_BRCMSTB_DPFE drivers/memory/Makefile + +announce ARCH_MEDIATEK - "MediaTek SoC Support" +clean_blob arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi +clean_blob arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi +clean_blob arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi +clean_kconfig arch/arm/mach-mediatek/Kconfig ARCH_MEDIATEK +clean_mk CONFIG_ARCH_MEDIATEK arch/arm64/boot/dts/mediatek/Makefile + +announce INTEL_IFS - "Intel In Field Scan" +# The .scan file loaded here contains CPU tests. It's not clear +# whether it's code or pure data, but I'm conservatively disabling it +# because it's most certainly proprietary. +reject_firmware drivers/platform/x86/intel/ifs/load.c +clean_blob drivers/platform/x86/intel/ifs/load.c +clean_kconfig drivers/platform/x86/intel/ifs/Kconfig INTEL_IFS +clean_mk CONFIG_INTEL_IFS drivers/platform/x86/intel/ifs/Makefile + +################# +# Documentation # +################# + +announce Documentation - "non-Free firmware scripts and documentation" +clean_blob Documentation/sound/alsa-configuration.rst +clean_file scripts/get_dvb_firmware +clean_file scripts/extract_xc3028.pl +clean_sed s,usb8388,whatever,g drivers/base/firmware_loader/Kconfig 'removed blob name' + +if $errors; then + echo errors above were ignored because of --force >&2 +else + echo cleaning up has completed successfully, without verification >&2 + # Verification is largely manual, comparing the changes with + # those of a previous known (presumed) good version, e.g. + # git merge the previous known good version onto the current base + # version, and then git diff with this cleaned-up version. + # Creating a tarball of this version, named linux-*.*.tar, + # and running deblob-check on it may also help catch cleaning-up + # errors: .../deblob-check --use-awk -B linux-*.*.tar. +fi + +exit 0 diff --git a/helpers/DATA/linux-hwe-5.19/deblob-check b/helpers/DATA/linux-hwe-5.19/deblob-check new file mode 100644 index 0000000..9875a3f --- /dev/null +++ b/helpers/DATA/linux-hwe-5.19/deblob-check @@ -0,0 +1,8337 @@ +#! /bin/sh + +# deblob-check version 2022-07-10 r18820 +# modified with 2022-08-25 r18881 +# modified with 2022-09-11 r18905 +# Inspired in gNewSense's find-firmware script. +# Written by Alexandre Oliva + +# Check http://www.fsfla.org/svn/fsfla/software/linux-libre for newer +# versions. + +# Copyright 2008-2022 Alexandre Oliva +# +# This program is part of GNU Linux-libre, a GNU project that +# publishes scripts to clean up Linux so as to make it suitable for +# use in the GNU Project and in Free System Distributions. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 +# USA + + +# usage: deblob-check [-S] [-v] [-v] [-s S] [--reverse-patch] \ +# [--use-...|--gen-flex] [-lDdBbCcXxPpFftVh?H] \ +# *.tar* patch-* [-i prefix/] *.patch *.diff... + +# Look for and report too-long undocumented sequences of numbers +# (generally blobs in disguise) in source files, as well as requests +# for loading non-Free firmware. + +# The order of command line flags is significant. Flags given out of +# the order above won't be handled correctly, sorry. + +# -s --sensitivity: Specifies the number of consecutive integral or +# character constants that trigger the blob detector. +# Must be followed by a blank and a number. + +# --reverse-patch: Test the removed parts of a patch, rather than +# the added ones. + +# --use-python: Choose the internal python script for the bulk of +# the work. This is the fastest for cleaning up, +# because of the fast startup time of the regular +# expression engine. This option is the default if +# python is found. Set PYTHON to override the python +# interpreter. The internal script works in both Python +# 2 and 3. + +# --use-awk: Choose the internal GNU awk script for the bulk of the +# work. This is the recommended option to check entire +# tarballs, because its regular expression engine offers +# the best speed/memory use. This is the default option +# if python is not found. Set AWK to specify GNU awk's +# name. + +# --use-perl: Choose the internal perl script. This is not +# recommended, because our regular expressions exceed +# some limits hard-coded into perl. Set PERL to specify +# which perl implementation to use. This is the default +# option if neither python nor GNU awk are found, AND if +# PERL is set. + +# --use-sed: Choose the internal GNU sed script for the bulk of the +# work. This is the default option, if no other +# alternative is found. Use SED to specify which sed +# program to use. + +# --save-script-input: Save the input that would have been fed to +# any of the engines above. + +# --gen-flex: Generate a flex input file with all known blob and +# false positive patterns. It might have been a fast +# regular expression processor if only the flex program +# completed in reasonable time. + + +# For reference, as of 5.8-rc6-gnu, checking the full tarball (with +# -B, not -C) takes up: + +# Engine top mem time +# GNU awk 5.0.1 2.2GB 1x +# Python 3.8.3 48MB 14x +# Perl 5.30.3 22MB 45x +# GNU sed 4.5 24GB 4x + + +# The default sensitivity is 32 constants. + +# The sensitivity, if present, must be the first option. The action +# selection, if present, must be the first argument, except for the +# sensitivity and verbosity. + +# The default can be overridden with one of: + +# -l --list-blobs: list files that contain sequences that match the +# blob detector test and that are not known to be false +# positives. This is the default option. + +# -d --deblob --mark-blobs: print the processed input, replacing +# sequences that match the blob detector test and that +# are NOT known to be false positives with +# /*(DEBLOBBED)*/. + +# -D --cat: print the processed input, as it would have been fed to +# the blob detector script. Use -S to save the sed +# script used to process it, and search for `sedcat:' in +# comments to locate the relevant adaptation points. + +# -b --print-marked-blobs: like -d, but print only the matching +# sequences. + +# -B --print-blobs: like -b, but do not deblob the sequences. + +# -c --print-marked-blobs-with-context: like -b, but try to maximize +# the context around the blobs. This maximization will +# sometimes disregard known false positives, if they +# happen to be contained within the extended match. +# This is probably an indication that the false positive +# matching rule could be improved. + +# -C --print-blobs-with-context: like -B, but try to maximize the +# context around the blobs. + +# -X --print-all-matches: print all blobs, be they known false +# positives or actual blobs. + +# -x --list-all-matches: list files that contain sequences that appear +# to be blobs, be they known false positives or not. + +# -p --mark-false-positives: print the processed input, replacing +# sequences that match the blob detector test, even those +# known to be false positives, with /*(DEBLOBBED)*/. + +# -P --list-false-positives: list files that contain false positives. + +# -f --print-marked-false-positives: like -p, but print only the +# matching sequences. + +# -F --print-false-positives: like -f, but do not deblob the sequences. + +# -t --test: run (very minimal) self-test. + +# -V --version: print a version number + +# -h -? -H --help: print short or long help message + + +# debugging options: + +# -S --save-scripts: save scripts and temporary files. + +# -v --verbose: increase verbosity level, for internal debugging. May +# be given at most twice. + + +# file options: + +# --: Don't process command-line options any further. All following +# arguments are taken as filenames. + +# -i --implied-prefix --prefix: prepend the given prefix to each filename +# listed after this option, when configuring false positives +# and negatives. + +# *.tar*: iterate over all files in the named tar file. + +# *.patch, patch-*, *.diff: Look for blobs in the [ +] parts of the +# *patch, unless --reverse-patch is given, in which case +# the [ -] parts will be used. + +# Anything else is assumed to be a source file. + +# *.gz | *.bz2 | *.xz | *.lz: Decompress automatically. + + +# The exit status is only significant for the --list options: it will +# be true if nothing was found, and false otherwise. + +: # Mark the end of the help message. + +# TODO: + +# - Improve handling of command-line arguments, so as to not make the +# order relevant. + +# - Add an option for the user to feed their own false positive +# patterns. + +# - Add support to recognize known blobs (or other non-Free +# signatures, really), to speed up the scanning of files containing +# blobs, and to avoid attempts to disguise blobs. + +# - Factor out the code in the various print_* and list_* parts of the +# sed script, at least in the shell sources. Make sure they're all +# included and expanded in a saved --cat script though. + +# - Add support for file name tagging in patterns, such that blobs or +# false positives are recognized only when handling the specific +# filename, be it stand-alone, as part of a patch or a tarball. This +# should help avoid recognition of actual blobs as false positives +# just because there's a symbol with a different name elsewhere. + +# It is convenient that the patterns provided by the user to +# recognize file names can be empty (for backward compatibility), but +# this should ideally be phased out in favor of more precise matches. +# It's important that files can be recognized with leading tarball or +# patch names, that the filename used within the tarball contain +# leading garbage, and even that a partial pathname be recognizable +# (say recognize drivers/net/whatever.c when the input file is named +# ../net/whatever.c). + +# Rather than using regular expressions to recognize multiple files +# it's convenient (but not quite essential) that filename patterns be +# specifiable as regular expressions, rather than simple filenames, +# but there are other ways around this. + +# Maintaining begin/end markers in a stack-like fashion as part of +# the processed stream, and using the names in them as (optional) part +# of the recognition patterns, would enable us to do it. + +# Introducing annotations next to the false positives (and recognized +# blobs) as an early part of the process may speed things up and +# enable fast processing, but how to introduce the annotations quickly +# in the first place? Given patterns such as + +# \(\(file1\)\(.*\)\(pat1\)\|\(file2\)\(.*\)\(pat2\)\|...\) + +# how do we get sed to introduce a marker that contains file2 right +# before or right after pat2, without turning a big efficient regexp +# into a slowish sequence of s/// commands? + +# - Re-check and narrow false-positive patterns to make sure they +# apply only to the relevant content. + +# - Scripting abilities, so as to be able to automate the removal of +# source files or of blobs from source files in a tarball without +# having to extract the entire tarball (as in tar --update/--delete) +# would be nice. Carrying over removed files automatically into +# patches would also be great, and this sort of script would be +# perfect to document what has been done to a tarball plus a set of +# patches. Something like deblob.script: +# +# tarball linux-2.6.24.tar.bz2 +# delete net/wireloss/freedom.c drivers/me/crazy.c +# deblob include/linux/slab-blob-kfree.h +# deconfig drivers/char/drm DRM_IS_BAD +# +# patch patch-2.6.25-rc7.bz2 +# delete arch/power/over/you.c + +# such that the deletes from an earlier file would carry over into the +# subsequent ones, and new tarballs and patch files would be generated +# with the libre- prefix in their basename, and the xdeltas between +# the original files and the modified files would be minimal, and +# redundant with this script and the input script while at that. + +# - Improve documentation of the code. + +# - Write a decent testsuite. + +# - Insert your idea here. :-) + +# Yeah, lots of stuff to do. Want to help? + +# This makes it much faster, and mostly immune to non-ASCII stuff, as +# long as a 8-bit-safe sed is used. Probably a safe assumption these +# days. +LC_ALL=C; export LC_ALL +LANGUAGE=C; export LANGUAGE + +rm="rm -f" + +for echo in 'echo' 'printf %s\n'; do + case `$echo '\nx'` in + '\nx') break;; + esac +done +case `$echo '\nx'` in +'\nx') ;; *) echo Cannot find out what echo to use >&2; exit 1;; +esac + +for echo_n in "echo -n" "printf %s"; do + case `$echo_n '\na'; $echo_n '\nb'` in + '\na\nb') break;; + esac +done +case `$echo_n a; $echo_n b` in +'ab') ;; *) echo Cannot find out an echo -n equivalent to use >&2; exit 1;; +esac + +case $1 in +--save-scripts | -S) + shift + rm="echo preserving" + ;; +esac + +# Choose verbosity level for sed script debugging and performance +# analysis. +case $1 in +--verbose | -v) + shift + case $1 in + --verbose | -v) + shift + v="i\\ +: +p +i\\ +" + vp="2" + ;; + *) + v="P;i\\ +" + vp="1" + ;; + esac + ;; +*) + v="# " + vp="0" + ;; +esac + +sens=31 # 32 - 1 +case $1 in +--sensitivity | -s) + sens=$2; + shift 2 || exit 1 + + if test "$sens" -gt 0 2>/dev/null; then + : + else + echo invalid sensitivity: $sens >&2 + exit 1 + fi + + sens=`expr $sens - 1` + ;; +esac + +reverse_patch=false +case $1 in +--reverse-patch) + reverse_patch=: + shift; + ;; +esac + +prefix=/ +case $1 in +--implied-prefix | --prefix| -i) + prefix=$2 + case $prefix in + /*/) ;; + */) prefix=/$prefix ;; + /*) prefix=$prefix/ ;; + *) prefix=/$prefix/ ;; + esac + shift 2 || exit 1 + ;; +esac + +test_mode=false + +name=deblob-check + +set_eqscript_main () { + $set_main_cmd "$@" +} + +set_eqscript_cmd () { + set_eqscript_main "list_blob" +} + +set_sed_cmd () { + set_sed_main " +i\\ +$file\\ +/*(DEBLOB-\\ +ERROR)*/ +q 1" +} + +set_flex_cmd () { + set_flex_main +} + +set_save_script_input_cmd () { + set_save_script_input_main +} + +set_cmd=set_eqscript_cmd +if (${PYTHON-python} --version) > /dev/null 2>&1; then + # Python will exhibit exponential behavior processing some regular + # expressions, but we may have already fixed them all. (see + # http://swtch.com/~rsc/regexp/regexp1.html for details) + set_main_cmd=set_python_main +elif (${AWK-gawk} --re-interval --version) > /dev/null 2>&1; then + # GNU awk works fine, but it requires --re-interval to accept regexp + # ranges, which we rely on to match blobs. We could expand the blob + # on our own, but, yuck. + set_main_cmd=set_awk_main +elif (${PERL-false} --version) > /dev/null 2>&1; then + # Don't choose perl by default. Besides the potential for + # exponential behavior, we exceed some internal recursion limits. + set_main_cmd=set_perl_main +else + # Sed takes GBs of RAM to compile all the huge regexps in the sed + # script we generate with all known false positives and blobs in + # Linux. However, it is somewhat faster than GNU awk and even + # python for long runs. + # Try it: deblob-check --use-sed linux-2.6.32.tar.bz2 + set_cmd=set_sed_cmd +fi + +case $1 in +--use-python) + shift; + set_cmd=set_eqscript_cmd; + set_main_cmd=set_python_main; + ;; + +--use-perl) + shift; + set_cmd=set_eqscript_cmd; + set_main_cmd=set_perl_main; + ;; + +--use-awk) + shift; + set_cmd=set_eqscript_cmd; + set_main_cmd=set_awk_main; + ;; + +--use-sed) + shift; + set_cmd=set_sed_cmd; + ;; + +--gen-flex) + shift; + set_cmd=set_flex_cmd; + ;; + +--save-script-input) + shift; + set_cmd=set_save_script_input_cmd; + ;; +esac + +case $1 in +--version | -V) + ${SED-sed} -e '/^# '$name' version /,/^# Written by/ { s/^# //; p; }; d' < $0 + exit 0 + ;; + +-\? | -h) + ${SED-sed} -n -e '/^# usage:/,/# -h/ { /^# -/,/^$/{s/^# \(-.*\):.*/\1/p; d; }; s/^\(# \?\)\?//p; }' < $0 && + echo + echo "run \`$name --help | more' for full usage" + exit 0 + ;; + +--help | -H) + ${SED-sed} -n -e '/^# '$name' version /,/^[^#]/ s/^\(# \?\)\?//p' < $0 + exit 0 + ;; + +--test | -t) + test_mode=: + ;; + +--mark-false-positives | -p) + shift; + set_sed_cmd () { + set_sed_main "b list_both" "p" "b list_matches" + } + set_eqscript_cmd () { + set_eqscript_main "replace_blob = print_blob = without_falsepos" + } + ;; + +--print-marked-false-positives | -f) + shift; + set_sed_cmd () { + set_sed_main "b print_marked_matches" "" "b print_marked_matches" + } + set_eqscript_cmd () { + set_eqscript_main "replace_falsepos = print_falsepos" + } + ;; + +--print-false-positives | -F) + shift; + set_sed_cmd () { + set_sed_main "b print_matches" "" "b print_matches" + } + set_eqscript_cmd () { + set_eqscript_main "print_falsepos" + } + ;; + +--deblob | --mark-blobs | -d) + shift; + set_sed_cmd () { + set_sed_main "b list_blobs" "p" "p" + } + set_eqscript_cmd () { + set_eqscript_main "replace_blob = print_blob = print_falsepos = print_nomatch" + } + ;; + +--cat | -D) + shift; + set_sed_cmd () { + set_sed_main \ + "# sedcat: Actual blob detected, but there may be false positives." \ + "# sedcat: No blob whatsoever found." \ + "# sedcat: False positives found." \ + "p +d +# sedcat: Just print stuff, remove this line to run the actual script." + } + set_eqscript_cmd () { + set_eqscript_main "print_blob = print_falsepos = print_nomatch" + } + ;; + +--print-marked-blobs | -b) + shift; + set_sed_cmd () { + set_sed_main "b print_marked_blobs" + } + set_eqscript_cmd () { + set_eqscript_main "replace_blob = print_blob" + } + ;; + +--print-blobs | -B) + shift; + set_sed_cmd () { + set_sed_main "b print_blobs" + } + set_eqscript_cmd () { + set_eqscript_main "print_blob" + } + ;; + +--print-marked-blobs-with-context | -c) + shift; + set_sed_cmd () { + set_sed_main "b print_marked_cblobs" + } + set_eqscript_cmd () { + set_eqscript_main "with_context = replace_blob = print_blob" + } + ;; + +--print-blobs-with-context | -C) + shift; + set_sed_cmd () { + set_sed_main "b print_cblobs" + } + set_eqscript_cmd () { + set_eqscript_main "with_context = print_blob" + } + ;; + +--list-false-positives | -P) + shift; + set_sed_cmd () { + set_sed_main "" "" " +i\\ +$file\\ +/*(DEBLOB-\\ +ERROR)*/ +q 1" + } + set_eqscript_cmd () { + set_eqscript_main "list_falsepos" + } + ;; + +--list-all-matches | -x) + shift; + set_sed_cmd () { + set_sed_main " +i\\ +$file\\ +/*(DEBLOB-\\ +ERROR)*/ +q 1" "" " +i\\ +$file\\ +/*(DEBLOB-\\ +ERROR)*/ +q 1" + } + set_eqscript_cmd () { + set_eqscript_main "list_blob = list_falsepos" + } + ;; + +--print-all-matches | -X) + shift; + set_sed_cmd () { + set_sed_main "b print_both" "" "b print_matches" + } + set_eqscript_cmd () { + set_eqscript_main "print_blob = print_falsepos" + } + ;; + +*) + case $1 in + --list-blobs | -l) shift;; + esac + case $1 in + -- | --implied-prefix | --prefix | -i) ;; + -*) + if test ! -f "$1"; then + echo "$name: \`$1' given too late or out of the proper sequence." >&2 + echo "$name: The order of arguments is significant, see the usage." >&2 + exit 1 + fi + ;; + esac + ;; + +esac + +case $1 in +--) + sawdashdash=t + shift;; +esac + +if $test_mode; then + allpass=: + for tool in awk perl python sed; do + echo testing $tool... + + targs="-s 4 -i /deblob-check-testsuite/ --use-$tool" + + pass=: + + + # Exercise some nasty inputs to see that we + # recognize them as blobs with full context. + test="positive context" + for string in \ + "1,2,3,4" \ + "= { +1, 0x2, 03, L'\x4' +}" \ + "= +{ + '\\x1', '\\002' + , + { + { \"\\x3\", }, + \"\\004\" + }, +};" \ + ".long 1,2 + .long \$3,\$4" \ + "#define X { 1, 2, \\ + 3, 4, /* comment */ \\ + }" \ + "= { +/* + * multi-line + * comment + */ + { + 0x4c00c000, 0x00000000, 0x00060000, 0x00000000, + }, +}" \ + "= { +blob( +) +accept( +) +1, 2, 3, 4 +}" \ + ; do + case `$echo "$string" | $0 $targs -C` in + "::: - ::: +$string") ;; + *) $echo "failed $test test for: +$string" >&2 + pass=false;; + esac + done + + # Make sure we do not recognize these as blobs. + test=negative + for string in \ + "#define X { 1, 2 } +#define Y { 3, 4 }" \ + " 0x00, 0x00, 0x00 " \ + "accept(1, 2, 3, +4, 5, 6)" \ + ; do + case `$echo "$string" | $0 $targs` in + "") ;; + *) echo "failed $test test for: +$string" >&2 + pass=false;; + esac + done + + # Make sure we print only the lines with blobs. + test="only blob" + odd=: + for string in \ + "= { +1, 0x2, 03, L'\x4' +}" \ + "1, 0x2, 03, L'\x4'" \ +\ + "= +{ + '\\x1', '\\002' + , + { + { \"\\x3\", }, + \"\\004\" + }, +};" \ + " '\\x1', '\\002' + , + { + { \"\\x3\", }, + \"\\004\"" \ +\ + ".long 1,2 + .long \$3,\$4" \ + ".long 1,2 + .long \$3,\$4" \ +\ + "#define X { 1, 2, \\ + 3, 4, /* comment */ \\ + }" \ + "#define X { 1, 2, \\ + 3, 4, /* comment */ \\" \ +\ + "= { +/* + * multi-line + * comment + */ + { + 0x4c00c000, 0x00000000, 0x00060000, 0x00000000, + }, +}" \ + " 0x4c00c000, 0x00000000, 0x00060000, 0x00000000," \ +\ + "MODULE_FIRMWARE(x); +MODULE_FIRMWARE(y); +1, 2, 3, 4; 5, 6, 7, 8; +9, 10, 11" \ + "MODULE_FIRMWARE(x); +MODULE_FIRMWARE(y); +::: - ::: +1, 2, 3, 4; 5, 6, 7, 8;" \ +\ + "= { +blob() +accept() +1, 2, 3, 4 +}" \ + "blob() +::: - ::: +1, 2, 3, 4" \ +\ + "a blobeol y +x" \ + "a blobeol y +x" \ +\ + ; do + if $odd; then + input=$string odd=false + continue + fi + case `$echo "$input" | $0 $targs -B` in + "::: - ::: +$string") ;; + *) + $echo "failed $test test for: +$input" >&2 + pass=false + ;; + esac + odd=: + done + $odd || { echo "internal testsuite failure in $test" >&2; } + + # Make sure we deblob only the blobs. + test="deblobs" + odd=: + for string in \ + "= { 1, 0x2, 03, L'\x4' }" \ + "= { /*(DEBLOBBED)*/' }" \ +\ + "= +{ + '\\x1', '\\002' + , + { + { \"\\x3\", }, + \"\\004\" + }, +};" \ + " '\\x/*(DEBLOBBED)*/\"" \ +\ + ".long 1,2 + .long \$3,\$4" \ + ".long /*(DEBLOBBED)*/" \ +\ + "#define X { 1, 2, \\ + 3, 4, /* comment */ \\ + }" \ + "#define X { /*(DEBLOBBED)*/, /* comment */ \\" \ +\ + "= { +/* + * multi-line + * comment + */ + { + 0x4c00c000, 0x00000000, 0x00060000, 0x00000000, + }, +}" \ + " /*(DEBLOBBED)*/," \ +\ + "MODULE_FIRMWARE(x); +MODULE_FIRMWARE(y); +1, 2, 3, 4; 5, 6; 7, 8, 9, 10; +9, 10, 11" \ + "/*(DEBLOBBED)*/ +::: - ::: +/*(DEBLOBBED)*/; 5, 6; /*(DEBLOBBED)*/;" \ +\ + "= { +accept() blob() x blob( +) y +}" \ + "accept() /*(DEBLOBBED)*/ x /*(DEBLOBBED)*/ y" \ +\ + "= { +accept() blob() x blob( +w) y +}" \ + "accept() /*(DEBLOBBED)*/ x /*(DEBLOBBED)*/ y" \ +\ + "a blobeol y +x" \ + "a /*(DEBLOBBED)*/x" \ +\ + ; do + if $odd; then + input=$string odd=false + continue + fi + case `$echo "$input" | $0 $targs -b` in + "::: - ::: +$string") ;; + *) + $echo "failed $test test for: +$input" >&2 + pass=false + ;; + esac + odd=: + done + $odd || { echo "internal testsuite failure in $test" >&2; } + + # How did we do? + if $pass; then + echo success for $tool + else + allpass=$pass + fi + done + $allpass + exit +fi + +# Call addx as needed to set up more patterns to be recognized as +# false positives. Takes the input filename in $1. + +set_except () { + case $prefix$1 in + */*linux*.tar* | */*kernel*.tar* | */*linux-*.*/*) + # false alarms, contain source + # drivers/net/wan/wanxlfw.inc_shipped -> wanxlfw.S + accept 'static[ ]u8[ ]firmware\[\]=[{][\n]0x60,\(0x00,\)*0x16,\(0x00,\)*\([\n]\(0x[0-9A-F][0-9A-F],\)*\)*[\n]0x23,0xFC,0x00,0x00,0x00,0x01,0xFF,0xF9,0x00,0xD4,0x61,0x00,0x06,0x74,0x33,0xFC,\([\n]\(0x[0-9A-F][0-9A-F],\)*\)*0x00[\n][}][;]' + # drivers/usb/serial/xircom_pgs_fw.h -> xircom_pgs.S + initnc 'static[ ]const[ ]struct[ ]ezusb_hex_record[ ]xircom_pgs_firmware\[\][ ]=' + # drivers/usb/serial/keyspan_pda_fw_h -> keyspan_pda.S + initnc 'static[ ]const[ ]struct[ ]ezusb_hex_record[ ]keyspan_pda_firmware\[\][ ]=' + # arch/m68k/ifpsp060/*.sa -> src/*.s + accept '[ ]\.long[ ]0x60ff0000,0x02360000,0x60ff0000,0x16260000[\n]'"$sepx$blobpat*" + accept '[ ]\.long[ ]0x60ff0000,0x17400000,0x60ff0000,0x15f40000[\n]'"$sepx$blobpat*" + # arch/powerpc/platforms/cell/spufs/spu_save_dump.h_shipped -> spu_save.c + initnc 'static[ ]unsigned[ ]int[ ]spu_save_code\[\][ ][ ]__attribute__[(][(]__aligned__[(]128[)][)][)][ ]=' + # arch/powerpc/platforms/cell/spufs/spu_restore_dump.h_shipped -> spu_restore.c + initnc 'static[ ]unsigned[ ]int[ ]spu_restore_code\[\][ ][ ]__attribute__[(][(]__aligned__[(]128[)][)][)][ ]=' + # drivers/net/ixp2000/ixp2400_tx.ucode -> ixp2400_tx.uc + initnc '[ ]\.initial_reg_values[ ]=[ ][(]struct[ ]ixp2000_reg_value[ ]\[\][)][ ][{]' drivers/net/ixp2000/ixp2400_tx.ucode + # drivers/net/ixp2000/ixp2400_rx.ucode -> ixp2400_rx.uc + initnc '[ ]\.initial_reg_values[ ]=[ ][(]struct[ ]ixp2000_reg_value[ ]\[\][)][ ][{]' drivers/net/ixp2000/ixp2400_rx.ucode + + + # checked: + + accept '[ ][$]3[ ]=[ ][{][{]pge[ ]=[ ][{][{]ste[ ]=[ ][{]\(\([0-9][0-9a-fx{},\n ]*\|\(pge\|ste\)[ ]=\|\)[{},\n ]*\)*[}]$' + accept '__clz_tab:[\n][ ]\.byte[ ]0\(,[0-5]\)\+'"$sepx$blobpat*" arch/sparc/lib/divdi3.S + accept 'PITBL:[\n][ ][ ]\.long[ ][ ]0xC0040000,0xC90FDAA2,'"$blobpat*" arch/sparc/lib/divdi3.S + accept '\(0x[0F][0F],\)\+\\[\n]\(\(0x[0F][0F],\)\+\\[\n]\)*\(0x[0F][0F],\)\+0x00' arch/m68k/mac/mac_penguin.S + accept '\.lowcase:[\n][ ]\.byte[ ]0x00\(,0x0[1-7]\)\+'"$sepx$blobpat*"'$' arch/s390/kernel/head.S + accept '_zb_findmap:[\n][ ][ ][ ][ ][ ][ ][ ][ ][ ]\.byte[ ][ ]0\(,[123],0\)\+,4'"$sepx$blobpat*"'$' arch/s390/kernel/bitmap.S + accept '_sb_findmap:[\n][ ][ ][ ][ ][ ][ ][ ][ ][ ]\.byte[ ][ ]8\(,0,[123]\)\+,0'"$sepx$blobpat*"'$' arch/s390/kernel/bitmap.S + accept '[ ]\.section[ ]__ex_table,["]a["]'"$sepx$blobpat*" arch/powerpc/lib/copyuser_64.S + accept '[ ]memcpy[(]src,[ ]["]\\x01\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00["].*PROGxxxx' arch/powerpc/platforms/iseries/mf.c + initnc 'static[ ]const[ ]unsigned[ ]int[ ]cpu_745x\[2\]\[16\][ ]=' arch/ppc/platforms/ev64260.c + initnc 'const[ ]unsigned[ ]char[ ]__flsm1_tab\[256\][ ]=' arch/alpha/lib/fls.c + accept '#define[ ]_MAP_0_32_ASCII_SEG7_NON_PRINTABLE[ ]\\[\n][ ]\(0,\)\+$' 'drivers/input/misc/map_to_7segment\.h\|include/linux/map_to_7segment\.h' + initc '[ ]static[ ]int[ ][ ][ ][ ][ ][ ]init_values_b\[\][ ]=' sound/oss/ad1848.c + initnc 'static[ ]unsigned[ ]char[ ]atkbd_set2_keycode\[512\][ ]=' drivers/input/keyboard/atkbd.c + accept 'desc_config1:[\n][ ]\.byte[ ]0x09,[ ]0x02'"$sepx$blobpat*" 'drivers/usb/serial/\(keyspan_pda\|xircom_pgs\).S' + accept 'string_mfg:[\n]\?\([;]\?[ ]\.byte[^\n]*[\n]\)\+string_mfg_end:' 'drivers/usb/serial/\(keyspan_pda\|xircom_pgs\).S' + accept 'string_product:[\n]\?\([;]\?[ ]\.byte[^\n]*[\n]\)\+string_product_end:' 'drivers/usb/serial/\(keyspan_pda\|xircom_pgs\).S' + accept '[ ][ ][ ][/][*][ ]\(SQCIF\|QSIF\|QCIF\|SIF\|CIF\|VGA\)[ ][*][/][\n][ ][ ][ ][{][\n][ ][ ][ ][ ][ ][ ][{]'"$blobpat*" drivers/media/video/pwc/pwc-nala.h + accept 'P[13]\([\n]#[^\n]*\)*[\n]*\([\n][0-9 ]*\)\+' drivers/video/logo/*.ppm + accept 'for[ ]i[ ]in[ ][ 0-9\\\n]*[\n]do' 'Documentation/specialix\.txt|Documentation/serial/specialix\.txt' + accept '[ ][ ][ ][ ][ ][ ][ ][ ][ ]:[ ][ ][ ]3600000[ ][ ][ ]3400000[ ][ ][ ]3200000[ ][ ][ ]3000000[ ][ ][ ]2800000[ ]' Documentation/cpu-freq/cpufreq-stats.txt + accept '00[ ]00[\n]64[ ]01[\n]8e[ ]0b[\n][\n][0-9a-f \n]*fe[ ]fe' 'Documentation/scsi/\(sym\|ncr\)53c8xx_2.txt' + accept '0f[ ]00[ ]08[ ]08[ ]64[ ]00[ ]0a[ ]00[ ]-[ ]id[ ]0[\n]'"$blobpat*" 'Documentation/scsi/\(sym\|ncr\)53c8xx_2.txt' + accept 'default[ ]nvram[ ]data:'"$sepx$blobpat*" 'Documentation/scsi/\(sym\|ncr\)53c8xx_2.txt' + accept '0x0458[ ][ ][ ][ ][ ]0x7025[\n]'"$blobpat*" Documentation/video4linux/sn9c102.txt + accept '0x102c[ ][ ][ ][ ][ ]0x6151[\n]'"$blobpat*" Documentation/video4linux/et61x251.txt + accept '0x041e[ ][ ][ ][ ][ ]0x4017[\n]'"$blobpat*" Documentation/video4linux/zc0301.txt + accept '[ ][ ][(]gdb[)][ ]x[/]100x[ ][$]25[\n][ ][ ]0x507d2434:[ ][ ][ ][ ][ ]0x507d2434[ ][ ][ ][ ][ ][ ]0x00000000[ ][ ][ ][ ][ ][ ]0x08048000[ ][ ][ ][ ][ ][ ]0x080a4f8c'"$sepx$blobpat*" Documentation/uml/UserModeLinux-HOWTO.txt + accept '[ ][ ][ ][ ][ ][ ]1[ ][ ]0[ ][ ]0[ ][ ]0[ ][ ]0x308'"$sepx$blobpat*" Documentation/isdn/README.inc + accept 'domain[ ][ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]10[ ]11[ ]12[ ]13[ ]14[ ]15[ ]16[ ]17[ ]18[ ]19[ ]20[ ]21[ ]22[ ]23[ ]24[ ]25[ ]26[ ]27[ ]28[ ]29[ ]30[ ]31[ ]32[ ]33[ ]34[ ]35[ ]36$' Documentation/sched-stats.txt + accept '[ * ]*0[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]1[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]2[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]3[\n][ * ]*0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1' 'net/\(netfilter\|ipv4\)/ipvs/ip_vs_sync.c|net/sctp/sm_make_chunk.c|include/linux/scpt.h' + accept '[ ][*][ ][ ]1[ ]1[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]1[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0' arch/x86/lguest/boot.c + ocomment '[ ][/][*][ ]Configure[ ]the[ ]PCI[ ]bus[ ]bursts[ ]and[ ]FIFO[ ]thresholds.' drivers/net/fealnx.c + ocomment '[/][*][ ]the[ ]original[ ]LUT[ ]values[ ]from[ ]Alex[ ]van[ ]Kaam[ ]' drivers/hwmon/via686a.c + initc 'static[ ]const[ ]unsigned[ ]char[ ]init\[\][ ]=[ ][{][^;]*MODE=0[ ][;].*SAA_7114_NTSC_HSYNC_START' drivers/media/video/saa7114.c + + defsnc 'static[ ]struct[ ]cipher_testvec[ ]\(aes\|anubis\|bf\|camellia\|cts_mode\|des3_ede\|cast6\|salsa20_stream\|serpent\|tf\|tnepres\|xeta\|x\?tea\)\(_\(cbc\|ctr\(_rfc3686\)\?\|xts\)\)\?_\(enc\|dec\)_tv_template\[\][ ]=' 'crypto/\(tcrypt\|testmgr\).h' + defsnc 'static[ ]struct[ ]comp_testvec[ ]\(deflate\|lzo\)_\(de\)\?comp_tv_template\[\][ ]=' 'crypto/\(tcrypt\|testmgr\).h' + defsnc 'static[ ]struct[ ]hash_testvec[ ]\(aes_xcbc128\|crc32c\|hmac_sha2\(24\|56\)\|\(sha\|wp\)\(256\|384\|512\)\)_tv_template\[\][ ]=' 'crypto/\(tcrypt\|testmgr\).h' + # initnc '[ ]*\.\(digest\|entries\|input\|key\|output\|plaintext\|result\)[ \n ]*=[ ][{"]' 'crypto/\(tcrypt\|testmgr\).h' + + defsnc 'static[ ]\(const[ ]\)\?RegInitializer[ ]initData\[\][ ]__initdata[ ]=' 'drivers/ide/ali14xx\.c\|drivers/ide/legacy/ali14xx\.c' + defsnc 'static[ ]const[ ]u8[ ]setup\[\][ ]=' 'drivers/ide/delkin_cb\.c\|drivers/ide/pci/delkin_cb\.c' + defsnc 'static[ ]u8[ ]cvs_time_value\[\]\[XFER_UDMA_6[ ]-[ ]XFER_UDMA_0[ ][+][ ]1\][ ]=' 'drivers/ide/sis5513\.c\|drivers/ide/pci/sis5513\.c' + defsnc 'static[ ]u8[ ]\(act\|ini\|rco\)_time_value\[\]\[8\][ ]=' 'drivers/ide/sis5513\.c\|drivers/ide/pci/sis5513\.c' + defsnc 'static[ ]const[ ]u8[ ]speedtab[ ]\[3\]\[12\][ ]=' 'drivers/ide/umc8672\.c\|drivers/ide/legacy/umc8672\.c' + defsnc 'static[ ]const[ ]s8[ ]\(b43\(legacy\)\?\|bcm43xx\)_tssi2dbm_[bg]_table\[\][ ]=' net/wireless/b43/phy.c + defsnc 'static[ ]const[ ]char[ ]zr360[56]0_dht\[0x1a4\][ ]=' 'drivers/media/video/zr36060\.c\|drivers/media/video/zoran/zr36060\.c' + defsnc 'static[ ]const[ ]char[ ]zr360[56]0_dqt\[0x86\][ ]=' 'drivers/media/video/zr36060\.c\|drivers/media/video/zoran/zr36060\.c' + defsnc 'static[ ]u8[ ]tas3004_treble_table\[\][ ]=' sound/aoa/codecs/tas-basstreble.h + + # This file contains firmwares that we deblob with high + # sensitivity, so make sure the sequences of numbers that are not + # blobs are not deblobbed. FIXME: we should have patterns to + # recognize the blobs instead. + defsnc '[ ]static[ ]const[ ]u32[ ]test_pat\[4\]\[6\][ ]=' drivers/net/tg3.c + accept "[ ][}]\\(,\\?[ ]mem_tbl_5\\(70x\\|705\\|755\\|906\\)\\[\\][ ]=[ ][{]$sepx$blobpat*$sepx[}]\\)*[;]" drivers/net/tg3.c + + # end of generic checked expressions. + # version-specific checked bits start here + + # removed in 2.6.28 + defsnc 'static[ ]unsigned[ ]char[ ]irq_xlate\[32\][ ]=' arch/sparc/kernel/sun4m_irq.c + defsnc 'static[ ]int[ ]logitech_expanded_keymap\[LOGITECH_EXPANDED_KEYMAP_SIZE\][ ]=' drivers/hid/hid-input.c + defsnc '[ ]static[ ]const[ ]\(__\)\?u8[ ]\(read_indexs\|n\(set\)\?[0-9]*\(_other\)\?\|missing\)\[[0-9x]*\][ ]=' drivers/media/video/gspca/t613.c + defsnc 'static[ ]const[ ]u_char[ ]nand_ecc_precalc_table\[\][ ]=' drivers/mtd/nand/nand_ecc.c + oprepline '#define[ ]AR5K_RATES_\(11[ABG]\|TURBO\|XR\)[ ]' drivers/net/wireless/ath5k/ath5k.h + defsnc 'static[ ]const[ ]struct[ ]ath_hal[ ]ar5416hal[ ]=' drivers/net/wireless/ath9k/hw.c + defsnc 'const[ ]unsigned[ ]char[ ]INIT_2\[127\][ ]=' drivers/video/omap/lcd_sx1.c + + # removed in 2.6.24 + accept "[ ]Psize[ ][ ][ ][ ]Ipps[ ][ ][ ][ ][ ][ ][ ]Tput[ ][ ][ ][ ][ ]Rxint[ ][ ][ ][ ][ ]Txint[ ][ ][ ][ ]Done[ ][ ][ ][ ][ ]Ndone[\\n][ ]---------------------------------------------------------------\\([\\n][ 0-9]\\+\\)\\+"'$' + initnc 'static[ ]u_short[ ]ataplain_map\[NR_KEYS\][ ]__initdata[ ]=' + initnc '[ ]static[ ]const[ ]unsigned[ ]char[ ]invert5\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]alpa2target\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]target2alpa\[\][ ]=' + oprepline '#define[ ]INIT_THREAD[ ][{0},]\+[ ]*\\[\n][ ]*[{0},]\+' + initnc 'static[ ]uint[ ]tas300\(1c\|4\)_\(master\|mixer\|treble\|bass\)_tab\[\]=' + initnc 'static[ ]short[ ]dmasound_[au]law2dma16\[\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]short[ ]DACVolTable\[101\][ ]=' + + # removed in 2.6.23 + initnc 'static[ ]const[ ]UQItype[ ]__clz_tab\[\][ ]=' arch/arm26/lib/udivdi3.c + initnc '[ ]static[ ]unsigned[ ]char[ ]scale\[101\][ ]=' sound/oss/opl3sa2.c + initnc '[}][ ]syncs\[\][ ]=' drivers/scsi/53c7xx.c + initnc 'genoa_md:'"$sepx$blobpat*"'[\n][ ]\.ascii[ ]["]Genoa["]' arch/i386/boot/video.S + + # removed in 2.6.22 + initnc 'Vendor[ ]ID[ ][ ]Product[ ]ID[\n]-\+[ ][ ]-\+[\n]'"$blobpat*" Documentation/video4linux/sn9c102.txt + defsnc 'static[ ]short[ ][au]law2dma16\[\]' arch/ppc/8xx_io/cs4218_tdm.c + defsnc '[ ]static[ ]const[ ]char[ ]minimal_ascii_table\[\]' drivers/ieee1394/csr1212.c + defsnc 'static[ ]u16[ ]key_map[ ]\[256\][ ]=' drivers/media/dvb/ttpci/av7110_ir.c + defsnc 'static[ ]unsigned[ ]char[ ]gf64_inv\[64\][ ]=' drivers/mtd/nand/cafe_ecc.c + defsnc 'static[ ]unsigned[ ]short[ ]err_pos_lut\[4096\][ ]=' drivers/mtd/nand/cafe_ecc.c + defsnc 'static[ ]unsigned[ ]char[ ]testdata\[TESTDATA_LEN\][ ]=' fs/jffs2/comprtest.c + + # added in 2.6.25 + accept "%canned_values[ ]=[ ][(][\\n][ ]\\([0-9]\\+[ ]=>[ ]\\[[ \\n]\\+\\(\\([0-9]\\+\\|\\'0x[0-9a-f]\\+\\'\\),[ \\n]*\\)*\\]\\(,[ ]\\|[\\n]\\)\\)*[)][;]" + + # from 2.6.25-rc* patches + initnc '[ ]int[ ]bcomm_irq\[3[*]16\][ ]=' + initnc '[ ]static[ ]const[ ]int8[ ]countLeadingZerosHigh\[\][ ]=' + initnc 'static[ ]struct[ ]nic_qp_map[ ]nic_qp_mapping_[01]\[\][ ]=' + initnc 'static[ ]struct[ ]regval[ ]ov_initvals\[\][ ]=' drivers/media/usb/stkwebcam/stk-sensor.c + initnc 'static[ ]struct[ ]regval[ ]stk1125_initvals\[\][ ]=' drivers/media/usb/stkwebcam/stk-webcam.c + initnc 'static[ ]u8[ ]bnx2x_stats_len_arr\[BNX2X_NUM_STATS\][ ]=' + defsnc 'static[ ]const[ ]struct[ ]arb_line[ ]read_arb_data\[NUM_RD_Q\]\[MAX_RD_ORD[ ][+][ ]1\][ ]=' drivers/net/bnx2x/bnx2x_init_opts.h + defsnc 'static[ ]const[ ]struct[ ]arb_line[ ]write_arb_data\[NUM_WR_Q\]\[MAX_WR_ORD[ ][+][ ]1\][ ]=' drivers/net/bnx2x/bnx2x_init_opts.h + initnc '[ ][ ][}][ ]blinkrates\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]ath5k_ini[ ]ar5212_ini\[\][ ]=' + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_mode[ ]rf5413_ini_mode_end\[\][ ]=' drivers/net/wireless/ath/ath5k/initvals.c + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5111\[\][ ]=' drivers/net/wireless/ath/ath5k/rfbuffer.h + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5112\[\][ ]=' drivers/net/wireless/ath/ath5k/rfbuffer.h + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5112a\[\][ ]=' drivers/net/wireless/ath/ath5k/rfbuffer.h + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5413\[\][ ]=' drivers/net/wireless/ath/ath5k/rfbuffer.h + + # new in 2.6.26 + initnc 'static[ ]u64[ ]vec2off\[68\][ ]=' arch/ia64/kvm/process.c + accept "[ ][ ][ ]interrupts[ ]=[ ]<\\(0x\\)\\?3[ ]\\(0x\\)\\?0[ ]\\(0x\\)\\?0[ ][ ]$blobpat*>[;]" 'arch/powerpc/boot/dts/\(cm5200\|lite5200b\?\|kuroboxHG\|pcm030\|tqm5200\).dts' + initnc 'static[ ]const[ ]u32[ ]crctab32\[\][ ]=' arch/x86/boot/tools/build.c + defsnc 'static[ ]struct[ ]mse2snr_tab[ ]\(vsb\|qam\(64\|256\)\)_mse2snr_tab\[\][ ]=' drivers/media/dvb/frontends/au8522.c + defsnc '[}][ ]\(VSB\|QAM\(64\|256\)\?\)_mod_tab\[\][ ]=' 'drivers/media/dvb/frontends/au8522\(_dig\)\?\.c' + initnc '[}][ ]itd1000_\(lpf_pga\|fre_values\)\[\][ ]=' drivers/media/dvb/frontends/itd1000.c + initnc '[}][ ]\(vsb\|qam\(64\|256\)\)_snr_tab\[\][ ]=' drivers/media/dvb/frontends/s5h1411.c + initnc '[}][ ]snr_tab\[\][ ]=' drivers/media/dvb/frontends/tda10048.c + initnc 'static[ ]u32[ ]reg_init_initialize\[\][ ]=' drivers/media/video/saa717x.c + initnc 'static[ ]const[ ]u32[ ]\(main\|gear\)_seedset\[BACKOFF_SEEDSET_ROWS\]\[BACKOFF_SEEDSET_LFSRS\][ ]=' drivers/net/forcedeth.c + initnc 'static[ ]const[ ]struct[ ]ath5k_ini_mode[ ]rf24\(13\|25\)_ini_mode_end\[\][ ]=' drivers/net/wireless/ath5k/initvals.c + initnc 'static[ ]const[ ]u16[ ]wm9713_reg\[\][ ]=' sound/soc/codecs/wm9713.c + + # new in 2.6.27 + accept '[ ]\.section[ ]__ex_table,["]a["]'"$sepx$blobpat*" 'arch/x86/lib/copy_user_\(nocache_\)\?64.S' + accept 'desc_config1:[\n][ ]\.byte[ ]0x09,[ ]0x02'"$sepx$blobpat*" 'firmware/keyspan_pda/\(keyspan_pda\|xircom_pgs\).S' + accept 'string_mfg:[\n]\?\([;]\?[ ]\.byte[^\n]*[\n]\)\+string_mfg_end:' 'firmware/keyspan_pda/\(keyspan_pda\|xircom_pgs\).S' + accept 'string_product:[\n]\?\([;]\?[ ]\.byte[^\n]*[\n]\)\+string_product_end:' 'firmware/keyspan_pda/\(keyspan_pda\|xircom_pgs\).S' + accept ':03000000020200F9[\n]:040023000205\(9B0037\|5F0073\)[\n]\(:050030000000000000CB[\n]\|:0400430002010000B6[\n]\)*'"$sepx$blobpat*"'[\n]:\(0E06E0006400670065007400060334003700F4\|0606A000060334003700E0\)[\n]:00000001FF' 'firmware/keyspan_pda/\(keyspan_pda\|xircom_pgs\).HEX' + accept ':100000000C004000000000000000000000000000A4[\n]'"$sepx$blobpat*"'[\n][/][*][ ]DSP56001[ ]bootstrap[ ]code[ ][*][/]' firmware/dsp56k/bootstrap.bin.ihex + initnc 'static[ ]const[ ]u16[ ]uda1380_reg\[UDA1380_CACHEREGNUM\][ ]=' sound/soc/codecs/uda1380.c + defsnc 'static[ ]const[ ]u16[ ]wm8510_reg\[WM8510_CACHEREGNUM\][ ]=' sound/soc/codecs/wm8510.c + initnc 'static[ ]const[ ]unsigned[ ]short[ ]atkbd_unxlate_table\[128\][ ]=' drivers/input/keyboard/atkbd.c + initnc 'static[ ]const[ ]unsigned[ ]char[ ]usb_kbd_keycode\[256\][ ]=' drivers/hid/usbhid/usbkbd.c + initnc '[ ][ ]u8[ ]buf,[ ]bufs\[\][ ]=' drivers/media/dvb/dvb-usb/cxusb.c + initnc 'static[ ]struct[ ]dvb_pll_desc[ ][^\n]*[ ]=' drivers/media/dvb/frontends/dvb-pll.c + initnc '[ ]static[ ]int[ ]sysdiv_to_div_x_2\[\][ ]=' arch/powerpc/platforms/512x/clock.c + defsnc 'static[ ]const[ ]__u8[ ]cx_inits_\(176\|320\|352\|640\)\[\][ ]=' drivers/media/video/gspca/conex.c + defsnc 'static[ ]const[ ]__u8[ ]cx_jpeg_init\[\]\[8\][ ]=' drivers/media/video/gspca/conex.c + defsnc 'static[ ]const[ ]__u8[ ]cxjpeg_\(640\|352\|320\|176\|qtable\)\[\]\[8\][ ]=' drivers/media/video/gspca/conex.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]quant\[\]\[0x88\][ ]=' drivers/media/video/gspca/jpeg.h + defsnc 'static[ ]unsigned[ ]char[ ]huffman\[\][ ]=' drivers/media/video/gspca/jpeg.h + initc '[ ]\?static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]norm_76[1247]0\[\][ ]=' drivers/media/video/gspca/ov519.c + initnc 'static[ ]const[ ]__u8[ ]pac207_sensor_init\[\]\[8\][ ]=' drivers/media/video/gspca/pac207.c + initnc 'static[ ]const[ ]__u8[ ]pac7311_jpeg_header\[\][ ]=' drivers/media/video/gspca/pac7311.c + defsnc 'static[ ]const[ ]__u8[ ]\(start\|page[34]\)_73\(02\|11\)\[\][ ]=' 'drivers/media/video/gspca/pac73\(02\|11\)\.c' + initnc 'static[ ]const[ ]__u8[ ]init\(Hv7131\|Ov\(6650\|7630\(_3\)\?\)\|Pas\(106\|202\)\|Tas51[13]0\)\[\][ ]=' drivers/media/video/gspca/sonixb.c + initnc 'static[ ]const[ ]__u8[ ]\(hv7131\|ov\(6650\|7630\(_3\)\?\)\|pas\(106\|202\)\|tas51[13]0\)_sensor_init\(_com\)\?\[\]\[8\][ ]=' drivers/media/video/gspca/sonixb.c + defsnc 'static[ ]\(const[ ]\)\?\(__\)\?u8[ ]\(mt9v111\|sp80708\|hv7131[rd]\|mi0360b\?\|mo4000\|ov76\([36]0\|48\)\|om6802\|po1030\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c + initnc 'static[ ]const[ ]__u8[ ]qtable4\[\][ ]=' drivers/media/video/gspca/sonixj.c + initnc 'static[ ]const[ ]__u16[ ]\(spca500_visual\|Clicksmart510\)_defaults\[\]\[3\][ ]=' drivers/media/video/gspca/spca500.c + initnc 'static[ ]const[ ]__u8[ ]qtable_\(creative_pccam\|kodak_ez200\|pocketdv\)\[2\]\[64\][ ]=' drivers/media/video/gspca/spca500.c + initnc 'static[ ]const[ ]__u16[ ]spca501c\?_\(\(3com\|arowana\|mysterious\)_\)\?\(init\|open\)_data\[\]\[3\][ ]=' drivers/media/video/gspca/spca501.c + defsnc 'static[ ]const[ ]\(__u16\|u8\)[ ]spca505b\?_\(init\|open\)_data\(_ccd\)\?\[\]\[3\][ ]=' drivers/media/video/gspca/spca505.c + defsnc 'static[ ]const[ ]\(__\)\?u16[ ]spca508\(cs110\|_sightcam2\?\|_vista\)\?_init_data\[\]\[[23]\][ ]=' drivers/media/video/gspca/spca508.c + initnc 'static[ ]const[ ]__u16[ ]\(spca561\|rev72a\)_init_data3\?\[\]\[2\][ ]=' drivers/media/video/gspca/spca561.c + defsnc 'static[ ]const[ ]\(__u16\|struct[ ]cmd\)[ ]spca504\(_pccam600\|A_clicksmart420\)_\(init\|open\)_data\[\]\(\[3\]\)\?[ ]=' drivers/media/video/gspca/sunplus.c + defsnc 'static[ ]const[ ]\(__\)\?u8[ ]qtable_\(creative_pccam\|spca504_default\)\[2\]\[64\][ ]=' drivers/media/video/gspca/sunplus.c + initnc 'static[ ]const[ ]__u8[ ]\(effects\|gamma\)_table\[\(MAX_[A-Z]*\|[A-Z]*_MAX\)\]\[[0-9]*\][ ]=' drivers/media/video/gspca/t631.c + initnc 'static[ ]const[ ]\(__\)\?u8[ ]tas5130a_sensor_init\[\]\[8\][ ]=' drivers/media/video/gspca/t613.c + defsnc 'static[ ]const[ ]struct[ ]usb_action[ ]\(cs2102\|hdcs2020xx\|icm105a\(xx\)\?\|ov7630c\|mt9v111_[13]\|pb0330\([3x]x\)\?\|mi0360soc\)_Initial\(Scale\)\?\[\][ ]=' drivers/media/video/gspca/zc3xx.c + initnc 'static[ ]const[ ]u8[ ]rtl8225z2_\(agc\|ofdm\|power_cck\(_ch14\)\?\)\[\][ ]=' drivers/net/wireless/rtl8187_rtl8225.c + initnc 'static[ ]const[ ]__u16[ ]t10_dif_crc_table\[256\][ ]=' lib/crc-t10dif.c + initnc 'static[ ]crb_128M_2M_block_map_t[ ]crb_128M_2M_map\[64\][ ]=' drivers/net/netxen/netxen_hw.c + initnc 'static[ ]const[ ]__u16[ ]crc10_table\[256\][ ]=' drivers/usb/serial/safe_serial.c + accept '[ ]*\([ ]*0\)*\([ ]*1\)*[\n][ ]*0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]*2[ ]3[ ]4[ ]5[ ]6[ ]7' Documentation/bt8xxgpio.txt + defsnc '[ ]static[ ]int[ ]exp_lut\[256\][ ]=' drivers/isdn/mISDN/dsp_audio.c + initnc 'static[ ]const[ ]u32[ ]bf_pbox\[16[ ][+][ ]2\][ ]=' drivers/isdn/mISDN/dsp_blowfish.c + initnc 'static[ ]const[ ]u32[ ]bf_sbox\[256[ ][*][ ]4\][ ]=' drivers/isdn/mISDN/dsp_blowfish.c + initnc 'static[ ]u8[ ]sample_\(german_\(all\|old\)\|american_\(dialtone\|ringing\|busy\)\|special[123]\|silence\)\[\][ ]=' drivers/isdn/mISDN/dsp_tones.c + initnc 'struct[ ]pattern[ ][{][^}]*int[ ]tone[;][^}]*[}][ ]pattern\[\][ ]=' drivers/isdn/mISDN/dsp_tones.c + initnc 'static[ ]u8[ ]\([au]\|_4\)law_to_\([ua]law\|4bit\)\[256\][ ]=' drivers/isdn/mISDN/l1oip_codec.c + initnc 'static[ ]unsigned[ ]char[ ]banner_table\[\][ ]=' arch/sh/boards/mach-microdev/led.c + defsnc '[ ]static[ ]const[ ]int[ ]desc_idx_table\[\][ ]=' arch/arm/include/asm/hardware/iop3xx-adma.h + defsnc 'static[ ]\(const[ ]\)\?u32[ ]ar\(5416\|9280\)\(Modes\(_fast_clock\)\?\|Common\|BB_RfGain\|Bank6\(TPC\)\?\|Addac\)\(_91[06]0\(_\?1_1\)\?\|_9280\(_2\)\?\)\?\[\]\[[236]\][ ]=' 'drivers/net/wireless/ath9k/\(ar\(5008\|9001\)_\)\?initvals\.h' + + # new in 2.6.28 + accept '\(static[ ]\)\?const[ ]char[ ]\(inv\)\?parity\[256\][ ]=[ ][{][ \n01,]*[}][;]' 'Documentation/mtd/nand_ecc\.txt\|drivers/mtd/nand/nand_ecc\.c' + defsnc 'static[ ]const[ ]char[ ]\(bitsperbyte\|addressbits\)\[256\][ ]=' drivers/mtd/nand/nand_ecc.c + defsnc 'static[ ]struct[ ]pinmux_cfg_reg[ ]pinmux_config_regs\[\][ ]=' 'arch/sh/kernel/cpu/sh2a/pinmux-sh7203\.c\|arch/arm/mach-shmobile/pfc-sh73[67]7\.c' + defsnc '[ ]static[ ]const[ ]u8[ ]e_keymap\[\][ ]=' drivers/hid/hid-lg.c + defsnc 'DEFINE_DEFAULT_PDR[(]0x0161,[ ]256,' drivers/net/wireless/hermes_dld.c + defsnc 'static[ ]const[ ]int[ ]isink_cur\[\][ ]=' drivers/regulator/wm8350-regulator.c + defsnc 'static[ ]const[ ]s16[ ]\(converge_speed_ipb\?\|LAMBDA_table\[4\]\)\[101\][ ]=' drivers/staging/go7007/go7007-fw.c + defsnc 'static[ ]const[ ]u32[ ]addrinctab\[33\]\[2\][ ]=' drivers/staging/go7007/go7007-fw.c + defsnc 'static[ ]const[ ]u8[ ]\(default_intra_quant_table\|\(val\|bits\)_[ad]c_\(lu\|chro\)minance\)\[\][ ]=' drivers/staging/go7007/go7007-fw.c + defsnc 'static[ ]const[ ]int[ ]zz\[64\][ ]=' drivers/staging/go7007/go7007-fw.c + defsnc '[ ]u16[ ]pack\[\][ ]=' drivers/staging/go7007/go7007-fw.c + defsnc 'static[ ]u8[ ]\(initial\|channel\)_registers\[\][ ]=' 'drivers/staging/go7007/wis-\(ov7640\|saa7113\|tw2804\).c' + defsnc 'u16[ ]MTO_One_Exchange_Time_Tbl_[ls]\[MTO_MAX_FRAG_TH_LEVELS\]\[MTO_MAX_DATA_RATE_LEVELS\][ ]=' drivers/staging/winbond/mto.c + defsnc 'u32[ ]\(al2230_txvga_data\|w89rf242_txvga_old_mapping\)\[\]\[2\][ ]=' drivers/staging/winbond/reg.c + defsnc 'static[ ]const[ ]UINT16[ ]crc16tab\[256\][ ]=' drivers/staging/wlan-ng/hfa384x.c + defsnc 'static[ ]const[ ]\(UINT32\|u32\)[ ]wep_crc32_table\[256\][ ]=' drivers/staging/wlan-ng/p80211wep.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]wm_vol\[256\][ ]=' 'sound/pci/ice1712/\(phase\|aureon\)\.c' + defsnc 'static[ ]const[ ]u16[ ]wm8900_reg_defaults\[WM8900_MAXREG\][ ]=' sound/soc/wm8900.c + defsnc '[}][ ]\(clk_sys_ratios\|bclk_divs\)\[\][ ]=' 'sound/soc/wm890[34]\.c' + defsnc 'static[ ]u8[ ]af9015_ir_table_\(leadtek\|twinhan\|a_link\|msi\|mygictv\|kworld\)\[\][ ]=' drivers/media/dvb/dvb-usb/af9015.h + defsnc 'static[ ]\(const[ ]\)\?struct[ ]\(snr_table\|af9013_snr\)[ ]\(qpsk\|qam\(16\|64\)\)_snr_\(table\|lut\)\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h + defsnc 'static[ ]\(const[ ]\)\?struct[ ]\(regdesc\|af9013_reg_bit\)[ ]\(ofsm_init\|tuner_init_\(env77h11d5\|mt2060\(_2\)\?\|mxl500\(3d\|5\)\|qt1010\|mc44s803\|unknown\|tda18271\)\)\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h + defsnc 'static[ ]u8[ ]stv0288_earda_inittab\[\][ ]=' drivers/media/dvb/frontends/eds1547.h + defsnc 'static[ ]u8[ ]serit_sp1511lhb_inittab\[\][ ]=' drivers/media/dvb/frontends/si21xx.c + defsnc 'static[ ]u8[ ]stv0288_inittab\[\][ ]=' drivers/media/dvb/frontends/stv0288.c + defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_b\[\][ ]=' drivers/net/wireless/rt2x00/rt2400pci.c + + # request_firmware matches for 2.6.28 + accept 'D:[ ]Firmware[ ]loader[ ][(]request_firmware[)]' CREDITS + accept 'FIRMWARE[ ]LOADER[ ][(]request_firmware[)]' MAINTAINERS + accept '[ ]-[ ]request_firmware[(][)][ ]hotplug[ ]interface[ ]info.' Documentation/00-INDEX + accept 'This[ ]driver[ ]requires[ ]a[ ]patch[ ]for[ ]firmware_class[^\n]*[\n]request_firmware_nowait[ ]function\.' Documentation/dell_rbu.txt + accept '\([ ]request_firmware[(][)][ ]hotplug[ ]interface:[\n][ ]--*[\n].*[ ]\)\?-[ ]request_firmware_nowait[(][)][ ]is[ ]also[ ]provided[ ]for[ ]convenience' Documentation/firmware_class/README + accept 'Still,[ ]there[ ]are[ ]kernel[ ]threads[ ]that[ ]may[ ]want.*For[ ]example,[ ]if[ ]request_.*_firmware[(][)][ ]will[ ]fail[ ]regardless' Documentation/power/freezing-of-tasks.txt + accept 'Also,[ ]there[ ]may[ ]be[ ]some[ ]operations,.*calling[ ]request_firmware[(][)][ ]from[ ]their[ ].resume[(][)][ ]routines' Documentation/power/notifiers.txt + accept 'There[ ]is[ ]an[ ]USB[ ]interface[ ]for[ ]downloading[/]uploading.*request_firmware[ ]interface\.' Documentation/video4linux/si470x.txt + accept '[ ]-[ ]move[ ]firmware[ ]loading[ ]to[ ]request_firmware[(][)]' drivers/staging/slicoss/README + accept 'config[ ]FIRMWARE_IN_KERNEL.*let[ ]firmware[ ]be[ ]loaded[ ]from[ ]userspace\.' drivers/base/Kconfig + accept '[ ]*and[ ]request_firmware[(][)][ ]in[ ]the[ ]source' drivers/base/Kconfig + accept '\(static[ ]\(int\|void\)[\n ]\)\?_request_firmware\(_prepare\|_cleanup\)\?[(]const[ ]struct[ ]firmware[ ][*][*]\?firmware\(_p\)\?[,)][^{]*[\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}][\n]' drivers/base/firmware_class.c + accept 'static[ ]int[\n ]request_firmware_work_func[(]void[ ][*]arg[)][\n][{]\([\n]\+[^\n}][^\n]*\)*ret[ ]=[ ]_request_firmware[(][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}][\n]' drivers/base/firmware_class.c + accept '[/][*][*][\n][ ][*][ ]request_firmware:[ ]-[ ]send[ ]firmware[ ][^{]*[\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}][\n]' drivers/base/firmware_class.c + accept '[/][*][*][\n][ ][*][ ]request_firmware_nowait\(:\|[ ]-\)[ ]asynchronous[ ]version[^{]*[\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}][\n]' drivers/base/firmware_class.c + accept 'EXPORT_SYMBOL[(]request_firmware\(_nowait\)\?[)][;]' drivers/base/firmware_class.c + accept 'int[ ]request_firmware\(_nowait\)\?[(][^;]*[)][;]' include/linux/firmware.h + accept 'static[ ]inline[ ]int[ ]request_firmware\(_nowait\)\?[(][^{]*[)][\n][{][\n][ ]return[ ]-EINVAL[;][\n][}]' include/linux/firmware.h + accept 'static[ ]inline[ ]int[\n]\(maybe_\)\?reject_firmware\(_nowait\)\?[(][^{;]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' include/linux/firmware.h + + accept 'static[ ]inline[ ]int[ ]request_ihex_firmware\?[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}][\n]' include/linux/ihex.h + ocomment '[/][*][ ]Optional[ ]firmware\([^\n]*[\n][ ][*]\)*[^\n]*[ ]MODULE_FIRMWARE[(][)]' + oprepline '#define[ ]MODULE_FIRMWARE[(]_firmware[)]' include/linux/module.h + accept '[ ][*][ ]Sample[ ]code[ ]on[ ]how[ ]to[ ]use[ ]request_firmware[(][)][ ]from[ ]drivers\.' samples/firmware_class/firmware_sample_driver.c + accept '[ ]\(retval\|error\)[ ]=[ ]request_firmware\(_nowait\)\?[(][^;]*["]sample_driver_fw["],[^;]*[)][;]' samples/firmware_class/firmware_sample_driver.c + ocomment '[ ][/][*][ ]request_firmware[ ]blocks[ ]until[ ]userspace[ ]finished' samples/firmware_class/firmware_sample_driver.c + accept '[ ][ ][ ]*["][ ]request_firmware_nowait[ ]failed' samples/firmware_class/firmware_sample_driver.c + + # We used to remove these in early versions of Linux-libre. + # They're now believed to be mere initialization data, rather than + # code disguised as such, and they're not long enough so as to + # render the software non-Free. + defsnc 'static[ ]u8[ ]tda10021_inittab\[0x40\]=' drivers/media/dvb/frontends/tda10021.c + defsnc 'static[ ]u8[ ]tda8083_init_tab[ ]\[\][ ]=' drivers/media/dvb/frontends/tda8083.c + defsnc 'static[ ]u8[ ]ves1820_inittab\[\][ ]=' drivers/media/dvb/frontends/ves1820.c + defsnc 'static[ ]u8[ ]init_1[89]93_w\?tab[ ]\?\[\][ ]=' drivers/media/dvb/frontends/ves1x93.c + defsnc 'static[ ]const[ ]u8[ ]saa7113_tab\[\][ ]=' drivers/media/dvb/ttpci/budget-av.c + defsnc 'static[ ]u8[ ]philips_sd1878_inittab\[\][ ]=' drivers/media/dvb/ttpci/budget-av.c + defsnc 'const[ ]struct[ ]Kiara_table_entry[ ]Kiara_table\[PSZ_MAX\]\[6\]\[4\][ ]=' drivers/media/video/pwc/pwc-kiara.c + defsnc 'const[ ]unsigned[ ]int[ ]KiaraRomTable[ ]\[8\]\[2\]\[16\]\[8\][ ]=' drivers/media/video/pwc/pwc-kiara.c + defsnc 'const[ ]struct[ ]Timon_table_entry[ ]Timon_table\[PSZ_MAX\]\[PWC_FPS_MAX_TIMON\]\[4\][ ]=' drivers/media/video/pwc/pwc-timon.c + defsnc 'const[ ]unsigned[ ]int[ ]TimonRomTable[ ]\[16\]\[2\]\[16\]\[8\][ ]=' drivers/media/video/pwc/pwc-timon.c + defsnc '[ ]static[ ]const[ ]struct[ ]struct_initData[ ]initData\[\][ ]=' drivers/media/video/usbvideo/ibmcam.c + defsnc 'static[ ]const[ ]u8[ ]rtl8187b_reg_table\[\]\[3\][ ]=' drivers/net/wireless/rtl8187_dev.c + defsnc 'unsigned[ ]char[ ]\(IDX_ACTIVATE_\(READ\|WRITE\)\|\(CM\|ULP\)_\(ENABLE\|SETUP\)\|DM_ACT\|IPA_PDU_HEADER\|\(READ\|WRITE\)_CCW\)\[\][ ]\?=' drivers/net/qeth_core_mpc.c + defsnc 'static[ ]unsigned[ ]char[ ]camera_ncm03j_magic\[\][ ]=' 'arch/sh/boards/\(board-ap325rxa\.c\|mach-ap325rxa/setup\.c\)' + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]\(sync\|magic[0-3]\)_data\[\][ ]=' arch/sh/boards/mach-migor/lcd_qvga.c + defsnc 'static[ ]unsigned[ ]char[ ]camera_ov772x_magic\[\][ ]=' arch/sh/boards/mach-migor/setup.c + defsnc 'static[ ]struct[ ]chips_init_reg[ ]chips_init_[sgacfx]r\[\][ ]=' 'drivers/video/\(asiliant\|chips\)fb.c' + + # This one is quite suspicious, but it's small enough (64 bytes + # total) that it's believable that it could be actual source code. + defsnc 'static[ ]const[ ]__u8[ ]cx11646_fw1\[\]\[3\][ ]=' drivers/media/video/gspca/conex.c + + # Hunting down non-Free firmware-loading code and instructions. + # Firmware names are to be caught anywhere. + + # 2.6.26 but not later + + blobname 'atmsar1[12]\.\(x\|start\|regions\|data\|bin[12]\?\)' 'drivers/atm/\(Makefile\|ambassador\.c\)' + blob '#\(define\|include\)[ ]UCODE2\?[(][^\n]*' drivers/atm/ambassador.c + blob 'static[ ]\(u32\|region\)[ ]__devinitdata[ ]ucode_\(start\|\(regions\|data\)\[\]\)[ ]=[^;]*[;]' drivers/atm/ambassador.c + blob '\(#\(ifdef[ ]AMB_NEW_MICROCODE\|else\|endif\)[\n]#\(define\|include\)[ ]UCODE2\?[(][^\n]*[\n]\)\+\([\n]*static[ ]\(u32\|region\)[ ]__devinitdata[ ]ucode_\(start\|\(regions\|data\)\[\]\)[ ]=[^;]*[;]\)*' drivers/atm/ambassador.c + + blobname '\(pca\|sba\)200e\(_ecd\)\?\.\(data\|bin[12]\?\)' 'drivers/atm/\(Makefile\|fore200e\(_mkfirm\)\?\.c\)' + blobna '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*PCA-200E[ ]firmware[ ][*][/]' drivers/atm/fore200e_mkfirm.c + blobna '_fore200e_\(pca\|sba\)_fw_\(data\|size\)' drivers/atm/fore200e.c + blob '#ifdef[ ]CONFIG_ATM_FORE200E_\(PCA\|SBA\)\([\n]extern[ ]const[ ]unsigned[ ]\(char\|int\)[ ]*_fore200e_\(pca\|sba\)_fw_\(data\[\]\|size\)[;]\)\+[\n]#endif\([\n]\+#ifdef[ ]CONFIG_ATM_FORE200E_\(PCA\|SBA\)\([\n]extern[ ]const[ ]unsigned[ ]\(char\|int\)[ ]*_fore200e_\(pca\|sba\)_fw_\(data\[\]\|size\)[;]\)\+[\n]#endif\)*' drivers/atm/fore200e.c + + # 2.6.27 but not later + + blob 'cas_saturn_patch_t[ ]cas_saturn_patch\[\][ ]=[ ][{][^;]*[}][;]' drivers/net/cassini.h + accept '[ ][ ][ ]firmware[ ]files[ ]--[ ]the[ ]same[ ]names[ ]which[ ]appear[ ]in[ ]MODULE_FIRMWARE[(][)]' drivers/base/Kconfig + + # 2.6.28 or earlier + + blobname 'atmsar11\.fw' drivers/atm/ambassador.c + + blob '\(#ifdef[ ]__\(LITTLE\|BIG\)_ENDIAN[\n]\)\?#define[ ]FW_EXT[ ]["]\(_ecd\)\?\.bin2\?["]\([\n]#else[\n]#define[ ]FW_EXT[ ]["]\(_ecd\)\?\.bin2\?["]\)*\([\n]#endif\)\?' drivers/atm/fore200e.c + blobna 'sprintf[(][^;]*fore200[^;]*FW_EXT[^;]*[)][;]' drivers/atm/fore200e.c + blobname '\(pc\|sb\)a200e\(_ecd\)\?\.bin[12]\?' drivers/atm/fore200e.c + blobna 'The[ ]supplied[ ]firmware[ ]images.*https\?:[/][/][^\n]*\(fore\|FORE_Systems\).*Rebuild[ ]and[ ]re-install[^.]*\.' Documentation/networking/fore200e.txt + + blobname 'intelliport2\.bin' drivers/char/ip2/ip2main.c + + blob 'static[ ]unsigned[ ]char[ ]warp_g[24]00_t2\?gzs\?a\?f\?\[\][ ]=[ ][{][^{};]*[}][;]\([\n][\n]*static[ ]unsigned[ ]char[ ]warp_g[24]00_t2\?gzs\?a\?f\?\[\][ ]=[ ][{][^{};]*[}][;]\)*' drivers/gpu/drm/mga/mga_ucode.h + blob '\(#define[ ]WARP_UCODE_\(SIZE\|INSTALL\)[(][ ]*which\([^\n]*\\[ ]*[\n]\)*[^\n]*\|static[ ]const[ ]unsigned[ ]int[ ]mga_warp_g[24]00_microcode_size[ ]=[^;]*[;]\|static[ ]int[ ]mga_warp_install_g[24]00_microcode[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]\)\([\n][\n]*\(#define[ ]WARP_UCODE_\(SIZE\|INSTALL\)[(][ ]*which\([^\n]*\\[ ]*[\n]\)*[^\n]*\|static[ ]const[ ]unsigned[ ]int[ ]mga_warp_g[24]00_microcode_size[ ]=[^;]*[;]\|static[ ]int[ ]mga_warp_install_g[24]00_microcode[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]\)\)*' drivers/gpu/drm/mga/mga_warp.c + blobna '\(case[ ]MGA_CARD_TYPE_G[^:]*:[ \n]*\)\+return[ ][^;]*mga_warp[^;]*microcode[^;]*[;]\([ \n]*\(case[ ]MGA_CARD_TYPE_G[^:]*:[ \n]*\)\+return[ ][^;]*mga_warp[^;]*microcode[^;]*[;][ ]*\)*' drivers/gpu/drm/mga/mga_warp.c + + blob 'static[ ]u32[ ]r128_cce_microcode\[\][ ]=[ ][{][^;]*[}][;]' drivers/gpu/drm/r128/r128_cce.c + blob 'static[ ]void[ ]r128_cce_load_microcode[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' drivers/gpu/drm/r128/r128_cce.c + # blobna 'R128_WRITE[(]R128_PM4_MICROCODE_DATA[HL],[\n ]*r128_cce_microcode\[i[ ][*][ ]2\([ ][+][ ]1\)\?\][)]\([;][\n ]*R128_WRITE[(]R128_PM4_MICROCODE_DATA[HL],[\n ]*r128_cce_microcode\[i[ ][*][ ]2\([ ][+][ ]1\)\?\][)]\)*' drivers/gpu/drm/r128/r128_cce.c + + blob 'static[ ]const[ ]u32[ ]R[SV0-9]*[05]_\(c\|pf\)p_microcode\[\]\(\[[23]\]\)\?[ ]=[ ][{][^;]*[}][;]\([\n][\n]*static[ ]const[ ]u32[ ]R[SV0-9]*[05]_\(c\|pf\)p_microcode\[\]\(\[[23]\]\)\?[ ]=[ ][{][^;]*[}][;]\)*' 'drivers/gpu/drm/radeon/\(radeon\|r600\)_microcode\.h' + blob 'static[ ]void[ ]r\(adeon\|[167]00\)_cp_load_microcode[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*cp_microcode[^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' 'drivers/gpu/drm/radeon/r\(\(adeon\|600\)_cp\|100\)\.c' + # blobna 'RADEON_WRITE[(]R\(ADEON\|600\)_CP_\(ME_RAM\|PFP_UCODE\)_DATA[HL]\?,[\n ]*R[SV0-9]*[05]_\(c\|pf\)p_microcode\[i\]\(\[[012]\]\)\?[)]\([;][\n ]*RADEON_WRITE[(]R\(ADEON\|600\)_CP_\(ME_RAM\|PFP_UCODE\)_DATA[HL]\?,[\n ]*R[SV0-9]*[05]_\(c\|pf\)p_microcode\[i\]\(\[[012]\]\)\?[)]\)*' 'drivers/gpu/drm/radeon/\(radeon\|r600\)_cp\.c' + + blob 'sub[ ]\(sp887[0x]\|tda1004\(5\|6\(lifeview\)\?\)\|av7110\|dec\(2\(00\|54\)0t\|3000s\)\|opera1\|vp7041\|dibusb\|nxt200[24]\|cx\(23\(1xx\|885\)\|18\)\|pvrusb2\|or51\(211\|132_\(qam\|vsb\)\)\|bluebird\|mpc718\|af9015\|ngene\)[ ]*[{]\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]\([\n]\+sub[ ]\(sp887[0x]\|tda1004\(5\|6\(lifeview\)\?\)\|av7110\|dec\(2\(00\|54\)0t\|3000s\)\|opera1\|vp7041\|dibusb\|nxt200[24]\|cx\(23\(1xx\|885\)\|18\)\|pvrusb2\|or51\(211\|132_\(qam\|vsb\)\)\|bluebird\|mpc718\|af9015\|ngene\)[ ]*[{]\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]\)*' Documentation/dvb/get_dvb_firmware + blobna 'Please[ ]use[^\n]*firmware[^\n]*sp887x[^\n]*\([\n][^\n]\+\)\+' Documentation/dvb/avermedia.txt + blob 'To[ ]extract[ ]the[ ]firmware[^\n]*Opera[ ]DVB-S1[ ]USB-Box.*[/]lib[/]firmware[/][ ]\.' Documentation/dvb/opera-firmware.txt + blobname '\(dvb-usb-opera[^\n]*\.fw\|2830S[^\n]*2\.sys\)' Documentation/dvb/opera-firmware.txt + blob 'Getting[ ]the[ ]Firmware\([\n][^\n]\+\)*' Documentation/dvb/ttusb-dec.txt + + blob '[/][*][\n ]*File[ ]automatically[ ]generated[ ]by[ ]createinit\.py[ ]using[ ]data[\n ]*extracted[ ]from[ ]AF05BDA\.sys.*[}][;]' drivers/media/dvb/dvb-usb/af9005-script.h + blob '#include[ ]["]af9005-script\.h["]' drivers/media/dvb/dvb-usb/af9005-fe.c + blobna '[\n][ ]scriptlen[ ]=[ ]sizeof[(]script[)][^;]*[;][\n][ ]for[^{]*scriptlen[^{]*[{][^}]*[^\n }]' drivers/media/dvb/dvb-usb/af9005-fe.c + + accept 'struct[ ]\(sp8870\|tda1004x\)_config[\n][{][^}]*[(][*]request_firmware[)][^}]*[\n][}][;]' 'drivers/media/dvb/frontends/\(sp8870\|tda1004x\)\.h' + blob '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*get_dvb_firmware[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\([\n]\(#define[ ]\(\([^\n ]*_DEFAULT\|NONFREE\)_FIRMWARE\|["][^"]*["]\)[ ]\([^\n]\|[\\][\n]\)*\|[/][*][(]DEBLOBBED[)][*][/]\)\)*' 'drivers/media/dvb/frontends/\(nxt200x\|or51211\|sp887[0x]\|tda1004[8x]\)\.c' + blobname 'dvb-fe-sp8870\.fw' drivers/media/dvb/frontends/sp8870.c + blobname 'dvb-fe-tda1004[56]\.fw' drivers/media/dvb/frontends/tda1004x.c + + # This bootcode is actually Free Software under GPLv2, but since it's + # being distributed without source code, we're taking it out. + blob 'static[ ]u8[ ]bootcode\[\][ ]=[ ][{][^}]*[}][;]' drivers/media/dvb/ttpci/av7110_hw.c + blobname 'dvb-ttpci-01\.fw' drivers/media/dvb/ttpci/av7110.c + defsnc 'static[ ]u8[ ]nexusca_stv0297_inittab\[\][ ]=' drivers/media/dvb/ttpci/av7110.c + + defsnc 'static[ ]u8[ ]philips_su1278_tt_inittab\[\][ ]=' drivers/media/dvb/ttpci/budget-ci.c + defsnc 'static[ ]u8[ ]dvbc_philips_tdm1316l_inittab\[\][ ]=' drivers/media/dvb/ttpci/budget-ci.c + + blobname 'ttusb-budget[/]dspbootcode\.bin' drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c + + blobname 'cpia2[/]stv0672_vp4\.bin' drivers/media/video/cpia2/cpia2_core.c + + blobname 'dabusb[/]\(firmware\.fw\|bitstream\.bin\)' drivers/media/video/dabusb.c + + blob 'static[ ]u32[ ]tigon2\?Fw\(Text\|Rodata\|Data\)\[[(]MAX_\(TEXT\|RODATA\|DATA\)_LEN[/]4[)][ ][+][ ]1\][ ]__\(dev\)\?initdata[ ]=[ ][{][^}]*[}][;]\([\n]static[ ]u32[ ]tigon2\?Fw\(Text\|Rodata\|Data\)\[[(]MAX_\(TEXT\|RODATA\|DATA\)_LEN[/]4[)][ ][+][ ]1\][ ]__\(dev\)\?initdata[ ]=[ ][{][^}]*[}][;]\)*' drivers/net/acenic_firmware.h + blob '#define[ ]tigon2\?Fw[^ ]*\(Addr\|Len\)[ ]0x[^\n]*\([\n]#define[ ]tigon2\?Fw[^ ]*\(Addr\|Len\)[ ]0x[^\n]*\)\+' drivers/net/acenic_firmware.h + blob '\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Do[ ]not[ ]try[ ]to[ ]clear[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n][ ]\)\?ace_clear[^;]*[;][\n]\([^}]*[{][^}]*ace_copy[^}]*tigon2\?Fw[^}]*[}]\)*[\n]\+[ ]return[ ]0[;][\n][}]' drivers/net/acenic.c + blob 'if[ ][(]\(ACE_IS_TIGON_I[(]ap[)]\|ap->version[ ]==[ ]2\)[)][\n][ ][ ]writel[(]tigon2\?FwStartAddr,[ ][&]regs->Pc[)][;]\([\n][ ]if[ ][(]\(ACE_IS_TIGON_I[(]ap[)]\|ap->version[ ]==[ ]2\)[)][\n][ ][ ]writel[(]tigon2\?FwStartAddr,[ ][&]regs->Pc[)][;]\)*' drivers/net/acenic.c + + blob '#include[ ]["]starfire_firmware\.h["]' drivers/net/starfire.c + blob '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Load[ ]Rx[/]Tx[ ]firmware[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\([\n][ ]for[ ][(][^)]*FIRMWARE_[RT]X_SIZE[^)]*[)][\n][ ][ ]writel[^;]*firmware_[rt]x[^;]*[;]\)\+' drivers/net/starfire.c + + blob 'static[ ]\(u8\|const[ ]u32\|struct[ ]fw_info\)[ ]bnx2_\(\(COM\|CP\|[RT]XP\|TPAT\)_b0[69]Fw\(Text\|Data\|Rodata\)\|\(xi_\)\?rv2p_proc[12]\|\(com\|cp\|[rt]xp\|tpat\)_fw_0[69]\)\(\[[^]};]*\]\)*[ ]=[ ][{][^}]*[}][;]\([\n][\n]*static[ ]\(u8\|const[ ]u32\|struct[ ]fw_info\)[ ]bnx2_\(\(COM\|CP\|[RT]XP\|TPAT\)_b0[69]Fw\(Text\|Data\|Rodata\)\|\(xi_\)\?rv2p_proc[12]\|\(com\|cp\|[rt]xp\|tpat\)_fw_0[69]\)\(\[[^]};]*\]\)*[ ]=[ ][{][^}]*[}][;]\)*' 'drivers/net/bnx2_fw2\?.h' + blob '#include[ ]["]bnx2_fw\.h["][\n][\n]*#include[ ]["]bnx2_fw2\.h["]' drivers/net/bnx2.c + blob 'static[ ]void[\n]load_rv2p_fw[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' drivers/net/bnx2.c + blob 'static[ ]int[\n]bnx2_init_cpus[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' drivers/net/bnx2.c + + # init_data_e1h? might actually be just data, but it doesn't + # really matter. + blob 'static[ ]const[ ]u32[ ]\(init\?\|[tucx]sem_\(int_table\|pram\)\)_data_e1h\?\[\][ ]=[ ][{][^}]*[}][;]\([\n][\n]*static[ ]const[ ]u32[ ]\(init\?\|[tucx]sem_\(int_table\|pram\)\)_data_e1h\?\[\][ ]=[ ][{][^}]*[}][;]\)*' drivers/net/bnx2x_init_values.h + blob 'static[ ]\(void[ ]\|const[ ]u32[ ][*]\)bnx2x_\(sel_blob\|init_wr_wb\|init_block\)[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]\([\n][\n]*static[ ]\(void[ ]\|const[ ]u32[ ][*]\)bnx2x_\(sel_blob\|init_wr_wb\|init_block\)[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]\)*' 'drivers/net/bnx2x_init\(_ops\)\?\.h' + + blobname 'sun[/]cassini\.bin' drivers/net/cassini.c + + blobna 'static[ ]u16[ ]\(sr\|twinax\)_edc\[\][ ]=[ ][{][^;]*[}][;]' drivers/net/cxgb3/ael1002.c + blobna 'for[ ][(][^\n]*ARRAY_SIZE[(]\(sr\|twinax\)_edc[)][^\n]*[)][\n][^;]*mdio_write[^;]*[;]' drivers/net/cxgb3/ael1002.c + blobname '\(cxgb3[/]\)\?t3\(fw\|\(%c\|.\)_p\(rotocol_\)\?sram\)-\(%d\|[0-9]*\)\.\(%d\|[0-9]*\)\.\(%d\|[0-9]*\)\.bin' drivers/net/cxgb3/cxgb3_main.c + + blob '\([/][*][*]\+[/][\n]*\)*\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Micro[ ]code[^*]*\([*]\+[^/*][^*]*\)*[*]*8086:[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\([\n]*[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)*\|#define[ ][ ]*D10\(1M\(_B\)\?\|1S\|2_E\)_\(CPUSAVER_\(TIMER\|BUNDLE\|MIN_SIZE\)_DWORD\|RCVBUNDLE_UCODE\)[ ][^\n]*\([\\][\n][^\n]*\)*\)\([\n]*[/][*][^*]*\([*]\+\([^/*]\|[/][\n]*[/][*]\+\)[^*]*\)*[*]*Micro[ ]code[^*]*\([*]\+[^/*][^*]*\)*[*]*8086:[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\([\n]*[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)*\|[\n][\n]*#define[ ][ ]*D10\(1M\(_B\)\?\|1S\|2_E\)_\(CPUSAVER_\(TIMER\|BUNDLE\|MIN_SIZE\)_DWORD\|RCVBUNDLE_UCODE\)[ ]\(\\[\n]\|[^\n]\)*\)*' drivers/net/e100.c + blobna '\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n]*[ ][ ]\)\(ucode\[opts->\(timer\|bundle\|min_size\)_dword\][ ].=[ ][^;]*[;][\n][\n]*[ ][ ]\)*[^}]*UCODE_SIZE[^}]*cb_ucode[^}]*return[;][\n][ ][}]' drivers/net/e100.c + + blob 'static[ ]unsigned[ ]char[ ]__devinitdata[ ]lanai4_\(code\|data\)\[[0-9]*\][ ]=[ ][{][^;]*[}][;]' drivers/net/myri_code.h + blob '#include[ ]["]myri_code\.h["]' drivers/net/myri_sbus.c + blobna '\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n ]*\)\?for[ ][(][^\n]*sizeof[(]lanai4_\(code\|data\)[^\n]*[)][\n][^\n]*sbus_writeb[^;]*lanai4_\(code\|data\)[^;]*lanai4_code_off[^;]*[;]\([\n ]*\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n ]*\)\?for[ ][(][^\n]*sizeof[(]lanai4_\(code\|data\)[^\n]*[)][\n][^\n]*sbus_writeb[^;]*lanai4_\(code\|data\)[^;]*lanai4_\(code\|data\)_off[^;]*[;]\)*' drivers/net/myri_sbus.c + + blob 'static[ ]u32[ ]s_firmLoad\[\][ ]=[ ][{][^;]*[}][;]' drivers/net/tehuti_fw.h + blobna 'bdx_tx_push_desc_safe[^;]*s_firmLoad[^;]*[;]' drivers/net/tehuti.c + blobna 'for[ ][(][^\n]*ARRAY_SIZE[(]s_firmLoad[)][^\n]*[)][\n ]*s_firmLoad[^;]*=[^;]*s_firmLoad[^;]*[;]' drivers/net/tehuti.c + + blob '[ ][*][ ]Firmware[ ]is:[\n][ ][*][ ]Derived[ ]from[ ]proprietary[^/]*notice[ ]is[ ]accompanying[ ]it\.[\n][ ][*][/]' drivers/net/tg3.c + blobna 'Derived[ ]from[ ]proprietary[ ]unpublished[ ]source[ ]code' drivers/net/tg3.c + blob '\(static[ ]\)\?\(const[ ]\)\?u32[ ]tg3\(Tso5\?\)\?Fw\(Text\|Rodata\|Data\)\[[^{]*\][ ]=[ ][{][^}]*[}][;]\([\n][\n]*\(static[ ]const[ ]u32[ ]tg3\(Tso5\?\)\?Fw\(Text\|Rodata\|Data\)\[[^{]*\][ ]=[ ][{][^}]*[}][;]\|#if[ ]0\([ ][/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)\?[\n]\(static[ ]const[ ]\)\?u32[ ]tg3\(Tso5\?\)\?Fw\(Text\|Rodata\|Data\)\[[^{]*\][ ]=[ ][{][^}]*[}][;][\n]#endif\)\)*' drivers/net/tg3.c + + blob 'static[ ]const[ ]u8[ ]typhoon_firmware_image\[\][ ]=[ ][{][^}]*[}][;]' drivers/net/typhoon-firmware.h + + blobna 'licensed[^\n]*strictly[ ]for[ ]use[^\n]*[\n]*[^\n]*COPS[ ]LocalTalk' 'drivers/net/appletalk/cops_\(ff\|lt\)drv\.h' + blob 'static[ ]const[ ]unsigned[ ]char[ ]ffdrv_code\[\][ ]=[ ][{][^}]*[}][;]' drivers/net/appletalk/cops_ffdrv.h + blob 'static[ ]const[ ]unsgined[ ]char[ ]ltdrv_code\[\][ ]=[ ][{][^}]*[}][;]' drivers/net/appletalk/cops_ltdrv.h + blob '#include[ ]["]cops_\(lt\|ff\)drv\.h["][ ]*\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Firmware[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)\?\([\n][\n]*#include[ ]["]cops_\(lt\|ff\)drv\.h["][ ]*\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Firmware[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)\?\)*' drivers/net/appletalk/cops.c + + blob 'static[ ]unsigned[ ]char[ ]bits_1200\[\][ ]*=[ ][{][^}]*[}][;]' drivers/net/hamradio/yam1200.h + blob 'static[ ]unsigned[ ]char[ ]bits_9600\[\][ ]*=[ ][{][^}]*[}][;]' drivers/net/hamradio/yam9600.h + blob '#include[ ]["]yam\(96\|12\)00\.h["]\([\n][\n]*#include[ ]["]yam\(96\|12\)00\.h["]\)*' drivers/net/hamradio/yam.c + + blobna 'static[ ]const[ ]u_char[ ]__Xilinx7OD\[\][ ]=[ ][{][^}]*[}][;]' drivers/net/pcmcia/ositech.h + blob '#include[ ]["]ositech\.h["]' drivers/net/pcmcia/smc91c92_cs.c + blobna '\([/][*][ ]Download[ ]the[ ]Seven[ ]of[ ]Diamonds[ ]firmware[^/]*[*][/][\n ]*\)\?for[ ]*[(][^\n]*__Xilinx7OD[^{}]*[{][\n][ ]*outb[ ]*[(]__Xilinx7OD[^}]*[}]' drivers/net/pcmcia/smc91c92_cs.c + + blob 'static[ ]const[ ]u8[ ]microcode\[\][ ]=[ ][{][^}]*[}][ ]*[;]' drivers/net/tokenring/3c359_microcode.h + blob '#include[ ]["]3c359_microcode\.h["]' drivers/net/tokenring/3c359.c + blobna 'start[ ]=[ ][(]0xFFFF[ ]-[ ][(]mc_size[)][^;]*[;][\n ]*[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n ]*printk[(]KERN_INFO[ ]["]3C359:[ ]Uploading[ ]Microcode:[ ]["][)][;][\n ]*for[ ][(][^{]*\(mc_size[^{]*[)][ ][{][^}]*writeb[(]microcode\[\|[)][ ][{][^}]*writeb[(]microcode\[mc_size\)[^}]*[}]\([\n][ ]*printk[^\n]*[;][\n ]*for[ ][(][^{]*\(mc_size[^{]*[)][ ][{][^}]*writeb[(]microcode\[\|[)][ ][{][^}]*writeb[(]microcode\[mc_size\)[^}]*[}]\)*' drivers/net/tokenring/3c359.c + + blobname 'tr_smctr\.bin' drivers/net/tokenring/smctr.c + + blobname 'kaweth[/]\(new\|trigger\)_code\(_fix\)\?\.bin' drivers/net/usb/kaweth.c + + + blobname '\(agere\|prism\)_\(sta\|ap\)_fw\.bin' 'drivers/net/wireless/\(orinico/\)\?\(orinoco\|fw\)\.c' + blobname 'symbol_sp24t_\(prim\|sec\)_fw' 'drivers/net/wireless/\(\(orinico/\)\?orinoco\.c\|spectrum_cs\.c\)' + + blob 'unsigned[ ]short[ ]sbus_risc_code01\[\][ ]__devinitdata[ ]=[ ][{][^}]*[}][;]' drivers/scsi/qlogicpti_asm.c + blob '#include[ ]["]qlogicpti_asm\.c["]' drivers/scsi/qlogicpti.c + + blob '\([/][*][ ]Microcode[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n]*\)\?static[ ]\(u\(nsigned[ ]\)\?char\|unsigned[ ]short\|ADV_DCNT\)[ ]_\(asc_mcode\|adv_asc3\(550\|8C\(08\|16\)00\)\)_\(buf\[\][ ]=[ ][{][^}]*[}]\|size[ ]=[ ]sizeof[^;]*\|chksum[ ]=[ ]0x[^;]*\)[;]\([ ]*[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)\?\([\n][\n]*\([/][*][ ]Microcode[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n]*\)\?static[ ]\(u\(nsigned[ ]\)\?char\|unsigned[ ]short\|ADV_DCNT\)[ ]_\(asc_mcode\|adv_asc3\(550\|8C\(08\|16\)00\)\)_\(buf\[\][ ]=[ ][{][^}]*[}]\|size[ ]=[ ]sizeof[^;]*\|chksum[ ]=[ ]0x[^;]*\)[;]\([ ]*[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)\?\)*' drivers/scsi/advansys.c + + blob '\(#ifdef[ ]UNIQUE_FW_NAME[\n]\)\?static[ ]unsigned[ ]short[ ]\(risc\|fw12\(80e\|160\)i\)_code01\[\][ ]=[ ][{]\([\n]#else[\n]static[ ]unsigned[ ]short[ ]risc_code01\[\][ ]=[ ][{][\n]#endif[\n]\)\?[^}]*[}][;]\([\n][\n]*\(#ifdef[ ]UNIQUE_FW_NAME[\n]\)\?static[ ]unsigned[ ]short[ ]\(risc_code\|fw12\(80e\|160\)i\)_length01[ ]=[ ][^;]*[;]\([\n]#else[\n]static[ ]unsigned[ ]short[ ]risc_code_length01[ ]=[ ][^;]*[;][\n]#endif\)\?\)\?' 'drivers/scsi/ql1\(04\|2\(8\|16\)\)0_fw\.h' + + blobname 'emi26[/]\(bitstream\|firmware\|loader\)\.fw' drivers/usb/misc/emi26.c + + blobname 'emi62[/]\(bitstream\|midi\|spdif\|loader\)\.fw' drivers/usb/misc/emi62.c + + blobname 'keyspan[/]\(mpr\|usa\(18x\|19\(q[iw]\|w\)\?\|28\(x\(a\|b\)\?\)\?\|49w\(lc\)\?\)\)\.fw' drivers/usb/serial/keyspan.c + + accept '[ ][ ]fw_name[ ]=[ ]["]keyspan_pda[/]\(keyspan_pda\|xircom_pgs\)\.fw["][;]' drivers/usb/serial/keyspan_pda.c + blobna 'fw_name[ ]=[ ][^\n]*\([\n]\+[^\n}][^\n]*\)*\([/][*]KEYSPAN_PDA[*][/]\)\?request_ihex_firmware' drivers/usb/serial/keyspan_pda.c + accept '[ ]if[ ][(][/][*]KEYSPAN_PDA[*][/]request_ihex_firmware' drivers/usb/serial/keyspan_pda.c + + blobname 'edgeport[/]\(boot\|down\)2\?\.fw' drivers/usb/serial/io_edgeport.c + blobname 'edgeport[/]down3\.bin' drivers/usb/serial/io_ti.c + + blobname 'ti_\(usb-\)\?\(%d\|3410\|5052\)\.\(fw\|bin\)' drivers/usb/serial/ti_usb_3410_5052.c + + blobname 'whiteheat\(_loader\(_debug\)\?\)\?\.fw' drivers/usb/serial/whiteheat.c + + blob 'static[ ]struct[ ]BA1struct[ ]BA1Struct[ ]=[ ][{][^;]*[}][;]' sound/pci/cs46xx/cs46xx_image.h + + blob 'static[ ]u32[ ]cwc\(4630\|async\|snoop\)_\(code\|parameter\)\[\][ ]=[ ][{][^;]*[}][;]' 'sound/pci/cs46xx/imgs/cwc\(4630\|async\|snoop\)\.h' + # cwcbinhack appears to have been created by hand. + # cwcdma has sources (not verified) in cwcdma.asp. + accept 'static[ ]u32[ ]cwc\(binhack\|dma\)_code\[\][ ]=[ ][{][^;]*[}][;]' 'sound/pci/cs46xx/imgs/cwc\(binhack\|dma\)\.h' + blob '#include[ ]["]\(cs46xx_image\|imgs[/]cwc\(4630\|async\|snoop\)\)\.h["]\([\n][\n]*#include[ ]["]\(cs46xx_image\|imgs[/]cwc\(4630\|async\|snoop\)\)\.h["]\)*' sound/pci/cs46xx/cs46xx_lib.c + + blobname 'korg[/]k1212\.dsp' sound/pci/korg1212/korg1212.c + + blobname 'ess[/]maestro3_assp_\(kernel\|minisrc\)\.fw' sound/pci/maestro3.c + + blobname 'yamaha[/]ds1e\?_\(ctrl\|dsp\)\.fw' sound/pci/ymfpci/ymfpci_main.c + + blobname 'sb16[/]\(\(a\|mu\)law_main\|ima_adpcm_\(init\|capture\|playback\)\)\.csp' sound/isa/sb/sb16_dsp.c + + blob 'static[ ]const[ ]struct[ ][{][^}]*[}][ ]yss225_registers\[\][ ]__devinitdata[ ]=[ ][{][^;]*[}][;]' sound/isa/wavefront/yss225.c + blobname 'yamaha[/]yss225_registers\.bin' sound/isa/wavefront/wavefront_fx.c + blobna 'firmware[ ]=[ ][&]yss225_registers_firmware[;]' sound/isa/wavefront/wavefront_fx.c + blob 'static[ ]const[ ]struct[ ]firmware[ ]yss225_registers_firmware[ ]=[ ][{][^;]*[}][;]' sound/isa/wavefront/wavefront_fx.c + blobna '\(ospath[ ]*-[ ]Pathname[^\n]*ICS2115[^-]*wavefront\.os\|Note:[ ]the[ ]firmware[ ]file[ ]["]wavefront\.os["]\)[^-]*[/]lib[/]firmware\.\([^.]*after[ ]upgrading[ ]the[ ]kernel\)\?' Documentation/sound/alsa/ALSA-Configuration.txt + blobname 'wavefront\.os' sound/isa/wavefront/wavefront_synth.c + + blobna 'and[\n]require[ ]the[ ]use[ ]of[^\n]*propr\?ietary[^:]*' Documentation/arm/IXP4xx + blob 'If[ ]you[ ]need[ ]to[ ]use[ ]any[ ]of[ ]the[ ]above[^\n]*download[^:]*:[\n ]*http:[^\n]*ixp4[^\n]*' Documentation/arm/IXP4xx + + blobname 'xc\(%d\|[0-9]*\)\.bin' arch/arm/mach-netx/include/mach/xc.h + accept 'int[ ]xc_request_firmware[(]struct[ ]xc[ ]*[*][ ]*x[)][;]' arch/arm/mach-netx/include/mach/xc.h + accept 'int[ ]xc_request_firmware[(]struct[ ]xc[ ]*[*][ ]*x[)][\n][{]' arch/arm/mach-netx/xc.c + accept '[ ][ ]dev_err[(]x->dev,[ ]["]request_firmware[ ]failed\\n["][)][;]' arch/arm/mach-netx/xc.c + accept 'EXPORT_SYMBOL[(]xc_request_firmware[)][;]' arch/arm/mach-netx/xc.c + accept '[ ][ ]if[ ][(]xc_request_firmware[(]priv->xc[)][)][ ][{]' drivers/net/netx-eth.c + + blobname 'iop_fw_load_[sm]pu' arch/cris/arch-v32/drivers/iop_fw_load.c + accept 'int[ ]iop_fw_load_[sm]pu[(]' arch/cris/arch-v32/drivers/iop_fw_load.c + accept '[ ]retval[ ]=[ ]request_firmware[^;]*[&]iop_[sm]pu_device' arch/cris/arch-v32/drivers/iop_fw_load.c + accept 'EXPORT_SYMBOL[(]iop_fw_load_[sm]pu[)][;]' arch/cris/arch-v32/drivers/iop_fw_load.c + + accept '[/][*][ ]fake[ ]device[ ]for[ ]request_firmware[ ][*][/]' arch/x86/kernel/microcode_core.c + + blobname 'amd-ucode[/]microcode_amd\.bin' arch/x86/kernel/microcode_amd.c + + blobname 'intel-ucode[/]\([0-9a-f][0-9a-f]\|%02x\)-\([0-9a-f][0-9a-f]\|%02x\)-\([0-9a-f][0-9a-f]\|%02x\)' 'arch/x86/kernel/microcode\(_intel\)\?\.c' + + blobname 'BCM2033-\(MD\.hex\|FW\.bin\)' drivers/bluetooth/bcm203x.c + + blobname 'bfubase\.frm' drivers/bluetooth/bfusb.c + + blobname 'BT3CPCC\.bin' drivers/bluetooth/bt3c_cs.c + + blobname 'cyzfirm\.bin' drivers/char/cyclades.c + + accept 'MODULE_FIRMWARE[(]["]dsp56k[/]bootstrap\.bin["][)][;]' drivers/char/dsp56k.c + blobna 'const[ ]char[ ]fw_name\[\][ ]=[ ]["]dsp56k[/]bootstrap\.bin["][;][^\n]*\([\n]\+[^\n}][^\n]*\)*request_firmware[^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[ ]err[ ]=[ ]request_firmware[(][&]fw,[ ]fw_name,[ ]' drivers/char/dsp56k.c + accept '[ ]const[ ]char[ ]fw_name\[\][ ]=[ ]["]dsp56k[/]bootstrap\.bin["][;][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[ ]err[ ]=[ ]request_firmware[(][&]fw,[ ]fw_name,[ ]' drivers/char/dsp56k.c + + blobname 'isi\(6\(08\|\(08\|16\)em\)\|46\(08\|16\)\)\.bin' drivers/char/isicom.c + + blobname 'c\(218t\|p204\|320t\)unx\.cod' drivers/char/moxa.c + accept '[ ][ ]printk[(]KERN_ERR[ ]["]MOXA:[ ]request_firmware[ ]failed' drivers/char/moxa.c + + # This driver enables the user to update the non-Free BIOS, but it + # only issues a firmware request if specifically told to. It + # doesn't require any non-Free firmware to function, and it + # doesn't actually recommend users to perform updates, so I'm + # leaving it in. + accept '[ ][ ][ ]req_firm_rc[ ]=[ ]request_firmware_nowait[(][^;]*,[ ]["]dell_rbu["],' drivers/firmware/dell_rbu.c + accept '[ ]*["]dell_rbu:%s[ ]request_firmware_nowait["]' drivers/firmware/dell_rbu.c + + blobname 'xc3028-v27\.fw' drivers/media/common/tuners/tuner-xc2028.h + blobname 'xc3028L-v36\.fw' drivers/media/common/tuners/tuner-xc2028.h + + blobname 'dvb-fe-xc5000-1\.1\.fw' drivers/media/common/tuners/xc5000.c + + blobname '4210\(100[12]\|%4X\)\.sb' drivers/net/irda/irda-usb.c + blobna '[/][*][ \n*]*[ ]Known[ ]firmware[^*]*\([*]\+[^/*][^*]*\)*[*]*\(STIR421x\|4210\(100[12]\|%4X\)\.sb\)[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/net/irda/irda-usb.c + + blobname 'myri10ge_\(rss_\)\?ethp\?_z8e\.dat' drivers/net/myri10ge.c + blobna 'If[ ]the[ ]driver[ ]can[ ]neither[ ]enable[ ]ECRC[^*]*\([*]\+[^/*][^*]*\)*[*]*myri10ge_\(rss_\)\?ethp\?_z8e\.dat[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/net/myri10ge.c + + blobname 'spider_fw\.bin' drivers/net/spider_net.h + + blobname 'tms380tr\.bin' drivers/net/tokenring/tms380tr.c + + blobname 'atmel_at76c50\(2\([de]\|_3com\)\?\|4a\?\(_2958\)\?\|6\)\(\.bin\)\?' drivers/net/wireless/atmel.c + accept '[ ]*priv->firmware[ ]=[ ]\(NULL\|new_firmware\)[;]' drivers/net/wireless/atmel.c + + blobname 'b43\(legacy\)\?\(%s\)\?[/]\(%s\|ucode\([2459]\|1[1345]\)\|pcm5\|[abn]0g[01]initvals\(5\|1[13]\)\)\.fw' 'drivers/net/wireless/b43\(legacy\)\?/main.c' + blobname 'pcm5\.fw' drivers/net/wireless/b43/main.c + blobna 'b43legacyerr[(][^;]*must[ ]go[ ]to[ ]http[^;]*b43#devicefirmware[^;]*[)][;]' drivers/net/wireless/b43legacy/main.c + blobna 'You[ ]must[ ]go[ ]to[^;]*b43#devicefirmware[^;]*[^";)]' drivers/net/wireless/b43/main.c + blobna 'http:[/][/]wireless[^ ";)]*b43#devicefirmware' drivers/net/wireless/b43/main.c + + blob '#define[ ]IPW2100_FW_\(\(\(MAJOR\|MINOR\)_VERSION\|\(MAJOR\|MINOR\)[(]x[)]\)\|VERSION\)\([^\n]*\\[\n]\)*[^\n]*\([\n][\n]*#define[ ]IPW2100_FW_\(\(\(MAJOR\|MINOR\)_VERSION\|\(MAJOR\|MINOR\)[(]x[)]\)\|VERSION\)\([^\n]*\\[\n]\)*[^\n]*\)*' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + blobname 'ipw2100-\(["]\([^"\n]\|[\\][\n]\)*["]\([^"]\|[\\]["]\)*\)\+' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + blobname '__stringify[(]IPW2100_FW_MINOR_VERSION[)]' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + accept '[ ]*Portions[ ]of[ ]ipw2100_\(do_\)\?mod_firmware_load[, ]*\(ipw2100_\(do_\)\?mod_firmware_load[, and\n]*\)*' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + accept '[ ]ipw2100_mod_firmware_load[(]fw[)][;]' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + accept 'static[ ]int[ ]ipw2100_mod_firmware_load[(]' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + blobna 'if[ ][(]IPW2100_FW_MAJOR[^{]*[{][^}]*[ ][}]' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + blobname '["]["][ ]x[ ]["]\.fw["]' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + + accept '[/][*][ ]Call[ ]this[ ]function[ ]from[ ]process[ ]context[^*]*\([*]\+[^/*][^*]*\)*[*]*request_firmware' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2200.c' + blobname 'ipw2200-\(i\?bss\|sniffer\)\.fw' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2200.c' + accept '[ ][ ]IPW_ERROR[(]["]%s[ ]request_firmware[ ]failed' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2200.c' + + blobname 'iwlwifi-\(3945\|4965\|[156]000\(G2[AB]\)\?\|1[03]0\|6050\)["][ ]IWL\(3945\|4965\|[156]000\(G2[AB]\)\?\|1[03]0\|6050\)_UCODE_API[ ]["]\.ucode' 'drivers/net/iwlwifi/iwl\(3945-base\|-\(3945\|4965\|[156]000\)\)\.[ch]' + blobname 'iwlwifi-3945-' drivers/net/iwlwifi/iwl-3945.h + blobname '#api[ ]["]\.ucode["]' 'drivers/net/iwlwifi/iwl-\(3945.h\|\(4965\|[156]000\)\.c\)' + accept '#define\([ ]_\?IWL3945_MODULE_FIRMWARE[(]api[)]\)\+' drivers/net/iwlwifi/iwl-3945.h + accept '[ ][ ][*][ ]request_firmware[(][)][ ]is[ ]synchronous' 'drivers/net/iwlwifi/iwl\(3945-base\|-agn\)\.c' + blobname 'iwlwifi-4965-' drivers/net/iwlwifi/iwl-4965.c + blobname 'iwlwifi-5\(00\|15\)0-' drivers/net/iwlwifi/iwl-5000.c + blobname '%s%[dus]%s["],[\n ]*name_pre,[ ]\(\(priv->fw_\)\?index\|tag\|idx\),[ ]["]\.ucode' 'drivers/net/iwlwifi/iwl\(3945-base\|-agn\).c' + + blobname 'libertas_cs\(_helper\)\?\.fw' drivers/net/wireless/libertas/if_cs.c + blobname 'sd\(8385\|868[68]\)\(_helper\)\?\.bin\(["],[\n][ ]*\.firmware[ ]=[ ]["]sd\(8385\|868[68]\)\.bin\)\?' 'drivers/\(net/wireless/libertas/if_sdio\.c\|bluetooth/btmrvl_sdio\.c\)' + blobname 'sd\(8385\|868[68]\)\(_helper\)\?\.bin' 'drivers/\(net/wireless/libertas/if_sdio\.c\|bluetooth/btmrvl_sdio\.c\)' + accept '[ ]*card->firmware[ ]=[ ]\(if_sdio\|lbs_fw\|fw_name\)' drivers/net/wireless/libertas/if_sdio.c + blobname 'usb8388\(-5\.126\.0\.p5\)\?\.bin' drivers/net/wireless/libertas/if_usb.c + blob '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*usb8388\(-5\.126\.0\.p5\)\?\.bin[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/net/wireless/libertas/if_usb.c + accept '[ ][ ]lbs_pr_err[(]["]request_firmware\([(][)]\)\?[ ]failed' 'drivers/net/wireless/if_\(spi\|usb\)\.c' + blobna 'o\.[ ]Copy[ ]the[ ]firmware[ ]image[^\n]*usb8388\([^\n]\|[\n][ ]*[^ \n]\)*' drivers/net/wireless/libertas/README + blobna '\[fw_name=usb8388[^]]*\]' drivers/net/wireless/libertas/README + + blobname 'usb8388\.bin' drivers/base/Kconfig + accept '[ ][ ][ ]So,[ ]for[ ]example,[ ]you[ ]might[ ]set[ ]CONFIG_EXTRA_FIRMWARE=["]whatever\.bin["]' drivers/base/Kconfig + accept '[ ][ ][ ]kernel\.[ ]Then[ ]any[ ]request_firmware[(]\(["]whatever\.bin["]\)[)]' drivers/base/Kconfig + + blobname 'lbtf_usb\.bin' drivers/net/wireless/libertas_tf/if_usb.c + + blobname 'isl38\(86\|87\|90\)\(pci\|usb\(_bare\)\?\)\?' 'drivers/net/wireless/p54/p54\(pci\.c\|usb\.[ch]\)' + blob '[/][*][ ]for[ ]isl3886[ ]register[ ]definitions[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/net/wireless/p54/p54usb.h + blobna 'If[ ]you[ ]enable[ ]this\([^\n]\|[\n][ ]*[^ \n]\)*isl3890\([^\n]\|[\n][ ]*[^ \n]\)*' drivers/net/wireless/Kconfig + + blobname 'isl38\(77\|86\|90\)' drivers/net/wireless/prism54/islpci_dev.c + + blobname 'rt2[56]61s\?\.bin' drivers/net/wireless/rt2x00/rt61pci.h + blobname 'rt73\.bin' drivers/net/wireless/rt2x00/rt73usb.h + + blobname 'zd1201\(-ap\)\?\.fw' drivers/net/wireless/zd1201.c + + blobname 'zd1211[/]zd1211b\?_\(u\([rb]\|phr\)\?\)\?' drivers/net/wireless/zd1211/zd_usb.c + + # ??? gotta introduce some means to match false-positives + # including post context containing blobs, so that the macro name + # is not flagged or deblobbed, but the blob name is. + # blobna 'PCMCIA_\([PM]FC_\)\?DEVICE_CIS_\(MANF_CARD\|PROD_ID[1-4]*\)' + # accept '[ ] PCMCIA_\([PM]FC_\)\?DEVICE_CIS_\(MANF_CARD\|PROD_ID[1-4]*\)[(][^)]*, ["][/][*][(]DEBLOBBED[)][*][/]["][)]' + # accept '#define PCMCIA_\([PM]FC_\)\?DEVICE_CIS_\(MANF_CARD\|PROD_ID[1-4]*\)[(]' include/pcmcia/device_id.h + + # These are not software; they're Free, but GPLed without in-tree sources. + # blobname '\(cis[/]\)\?3CCFEM556\.cis' drivers/net/pcmcia/3c574_cs.c + # blobname '\(cis[/]\)\?3CXEM556\.cis' drivers/net/pcmcia/3c589_cs.c + # blobname '\(cis[/]\)\?\(PCMLM28\|DP83903\|LA-PCM\|PE520\|NE2K\|PE-200\|tamarack\)\.cis' drivers/net/pcmcia/pcnet_cs.c + # blobname '\(cis[/]\)\?\(PCMLM28\|DP83903\|3C\(CF\|X\)EM556\|MT5634ZLX\|COMpad[24]\|RS-COM-2P\|GLOBETROTTER\)\.cis' drivers/serial/serial_cs.c + # These are not software; they're Free, but GPLed without textual sources. + # It is safe to assume that these binaries *are* sources, since they + # can be trivially converted back to a textual form, without loss. + # blobname '\(cis[/]\)\?SW_\([78]xx\|555\)_SER\.cis' drivers/serial/serial_cs.c + + accept '[ ]\(ds_\)\?\(dev_\)\?dbg[(]\(1[,][ ]\)\?\([&]dev->dev,[ ]\)\?["]trying[ ]to[ ]load[ ]\(CIS[ ]file\|firmware\)[ ]%s[\\]n["],[ ]filename[)][;][\n]*[ ]if[ ][(]\(strlen[(]filename[)][^\n]*\([{][^}]*[ ][}]\|[)][\n][ ]*return[^\n]*[;]\)[\n]*[ ]snprintf[(]path,[ ]\(20\|sizeof[(]path[)]\),[^\n]*,[ ]filename[)][;][\n]*[ ]if[ ][(]request_firmware[(][&]fw,[ ]path\|request_firmware[(][&]fw,[ ]filename\),[ ][&]dev->dev[)][^\n]*[)][ ][{][\n][ ]*if[ ][(]fw->size[ ]>=[ ]CISTPL_MAX_CIS_SIZE[)]' drivers/pcmcia/ds.c + accept 'MODULE_FIRMWARE[(]["]\(cis[/]\)\?\(PCMLM28\|DP83903\|3C\(CF\|X\)EM556\|MT5634ZLX\|COMpad[24]\|RS-COM-2P\|GLOBETROTTER\|SW_\([78]xx\|555\)_SER\)\.cis["][)][;]\([\n]MODULE_FIRMWARE[(]["]\(cis[/]\)\?\(PCMLM28\|DP83903\|3C\(CF\|X\)EM556\|MT5634ZLX\|COMpad[24]\|RS-COM-2P\|GLOBETROTTER\|SW_\([78]xx\|555\)_SER\)\.cis["][)][;]\)*' drivers/serial/serial_cs.c + accept 'MODULE_FIRMWARE[(]["]\(cis[/]\)\?\(PCMLM28\|DP83903\|LA-PCM\|PE520\|NE2K\|PE-200\|tamarack\)\.cis["][)][;]\([\n]MODULE_FIRMWARE[(]["]\(cis[/]\)\?\(PCMLM28\|DP83903\|LA-PCM\|PE520\|NE2K\|PE-200\|tamarack\)\.cis["][)][;]\)*' drivers/net/pcnet_cs.c + + # This enables but does not encourage firmware updates. + accept '[ ]err[ ]=[ ]request_firmware[(][&]asd_ha->bios_image,[\n ]*filename_ptr,[\n ]*[&]asd_ha->pcidev->dev[)][;]' drivers/scsi/aic94xx/aic94xx_init.c + blobname 'aic94xx-seq\.fw' drivers/scsi/aic94xx/aic94xx_seq.h + + # This enables but does not encourage firmware updates. + accept '[ ]if[(]request_firmware[(]&fw_entry,[ ]fname,[ ]&ioa_cfg->pdev->dev[)][)]' drivers/scsi/ipr.c + + accept '[ ]res[ ]=[ ]request_firmware[(]&fw,[ ]["]sas_addr["],[ ]&shost->shost_gendev[)][;]' drivers/scsi/libsas/sas_scsi_host.c + + blobname 'ql\(2\([12345]00\|322\)\|8[12]00\)_fw\.bin' drivers/scsi/qla2xxx/qla_os.c + blobna 'By[ ]default,[ ]firmware[ ]for[ ]the[ ]ISP[ ]parts\([^\n]\|[\n]*[ ]\)*ql2[12345]00_fw\.bin\([^\n]\|[\n]*[ ]\)*ftp:[/][/][^\n]*firmware[/]\(.*linux-firmware[ ]tree[ ]as[ ]well\.\)\?' drivers/scsi/qla2xxx/Kconfig + + blobname 'icom_\(asc\|res_dce\|call_setup\)\.bin' drivers/serial/icom.c + + blobname 'fsl_qe_ucode_uart_\(%u\|[0-9]*\)_\(%u\|[0-9]*\)\(%u\|[0-9]*\)\.bin' drivers/serial/ucc_uart.c + + blobname 'atmel_at76c50\(3-\(i386[13]\|rfmd\(-acc\)\?\)\|5\(a\(mx\)\?\)\?-rfmd\(2958\)\?\)\.bin' 'drivers/\(\(staging\|net/wireless\)/at76_usb/at76_usb\.c\|at76c50x-usb\.c\)' + + accept 'static[ ]struct[ ]go7007_usb_board[ ]board_\(matrix_\(ii\|reload\|revolution\)\|star_trek\|px_tv402u\|xmen\|lifeview_lr192\|endura\|adlink_mpg24\|sensoray_2250\)[ ]=[ ][{][\n]\([ ]\.flags[ ]*=[ ][^",]*,[\n]*\)*[ ]\.main_info[ ]*=[ ][{][\n][ ][ ]\.firmware[ ]*=[ ]' drivers/staging/go7007/go7007-usb.c + accept 'static[ ]struct[ ]go7007_board_info[ ]board_voyager[ ]=[ ][{][\n][ ]\.firmware[ ]*=[ ]' drivers/staging/go7007/saa7134-go7007.c + blobname 'go7007\(fw\|tv\)\.bin' 'drivers/staging/go7007/\(go7007-\(driver\|usb\)\|saa7134-go7007\)\.c' + + blobname 'cxacru-\(%s\|fw\|bp\|cf\)\.bin' drivers/usb/atm/cxacru.c + + blobname 'speedtch-\(%d\|[0-9]*\)\.bin\(\.\(%x\|\(0x\)\?[0-9a-fA-F]*\)\(\.\(%02x\|[0-9a-fA-F][0-9a-fA-F]\)\)\?\)\?' drivers/usb/atm/speedtch.c + + blobname 'ueagle-atm[/]' drivers/usb/atm/ueagle-atm.c + blobname '\(adi930\|eagle\(I*\|IV\)\)\.fw' drivers/usb/atm/ueagle-atm.c + blobname 'DSP[49e][ip]\.bin' drivers/usb/atm/ueagle-atm.c + blobname '930-fpga\.bin' drivers/usb/atm/ueagle-atm.c + blobname 'CMV[x9ae][yip]\.bin\(\.v2\)\?' drivers/usb/atm/ueagle-atm.c + + blobname 'isight\.fw' drivers/usb/misc/isight_firmware.c + + blobname '\(i1480-\(pre-phy\|usb\|phy\)\|ptc\)-0\.0\.bin' drivers/uwb/i1480/dfu/usb.c + + accept '[ ]retval[ ]=[ ]request_firmware[(][&]fw_entry,[ ]["]metronome\.wbf["],[ ][&]dev->dev[)][;]' drivers/video/metronomefb.c + + blobname '\(vx[/]\)\?\(bx_1_v\(xp\|p4\)\.b56\|x1_\(1_v\(x[2p]\|p4\)\|2_v22\)\.xlx\|bd56\(002\|3v2\|3s3\)\.boot\|l_1_v\(x[2p]\|p4\|22\)\.d56\)' sound/drivers/vx/vx_hwdep.c + + blobname '\(ea[/]\)\?darla20_dsp\.fw' sound/pci/echoaudio/darla20.c + blobname '\(ea[/]\)\?darla24_dsp\.fw' sound/pci/echoaudio/darla24.c + blobname '\(ea[/]\)\?\(\(loader\|echo3g\)_dsp\|3g_asic\)\.fw' sound/pci/echoaudio/echo3g.c + blobname '\(ea[/]\)\?gina20_dsp\.fw' sound/pci/echoaudio/gina20.c + blobname '\(ea[/]\)\?\(\(loader\|gina24_3[06]1\)_dsp\|gina24_3[06]1_asic\)\.fw' sound/pci/echoaudio/gina24.c + blobname '\(ea[/]\)\?\(loader\|indigo\)_dsp\.fw' sound/pci/echoaudio/indigo.c + blobname '\(ea[/]\)\?\(loader\|indigo_dj\)_dsp\.fw' sound/pci/echoaudio/indigodj.c + blobname '\(ea[/]\)\?\(loader\|indigo_io\)_dsp\.fw' sound/pci/echoaudio/indigoio.c + blobname '\(ea[/]\)\?layla20_\(dsp\|asic\)\.fw' sound/pci/echoaudio/layla20.c + blobname '\(ea[/]\)\?\(\(loader\|layla24\)_dsp\|layla24_\(1\|2[AS]\)_asic\)\.fw' sound/pci/echoaudio/layla24.c + blobname '\(ea[/]\)\?\(loader\|mia\)_dsp\.fw' sound/pci/echoaudio/mia.c + blobname '\(ea[/]\)\?\(\(loader\|mona_3[06]1\)_dsp\|mona_3[06]1\(_1\)\?_asic_\(48\|96\)\|mona_2_asic\)\.fw' sound/pci/echoaudio/gina24.mona + blobname 'ea[/]%s' sound/pci/echoaudio/echoaudio.c + + blobname 'emu[/]\(hana\|\(audio\|micro\)_dock\|emu\(0404\|1010\(b\|_notebook\)\)\)\.fw' sound/pci/emu10k1/emu10k1_main.c + + blobname '\(mixart[/]\)\?miXart8\(AES\)\?\.\(xlx\|elf\)' sound/pci/mixart/mixart_hwdep.c + + blobname '\(pcxhr[/]\)\?\(x[ic]_1_882\|[ebd]321_512\|xlxint\|\(xlxc\|dsp[ebd]\)\(882\|1\?222\|924\)\(e\|hr\)\?\)\(\.dat\|\.[ebd]56\)' sound/pci/pcxhr/pcxhr_hwdep.c + + blobna 'You[ ]need[ ]to[ ]install[\n]*riptide\.hex[\n]\.[\n]' Documentation/sound/alsa/ALSA-Configuration.txt + blobname 'riptide\.hex' sound/pci/riptide/riptide.c + defsnc 'static[ ]union[ ]firmware_version[ ]firmware_versions\[\][ ]=' sound/pci/riptide/riptide.c + blobna 'chip->firmware[ ]=[ ]firmware[;]' sound/pci/riptide/riptide.c + + blobname '\(multi\|digi\)face_firmware\(_rev11\)\?\.bin' sound/pci/rme9652/hdsp.c + + accept '[ ][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Caution:[ ]This[ ]API[^*]*\([*]\+[^/*][^*]*\)*[*]*request_firmware.' sound/sound_firmware.c + accept 'static[ ]int[ ]do_mod_firmware_load[(]' sound/sound_firmware.c + accept 'int[ ]mod_firmware_load[(]' sound/sound_firmware.c + accept '[ ]r[ ]=[ ]do_mod_firmware_load[(]' sound/sound_firmware.c + accept 'EXPORT_SYMBOL[(]mod_firmware_load[)][;]' sound/sound_firmware.c + accept 'extern[ ]int[ ]mod_firmware_load[(]' sound/oss/sound_firmware.h + + accept '[ ]INITCODESIZE[ ]=[ ]mod_firmware_load[(]INITCODEFILE,[ ][&]INITCODE[)][;]' sound/oss/msnd_pinnacle.c + accept '[ ]PERMCODESIZE[ ]=[ ]mod_firmware_load[(]PERMCODEFILE,[ ][&]PERMCODE[)][;]' sound/oss/msnd_pinnacle.c + blobname '\([/]etc[/]sound[/]\|turtlebeach[/]\)\?pndsp\(ini\|erm\)\.bin' '\(sound/oss/msnd_pinnacle.h\|Documentation/sound/alsa/ALSA-Configuration.txt\)' + blobname '\([/]etc[/]sound[/]\|turtlebeach[/]\)\?msnd\(init\|perm\)\.bin' '\(sound/oss/msnd_classic.h\|Documentation/sound/alsa/ALSA-Configuration.txt\)' + blobna '\(Important[ ]Notes[ ]-[ ]Read[ ]Before[ ]Using\|Obtaining[ ]and[ ]Creating[ ]Firmware[ ]Files\)[\n]#[ ][ ]~*\([^\n]\|[\n]#[ ]*\([\n]#[ ]*\([\n]#[ ]*For[ ]the[^\n]*[\n]#[ ]*~*[\n]\)\?\)\?[^\n ]\)*\.' Documentation/sound/oss/MultiSound + + accept '[ ]len[ ]=[ ]mod_firmware_load[(]fn,[ ][&]data[)][;][\n][ ]if[ ][^{]*[ ][{][\n][ ][ ]*printk[(]KERN_ERR[ ]["]sscape:' sound/oss/sscape.c + blobname '[/]sndscape[/]\(scope\.cod\|sndscape\.co\([?dx01234]\|%d\)\)' sound/oss/sscape.c + + accept '[ ][ ]trix_boot_len[ ]=[ ]mod_firmware_load[(]' sound/oss/trix.c + blobname '\([/]etc[/]sound[/]\)\?trxpro\.bin' sound/oss/trix.c + + accept '[ ][ ]smw_ucodeLen[ ]=[ ]mod_firmware_load[(]' sound/oss/sb_common.c + blobname '\([/]etc[/]sound[/]\)\?midi0001\.bin' sound/oss/sb_common.c + blobname '\([/]etc[/]sound[/]\|turtlebeach[/]\)\?msnd\(init\|perm\)\.bin' sound/oss/Kconfig + + blob 'When[ ]the[ ]module[ ]is[ ]loaded[^\n]*\([\n][^\n]*\)*[/]pss_synth[^\n]*\([\n][^\n]*\)*' Documentation/sound/oss/PSS + blob 'pss_firmware[ \n ]*This[ ]parameter[^\n]*\([\n][^\n]*\)*[/]pss_synth[^\n]*\([\n][^\n]\+\)*' Documentation/sound/oss/PSS-updates + accept '[ ][ ]pss_synthLen[ ]=[ ]mod_firmware_load[(]pss_firmware,[ ][(]void[ ][*][)][ ][&]pss_synth[)][;]' sound/oss/pss.c + accept '[ ]*if[ ]\?[(]\(!\|fw_load[ ][&][&][ ]\)\?pss_synth' sound/oss/pss.c + accept '[ ]*if[ ][(]!pss_download_boot[(]devc,[ ]pss_synth,[ ]pss_synthLen,' sound/oss/pss.c + accept '[ ]*vfree[(]pss_synth[)][;]' sound/oss/pss.c + blobna 'to[ ]allow[ ]the[ ]user[ ][^/"]*fir[em]ware[ ]file[^/"]*["][^"*]*["]' sound/oss/pss.c + blobname '\([/]etc[/]sound[/]\)\?pss_synth' sound/oss/pss.c + accept '[ ][$][(]obj[)][/]bin2hex[ ]pss_synth' sound/oss/Makefile + accept '[ ][ ]*echo[ ][\'"'"']static[ ]\(unsigned[ ]char[ ][*][ ]*\|int[ ]\)pss_synth\(Len\)\?[ ]=[ ]\(NULL\|0\)[;]' sound/oss/Makefile + + accept '[ ]\.request_firmware[ ]=[ ]NULL,' drivers/media/dvb/dvb-usb/m920x.c + + accept '[ ]*["]request_firmware[ ]\(fatal[ ]error\|unable[ ]to[ ]locate\|:[ ]Failed[ ]to[ ]find\)' drivers/media/video/pvrusb2/pvrusb2-hdw.c + accept '[ ][*][ ]NOTE[ ]:[ ]the[ ]pointer[ ]to[ ]the[ ]firmware[ ]data[ ]given[ ]by[ ]request_firmware[(][)]' drivers/media/video/pvrusb2-hdw.c + + blobname 'dvb-usb-\(dw\(210[124]\|3101\)\|s630\)\.fw' drivers/media/dvb/dvb-usb/dw2102.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]gp8psk_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/gp8psk.c + blobname 'dvb-usb-gp8psk-0[12]\.fw' drivers/media/dvb/dvb-usb/gp8psk.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]opera1_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/nova-t-usb2.c + blobname 'dvb-usb-opera-\(fpga-\)\?-01\.fw' drivers/media/dvb/dvb-usb/opera1.c + + blobname 'dvb-fe-af9013\.fw' drivers/media/dvb/frontends/af9013_priv.h + + blobname 'dvb-fe-bcm3510-01\.fw' drivers/media/dvb/frontends/bcm3510.c + + blobname 'dvb-fe-cx24116\.fw' drivers/media/dvb/frontends/cx24116.c + + blobname 'dvb-fe-nxt2002\.fw' drivers/media/dvb/frontends/nxt200x.c + + blob '[/][*][\n][ ][*][ ]This[ ]driver[ ]needs[ ]two[ ]external[ ]firmware[ ]files[^*]*\([*]\+[^/*][^*]*\)*[*]*dvb-fe-or51132-\(vsb\|qam\)\.fw[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/media/dvb/frontends/or51132.c + blobname 'dvb-fe-or51132-\(vsb\|qam\)\.fw' drivers/media/dvb/frontends/or51132.c + + blobname 'dvb-fe-or51211\.fw' drivers/media/dvb/frontends/or51211.c + + blobname 'dvb-fe-sp887x\.fw' drivers/media/dvb/frontends/sp887x.c + + blobname 'dvb-fe-tda10048-1\.0\.fw' drivers/media/dvb/frontends/tda10048.c + + blobname '\(\(dvb\|tdmb\|isdbt\)_nova\|cmmb_vega\)_12mhz\(_b0\)\?\.inp' drivers/media/dvb/siano/smscoreapi.c + + blobname '\(dvb[th]\(_bda\)\?\|tdmb\)_stellar_usb\.inp' drivers/media/dvb/siano/smsusb.c + + blobname 'dvb-ttusb-dec-\(2000t\|2540t\|3000s\)\.fw' drivers/media/dvb/ttusb-dec/ttusb_dec.c + + blob 'For[ ]the[ ]WinTV[/]PVR[^:]*firmware[^:]*:[\n]hcwamc\.rbf[^\n]*\([\n][^\n][^\n]*\)*' Documentation/video4linux/bttv/README + blobname 'hcwamc\.rbf' drivers/media/video/bt8xx/bttv-cards.c + blobna 'The[ ]hcwamc\.rbf[ ]firmware[ ]file[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/media/video/bt8xx/bttv-cards.c + + blobname 'v4l-cx23418-dig\.fw' drivers/media/video/cx18/cx18-av-firmware.c + blobname 'v4l-cx23418-[ac]pu\.fw' drivers/media/video/cx18/cx18-firmware.c + + blobname 'v4l-cx23885-enc\.fw' 'drivers/media/video/cx23\(1xx\|885\)/cx23885-417.c' + + blobname 'v4l-\(cx23\(885\|1xx\)-avcore-01\|cx25840\)\.fw' drivers/media/video/cx25840/cx25840-firmware.c + + blobname 'v4l-cx2341x-\(enc\|dec\)\.fw' include/media/cr2341x.h + + blobname 'v4l-cx2341x-init\.mpg' drivers/media/video/ivtv/ivtv-firmware.c + + blobname 'v4l-pvrusb2-\(2[49]\|73\)xxx-01\.fw' drivers/media/video/pvrusb2/pvrusb2-devattr.c + + blobname 'f2255usb\.bin' drivers/media/video/s2255drv.c + + blobname 'drx397xD\.\(A2\|B1\)\.fw' drivers/media/dvb/frontends/drx397xD_fw.h + + accept '#define[ ]DIB0700_DEFAULT_DEVICE_PROPERTIES[ ]\\[\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^\n",]*,[ ]\\[\n]\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dib0700_devices.c + blobname 'dvb-usb-dib0700-1\.[12]0\.fw' 'drivers/media/dvb/dvb-usb/dib0700_\(devices\|core\)\.c' + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]nova_t_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/nova-t-usb2.c + blobname 'dvb-usb-nova-t-usb2-02\.fw' drivers/media/dvb/dvb-usb/nova-t-usb2.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]umt_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/umt-010.c + blobname 'dvb-usb-umt-010-02\.fw' drivers/media/dvb/dvb-usb/umt-010.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]ttusb2_properties\(_s2400\)\?[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/ttusb2.c + blobname 'dvb-usb-\(pctv-400e\|tt-s2400\)-01\.fw' drivers/media/dvb/dvb-usb/ttusb2.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]cxusb_bluebird_\(lgh064f\|dee1601\|lgz201\|dtt7579\|nano2_needsfirmware\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/cxusb.c + blobname 'dvb-usb-bluebird-0[12]\.fw' drivers/media/dvb/dvb-usb/cxusb.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(dtt200u\|wt220u\(_\(fc\|zl0353\|miglia\)\)\?\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dtt200u.c + blobname 'dvb-usb-\(dtt200u-01\|wt220u-\(02\|fc03\|\(zl0353\|miglia\)-01\)\)\.fw' drivers/media/dvb/dvb-usb/dtt200u.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]vp7045_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/vp7045.c + blobname 'dvb-usb-vp7045-01\.fw' drivers/media/dvb/dvb-usb/vp7045.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(dibusb\(1_1\(_an2235\)\?\|2_0b\)\|artec_t1_usb2\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dibusb-mb.c + blobname 'dvb-usb-\(dibusb-\(5\.0\.0\.11\|an2235-01\|6\.0\.0\.8\)\|adstech-usb2-02\)\.fw' drivers/media/dvb/dvb-usb/dibusb-mb.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]a800_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/a800.c + blobname 'dvb-usb-avertv-a800-02\.fw' drivers/media/dvb/dvb-usb/a800.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]af9005_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/af9005.c + blobname 'af9005\.fw' drivers/media/dvb/dvb-usb/af9005.c + + accept '[ ][ ]\.download_firmware[ ]=[ ]af9015_download_firmware,[\n][ ][ ]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/af9015.c + blobname 'dvb-usb-af9015\.fw' drivers/media/dvb/dvb-usb/af9015.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]dibusb_mc_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dibusb-mc.c + blobname 'dvb-usb-dibusb-6\.0\.0\.8\.fw' drivers/media/dvb/dvb-usb/dibusb-mc.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(megasky\|digivox_mini_ii\|tvwalkertwin\|dposh\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/m920x.c + blobname 'dvb-usb-\(\(megasky\|digivox\)-02\|tvwalkert\|dposh-01\)\.fw' drivers/media/dvb/dvb-usb/m920x.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]vp702x_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/vp702x.c + blobname 'dvb-usb-vp702x-02\.fw' drivers/media/dvb/dvb-usb/vp702x.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]digitv_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/digitv.c + blobname 'dvb-usb-digitv-02\.fw' drivers/media/dvb/dvb-usb/digitv.c + + blob 'Driver:[ ]\(acenic\|ADAPTEC_STARFIRE\|cxgb3\|e100\|tigon3\|korg1212\|maestro3\|ymfpci\|smctr\|kaweth\|ttusb-budget\|keyspan\|emi26\|emi62\|t[iu]_usb_3410_5052\|whiteheat\|ip2\|CPiA2\|DABUSB\|USB_VICAM\|USB_SERIAL_EDGEPORT\(_TI\)\?\|SND_SB16_CSP\|CASSINI\|ambassador\|SCSI_\(ADVANSYS\|QLOGIC\(_1280\|PTI\)\)\|TEHUTI\|TYPHOON\|YAM\|3C359\|PCMCIA_\(PCNET\|SMC91C92\|3C5\(89\|74\)\)\|MYRI_SBUS\|BNX2\|bnx2x\|wavefront\|SERIAL_8250_CS\|mga\|r128\|radeon\|ib_qib\)\([ ]--*\|:\)[ ]\([^\n]\|[\n]*[^\n\-]\)*\([\n][\n]--*[\n][\n]\?Driver:[ ]\(acenic\|ADAPTEC_STARFIRE\|cxgb3\|e100\|tigon3\|korg1212\|maestro3\|ymfpci\|smctr\|kaweth\|ttusb-budget\|keyspan\|emi26\|emi62\|t[iu]_usb_3410_5052\|whiteheat\|ip2\|CPiA2\|DABUSB\|USB_VICAM\|USB_SERIAL_EDGEPORT\(_TI\)\?\|SND_SB16_CSP\|CASSINI\|ambassador\|SCSI_\(ADVANSYS\|QLOGIC\(_1280\|PTI\)\)\|TEHUTI\|TYPHOON\|YAM\|3C359\|PCMCIA_\(PCNET\|SMC91C92\|3C5\(89\|74\)\)\|MYRI_SBUS\|BNX2\|bnx2x\|wavefront\|SERIAL_8250_CS\|mga\|r128\|radeon\|ib_qib\)\([ ]--*\|:\)[ ]\([^\n]\|[\n]*[^\n\-]\)*\)*' firmware/WHENCE + + blobname 'sms1xxx-\(stellar\|nova-[ab]\|hcw-55xxx\)-dvbt-0[12]\.fw' drivers/media/dvb/siano/sms-cards.c + + accept '[ ][ ][ ][ ]mv[ ]["][$]ofile["][ ]["][$]ofile\.elf["]' arch/powerpc/boot/wrapper + accept '[ ][ ][ ][ ][$]objbin[/]mktree[ ]["][$]ofile\.elf["]' arch/powerpc/boot/wrapper + accept '[ ]rm[ ]-f[ ]["][$]ofile\.elf["]' arch/powerpc/boot/wrapper + accept '[ ][ ][ ][ ][$][{]CROSS[}]objcopy[ ]-O[ ]binary[ ]["][$]ofile["][ ]["][$]ofile\.bin["]' arch/powerpc/boot/wrapper + accept '[ ][ ][ ][ ]dd[ ]if=["][$]ofile\.bin["][ ]of=["][$]ofile\.bin["]' arch/powerpc/boot/wrapper + accept '[ ][ ][ ][ ]odir=["][$][(]dirname[ ]["][$]ofile\.bin["][)]["]' arch/powerpc/boot/wrapper + accept '[ ][ ][ ][ ]gzip[ ]--force[ ]-9[ ]--stdout[ ]["][$]ofile\.bin["][ ]>[ ]["][$]odir[/]otheros\.bld["]' arch/powerpc/boot/wrapper + accept '[ ]\.incbin[ ]["]arch[/]x86[/]kernel[/]acpi[/]realmode[/]wakeup\.bin["]' arch/x86/kernel/acpi/wakeup_rm.S + accept '[;]set[ ]executable[ ]["]2232\.bin["]' drivers/char/ser_a2232fw.ax + + blobname 'di\(\(dn\|pr\)load\|diva\(pp\)\?\|hscx\|v110\|modem\|fax\|_etsi\|_\(1tr6\|belg\|franc\|atel\|ni\|5ess\|japan\|swed\)\|dspdld\)\.\(bin\|s[xyqm]\|p\)' drivers/isdn/hardware/eicon/cardtype.h + blobname 'dsp\(dload\|dqsig\|dvmdm\|dvfax\)\.bin' drivers/isdn/hardware/eicon/dsp_defs.h + + blobname 'vicam[/]firmware\.fw' drivers/media/video/usbvideo/vicam.c + + accept '#include[ ]["]ixp2400_[rt]x\.ucode["]' drivers/net/ixp2000/ixpdev.c + + # New in 2.6.29 + blobname 'acenic[/]tg[12]\.bin' drivers/net/acenic.c + blobname 'adaptec[/]starfire_[rt]x\.bin' drivers/net/starfire.c + blobname 'e100[/]d10\(1[ms]\|2e\)_ucode\.bin' drivers/net/e100.c + blobname 'tigon[/]tg3\(_tso5\?\)\?\.bin' drivers/net/tg3.c + blobname '\(ti_usb-v\(%04x\|[0-9a-f]*\)-p\(%04x\|[0-9a-f]*\)\|mts_\(cdma\|gsm\|edge\)\)\.\(bin\|fw\)' drivers/usb/serial/ti_usb_3410_5052.c + blobname 'iw\?\(2400\|6050\)m\?-fw-\(sdio\|usb\)-\(\(["][ ]I2400M_FW_VERSION[ ]["]\|[0-9.]*\)\.sbcf\|[^". \n]*\)' 'drivers/net/wimax/i2400m/\(sdio\|usb\)\.c' + blob '3\.[ ]Installing[ ]the[ ]firmware[^\n]*\([\n][\n]*[ ][ ][ ][^\n]*\)*[\n]*[$][^\n]*i2400m-fw[^\n]*\([\n][\n]*[ ][ ][ ][^\n]*\)*' Documentation/wimax/README.i2400m + blob '6\.1\.[ ]Driver[ ]complains[^\n]*i2400m-fw[^\n]*\([\n][\n]*\([ ][ ][ ]\|i2400m_usb\)[^\n]*\)\+' Documentation/wimax/README.i2400m + accept '[ ][ ]ranges[ ]=[ ]<'"$blobpat*"'>[;]' 'arch/powerpc/boot/dts/\(mpc8572ds\|p2020ds\|katmai\)\.dts' + accept '\(div_table_\(clz\|inv\|ix\)\|zero_l\):\([\n][ ]\.\(byte[ ]-\?[0-9]*\|long[ ]0x[0-9A-F]*\)\)*' arch/sh/lib/udivsi3_i4i.S + defsnc 'const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]=' crypto/aes_generic.c + accept '[ ][ ][ ]every[ ]driver[ ]which[ ]uses[ ]request_firmware[(][)][ ]and[ ]ships[ ]its' drivers/base/Kconfig + defsnc 'static[ ]const[ ]u32[ ]filter_table\[\][ ]=' drivers/gpu/drm/i915/intel_tv.c + defsnc 'static[ ]u8[ ]af9015_ir_table_\(avermedia\(_ks\)\?\|digittrade\|trekstor\)\[\][ ]=' drivers/media/dvb/dvb-usb/af9015.h + defsnc '[ ]static[ ]__u8[ ]lgdt3304_\(vsb8\|qam\(64\|256\)\)_data\[\][ ]=' drivers/media/dvb/frontends/lgdt3304.c + defsnc 'static[ ]u8[ ]\(init\|c\)_table\[\]=' drivers/media/dvb/frontends/s921_core.c + defsnc 'static[ ]\(const[ ]\)\?struct[ ]stb0899_tab[ ]stb0899_\(cn\|dvbs2\?rf\|quant\|est\)_tab\[\][ ]=' drivers/media/dvb/frontends/stb0899_drv.c + defsnc 'static[ ]const[ ]struct[ ]stb6100_lkup[ ]lkup\[\][ ]=' drivers/media/dvb/frontends/stb6100.c + initnc 'static[ ]const[ ]__u8[ ]ov\(534\|772x\)_reg_initdata\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c + defsc 'static[ ]const[ ]\(__\)\?u8[ ]\(mi\(0360\|13[12]0\)\|po\(1200\|3130\)\|hv7131r\|ov76[67]0\)_\(\(soc\)\?_\?[iI]nit\(Q\?V\|SX\)GA\(_\(JPG\|data\)\)\?\|rundata\)\[\]\[4\][ ]=' drivers/media/video/gspca/vc032x.c + defsnc 'static[ ]\(const[ ]\)\?u\(32\|_int32_t\)[ ]ar928[05]\(Common\|Modes\(_\(fast_clock\|backoff_[12]3db_rxgain\|\(original\|high_power\)_[tr]x_\?gain\)\)\?\)_928\(0_2\|5\(_1_2\)\?\)\[\]\[[236]\][ ]=' 'drivers/net/wireless/ath9k/\(ar9002_\)\?initvals\.h' + defsnc 'static[ ]u32[ ]channel_tbl\[15\]\[9\][ ]=' drivers/staging/agnx/rf.c + defsnc 'static[ ]const[ ]u32[\n]gain_table\[\][ ]=' drivers/staging/agnx/rf.c + accept '<[frs]:[0-9]*x[0-9]*>[\n][01 \n]*' 'drivers/staging/asus_oled/\(linux\(_fr\?\)\?\|tux\(_r2\?\)\?\|zig\).txt' + defsnc 'static[ ]unsigned[ ]char[ ]\(aud\|vid\)_regs\[\][ ]=' drivers/staging/go7007/s2250-board.c + defsnc 'static[ ]u16[ ]vid_regs_fp\[\][ ]=' drivers/staging/go7007/s2250-board.c + blobname 's2250\(_loader\)\?\.fw' drivers/staging/go7007/s2250-loader.c + blobna 'me_xilinx_download' 'drivers/staging/meilhaus/.*' + accept 'int[ ]me_xilinx_download[(]' 'drivers/staging/meilhaus/mefirmware\.[ch]' + blobname 'me46[01]0\(_bosch\)\?\.bin' drivers/staging/meilhaus/me4600_device.c + accept '\([ ]if[ ][(]me4600_device->base\.info\.pci\.device_id[ ]==[ ]PCI_DEVICE_ID_MEILHAUS_ME4610[)][ ][{][ ][/][/]Jekyll[ ]<=>[ ]me4610\|#ifdef[ ]BOSCH\|#else[ ][/][/]~BOSCH\)[\n][ ][ ]err[ ]=[\n][ ][ ][ ][ ][ ][ ]me_xilinx_download[(]me4600_device' drivers/staging/meilhaus/me4600_device.c + blobname 'me6000\.bin' drivers/staging/meilhaus/me6000_device.c + accept '[ ][/][*][ ]Download[ ]the[ ]xilinx[ ]firmware[ ][*][/][\n][ ]err[ ]=[ ]me_xilinx_download[(]me6000_device' drivers/staging/meilhaus/me6000_device.c + defsnc '[ ][}][ ]grtpkts\[\][ ]=' drivers/staging/mimio/mimio.c + defsnc 'u16_t[ ]zgTkipSbox\(Lower\|Upper\)\[256\][ ]=' drivers/staging/otus/80211core/ctkip.c + accept '[ ]*[/][*][ ]*0\([ ]*[123]\)*[ ]*[*][/][\n][ ]*[/][*][ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9\([ ][0-9]\)*[ ][*][/]' drivers/staging/otus/80211core/ctxrx.c + defsnc 'u32_t[ ]crc32_tab\[\][ ]=' drivers/staging/otus/80211core/cwep.c + blob 'const[ ]u32_t[ ]zc\(DK\|P2\)\?Fw\(Buf\)\?Image\(SPI\)\?\(\[\][ ]*=[ ]*[{][^;]*[}]\|Size[ ]*=[ ]*[0-9]*\)[;]\([\n][\n]*const[ ]u32_t[ ]zc\(DK\|P2\)\?Fw\(Buf\)\?Image\(SPI\)\?\(\[\][ ]*=[ ]*[{][^;]*[}]\|Size[ ]*=[ ]*[0-9]*\)[;]\)*' 'drivers/staging/otus/hal/hp.*fwu.*\.c' + blob 'extern[ ]const[ ]u32_t[ ]zc\(DK\|P2\)\?Fw\(Buf\)\?Image\(SPI\)\?\(\[\]\|Size\)[;]\([\n]extern[ ]const[ ]u32_t[ ]zc\(DK\|P2\)\?Fw\(Buf\)\?Image\(SPI\)\?\(\[\]\|Size\)[;]\)*' drivers/staging/otus/hal/hpmain.c + defsnc '[ ][ ][ ][ ]u32_t[ ]eepromBoardData\[15\]\[6\][ ]=' drivers/staging/otus/hal/hpmain.c + defsnc 'static[ ]const[ ]u32_t[ ]channel_frequency_11A\[\][ ]=' drivers/staging/otus/ioctl.c + defsnc 'static[ ]const[ ]u32_t[ ]\(ar5416Modes\|otusBank\)\[\]\[[36]\][ ]=' drivers/staging/otus/hal/otus.ini + defsnc '[ ][ ][ ][ ]static[ ]UINT32[ ]MD5Table\[64\][ ]=' 'drivers/staging/rt28[67]0/common/md5\.c' + defsnc 'static[ ]uint32[ ][FR]Sb\[256\][ ]=' 'drivers/staging/rt28[67]0/common/\(md5\|cmm_aes\)\.c' + defsnc '\(UCHAR\|u8\)[ ]RateSwitchTable\(11B\?G\?\(N[123]S\(ForABand\)\?\)\?\)\?\[\][ ]=' 'drivers/staging/rt28[67]0/common/mlme\.c' + defsnc '\(UCHAR\|u8\)[ ]*ZeroSsid\[32\][ ]=' 'drivers/staging/rt28[67]0/common/mlme\.c' + defsnc '\(RTMP_RF_REGS\|struct[ ]rt_rtmp_rf_regs\)[ ]RF2850RegTable\[\][ ]=' 'drivers/staging/rt28[67]0/common/\(mlme\.c\|cmm_asic\.c\)' + defsnc '\(FREQUENCY_ITEM\|struct[ ]rt_frequency_item\)[ ]FreqItems3020\[\][ ]=' 'drivers/staging/rt28[67]0/common/\(mlme\.c\|cmm_asic\.c\)' + blob '\(UCHAR\|u8\)[ ]FirmwareImage\(_\(2870\|30[79]0\)\)\?[ ]\[\][ ]=[ ][{][^;]*[}][ ][;]' 'drivers/staging/rt\(28[67]\|30[79]\)0/common/firmware\(_3070\)\?\.h' + defsnc 'ULONG[ ][ ]*BIT32\[\][ ]=' 'drivers/staging/rt28[67]0/common/rtmp_init\.c' + defsnc 'const[ ]unsigned[ ]short[ ]ccitt_16Table\[\][ ]=' 'drivers/staging/rt\(28[67]0\|3090\)/common/rtmp_init\.c' + blobna '\(pFirmwareImage[ ]=\([ ]FirmwareImage\(_\(28[67]\|30[79]\)0\)\?\|[\n ]*[(]\(PUCHAR\|u8[ ][*]\)[)][&][\n ]*FirmwareImage\(_\(28\|30\)70\)\?\[FIRMWAREIMAGE\(V[12]\)\?_LENGTH\]\)\|File[lL]ength[ ]=[ ]\(sizeof[(]FirmwareImage[)]\|FIRMWAREIMAGE\(V[12]\|_MAX\)\?_LENGTH\)\)[;]\([\n ]*\(pFirmwareImage[ ]=\([ ]FirmwareImage\(_\(28[67]\|30[79]\)0\)\?\|[\n ]*[(]\(PUCHAR\|u8[ ][*]\)[)][&][\n ]*FirmwareImage\(_\(28\|30\)70\)\?\[FIRMWAREIMAGE\(V[12]\)\?_LENGTH\]\)\|File[lL]ength[ ]=[ ]\(sizeof[(]FirmwareImage[)]\|FIRMWAREIMAGE\(V[12]\|_MAX\)\?_LENGTH\)\)[;]\)*' 'drivers/staging/rt\(28[67]0\|30[79]0\)/common/rtmp_init\.c' + blobname 'rate\.bin' drivers/staging/rt2870/rtmp_init.c + defsnc '\(U\(INT\|CHAR\)\|u\(32\|8\)\)[ ]\(Tkip_Sbox_\(Lower\|Upper\)\|SboxTable\)\[256\][ ]=' 'drivers/staging/rt\(28[67]0\|3070\)/common/\(rtmp\|cmm\)_tkip\.c' + defsnc '\(UINT\|u32\)[ ]FCSTAB_32\[256\][ ]=' 'drivers/staging/rt\(28[67]0\|3070\)/common/\(rtmp\|cmm\)_wep\.c' + accept '[ ]*#[ ]*define[ ]\(STA_PROFILE\|CARD_INFO\)_PATH[ ]*["][/]etc[/]Wireless[/]RT\(28[67]\|307\)0STA[/]RT\(28[67]\|307\)0STA\(Card\)\?\.dat["]' 'drivers/staging/rt\(28[67]0\|3070\)/rt_linux\.h' + blobname '\([/]etc[/]Wireless[/]\)\?\(RT\(28[67]\|307\)0STA[/]\)\?\(RT\(28[67]\|307\)0STA\|rt28[67]0\)\.bin' 'drivers/staging/rt\(28[67]0\|3070\)/rt_linux\.h' + blobname '\([/]etc[/]Wireless[/]\)\?\(RT28[67]0STA[/]\)\?e2p\.bin' 'drivers/staging/rt\(28[67]0\|3070\)/rt_ate\.[hc]' + defsnc '\([ ][ ][ ][ ]\|[ ]\)u_int32_t[ ]ralinkrate\[256\][ ]=' 'drivers/staging/rt\(28[67]0\|3070\)/rt_linux\.c' + defsnc 'unsigned[ ]char[ ]\(QUALITY\|STRENGTH\)_MAP\[\][ ]=' drivers/staging/rtl8187se/r8180_core.c + defsnc 'u\(8\|16\|32\)[ ]rtl8225\(\(a\|bcd\?\)_rxgain\|agc\|tx_\(gain_cck\|power\)_ofdm\|tx_power_cck\(_ch14\)\?\)\[\]=' drivers/staging/rtl8187se/r8180_rtl8225.c + defsnc '\(static[ ]const[ ]\)\?u\(8\|16\|32\)[ ]\(rtl8225\(z2\)\?_\(threshold\|gain_\(a\|bg\)\|chan\|rxgain\|agc\|tx_\(gain_cck\|power\)_ofdm\|tx_power_cck\(_ch14\)\?\)\|ZEBRA2_CCK_OFDM_GAIN_SETTING\)\[\][ ]\?=' drivers/staging/rtl8187se/r8180_rtl8225z2.c + defsnc 'static[ ]short[ ]rtl8255_agc\[\]=' drivers/staging/rtl8187se/r8180_rtl8255.c + defsnc '[ ]\?static[ ]u\(8\|32\)[ ]\(MAC_REG_TABLE\[\]\[2\]\|[ ]*ZEBRA_\(AGC\|RF_RX_GAIN_TABLE\)\[\]\|OFDM_CONFIG\[\]\)=' drivers/staging/rtl8187se/r8185b_init.c + accept '[ ]-[ ]move[ ]firmware[ ]loading[ ]to[ ]request_firmware[(][)]' drivers/staging/slicoss/README + blobname '\(\(oasis\|gb\)_rcv\|slic_\(oasis\|mojave\)\)\.bin' drivers/staging/slicoss/slicoss.c + + blob 'static[ ]unsigned[ ]char[ ]xilinx_firm\(_4610\)\?\[\][ ]=[ ][{]'"$sepx$blobpat*$sepx"'[}][;]' 'drivers/staging/me4000/me4\(00\|61\)0_firmware\.h' + blob 'static[ ]struct[ ]PHY_UCODE[ ]PhyUcode\[\][ ]=[^;]*[;]' drivers/staging/sxg/sxgphycode.h + blob 'static[ ]unsigned[ ]char[ ]SaharaUCode\[2\]\[57972\][ ]=[^;]*[;]' drivers/staging/sxg/saharadbgdownload.h + blob '#include[ ]["]\(sxgphycode\(-1\.2\)\?\|saharadbgdownload\)\.h["]\([\n][\n]*#include[ ]["]\(sxgphycode\(-1\.2\)\?\|saharadbgdownload\)\.h["]\)*' drivers/staging/sxg/sxg.c + blob 'static[ ]u8[ ]\(Mojave\|Oasis\)UCode\[2\]\[65536\][ ]=[^;]*[;]' 'drivers/staging/slicoss/\(gb\|oasis\(dbg\)\?\)download\.h' + blob 'static[ ]u8[ ]\(GB\|Oasis\)RcvUCode\[2560\][ ]=[^;]*[;]' 'drivers/staging/slicoss/\(gb\|oasis\)rcvucode\.h' + blob '#include[ ]["]\(gb\|oasis\)\(dbg\)\?\(download\|rcvucode\)\.h["]\([\n][\n]*#include[ ]["]\(gb\|oasis\)\(dbg\)\?\(download\|rcvucode\)\.h["]\)*' drivers/staging/slicoss/slicoss.c + blobna 'instruction[ ]=[ ][^;]*\(Oasis\|GB\|Mojave\)\(Rcv\)\?UCode[^:}]*[;]' drivers/staging/slicoss/slicoss.c + blobna 'seq_printf[(]seq[,][ ]["][^"]*%s[ ]%s[^"]*["][,][ \n]*\(GB_RCV\|MOJAVE_\)UCODE_VERS_STRING[,][ ]\(GB_RCV\|MOJAVE_\)UCODE_VERS_DATE[)][;]\([ \n]*seq_printf[(]seq[,][ ]["][^"]*%s[ ]%s[^"]*["][,][ \n]*\(GB_RCV\|MOJAVE_\)UCODE_VERS_STRING[,][ ]\(GB_RCV\|MOJAVE_\)UCODE_VERS_DATE[)][;]\)*' drivers/staging/slicoss/slicoss.c + blobna 'numsects[ ]=[ ][OM]NumSections[;][\n][ ]*for[ ][(][^;]*[;][^;]*[;][^;{]*[)][ ][{][\n][^}]*[\n][ ][ ][}]' drivers/staging/slicoss/slicoss.c + + # post 2.6.29 patches + defsnc 'static[ ]int[ ]atom_dst_to_src\[8\]\[4\][ ]=' drivers/gpu/drm/radeon/atom.c + defsnc 'const[ ]unsigned[ ]char[ ]map_table\[\][ ]=' drivers/input/lirc/lirc_ttusbir.c + defsnc '\(static[ ]\)\?\(const[ ]\)\?struct[ ]au8522_register_config[ ]lpfilter_coef\[\][ ]=' drivers/media/dvb/frontends/au8522_decoder.c + defsnc 'static[ ]const[ ]u8[ ]jpeg_head\[\][ ]=' drivers/media/video/gspca/jpeg.h + defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init_ov\(7[27]2x\|965x\(_2\)\?\)\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c + defsnc '[ ]static[ ]const[ ]u8[ ]probe_tb\[\]\[4\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c + defsnc 'static[ ]const[ ]u8[ ]eeprom_data\[\]\[3\][ ]=' drivers/media/gspca/tv8532.c + defsnc '\(static[ ]uint32_t\|[}]\)[ ]nv04_graph_ctx_regs[ ]\?\[\][ ]=' drivers/char/drm/nv04_graph.c + defsnc 'static[ ]int[ ]nv10_graph_ctx_regs[ ]\?\[\][ ]=' drivers/char/drm/nv10_graph.c + + # This looks suspicious, but it pretty much just sets stuff to zero. + initnc 'static[ ]__u8[ ]mode8420\(pro\|con\)\[\][ ]=' drivers/media/video/cs8420.h + + # quite suspicious + # arch/parisc/kernel/perf_images.h + initc 'static[ ]uint32_t[ ]onyx_images\[\]\[PCXU_IMAGE_SIZE[/]sizeof[(]uint32_t[)]\][ ]__read_mostly[ ]=' + initc 'static[ ]uint32_t[ ]cuda_images\[\]\[PCXW_IMAGE_SIZE[/]sizeof[(]uint32_t[)]\][ ]__read_mostly[ ]=' + + # These are regarded as ok + initnc 'static[ ]const[ ]u8[ ]SN9C102_\(Y\|UV\)_QTABLE[01]\[64\][ ]=[ ][{]' drivers/media/usb/sn9c102/sn9c102_config.h + initnc '[ ]static[ ]\(const[ ]\)\?u8[ ]jpeg_header\[589\][ ]=[ ][{]' media/video/sn9c102/sn9c102_core.c + accept '[ ][ ]\?err[ ]=[ ]sn9c102_write_const_regs[(]cam\(,[ \n]\+[{]0x[0-9a-fA-F][0-9a-fA-F],[ ]0x[0-9a-fA-F][0-9a-fA-F][}]\)*[)][;]' + + # too lax? + defsnc 'static[ ]yyconst[ ]\(flex_int\(16\|32\)_t\|\(\(short[ ]\)\?int\)\)[ ]yy_[^[]*\[[][0-9]*\][ ]=' + defsnc 'static[ ]const[ ]\(yytype_u\?int\(8\|16\)\|\(unsigned[ ]\)\?\(short\([ ]int\)\?\|char\)\)[ ]yy[^[]*\[\][ ]=' + defsnc '\([ ]\)\?static[ ]\(const[ ]\)\?\(unsigned[ ]\(short\|char\)\|struct[ ]SiS_[^ ]*\)[ ]SiS[^[]*\(\[[][ *0-9]*\]\)\+[ ]*=' + + initnc 'static[ ]const[ ]a3d_Hrtf_t[ ]A3dHrirZeros[ ]=[ ][{]' + initnc 'static[ ]const[ ]a3d_Hrtf_t[ ]A3dHrirImpulse[ ]=[ ][{]' + initnc 'static[ ]const[ ]a3d_Hrtf_t[ ]A3dHrirOnes[ ]=[ ][{]' + initnc 'static[ ]const[ ]a3d_Hrtf_t[ ]A3dHrirSatTest[ ]=[ ][{]' + initnc 'static[ ]const[ ]a3d_Hrtf_t[ ]A3dHrirDImpulse[ ]=[ ][{]' + initnc 'static[ ]const[ ]a3d_ItdDline_t[ ]A3dItdDlineZeros[ ]=[ ][{]' + initnc 'static[ ]auxxEqCoeffSet_t[ ]asEqCoefsNormal[ ]=[ ][{]' + defsnc 'static[ ]xtalk_dline_t[ ]const[ ]alXtalkDline\(Test\|Zeros\)[ ]=' sound/pci/au88x0/au88x0_xtalk.c + initnc 'static[ ]struct[ ]nand_ecclayout[ ]rtc_from4_nand_oobinfo[ ]=[ ][{]' + initnc 'static[ ]const[ ]s16[ ]tempLUT\[\][ ]=' + defsnc 'static[ ]const[ ]u8[ ]viaLUT\[\][ ]=' drivers/hwmon/via686a.c + initnc 'static[ ]struct[ ][{][ ]int[ ]xres,[ ]yres,[ ]left,[ ]right,[ ]upper,[ ]lower,[ ]hslen,[ ]vslen,[ ]vfreq[;][ ][}][ ]timmings\[\][ ]__initdata[ ]=[ ][{]' + initnc 'static[ ]struct[ ]platinum_regvals[ ]platinum_reg_init_[0-9]*[ ]=[ ][{]' + defsnc '[}][ ]sisfb_ddc[sf]modes\[\][ ]\(__devinitdata[ ]\)\?=' drivers/video/sis/sis_main.h + defsnc 'static[ ]struct[ ]dvb_pll_desc[ ][^\n]*[ ]=[ ][{]' drivers/media/dvb/frontends/dvb-pll.c + initnc 'static[ ]u32[ ]LABELPATCHES\[\][ ]__attribute[(][(]unused[)][)][ ]=' + + initnc 'static[ ]dbdev_tab_t[ ]dbdev_tab\[\][ ]=' + accept '\(EXP\|LOG\|ATAN\)TBL:'"$sepx$blobpat*" + initnc 'static[ ]char[ ]fm_volume_table\[128\][ ]=' + initnc 'unsigned[ ]int[ ]snd_gf1_scale_table\[SNDRV_GF1_SCALE_TABLE_SIZE\][ ]=' + # remaining after original deblob_2_6_24, not fully checked + + oprepline '#define[ ]OV51[18]_\(Y\|UV\)QUANTABLE[ ][{]' + initnc '[ ][ ]static[ ]unsigned[ ]char[ ]const[ ]data_bit\[64\][ ]=' + initnc '[ ][ ]static[ ]const[ ]u8[ ]data_sbit\[32\][ ]=' + initnc '[ ]\.RightCoefs[ ]=' + defsnc '[ ]#define[ ]WakeupSeq[ ][ ][ ][ ][{]' drivers/net/ethernet/i825xx/eepro.c + initnc '[ ]SetRate44100\[\][ ]=' + initnc '[ ]const[ ]short[ ]period\[32\][ ]=' + defsnc '[ ]\(const[ ]static\|static[ ]const\)[ ]int[ ]desc_idx_table\[\][ ]=' 'arch/arm/include/asm/hardware/iop3xx-adma.h|include/asm-arm/hardware/iop3xx-adma.h' + initnc '[ ]int[ ]prop_bcomm_irq\[3[*]16\][ ]=' + initnc '[ ]static[ ]char[ ]logSlopeTable\[128\][ ]=' + initnc '[ ]static[ ]const[ ]int[ ]uc_\(dup\|word\)_table\[\]\[2\][ ]=' + initnc '[ ]static[ ]const[ ]struct[ ]mc7_timing_params[ ]mc7_timings\[\][ ]=' + initnc '[ ]static[ ]const[ ]u8[ ]biphase_tbl\[\][ ]=' + initnc '[ ]static[ ]const[ ]u8[ ]cs170\[7[ ][*][ ]8\][ ]=' + initnc '[ ]static[ ]const[ ]u8[ ]cs3[13]a\[8[ ][*][ ]4\][ ]=' + initnc '[ ]static[ ]const[ ]u8[ ]dramsr13\[12[ ][*][ ]5\][ ]=' + defsnc '[ ]static[ ]const[ ]u8[ ]log10\[\][ ]=' drivers/net/wireless/zd1211rw/zd_chip.c + initnc '[ ]static[ ]const[ ]u8[ ]mpeg_hdr_data\[\][ ]=' + initnc '[ ]static[ ]const[ ]u8[ ]sdramtype\[13\]\[5\][ ]=' + defsnc '[ ]static[ ]const[ ]u8[ ]t\[\][ ]=' drivers/bcma/sprom.c + initnc '[ ]static[ ]const[ ]unsigned[ ]int[ ]avg_pkts\[NCCTRL_WIN\][ ]=' + initnc '[ ]static[ ]const[ ]unsigned[ ]short[ ]ac97_defaults\[\][ ]=' + initnc '[ ]static[ ]int[ ]exp_lut\[256\][ ]=' + defsnc '[ ]static[ ]u16[ ]jpeg_tables\[\]\[70\][ ]=' drivers/media/pci/meye/meye.c + defsnc '[ ]static[ ]u16[ ]tables\[\][ ]=' drivers/media/pci/meye/meye.c + initnc '[ ]static[ ]u32[ ]logMagTable\[128\][ ]=' + defsnc '[ ]static[ ]u8[ ]init_bufs\[13\]\[5\][ ]=' drivers/media/pci/cx88/cx88-cards.c + defsnc '[ ]static[ ]u_short[ ]geometry_table\[\]\[[45]\][ ]=' drivers/block/xd.c + initnc '[ ]static[ ]unsigned[ ]char[ ]CRCTable1\[\][ ]=' + initnc '[ ]static[ ]unsigned[ ]char[ ]CRCTable2\[\][ ]=' + initnc '[ ]static[ ]unsigned[ ]char[ ]default_colors\[\][ ]=' + defsnc '[ ]static[ ]unsigned[ ]char[ ]iso_regs\[8\]\[4\][ ]=' drivers/media/usb/cpia2/cpia2_usb.c + initnc '[ ]static[ ]unsigned[ ]char[ ]log_scale\[101\][ ]=' sound/oss/pss.c + initnc '[ ]static[ ]unsigned[ ]char[ ]msg\[\][ ]=' + defsnc '[ ]static[ ]unsigned[ ]char[ ]static_pad\[\][ ]=' drivers/s390/crypto/zcrypt_msgtype6.c + defsnc '[ ]static[ ]unsigned[ ]char[ ]table_alaw2ulaw\[\][ ]=' drivers/staging/telephony/ixj.c + defsnc '[ ]static[ ]unsigned[ ]char[ ]table_ulaw2alaw\[\][ ]=' drivers/staging/telephony/ixj.c + defsnc '[ ]\(static[ ]const[ ]\)\?u32[ ]reg_boundaries\[\][ ]=' drivers/net/bnx2.c + defsnc '[ ]u8[ ]b\[\][ ]=' drivers/media/usb/ttusb-dec/ttusbdecfe.c + initnc '[ ]uint8_t[ ]tx\[\][ ]=' + defsnc '[ ]unsigned[ ]char[ ]saa7111_regs\[\][ ]=' drivers/media/parport/w9966.c + initnc '[ ]unsigned[ ]char[ ]sas_pcd_m_pg\[\][ ]=' + initnc '[ ][}][ ]modedb\[5\][ ]=' + defsnc '[ ][}][ ]reg_tbl\[\][ ]=' drivers/net/bnx2.c + initnc '[ ][}][ ]vals\[\][ ]=' + initnc '[ ][}][ ]vm_devices\[\][ ]=' + initnc '[ ][ ][ ][ ]static[ ]const[ ]code[ ]distfix\[32\][ ]=' + initnc '[ ][ ][ ][ ]static[ ]const[ ]code[ ]lenfix\[512\][ ]=' + defsnc '[ ][ ]int[ ]poly\[\]=' drivers/net/pcmcia/nmclan_cs.c + defsnc '[ ][ ]static[ ]const[ ]unsigned[ ]char[ ]asso_values\[\][ ]=' scripts/genksyms/keywords.c_shipped + defsnc '[ ][ ]static[ ]unsigned[ ]char[ ]asso_values\[\][ ]=' scripts/kconfig/zconf.hash.c_shipped + initnc '[ ][ ][}][ ]cards_ds\[\][ ]=' + initnc '[ ][ ][ ][ ]static[ ]const[ ]int8[ ]countLeadingZerosHigh\[\][ ]=' + initnc '[ ][ ][ ][ ]static[ ]const[ ]unsigned[ ]short[ ]d\(base\|ext\)\[32\][ ]=' + initnc '#define[ ]OV511_QUANTABLESIZE[ ]64' + initnc 'BYTE[ ]BtCard::SRAMTable_\(NTSC\|PAL\)\[\][ ]=' + initnc 'BYTE[ ]SRAMTable\[\]\[[ ]60[ ]\][ ]=' + accept 'irq_prio_\([hdl]\|l[cd]\):'"$sepx$blobpat*" 'arch/arm/inlcude/asm/hardware/entry-macro-iomd.S|include/asm-arm/hardware/entry-macro-iomd.S' + initc '__u8[ ]_ascebc\[256\][ ]=' + initc '__u8[ ]_ebc_tolower\[256\][ ]=' + initc '__u8[ ]_ebc_toupper\[256\][ ]=' + initnc 'adapter_tag_info_t[ ]aic7[9x]xx_tag_info\[\][ ]=' + initnc 'char[ ]dmasound_alaw2dma8\[\][ ]=' + initnc 'char[ ]dmasound_ulaw2dma8\[\][ ]=' + initnc 'const[ ]struct[ ]aper_size_info_16[ ]agp3_generic_sizes\[AGP_GENERIC_SIZES_ENTRIES\][ ]=' + initnc 'const[ ]u16[ ]crc_itu_t_table\[256\][ ]=' + initnc 'const[ ]u8[ ]byte_rev_table\[256\][ ]=' + initnc 'const[ ]u8[ ]crc7_syndrome_table\[256\][ ]=' + initnc 'int[ ]snd_sf_vol_table\[128\][ ]=' + initnc 'static[ ]u_char[ ]irq_to_siubit\[\][ ]=' + initnc 'static[ ]u_char[ ]irq_to_siureg\[\][ ]=' + defsnc 'static[ ]Byte_t[ ]RData\[RDATASIZE\][ ]=' drivers/tty/rocket.c + initnc 'static[ ]__const__[ ]__u16[ ]gx_coeff\[256\][ ]=' + defsnc 'static[ ]__u8[ ]init7121ntsc\[\][ ]=' drivers/media/video/saa7121.h + defsnc 'static[ ]__u8[ ]init7121pal\[\][ ]=' drivers/media/video/saa7121.h + defsnc 'static[ ]byte[ ]capidtmf_leading_zeroes_table\[0x100\][ ]=' drivers/isdn/hardware/eicon/capidtmf.c + defsnc 'static[ ]char[ ]channel_map_madi_[sdq]s\[HDSPM_MAX_CHANNELS\][ ]=' sound/pci/rme9652/hdspm.c + initnc 'static[ ]char[ ]coefficients\[NM_TOTAL_COEFF_COUNT[ ][*][ ]4\][ ]=' + initnc 'static[ ]char[ ]ecc_syndrome_table\[\][ ]=' + initnc 'static[ ]char[ ]isdn_audio_alaw_to_ulaw\[\][ ]=' + initnc 'static[ ]char[ ]isdn_audio_ulaw_to_alaw\[\][ ]=' + initnc 'static[ ]char[ ]mix_cvt\[101\][ ]=' + initnc 'static[ ]char[ ]opl3_volume_table\[128\][ ]=' + initnc 'static[ ]const[ ]__u16[ ]crc10_table\[256\][ ]=' + initnc 'static[ ]const[ ]__u32[ ]crc_c\[256\][ ]=' + defsnc 'static[ ]const[ ]fixp_t[ ]cos_table\[46\][ ]=' include/linux/fixp-arith.h + initnc 'static[ ]const[ ]int[ ]init_seq\[\][ ]=' + initnc 'static[ ]const[ ]int[ ]mobile_vid_table\[32\][ ]=' + initnc 'static[ ]const[ ]s16[ ]snd_opl4_pitch_map\[0x600\][ ]=' + initnc 'static[ ]const[ ]s8[ ]budtab\[256\][ ]=' + initnc 'static[ ]const[ ]struct[ ]aper_size_info_8[ ]via_generic_sizes\[9\][ ]=' + initnc 'static[ ]const[ ]struct[ ]color[ ]clut_vga16\[16\][ ]=' + defsnc 'static[ ]const[ ]struct[ ]gain_entry[ ]gain_table\[2\]\[108\][ ]=' drivers/net/wireless/iwl-4965.c + defsnc 'static[ ]const[ ]struct[ ]mV_pos[ ]__\(cpu\)\?initdata[ ]mobilevrm_mV\[32\][ ]=' arch/x86/kernel/cpu/cpufreq/longhaul.h + defsnc 'static[ ]const[ ]struct[ ]mV_pos[ ]__\(cpu\)\?initdata[ ]vrm85_mV\[32\][ ]=' arch/x86/kernel/cpu/cpufreq/longhaul.h + initnc 'static[ ]const[ ]struct[ ]menelaus_vtg_value[ ]vcore_values\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]opl4_region[ ]regions_[0-9a-frums]*\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]regval[ ]regval_table\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_5222\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_5225_2527\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_5226\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2522\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2523\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2524\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2525\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2525e\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2528\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_noseq\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_seq\[\][ ]=' + defsnc 'static[ ]const[ ]u16[ ]Sbox\[256\][ ]=' # 'drivers/staging/rtl8192u/r819xU_firmware.c' and elsewhere + initnc 'static[ ]const[ ]u16[ ]count_lut\[\][ ]=' drivers/misc/tsl2550.c + defsnc 'static[ ]const[ ]u16[ ]e1000_igp_2_cable_length_table\[\][ ]=' drivers/net/e1000e/phy.c + defsnc 'static[ ]const[ ]u16[ ]rtl8225\(bcd\|z2\)_rxgain\[\][ ]=' 'drivers/net/wireless/rtl818x/rtl818[07]/rtl8225\.c' + defsnc 'static[ ]const[ ]u16[ ]stufftab\[5[ ][*][ ]256\][ ]=' drivers/isdn/gigaset/isocdata.c + initnc 'static[ ]const[ ]u16[ ]tkip_sbox\[256\][ ]=' + defsnc 'static[ ]const[ ]u16[ ]wm8753_reg\[\][ ]=' sound/soc/codecs/wm8753.c + initnc 'static[ ]const[ ]u32[ ]SS[0-3]\[256\][ ]=' + initnc 'static[ ]const[ ]u32[ ]S[1-8]\[64\][ ]=' + initnc 'static[ ]const[ ]u32[ ]T[0-5]\[256\][ ]=' + defsnc 'static[ ]const[ ]u32[ ]Tm\[24\]\[8\][ ]=' crypto/cast6_generic.c + initnc 'static[ ]const[ ]u32[ ]bass_table\[41\]\[5\][ ]=' + initnc 'static[ ]const[ ]u32[ ]bf_sbox\[256[ ][*][ ]4\][ ]=' + defsnc 'static[ ]const[ ]u32[ ]camellia_sp0222\[256\][ ]=' crypto/camellia.c + defsnc 'static[ ]const[ ]u32[ ]camellia_sp1110\[256\][ ]=' crypto/camellia.c + defsnc 'static[ ]const[ ]u32[ ]camellia_sp3033\[256\][ ]=' crypto/camellia.c + defsnc 'static[ ]const[ ]u32[ ]camellia_sp4404\[256\][ ]=' crypto/camellia.c + defsnc 'static[ ]const[ ]u32[ ]crc32c_table\[256\][ ]=' crypto/crc32c.c + initnc 'static[ ]const[ ]u32[ ]db_table\[101\][ ]=' + initnc 'static[ ]const[ ]u32[ ]m8xx_size_to_gray\[M8XX_SIZES_NO\][ ]=' + initnc 'static[ ]const[ ]u32[ ]mds\[4\]\[256\][ ]=' + initnc 'static[ ]const[ ]u32[ ]pc2\[1024\][ ]=' + defsnc 'static[ ]const[ ]u32[ ]s[1-7]\[256\][ ]=' crypto/cast5_generic.c + defsnc 'static[ ]const[ ]u32[ ]sb8\[256\][ ]=' crypto/cast5_generic.c + initnc 'static[ ]const[ ]u32[ ]tfrc_calc_x_lookup\[TFRC_CALC_X_ARRSIZE\]\[2\][ ]=' + initnc 'static[ ]const[ ]u32[ ]treble_table\[41\]\[5\][ ]=' + initnc 'static[ ]const[ ]u64[ ][CT][0-7]\[256\][ ]=' + initnc 'static[ ]const[ ]u64[ ]sbox[1-4]\[256\][ ]=' + initnc 'static[ ]const[ ]u64[ ]sha512_K\[80\][ ]=' 'crypto/sha512\(_generic\)\?.c' + defsnc 'static[ ]const[ ]u8[ ]Tr\[4\]\[8\][ ]=' crpto/cast6_generic.c + initnc 'static[ ]const[ ]u8[ ]aes_sbox\[256\][ ]=' + initnc 'static[ ]const[ ]u8[ ]calc_sb_tbl\[512\][ ]=' + initnc 'static[ ]const[ ]u8[ ]exp_to_poly\[492\][ ]=' + initnc 'static[ ]const[ ]u8[ ]legal_ansi_char_array\[0x40\][ ]=' + initnc 'static[ ]const[ ]u8[ ]parity\[\][ ]=' + initnc 'static[ ]const[ ]u8[ ]pc1\[256\][ ]=' + initnc 'static[ ]const[ ]u8[ ]poly_to_exp\[255\][ ]=' + initnc 'static[ ]const[ ]u8[ ]q[01]\[256\][ ]=' + defsnc 'static[ ]const[ ]u8[ ]ratio_lut\[\][ ]=' drivers/misc/tsl2550.c + initnc 'static[ ]const[ ]u8[ ]rs\[256\][ ]=' + defsnc 'static[ ]const[ ]u8[ ]rtl8225_\(agc\|tx_\(power\|gain\)_cck\(_ch14\|_ofdm\)\?\)\[\][ ]=' 'drivers/net/wireless/rtl818x/rtl818[07]/rtl8225\.c' + initnc 'static[ ]const[ ]u_char[ ]irq_to_siubit\[\][ ]=' + initnc 'static[ ]const[ ]u_char[ ]irq_to_siureg\[\][ ]=' + initnc 'static[ ]const[ ]uint8_t[ ]parity\[256\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]char[ ]\(UV\|Y\)_QUANTABLE\[64\][ ]=' + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]__\(cpu\)\?initdata[ ]mV_mobilevrm\[32\][ ]=' arch/x86/kernel/cpu/cpufreq/longhaul.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]__\(cpu\)\?initdata[ ]mV_vrm85\[32\][ ]=' arch/x86/kernel/cpu/cpufreq/longhaul.h + initnc 'static[ ]const[ ]unsigned[ ]char[ ]barco_p1\[2\]\[9\]\[7\]\[3\][ ]=' + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]bitcounts\[256\][ ]=' drivers/isdn/gigaset/isocdata.c + initnc 'static[ ]const[ ]unsigned[ ]char[ ]blue\[256\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]char[ ]chktab[hl]\[256\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]char[ ]comet_miireg2offset\[32\][ ]=' + initnc 'static[ ]\(const[ ]\)\?unsigned[ ]char[ ]euc2sjisibm_g3upper_map\[\]\[2\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]char[ ]green\[256\][ ]=' + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]hash_table_ops\[64[*]4\][ ]=' drivers/media/usb/pwc/pwc-dec23.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]hid_keyboard\[256\][ ]=' drivers/hid/hid-input.c + initnc 'static[ ]const[ ]unsigned[ ]char[ ]mts_direction\[256[/]8\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]char[ ]red\[256\][ ]=' + initnc 'static[ ]\(const[ ]\)\?unsigned[ ]char[ ]sjisibm2euc_map\[\]\[2\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]char[ ]vol_cvt_datt\[128\][ ]=' + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]MulIdx\[16\]\[16\][ ]=' drivers/media/usb/pwc/pwc-dec23.c + initnc 'static[ ]const[ ]unsigned[ ]int[ ]crctab32\[\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]short[ ]crc_flex_table\[\][ ]=' + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]logtable\[256\][ ]=' drivers/media/dvb-core/dvb_math.c + initnc 'static[ ]const[ ]unsigned[ ]short[ ]wd7000_iobase\[\][ ]=' + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]x86_keycodes\[256\][ ]=' drivers/tty/vt/keyboard.c + initnc 'static[ ]const[ ]unsigned[ ]table\[\][ ]=' + initnc 'static[ ]int[ ]MV300_reg_8bit\[256\][ ]\?=' drivers/video/atafb.c + defsnc 'static[ ]int[ ]fifo_map\[\]\[MAX_TX_FIFOS\][ ]=' drivers/net/s2io.h + initnc 'static[ ]int[ ]initial_lfsr\[\][ ]=' + initnc 'static[ ]int[ ]log_tbl\[129\][ ]=' + initnc 'static[ ]int[ ]miro_fmtuner\[\][ ][ ]=' drivers/media/video/bt8xx/bt-cards.c + initnc 'static[ ]int[ ]miro_tunermap\[\][ ]=' drivers/media/video/bt8xx/bt-cards.c + initnc 'static[ ]int[ ]register_size\[\][ ]=' + initnc 'static[ ]int[ ]reserve_list\[MAX_RES_ARGS\][ ]=' + initnc 'static[ ]int[ ]reverse6\[64\][ ]=' + initnc 'static[ ]short[ ]attack_time_tbl\[128\][ ]=' + defsnc 'static[ ]short[ ]beep_wform\[256\][ ]=' 'sound/ppc/beep.c|sound/oss/dmasound/dmasound_awacs.c|arch/ppc/8xx_io/cs4218_tdm.c' + initnc 'static[ ]short[ ]decay_time_tbl\[128\][ ]=' + initnc 'static[ ]short[ ]isdn_audio_[ua]law_to_s16\[\][ ]=' + defsnc 'static[ ]struct[ ]iw\?l\(3945\)\?_tx_power[ ]power_gain_table\[2\]\[IW\?L_MAX_GAIN_ENTRIES\][ ]=' drivers/net/wireless/iwlegacy/iwl-3945.c + initnc 'static[ ]struct[ ]ovcamchip_regvals[ ]regvals_init_\(76be\|7[16]20\|7x10\)\[\][ ]=' + initnc 'static[ ]struct[ ]regval_list[ ]ov7670_default_regs\[\][ ]=' drivers/media/i2c/ov7670.c + initnc 'static[ ]struct[ ]s_c2[ ]SetRate48000\[\][ ]=' + initnc 'static[ ]struct[ ]tea6420_multiplex[ ]TEA6420_line\[MXB_AUDIOS[+]1\]\[2\][ ]=' + initnc 'static[ ]struct[ ]wm_info[ ]i810_wm_16_100\[\][ ]=' + initnc 'static[ ]struct[ ]wm_info[ ]i810_wm_16_133\[\][ ]=' + initnc 'static[ ]struct[ ]wm_info[ ]i810_wm_24_100\[\][ ]=' + initnc 'static[ ]struct[ ]wm_info[ ]i810_wm_24_133\[\][ ]=' + initnc 'static[ ]struct[ ]wm_info[ ]i810_wm_8_100\[\][ ]=' + initnc 'static[ ]struct[ ]wm_info[ ]i810_wm_8_133\[\][ ]=' + initnc 'static[ ]struct[ ][{][ ]struct[ ]fb_bitfield[ ]red,[ ]green,[ ]blue,[ ]transp[;][ ]int[ ]bits_per_pixel[;][ ][}][ ]colors\[\][ ]=' + initnc 'static[ ]u16[ ]asEqCoefsPipes\[64\][ ]=' + initnc 'static[ ]u16[ ]asEqCoefsZeros\[50\][ ]=' + initnc 'static[ ]u16[ ]asEqOutStateZeros\[48\][ ]=' + defsnc 'static[ ]u16[ ]default_key_map[ ]\[256\][ ]=' drivers/media/pci/ttpci/av7110_ir.c + initnc 'static[ ]u16[ ]eq_levels\[64\][ ]=' + initnc 'static[ ]u32[ ][ ]crc32tab\[\][ ]__attribute__[ ][(][(]aligned[(]8[)][)][)][ ]=' + defsnc 'static[ ]u32[ ]ac3_frames\[3\]\[32\][ ]=' drivers/media/dvb-core/dvb_filter.c + initnc 'static[ ]u32[ ]adwDecim8\[33\][ ]=' + initnc 'static[ ]u32[ ]h_prescale\[64\][ ]=' + initnc 'static[ ]u32[ ]v_gain\[64\][ ]=' + defsnc 'static[ ]u8[ ]SRAM_Table\[\]\[60\][ ]=' drivers/media/pci/bt8xx/bttv-driver.c + defsnc 'static[ ]u8[ ]alps_tdee4_stv0297_inittab\[\][ ]=' drivers/media/common/b2c2/flexcop-fe-tuner.c + defsnc 'static[ ]u8[ ]bnx2_570[68]_stats_len_arr\[BNX2_NUM_STATS\][ ]=' drivers/net/bnx2.c + initnc 'static[ ]u8[ ]flit_desc_map\[\][ ]=' + defsnc 'static[ ]\(const[ ]\)\?u8[ ]init_tab[ ]\?\[\][ ]=' 'drivers/media/dvb/frontends/cx2270\(0\|2\)\.c' + defsnc 'static[ ]u8[ ]mac_reader\[\][ ]=' drivers/net/wireless/atmel.c + initnc 'static[ ]u8[ ]mt2131_config1\[\][ ]=' drivers/media/dvb/frontends/mt2131.c # <= 2.6.25 + initnc 'static[ ]u8[ ]mt2131_config1\[\][ ]=' drivers/media/common/tuners/mt2131.c # >= 2.6.26 + initnc 'static[ ]u8[ ]mt2266_init2\[\][ ]=' drivers/media/dvb/frontends/mt2266.c # <= 2.6.25 + initnc 'static[ ]u8[ ]mt2266_init2\[\][ ]=' drivers/media/common/tuners/mt2266.c # >= 2.6.26 + defsnc 'static[ ]u8[ ]opera1_inittab\[\][ ]=' drivers/media/usb/dvb-usb/opera1.c + defsnc 'static[ ]u8[ ]saa7113_init_regs\[\][ ]=' drivers/media/pci/ttpci/av7110_v4l.c + defsnc 'static[ ]u8[ ]samsung_tbmu24112_inittab\[\][ ]=' drivers/media/common/b2c2/flexcop-fe-tuner.c + defsnc 'static[ ]u8[ ]w1_crc8_table\[\][ ]=' drivers/w1/w1_io.c + initnc 'static[ ]u_char[ ]const[ ]data_sizes_32\[32\][ ]=' + initnc 'static[ ]u_long[ ]ident_map\[32\][ ]=' + initnc 'static[ ]u_short[ ]alt_map\[NR_KEYS\][ ]=' + initnc 'static[ ]u_short[ ]altgr_map\[NR_KEYS\][ ]=' + initnc 'static[ ]u_short[ ]ctrl_alt_map\[NR_KEYS\][ ]=' + initnc 'static[ ]u_short[ ]ctrl_map\[NR_KEYS\][ ]*=' + initnc 'static[ ]u_short[ ]shift_ctrl_map\[NR_KEYS\][ ]=' + initnc 'static[ ]u_short[ ]shift_map\[NR_KEYS\][ ]*=' + initnc 'static[ ]uchar[ ]perm1\[56\][ ]=' + initnc 'static[ ]uchar[ ]perm2\[48\][ ]=' + initnc 'static[ ]uchar[ ]perm3\[64\][ ]=' + initnc 'static[ ]uchar[ ]perm4\[48\][ ]=' + initnc 'static[ ]uchar[ ]perm5\[32\][ ]=' + initnc 'static[ ]uchar[ ]perm6\[64\][ ]=' + initnc 'static[ ]uchar[ ]sbox\[8\]\[4\]\[16\][ ]=' + initnc 'static[ ]uint16_t[ ]crc_table\[256\][ ]=' + initnc 'static[ ]uint8_t[ ]lpfcAlpaArray\[\][ ]=' + initnc 'static[ ]\(const[ ]\)\?uint8_t[ ]seqprog\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]V110_OffMatrix_9600\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]V110_OnMatrix_9600\[\][ ]=' + defsnc 'static[ ]unsigned[ ]char[ ]a2232_65EC02code\[\][ ]=' drivers/staging/generic_serial/ser_a2232fw.h + initnc 'static[ ]unsigned[ ]char[ ]atkbd_set3_keycode\[512\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]atkbd_unxlate_table\[128\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]banner_table\[\][ ]=' arch/sh/boards/superh/microdev/led.c + defsnc '\(static[ ]\)\?unsigned[ ]char[ ]\(__attribute__[ ][(][(]aligned[(]16[)][)][)][ ]\)\?bootlogo_bits\[\][ ]=' arch/m68k/platform/68328/bootlogo.h + initnc 'static[ ]unsigned[ ]char[ ]bus2core_8260\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]bus2core_8280\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]caseorder\[256\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]crystal_key\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]dsp_ulaw\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]expressiontab\[128\][ ]=' + defsnc 'static[ ]unsigned[ ]char[ ]header2\[\][ ]=' drivers/media/usb/zr364xx/zr364xx.c + initnc 'static[ ]unsigned[ ]char[ ]hidp_keycode\[256\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]nkbd_keycode\[128\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]pan_volumes\[256\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]parm_block\[32\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]raw3270_ebcgraf\[64\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]rfcomm_crc_table\[256\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]rwa_unlock\[\][ ]__initdata[ ]=' + initnc 'static[ ]unsigned[ ]char[ ]seqprog\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]snd_opl4_volume_table\[128\][ ]=' + defsnc 'static[ ]unsigned[ ]char[ ]splash_bits\[\][ ]=' arch/m68k/platform/68EZ328/bootlogo.h + initnc 'static[ ]unsigned[ ]char[ ]sunkbd_keycode\[128\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]ufs_fragtable_8fpb\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]ufs_fragtable_other\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]ulaw_dsp\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]usb_kbd_keycode\[256\][ ]=' + defsnc 'static[ ]unsigned[ ]char[ ]vga_font\[cmapsz\][ ]\(BTDATA[ ]\)\?=' arch/sparc/kernel/btext.c + initnc 'static[ ]unsigned[ ]char[ ]voltab[12]\[128\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]vpd89_data\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]xtkbd_keycode\[256\][ ]=' + defsnc 'static[ ]unsigned[ ]int[ ]ac3_bitrates\[32\][ ]=' drivers/media/dvb-core/dvb_filter.c + initnc 'static[ ]unsigned[ ]int[ ]bass_volume_table\[\][ ]=' + defsnc 'static[ ]unsigned[ ]int[ ]bitrates\[3\]\[16\][ ]=' drivers/media/dvb-core/dvb_filter.c + initnc 'static[ ]unsigned[ ]int[ ]isa_dma_port\[8\]\[7\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]master_volume_table\[\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]mixer_volume_table\[\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]pan_table\[63\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]snapper_bass_volume_table\[\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]snapper_treble_volume_table\[\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]treble_volume_table\[\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]valid_mem\[\][ ]=' + initnc 'static[ ]unsigned[ ]long[ ]arthur_to_linux_signals\[32\][ ]=' + defsnc 'static[ ]unsigned[ ]long[ ]shmedia_opcode_table\[64\][ ]=' arch/sh/kernel/traps_64.c + initnc 'static[ ]unsigned[ ]nv\([34]\|10\)TableP\(FIFO\|GRAPH\|RAMIN\)\[\]\[2\][ ]=' + initnc 'static[ ]unsigned[ ]short[ ]fcstab\[256\][ ]=' + initnc 'static[ ]unsigned[ ]short[ ]init[1234]\[128\][ ][/][*]__devinitdata[*][/][ ]=' + initnc 'static[ ]unsigned[ ]short[ ]log_table\[LOG_TABLE_SIZE[*]2\][ ]=' + defsnc 'static[ ]unsigned[ ]short[ ]rc_ioport\[\][ ]=' drivers/staging/tty/riscom8.c + defsnc 'static[ ]unsigned[ ]short[ ]translations\[\]\[256\][ ]=' drivers/tty/vt/consolemap.c + initnc 'static[ ]unsigned[ ]short[ ]treble_parm\[12\]\[9\][ ]=' + initnc 'struct[ ]RGBColors[ ]TextCLUT\[256\][ ]=' + initnc 'struct[ ]VgaRegs[ ]GenVgaTextRegs\[NREGS[+]1\][ ]=' + defsnc 'struct[ ]battery_thresh[ ][ ]*\(spitz\|sharpsl\)_battery_levels_\(noac\|acin\)\[\][ ]=' arch/arm/mach-pxa/sharpsl_pm.c + initnc 'struct[ ]fb_bitfield[ ]rgb_bitfields\[\]\[4\][ ]=' + initnc 'struct[ ]mode_registers[ ]std_modes\[\][ ]=' + initnc 'struct[ ]vmode_attr[ ]vmode_attrs\[VMODE_MAX\][ ]=' + initnc 'u16[ ]const[ ]crc16_table\[256\][ ]=' + initnc 'u16[ ]const[ ]crc_ccitt_table\[256\][ ]=' + initnc 'u16[ ]hfsplus_compose_table\[\][ ]=' + initnc 'u16[ ]hfsplus_decompose_table\[\][ ]=' + initnc 'u_char[ ]const[ ]data_sizes_16\[32\][ ]=' + defsnc 'u_short[ ]\(plain\|shift\(_ctrl\)\?\|alt\(gr\)\?\|ctrl\(_alt\)\?\)_map\[NR_KEYS\][ ]*=' drivers/tty/vt/defkeymap.c_shipped + initnc '\(uint16_t\|u16\)[ ]e1000_igp_cable_length_table\[IGP01E1000_AGC_LENGTH_TABLE_SIZE\][ ]=' drivers/net/e1000/e1000_hw.c # u16 on 2.6.26 + initnc '\(uint16_t\|u16\)[ ]e1000_igp_2_cable_length_table\[IGP02E1000_AGC_LENGTH_TABLE_SIZE\][ ]=' drivers/net/e1000/e1000_hw.c # u16 on 2.6.26 + initnc '[}][ ]euc2sjisibm_jisx0212_map\[\][ ]=' + initnc '[}][ ]freq\[\][ ]=' + defsnc '[}][ ]hps_h_coeff_tab[ ]\[\][ ]=' drivers/media/common/saa7146/saa7146_hlp.c + defsnc '[}][ ]hps_v_coeff_tab[ ]\[\][ ]=' drivers/media/common/saa7146/saa7146_hlp.c + defsnc '[}][ ]init_tab\[\][ ]=' drivers/media/dvb-frontends/s5h1409.c + initnc '[}][ ]maven_gamma\[\][ ]=' + defsnc '[}][ ]mem_table\[\][ ]=' drivers/net/ethernet/8390/smc-mca.c + defsnc '[}][ ]mxb_saa7740_init\[\][ ]=' drivers/media/pci/saa7146/mxb.c + initnc '[}][ ]pll_table\[\][ ]=' drivers/video/geode/lxfb_ops.c + defsnc '[}][ ]qam256_snr_tab\[\][ ]=' drivers/media/dvb-frontends/s5h1409.c + defsnc '[}][ ]qam64_snr_tab\[\][ ]=' drivers/media/dvb-frontends/s5h1409.c + initnc '[}][ ]sil_port\[\][ ]=' + defsnc '[}][ ]vsb_snr_tab\[\][ ]=' drivers/media/dvb-frontends/s5h1409.c + + # new in 2.6.30 + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]sync\[\][ ]=' Documentation/networking/timestamping/timestamping.c + blob 'The[ ]driver[ ]requires[ ]firmware[ ]files[ ]["]turtlebeach\([^\n]*[^\n.][\n]\)*directory.' Documentation/sound/alsa/ALSA-Configuration.txt + defsnc 'static[ ]int[ ]sdp3430_batt_table\[\][ ]=' arch/arm/mach-omap2/board-3430sdp.c + defsnc 'const[ ]char[ ]_[zs]b_findmap\[\][ ]=' arch/s390/kernel/bitmap.c + initnc '[ ][{][ ]CnINT2MSKR0,[ ]CnINT2MSKCR0[ ],[ ]32,' arch/sh/kernel/cpu/sh4a/setup-sh7786.c + blobname 'solos-\(\(db-\)\?FPGA\|Firmware\)\.bin' drivers/atm/solos-pci.c + defsnc 'static[ ]u16[ ]__initdata[ ]i2c_clk_div\[50\]\[2\][ ]=' drivers/i2c/busses/i2c-imx.c + defsnc 'static[ ]const[ ]struct[ ]mpc_i2c_divider[ ]mpc_i2c_dividers_\(52xx\|8xxx\)\[\][ ]\(__devinitconst[ ]\)\?=' drivers/i2c/busses/i2c-mpc.c + accept '[ ]const[ ]char[ ]\*fw_name[ ]=[ ]["]av7110[/]bootcode\.bin["][;]' drivers/media/dvb/ttpci/av7110_hw.c + accept '[ ]ret[ ]=[ ]request_firmware[(][^;]*[)][;][\n][ ]if[ ][(]ret[)][ ][{][^}]*[}][\n][\n][ ]mwdebi[(]av7110,[ ]DEBISWAB,[ ]DPRAM_BASE' drivers/media/dvb/ttpci/av7110_fw.c + accept 'MODULE_FIRMWARE[(]["]av7110[/]bootcode\.bin["][)][;]' drivers/media/dvb/ttpci/av7110_fw.c + defsnc 'static[ ]const[ ]u8[ ]jpeg_head\[\][ ]=' drivers/media/video/gspca/jpeg.h + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]nand_oob_128[ ]=' drivers/mtd/nand/nand_base.c + blobname 'bnx2[/]bnx2-\(mips\|rv2p\)-[-0-9a-z.]*\.fw' drivers/net/bnx2.c + accept 'static[ ]void[\n]load_rv2p_fw[(][^{)]*const[ ]struct[ ]bnx2_mips_fw_file_entry' drivers/net/bnx2.c + accept 'static[ ]int[\n]bnx2_init_cpus[(][^{]*[)][\n][{][\n][ ]const[ ]struct[ ]bnx2_mips_fw_file' + blobname 'yam[/]\(12\|96\)00\.bin' drivers/net/hamradio/yam.c + blobname 'myricom[/]lanai\.bin' drivers/net/myri_sbus.c + blobname '3com[/]3C359\.bin' drivers/net/tokenring/3c359.c + blobname '3com[/]typhoon\.bin' drivers/net/typhoon.c + defsnc 'static[ ]struct[ ]ar9170_phy_init[ ]ar5416_phy_init\[\][ ]=' drivers/net/wireless/ar9170/phy.c + defsnc 'static[ ]struct[ ]ar9170_rf_init[ ]ar9170_rf_init\[\][ ]=' drivers/net/wireless/ar9170/phy.c + defsnc 'static[ ]const[ ]struct[ ]ar9170_phy_freq_entry[ ]ar9170_phy_freq_params\[\][ ]=' drivers/net/wireless/ar9170/phy.c + accept 'static[ ]int[ ]ar9170_usb_request_firmware[(]' drivers/net/wireless/ar9170/usb.c + accept '[ ]\(err[ ]=\|return\)[ ]request_firmware\(_nowait\)\?[(][^\n]*["]ar9170\(-[12]\)\?\.fw["],' drivers/net/wireless/ar9170/usb.c + accept '[ ]err[ ]=[ ]ar9170_usb_request_firmware[(]' drivers/net/wireless/ar9170/usb.c + accept 'MODULE_FIRMWARE[(]["]ar9170\(-[12]\)\?\.fw["][)][;]\([\n]MODULE_FIRMWARE[(]["]ar9170\(-[12]\)\?\.fw["][)][;]\)*' drivers/net/wireless/ar9170/usb.c + blobname 'slicoss[/]\(oasis\|gb\)\(rcvucode\|download\)\.sys' drivers/staging/slicoss/slicoss.c + blobname 'sxg[/]sahara\(dbg\)\?downloadB\.sys' drivers/staging/sxg/sxg.c + blobname 'qlogic[/]isp1000\.bin' drivers/scsi/qlogicpti.c + blobname 'advansys[/]\(3550\|38C\(08\|16\)00\|mcode\)\.bin' drivers/scsi/advansys.c + blobname 'qlogic[/]\(1040\|1280\|12160\)\.bin' drivers/scsi/qla1280.c + blobname 'yamaha[/]yss225_registers\.bin' sound/isa/wavefront/wavefront_fx.c + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini[ ]rf\([52]413\|2425\)_ini_common_end\[\][ ]=' drivers/net/wireless/ath5k/initvals.c + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_rfbuffer[ ]rfb_\(511[12]a\?\|5413\|231[67]\|24\(1[37]\|25\)\)\[\][ ]=' drivers/net/wireless/ath5k/rfbuffer.h + accept '#define\([ ]_\?IWL\(4965\|[156]000\(G2[AB]\)\?\|1[03]0\|5150\|6050\)_MODULE_FIRMWARE[(]api[)]\)\+' 'drivers/net/iwlwifi/iwl-\([156]000\|4965\)\.c' + blobname 'iwlwifi-1000-' drivers/net/iwlwifi/iwl-1000.c + blobname 'iwlwifi-60[05]0-' drivers/net/iwlwifi/iwl-6000.c + blobname 'libertas[/]gspi\(%d\|[0-9]\+\)\(_hlp\)\?\.bin' drivers/net/wireless/libertas/if_spi.c + blobname 'mwl8k[/]\(helper\|fmimage\)_\(%u\|[0-9]\+\)\.fw' drivers/net/wireless/mwl8k.c + blobname '3826\.arm' 'drivers/\(net/wireless/p54/p54spi\|staging/stlc45xx/stlc45xx\)\.c' + defsnc 'static[ ]unsigned[ ]char[ ]p54spi_eeprom\[\][ ]=' drivers/net/wireless/p54/p54spi_eeprom.h + blobname '\([/ ][*][ ]The[ ]DSP[ ]on[ ]the[ ]board[^"]*["]\)\?\(comedi[/]\)\?jr3pci\.idm\(["]\.[\n][ ][*][/]\)\?' drivers/staging/comedi/drivers/jr3_pci.c + accept '#define[ ]USBDUX_FIRMWARE[ \t]*["]usbdux_firmware\.bin["]' drivers/staging/comedi/drivers/usbdux.c + accept 'MODULE_FIRMWARE[(]USBDUX_FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbdux.c + accept '#define[ ]FIRMWARE[ \t]*["]usbduxfast_firmware\.bin["]' drivers/staging/comedi/drivers/usbduxfast.c + accept 'MODULE_DESCRIPTION[(]["]USB-DUXfast[^"]*["][)][;][\n]MODULE_LICENSE[(]["]GPL["][)][;][\n]MODULE_FIRMWARE[(]FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbduxfast.c + blobname 'RT30xxEEPROM\.bin' drivers/staging/rt3070/common/eeprom.c + defsnc 'static[ ]const[ ]u8[ ]default_cal_\(channels\|rssi\)\[\][ ]=' drivers/staging/stlc45xx/stlc45xx.c + accept '[ ][ ]stlc45xx_error[(]["]request_firmware[(][)][ ]failed' drivers/staging/stlc45xx/stlc45xx.c + blob 'static[ ]struct[ ]phy_ucode[ ]PhyUcode\[\][ ]=[^;]*[;]' drivers/staging/sxg/sxgphycode-1.2.h + accept 'device[ ]drivers[ ]which[ ]predate[ ]the[ ]common[ ]use[ ]of[ ]request_firmware[(][)]' firmware/README.AddingFirmware + accept 'As[ ]we[ ]update[ ]those[ ]drivers[ ]to[ ]use[ ]request_firmware[(][)]' firmware/README.AddingFirmware + blob 'This[ ]directory[ ]is[ ]_NOT_[ ]for[ ]adding[ ]arbitrary[ ]new[ ]firmware[ ]images.*git[ ]pull[ ]request[ ]to:[\n][^\n]*\(infradead\.org\|decadent\.org\.uk\)>' firmware/README.AddingFirmware + blobna 'linux-firmware\.git' firmware/README.AddingFirmware + blobname '\(ea[/]\)\?\(loader\|indigo_djx\)_dsp\.fw' sound/pci/echoaudio/indigodjx.c + blobname '\(ea[/]\)\?\(loader\|indigo_iox\)_dsp\.fw' sound/pci/echoaudio/indigoiox.c + # blobname 'cis[/]LA-PCM\.cis' drivers/net/pcmcia/pcnet_cs.c + blobname 'ositech[/]Xilinx7OD\.bin' drivers/net/pcmcia/smc91c92_cs.c + blobname 'tehuti[/]\(firmware\|bdx\)\.bin' drivers/net/tehuti.c + accept '[ ]*["]b43-open%s[/]%s\.fw["]' drivers/net/wireless/b43/main.c + blobname '\(nx\(romimg\|3fw\(ct\|mn\)\)\|phanfw\)\.bin' 'drivers/net/netxen/netxen_nic\(_\(hw\|init\)\.c\|\.h\)' + + # New in 2.6.31 + accept '[ ][*][ ]page[ ]tables[ ]as[ ]follows:[\n][ ][*][\n][ ][*][ ][ ][ ]3[ ]3[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[\n][ ][*][ ][ ][ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0' arch/arm/include/asm/pgtable.h + defsnc '\([ ]static[ ]const[ ]u8[ ]snum_init\[\][ ]=[ ][{]\|static[ ]void[ ]qe_snums_init[(]void[)]\)[\n][ ][ ]0x04,[ ]0x05,' arch/powerpc/sysdev/qe_lib/qe.c + accept '[.]LgoS4:[\n][ ][.]word[ ][.]LmtoS4-\.LgoS4\([\n][ ]\.\(long\|word\|byte\)[ ][01]\(,0\)*\)*' arch/s390/kernel/sclp.S + defsnc 'static[ ]int[ ]sh_clk_div6_divisors\[64\][ ]=' '\(arch/sh/kernel/cpu/clock-\|drivers/sh/clk/\)cpg\.c' + accept '[ ][*][ ]*1[ ]1\([ ]0\)*[ ]1\([ ]0\)*' arch/x86/lguest/boot.c + defsnc 'struct[ ]scrubrate[ ]scrubrates\[\][ ]=' drivers/edac/amd64_edac.c + defsnc 'static[ ]const[ ]unsigned[ ]r\([35]\|s6\)00_reg_safe_bm\[[0-9]*\][ ]=' 'drivers/gpu/drm/radeon/r\(300\|v515\|s600\)\.c' + defsnc 'static[ ]struct[ ]keyboard_layout_map_t[ ]keyboard_layout_maps\[\][ ]=' drivers/media/dvb/siano/smsir.c + blobname 'dvb-cx18-mpc718-mt352\.fw' drivers/media/video/cx18/cx18-dvb.c + defsnc '[ ]const[ ]unsigned[ ]char[ ]\(y\|uv\)QuanTable51[18]\[\][ ]=' 'drivers/media/video/\(ov511\|gspca/ov519\)\.c' + defsnc 'static[ ]const[ ]u8[ ]bridge_start_ov965x_\(\([qs]\?v\|x\)ga\|cif\)\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c + defsnc 'static[ ]const[ ]\(int\|s16\)[ ]hsv_\(red\|green\|blue\)_[xy]\[\][ ]=' drivers/media/video/gspca/sn9c20x.c + defsnc 'static[ ]\(u16\|struct[ ]i2c_reg_u16\)[ ]\(bridge\|mt9\(v\(11[12]\|011\)\|m001\)\)_init\[\]\(\[2\]\)\?[ ]=' drivers/media/video/gspca/sn9c20x.c + defsnc 'static[ ]\(u8\|struct[ ]i2c_reg_u8\)[ ]\(soi968\|ov\(76[67]0\|965[05]\)\|hv7131r\)_init\[\]\(\[2\]\)\?[ ]=' drivers/media/video/gspca/sn9c20x.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]onenand_oob_128[ ]=' drivers/mtd/onenand/onenand_base.c + # Moved down to avoid shorter earlier match. + # blob '#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)[ ]*[0-9]\+\([\n]#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)[ ]*[0-9]\+\)*' 'drivers/net/\(bnx2x[/]\)\?bnx2x_hsi\.h' + blob 'static[ ]int[ ]\(__devinit[ ]\)\?bnx2x_check_firmware[(]struct[ ]bnx2x[ ][*]bp[)][\n][{][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c' + blobna 'if[ ][(][(]fw_ver\[[0-3]\][ ]!=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\([ ][|][|][\n][ ]*[(]fw_ver\[[0-3]\][ ]!=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\)*[)][ ][{][^{}]*[}]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c' + blobna 'sprintf[(]fw_file_name[ ][+][ ]offset,[ ]["]%d[.]%d[.]%d[.]%d[.]fw["]\(,[\n][ ]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)*[)][;]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c' + blobna 'rc[ ]=[ ]bnx2x_check_firmware[(]bp[)][;]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c' + defsnc 'crb_128M_2M_map\[64\][ ]__cacheline_aligned_in_smp[ ]=' 'drivers/net/\(netxen/netxen_nic_hw.c\|qlcnic/qlcnic_hw.c\)' + defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals\(_3070\)\?\[\][ ]=' 'drivers/net/wireless/\(prism54/islpci_dev\.c\|rt2x00/rt2800usb\.c\)' + blobname 'wl1251-\(fw\|nvs\)\.bin' 'drivers/net/wireless/wl12\(51\|xx\)/wl1251.h' + blobname 'iwmc3200wifi-\([ul]mac\|calib\)-sdio\.bin' drivers/net/wireless/iwmc3200wifi/sdio.c + defsnc 'u16[ ]MCS_DATA_RATE\[2\]\[2\]\[77\][ ]=' 'drivers/staging/\(rtl8192su/ieee80211/rtl819x_HTProc\.c\|rtl8192u/r819xU_firmware\.c\)' + blob 'u8[ ]Rtl8192SUFw\(Img\|Main\|Data\)Array\[\(Img\|Main\|Data\)ArrayLength\][ ]=[ ][{]'"$sepx$blobpat*$sepx"'[}][;]\([\n][\n]*u8[ ]Rtl8192SUFw\(Img\|Main\|Data\)Array\[\(Img\|Main\|Data\)ArrayLength\][ ]=[ ][{]'"$sepx$blobpat*$sepx"'[}][;]\)*' drivers/staging/rtl8192su/r8192SU_HWImg.c + blobname 'RTL8192SU[/]\(rtl8192sfw\.bin\|\(boot\|main\|data\)\.img\)' drivers/staging/rtl8192su/r8192S_firmware.c + blobna 'case[ ]FW_SOURCE_HEADER_FILE:[\n]#if[ ]1[\n]#define[^#]*[\n]#endif[\n][ ][ ][ ]break[;]' drivers/staging/rtl8192su/r8192S_firmware.c + defsnc 'u32[ ]Rtl8192SU\(PHY_\(REG\|ChangeTo\)_\([12]T[12]R\)\?\|Radio[AB]_\(\(\(to\)\?[12]T\|GM\)_\)\?\|MAC\(PHY\|_[12]T\)_\|AGCTAB_\)Array\(_PG\)\?\[\(PHY_\(REG\|ChangeTo\)_\([12]T[12]R\)\?\|Radio[AB]_\(\(\(to\)\?[12]T\|GM\)_\)\?\|MAC\(PHY\|_[12]T\)_\|AGCTAB_\)Array\(_PG\)\?Length\][ ]=' drivers/staging/rtl8192su/rtl92SU_HWImg.c + blob 'u8[ ]Rtl8192PciEFw\(Boot\|Main\|Data\)ArrayDTM\[\(Boot\|Main\|Data\)ArrayLengthDTM\][ ]=[ ][{][^}]*[}][;]' drivers/staging/rtl8192su/r8192S_FwImgDTM.h + defsnc '\(static[ ]\)\?u32[ ]Rtl8192PciE\(PHY_REG\(_1T2R\)\?\|\(Radio[ABCD]\|MACPHY\|AGCTAB\)_\)Array\(_PG\)\?\(DTM\)\?\[\(\(PHY_REG\(_1T2R\)\?\|\(Radio[ABCD]\|MACPHY\|AGCTAB\)_\)Array\(_PG\)\?Length\(DTM\)\?\)\?\][ ]=' drivers/staging/rtl8192su/rtl8192S_FwImgDTM.h + blobna '\([&]\|sizeof[(]\)rtl8190_fw\(boot\|main\|data\)_array\(\[0\]\|[)]\)\(,[ \n]*\([&]\|sizeof[(]\)rtl8190_fw\(boot\|main\|data\)_array\(\[0\]\|[)]\)\)*' 'drivers/staging/rtl8192su/r819\(2S\|xU\)_firmware\.c' + blobname 'RTL8192U[/]\(boot\|main\|data\)\.img' 'drivers/staging/rtl8192s\?u/r819xU_firmware\.c' + blob 'u8[ ]rtl8190_fw\(boot\|main\|data\)_array\[\][ ]=[ ]\?[{][^}]*[}][;]' 'drivers/staging/rtl8192s\?u/r8192xU_firmware_img\.c' + defsnc 'u32[ ]Rtl8192Usb\(PHY_REG\(_1T2R\)\?\|\(Radio[ABCD]\|MACPHY\|AGCTAB\)_\)Array\(_PG\)\?\[\][ ]=' drivers/staging/rtl8192su/rtl819xU_firmware_img.c + defsnc 'BYTE[ ]\(sbox\|dot[23]\)_table\[256\][ ]=' drivers/staging/vt6655/aes_ccmp.c + defsnc '\(BYTE\|unsigned[ ]char\)[ ]byVT3253\(InitTab\|B0\(_AGC4\?\)\?\)_\(RFMD\(2959\)\?\|AIROHA2230\|UW2451\|AGC\)\[CB_VT3253\(B0\(_AGC4\?\)\?\)\?\(\(_INIT\)\?_FOR_\(RFMD\(2959\)\?\|AIROHA2230\|UW2451\|AGC\)\)\?\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'SCountryTable[ ]ChannelRuleTab\[CCODE_MAX[+]1\][ ]=' drivers/staging/vt6655/card.c + defsnc 'static[ ]const[ ]long[ ]frequency_list\[\][ ]=' drivers/staging/vt6655/iwctl.c + accept '#define[ ]CONFIG_PATH[ ]*["][/]etc[/]vntconfiguration[.]dat["]' drivers/staging/vt6655/device_cfg.h + defsnc 'static[ ]const[ ]\(DWORD\|unsigned[ ]long\)[ ]s_adwCrc32Table\[256\][ ]=' drivers/staging/vt6655/tcrc.c + defsnc 'const[ ]\(BYTE\|unsigned[ ]char\)[ ]TKIP_Sbox_\(Lower\|Upper\)\[256\][ ]=' drivers/staging/vt6655/tkip.c + blobname 'prism2_ru\.\(hex\|fw\)' drivers/staging/wlan-ng/prism2fw.c + defsnc 'static[ ]const[ ]u16[ ]wm8960_reg\[WM8960_CACHEREGNUM\][ ]=' sound/soc/codecs/wm8960.c + blob '#include[ ]["]me4\(00\|61\)0_firmware\.h["]\([\n][\n]*#include[ ]["]me4\(00\|61\)0_firmware\.h["]\)*' drivers/staging/me4000/me4000.c + blobna 'firm[ ]=[ ][^;]*xilinx_firm[^;]*[;]' drivers/staging/me4000/me4000.c + # end of new in 2.6.31 + accept '[ ]*ramdisk[ ]=[ ]["][/]boot[/][^ ]*initrd[^ ]*\.img["]' Documentation/ia64/xen.txt + + # in drm-*.patch, post-2.6.31 + blobname 'matrox[/]g[24]00_warp\.fw' drivers/gpu/drm/mga/mga_warp.c + blobname 'r128[/]r128_cce\.bin' drivers/gpu/drm/r128/r128_cce.c + blobname 'radeon[/]R\([123]0\|[45]2\|S6[09]\)0_cp\.bin' drivers/gpu/drm/radeon/r100.c + blobname 'radeon[/]\(R\([67]0\|V6[1237]\|S7[1378]\)[05]\|CEDAR\|REDWOOD\|JUNIPER\|CYPRESS\|%s\)_\(pfp\|rlc\|me\)\.bin' drivers/gpu/drm/radeon/r600.c + defsnc 'const[ ]u32[ ]r[67]xx_default_state\[\][ ]=' drivers/gpu/drm/radeon/r600_blit_shaders.c + defsnc 'struct[ ]nv17_tv_norm_params[ ]nv17_tv_norms\[NUM_TV_NORMS\][ ]=' drivers/gpu/drm/nouveau/nv17_tv_modes.c + + # New in or modified for 2.6.32 + blobname '\(cxgb3[/]\)\?ael20\(05_\(opt\|twx\)\|20_twx\)_edc\.bin' drivers/net/cxgb3/cxgb3_main.c + defsnc 'static[ ]const[ ]struct[ ]aper_size_info_32[ ]u3_sizes\[8\?\][ ]=' drivers/char/agp/uninorth-agp.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]atkbd_set[23]_keycode\[\(512\|ATKBD_KEYMAP_SIZE\)\][ ]=' drivers/input/keyboard/atkbd.c + defsnc '[ ][}][ ]common_modes\[17\][ ]=' drivers/gpu/drm/radeon/radeon_connectors.c + defsnc '[ ][ ]*\(static[ ]\)\?\(const[ ]\)\?struct[ ]phy_reg[ ]phy_reg_init\(_0\)\?\[\][ ]=' drivers/net/r8169.c + accept '[ ][ ]*struct[ ]phy_reg[ ]phy_reg_init_1\[\][ ]=[ ][{][^;]*0x8300[^;]*[}][;]' drivers/net/r8169.c + blob 'static[ ]void[ ]rtl8168d_[12]_hw_phy_config[(]void[ ]__iomem[ ][*]ioaddr[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' drivers/net/r8169.c + blobna 'rtl8168d_[12]_hw_phy_config[(]ioaddr[)][;]' drivers/net/r8169.c + blobna 'static[ ]\(const[ ]\)\?struct[ ]phy_reg_init_[12]\[\][ ]=[ ][{][\n {}0-9a-fx]*0x06,[ ]0xf8f9[\n {}0-9a-fx]*[}][;]' drivers/net/r8169.c + # This loads firmware to be flashed from filename provided through ethtool. + accept 'int[ ]be_load_fw[(]struct[ ]be_adapter[ ][^\n;{]*[)][ \n][{]\([\n]\+[^\n}][^\n]*\)*request_firmware[^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' drivers/net/benet/be_main.c + defsnc '[ ]u8[ ]init_hash_seed\[\][ ]=' drivers/net/qlge/qlge_main.c + defsnc 'static[ ]const[ ]u_int32_t[ ]ar9287\(Common\|Modes\(_\([tr]x_gain\)\)\?\)_9287_1_[01]\[\]\[[236]\][ ]=' drivers/net/wireless/ath9k/initvals.h + defsnc 'static[ ]const[ ]u_int32_t[ ]ar9271\(Common\|Modes\)_9271\(_1_0\)\?\[\]\[[26]\][ ]=' drivers/net/wireless/ath9k/initvals.h + defsnc 'static[ ]const[ ]u8[ ]lpphy_min_sig_sq_table\[\][ ]=' drivers/net/wireless/b43/tables_lpphy.c + defsnc 'static[ ]const[ ]u16[ ]lpphy_\(rev\(01\|2plus\)_noise_scale\|crs_gain_nft\|iqlo_cal\|rev[01]_ofdm_cck_gain\|\(a0_\)\?gain\|sw_control\)_table\[\][ ]=' drivers/net/wireless/b43/tables_lpphy.c + defsnc 'static[ ]const[ ]u32[ ]lpphy_\(\(rev01_ps\|tx_power\)_control\|\(a0_\)\?gain_\(idx\|value\)\|papd_\(eps\|mult\)\)_table\[\][ ]=' drivers/net/wireless/b43/tables_lpphy.c + blobname 'v4l-saa7164-1\.0\.[23]\.fw' drivers/media/video/saa7164/saa7164-fw.c + defsnc 'static[ ]const[ ]u8[ ]n4_\(om6802\|other\|tas5130a\)\[\][ ]=' drivers/media/video/gspca/t613.c + defsnc '[ ][ ]\(static[ ]\)\?const[ ]struct[ ]sensor_w_data[ ]\(cif\|vga\)_sensor[01]_init_data\[\][ ]=' drivers/media/video/gspca/mr97310a.c + defsnc '[ ]struct[ ]jlj_command[ ]start_commands\[\][ ]=' drivers/media/video/gspca/jeilinj.c + defsnc 'static[ ]u8[ ]init_code\[\]\[2\][ ]=' drivers/media/dvb/dvb-usb/friio-fe.c + defsnc 'static[ ]const[ ]u8[ ]va1j5jf8007[ts]_\(2[05]mhz_\)\?prepare_bufs\[\]\[2\][ ]=' 'drivers/media/dvb/pt1/va1j5jf8007[st]\.c' + accept '[ ]\+request_firmware[(][)][ ]will[ ]hit[ ]an[ ]OOPS' drivers/media/dvb/frontends/dib7000p.c + defsnc 'static[ ]long[ ]limiter_times\[\][ ]=' drivers/media/radio/si4713-i2c.c + blobname 'c[tb]fw\(_\(fc\|cna\)\)\?\.bin' drivers/scsi/bfa/bfad_fwimg.c + defsnc 'static[ ]const[ ]u16[ ]\(VDCDC[1x]\|LDO[12]\)_VSEL_table\[\][ ]=' 'drivers/regulator/tps650\(23\|7x\)-regulator\.c' + defsnc 'static[ ]\(const[ ]\)\?struct[ ]lms283gf05_seq[ ]disp_\(init\|pwdn\)seq\[\][ ]=' drivers/video/backlight/lms283gf05.c + defsnc '[}][ ]csc_table\[\][ ]=' drivers/video/msm/mdp_csc_table.h + defsnc '\(static[ ]\)\?struct[ ]mdp_table_entry[ ]mdp_\(\(upscale\|gaussian_blur\)_table\|downscale_[xy]_table_PT[2468]TO\(PT[468]\|1\)\)\[\][ ]=' drivers/video/msm/mdp_scale_tables.c + accept '[ ][ ]card->firmware[ ]=[ ]data->firmware[;]' drivers/bluetooth/btmrvl_sdio.c + accept '[ ]isar->firmware[ ]=[ ][&]load_firmware[;]' drivers/isdn/hardware/mISDN/mISDNisar.c + blobname 'isdn[/]ISAR\.BIN' drivers/isdn/hardware/mISDN/speedfax.c + blobname '\(sep[/]\)\?\(cache\|resident\)\.image\.bin' drivers/staging/sep/sep_driver.c + blobname 'RTL8192E[/]\(boot\|main\|data\)\.img' drivers/staging/rtl8192e/r819xE_firmware.c + defsnc '\(static[ ]\)\?u32[ ]Rtl8190PciE\?\(AGCTAB_\|PHY_REG\(_1T2R\)\?\|Radio[ABCD]_\)Array\[\(AGCTAB_\|PHY_REG\(_1T2R\)\?\|Radio[ABCD]_\)ArrayLength\][ ]=' 'drivers/staging/\(rtl8192e/r819xE_phy\.c\|rtl8192u/r819xU_firmware_img.c\)' + accept '[ ][*][ ]File:[ ]main_usb\.c[\n][ ]\([*]\+[^/*][^*]*\)*[\n][ ][*][/]\([\n][\n]*#\(undef[ ][^\n]*\|include[ ]["][^\n]*["]\)\)*[\n][\n]*#include[ ]["]firmware\.h["]' drivers/staging/vt6656/main_usb.c + blob 'const[ ]BYTE[ ]abyFirmware\[\][ ]=[ ][{][^;]*[}][;]' drivers/staging/vt6656/firmware.c + defsnc '[}][ ]*ChannelRuleTab\[\][ ]=' drivers/staging/vt6656/channel.c + defsnc '\(static[ ]\)\?struct[ ]register_address_value_pair[\n]\(preview_snapshot_mode\|noise_reduction\)_reg_settings_array\[\][ ]=' drivers/staging/dream/camera/mt9d112_reg.c + blobname '\([/]tmp[/]\)\?RT30xxEEPROM\.bin' 'drivers/staging/rt3090/\(common/ee_efuse\.c\|rtmp_def\.h\)' + defsnc 'static[ ]UINT8[ ]WPS_DH_\([PRX]\|RRModP\)_VALUE\[1\(9[23]\|84\)\][ ]=' drivers/staging/rt3090/common/crypt_biginteger.c + defsnc '\(CH_FREQ_MAP\|struct[ ]rt_ch_freq_map\)[ ]CH_HZ_ID_MAP\[\][ ]\?=' 'drivers/staging/\(rt2860\|rt3090\)/common/rt_channel\.c' + defsnc 'static[ ]const[ ]UINT32[ ]SHA256_K\[64\][ ]=' drivers/staging/rt3090/common/crpt_sha2.c + defsnc '\(DOT11_REGULATORY_INFORMATION\|struct[ ]rt_dot11_regulatory_information\)[ ]\(USA\|Europe\|Japan\)RegulatoryInfo\[\][ ]=' 'drivers/staging/\(rt3090\|rt2860\)/common/spectrum\.c' + defsnc 'static[ ]const[ ]USHORT[ ]Sbox\[256\][ ]=' drivers/staging/rt3090/sta/rtmp_ckipmic.c + blob '#include[ ]*["]\(\.\.[/]\(\.\.[/]rt\(28[67]\|30[79]\)0[/]\(common[/]\)\?\)\?\)\?firmware\(_\(28[67]\|30[79]\)0\)\?\.h["]\([\n][\n]*#include[ ]*["]\(\.\.[/]\(\.\.[/]rt\(28[67]\|30[79]\)0[/]\(common[/]\)\?\)\?\)\?firmware\(_\(28[67]\|30[79]\)0\)\?\.h["]\)' 'drivers/staging/rt\(28[67]\|309\)0/common/rtmp_\(init\|mcu\)\.c' + blobna 'FIRMWAREIMAGE_LENGTH[ ]==' drivers/staging/rt3090/common/rtmp_mcu.c + defsnc 'int[ ]wm831x_isinkv_values\[WM831X_ISINK_MAX_ISEL[ ][+][ ][1]\][ ]=' drivers/mfd/wm831x-core.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]hwecc4_2048[ ]__initconst[ ]=' drivers/mtd/nand/davinci_nand.c + defsnc 'static[ ]const[ ]u16[ ]wm8974_reg\[WM8974_CACHEREGNUM\][ ]=' sound/soc/codecs/wm8974.c + defsnc 'static[ ]const[ ]u\(8\|16\)[ ]ak464[28]_reg\[\(AK4642_CACHEREGNUM\)\?\][ ]=' sound/soc/codecs/ak4642.c + accept 'int[ ]snd_hda_load_patch[(][^\n;{]*[)][ \n][{][^\n]*\([\n]\+[^\n}][^\n]*\)*hda_codec[^\n]*\([\n]\+[^\n}][^\n]*\)*request_firmware[^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' sound/pci/hda/hda_hwdep.c + accept '[ ][ ][ ]Bit[ 0-7]*' Documentation/input/sentelic.txt + accept 'The[ ]hd-audio[ ]driver[ ]reads[ ]the[ ]file[ ]via[ ]request_firmware[(][)]\.' Documentation/sound/alsa/HD-Audio.txt + blob 'SD8688[ ]firmware:[\n]*\([/]lib[/]firmware[^\n]*[\n]*\)*The[ ]images[^:]*:[\n]*[^\n]*[/]linux-firmware[^\n]*' Documentation/btmrvl.txt + defsnc 'static[ ]u8[ ]ibm405ex_fbdv_multi_bits\[\][ ]=' arch/powerpc/boot/4xx.c + defsnc 'static[ ]int[ ]zoom2_batt_table\[\][ ]=' arch/arm/mach-omap2/board-zoom2.c + defsnc 'static[ ]struct[ ]ad714x_platf\(or\|ro\)m_data[ ]ad714[27]_\(\(spi\|i2c\)_\)\?platf\(or\|ro\)m_data[ ]=' arch/blackfin/mach-bf537/boards/stamp.c + blob 'static[ ]const[ ]u8[ ]lgs8g75_initdat\[\][ ]=[ ][{][^;]*[}][;]' drivers/media/dvb/frontends/lgs8gxx.c + blob 'static[ ]int[ ]lgs8g75_init_data[(][^\n;{]*[)][ \n][{][^\n]*\([\n]\+[^\n}][^\n]*\)*lgs8g75_initdat[^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' drivers/media/dvb/frontends/lgs8gxx.c + defsc 'static[ ]struct[ ]idxdata[ ]tbl_common\(_[a-e]\|5\|_\?3B\?\)\[\][ ]=' 'drivers/media/video/gspca/gl860/gl860-\(mi2020\|mi1320\|ov9655\|ov2640\)\.c' + defsnc 'static[ ]struct[ ]validx[ ]tbl_\(commm\?on\|init_\(at_startup\|post_alt\)\|sensor_settings_common\(_[ab]\|1\)\|big\(_[abc]\|[123]\)\|640\|800\)\[\][ ]=' 'drivers/media/video/gspca/gl860/gl860-\(mi2020\|mi1320\|ov9655\|ov2640\).c' + defsnc 'static[ ]u8[ ][*]tbl_\(640\|800\|1280\)\[\][ ]=' 'drivers/media/video/gspca/gl860/gl860-\(mi1320\|ov9655\).c' + accept '[<][<]\([/]Subtype[/]Type1\)\?[/]BaseFont[^ ]*[/]FontDescriptor[ ][0-9][0-9]*[ ]0[ ]R\([/]Type[/]Font\)\?[\n]\?[/]FirstChar[ ][0-9][0-9]*[/]LastChar[ ][0-9][0-9]*[/]Widths\[[\n][0-9 \n]*\]' 'Documentation/DocBook/v4l/.*\.pdf' + + # New in 2.6.33 + accept '[ ]*just[ ]run[ ]["]cat[ ][/]sys[/]firmware[/]acpi[/]tables[/]DSDT[ ]>[ ][/]tmp[/]dsdt[.]dat["]' Documentation/acpi/method-customizing.txt + accept '[ ]*b[)][ ]disassemble[ ]the[ ]table[ ]by[ ]running[ ]["]iasl[ ]-d[ ]dsdt[.]dat["][.]' Documentation/acpi/method-customizing.txt + accept '[ ]*x=["]7999\([ ][0-9]\+\)\+["]' Documentation/blockdev/drbd/DRBD-8.3-data-packets.svg + defsnc 'static[ ]int[ ]zoom_batt_table\[\][ ]=' arch/arm/mach-omap2/board-zoom-peripherals.c + defsnc 'static[ ]u16[ ]x[48]_vectors\[\][ ]=' drivers/edac/amd64_edac.c + defsnc 'static[ ]const[ ]u16[ ]\(y\|uv\)_static_hcoeffs\[N_HORIZ_\(Y\|UV\)_TAPS[ ][*][ ]N_PHASES\][ ]=' drivers/gpu/drm/i915/intel_overlay.c + accept '[ ]\.download_firmware[ ]=[ ]ec168_download_firmware,[\n][ ]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/ec168.c + blobname 'dvb-usb-ec168\.fw' drivers/media/dvb/dvb-usb/ec168.c + defsnc 'static[ ]const[ ]u16[ ]dib0090_defaults\[\][ ]=' drivers/media/dvb/frontends/dib0090.c + blobname 'dvb-fe-ds3000\.fw' drivers/media/dvb/frontends/ds3000.c + blob '[/][*][ ]\(as[ ]of[ ][^\n]*[ ]current[ ]DS3000[ ]firmware\|DS3000[ ]FW\)[^/]*[*][/]\([\n][/][*]\([ ]\(as[ ]of[ ][^\n]*[ ]current[ ]DS3000[ ]firmware\|DS3000[ ]FW\)[^/]*\|[(]DEBLOBBED[)]\)[*][/]\)*' drivers/media/dvb/frontends/ds3000.c + defsnc 'static[ ]u8[ ]ds3000_dvbs2\?_init_tab\[\][ ]=' drivers/media/dvb/frontends/ds3000.c + defsnc '[ ]static[ ]const[ ]u16[ ]dvbs2_snr_tab\[\][ ]=' drivers/media/dvb/frontends/ds3000.c + defsnc 'static[ ]const[ ]struct[ ]cnr[ ]cnr_tab\[\][ ]=' drivers/media/dvb/frontends/mb86a16.c + defsnc 'u8[ ]lgtdqcs001f_inittab\[\][ ]=' drivers/media/dvb/mantis/mantis_vp1033.c + defsnc 'static[ ]const[ ]struct[ ]ov9640_reg[ ]ov9640_regs_dflt\[\][ ]=' drivers/media/video/ov9640.c + defsnc '\(const[ ]static\|static[ ]const\)[ ]struct[ ]rj54n1_reg_val[ ]bank_[4578]\[\][ ]=' drivers/media/video/rj54n1cb0c.c + blob '#define[ ]_FW_NAME[(]api[)][ ]DRV_NAME[ ]["][.]["][ ]#api[ ]["]\.fw["]' drivers/media/video/iwmc3200top.h + blob '#define[ ]FW_FILE_VERSION\([ ]*[\\][\n][ ]__stringify[(]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\([ ]["][.]["]\)\?\)\+' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-["][ ]FW_FILE_VERSION[ ]["]\.fw' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + # Moved down to avoid shorter earlier match. + # blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-\([0-9.%d]*\.fw\)\?' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + blob '#define[ ]FW_VERSION\([ ]__stringify[(]FW_VERSION_\(MAJOR\|MINOR\|MICRO\)[)]\([ ]["][.]["]\)\?\([ ]*[\\][\n]\)\?\)\+' drivers/net/cxgb3/cxgb3_main.c + blobname 'cxgb3[/]t3fw-["][ ]FW_VERSION[ ]["]\.bin' drivers/net/cxgb3/cxgb3_main.c + blob '#define[ ]TPSRAM_VERSION\([ ]__stringify[(]TP_VERSION_\(MAJOR\|MINOR\|MICRO\)[)]\([ ]["][.]["]\)\?\([ ]*[\\][\n]\)\?\)\+' drivers/net/cxgb3/cxgb3_main.c + blobname 'cxgb3[/]t3\(%c\|[bc]\)_psram-["][ ]TPSRAM_VERSION[ ]["]\.bin' drivers/net/cxgb3/cxgb3_main.c + defsnc '[ ]static[ ]const[ ]u8[ ]rsshash\[40\][ ]=' drivers/net/igb/igb_main.c + defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3\(02\)\?x\[\][ ]=' drivers/net/wireless/rt2x00/rt2800lib.c + defsnc 'static[ ]struct[ ]conf_drv_settings[ ]default_conf[ ]=' drivers/net/wireless/wl12xx/wl1271_main.c + defsnc 'static[ ]\(const[ ]\)\?u16[ ]bios_to_linux_keycode\[256\][ ]\(__initconst[ ]\)\?=' drivers/platform/x86/dell-wmi.c + accept '[ ]err[ ]=[ ]request_firmware[(][&]pm8001_ha->fw_image,' drivers/scsi/pm8001/pm8001_ctl.c + defsnc 'static[ ]unsigned[ ]char[ ]vpdb0_data\[\][ ]=' drivers/scsi/scsi_debug.c + defsnc 'static[ ]struct[ ]vesa_mode_table[ ]vesa_mode\[\][ ]=' drivers/staging/sm7xx/smtcfb.c + defsnc 'struct[ ]ModeInit[ ]VGAMode\[\][ ]=' drivers/staging/sm7xx/smtcfb.h + blob 'static[ ]const[ ]hcf_8[ ]fw_image_[1234]_data\[\][ ]=[^;]*[;]\([ ]*[/][*][ ]fw_image_[1234]_data[ ][*][/]\)\?' 'drivers/staging/wlags49_h2/\(ap\|sta\)_h25\?\.c' + blobname '[/]etc[/]agere[/]fw\.bin' drivers/staging/wlags49_h2/wl_profile.c + defsnc 'static[ ]const[ ]long[ ]chan_freq_list\[\]\[MAX_CHAN_FREQ_MAP_ENTRIES\][ ]=' drivers/staging/wlags49_h2/wl_util.c + blob 'The[ ]ssinit[ ]program.*nsoniq.*sndscape.*sound[ ]weird\.' Documentation/sound/oss/README.OSS + blobname 'scope\.cod' 'sound/isa/\(Kconfig\|sscape\.c\)' + blobname '\(sndscape\|soundscape\)\.co\([?dx01234]\|%d\)' 'sound/isa/\(Kconfig\|sscape\.c\)\|Documentation/sound/oss/README\.OSS' + defsnc 'static[ ]const[ ]u8[ ]\(adcm1700\|om6802\|po1030\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c + blobname 'ath3k-1\.fw' drivers/bluetooth/ath3k.c + blobname 'nouveau[/]nv\([0-9a-f][0-9a-f]\|%02x\)\.ctx\(prog\|vals\)' 'drivers/gpu/drm/nouveau/\(nv50_graph\|nouveau_grctx\)\.c' + + # New in 2.6.34 + blobname 'mts_mt9234\(mu\|zba\)\.fw' drivers/usb/serial/ti_usb_3410_5052.c + blobname 'cxgb4[/]t4fw\.bin' 'drivers/\(net/cxgb4/cxgb4_main\.c\|scsi/csiostor/csio_hw\.h\)' + defsnc '[ ]static[ ]const[ ]unsigned[ ]int[ ]reg_ranges\[\][ ]=' drivers/net/cxgb4/cxgb4_main.c + defsnc '[ ]static[ ]const[ ]unsigned[ ]int[ ]avg_pkts\[NCCTRL_WIN\][ ]=' drivers/net/cxgb4/t4_hw.c + # above in -rc5 + defsnc 'static[ ]u32[ ]epll_div\[\]\[5\][ ]=' arch/arm/mach-s5p6440/clock.c + accept '[ ]aru->firmware[ ]=[ ]fw[;]' drivers/net/wireless/ath/ar9170/usb.c + accept '[ ]err[ ]=[ ]request_firmware[(][&]fw_entry,[ ]["]broadsheet\.wbf["],[ ]dev[)][;]' drivers/video/broadsheetfb.c + # above in -rc2, below in -rc1 + accept '\(#[ ]\)\?\(Usage:[ ]cxacru-cf\.py[ ][<]\|Warning:\|Note:[ ]support[ ]for\)[ ]cxacru-cf\.bin' 'Documentation/networking/cxacru\(-cf\.py\|\.txt\)' + defsnc 'static[ ]struct[ ]cdce_reg[ ]cdce_y1_27000\[\][ ]=' arch/arm/mach-davinci/cdce949.c + defsnc '[ ]u16[ ]map\[\][ ]=' drivers/hwmon/asc7621.c + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]az6027_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/az6027.c + blobname 'dvb-usb-az6027-03\.fw' drivers/media/dvb/dvb-usb/az6027.c + accept '[ ]p7500->firmware[ ]=' drivers/media/dvb/dvb-usb/dw2102.c + blobname 'dvb-usb-p7500\.fw' drivers/media/dvb/dvb-usb/dw2102.c + defsnc 'static[ ]u8[ ]ITUDecoderSetup\[4\]\[16\][ ]=' drivers/media/dvb/ngene/ngene-core.c + blobname 'ngene_1[5678]\.fw' drivers/media/dvb/ngene/ngene-core.c + blobname 'sms1xxx-hcw-55xxx-i\?sdbt-02\.fw' drivers/media/dvb/siano/sms-cards.c + defsnc 'static[ ]\(const[ ]\)\?u8[ ]samsung_smt_7020_inittab\[\][ ]=' drivers/media/video/cx88/cx88-dvb.c + defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init\(_2\)\?\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c + defsnc 'static[ ]const[ ]u8[ ]bridge_start_\([qs]\?v\|x\)ga\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c + defsnc '[ ]struct[ ]init_command[ ]\(spy\|cif\|ms350\|genius\|vivitar\)_start_commands\[\][ ]=' drivers/media/video/gspca/sn9c2028.c + defsnc 'static[ ]const[ ]u8[ ]n4_lt168g\[\][ ]=' drivers/media/video/gspca/t613.c + initc 'static[ ]const[ ]\(__\)\?u8[ ]\(mi\(0360\|13[12]0\)\|po\(1200\|3130\)\|hv7131r\|ov76[67]0\)_\(\(soc\)\?_\?[iI]nit\(Q\?V\|SX\)GA\(_\(JPG\|data\)\)\?\|rundata\)\[\]\[4\][ ]=\([ ][{][*][/][;]\)\?' drivers/media/video/gspca/vc032x.c + defsnc '[ ]static[ ]const[ ]u8[ ]gamma_tb\[6\]\[16\][ ]=' drivers/media/video/gspca/zc3xx.c + blobname 'tlg2300_firmware\.bin' drivers/media/video/tlg2300/pd-main.c + defsnc '[ ]u8[ ]pattern\[42\][ ]=' drivers/net/ksz884x.c + defsnc '\(static[ ]\)\?const[ ]u8[ ]b43_ntab_framelookup\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'const[ ]u32[ ]\(b43_ntab_tx_gain_rev\(0_1_2\|3plus_2ghz\|\([34]\|5plus\)_5ghz\)\|txpwrctrl_tx_gain_ipa\(_\(rev\)\?[56]g\?\)\?\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'const[ ]u16[ ]tbl_iqcal_gainparams\[2\]\[9\]\[8\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'const[ ]struct[ ]nphy_txiqcal_ladder[ ]ladder_\(lo\|iq\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'const[ ]u16[ ]loscale\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + blobname 'isl38\(86\|87\|90\)\(pci\|usb\(_bare\)\?\)\?' 'drivers/net/wireless/p54/p54\(pci\.c\|usb\.[ch]\)' + defsnc 'static[ ]struct[ ]conf_drv_settings[ ]default_conf[ ]=[ ][{][*][/][;]' drivers/net/wireless/wl12xx/wl1271_main.c + defsnc '[ ][}][ ]grtpkts\[\][ ]=' drivers/staging/mimio/mimio.c + blobname 'rt\(28[67]0\|30[79][01]\)\.bin' drivers/staging/rt2860/common/rtmp_mcu.c + accept '[ ]adapter->firmware[ ]=[ ]fw[;]' drivers/staging/rt2860/common/rtmp_mcu.c + blobna '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*RTL8192SU[/]rtl8192sfw\.bin[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/staging/rtl8192su/r8192S_firmware.c + accept 'MODULE_FIRMWARE[(]["]keyspan_pda[/]\(keyspan_pda\|xircom_pgs\)\.fw["][)][;]' drivers/usb/serial/keyspan_pda.c + # It's not clear that wm2000_anc.bin is pure data. + # Check with developer, clean up for now. + blobname 'wm2000_anc\.bin' sound/soc/codecs/wm2000.c + blob '[ ][*][ ]The[ ]download[ ]image[ ]for[ ]the[ ]WM2000[^*]*\([*]\+[^/*][^*]*\)*[*]*[<][ ]file[^*\n]*[\n][ ][*][/]' sound/soc/codecs/wm2000.c + # accept '[ ][*][ ].wm2000_anc\.bin.[ ]by[ ]default' sound/soc/codecs/wm2000.c + # accept '[ ][*][ ]*[<][ ]file[ ]\+[>]wm2000_anc\.bin' sound/soc/codecs/wm2000.c + # accept '[ ]filename[ ]=[ ]["]wm2000_anc\.bin["][;]' sound/soc/codecs/wm2000.c + defsnc '[}][ ]\(clk_sys_ratios\|bclk_divs\)\[\][ ]=' 'sound/soc/wm890[34]\.c' + defsnc '[}][ ]clock_cfgs\[\][ ]=' sound/soc/codecs/wm8955.c + blobname 'siu_spb\.bin' sound/soc/sh/siu_dai.c + defsnc 'static[ ]const[ ]u8[ ]poxxxx_\(init\(_common\|Q\?VGA\|_end_1\|_start_3\)\|gamma\)\[\]\[4\][ ]=' drivers/media/video/gspca/vc032x.c + defsnc 'crb_128M_2M_map\[64\][ ]__cacheline_aligned_in_smp[ ]=' 'drivers/net/\(netxen/netxen_nic_hw.c\|qlcnic/qlcnic_hw.c\)' + + # New in 2.6.35 + defsnc 'static[ ]const[ ]u8[ ]gsm_fcs8\[256\][ ]=' drivers/char/n_gsm.c + defsnc 'static[ ]u8[ ]\(reset_atetm\|atetm_[12]port\|portsel_\(port[12]\|2port\)\)\[BIT2BYTE[(]LEN_\(ETM\|PORT_SEL\)[)]\][ ]=' drivers/infiniband/hw/qib/qib_iba7322.c + blobname 'qlogic[/]sd7220[.]fw' drivers/infiniband/hw/qib/qib_sd7220.c + defsnc '[}][ ]est3_modes\[\][ ]=' drivers/gpu/drm/drm_edid.c + defsnc 'static[ ]struct[ ]v_table[ ]v_table\[\][ ]=' drivers/gpu/drm/i915/i915_dma.c + blobname 'orinoco_ezusb_fw' drivers/net/wireless/orinoco/orinoco_usb.c + defsc 'static[ ]const[ ]struct[ ]ar9300_eeprom[ ]ar9300_default[ ]=' drivers/net/wireless/ath/ath9k/ar9003_eeprom.c + accept '[ ]hif_dev->firmware[ ]=[ ]NULL[;]' drivers/net/wireless/ath/ath9k/hif_usb.c + defsnc 'static[ ]const[ ]u32[ ]ar9300_2p[02]_\(radio\|mac\|baseband\)_postamble\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h' + defsnc 'static[ ]const[ ]u32[ ]ar9300Modes_\(\(low\(est\)\?\|high\)_ob_db\|high_power\)_tx_gain_table_2p[02]\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h' + defsnc 'static[ ]const[ ]u32[ ]ar9\(300\|200_merlin\)_2p[02]_\(radio\|mac\|baseband\)_core\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h' + defsnc 'static[ ]const[ ]u32[ ]ar9300Common_\(wo_xlna_\)\?rx_gain_table_\(merlin_\)\?2p[02]\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h' + defsnc 'static[ ]const[ ]u32[ ]ar928\(5Modes_XE2\|7Modes_9287_1\)_0_\(normal\|high\)_power\[\]\[6\][ ]=' drivers/net/wireless/ath/ath9k/ar9002_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar92\(87Common_9287_1_[01]\|71Common_9271\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9002_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar92\(87\|71\)Modes_\(\(normal\|high\)_power_\)\?\([tr]x_gain_\)\?92\(87_1_[01]\|71\(_ANI_reg\)\?\)\[\]\[6\][ ]=' drivers/net/wireless/ath/ath9k/ar9002_initvals.h + defsnc 'static[ ]int[ ]ath_max_4ms_framelen\[4\]\[32\][ ]=' drivers/net/wireless/ath/ath9k/xmit.c + defsnc 'static[ ]const[ ]u8[ ]\(gc0307\|po2030n\|soi768\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c + defsnc '\(static[ ]\)\?struct[ ]crb_128M_2M_block_map[ ]crb_128M_2M_map\[64\][ ]=' 'drivers/scsi/\(qla2xxx/qla_nx\.c\|qla4xxx/ql4_nx\.c\)' + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]BUCK[123]_\(suspend_\)\?table\[\][ ]=' drivers/regulator/88pm8607.c + defsnc '[ ]*static[ ]const[ ]char[ ]sha256_zero\[SHA256_DIGEST_SIZE\][ ]=' drivers/crypto/n2_core.c + defsnc '[}][ ]XGI\(fb_vrate\|_TV_filter\)\[\][ ]=' drivers/staging/xgifb/XGI_main.h + defsnc '\(static[ ]\)\?\(USHORT\|unsigned[ ]short\)[ ]XGINew_\(MD\|[CEV]G\)A_DAC\[\][ ]*=' drivers/staging/xgifb/vb_setmode.c + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?XGI_[ME]CLKData\(Struct\)\?[ ]XGI\(3[34]0\|27\)\(New\)\?_[ME]CLKData\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI340_CR6[BE]\[8\]\[4\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI340_CR6F\[8\]\[32\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI330\(New\)\?_SR15\(_1\)\?\[8\]\[8\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI330_cr40_1\[15\]\[8\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?XGI_StStruct[ ]XGI330_SModeIDTable\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?XGI_ExtStruct[ ][ ]\?XGI330_EModeIDTable\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?\(XGI\|SiS\)_StandTable\(Struct\|_S\)[ ]XGI330_StandTable\(\[\]\)\?[ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\([/][*]\)\?\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?\(XGI330\|SiS\)_LCDData\(Struct\)\?[ ][ ]\?XGI_\(\(St2\?\|Ext\)LCD\(1024x768\|1280x1024\)\|NoScaling\)Data\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(struct[ ]\)\?XGI330_TVDataStruct[ ][ ]XGI_\(St\|Ext\)\(PAL\|NTSC\|YPbPr\(525[ip]\|750p\)\)Data\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI330_\(NTSC\|PAL\|HiTV\(Ext\|St[12]\|Text\)\|YPbPr\(750p\|525[ip]\)\)Timing\[\][ ][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI330_HiTVGroup3\(Data\|Simu\|Text\)\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI330_Ren\(525\|750\)pGroup3\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(struct[ ]\)\?XGI_PanelDelayTblStruct[ ]XGI330_PanelDelayTbl\[\]' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?\(XGI330\|SiS\)_LVDSData\(Struct\)\?[ ][ ]\?XGI\(330\)\?_LVDS\(320x480\|800x600\|1024x768\|1280x\(1024\|768[NS]\?\)\|1400x1050\|640x480\)Data_[12]\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(struct[ ]\)\?XGI_LVDSCRT1DataStruct[ ][ ]XGI_CHTVCRT1[UO]\(NTSC\|PAL\)\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?XGI_ModeResInfo\(Struct\|_S\)[ ]XGI330_ModeResInfo\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(USHORT\|unsigned[ ]short\)[ ]XGINew_DRAMType\[17\]\[5\][ ]*=' 'drivers/staging/xgifb/\(vb_table\.h\|vb_init\.c\)' + defsnc '\(static[ ]\)\?\(USHORT\|unsigned[ ]short\)[ ]XGINew_SDRDRAM_TYPE\[13\]\[5\][ ]*=' 'drivers/staging/xgifb/\(vb_table\.h\|vb_init\.c\)' + defsnc '\(static[ ]\)\?\(USHORT\|unsigned[ ]short\)[ ]XGINew_DDRDRAM_TYPE20\[12\]\[5\][ ]*=' 'drivers/staging/xgifb/\(vb_table\.h\|vb_init\.c\)' + blobname 'TIInit_\(\(%d\|[0-9]\+\)[.]\)\+bts' drivers/staging/ti-st/st_kim.c + defsnc 'static[ ]int16[ ]mdp_scale_\(pixel_repeat\|0p[2468]_to_[08]p[0468]\)_C[0123]\[MDP_SCALE_COEFF_NUM\][ ]=' drivers/staging/msm/mdp_ppp_v31.c + # qseed_table2 is kind of suspicious, but there's some regularity + # to it that makes me think it's just data. + defsnc 'static[ ]uint32[ ]vg_qseed_table2\[\][ ]=' drivers/staging/msm/mdp4_util.c + defsnc 'char[ ]gc_lut\[\][ ]=' drivers/staging/msm/mdp4_util.c + defsnc 'uint32[ ]igc_\(video\|rgb\)_lut\[\][ ]=' drivers/staging/msm/mdp4_util.c + defsnc 'static[ ]word[ ]convert_8_to_16_tbl\[256\][ ]=' drivers/staging/msm/ebi2_tmd20.c + defsnc 'static[ ]struct[ ]sharp_spi_data[ ]init_sequence\[\][ ]=' drivers/staging/msm/lcdc_sharp_wvga_pt.c + blobname 'xc3028L\?-v[0-9]\+\.fw' drivers/staging/tm6000/tm6000-cards.c + defsnc 'static[ ]const[ ]struct[ ]chs_entry[ ]chs_table\[\][ ]=' drivers/mtd/sm_ftl.c + blobname 'asihpi[/]dsp\(%04x\|[0-9a-f][0-9a-f][0-9a-f][0-9a-f]\)\.bin' sound/pci/asihpi/hpidspcd.c + defsnc 'static[ ]unsigned[ ]long[ ]ident_map\[32\][ ]=' kernel/exec_domain.c + defsnc 'static[ ]u32[ ]epll_div\[\]\[4\][ ]=' arch/arm/mach-s5pc100/clock.c + blobname 'iwlwifi-6000g2[ab]-' drivers/net/iwlwifi/iwl-6000.c + blobna '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*[(]f2255usb\.bin[)][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/media/video/s2255drv.c + + # New in 2.6.36: + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]qi_lb60_ecclayout_[12]gb[ ]=' arch/mips/jz4740/board-qi_lb60.c + blobname 'qt602240\.fw' drivers/input/touchscreen/qt602240_ts.c + blobname 'lgs8g75\.fw' drivers/media/dvb/frontends/lgs8gxx.c + defsnc 'static[ ]const[ ]struct[ ]ucbus_write_cmd[ ]\(icx098bq\|lz24bp\)_start_[012]\[\][ ]=' drivers/media/video/gspca/sq930x.c + defsnc '[}][ ]capconfig\[4\]\[2\][ ]=' drivers/media/video/gspca/sq930x.c + defsnc 'static[ ]u8[ ]sa2400_rf_rssi_map\[\][ ]=' drivers/net/wireless/rtl818x/rtl8180_sa2400.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]pwm_lookup_table\[256\][ ]=' drivers/platform/x86/compal-laptop.c + defsnc 'static[ ]int[ ]tps6586x_\(ldo4\|sm2\|dvm\)_voltages\[\][ ]=' drivers/regulator/tps6586x-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]muxonechan\[\][ ]=' drivers/staging/comedi/drivers/adv_pci1710.c + defsnc 'int[ ]tones\[2048\][ ]=' drivers/staging/easycap/easycap_testcard.c + defsnc 'const[ ]unsigned[ ]char[ ]map_table\[\][ ]=' drivers/staging/lirc/lirc_ttusbir.c + defsnc 'static[ ]unsigned[ ]char[ ]jpeg_header\[\][ ]=' drivers/staging/solo6x10/solo6010-jpeg.h + defsc 'static[ ]const[ ]unsigned[ ]int[ ]solo_osd_font\[\][ ]=' drivers/staging/solo6x10/solo6010-osd-font.h + defsnc '[ ]unsigned[ ]char[ ]regs\[128\][ ]=' drivers/staging/solo6x10/solo6010-tw28.c + defsnc 'static[ ]unsigned[ ]char[ ]vid_vop_header\[\][ ]=' drivers/staging/solo6x10/solo6010-v4l2-enc.c + defsnc 'static[ ]const[ ]u16[ ]rop_\(map1\|action\|info\)\[\][ ]=' drivers/staging/tidspbridge/dynload/reloc_table_c6000.c + defsnc 'static[ ]const[ ]u16[ ]tramp_\(map\|action\|info\)\[\][ ]=' drivers/staging/tidspbridge/dynload/tramp_table_c6000.c + defsnc 'unsigned[ ]char[ ]\(sbox\|dot[23]\)_table\[256\][ ]=' drivers/staging/vt6655/aes_ccmp.c + defsnc 'static[ ]struct[ ]pll_map[ ]pll_value\[\][ ]=' drivers/video/via/hw.c + defsnc '[ ][ ]degrade_factor\[CPU_LOAD_IDX_MAX\]\[DEGRADE_SHIFT[ ][+][ ]1\][ ]=' kernel/sched.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]expected_result\[FIFO_SIZE\][ ]=' samples/kfifo/bytestream-example.c + defsnc 'static[ ]const[ ]int[ ]expected_result\[FIFO_SIZE\][ ]=' samples/kfifo/inttype-example.c + blobname 'haup-ir-blaster\.bin' drivers/input/lirc/lirc_zilog.c + + # New in 2.6.37, up to -rc5. + defsnc 'static[ ]u32[ ]epll_div\[\]\[6\][ ]=' arch/arm/mach-s5pv210/clock.c + defsnc 'static[ ]\(const[ ]\)\?struct[ ]titan_gpio_cfg[ ]titan_gpio_table\[\][ ]=' arch/mips/ar7/gpio.c + # GNUtoo found potential sources for these on 2019-12-05, checking. + blobname 'sdma-%s-to%d\.bin' drivers/dma/imx-sdma.c + defsnc '[ ]static[ ]u8[ ]def_regs\[\][ ]=' drivers/media/common/tuners/tda18218.c + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]lme2510c\?_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*\([ ]\.download_firmware[ ]=[ ]lme2510_download_firmware,[\n]\)\?[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/lmedm04.c + blobname 'dvb-usb-lme2510c\?-\(lg\|s7395\)\.fw' drivers/media/dvb/dvb-usb/lmedm04.c + defsnc 'static[ ]u8[ ]s7395_inittab\[\][ ]=' drivers/media/dvb/dvb-usb/lmedm04.h + defsnc 'static[ ]const[ ]u16[ ]rca_initdata\[\]\[3\][ ]=' drivers/media/video/gspca/xirlink_cit.c + blobname 'NXP7164-2010-03-10\.1\.fw' drivers/media/video/saa7164/saa7164-fw.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]fsmc_ecc4_lp_layout[ ]=' drivers/mtd/nand/fsmc_nand.c + defsnc 'static[ ]struct[ ]pxa3xx_nand_timing[ ]timing\[\][ ]=' drivers/mtd/nand/pxa3xx_nand.c + blobname 'ctfw_cna\.bin' drivers/net/bna/cna.h + accept '[#]define[ ]CARL9170FW_NAME[ ]\+["]carl9170-1\.fw["]' drivers/net/wireless/ath/carl9170/carl9170.h + defsnc 'static[ ]struct[ ]carl9170_phy_init[ ]ar5416_phy_init\[\][ ]=' drivers/net/wireless/carl9170/phy.c + defsnc 'static[ ]struct[ ]carl9170_rf_initvals[ ]carl9170_rf_initval\[\][ ]=' drivers/net/wireless/carl9170/phy.c + defsnc 'static[ ]const[ ]struct[ ]carl9170_phy_freq_entry[ ]carl9170_phy_freq_params\[\][ ]=' drivers/net/wireless/carl9170/phy.c + accept 'MODULE_FIRMWARE[(]CARL9170FW_NAME[)][;]' drivers/net/wireless/carl9170/usb.c + accept '[ ]return[ ]request_firmware_nowait[(][^\n]*,[ ]CARL9170FW_NAME,' drivers/net/wireless/carl9170/usb.c + blobname 'iwlwifi-100-' drivers/net/iwlwifi/iwl-1000.c + blobname 'iwlwifi-130-' drivers/net/iwlwifi/iwl-6000.c + blobname 'libertas[/]cf83\(05\|8[15]\)\(_helper\)\?\.bin' drivers/net/wireless/libertas/if_cs.c + blobname 'libertas[/]sd\(8385\|8686\(_v[89]\)\|8688\)\(_helper\)\?\.bin' drivers/net/wireless/libertas/if_sdio.c + blobname 'libertas[/]gspi\(8385\|8686\(_v9\)\?\|8688\)\(_helper\|_hlp\)\?\.bin' drivers/net/wireless/libertas/if_spi.c + blobname 'libertas[/]usb\(8388\(_v[59]\)\?\|8682\)\.bin' drivers/net/wireless/libertas/if_usb.c + accept '[ ][/][*][ ]Try[ ]user-specified[ ]firmware[ ]first[ ][*][/][\n][ ]if[ ][(]fwname[)][\n][ ][ ]return[ ]request_firmware' drivers/net/wireless/libertas/if_usb.c + accept '[ ][ ]ret[ ]=[ ]request_firmware[(]\(helper,[ ]user_helper\|mainfw,[ ]user_mainfw\)' drivers/net/wireless/libertas/main.c + defsnc 'static[ ]const[ ]int[ ]\(ldo5\|buck1\)_voltage_map\[\][ ]=' drivers/regulator/lp3972.c + accept '\([ ][*][ ]\(format\|information\)[^\n]*\|[#]define[ ]REG_DATA_FILE_A\?G[ ]*\)["]\([.][/]\)\?regulatoryData_A\?G\.bin["]' drivers/staging/ath6kl/include/common/regulatory/reg_dbschema.h + blobname 'ath6k[/]AR6003[/]hw[12]\.0[/]\(otp\|athwlan\)\.bin\.z77' drivers/staging/ath6kl/os/linux/include/ar6000_drv.h + blobname 'ath6k[/]AR6003[/]hw[12]\.0[/]\(athtcmd_ram\|device\|data\.patch\|endpointping\|bdata\.\(SD3[12]\|WB31\|CUSTOM\)\)\.bin' drivers/staging/ath6kl/os/linux/include/ar6000_drv.h + defsnc 'static[ ]DDR_SET_NODE[ ]asT3\(LP\)\?B\?_DDRSetting\(80\|100\|133\|160\)MHz\[\][ ]\?=' drivers/staging/bcm/DDRInit.c + blobname '\([/]lib[/]firmware[/]\)\?macxvi200\.bin' drivers/staging/bcm/Macros.h + accept '-[ ]On-chip[ ]firmware[ ]loaded[ ]using[ ]standard[ ]request_firmware[(][)]' 'drivers/staging/brcm80211\(/brcmfmac\)\?/README' + blobname 'brcm[/]bcm43xx\(_hdr\)\?-0[-0-9]*\.fw' 'drivers/\(staging\|net/wireless\)/brcm80211/README' + blobname 'brcm[/]bcm4329-fullmac-4[-0-9]*\.\(bin\|txt\)' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmfmac/README' + blob 'Firmware[ ]installation[\n]=\+\([\n]\+[^\n=][^\n]*\)\+\([/]lib[/]firmware[/]brcm\|\.fw\)[^\n]*\([\n][^\n=][^\n]*\)*\([\n][\n][^=\n][^\n]*[\n][^=\n][^\n]*\([\n][^\n=][^\n]*\)*\)*' 'drivers/staging/brcm80211\(/brcmfmac\)\?/README' + defsnc '[ ]u16[ ]nrate_list\[4\]\[8\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmfmac/wl_iw\.c' + defsnc 'static[ ]chan_info_basic_t[ ]chan_info_all\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/phy/wlc_phy_cmn\.c' + defsnc 'u16[ ]ltrn_list\[PHY_LTRN_LIST_LEN\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_cmn\.c\|brcmsmac/phy/phy_cmn\.c\)' + defsnc 's8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_cmn\.c\|brcmsmac/phy/phy_cmn\.c\)' + defsnc 'lcnphy_rx_iqcomp_t[ ]lcnphy_rx_iqcomp_table_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc 'static[ ]const[ ]u32[ ]lcnphy_23bitgaincode_table\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_table\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_index_offset_for_rssi\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc 'static[ ]chan_info_2064_lcnphy_t[ ]chan_info_2064_lcnphy\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc 'lcnphy_radio_regs_t[ ]lcnphy_radio_regs_2064\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc '\(static[ ]const[ ]\)\?s8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc '\(static[ ]const[ ]\)\?u16[ \n]*LCNPHY_txdigfiltcoeffs_\(cck\|ofdm\)\[LCNPHY_NUM_TX_DIG_FILTERS_\(CCK\|OFDM\)\][\n ]*\[LCNPHY_NUM_DIG_FILT_COEFFS[ ][+][ ]1\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c' + defsnc '\(static[ ]const[ ]\)\?nphy_ipa_txrxgain_t[ ]nphy_ipa_rxcal_gaintbl_2GHz\(_rev7\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc 'static[ ]\(const[ ]\)\?chan_info_nphy_\(radio\)\?205[5x7]\(_rev5\)\?_t[ ]chan_info_nphy\(rev[3-9]\(n6\)\?\)\?_205[5-7]\(_A1\|v\([5-8]\|11\)\|_rev[4-8]\(v1\)\?\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc '\(static[ ]\)\?radio_\(20xx_\)\?regs_t[ ]regs_\(SYN_\|[RT]X_\)\?205[5-7]\(_A1\|_rev\([4-8]\|11\)\(v1\)\?\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc 'static[ ]const[ ]u16[ ]tbl_iqcal_gainparams_nphy\[2\]\[NPHY_IQCAL_NUMGAINS\]\[8\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc 'static[ ]\(const[ ]\)\?u32[ ]nphy_tpc_\(5GHz_\)\?txgain\(_[ei]pa\)\?\(\(_[25]g\)\?\(_\(2057\)\?\(rev\([3-7]\|4n6\)\?\)\?\)\?\|_HiPwrEPA\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc 'static[ ]const[ ]u16[ ]nphy_tpc_loscale\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc 'static[ ]\(const[ ]\)\?u8[ ]pad_all_gain_codes_2057\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc 'static[ ]\(const[ ]\)\?u32[ ]nphy_papd_scaltbl\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc '[ ]s32[ ]poll_results\[8\]\[4\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc '[ ]nphy_txiqcal_ladder_t[ ]ladder_\(lo\|iq\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]dot11lcn_gain_\(idx_\|val_\)\?tbl_\(rev[01]\|\(extlna_\)\?2G\|5G\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_aux_gain_idx_tbl_\(rev0\|\(extlna_\)\?2G\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]dot11lcn_aux_gain_idx_tbl_5G\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u8[ ]dot11lcn_gain_val_tbl_\(rev0\|\(extlna_\)\?2G\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_\(min_sig_sq\|noise_scale\)_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_sw_ctrl_tbl_\(4313_\)\?\(bt_\)\?\(epa_\)\?\(p250_\)\?rev0\(_combo\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u8[ ]dot11lcn_spur_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_\(unsup_mcs\|iq_local\)_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]lcnphy_tx_gain_tbl_entry[ ]dot11lcnphy_[25]GHz_\(extPA_\)\?gaintable_rev0\[128\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]dot11lcn_papd_compdelta_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]frame_struct_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u8[ ]frame_lut_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]\(tmap\|tdtrn\)_tbl_rev[037]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]pilot_tbl_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]tdi_tbl[24]0_ant[01]_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]chanest_tbl_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u8[ ]mcs_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]noise_var_tbl[01]\?_rev[037]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u8[ ]\(est\|adj\)_pwr_lut_core[01]_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]\(gainctrl\|iq\)_lut_core[01]_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]loft_lut_core[01]_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]ant_swctrl_tbl_rev3\(_[1-3]\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]mcs_tbl_rev3\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]papd_comp_rfpwr_tbl_core[01]_rev3\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]papd_\(comp_epsilon\|cal_scalars\)_tbl_core[01]_rev[37]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + blobname 'brcm[/]bcm43xx' 'drivers/\(staging\|net/wireless\)/brcm80211/sys/wl_mac80211\.c' + blobname '%s\(_hdr\)\?-%d\.fw' 'drivers/\(staging\|net/wireless\)/brcm80211/sys/wl_mac80211\.c' + defsnc 'static[ ]const[ ]u8[ ]crc8_table\[256\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(util/bcmutils\.c\|brcmutil/utils\.c\)' + defsnc 'static[ ]const[ ]u16[ ]crc16_table\[256\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(util/bcmutils\.c\|brcmutil/utils\.c\)' + defsnc 'static[ ]const[ ]u32[ ]crc32_table\[256\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(util/bcmutils\.c\|brcmutil/utils\.c\)' + defsnc 'static[ ]const[ ]pmu0_xtaltab0_t[ ]pmu0_xtaltab0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/util/hndpmu\.c' + defsnc 'static[ ]const[ ]pmu1_xtaltab0_t[ ]pmu1_xtaltab0\(_880\(_4329\)\?\|_1760\|_1440\|_960\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/util/hndpmu\.c' + defsnc 'static[ ]const[ ]s16[ ]log_table\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(util/qmath\.c\|brcmsmac/phy/phy_qmath\.c\)' + blobname 'ft[12]000\.img' drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c + blobname 'ft3000\.img' drivers/staging/ft1000/ft1000-usb/ft1000_usb.c + defsnc '[ ][ ][ ][ ]u8[ ]ConnectionMsg\[\][ ]=' drivers/staging/ft1000/ft1000-usb/ft1000_chdev.c + blobname 'fw_sst_0\(80a\|82f\)\.bin' drivers/staging/intel_sst/intel_sst_common.h + # This appends a .bin extension, but without loading the firmware + # above, it will never arise, so leave it alone for now. + accept '[ ]len[ ][+]=[ ]snprintf[(]buf[ ][+][ ]len[,][ ]sizeof[(]buf[)][ ]-[ ]len,[ ]["][.]bin["][)][;]' drivers/staging/intel_sst/intel_sst_dsp.c + defsnc '[ ]struct[ ]sc_reg_access[ ]\(sc_acces[,][ ]\)\?sc_access\[\][ ]=' 'drivers/staging/intel_sst/intelmid_v[012]_control\.c' + defsnc '[ ]BYTE[ ]data_ptr\[36\][ ]=' 'drivers/staging/keucr/\(ms\|s[dm]\)scsi\.c' + defsnc 'static[ ]BYTE[ ]ecctable\[256\][ ]=' drivers/staging/keucr/smilecc.c + defsnc 'static[ ]u8[ ]MAC_REG_TABLE\[\]\[2\][ ]=' drivers/staging/rtl8187se/r8185b_init.c + defsnc 'static[ ]u8[ ][ ]*ZEBRA_AGC\[\][ ]=' drivers/staging/rtl8187se/r8185b_init.c + defsnc 'static[ ]u32[ ]ZEBRA_RF_RX_GAIN_TABLE\[\][ ]=' drivers/staging/rtl8187se/r8185b_init.c + blob 'static[ ]const[ ]unsigned[ ]char[ ]f_array\[122328\][ ]=[ ][{]'"$sepx$blobpat*"',[\n][}][;]' drivers/staging/rtl8712/farray.h + blob 'static[ ]u32[ ]rtl871x_open_fw[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*f_array[^\n]*\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' drivers/staging/rtl8712/hal_init.c + defsnc 'static[ ]const[ ]long[ ]frequency_list\[\][ ]=' drivers/staging/rtl8712/rtl871x_ioctl_linux.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]Sbox1\[2\]\[256\][ ]=' drivers/staging/rtl8712/rtl871x_security.c + defsnc 'static[ ]const[ ]u8[ ]sbox_table\[256\][ ]=' drivers/staging/rtl8712/rtl871x_security.c + accept '[ ]119,[ ]62,[ ]6,[\n][ ]0,[ ]16,[ ]20,[ ]17,[ ]32,[ ]48,[ ]0,\([\n][ ][0-9]\+,\([ ][0-9]\+,\)*\)*[\n][ ]0,[ ]119' drivers/staging/speakup/speakupmap.h + defsnc 'static[ ]u32[ ]\(h_prescale\|v_gain\)\[64\][ ]=' drivers/staging/stradis/stradis.c + accept '[/][*][ ]*\([ 1-4][0-9][ ][ ]\)*\(5[0-6][ ][ ]\)*[*][/]' drivers/staging/vt6656/channel.c + blobname 'west[ ]bridge[ ]fw' drivers/staging/westbridge/astoria/device/cyasdevice.c + defsnc 'static[ ]const[ ]u8[ ]gsm_fcs8\[256\][ ]=' drivers/tty/n_gsm.c + defsnc '[ ]static[ ]const[ ]struct[ ]dispc_v_coef[ ]coef_v\(up\|down\)_3tap\[8\][ ]=' drivers/video/omap2/dss/dispc.c + blobname 'c[bt]fw_\(fc\|cna\)\.bin' drivers/scsi/bfa/bfad_im.h + + # New in 2.6.38 + blobname '%s%04x%s["][,][ ]["]fw_sst_["][,][ \n]*sst_drv_ctx->pci_id[,][ ]["]\.bin' drivers/staging/intel_sst/intel_sst_common.h + accept '[ ]*[*][ ]*0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1' 'arch/x86/crypto/aesni-intel_asm\.S\|net/l2tp/l2tp_ip6\.c' + defsnc 'static[ ]struct[ ]aead_testvec[ ]\(aes_gcm_rfc4106\)_\(enc\|dec\)_tv_template\[\][ ]=' 'crypto/testmgr.h' + blobname '\(sep[/]\)\?extapp\.image\.bin' drivers/staging/sep/sep_driver.c + blobname 'radeon[/]\(BARTS\|BTC\|TURKS\|CAICOS\|%s\)_\(pfp\|rlc\|[mc][ec]\)\.bin' 'drivers/gpu/drm/radeon/[ns]i\.c' + defsnc 'static[ ]const[ ]u32[ ]\(barts\|turks\|caicos\)_io_mc_regs\[BTC_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/ni.c + defsnc 'static[ ]int[ ]types\[0x80\][ ]=' drivers/gpu/drm/nouveau/nv50_vram.c + blobname '\(nouveau[/]\)\?fuc4\(09\|1a\)[cd]' drivers/gpu/drm/nouveau/nvc0_graph.c + defsnc '[ ][}][ ]v_table\[\][ ]=' drivers/gpu/drm/i915/i915_dma.c + defsnc '[}][ ]nec_8048_init_seq\[\][ ]=' drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c + defsnc 'static[ ]const[ ]int[ ]mc13892_sw1\?\[\][ ]=' drivers/regulator/mc13892-regulator.c + defsnc 'static[ ]const[ ]int[ ]dcdc[12]_voltages\[\][ ]=' drivers/regulator/tps6524x-regulator.c + defsnc '[ ]\(static[ ]const[ ]\)\?u8[ ]init_hash_seed\[\][ ]=' drivers/net/qlge/qlge_main.c + blobname 'vxge[/]X3fw\(-pxe\)\?\.ncf' drivers/net/vxge/vxge-main.c + defsnc '[ ][ ]\(static[ ]const[ ]\)\?int[ ]poly\[\]=' drivers/net/pcmcia/nmclan_cs.c + defsnc 'static[ ]\(const[ ]\)\?int[ ]fifo_map\[\]\[MAX_TX_FIFOS\][ ]=' drivers/net/s2io.h + defsnc 'static[ ]const[ ]struct[ ]efuse_map[ ]RTL8712_SDIO_EFUSE_TABLE\[\][ ]=' drivers/net/wireless/rtlwifi/efuse.c + defsnc 'static[ ]const[ ]u32[ ]ofdmswing_table\[OFDM_TABLE_SIZE\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/dm.c + defsnc 'static[ ]const[ ]u8[ ]cckswing_table_ch\(1ch13\|14\)\[CCK_TABLE_SIZE\]\[8\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/dm.c + blobname 'rtlwifi[/]rtl8192cfw\.bin' drivers/net/wireless/rtlwifi/rtl8192ce/sw.c + # This looks like pure data. + defsnc 'static[ ]u8[ ]reserved_page_packet\[TOTAL_RESERVED_PKT_LEN\][ ]=' 'drivers/net/wireless/rtlwifi/rtl8192[cd]e/fw.c' + defsnc 'u32[ ]RTL8192CE\(PHY_REG\|_\?RADIO[AB]\|MAC\|AGCTAB\)_\([21]T_\?ARRAY\|ARRAY_PG\)\[\(PHY_REG\|RADIO[AB]\|MAC\|AGCTAB\)_\([21]T_\?ARRAY_\?\|ARRAY_PG\)LENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/table.c + defsc 'static[ ]const[ ]struct[ ]ar9300_eeprom[ ]ar9300_[hx]11[236][ ]=' drivers/net/wireless/ath/ath9k/ar9003_eeprom.c + defsnc 'static[ ]const[ ]struct[ ]b43_nphy_channeltab_entry_rev3[ ]b43_nphy_channeltab_rev\([34568]\|7_9\)\[\][ ]=' drivers/net/wireless/b43/radio_2056.c + blobname '["]softing-4[.]6[/]["]' drivers/net/can/softing/softing_platform.h + blobname '\(softing-4[.]6[/]\)\?\(\(b\|ld\)card2\?\|can\(card\|sja\|crd2\)\)\.bin' drivers/net/can/softing/softing_cs.c + blobna 'which[ ]you[ ]can[ ]get[ ]at[\n][ ][ ][ ]http:[/][/][^\n]*[/]socketcan[/][\n][^-]*firmware[ ]version' drivers/net/can/softing/Kconfig + defsnc 'static[ ]struct[ ]regdata[ ]mb86a20s_init\[\][ ]=' drivers/media/dvb/frontends/mb86a20s.c + defsnc 'static[ ]struct[ ]regdata[ ]s921_init\[\][ ]=' drivers/media/dvb/frontends/s921.c + defsnc 'static[ ]const[ ]struct[ ]regval_list[ ]ov2640_init_regs\[\][ ]=' drivers/media/video/ov2640.c + defsnc 'static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]norm_7660\[\][ ]=' drivers/media/video/ov519.c + defsnc '[ ]static[ ]const[ ]struct[ ]ov_regvals[ ]bridge_ov7660\[2\]\[10\][ ]=' drivers/media/video/gspca/ov519.c + defsnc '[ ]static[ ]const[ ]u8[ ]fr_tb\[2\]\[6\]\[3\][ ]=' drivers/media/video/gspca/ov519.c + defsnc '[ ]static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]\(brit\|contrast\|colors\)_7660\[\]\[\(6\|7\|31\)\][ ]=' drivers/media/video/gspca/ov519.c + blobname 'radio-wl1273-fw\.bin' drivers/media/radio/radio-wl1273.c + defsnc '[}][ ]scrubrates\[\][ ]=' drivers/edac/amd64_edac.c + defsnc '[ ]static[ ]const[ ]uint8_t[ ]branch_table\[32\][ ]=' lib/xz/xz_dec_bcj.c + defsnc 'static[ ]const[ ]struct[ ]_pll_div[ ]codec_master_pll_div\[\][ ]=' sound/soc/codecs/alc5623.c + defsnc '[}][ ]coeff_div\[\][ ]=' sound/soc/codecs/wm8737.c + blobname 'rpm_firmware\(_rev11\)\?\.bin' sound/pci/rme9652/hdsp.c + blobname 'mwl8k[/]fmimage_8366_ap-["][ ][#]api[ ]["]\.fw' drivers/net/wireless/mwl8k.c + blobname 'rtl_nic[/]rtl8168d-[12]\.fw' drivers/net/r8169.c + # New in 2.6.38.4 + defsnc '[ ]static[ ]DEFINE_TEST_\(OK\|FAIL\)[(][^)]*[)][ ]=' lib/test-kstrtox.c + + # New in 2.6.39 + blobna 'printk[(]KERN_ERR[ ]["]r8712u:[ ]Install[^\n"]*firmware[\\]n["][)][;]' drivers/staging/rtl8712/hal_init.c + defsnc 'static[ ]const[ ]struct[ ]phy_reg[ ]exynos4_sataphy_\(cmu\|\(com\)\?lane\)\[\][ ]=' arch/arm/mach-exynos4/dev-ahci.c + defsnc 'static[ ]struct[ ]clk_pll_\(freq_\)\?table[ ]tegra_pll_[adpxm]_\(freq_\)\?table\[\][ ]=' arch/arm/mach-tegra/tegra2_clocks.c + initnc '\.irp[ ]idx' arch/x86/include/asm/entry_arch.h + initnc '\.irp[ ]idx' arch/x86/kernel/entry_64.S + defsnc 'static[ ]const[ ]u8[ ]types\[256\][ ]=' drivers/gpu/drm/nouveau/nvc0_vram.c + defsnc 'static[ ]__u8[ ]keytouch_fixed_rdesc\[\][ ]=' drivers/hid/hid-keytouch.c + blobname 'dib9090\.fw' drivers/media/dvb/dvb-usb/dib0700_devices.c + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(dw\(210[24]\|3101\)\|s6[3x]0\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\|size_of_priv\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dw2102.c + accept '[ ]\(p1100\|s660\)->firmware[ ]=' drivers/media/dvb/dvb-usb/dw2102.c + blobname 'dvb-usb-\(p1100\|s660\)\.fw' drivers/media/dvb/dvb-usb/dw2102.c + blobname 'dvb-usb-lme2510c\?-s0194\.fw' drivers/media/dvb/dvb-usb/lmedm04.c + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]technisat_usb2_devices[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\|identify_state\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/technisat-usb2.c + blobname 'dvb-usb-SkyStar_USB_HD_FW_v17_63\.HEX\.fw' drivers/media/dvb/dvb-usb/technisat-usb2.c + defsnc 'static[ ]const[ ]struct[ ]dib0090_pll[ ]dib0090_\(p1g_\)\?pll_table\[\][ ]=' drivers/media/dvb/frontends/dib0090.c + defsnc '[ ]static[ ]u8[ ]sine[ ]\?\[\][ ]=' drivers/media/dvb/frontends/dib7000p.c + defsnc '\(static[ ]const[ ]\)\?u32[ ]fe_info\[44\][ ]=' drivers/media/dvb/frontends/dib9000.c + blobname 'dvb-netup-altera-01\.fw' drivers/media/video/cx23885/cx23885-cards.c + # These are suspicious, but the regularity suggests data. + defsnc 'static[ ]const[ ]u8[ ]\(nw80[012]\|spacecam2\?\|cvideopro\|dlink\|ds3303\|kr651\|kritter\|mustek\|proscope\|twinkle\|dvcv6\)_start\(_\([12]\|q\?vga\)\)\?\[\][ ]=' drivers/media/video/gspca/nw80x.c + defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init_7\(67\|72\)x\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c + defsnc '[ ]static[ ]u8[ ]color_tb\[\]\[6\][ ]=' drivers/media/video/gspca/ov534.c + defsnc 'static[ ]const[ ]struct[ ]isprsz_coef[ ]filter_coefs[ ]=' drivers/media/video/omap3isp/ispresizer.c + defsnc 'static[ ]const[ ]struct[ ]ov9740_reg[ ]ov9740_defaults\[\][ ]=' drivers/media/video/ov9740.c + defsnc 'static[ ]int[ ]therm_tbl\[\][ ]=' drivers/mfd/twl4030-madc.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]nandv2_hw_eccoob_\(largepage\|4k\)[ ]=' drivers/mtd/nand/mxc_nand.c + defsnc 'static[ ]const[ ]u32[ ]ar9485\(\(C\|_c\)ommon_\(wo_xlna_\)\?rx_gain\)\?_1_[01]\(_\(radio\|baseband\|mac\)_core\)\?\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9485_1_[01]_\(mac\|baseband\)_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9485\(M\|_m\)odes_\(high\|low\|green\)\(est\)\?_\(power\|ob_db\)_tx_gain_1_[01]\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h + defsnc '\(static[ ]\)\?const[ ]u\(8\|16\|32\)[ ]b43_ntab_\(\(adjustpower\|estimatepowerlt\|gainctl\|iqlt\|loftlt\|noisevar1\?\|tdi[24]0a\)[01]\|channelest\|frame\(lookup\|struct\)\|mcs\|pilot\|tdtrn\|tmap\)\(_r3\)\?\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'struct[ ]nphy_gain_ctl_workaround_entry[ ]nphy_gain_ctl_workaround\[2\]\[3\][ ]=' drivers/net/wireless/b43/tables_nphy.c + blobname '\(ti-connectivity[/]\)\?wl1271-\(fw\(-2\|-ap\)\?\|nvs\)\.bin' drivers/net/wireless/wl12xx/wl1271.h + accept '#define\([ ]_\?IWL\(4965\|[156]000\(G2[AB]\)\?\|1[03]0\|5150\|6050\|20[03]\?0\)_MODULE_FIRMWARE[(]api[)]\)\+' 'drivers/net/iwlwifi/iwl-\([1256]000\|4965\)\.c' + blobname 'rtlwifi[/]rtl8192cufw\.bin' drivers/net/wireless/rtlwifi/rtl8192cu.sw + blobname 'rtlwifi[/]rtl8712u\.bin' drivers/staging/rtl8712/hal_init.c + defsnc 'u32[ ]\(RTL\|Rtl\)8192CU\(PHY_REG\|_\?\(RADIO\|Radio\)[AB]\|MAC\|AGCTAB\)_\([21]T\(_HP\)\?_\?\(ARRAY\|Array\)\|\(ARRAY\|Array\)_PG\)\(_HP\)\?\[RTL8192CU\(PHY_REG\|\(RADIO\|Radio\)[AB]\|MAC\|AGCTAB\)_\([21]T\(_HP\)\?_\?\(ARRAY\|Array\)_\?\|\(ARRAY\|Array\)_PG\)\(_HP\)\?\(LENGTH\|Length\)\][ ]=' drivers/net/wireless/rtlwifi/rtl8192cu/table.c + blobname 'rtl_nic[/]rtl8105e-1\.fw' drivers/net/r8169.c + defsnc 'static[ ]const[ ]\(A_INT32\|s32\)[ ]wmi_rateTable\[\]\[2\][ ]=' drivers/staging/ath6kl/wmi/wmi.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]\(stk1160\|saa7113\)config[ ]\([{][^}]*[}][ ]\)\?\(stk1160\|saa7113\)config\(PAL\|NTSC\)\?\[\(256\)\?\][ ]=' drivers/staging/easycap/easycap_low.c + defsnc 'static[ ]const[ ]ccktxbbgain_struct[ ]rtl8192_cck_txbbgain_\(ch14_\)\?table\[\][ ]=' drivers/staging/rtl8192e/r8192E_dm.c + defsnc '[ ]unsigned[ ]char[ ]data_ptr\[36\][ ]=' drivers/usb/storage/ene_ub6250.c + blobname 'ene-ub6250[/]sd_\(init[12]\|rdwr\)\.bin' drivers/usb/storage/ene_ub6250.c + defsnc 'static[ ]const[ ]struct[ ]hdmi_timings[ ]cea_vesa_timings\[OMAP_HDMI_TIMINGS_NB\][ ]=' drivers/video/omap2/dss/hdmi.c + defsnc 'static[ ]struct[ ]pll_config[ ]\(cle266\|k800\|cx700\|vx855\)_pll_config\[\][ ]=' drivers/video/via/hw.c + defsnc 'static[ ]char[ ]channel_map_unity_ss\[HDSPM_MAX_CHANNELS\][ ]=' sound/pci/rme9652/hdspm.c + defsnc 'static[ ]const[ ]u8[ ]log_volume_table\[128\][ ]=' sound/usb/6fire/control.c + defsnc 'static[ ]const[ ]struct[ ][{][^}]*[}][\n]init_data\[\][ ]=' drivers/usb/6fire/control.c + blobname '6fire[/]dmx6fire\(l2\|ap\|cf\)\.\(ihx\|bin\)' sound/usb/6fire/firmware.c + defsnc 'static[ ]const[ ]u8[ ]BIT_REVERSE_TABLE\[256\][ ]=' sound/usb/6fire/firmware.c + initnc '[/][*][\n][ ][*][ ]\(cfa_coef\|gamma\|luma_enhance\|noise_filter\)_table\.h[\n][ ][*]\([^\n]*[\n][ ][*]\)*[/]' 'drivers/media/video/omap3isp/\(cfa_coef\|gamma\|luma_enhance\|noise_filter\)_table\.h' + blobna 'rocess_sigma_firmwar' + defsnc 'int[ ]process_sigma_firmware[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*\(request\|maybe_reject\)_firmware' drivers/firmware/sigma.c + accept 'EXPORT_SYMBOL[(]process_sigma_firmware[)]' drivers/firmware/sigma.c + accept 'extern[ ]int[ ]process_sigma_firmware[(][^)]*[)][;]' include/linux/sigma.h + blobname 'maxtouch\.fw' drivers/input/touchscreen/atmel_mxt_ts.c + blobname 'fm\(c\|_[rt]x\)_ch8\(_[0-9a-f]*\.[0-9]*\.bts\)\?' drivers/media/radio/wl128x/fmdrv_common.h + blobname '%s_%x\.%d\.bts' drivers/media/radio/wl128x/fmdrv_common.c + blobname 'vntwusb\.fw' drivers/staging/vt6656/firmware.c + # New in 3.0. + accept 'resume[/]restore[,][ ]but[ ]they[ ]cannot[ ]do[ ]it[ ]by[ ]calling[ ]request_firmware[(][)]' Documentation/power/notifiers.txt + accept '[ ][ ][ ]interrupts[ ]=[ ]<\([\n][ ][ ][ ][ ]0xe[0-7][ ]0[ ]0[ ]0\)*>[;]' arch/powerpc/boot/dts/p1022ds.dts + accept '[ ][ ][ ][ ]gzip[ ]-n[ ]--force[ ]-9[ ]--stdout[ ]["][$]ofile\.bin["][ ]>[ ]["][$]odir[/]otheros\.bld["]' arch/powerpc/boot/wrapper + defsnc '\(uint32_t\|u32\)[ ]nva3_pcopy_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nva3_copy.fuc.h + defsnc '\(uint32_t\|u32\)[ ]nvc0_pcopy_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvc0_copy.fuc.h + accept '[ ]struct[ ]nvc0_graph_fuc[ ]fuc4\(09\|1a\)[cd]' drivers/gpu/drm/nouveau/nvc0_graph.h + defsnc 'static[ ]const[ ]u8[ ]sht15_crc8_table\[\][ ]=' drivers/hwmon/sht15.c + defsnc 'static[ ]u8[ ]stv0288_bsbe1_d01a_inittab\[\][ ]=' drivers/media/dvb/frontends/bsbe1-d01a.h + defsnc '[ ]struct[ ]reg_val_mask[ ]tab\[\][ ]=' 'drivers/media/dvb/frontends/\(cxd2820r_\(c\|t2\)\|af9033\)\.c' + blobname 'drxd-a2-1\.1\.fw' drivers/media/dvb/frontends/drxd_hard.c + blobname 'drxd-b1-1\.1\.fw' drivers/media/dvb/frontends/drxd_hard.c + blob '[/][*][ ]if[ ][(]\(reject\|request\)_firmware[(][&]state->fw[,][ ]["]drxd\.fw["][,][ ]state->dev[)]<0[)][ ][*][/]' + blobname 'drxd\.fw' drivers/media/dvb/frontends/drxd_hard.c + defsnc '[ ]static[ ]char[ ]init_values\[38\]\[3\][ ]=' drivers/media/video/usbvision/usbvision-core.c + blobna 'www\.elandigitalsys[^\n]*download' drivers/mmc/host/Kconfig + blobname 'vub_\(default\.bin\|%04X%04X\)' drivers/mmc/host/vub300.c + blobna 'snprintf[(]vub300->vub_name[ ][+][^\n]*[,][ ]["]\.bin["][)][;]' drivers/mmc/host/vub300.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]flexonenand_oob_128[ ]=' drivers/mtd/onenand/onenand_base.c + defsnc 'static[ ]const[ ]u32[ ]ar9340Modes_\(\(low\(est\)\?\|high\|mixed\)_ob_db\|high_power\|ub124\)_tx_gain_table_1p0\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9340_1p0_\(radio\|baseband\|mac\)_core\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9340_1p0_\(mac\|baseband\)_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9340Common_\(wo_xlna_\)\?rx_gain_table_1p0\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h + defsnc 'static[ ]u16[ ]mwifiex_data_rates\[MWIFIEX_SUPPORTED_RATES_EXT\][ ]=' drivers/net/wireless/mwifiex/cfp.c + accept '[ ]\.helper[ ][ ]=[ ]NULL[,][\n][ ]*\.firmware' drivers/bluetooth/btmrvl_sdio.c + blobname 'mrvl[/]sd8787_uapsta\(_w1\)\?\.bin' drivers/net/wireless/mwifiex/main.h + blobname 'sd8787\.bin' drivers/net/wireless/mwifiex/sdio.c + blobna 'Copy[ ]sd8787\.bin[ ]to[^.]*[.]' drivers/net/wireless/mwifiex/README + blobname 'rtlwifi[/]rtl8192sefw\.bin' drivers/net/wireless/rtlwifi/rtl8192se/sw.c + defsnc 'u32[ ]rtl8192sephy_reg_2t2rarray\[PHY_REG_2T2RARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192se/table.c + defsnc 'u32[ ]rtl8192sephy_changeto_1t[12]rarray\[PHY_CHANGETO_1T[12]RARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192se/table.c + defsnc 'u32[ ]rtl8192sephy_reg_array_pg\[PHY_REG_ARRAY_PGLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192se/table.c + defsnc 'u32[ ]rtl8192seradioa_1t_array\[RADIOA_1T_ARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192se/table.c + defsnc 'u32[ ]rtl8192semac_2t_array\[MAC_2T_ARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192se/table.c + defsnc 'u32[ ]rtl8192seagctab_array\[AGCTAB_ARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192se/table.c + accept 'Place[ ]isci_firmware\.bin[ ]in' drivers/scsi/isci/firmware/README + # This is not a code blob, it is just small data structures described in create_fw.[ch]. + accept 'static[ ]const[ ]char[ ]blob_name\[\][ ]=[ ]["]isci_firmware\.bin["]' drivers/scsi/isci/create_fw.h + accept '[ ][ ]orom[ ]=[ ]isci_request_firmware' drivers/scsi/isci/init.c + accept 'MODULE_FIRMWARE[(]ISCI_FW_NAME[)][;]' drivers/scsi/isci/init.c + accept 'struct[ ]isci_orom[ ][*]isci_request_firmware[(]' 'drivers/scsi/isci/probe_roms\.[ch]' + accept '[ ]if[ ][(]request_firmware[(][&]fw[,][ ]ISCI_FW_NAME[,]' drivers/scsi/isci/probe_roms.c + accept '#define[ ]ISCI_FW_NAME[ ][ ]["]isci[/]isci_firmware\.bin["]' drivers/scsi/isci/probe_roms.h + defsnc 'static[ ]struct[ ]pll_limit[ ]\(cle266\|k800\|cx700\|vx855\)_pll_limits\[\][ ]=' drivers/video/via/hw.c + accept '[ ][ ]-e[ ]["][$]tmp_dir[/]lib[/]modules[/][$]KERNELRELEASE[/]modules\.dep\.bin["]' scripts/depmod.sh + blobname 'wm8958_\(enh_eq\|mbc\(_vss\)\?\)\.wfw' sound/soc/codecs/wm8958-dsp2.c + blobname 'rtl_nic[/]rtl8168e-[12]\.fw' drivers/net/r8169.c + defsnc '[ ]static[ ]const[ ]struct[ ]ephy_info[ ]e_info_8168e\[\][ ]=' drivers/net/r8169.c + blobname 'ti-connectivity[/]wl128x-fw\(-ap\)\?\.bin' drivers/net/wireless/wl12xx/wl12xx.h + defsnc 'static[ ]const[ ]u8[ ]tg3_tso_header\[\][ ]=' drivers/net/tg3.c + blobname 'ath6k[/]AR6003[/]hw2\.1\.1[/]\(otp\|athwlan\|athtcmd_ram\|device\|data\.patch\|endpointping\|bdata\.\(SD3[12]\|WB31\|CUSTOM\)\)\.bin' drivers/staging/ath6kl/os/linux/include/ar6000_drv.h + accept '[ ]nvc0_graph_init_fuc[(]dev[,][ ]0x4\(09\|1a\)000[,][ ][&]priv->fuc4\(09\|1a\)c[,][ ][&]priv->fuc4\(09\|1a\)d[)][;]' drivers/gpu/drm/nouveau/nvc0_graph.c + accept '[ ][ ]*nvc0_graph_destroy_fw[(]&priv->fuc4\(09\|1a\)[cd][)][;]' drivers/gpu/drm/nouveau/nvc0_graph.c + accept '[ ][ ]*\(if[ ][(]\|[ ][ ][ ][ ]\)nvc0_graph_create_fw[(]dev[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]priv->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveau/nvc0_graph.c + blobname 'nouveau[/]\(nv%02x_\)\?%s' 'drivers/gpu/drm/nouveau/nv[ce]0_graph\.c' + blobname 'radeon[/]SUMO2\?_\(pfp\|me\)\.bin' drivers/gpu/drm/radeon/r600.c + blobname 'iwlwifi-\(105\|20[03]\?0\)-' drivers/net/iwlwifi/iwl-2000.c + blobname '__stringify[(]api[)][ ]["]\.ucode["]' 'drivers/net/iwlwifi/iwl-\(3945.h\|\(4965\|[1256]000\)\.c\)' + # New in 3.1 + blobname 'sdma-imx25\.bin' arch/arm/mach-imx/mm-imx25.c + blobname 'sdma-imx31-to[12]\.bin' arch/arm/mach-imx/mm-imx31.c + blobname 'sdma-imx35-to[12]\.bin' arch/arm/mach-imx/mm-imx35.c + blobname 'sdma-imx5[13]\.bin' arch/arm/mach-mx5/mm.c + blobname 'brcm[/]bcm43xx' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/mac80211_if\.c' + blobname '%s\(_hdr\)\?-%d\.fw' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/mac80211_if\.c' + blobname 'brcm[/]bcm4329-fullmac-4\.\(bin\|txt\)' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmfmac/bcmchip\.h' + blobname 'mrvl[/]sd8787_uapsta\.bin' drivers/net/wireless/mwifiex/sdio.h + defsnc 'static[ ]int[ ]omap3_batt_table\[\][ ]=' arch/arm/mach-omap2/twl-common.c + defsnc '[ ]static[ ]u8[ ]InitRegs\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd.c + defsnc 'static[ ]struct[ ]SMapI[ ]m_RF_Cal_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h + defsnc 'static[ ]struct[ ]SMap2[ ]m_\(Main\|Cal\)_PLL_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h + accept '[ ][ ][ ]For[ ]example,[ ]you[ ]might[ ]set[ ]CONFIG_EXTRA_FIRMWARE=["]whatever\.bin["]' drivers/base/Kconfig + accept '[ ][ ][ ]Then[ ]any[ ]request_firmware[(]\(["]whatever\.bin["]\)[)]' drivers/base/Kconfig + blobname 'dvb-fe-xc4000-1.4.fw' drivers/media/common/tuners/xc4000.c + defsnc 'static[ ]struct[ ]SMap2\?[ ]*m_\(GainTaper\|RF_Cal_DC_Over_DT\|CID_Target\)_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h + defsnc '[ ][}][ ]regs\[\][ ]=' drivers/media/video/em28xx/em28xx-dvb.c + defsnc 'static[ ]struct[ ]regval_list[ ]ov5642_default_regs_\(init\|finalise\)\[\][ ]=' drivers/media/video/ov5642.c + defsnc 'static[ ]const[ ]u8[ ]hdmiphy_conf\(27\(_027\)\?\|74\(_175\|_25\)\|148_5\)\[32\][ ]=' drivers/media/video/s5p-tv/hdmiphy_drv.c + defsnc 'static[ ]const[ ]u8[ ]filter_y_vert_tap4\[\][ ]=' drivers/media/video/s5p-tv/mixer_reg.c + defsnc '[ ]static[ ]const[ ]char[ ][*][ ]const[ ]vui_sar_idc\[\][ ]=' drivers/media/video/v4l2-ctrls.c + defsnc 'static[ ]const[ ]u32[ ]ar9331_\(1p[12]_\(baseband\|mac\)_postamble\|modes_\(low\(est\)\?\|high\)_\(ob_db\|power\)_tx_gain_1p[12]\)\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9331_\(1p[12]_\(radio\|baseband\|mac\)_core\|common_\(wo_xlna_\)\?rx_gain_1p[12]\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h + defsnc 'static[ ]const[ ]u\(16\|32\)[ ]b43_httab_0x\(1[2abcf]\(_0x\(1\?c\|[12]4\)0\)\?\|2[0-7]\)\[\][ ]=' drivers/net/wireless/b43/tables_phy_ht.c + defsnc 'static[ ]u32[ ]targetchnl_5g\[TARGET_CHNL_NUM_5G\][ ]=' drivers/net/wireless/rtlwifi/rtl8192de/phy.c + defsnc '[ ]u8[ ]channel_\(5g\|all\|info\)\[\(45\|59\)\][ ]=' drivers/net/wireless/rtlwifi/rtl8192de/phy.c + blobname 'rtlwifi[/]rtl8192defw[.]bin' drivers/net/wireless/rtlwifi/rtl8192de/sw.c + defsnc 'u32[ ]rtl8192de_\(phy_reg\|radio[ab]\|mac\|agctab\)_\(\(2t\(_int_pa\)\?\|[25]g\)\?array\|array_pg\)\[\(PHY_REG\|RADIO[AB]\|MAC\|AGCTAB\)_\(\(2T\(_INT_PA\)\?_\|[25]G_\)\?ARRAY\|ARRAY_PG_\)LENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192de/table.c + defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_basic[ ]chan_info_all\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_cmn\.c' + defsnc 'struct[ ]lcnphy_rx_iqcomp[ ]lcnphy_rx_iqcomp_table_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c' + defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_2064_lcnphy[ ]chan_info_2064_lcnphy\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c' + defsnc '\(static[ ]const[ ]\)\?struct[ ]lcnphy_radio_regs[ ]lcnphy_radio_regs_2064\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c' + defsnc '\(static[ ]const[ ]\)\?struct[ ]nphy_ipa_txrxgain[ ]nphy_ipa_rxcal_gaintbl_2GHz\(_rev7\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_nphy_2055[ ]chan_info_nphy_2055\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_nphy_radio205x[ ]chan_info_nphyrev\(3_2056\|4_2056_A1\|5_2056v5\|6_2056v6\|5n6_2056v7\|6_2056v\(8\|11\)\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_nphy_radio2057[ ]chan_info_nphyrev\(7_2057_rev4\|8_2057_rev[78]\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_nphy_radio2057_rev5[ \n]chan_info_nphyrev\(8_2057_rev5\|9_2057_rev5v1\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc '\(static[ ]\)\?\(const[ ]\)\?struct[ ]radio_\(20xx_\)\?regs[ \n]regs_\(2055\|\(SYN\|[TR]X\)_205\(6\(_A1\|_rev\([5678]\|11\)\)\?\)\|2057_rev\([4578]\|5v1\)\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc '[ ]struct[ ]nphy_txiqcal_ladder[ ]ladder_\(lo\|iq\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc '\(static[ ]\)\?const[ ]struct[ ]lcnphy_tx_gain_tbl_entry[ \n]dot11lcnphy_[25]GHz_\(extPA_\)\?gaintable_rev0\[128\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phytbl_lcn\.c' + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]raw_edid\[\][ ]=' drivers/staging/gma500/mrst_hdmi.c + defsnc 'static[ ]const[ ]u8[ ]net2272_test_packet\[\][ ]=' drivers/usb/gadget/net2272.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]seq_setting\[\][ ]=' drivers/video/backlight/ams369fg06.c + defsnc 'static[ ]u8[ ]adav80x_default_regs\[\][ ]=' sound/soc/codecs/adav80x.c + defsnc 'static[ ]const[ ]u8[ ]sta32x_regs\[STA32X_REGISTER_COUNT\][ ]=' sound/soc/codecs/sta32x.c + defsnc '[}][ ]mclk_ratios\[3\]\[7\][ ]=' sound/soc/codecs/sta32x.c + defsnc 'static[ ]const[ ]int[ ]vid_to_voltage\[32\][ ]=' tools/power/cpupower/debug/i386/dump_psb.c + blobname 'dvb-usb-terratec-h5-drxk\.fw' drivers/media/video/em28xx/em28xx-dvb.c + blobname 's5pc110-mfc\.fw' drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c + blobname 'adau1701\.bin' sound/soc/codecs/adau1701.c + accept '[ ]return[ ]process_sigma_firmware[(]codec->control_data[,][ ]ADAU1701_FIRMWARE[)]' sound/soc/codecs/adau1701.c + # Sources for these are in the corresponding .fuc files. + defsnc 'uint32_t[ ]nvc0_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvc0_grgpc.fuc.h + defsnc 'uint32_t[ ]nvc0_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvc0_grhub.fuc.h + accept '[ ][ ][ ]interrupts[ ]=[ ]<\([\n][ ]*0x[ef][0-9a-f][ ]0[ ]0[ ]0\)*>[;]' 'arch/powerpc/boot/dts/p\(2040\|3041\|4080\|5020\)si\.dtsi' + blobname 'dvb-netup-altera-04\.fw' drivers/media/video/cx23885/cx23885-cards.c + blobname 'rtl_nic[/]rtl8168e-3\.fw' drivers/net/r8169.c + defsnc '[ ]static[ ]const[ ]struct[ ]ephy_info[ ]e_info_8168e_1\[\][ ]=' drivers/net/r8169.c + blobname 'iwlwifi-135-' drivers/net/iwlwifi/iwl-2000.c + blobname 'c[bt]2\?fw\(_\(fc\|cna\)\)\?\.bin' drivers/scsi/bfa/bfad.c + blobname 'ene-ub6250[/]\(ms_\(init\|rdwr\)\|msp_rdwr\)\.bin' drivers/usb/storage/ene_ub6250.c + accept '[ ][ ]*dsp_code->pvt->firmware[ ]=[ ]' sound/pci/asihpi/hpidspcd.c + # New in 3.2 + blobname 'ath6k[/]AR600[0-9.]*[/]hw[0-9.]*[/][^/"]*\.\(bin\|z77\)' drivers/net/wireless/ath/ath6kl/core.h + accept 'userspace[,][ ]using[ ]the[ ]request_firmware[(][)][ ]function' Documentation/power/suspend-and-cpuhotplug.txt + defsnc 'static[ ]struct[ ]sh_keysc_info[ ]keysc_platdata[ ]=[ ]' arch/arm/mach-shmobile/board-kota2.c + defsnc 'static[ ]const[ ]u32[ ]rir_offset\[MAX_RIR_RANGES\]\[MAX_RIR_WAY\][ ]=' drivers/edac/sb_edac.c + defsnc '[ ]struct[ ]tda10071_reg_val_mask[ ]tab2\[\][ ]=' drivers/media/dvb/frontends/tda10071.c + defsnc 'static[ ]const[ ]u8[ ]\(ov965x\|ov971x\|ov562x\)_init\(_2\)\?\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c + defsnc 'static[ ]const[ ]u8[ ]DQT\[17\]\[130\][ ]=' drivers/media/video/gspca/topro.c + defsnc 'static[ ]const[ ]struct[ ]cmd[ ]tp6810_late_start\[\][ ]=' drivers/media/video/gspca/topro.c + defsnc '[ ]static[ ]const[ ]struct[ ]cmd[ ]sensor_init\[\][ ]=' drivers/media/video/gspca/topro.c + defsnc '[ ]static[ ]const[ ]u8[ ]gamma_tb\[NGAMMA\]\[3\]\[1024\][ ]=' drivers/media/video/gspca/topro.c + defsnc 'static[ ]struct[ ]s5k6aa_regval[ ]s5k6aa_analog_config\[\][ ]=' drivers/media/video/s5k6aa.c + defsnc 'static[ ]const[ ]u32[ ]\(ar5416Modes\(_91[06]0\)\?\|ar9280Modes\(_\(backoff_[12]3db\|original\)_rxgain\|_\(high_power\|original\)_tx_gain\)\?_9280_2\|ar9285Modes\(\(_\(high_power\|original\)_tx_gain\)\?_9285_1_2\|_XE2_0_\(normal\|high\)_power\)\|ar9287Modes\(_[tr]x_gain\)\?_9287_1_1\|ar9271Modes\(_\(normal\|high\)_power_tx_gain\)\?_9271\(_ANI_reg\)\?\)\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar\(5008\|9002\)_initvals\.h' + defsnc 'static[ ]const[ ]u32[ ]\(ar9\(462\|580\)_\([12]p0_\)\?\(\(baseband\|mac\|radio\)_core\(_emulation\)\?\|\(common_\)\?\(wo_xlna_\|mixed_\)\?rx_gain_table\(_ar9280\)\?\(_[12]p0\)*\)\|ar9200_ar9280_2p0_radio_core\(_1p0\)\?\)\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9\(462\|580\)_[12]p0_initvals\.h' + defsnc 'static[ ]const[ ]u32[ ]ar9\(462\|580\)_\([12]p0_\)\?\(\(tx_gain_table_\)\?\(baseband\|mac\|radio\)_postamble\(_emulation\)\?\|\(modes_\)\?\(high\|low\(est\)\?\|mixed\|green\)_\(ob_db\|power\)_tx_gain_table\(_[12]p0\)\?\)\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9\(462\|580\)_[12]p0_initvals\.h' + defsnc 'static[ ]const[ ]s32[ ]wmi_rate_tbl\[\]\[2\][ ]=' drivers/net/wireless/ath/ath6kl/wmi.c + defsnc '[ ]struct[ ]lcn_tx_iir_filter[ ]tx_iir_filters_\(cck\|ofdm\)\[\][ ]=' drivers/net/wireless/b43/phy_lcn.c + defsnc 'const[ ]u32[ ]b43_httab_0x1a_0xc0_late\[\][ ]=' drivers/net/wireless/b43/tables_phy_ht.c + defsnc 'static[ ]const[ ]u\(16\|32\)[ ]b43_lcntab_0x[01][0-9a-f]\[\][ ]=' drivers/net/wireless/b43/tables_phy_lcn.c + defsnc '[ ]b43_lcntab_tx_gain_tbl_2ghz_ext_pa_rev0\[B43_LCNTAB_TX_GAIN_SIZE\][ ]=' drivers/net/wireless/b43/tables_phy_lcn.c + defsnc 'const[ ]u16[ ]b43_lcntab_sw_ctl_4313_epa_rev0\[\][ ]=' drivers/net/wireless/b43/tables_phy_lcn.c + defsnc 'static[ ]const[ ]u16[ ]VCORE_VSEL_table\[\][ ]=' drivers/regulator/tps65023-regulator.c + defsnc 'static[ ]struct[ ]channel_list[ ]ChannelPlan\[\][ ]=' drivers/staging/rtl8192e/dot11d.c + defsnc 'u32[ ]Rtl8192PciE\(PHY_REG_1T2R\|Radio[AB]_\|AGCTAB_\)Array\[\(PHY_REG_1T2R\|Radio[AB]_\|AGCTAB_\)ArrayLengthPciE\][ ]=' drivers/staging/rtl8192e/r8192E_hwimg.c + defsnc 'static[ ]u8[ ]CCKSwingTable_\(Ch1_Ch13\|Ch14\)\[CCK_Table_length\]\[8\][ ]=' drivers/staging/rtl8192e/rtl_dm.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]XGINew_DDRDRAM_TYPE20\[12\]\[5\][ ]=' drivers/staging/xgifb/vb_init.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]XGINew_\(MDA\|[CEV]GA\)_DAC\[\][ ]=' drivers/staging/xgifb/vb_setmode.c + defsnc 'static[ ]const[ ]unsigned[ ]\(power\|emif[01]\)_pins\[\][ ]=' drivers/pinctrl/pinmux-u300.c + defsnc 'static[ ]const[ ]struct[ ]pll_div[ ]codec_\(master\|slave\)_pll_div\[\][ ]=' sound/soc/codecs/rt5631.c + accept '[ ]it913x_config\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/it913x.c + accept '[ ]\.download_firmware[ ]=[ ]it913x_download_firmware[,][\n][ ]\.firmware[ ]=[ ]["]' drivers/media/dvb/dvb-usb/it913x.c + blobname 'dvb-usb-it9137-01\.fw' drivers/media/dvb/dvb-usb/it913x.c + blobname '%s[/]bdata\.%s\.bin' drivers/net/wireless/ath/ath6kl/init.c + blobna 'Used[ ][(]for[ ]now[)][^*]*\([*]\+[^/*][^*]*\)*[*]*["]bdata\.bin["][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/net/wireless/ath/ath6kl/init.c + blobname 'mrvl[/]pcie8766_uapsta\.bin' 'drivers/net/wireless/mwifiex/pcie\.[ch]' + accept '#define[ ]FIRMWARE[ \t]*["]usbduxsigma_firmware\.bin["]' drivers/staging/comedi/drivers/usbduxsigma.c + accept 'MODULE_DESCRIPTION[(]["]Stirling[/]ITL[ ]USB-DUX[ ]SIGMA[^"]*["][)][;][\n]MODULE_LICENSE[(]["]GPL["][)][;][\n]MODULE_FIRMWARE[(]FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbduxsigma.c + blobname 'as102_data[12]_[sd]t\.hex' drivers/staging/media/as102/as102_fw.c + blob 'u8[ ]Rtl8192PciEFw\(Boot\|Main\|Data\)Array\[\(Boot\|Main\|Data\)ArrayLengthPciE\][ ]=[ ][{][^}]*[}][;]' drivers/staging/rtl8192e/r8192E_hwimg.c + blobna '\([&]\|sizeof[(]\)Rtl8192PciEFw\(Boot\|Main\|Data\)Array\(\[0\]\|[)]\)\(,[ \n]*\([&]\|sizeof[(]\)Rtl8192PciEFw\(Boot\|Main\|Data\)Array\(\[0\]\|[)]\)\)*' drivers/staging/rtl8192e/r8192E_firmware.c + blobname 'imx[/]sdma[/]sdma-imx5[13]\.bin' 'arch/arm/boot/dts/imx5[13]-\(babbage\|ard\|evk\|qsb\|smd\)\.dts' + blobname 'libertas[/]usb8388_olpc\.bin' drivers/net/wireless/libertas/if_usb.c + blobname 'rtlwifi[/]rtl8192cfwU\(_B\)\?\.bin' drivers/net/wireless/rtlwifi/rtl8192ce/sw.c + blobname 'ti-connectivity[/]wl12[78]x-fw-3\.bin' drivers/net/wireless/wl12xx/wl12xx.h + blobname 'pcxhr[/]%s' sound/pci/pcxhr/pcxhr_hwdep.c + blobname 'mrvl[/]sd8797_uapsta\.bin' drivers/net/wireless/mwifiex/sdio.h + blobname 's5p-mfc\.fw' drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c + blobname 'rtl_nic[/]rtl8168f-[12]\.fw' drivers/net/ethernet/realtek/r8169.c + accept '[ ]bp->firmware[ ]=[ ]NULL[;]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + + blobna '[/][*][\n][ ][*][ ]AMD[ ]microcode[ ]firmware[ ]naming[ ]convention[^*]*\([*]\+[^/*][^*]*\)*[*]*amd-ucode[/][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' arch/x86/kernel/microcode_amd.c + blobname 'amd-ucode[/]microcode_amd_fam\(%\.2x\|[0-9a-f]*\)h\.bin' arch/x86/kernel/microcode_amd.c + + # New in 3.3. + defsnc 'static[ ]const[ ]struct[ ]reg_mod_vals[ ]reg_mod_vals_tab\[\][ ]=' drivers/media/dvb/frontends/hd29l2_priv.h + defsnc 'static[ ]struct[ ]adctable[ ]tab[1-8]\[\][ ]=' drivers/media/dvb/frontends/it913x-fe-priv.h + defsnc 'static[ ]const[ ]struct[ ]af9013_coeff[ ]coeff_lut\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]qtbl_\(lu\|chro\)minance\[4\]\[64\][ ]=' drivers/media/video/s5p-jpeg/jpeg-core.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]hactblg0\[162\][ ]=' drivers/media/video/s5p-jpeg/jpeg-core.c + defsnc 'static[ ]const[ ]u16[ ]b43_ntab_antswctl2g_r3\[4\]\[32\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'struct[ ]nphy_gain_ctl_workaround_entry[ ]nphy_gain_ctl_\(workaround\[2\]\[4\]\|wa_phy6_radio11_ghz2\)[ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'static[ ]const[ ]u16[ ]da9052_chg_current_lim\[2\]\[DA9052_CHG_LIM_COLS\][ ]=' drivers/power/da9052-battery.c + defsnc 'static[ ]u32[ ]const[ ]vc_tbl\[3\]\[68\]\[2\][ ]=' drivers/power/da9052-battery.c + defsnc 'static[ ]const[ ]int[ ]PIO2_CHANNEL_BANK\[32\][ ]=' drivers/staging/vme/devices/vme_pio2.h + defsnc 'static[ ]const[ ]struct[ ]sirfsoc_baudrate_to_regv[ ]baudrate_to_regv\[\][ ]=' drivers/tty/serial/sirfsoc_uart.c + defsnc 'static[ ]const[ ]struct[ ]dispc_coef[ ]coef[35]_M\(1[123469]\|2[26]\|32\)\[8\][ ]=' drivers/video/omap2/dss/dispc_coefs.c + defsnc 'const[ ]unsigned[ ]char[ ]__clz_tab\[\][ ]=' lib/clz_tab.c + defsnc 'static[ ]struct[ ]cs42l73_mclk_div[ ]cs42l73_mclk_coeffs\[\][ ]=' sound/soc/codecs/cs42l73.c + defsnc 'static[ ]struct[ ]reg_default[ ]wm8995_reg_defaults\[\][ ]=' sound/soc/codecs/wm8995.c + defsnc 'static[ ]int[ ]_process_sigma_firmware[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*\(request\|maybe_reject\)_firmware' sound/soc/codecs/sigmadsp.c + defsnc 'int[ ]process_sigma_firmware\(_regmap\)\?[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*_process_sigma_firmware' sound/soc/codecs/sigmadsp.c + accept 'EXPORT_SYMBOL[(]process_sigma_firmware_regmap[)]' sound/soc/codecs/sigmadsp.c + accept 'extern[ ]int[ ]process_sigma_firmware_regmap[(][^)]*[)][;]' sound/soc/codecs/sigmadsp.h + accept '[ ]interrupts[ ]=[ ]<\([\n][ ]*0x[ef][0-9a-f][ ]0[ ]0[ ]0\)*>[;]' 'arch/powerpc/boot/dts/fsl/\(pq3\|qoriq\)-mpic\.dtsi' + # These appear to be identifiers within the device itself, + # used to get information from it. + accept '#define[ ]LANCER_\(FW_DUMP\|VPD_[PV]F\)_FILE[ ]*["][/]\(dbg[/]dump\.bin\|vpd[/]ntr_[pv]f\.vpd\)["]' drivers/net/ethernet/emulex/benet/be_cmds.h + defsnc 'static[ ]struct[ ]dib0090_wbd_slope[ ]dib7090e_wbd_table\[\][ ]=' drivers/media/dvb/dvb-usb/dib0700_devices.c + blobname 'dvb-usb-it9135-0[12]\.fw' drivers/media/dvb/dvb-usb/it913x.c + accept '[ ]*props->firmware[ ]=[ ]fw_it913\(5_v[12]\|7\)' drivers/media/dvb/dvb-usb/it913x.c + blobname 'dvb-usb-hauppauge-hvr930c-drxk\.fw' drivers/media/video/em28xx/em28xx-dvb.c + blobname 'brcm[/]brcmfmac\.\(bin\|txt\)' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + + # New in 3.4 + blobname 'dvb-fe-xc5000-1\.6\.114\.fw' drivers/media/common/tuners/xc5000.c + blobname 'dvb-fe-xc5000c-41\.024\.5\.fw' drivers/media/common/tuners/xc5000.c + accept '[ ]*nvidia,emc-registers[ ]=[ ]<[ ]\(0[ \n]*\)*>' Documentation/devicetree/bindings/arm/tegra/emc.txt + accept '[ ]*interrupts[ ]=[ ]<[ ]\(0[ ]1[345][0-9][ ]0x04[ \n]*\)*>[;]' Documentation/devicetree/bindings/dma/tegra20-apbdma.txt + accept '[ ]*nvidia,emc-registers[ ]=[ ]<[ ]\(0x[0-9a-f]*[ \n]*\)*>' arch/arm/boot/dts/tegra-seaboard.dts + accept '[ ]*interrupts[ ]=[ ]<[ ]\(0[ ]1[0-4][0-9][ ]0x04[ \n]*\)*>[;]' 'arch/arm/boot/dts/tegra[23]0\.dtsi' + defsnc 'static[ ]struct[ ]clk_pll_freq_table[ ]tegra_pll_[cu]_freq_table\[\][ ]=' arch/arm/mach-tegra/tegra30_clocks.c + defsnc '[ ]static[ ]const[ ]u8[ ]snum_init_[74]6\[\][ ]=' arch/powerpc/sysdev/qe_lib/qe.c + defsnc 'const[ ]u64[ ]camellia_sp\(10011110\|22000222\|03303033\|00444404\|02220222\|30333033\|44044404\|11101110\)\[256\][ ]=' arch/x86/crypto/camellia_glue.c + accept 'static[ ]int[ ]_request_firmware_load[(]struct[ ]firmware_priv[ ][*]fw_priv[,]' drivers/base/firmware_class.c + accept 'static[ ]void[ ]request_firmware_work_func[(]struct[ ]work_struct[ ][*]work[)]' drivers/base/firmware_class.c + accept '[ ]fw_priv[ ]=[ ]_request_firmware_prepare[(][&]fw[,]' drivers/base/firmware_class.c + accept '[ ][ ]ret[ ]=[ ]_request_firmware_load[(]fw_priv[,]' drivers/base/firmware_class.c + accept '[ ][ ]_request_firmware_cleanup[(][&]fw[)][;]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]u32[ ]\(tahiti\|pitcairn\|verde\)_io_mc_regs\[TAHITI_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/drm/radeon/si.c + defsnc 'static[ ]const[ ]char[ ]fake_edid_info\[\][ ]=' drivers/gpu/drm/exynos/exynos_drm_vidi.c + defsnc 'static[ ]const[ ]u8[ ]hdmiphy_v13_conf\(27\(_027\)\?\|74_\(175\|25\)\|148_5\)\[32\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c + defsnc 'static[ ]char[ ][*]generic_edid_name\[GENERIC_EDIDS\][ ]=' drivers/gpu/drm/drm_edid_load.c + defsnc 'static[ ]u8[ ]generic_edid\[GENERIC_EDIDS\]\[128\][ ]=' drivers/gpu/drm/drm_edid_load.c + defsnc 'static[ ]int[ ]edid_load[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*err[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ][&]pdev' drivers/gpu/drm/drm_edid_load.c + blobname 'dvb-usb-terratec-h7-\(drxk\|az6007\)\.fw' drivers/media/dvb/dvb-usb/az6007.c + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]az6007_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/gp8psk.c + blobname 'dvb-usb-lme2510c-rs2000\.fw' drivers/media/dvb/dvb-usb/lmedm04.c + defsnc '[ ]struct[ ]rtl2830_reg_val_mask[ ]tab\[\][ ]=' drivers/media/dvb/frontends/rtl2830.c + defsnc '[ ]static[ ]u8[ ]bw_params1\[3\]\[34\][ ]=' drivers/media/dvb/frontends/rtl2830.c + blobname 'dvb-demod-drxk-pctv\.fw' drivers/media/video/em28xx/em28xx-dvb.c + defsnc 'static[ ]const[ ]u8[ ]\(start\|page3\)_7302\[\][ ]=' drivers/media/video/gspca/pac7302.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]oob_\(2048\|4096\)_ecc[48][ ]=' drivers/mtd/nand/fsl_ifc_nand.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]fsmc_ecc4_\(256\|224\|128\|64\)_layout[ ]=' drivers/mtd/nand/fsmc_nand.c + defsnc '[ ]static[ ]const[ ]u8[ ]dhcp_\(pattern\|mask\)\[\][ ]=' drivers/net/wireless/ath/ath6kl/cfg80211.c + blobname 'fw-[23]\.bin' drivers/netwireless/ath/ath6kl/core.h + blobname '\(fw\.ram\|otp\|ath\(wlan\|tcmd_ram\)\|utf\|nullTestFlow\|data\.patch\|bdata\(\.SD31\)\?\)\.bin\(\.z77\)\?' drivers/net/wireless/ath/ath6kl/core.h + accept '[ ]hif_dev->firmware[ ]=[ ]fw[;]' drivers/net/wireless/ath/ath9k/hif_usb.c + defsnc 'static[ ]const[ ]u32[ ]b43_ntab_tx_gain_rev\(0_1_2\|3plus_2ghz\|[34]_5ghz\|5plus_5ghz\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'static[ ]const[ ]u32[ ]txpwrctrl_tx_gain_ipa\(\|_rev[56]\|_5g\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + blobname 'brcm[/]brcmfmac-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + blobname 'brcm[/]brcmfmac43236b\.bin' drivers/net/wireless/brcm80211/brcmfmac/usb.c + blobname 'ti-connectivity[/]wl12[78]x-fw-4-\([ms]r\|plt\)\.bin' drivers/net/wireless/wl12xx/wl12xx.h + blobname 'TINfcInit_%d\.%d\.%d\.%d\.bts' drivers/nfc/nfcwilink.c + defsnc 'static[ ]int[ ]ab8500_\(charger\|fg_lowbat\)_voltage_map\[\][ ]=' drivers/power/ab8500_charger.c + defsnc '[ ]static[ ]const[ ]u8[ ]parity\[\][ ]=' drivers/staging/sep/sep_crypto.c + defsnc 'static[ ]\(const[ ]\)\?struct[ ]SiS_MCLKData[ ]XGI\(340\|27\)New_MCLKData\[\][ ]=' drivers/staging/xgifb/vb_table.h + defsnc 'static[ ]\(const[ ]\)\?struct[ ]SiS_ModeResInfo_S[ ]XGI330_ModeResInfo\[\][ ]=' drivers/staging/xgifb/vb_table.h + defsnc 'static[ ]const[ ]u8[ ]dim_table\[101\][ ]=' drivers/video/backlight/ot200_bl.c + defsnc '[ ]static[ ]const[ ]unsigned[ ]char[ ]data_to_send\[\][ ]=' drivers/video/exynos/s6e8ax0.c + accept '[ ]ret[ ]=[ ]request_firmware\([(][&]firmware_p[,][ ]rproc->firmware[,][ ]dev[)]\|_nowait[(]THIS_MODULE[,][ ]FW_ACTION_HOTPLUG[,][\n][ ]*rproc->firmware[,][ ]dev[,][ ]GFP_KERNEL[,][\n][ ]*rproc[,][ ]rproc_fw_config_virtio[)]\)[;][\n][ ]if[ ][(]ret[ ]<[ ]0[)][ ][{][\n][ ][ ]dev_err[(]dev[,][ ]["]request_firmware\(_nowait\)\?[ ]failed' drivers/remoteproc/remoteproc_core.c + accept '[ ]rproc->firmware[ ][=][ ]firmware[;]' drivers/remoteproc/remoteproc_core.c + blobname 'ql\(2600\|8300\)_fw\.bin' drivers/scsi/qla2xxx/qla_os.c + defsnc 'static[ ]u8[ ]__attribute__[(][(]__aligned__[(]8[)][)][)][ ]test_buf\[\][ ]=' lib/crc32.c + defsnc '[}][ ]test\[\][ ]=' lib/crc32.c + defsnc 'static[ ]struct[ ]reg_default[ ]da7210_reg_defaults\[\][ ]=' sound/soc/codecs/da7210.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm2200_reva_patch\[\][ ]=' sound/soc/codecs/wm2200.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8753_reg_defaults\[\][ ]=' sound/soc/codecs/wm8753.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8978_reg_defaults\[\][ ]=' sound/soc/codecs/wm8978.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8988_reg_defaults\[\][ ]=' sound/soc/codecs/wm8988.c + + # New in 3.5: + accept '[ ]*linux,keymap[ ]=[ ][<][ ]\(0x[0-9a-f]*[ \n]*\)*>[;]' 'arch/arm/boot/dts/spear\(13[14]\|30\)0-evb\.dts' + accept '[ ]*nvidia,emc-registers[ ]=[ ]<\(0x[0-9a-f]*[ \n]*\)*>[;]' arch/arm/boot/dts/tegra-seaboard.dts + accept '[ ]*interrupts[ ]=[ ]<\(0[ ]1[0-4][0-9][ ]0x04[ \n]*\)*>[;]' 'arch/arm/boot/dts/tegra[23]0\.dtsi' + defsnc 'static[ ]u8[ ]zero_message_\(hash\|hmac\)_sha256\[SHA256_DIGEST_SIZE\][ ]=' drivers/crypto/ux500/hash/hash_core.c + defsnc 'static[ ]const[ ]struct[ ]ast_dramstruct[ ]ast[12][01]00_dram_table_data\[\][ ]=' drivers/gpu/drm/ast/ast_dram_tables.h + defsc 'static[ ]struct[ ]ast_vbios_stdtable[ ]vbios_stdtable\[\][ ]=' drivers/gpu/drm/ast/ast_tables.h + defsc 'static[ ]const[ ]struct[ ]minimode[ ]est3_modes\[\][ ]=' drivers/gpu/drm/drm_edid_modes.h + defsnc 'static[ ]const[ ]u8[ ]hdmiphy_conf74_176\[32\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c + defsnc 'static[ ]const[ ]struct[ ]wrpll_tmds_clock[ ]wrpll_tmds_clock_table\[\][ ]=' drivers/gpu/drm/i915/intel_ddi.c + blobname 'dvb-usb-af9035-02\.fw' drivers/media/dvb/dvb-usb/af9035.c + blobname 'dvb-usb-it9135-01\.fw' drivers/media/dvb/dvb-usb/af9035.c + defsnc 'static[ ]const[ ]struct[ ]coeff[ ]coeff_lut\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h + defsnc 'static[ ]const[ ]struct[ ]val_snr[ ]\(qpsk\|qam\(16\|64\)\)_snr_lut\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h + defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]\(ofsm_init\|tuner_init_\(tua9001\|fc0011\|mxl5007t\|tda18218\)\)\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h + defsnc '[ ]*static[ ]u8[ ]color_tb\[\]\[6\][ ]=' drivers/media/video/gspca/ov534.c + defsnc 'static[ ]const[ ]u16[ ]bridge_init\[\]\[2\][ ]=' drivers/media/video/gspca/sn9c20x.c + defsnc 'static[ ]const[ ]struct[ ]i2c_reg_u8[ ]\(soi968\|ov\(7670\|965[05]\)\|hv7131r\)_init\[\][ ]=' drivers/media/video/gspca/sn9c20x.c + defsnc 'static[ ]const[ ]struct[ ]i2c_reg_u16[ ]\(mt9v[01]1[12]\)_init\[\][ ]=' drivers/media/video/gspca/sn9c20x.c + defsnc 'static[ ]const[ ]struct[ ]hdmiphy_conf[ ]hdmiphy_conf_\(s5pv210\|exynos4[24]1[02]\)\[\][ ]=' drivers/media/video/s5p-tv/hdmiphy_drv.c + defsnc 'static[ ]const[ ]int32_t[ ]tbat_lookup\[255\][ ]=' drivers/mfd/da9052-core.c + defsnc 'static[ ]const[ ]struct[ ]atl1c_platform_patch[ ]plats\[\][ ]__devinitdata[ ]=' drivers/net/ethernet/atheros/atl1c/atl1c_main.c + defsnc '[ ][}][ ]hw_config\[\][ ]=' drivers/nfc/pn544_hci.c + defsnc 'static[ ]const[ ]unsigned[ ]\(rgmii\|smii_0_1_2\|nand_8bit\|mcif\|pci_sata\|clcd\|arm_trace\|miphy_dbg\|emi\)_pins\[\][ ]=' drivers/pinctrl/spear/pinctrl-spear1310.c + defsnc 'static[ ]const[ ]long[ ]chan_freq_list\[\]\[2\][ ]=' drivers/staging/wlags49_h2/wl_util.c + defsnc '[ ]static[ ]const[ ]unsigned[ ]char[ ]data_to_send_panel_reverse\[\][ ]=' drivers/video/exynos/s6e8ax0.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]__devinitconst[ ]SiS_DRAMType\[17\]\[5\][ ]=' drivers/video/sis/sis_main.c + defsnc 'static[ ]struct[ ]reg_default[ ]lm49453_reg_defs\[\][ ]=' sound/soc/codecs/lm49453.c + accept '-[ ]Replace[ ]hard-coded[ ]firmware[ ]paths[ ]with[ ]request_firmware' drivers/staging/gdm72xx/TODO + blobname '\([/]lib[/]firmware[/]\)\?\(gdm72xx[/]\)\?gdms\(krn\|rfs\)\.bin' drivers/staging/gdm72xx/sdio_boot.c + blobname '\([/]lib[/]firmware[/]\)\?gdm72xx[/]gdmuimg\.bin' drivers/staging/gdm72xx/usb_boot.c + blobname 'mrvl[/]usb8797_uapsta\.bin' 'drivers/net/wireless/mwifiex/usb\.[ch]' + # This is compiled and assembled out of actual sources as part of the build. + accept '[ ]\.incbin[ ]["]arch[/]x86[/]realmode[/]rm[/]realmode\.bin["]' arch/x86/realmode/rmpiggy.S + # Sources for these are in the corresponding .fuc files. + defsc 'uint32_t[ ]nv98_pcrypt_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nv98_crypt.fuc.h + accept '[ ]nve0_graph_init_fuc[(]dev[,][ ]0x4\(09\|1a\)000[,][ ][&]priv->fuc4\(09\|1a\)c[,][ ][&]priv->fuc4\(09\|1a\)d[)][;]' drivers/gpu/drm/nouveau/nve0_graph.c + accept '[ ][ ]*nve0_graph_destroy_fw[(]&priv->fuc4\(09\|1a\)[cd][)][;]' drivers/gpu/drm/nouveau/nve0_graph.c + accept '[ ][ ]*\(if[ ][(]\|[ ][ ][ ][ ]\)nve0_graph_create_fw[(]dev[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]priv->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveau/nve0_graph.c + accept '[ ]struct[ ]nve0_graph_fuc[ ]fuc4\(09\|1a\)[cd]' drivers/gpu/drm/nouveau/nve0_graph.h + accept '[ ]memset[(][&]fw[,][ ]0[,][ ]sizeof[(]struct[ ]mwifiex_fw_image[)][)][;][\n][ ]adapter->firmware[ ]=[ ]firmware[;]' drivers/net/wireless/mwifiex/main.c + # nouveau_vbios is a user-supplied parameter + accept '[ ][ ]snprintf[(]fname[,][ ]sizeof[(]fname[)][,][ ]["]nouveau[/]%s["][,][ ]nouveau_vbios[)][;][\n][ ][ ]ret[ ]=[ ]request_firmware[(]' drivers/gpu/drm/nouveau/nouveau_bios.c + accept '[ ][ ]\.download_firmware[ ]=[ ]af9035_download_firmware\(_it9135\)\?[,][\n][ ][ ]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/af9035.c + blobname 'rtl_nic[/]rtl8402-1\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'rtl_nic[/]rtl8411-1\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'bdata\(\.\(SD3[12]\|WB31\|CUSTOM\|DB132\)\)\?\.bin' drivers/net/wireless/ath/ath6kl/core.h + blobname 'mrvl[/]sd8786_uapsta\.bin' 'drivers/net/wireless/mwifiex/sdio\.[ch]' + accept '[ ][ ][*][ ]the[ ]isl3886[+]net2280' drivers/net/wireless/p54/p54usb.c + + # New in 3.6: + defsnc 'static[ ]unsigned[ ]char[ ]mcf_host_slot2sid\[32\][ ]=' arch/m68k/platform/coldfire/pci.c + defsnc 'static[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|256\|512\)_aes_cbc_enc_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]struct[ ]hash_testvec[ ]bfin_crc_tv_template\[\][ ]=' crypto/testmgr.h + defsnc '[ ]static[ ]u8[ ]bw_params\[3\]\[32\][ ]=' drivers/media/dvb/frontends/rtl2832.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm51\(02\|10\)_reva_patch\[\][ ]=' drivers/mfd/wm5102-tables.c + defsnc 'static[ ]const[ ]u32[ ]ar955x_1p0_\(radio\|baseband\|mac\)_postamble\[\]\[5\][ ]' drivers/net/wireless/ath/ath9k/ar955x_1p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar955x_1p0_\(\(radio\|mac\|baseband\)_core\|common_\(wo_xlna_\)\?rx_gain_table\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/955x_1p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar955x_1p0_modes_\(no_\)\?xpa_tx_gain_table\[\]\[9\][ ]=' drivers/net/wireless/ath/ath9k/955x_1p0_initvals.h + blobname 'ti-connectivity[/]wl12[78]x-fw-5-\([ms]r\|plt\)\.bin' drivers/net/wireless/wl12xx/main.c + blobname 'ti-connectivity[/]wl18xx-\(fw\|conf\)\.bin' drivers/net/wireless/wl18xx/main.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(ldo5\|buck1\)_voltage_map\[\][ ]=' drivers/regulator/lp3972.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(lp872x_ldo\|lp8720_ldo4\|lp8725_\(lilo\|buck\)\)_vtbl\[\][ ]=' drivers/regulator/lp872x.c + defsnc '\(static[ ]\)\?const[ ]int[ ]lp8788_dldo1239_vtbl\[\][ ]=' drivers/regulator/lp8788-ldo.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]mc13892_sw1\?\[\][ ]=' drivers/regulator/mc13892-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]VCORE_VSEL_table\[\][ ]=' drivers/regulator/tps65023-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]VDCDCx_VSEL_table\[\][ ]=' drivers/regulator/tps6507x-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]dcdc[12]_voltages\[\][ ]=' drivers/regulator/tps6524x-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]tps6586x_\(ldo4\|sm2\|dvm\)_voltages\[\][ ]=' drivers/regulator/tps6586x-regulator.c + defsnc 'static[ ]struct[ ]bcm_ddr_setting[ ]asT3\(LP\)\?B\?_DDRSetting\(160\|133\|100\|80\)MHz\[\][ ]\?=' drivers/staging/bcm/DDRInit.c + defsnc '[ ]*static[ ]const[ ]u8[ ]arp_req\[36\][ ]=' drivers/staging/csr/sme_sys.c + defsnc 'omap4430_adc_to_temp\[OMAP4430_ADC_END_VALUE[ ]-[ ]OMAP4430_ADC_START_VALUE[ ][+][ ]1\][ ]=' drivers/staging/oma-thermal/omap4-thermal.c + defsnc 'omap4460_adc_to_temp\[OMAP4460_ADC_END_VALUE[ ]-[ ]OMAP4460_ADC_START_VALUE[ ][+][ ]1\][ ]=' drivers/staging/oma-thermal/omap4-thermal.c + defsnc 'omap5430_adc_to_temp\[OMAP5430_ADC_END_VALUE[ ]-[ ]OMAP5430_ADC_START_VALUE[ ][+][ ]1\][ ]=' drivers/staging/oma-thermal/omap5-thermal.c + defsnc 'static[ ]struct[ ]vesa_mode[ ]vesa_mode_table\[\][ ]=' drivers/staging/sm7xxfb/sm7xxfb.c + defsnc 'static[ ]unsigned[ ]char[ ]rdesc\[\][ ]=' samples/uhid/uhid-example.c + defsnc 'static[ ]struct[ ]reg_default[ ]isabelle_reg_defs\[\][ ]=' sound/soc/codecs/isabelle.c + blobname 'dvb-usb-terratec-htc-stick-drxk\.fw' drivers/media/video/em28xx/em28xx-dvb.c + blobname 'rtl_nic[/]rtl8106e-1\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'rtl_nic[/]rtl8168g-1\.fw' drivers/net/ethernet/realtek/r8169.c + defsnc '[ ]static[ ]const[ ]u16[ ]mac_ocp_patch\[\][ ]=' in drivers/net/ethernet/realtek/r8169.c + blobname 'rt3290\.bin\(\.[\n][ ][ ][*][/]\)\?' drivers/net/wireless/rt2x00/rt2800pci.h + + # New in 3.7: + blobname 'imx[/]sdma[/]sdma-imx6q-to1\.bin' arch/arm/boot/dts/imx6q.dtsi + accept 'AES_T[ed]:\([\n]\.word[ ]0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)*[\n][@][ ]T[ed]4\[256\]\([\n]\.byte[ ]0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)*\([\n][@][ ]rcon\[\]\([\n]\.word[ ]0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)*\([,][ ]0\)*\)\?' arch/arm/crypto/aes-armv4.S + defsnc 'const[ ]u32[ ]cast5_s[1234]\[256\][ ]=' crypto/cast5_generic.c + defsnc 'const[ ]u32[ ]cast6_s[1234]\[256\][ ]=' crypto/cast6_generic.c + accept '[ ][*][ ]Once[ ]it[ ]returns[ ]successfully[,][ ]driver[ ]can[ ]use[ ]request_firmware' drivers/base/firmware_class.c + accept 'int[\n ]cache_firmware[(]const[ ]char[ ][*]fw_name[)][\n][{]\([\n]\+[^\n}][^\n]*\)*ret[ ]=[ ]request_firmware[(][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}][\n]' drivers/base/firmware_class.c + accept '[ ][*][ ]If[ ]one[ ]device[ ]called[ ]request_firmware' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]struct[ ]mV_pos[ ]__cpuinitconst[ ]\(vrm85\|mobilevrm\)_mV\[32\][ ]=' drivers/cpufreq/longhaul.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]__cpuinitconst[ ]mV_\(vrm85\|mobilevrm\)\[32\][ ]=' drivers/cpufreq/longhaul.h + # Sources for these are in the corresponding .fuc files. + defsnc 'static[ ]u32[ ]nva3_pcopy_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/copy/fuc/nva3.fuc.h + defsnc 'static[ ]u32[ ]nvc0_pcopy_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/copy/fuc/nvc0.fuc.h + defsnc 'static[ ]uint32_t[ ]nv98_pcrypt_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/crypt/fuc/nv98.fuc.h + defsnc 'uint32_t[ ]nve0_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc.h + defsnc 'uint32_t[ ]nve0_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h + defsnc 'nv04_graph_ctx_regs\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nv04.c + accept '[ ]*ret[ ]=[ ]request_firmware[(]&fw[,][ ]source[,][ ]&nv_device[(]bios[)]->pdev->dev[)][;]' drivers/gpu/drm/nouveau/core/subdev/bios/base.c + defsnc 'static[ ]u8[ ][*]edid_load[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*err[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ][&]pdev' drivers/gpu/drm/drm_edid_load.c + defsnc 'static[ ]const[ ]RegInitializer[ ]initData\[\][ ]__initconst[ ]=' drivers/ide/ali14xx.c + defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]tuner_init_fc2580\[\][ ]=' drivers/media/dvb-frontends/af9033_priv.h + defsnc '[ ]static[ ]const[ ]u8[ ]bw_params1\[3\]\[34\][ ]=' drivers/media/dvb-frontends/rtl2830.c + blobname 's5k4ecgx\.bin' drivers/media/i2c/s5k4ecgx.c + blobname 'v4l-coda\(dx6-imx27\|7541-imx53\)\.bin' drivers/media/platform/coda.c + blobname 's5p-mfc\(-v6\)\?\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c + defsnc 'static[ ]const[ ]struct[ ]e4000_lna_filter[ ]e400_lna_filter_lut\[\][ ]=' drivers/media/tuners/e4000_priv.h + defsnc 'static[ ]const[ ]struct[ ]e4000_if_filter[ ]e4000_if_filter_lut\[\][ ]=' drivers/media/tuners/e4000_priv.h + defsnc 'static[ ]const[ ]struct[ ]fc2580_reg_val[ ]fc2580_init_reg_vals\[\][ ]=' drivers/media/tuners/fc2580_priv.h + defsnc 'static[ ]const[ ]struct[ ]fc2580_freq_regs[ ]fc2580_freq_regs_lut\[\][ ]=' drivers/media/tuners/fc2580_priv.h + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_revb_patch\[\][ ]=' drivers/mfd/wm5110-tables.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]lpc32xx_nand_oob[ ]=' drivers/mtd/nand/lpc32xx_mlc.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]flctl_4secc_oob_64[ ]=' drivers/mtd/nand/sh_flctl.c + defsnc 'static[ ]const[ ]struct[ ]atl1c_platform_patch[ ]plats\[\][ ]__devinitconst[ ]=' drivers/net/ethernet/atheros/atl1c/atl1c_main.c + defsnc 'static[ ]const[ ]u32[ ]ar9565_1p0_\(\(mac\|baseband\|radio\)_core\|[Cc]ommon_\(wo_xlna_\)\?rx_gain_table\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9565_1p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9565_1p0_\(\(mac\|baseband\)_postamble\|[Mm]odes_\(low\(est\)\?\|high\)_\(ob_db\|power\)_tx_gain_table\)\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9565_1p0_initvals.h + defsnc 'static[ ]u16[ ]r2057_rev[4578]a\?_init\[[45][245]\]\[2\][ ]=' drivers/net/wireless/b43/radio_2057.c + defsnc '[ ]*tbl_rf_control_override_rev7_over[01]\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'static[ ]const[ ]unsigned[ ]pci_pins\[\][ ]=' drivers/pinctrl/spear/pinctrl-spear1310.c + defsnc 'static[ ]int[ ]array_soc\[\]\[2\][ ]=' drivers/power/88pm860x_battery.c + defsnc 'static[ ]const[ ]int[ ]mc13783_sw[12]x_val\[\][ ]=' drivers/regulator/mc13783-regulator.c + # remoteproc uses request_firmware, but it is generic and names + # no blobs of its own, so we change it to maybe_request_firmware. + accept '[ ]ret[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]FW_ACTION_HOTPLUG[,][\n][ ]*rproc->firmware[,][ ][&]rproc->dev[,][ ]GFP_KERNEL[,][\n][ ]*rproc[,][ ]rproc_fw_config_virtio[)][;][\n][ ]if[ ][(]ret[ ]<[ ]0[)][ ][{][\n][ ][ ]dev_err[(][&]rproc->dev[,][ ]["]request_firmware_nowait[ ]err' drivers/remoteproc/remoteproc_core.c + # This remoteproc client does name blobs, but we discard it + # with undefine_macro. + blob 'SPROC_MODEM_NAME[ ]["]-fw\.bin["]' drivers/remoteproc/ste_modem_rproc.c + accept '[ ]if[ ][(]request_firmware[(]&fw_entry,[ ]fname,[ ]&ioa_cfg->pdev->dev[)][)]' drivers/scsi/ipr.c + blobname 'daqboard2000_firmware\.bin' drivers/staging/comedi/drivers/daqboard2000.c + blobname 'me2600_firmware\.bin' drivers/staging/comedi/drivers/me_daq.c + blobname 'ni6534a\.bin' drivers/staging/comedi/drivers/ni_pcidio.c + blobname 'niscrb0[12]\.bin' drivers/staging/comedi/drivers/ni_pcidio.c + defsnc 'static[ ]const[ ]struct[ ]SiS_TVData[ ]XGI_\(St\|Ext\)\(PAL\|NTSC\|YPbPr\(525\|750\)[ip]\)Data\[\][ ]=' drivers/staging/xgifb/vb_table.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]XGI330_\(NTSC\|PAL\|HiTV\(Ext\|St[12]\|Text\)\|YPbPr\(525\|750\)[ip]\)Timing\[\][ ]=' drivers/staging/xgifb/vb_table.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]XGI330_\(HiTV\|Ren\(525\|750\)p\)Group3\(Data\|Simu\|Text\)\?\[\][ ]=' drivers/staging/xgifb/vb_table.h + accept 'static[ ]inline[ ]int[\n]\(maybe_\)\?reject_ihex_firmware\(_nowait\)\?[(][^{;]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' include/linux/firmware.h + defsnc '[/][*][ ]callback[ ]from[ ]request_firmware_nowait' sound/pci/hda/hda_intel.c + defsnc 'static[ ]int[ ]\(__devinit[ ]\)\?azx_probe[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*request_firmware[^\n]*' sound/pci/hda/hda_intel.c + defsnc 'static[ ]struct[ ]reg_default[ ]da9055_reg_defaults\[\][ ]=' sound/soc/codecs/da9055.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]sta32x_regs\[\][ ]=' sound/soc/codecs/sta32x.c + blobname 'wm0010\(_stage2\.bin\|\.dfw\)' sound/soc/codecs/wm0010.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5102_sysclk_reva_patch\[\][ ]=' sound/soc/codecs/wm5102.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8510_reg_defaults\[\][ ]=' sound/soc/codecs/wm8510.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8580_reg_defaults\[\][ ]=' sound/soc/codecs/wm8580.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8776_reg_defaults\[\][ ]=' sound/soc/codecs/wm8776.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8900_reg_defaults\[\][ ]=' sound/soc/codecs/wm8900.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8960_reg_defaults\[\][ ]=' sound/soc/codecs/wm8960.c + accept '[ ][ ]priv->firmware[ ]=[ ]true[;]' drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c + accept '[ ][ ]*\(if[ ][(]\|[ ][ ][ ][ ]\)nvc0_graph_ctor_fw[(]priv[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]priv->fuc4\(09\|1a\)[cd][)]' 'drivers/gpu/drm/nouveau/core/engine/graph/nv[ce]0\.c' + accept '[ ][ ]*nvc0_graph_dtor_fw[(]&priv->fuc4\(09\|1a\)[cd][)][;]' 'drivers/gpu/drm/nouveau/nv[ce]0\.c' + accept '[ ][ ]*nvc0_graph_init_fw[(]priv[,][ ]0x4\(09\|1a\)000[,][ ][&]priv->fuc4\(09\|1a\)c[,][ \n ]*[&]priv->fuc4\(09\|1a\)d[)][;]' 'drivers/gpu/drm/nouveau/core/engine/graph/nv[ce]0\.c' + blobname 'dvb-fe-xc5000c-4\.1\.30\.7\.fw' drivers/media/tuners/xc5000.c + accept '[ ]\.firmware[ ]=[ ]AF9015_FIRMWARE' drivers/media/usb/dvb-usb-v2/af9015.c + accept '[ ]\.firmware[ ]=[ ]AF9035_FIRMWARE' drivers/media/usb/dvb-usb-v2/af9035.c + accept '[ ]\.firmware[ ]*=[ ]AZ6007_FIRMWARE' drivers/media/usb/dvb-usb-v2/az6007.c + accept '[ ]\.firmware[ ]=[ ]EC168_FIRMWARE' drivers/media/usb/dvb-usb-v2/ec168.c + blobname 'brcm[/]brcmfmac43\(143\|242a\)\.bin' drivers/net/wireless/brcm80211/brcmfmac/usb.c + accept '[ ]priv->firmware[ ]=[ ]fw[;]' drivers/net/wireless/p54/p54pci.c + blobname 'c[bt]2\?fw-3\.1\.0\.0\.bin' drivers/scsi/bfa/bfad.c + blobname 'gdmuimg\.bin' drivers/staging/gdm72xx/usb_boot.c + blobname 'CMV4[pi]\.bin\(\.v2\)\?' drivers/usb/atm/ueagle-atm.c + blobname 'dvb-fe-tda10071\.fw' drivers/media/dvb/frontends/tda10071_priv.h + accept '[ ]st->it913x_config\.firmware[ ]=' drivers/media/usb/dvb-usb-v2/it913x.c + blobname 'ar3k[/]\(AthrBT_0x%08x\.dfu\|ramps_0x%08x_%d%s\)' drivers/bluetooth/ath3k.c + + # New in 3.8 + accept 'K_table:\([\n][ \t]*\.\(quad\|long\)[ \t]*0x[0-9a-f]*[,][ ]\?0x[0-9a-f]*\)*' arch/x86/crypto/crc32c-pcl-intel-asm_64.S + defsnc 'const[ ]u32[ ]cast_s[1234]\[256\][ ]=' crypto/cast_common.c + accept '[ ]request_firmware[ ]can[ ]be[ ]called[ ]safely' Documentation/firmware_class/README + defsnc 'static[ ]const[ ]int[ ]__initconst[ ]armada_370_xp_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]=' drivers/clk/mvebu/clk-core.c + defsnc 'static[ ]const[ ]int[ ]__initconst[ ]\(dove\|kirkwood\)_cpu_ddr_ratios\[16\]\[2\][ ]=' drivers/clk/mvebu/clk-core.c + defsnc 'static[ ]const[ ]int[ ]h_coef_8t\[GSC_COEF_RATIO\]\[GSC_COEF_ATTR\]\[GSC_COEF_H_8T\][ ]=' drivers/gpu/drm/exynos/exynos_drm_gsc.c + defsnc 'static[ ]const[ ]int[ ]v_coef_4t\[GSC_COEF_RATIO\]\[GSC_COEF_ATTR\]\[GSC_COEF_V_4T\][ ]=' drivers/gpu/drm/exynos/exynos_drm_gsc.c + defsnc 'static[ ]const[ ]struct[ ]atl1c_platform_patch[ ]plats\[\][ ]=' drivers/net/ethernet/atheros/atl1c/atl1c_main.c + defsnc 'u32[ ]RTL8723EPHY_REG_1TARRAY\[RTL8723E_PHY_REG_1TARRAY_LENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c + defsnc 'u32[ ]RTL8723EPHY_REG_ARRAY_PG\[RTL8723E_PHY_REG_ARRAY_PGLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c + defsnc 'u32[ ]RTL8723E_RADIOA_1TARRAY\[Rtl8723ERADIOA_1TARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c + defsnc 'u32[ ]RTL8723EMAC_ARRAY\[RTL8723E_MACARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c + defsnc 'u32[ ]RTL8723EAGCTAB_1TARRAY\[RTL8723E_AGCTAB_1TARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c + defsnc 'static[ ]struct[ ]abx500_v_to_cap[ ]cap_tbl\(_[AB]_thermistor\)\?\[\][ ]=' drivers/power/ab8500_bmdata.c + defsnc 'static[ ]u16[ ]rx51_temp_table2\[\][ ]=' drivers/power/rx51_battery.c + defsnc 'static[ ]const[ ]u32[ ]runnable_avg_yN_\(inv\|sum\)\[\][ ]=' kernel/sched/fair.c + defsnc '[ ]static[ ]const[ ]u32[ ]base\[4\]\[10\][ ]=' net/wireless/util.c + defsnc 'static[ ]unsigned[ ]short[ ]init[1234]\[128\][ ]=' sound/isa/sb/emu8000.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8750_reg_defaults\[\][ ]=' sound/soc/codecs/wm8750.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8770_reg_defaults\[\][ ]=' sound/soc/codecs/wm8770.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8971_reg_defaults\[\][ ]=' sound/soc/codecs/wm8971.c + blobname 'nouveau[/]nv%02x_fuc%03x[dc]\?' drivers/gpu/drm/nouveau/core/core/falcon.c + blobname 'ar5523\.bin' drivers/net/wireless/ath/ar5523/ar5523.h + blobname 'rtlwifi[/]rtl8723\(ae\)\?fw\(_B\)\?\.bin' drivers/net/wireless/rtlwifi/rtl8723ae/sw.c + blobname '%s-dsp%d\.\(wmfw\|bin\)' sound/soc/codecs/wm_adsp.c + blobname 'fw-4\.bin' drivers/net/wireless/ath/ath6kl/core.h + accept '[ ]hdsp->firmware[ ]=[ ]fw' sound/pci/rme9652/hdsp.c + + # ath9k firmware is now Free Software. + accept '[ ]err[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]1[,][ ]name[,][ ]sc->dev[,][ ]GFP_KERNEL[,][\n][ ]*[&]ec[,][ ]ath9k_eeprom_request_cb[)][;]' drivers/net/wireless/ath/ath9k/init.c + accept '[#]define[ ]FIRMWARE_AR7010_1_1[ ]*["]htc_7010\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[#]define[ ]FIRMWARE_AR9271[ ]*["]htc_9271\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept 'MODULE_FIRMWARE[(]FIRMWARE_AR7010_1_1[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept 'MODULE_FIRMWARE[(]FIRMWARE_AR9271[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[ ]ret[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]true[,][ ]hif_dev->fw_name[,][\n][ ]*[&]hif_dev->udev->dev[,][ ]GFP_KERNEL[,][\n][ ]*hif_dev[,][ ]ath9k_hif_usb_firmware_cb[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[ ]ret[ ]=[ ]request_firmware[(][&]hif_dev->firmware[,][ ]hif_dev->fw_name[,][\n][ ]*[&]hif_dev->udev->dev[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[ ][ ]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]hif_dev->fw_name[,][\n][ ]*[&]hif_dev->udev->dev[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + # as in 2.6.39 + accept '[#]define[ ]FIRMWARE_AR7010[ ]*["]ar7010\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[#]define[ ]FIRMWARE_AR7010_1_1[ ]*["]ar7010_1_1\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[#]define[ ]FIRMWARE_AR9271[ ]*["]ar9271\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept 'MODULE_FIRMWARE[(]FIRMWARE_AR7010[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + # as in 2.6.35 + accept '[ ]ATH9K_FW_USB_DEV[(]0x\(9271\|1006\)[,][ ]["]ar9271\.fw["][)][,]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[ ]dev_info[(][&]hif_dev->udev->dev[,][ ]["]ath9k_htc:[^\n"]*["][,][\n][ ]*["]ar9271\.fw["][,]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[ ]ret[ ]=[ ]request_firmware[(][&]hif_dev->firmware[,][ ]fw_name[,][ ][&]hif_dev->udev->dev[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + + # New in 3.9 + blobname 'imx[/]sdma[/]sdma-imx6q\.bin' arch/arm/boot/dts/imx6qdl.dtsi + accept '[ ]*nvidia,emc-registers[ ]=[ ]*<\(0x[0-9a-f]*[ \n]*\)*>[;]' arch/arm/boot/dts/tegra20-colibri-512.dtsi + blobname 'kernel[/]x86[/]microcode[/]GenuineIntel\.bin' arch/x86/kernel/microcode_intel_early.c + accept '[0-9][0-9]*[ ][0-3][ ][0-3][ ]0\([\n][0-9][0-9]*[ ][0-3][ ][0-3][ ]0\)*' Documentation/thermal/intel_powerclamp.txt + accept '[ ]return[ ]_request_firmware_load[(]fw_priv[,]' drivers/base/firmware_class.c + accept 'static[ ]int[\n]_request_firmware_prepare[(]struct[ ]firmware[ ][*][*]\?firmware_p' drivers/base/firmware_class.c + accept '[/][*][ ]called[ ]from[ ]request_firmware[(][)][ ]and[ ]request_firmware_work_func[(][)][ ][*][/]' drivers/base/firmware_class.c + accept '[ ]_request_firmware[(][&]fw[,][ ]fw_work->name' drivers/base/firmware_class.c + accept '[ ]put_device[(]fw_work->device[)][;][ ][/][*][ ]taken[ ]in[ ]request_firmware_nowait[(][)][ ][*][/]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]u16[ ]x[48]_vectors\[\][ ]=' drivers/edac/amd64_edac.c + defsnc 'static[ ]const[ ]struct[ ]hdmiphy_config[ ]hdmiphy_v14_configs\[\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c + defsnc 'static[ ]const[ ]u32[ ]oland_io_mc_regs\[TAHITI_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/si.c + defsnc 'static[ ]const[ ]u8[ ]sixaxis_rdesc_fixup2\?\[\][ ]=' drivers/hid/hid-sony.c + defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]tuner_init_fc0012\[\][ ]=' drivers/media/dvb-frontends/af9033_priv.h + defsnc '\(static[ ]\)\?struct[ ]linear_segments[ ]cnr_\(to_db\|\(64\|16\)qam\|qpsk\)_table\[\][ ]=' drivers/media/dvb-frontends/mb86a20s.c + blobname 'SlimISP_\(%\.2s\|..\)\.bin' drivers/media/i2c/s5c73m3/s5c73m3-core.c + defsc 'static[ ]const[ ]struct[ ]i2c_rv[ ]ov965x_init_regs\[\][ ]=' drivers/media/i2c/ov9650.c + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]vp7049_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/m920x.c + blobname 'dvb-usb-vp7049-0\.95\.fw' drivers/media/dvb/dvb-usb/m920x.c + # The blob name is just the chip name, so no point in deblobbing; + # more so considering the number of false positives this would + # bring about. + # blobname 'lp5521' drivers/leds/leds-lp5521.c + # blobname 'lp55231\?' drivers/leds/leds-lp5523.c + blobname 'lattice-ecp3\.bit' drivers/misc/lattice-ecp3-config.c + defsnc '[ ]*static[ ]const[ ]uint8_t[ ]rss_key\[UPT1_RSS_MAX_KEY_SIZE\][ ]=' drivers/net/vmxnet3/vmxnet3_drv.c + defsnc 'static[ ]const[ ]u32[ ]ar9300Modes_\(mixed_ob_db\|type5\)_tx_gain_table_2p2\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9340Modes_low_ob_db_and_spur_tx_gain_table_1p0\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9485Modes_green_spur_ob_db_tx_gain_1_1\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9580_1p0_type6_tx_gain_table\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9580_1p0_initvals.h + blobname 'iwlwifi-\(7260\|3160\)-' drivers/net/wireless/iwlwifi/pcie/7000.c + blobname 'mrvl[/]pcie8897_uapsta\.bin' drivers/net/wireless/mwifiex/pcie.h + accept 'static[ ]const[ ]struct[ ]mwifiex_pcie_device[ ]mwifiex_pcie\(8766\|8897\)[ ]=[ ][{][\n][ ]\.firmware[ ]*=' drivers/net/wireless/mwifiex/pcie.h + accept '[ ][ ]card->pcie\.firmware[ ]=' drivers/net/wireless/mwifiex/pcie.c + accept '[ ][ ]\.per_chan_pwr_limit_arr_11abg[ ]*=[ ][{][ 0xf,\n]*' drivers/net/wireless/ti/wl18xx/main.c + blobname 'ti-connectivity[/]wl18xx-fw-2\.bin' drivers/net/wireless/ti/wl18xx/main.c + blobname '%s-dsp%d-%s\.\(wmfw\|bin\)' sound/soc/codecs/wm_adsp.c + defsnc 'static[ ]const[ ]struct[ ]reg_addr[ ]\(idle_\)\?reg_addrs\[\][ ]=' drivers/net/ethernet/broadcom/bnx2x/bnx2x_dump.h + blobname '83xx_fw\.bin' drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]dump_num_registers\[NUM_CHIPS\]\[NUM_PRESETS\][ ]=' drivers/net/ethernet/broadcom/bnx2x/bnx2x_dump.h + defsnc 'static[ ]int[ ]pm2xxx_charger_voltage_map\[\][ ]=' drivers/power/pm2301_charger.c + accept '[ ][*][ ]comedi[ ]drivers\.[ ]The[ ]request_firmware[(][)][ ]hotplug' drivers/staging/comedi/comedi.h + blobname 'rp2\.fw' drivers/tty/serial/rp2.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]seq_\(w\|rgb\)_gamma\[\][ ]=' drivers/video/backlight/lms501kf03.c + defsnc '[#]include[ ][\n]*static[ ]u16[ ]init\[\][ ]=' drivers/video/mmp/panel/tpo_tj032md01bw.c + defsnc 'static[ ]struct[ ]tegra_clk_pll_freq_table[ ]pll_[mpadcu]_freq_table\[\][ ]=' 'drivers/clk/tegra/clk-tegra[23]0\.c' + blobname 'ctefx\.bin' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]unsigned[ ]int[ ]\(voice_focus\|mic_svm\|equalizer\)_vals_lookup\[\][ ]=' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]struct[ ]hda_verb[ ]ca0132_init_verbs0\[\][ ]=' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]const[ ]int[ ]dmic_comp\[6\]\[6\][ ]=' sound/soc/codecs/max98090.c + + # New in 3.10 + accept '[ \t]*edid[ ]=[ ]\[00[ ]FF[ 0-9A-F\n\t]*\]' arch/powerpc/boot/dts/ac14xx.dts + accept 'K256:[\n][\t]\.long[ ]0x428a2f98[,][0-9a-f0x,]*\([\n][\t]\.long[ ][0-9a-f0x,]*\)*' arch/x86/crypto/sha256-avx-asm.S + accept 'K256:[\n][\t]\.long[\t]0x428a2f98[,][0-9a-f0x,]*\([\n][\t]\.long[\t][0-9a-f0x,]*\)*' arch/x86/crypto/sha256-avx2-asm.S + accept 'K256:[\n][ ]*\.long[ ]0x428a2f98[,][0-9a-f0x,]*\([\n][ ]*\.long[ ][0-9a-f0x,]*\)*' arch/x86/crypto/sha256-ssse3-asm.S + accept 'K512:[\n][\t]\.quad[ ]0x428a2f98d728ae22[,][0-9a-f0x,]*\([\n][\t]\.quad[ ][0-9a-f0x,]*\)*' 'arch/x86/crypto/sha512-\(avx\|ssse3\)-asm\.S' + accept 'K512:[\n][\t]\.quad[\t]0x428a2f98d728ae22[,][0-9a-f0x,]*\([\n][\t]\.quad[\t][0-9a-f0x,]*\)*' 'arch/x86/crypto/sha512-avx2-asm.S' + defsnc 'static[ ]const[ ]uint32_t[ ]axi_clkgen_lock_table\[\][ ]=' drivers/clk/clk-axi-clkgen.c + defsnc 'static[ ]const[ ]int[ ]arizona_micd_levels\[\][ ]=' drivers/extcon/extcon-arizona.c + defsnc 'static[ ]const[ ]struct[ ]hdmiphy_config[ ]hdmiphy_v13_configs\[\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c + defsnc '[ ][}][ ]common_modes\[\][ ]=' drivers/gpu/drm/qxl/qxl_display.c + defsnc 'static[ ]const[ ]u32[ ]\(evergreen\|cedar\|supersumo\|wrestler\|barts\|turks\|caicos\)_golden_registers2\?\[\][ ]=' drivers/gpu/drm/radeon/evergreen.c + defsnc 'static[ ]const[ ]u32[ ]\(cypress\|redwood\|cedar\|juniper\)_mgcg_init\[\][ ]=' drivers/gpu/drm/radeon/evergreen.c + defsnc 'static[ ]const[ ]u32[ ]\(cayman\|dvst\|scrapper\)_golden_registers2\?\[\][ ]=' drivers/gpu/drm/radeon/ni.c + defsnc 'static[ ]const[ ]u32[ ]cayman_io_mc_regs\[BTC_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/si.c + defsnc 'static[ ]const[ ]u32[ ]\(r7xx\|rv7[1347]0\)_\(golden_registers\|mgcg_init\)\[\][ ]=' drivers/gpu/drm/radeon/rv770.c + defsnc 'static[ ]const[ ]u32[ ]\(tahiti\|pitcairn\|verde\|oland\|hainan\)_\(golden_registers\|mgcg_cgcg_init\)\[\][ ]=' drivers/gpu/drm/radeon/si.c + defsnc 'static[ ]\(const[ ]\)\?u32[ ]verde_pg_init\[\][ ]=' drivers/gpu/drm/radeon/si.c + defsnc 'static[ ]const[ ]u32[ ]hainan_io_mc_regs\[TAHITI_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/si.c + defsnc 'static[ ]const[ ]s16[ ]temp_lut\[\][ ]=' drivers/hwmon/via686a.c + defsnc 'static[ ]const[ ]u8[ ]via_lut\[\][ ]=' drivers/hwmon/via686a.c + defsnc 'static[ ]const[ ]uint64_t[ ]crc_table\[256\][ ]=' drivers/md/bcache/util.c + defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]ofsm_init_it9135_v[12]\[\][ ]=' drivers/media/dvb-frontends/af9033_priv.h + defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]tuner_init_it9135_\(38\|51\|52\|60\|61\|62\)\[\][ ]=' drivers/media/dvb-frontends/af9033_priv.h + defsc 'static[ ]struct[ ]regdata[ ]mb86a20s_init2\[\][ ]=' drivers/media/dvb-frontends/mb86a20s.c + defsnc 'static[ ]const[ ]u8[ ]channel_registers\[\][ ]=' drivers/media/i2c/tw2804.c + defsnc '[\t]static[ ]const[ ]struct[ ]si476x_property_range[ ]valid_ranges\[\][ ]=' drivers/mfd/si476x-prop.c + defsnc '[\t]static[ ]const[ ]unsigned[ ]int[ ]t[45]_reg_ranges\[\][ ]=' drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c + defsnc 'static[ ]const[ ]u16[ ]b43_ntab_antswctl_r3\[4\]\[32\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'static[ ]struct[ ]nphy_gain_ctl_workaround_entry[ ]nphy_gain_ctl_wa_phy6_radio11_ghz2[ ]=' drivers/net/wireless/b43/tables_nphy.c + defsc 'static[ ]struct[ ]nphy_gain_ctl_workaround_entry[ ]nphy_gain_ctl_workaround\[2\]\[4\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'static[ ]const[ ]u16[ ]b43_lcntab_sw_ctl_4313_epa_rev0\[\][ ]=' drivers/net/wireless/b43/tables_phy_lcn.c + defsc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_5592_xtal[24]0\[\][ ]=' drivers/net/wireless/rt2x00/rt2800lib.c + defsnc 'u32[ ]RTL8188EEPHY_REG_\(1TARRAY\|ARRAY_PG\)\[\][ ]=' drivers/net/wireless/rtlwifi/rtl8188ee/table.c + defsnc 'u32[ ]RTL8188EE_RADIOA_1TARRAY\[\][ ]=' drivers/net/wireless/rtlwifi/rtl8188ee/table.c + defsnc 'u32[ ]RTL8188EEMAC_1T_ARRAY\[\][ ]=' drivers/net/wireless/rtlwifi/rtl8188ee/table.c + defsnc 'u32[ ]RTL8188EEAGCTAB_1TARRAY\[\][ ]=' drivers/net/wireless/rtlwifi/rtl8188ee/table.c + defsc 'static[ ]const[ ]struct[ ]pinmux_cfg_reg[ ]pinmux_config_regs\[\][ ]=' 'drivers/pinctrl/sh-pfc/pfc-\(r8a77\(40\|79\)\|sh72\(03\|69\)\)\.c' + defsnc 'static[ ]const[ ]struct[ ]abx500_v_to_cap[ ]cap_tbl\(_[ab]_thermistor\)\?\[\][ ]=' drivers/power/ab8500_bmdata.c + defsnc 'static[ ]int[ ]ab8540_charge_\(output\|input\)_curr_map\[\][ ]=' drivers/power/ab8500_bmdata.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ldo_vaux56_ab8540_voltages\[\][ ]=' drivers/regulator/ab8500.c + accept '[\t]rproc->firmware[ ]=[ ]p[;]' drivers/remoteproc/remoteproc_core.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]jpeg_header\[\][ ]=' drivers/staging/media/solo6x10/solo6x10-jpeg.h + defsnc 'const[ ]unsigned[ ]char[ ]jpeg_dqt\[4\]\[DQT_LEN\][ ]=' drivers/staging/media/solo6x10/solo6x10-jpeg.h + defsnc 'static[ ]unsigned[ ]char[ ]vop_6010_\(ntsc\|pal\)_\(d1\|cif\)\[\][ ]=' drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c + defsnc 'u8[ ]\(sbox\|dot[23]\)_table\[256\][ ]=' drivers/staging/vt6656/aes_ccmp.c + defsnc 'static[ ]const[ ]u32[ ]s_adwCrc32Table\[256\][ ]=' drivers/staging/vt6656/tcrc.c + defsnc 'const[ ]u8[ ]TKIP_Sbox_\(Lower\|Upper\)\[256\][ ]=' drivers/staging/vt6656/tkip.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]tas5086_reg_defaults\[\][ ]=' sound/soc/codecs/tas5086.c + accept '[\t]\.firmware[\t]=[ ]' drivers/bluetooth/btmrvl_sdio.c + blobname 'mrvl[/]sd8688\(_helper\)\?\.bin' drivers/bluetooth/btmrvl_sdio.c + blobname 'mrvl[/]sd8897_uapsta\.bin' drivers/bluetooth/btmrvl_sdio.c + blobname '\(\(atsc\|tdmb\)_denver\|cmmb_\(ming_app\|venice_12mhz\)\|dvbh\?_rio\|fm_radio\(_rio\)\?\|isdbt_\(pele\|rio\)\)\.inp' drivers/media/common/siano/smscoreapi.h + blobname 'tigon[/]tg357766\.bin' drivers/net/ethernet/broadcom/tg3.c + blobname 'cxgb4[/]t5fw\.bin' drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c + blobname 'rtl_nic[/]rtl8106e-2\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'rtl_nic[/]rtl8168g-[23]\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'mwl8k[/]fmimage_8764_ap-["][ ][#]api[ ]["]\.fw' drivers/net/wireless/mwl8k.c + blobname 'go7007[/]go7007fw\.bin' drivers/staging/media/go7007/go7007-driver.c + blobname 'go7007[/]go7007tv\.bin' drivers/staging/media/go7007/go7007-fw.c + blobname 'go7007[/]\(s2250-[12]\|px-\(m\|tv\)402u\|lr192\|wis-startrek\)\.fw' drivers/staging/media/go7007/go7007-loader.c + blobname 'intel[/]ibt-hw-%x\.%x\(\.%x-fw-%x\.%x\.%x\.%x\.%x\)\?\.bseq' drivers/bluetooth/btusb.c + blobname 'radeon[/]\(RV710\|CYPRESS\|SUMO\|TAHITI\)_uvd\.bin' drivers/gpu/drm/radeon/radeon_uvd.c + blobname 'imspcu\.fw' drivers/input/misc/ims-pcu.c + blobname 'fimc_is_fw\.bin' drivers/media/platform/exynos4-is/fimc-is.h + blobname 'setfile\.bin' drivers/media/platform/exynos4-is/fimc-is.h + blobname 'rtlwifi[/]rtl8188efw\.bin' drivers/net/wireless/rtlwifi/rtl8188ee/sw.c + + # New in 3.11. + blobname 'imx[/]sdma[/]sdma-imx6sl\.bin' arch/arm/boot/dts/imx6sl.dtsi + initnc '[ ]linux,keymap[ ]=[ ]<' 'arch/arm/boot/dts/nspire-\(clp\|cx\|tp\)\.dts' + blobname '\(kernel[/]x86[/]microcode[/]\)\?AuthenticAMD\.bin' arch/x86/kernel/microcode_amd_early.c + initnc '[ ]*FMC:[ ]poor[ ]dump[ ]of[ ]sdb[ ]first[ ]level:' Documentation/fmc/parameters.txt + accept 'static[ ]int[\n ]cache_firmware[(]const[ ]char[ ][*]fw_name[)][\n][{]\([\n]\+[^\n}][^\n]*\)*ret[ ]=[ ]request_firmware[(][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}][\n]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]int[ ]__initconst[ ]a370_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]=' drivers/clk/mvebu/armada-370.c + defsnc 'static[ ]const[ ]int[ ]__initconst[ ]axp_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]=' drivers/clk/mvebu/armada-xp.c + defsnc 'static[ ]const[ ]struct[ ]mV_pos[ ]\(vrm85\|mobilevrm\)_mV\[32\][ ]=' drivers/cpufreq/longhaul.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]mV_\(vrm85\|mobilevrm\)\[32\][ ]=' drivers/cpufreq/longhaul.h + accept '[][ 0-9.]*fake-fmc-carrier:[ ]Mezzanine[ ]0:[ ]eeprom[ ]["]fdelay-eeprom\.bin["]' Documentation/fmc/fmc-fakedev.txt + accept '[][ 0-9.]*spec[ ][024:.]*[ ]got[ ]file[ ]["]fmc[/]spec-init\.bin["]' Documentation/fmc/fmc-write-eeprom.txt + defsnc 'static[ ]char[ ]ff_eeimg\[FF_MAX_MEZZANINES\]\[FF_EEPROM_SIZE\][ ]=' drivers/fmc/fmc-fakedev.c + accept '[ ]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]gw[,][ ][&]fmc->dev[)][;]' drivers/fmc/fmc-fakedev.c + accept '[ ][ ]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]ff_eeprom\[i\][,][ ][&]ff->dev[)][;]' drivers/fmc/fmc-fakedev.c + accept '[ ]if[ ][(][!]strcmp[(]last4[,][ ]["]\.bin["][)][)]' drivers/fmc/fmc-write-eeprom.c + accept '[ ]err[ ]=[ ]request_firmware[(][&]fw[,][ ]s[,][ ]dev[)][;]' drivers/fmc/fmc-write-eeprom.c + defsnc 'nvc0_grctx_init_\(icmd\|9097\|902d\|90c0\|unk40xx\|unk46xx\|unk78xx\|gpc_[01]\|tpc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c + defsnc 'nvc1_grctx_init_\(icmd\|9097\|gpc_0\|tpc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc1.c + defsnc 'nvc3_grctx_init_tpc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc3.c + defsnc 'nvc8_grctx_init_\(icmd\|tpc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc8.c + defsnc 'nvd7_grctx_init_\(unk40xx\|unk58xx\|gpc_0\|tpc\|unk\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd7.c + defsnc 'nvd9_grctx_init_\(icmd\|90c0\|unk40xx\|unk58xx\|gpc_0\|tpc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd9.c + defsnc 'nve4_grctx_init_\(icmd\|a097\|unk40xx\|unk46xx\|unk58xx\|unk64xx\|rop\|gpc_0\|tpc\|unk\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnve4.c + defsnc 'nvf0_grctx_init_\(unk40xx\|unk64xx\|unk88xx\|gpc_0\|tpc\|unk\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvf0.c + defsnc 'uint32_t[ ]nvd7_grgpc_code\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc.h + defsnc 'uint32_t[ ]nvf0_grgpc_code\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc.h + defsnc 'uint32_t[ ]nvd7_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h + defsnc 'uint32_t[ ]nvf0_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h + defsnc 'nvc0_graph_init_\(regs\|[gt]pc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c + defsnc 'nvc1_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc1.c + defsnc 'nvc3_graph_init_tpc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc3.c + defsnc 'nvc8_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc8.c + defsnc 'nvd7_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvd7.c + defsnc 'nvd9_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvd9.c + defsnc 'nve4_graph_init_\(regs\|[gt]pc\|unk\|unk88xx\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nve4.c + defsnc 'nvf0_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c + defsnc '[ ][}][ ]magic\[\][ ]=[ ][{][\n][ ][ ][{][ ]0x020520[,]' drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c + blobname 'nouveau[/]nv84_xuc%03x' drivers/gpu/drm/nouveau/core/engine/graph/xtensa.c + defsnc 'nv50_fb_memtype\[0x80\][ ]=' drivers/gpu/drm/nouveau/core/subdev/fb/nv50.c + defsnc 'static[ ]const[ ]u32[ ]\(barts\|caicos\|turks\)_\(\(cgcg_cgls\|sysls\)_\(default\|disable\|enable\)\|mgcg_default\)\[\][ ]=' drivers/gpu/drm/radeon/btc_dpm.c + defsnc 'u32[ ]btc_valid_sclk\[40\][ ]=' drivers/gpu/drm/radeon/btc_dpm.c + defsnc 'static[ ]const[ ]u32[ ]\(bonaire\|spectre\|kalindi\)_\(golden_registers\|mgcg_cgcg_init\)\[\][ ]=' drivers/gpu/drm/radeon/cik.c + defsnc 'static[ ]const[ ]u32[ ]bonaire_io_mc_regs\[BONAIRE_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/cik.c + blobname 'radeon[/]\(BONAIRE\|KAVERI\|KABINI\|%s\)_\(pfp\|[mc]ec\?\|rlc\|s\?mc\|sdma\)\.bin' drivers/gpu/drm/radeon/cik.c + defsnc 'static[ ]u32[ ]sumo_rlc_save_restore_register_list\[\][ ]=' drivers/gpu/drm/radeon/evergreen.c + defsnc 'static[ ]u32[ ]tn_rlc_save_restore_register_list\[\][ ]=' drivers/gpu/drm/radeon/ni.c + blobname 'radeon[/]\(BARTS\|BTC\|TURKS\|CAICOS\|%s\)_\(pfp\|m[ec]\|rlc\|smc\)\.bin' 'drivers/gpu/drm/radeon/[ns]i\.c' + defsnc 'static[ ]const[ ]struct[ ]ni_cac_weights[ ]cac_weights_cayman_\(xt\|pro\|le\)[ ]=' drivers/gpu/drm/radeon/ni_dpm.c + blobname 'radeon[/]\(R\([67]0\|V6[1237]\|S7[1378]\)[05]\|CEDAR\|REDWOOD\|JUNIPER\|CYPRESS\|SUMO2\?\|%s\)_\(pfp\|[mc]e\|rlc\|s\?mc\)\.bin' drivers/gpu/drm/radeon/r600.c + defsnc 'static[ ]const[ ]u32[ ]cayman_\(\(cgcg_cgls\|sysls\)_\(default\|disable\|enable\)\|mgcg_default\)\[\][ ]=' drivers/gpu/drm/radeon/ni_dpm.c + blobname 'radeon[/]BONAIRE_uvd\.bin' drivers/gpu/drm/radeon/radeon_uvd.c + blobname 'radeon[/]\(TAHITI\|PITCARIN\|VERDE\|OLAND\|HAINAN\|%s\)_\(pfp\|[mc]e\|rlc\|s\?mc\)\.bin' drivers/gpu/drm/radeon/si.c + defsnc 'static[ ]struct[ ]dll_speed_setting[ ]dll_speed_table\[16\][ ]=' drivers/gpu/drm/radeon/rv740_dpm.c + defsnc 'static[ ]const[ ]u8[ ]\(rv7[7314]0\|cedar\|redwood\|juniper\|cypress\|barts\|turks\|caicos\|cayman\)_smc_int_vectors\[\][ ]=' drivers/gpu/drm/radeon/rv770_smc.c + defsnc 'static[ ]const[ ]struct[ ]si_dte_data[ ]dte_data_\(tahiti\(_le\|_pro\)\?\|new_zealand\|aruba_pro\|malta\|pitcairn\|curacao_\(xt\|pro\)\|neptune_xt\|cape_verde\|venus_\(xtx\?\|pro\)\|oland\|mars_pro\|sun_xt\)[ ]=' drivers/gpu/drm/radeon/si_dpm.c + defsnc 'static[ ]const[ ]u32[ ]trinity_\(mgcg_shls_default\|sysls_\(default\|disable\|enable\)\|override_mgpg_sequences\)\[\][ ]=' drivers/gpu/drm/radeon/trinity_dpm.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]hex_table\[256\][ ]=' drivers/md/dm-switch.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5102_revb_patch\[\][ ]=' drivers/mfd/wm5102-tables.c + blobname 'c\(b\|t2\?\)fw-3\.2\.1\.0\.bin' 'drivers/\(net/ethernet/brocade/bna/cna\.h\|scsi/bfa/bfad\.c\)' + blobname 'rtl_nic[/]rtl8411-2\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'ath10k[/]QCA988X[/]hw[12]\.0' drivers/net/wireless/ath/ath10k/hw.h + blobname '\(ath10k[/]QCA988X[/]hw[12]\.0[/]\)\?\(firmware\|otp\|board\)\.bin' drivers/net/wireless/ath/ath10k/hw.h + defsnc 'static[ ]const[ ]u32[ ]ar9462_modes_mix_ob_db_tx_gain_table_2p0\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9462_2p0_5g_xlna_only_rxgain\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9462_2p1_\(\(mac\|baseband\|radio\)_core\|common_\(mixed_\|wo_xlna_\|5g_xlna_only_\)\?rx_gain\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p1_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9462_2p1_\(\(mac\|baseband\)_postamble\|modes_\(low\|high\|mix\)_ob_db_tx_gain\)\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p1_initvals.h + blobname '\(boot_cw1x60\|\(wsm\|sdd\)_\(cw1x60\|22\|20\|11\|10\)\)\.bin' drivers/net/wireless/cw1200/fwio.h + accept '[ ][*][ ]4\.[ ]save[ ]as[ ]["]iNVM_xxx\.bin["]' drivers/net/wireless/iwlwifi/mvm/nvm.c + accept 'static[ ]const[ ]struct[ ]mwifiex_sdio_device[ ]mwifiex_sdio_sd[^ ]*[ ]=[ ][{][\n][ ]*\.firmware[ ]=' drivers/net/wireless/mwifiex/sdio.h + blobname 'sdd_sagrad_1091_1098\.bin' 'drivers/net/wireless/cw1200/cw1200_sdio\.c\|include/linux/platform_data/net-cw1200\.h' + accept '[/][*][ ]An[ ]example[^*]*[\n][ ]*\.sdd_file[ ]=[ ]["]sdd_\(sagrad_1091_1098\|myplatform\)\.bin["][,]' include/linux/platform_data/net-cw1200.h + defsnc 'static[ ]unsigned[ ]const[ ]score_pins\[BYT_NGPIO_SCORE\][ ]=' drivers/pinctrl/pinctrl-baytrail.c + defsnc 'static[ ]unsigned[ ]const[ ]sus_pins\[BYT_NGPIO_SUS\][ ]=' drivers/pinctrl/pinctrl-baytrail.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]bsc_data32_pins\[\][ ]=' drivers/pinctrl/pinctrl-baytrail.c + blobname 'mt76\(50\|62\)\.bin' drivers/staging/btmtk_usb/btmtk_usb.c + accept '[ ]*data->firmware[ ]=[ ]firmware[;]' drivers/staging/btmtk_usb/btmtk_usb.c + accept '[ ]\[CODA_IMX\(27\|53\)\][ ]=[ ][{][\n][ ][ ]\.firmware[ ]*=' drivers/media/platform/coda.c + blobname 'exynos4_\(fimc_is_fw\|s5k6a3_setfile\)\?\.bin' drivers/media/platform/exynos4-is/fimc-is.h + accept '[ ]*ret[ ]=[ ]process_sigma_firmware[(]client[,][ ]ADAU1701_FIRMWARE[)][;]' sound/soc/codecs/adau1701.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5640_reg\[RT5640_VENDOR_ID2[ ][+][ ]1\][ ]=' sound/soc/codecs/rt5640.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ssm2518_reg_defaults\[\][ ]=' sound/soc/codecs/ssm2518.c + + # New in 3.12. + blobname 's5p-mfc-v7\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c + blobname 'ct2\?fw-3\.2\.1\.1\.bin' drivers/net/ethernet/brocade/bna/cna.h + blobname 'c[bt]2\?fw-3\.2\.1\.1\.bin' drivers/scsi/bfa/bfad.c + blobname '84xx_fw\.bin' drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c + accept '[ ]interrupts[ ]=[ ]<\([\n][ ]*0x\([ef]\|1[01]\)[0-9a-f][ ]0[ ]0[ ]0\)*>[;]' arch/powerpc/boot/dts/fsl/qoriq-mpic4\.3\.dtsi + defsnc '__visible[ ]const[ ]u64[ ]camellia_sp\(10011110\|22000222\|03303033\|00444404\|02220222\|30333033\|44044404\|11101110\)\[256\][ ]=' arch/x86/crypto/camellia_glue.c + defsnc '__visible[ ]const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]=' crypto/aes_generic.c + defsnc '__visible[ ]const[ ]u32[ ]cast_s[1234]\[256\][ ]=' crypto/cast_common.c + accept '[ ]*interrupts[ ]=[ ]<[ ]*\(0[ ]2[012][0-9][ ]4[ \n]*\)*>[;]' Documentation/devicetree/bindings/dma/shdma.txt + accept '[ ][ ]interrupts[ ]=[ ]<\([\n][ ]*0x\([ef]\|1[01]\)[0-9a-f][ ]0[ ]0[ ]0\)*>[;]' Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt + defsnc 'static[ ]const[ ]int[ ]a370_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]__initconst[ ]=' drivers/clk/mvebu/armada-370.c + defsnc 'static[ ]const[ ]int[ ]axp_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]__initconst[ ]=' drivers/clk/mvebu/armada-xp.c + defsnc 'static[ ]const[ ]int[ ]\(dove\|kirkwood\)_cpu_ddr_ratios\[16\]\[2\][ ]__initconst[ ]=' drivers/clk/mvebu/clk-core.c + defsnc 'static[ ]const[ ]u8[ ]zero_message_\(hash\|hmac\)_sha256\[SHA256_DIGEST_SIZE\][ ]=' drivers/crypto/ux500/hash/hash_core.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]a3xx_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a3xx_gpu.c + blobname 'a3[03]0_p\(m4\|fp\)\.fw' drivers/gpu/drm/msm/adreno/a3xx_gpu.c + defsnc 'static[ ]const[ ]struct[ ]ci_pt_defaults[ ]defaults_\(bonaire\|saturn\)_\(xt\|pro\)[ ]=' drivers/gpu/drm/radeon/ci_dpm.c + defsnc 'static[ ]const[ ]u32[ ]sumo_rlc_save_restore_register_list\[\][ ]=' drivers/gpu/drm/radeon/evergreen.c + defsnc 'static[ ]const[ ]struct[ ]kv_lcac_config_values[ ]cpl_local_cac_cfg_kv\[\][ ]=' drivers/gpu/drm/radeon/kv_dpm.c + defsnc 'static[ ]const[ ]u32[ ]tn_rlc_save_restore_register_list\[\][ ]=' drivers/gpu/drm/radeon/ni.c + defsnc 'static[ ]struct[ ]imx_i2c_clk_pair[ ]\(imx\|vf610\)_i2c_clk_div\[\][ ]=' drivers/i2c/busses/i2c-imx.c + defsnc 'static[ ]const[ ]u16[ ]apds9300_lux_ratio\[\][ ]=' drivers/iio/light/apds9300.c + accept '[ ]ar->firmware[ ]=[ ]\(NULL\|ath10k_fetch_fw_file\)' drivers/net/wireless/ath/ath10k/core.c + defsnc 'static[ ]const[ ]u16[ ]dot11lcn_sw_ctrl_tbl_4313_ipa_rev0_combo\[\][ ]=' drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_lcn.c + accept '[ ][ ]adapter->firmware[ ]=[ ]NULL' drivers/net/wireless/mwifiex/main.c + defsc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3053\[\][ ]=' drivers/net/wireless/rt2x00/rt2800lib.c + defsnc 'static[ ]const[ ]int[ ]bq24190_\(ccc_ichg\|cvc_vreg\)_values\[\][ ]=' drivers/power/bq24190_charger.c + blobname '[(]i\.e\.[ ]["]asfep\.bin["][)][ ][*][/]' drivers/staging/dgap/downlod.c + blobname '[(]["][/]etc[/]dgap[/]xrfep\.bin["][)][;][ ][*][/]' drivers/staging/dgap/downlod.c + blobname '["][/]lib[/]firmware[/]dgap[/]["]' drivers/staging/dgap/downld.c + blobname '\(fx\|cx\|cxp\|ibm\(cx\|en\)\|xr\|sx\|pci\)\(bios\|fep\|con\|host\)\.bin' drivers/staging/dgap/downld.c + defsnc 'static[ ]const[ ]struct[ ]msi3101_gain[ ]msi3101_gain_lut_\(120\|245\|1000\)\[\][ ]=' drivers/staging/media/msi3101/sdr-msi3101.c + defsnc 'static[ ]struct[ ]ch_freq[ ]ch_freq_map\[\][ ]=' drivers/staging/rtl8188eu/core/rtw_rf.c + defsnc 'static[ ]\(const\)\?[ ]\?u8[ ]sbox_table\[256\][ ]=' drivers/staging/rtl8188eu/core/rtw_security.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]Sbox1\[2\]\[256\][ ]=' drivers/staging/rtl8188eu/core/rtw_security.c + defsnc 'const[ ]u32[ ]T[ed]0\[256\][ ]=' drivers/staging/rtl8188eu/core/rtw_security.c + defsnc 'const[ ]u8[ ]Td4s\[256\][ ]=' drivers/staging/rtl8188eu/core/rtw_security.c + defsnc 'static[ ]u32[ ]array_\(agc_tab\|phy_reg\)_\(1t\|pg\)_8188e\[\][ ]=' drivers/staging/rtl8188eu/hal/HalHWImg8188E_BB.c + defsnc 'static[ ]u32[ ]array_MAC_REG_8188E\[\][ ]=' drivers/staging/rtl8188eu/hal/HalHWImg8188E_MAC.c + defsnc 'static[ ]u32[ ]Array_RadioA_1T_8188E\[\][ ]=' drivers/staging/rtl8188eu/hal/HalHWImg8188E_RF.c + defsnc '[ ]u8[ ]channel_all\[ODM_TARGET_CHNL_NUM_2G_5G\][ ]=' drivers/staging/rtl8188eu/hal/HalPhyRf.c + defsnc 'static[ ]const[ ]u16[ ]dB_Invert_Table\[8\]\[12\][ ]=' drivers/staging/rtl8188eu/hal/odm.c + blobname 'rtl8188E[/\\]*rtl8188efw\.bin' drivers/staging/rtl8188eu/include/rtl8188e_hal.h + defsnc 'static[ ]const[ ]unsigned[ ]long[ ]K\[64\][ ]=' drivers/staging/rtl8188eu/include/rtw_security.h + defsnc '[ ]static[ ]const[ ]struct[ ]msm_baud_map[ ]table\[\][ ]=' drivers/tty/serial/msm_serial.c + defsnc 'static[ ]u8[ ]hx8369_seq_gamma_curve_related\[\][ ]=' drivers/video/backlight/hx8357.c + defsnc 'static[ ]const[ ]wchar_t[ ]t2_\(0[012345]\|1[def]\|2[14cd]\|a[67]\|ff\)\[256\][ ]=' fs/cifs/winucase.c + accept '[ ]*\(\(el\)\?if[ ]\[[ ]-f\|cp[ ]-v[ ]--\)[ ]["][$][{]objtree[}][/]arch[/]mips[/]boot[/]\(compressed[/]\)\?vmlinux\.bin["]' scripts/package/buildtar + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]pcm1681_reg_defaults\[\][ ]=' sound/soc/codecs/pcm1681.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8997_sysclk_reva_patch\[\][ ]=' sound/soc/codecs/wm8997.c + blob '[\t]0xE1[,][ ]0x88[,][ ]0x10[,][ ]0x00[,][ ]0x0B[,][ ]0x00[,][ ]0x01[,][ ]0x00[,]\([\n][\t][0-9xA-F, ]*\)*' drivers/staging/rtl8188eu/hal/Hal8188EFWImg_CE.c + + # New in 3.13 + defsnc 'static[ ]const[ ]u32[ ]hawaii_\(golden_registers\|mgcg_cgcg_init\)\[\][ ]=' drivers/gpu/drm/radeon/cik.c + defsnc 'static[ ]const[ ]u32[ ]hawaii_io_mc_regs\[HAWAII_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/cik.c + blobname 'dvb-demod-drxk-01\.fw' drivers/media/video/em28xx/em28xx-dvb.c + blobname '\(ath10k[/]QCA988X[/]hw[12]\.0[/]\)\?firmware-2\.bin' drivers/net/wireless/ath/ath10k/hw.h + blobname 'brcm[/]brcmfmac43\(143\|241b[04]\|29\|3[045]\)-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + blobname 'iwlwifi-7265-' drivers/net/wireless/iwlwifi/pcie/7000.c + accept '[\t][\t]brightness-levels[ ][=][ ][<][0-9 \t\n]*[>][;]' arch/arm/boot/dts/imx28-tx28.dts + accept '[\t]echo[ ]["]mic[/]uos\.img["][ ]' Documentation/mic/mpssd/micctrl + accept '[\t]mdev->firmware[ ]=[ ]kmalloc' drivers/misc/mic/host/mic_sysfs.c + accept '[\t]rc[ ]=[ ]request_firmware[(][&]fw[,][ \t\n]*mdev->\(ramdisk\|firmware\)[,][ ]mdev->sdev->parent[)][;]' drivers/misc/mic/host/mic_x100.c + accept '[\t]*["]\(ramdisk\|firmware\)[ ]request_firmware[ ]failed' drivers/misc/mic/host/mic_x100.c + defsnc 'static[ ]const[ ]struct[ ]dsi_clock_table[ ]dsi_clk_tbl\[\][ ]=' drivers/gpu/drm/i915/intel_dsi_pll.c + defsnc 'uint32_t[ ]nv108_pwr_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h + defsnc 'uint32_t[ ]nva3_pwr_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h + defsnc 'uint32_t[ ]nvc0_pwr_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h + defsnc 'uint32_t[ ]nvd0_pwr_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h + defsnc 'static[ ]const[ ]struct[ ]ci_pt_defaults[ ]defaults_hawaii_\(xt\|pro\)[ ]=' drivers/gpu/drm/radeon/ci_dpm.c + accept '[\t]["]edid[/]\(1024x768\|1280x1024\|1600x1200\|1680x1050\|1920x1080\)\.bin["]' drivers/gpu/drm/drm_edid_load.c + defsnc 'static[ ]const[ ]u8[ ]generic_edid\[GENERIC_EDIDS\]\[128\][ ]=' drivers/gpu/drm/drm_edid_load.c + defsnc '[\t]unsigned[ ]char[ ]buf\[\][ ]=' drivers/hid/hid-sony.c + blobname 'dvb-fe-cx24117\.fw' drivers/media/dvb-frontends/cx24117.c + blobname 'vpdma-1b8\.bin' drivers/media/platform/ti-vpe/vpdma.c + defsnc 'static[ ]const[ ]u8[ ]ov361x_start_\(2048\|1600\|1024\|640\|320\|160\)\[\]\[2\][ ]=' drivers/media/usb/gspca/ov534_9.c + defsnc 'static[ ]const[ ]u8[ ]tuning_blk_pattern_[48]bit\[\][ ]=' drivers/mmc/host/dw_mmc.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]oob_8192_ecc[48][ ]=' drivers/mtd/nand/fsl_ifc_nand.c + defsnc '[\t]static[ ]u8[ ]PN9Data\[\][ ]=' drivers/net/wireless/ath/ath9k/main.c + blobname 'wlan[/]prima[/]WCNSS_qcom_wlan_nv\.bin' drivers/net/wireless/ath/wcn36xx/wcn36xx.h + defsnc 'static[ ]s32[ ]expected_tpt_\(siso\|mimo2\)_[248]0MHz\[4\]\[IWL_RATE_COUNT\][ ]=' drivers/net/wireless/iwlwifi/mvm/rs.c + blobname 'rtlwifi[/]rtl8188eufw\.bin' drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c + defsnc 'static[ ]unsigned[ ]char[ ]\(sbox\|dot[23]\)_table\[256\][ ]=' drivers/staging/vt6656/aes_ccmp.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]TKIP_Sbox_\(Lower\|Upper\)\[256\][ ]=' drivers/staging/vt6656/tkip.c + defsnc 'static[ ]u32[ ]\(al2230_txvga_data\|w89rf242_txvga_old_mapping\)\[\]\[2\][ ]=' drivers/staging/winbond/reg.c + defsnc '[}][ ]test2\[\][ ]=' lib/random32.c + defsnc 'static[ ]const[ ]struct[ ]hda_verb[ ]hp_bnb13_eq_verbs\[\][ ]=' sound/pci/hda/patch_sigmatel.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]aic3x_reg\[\][ ]=' sound/soc/codecs/tlv320aic3x.c + blobname 'radeon[/]HAWAII_\(pfp\|[mc]e\|me\?c\|rlc\|sdma\|smc\)\.bin' drivers/gpu/drm/radeon/cik.c + blobname 'ti-connectivity[/]wl1251-\(fw\|nvs\)\.bin' 'drivers/net/wireless/wl12\(51\|xx\)/wl1251.h' + + # New in 3.13.2 + blobname 'rtlwifi[/]rtl8192cufw_\([AB]\|TMSC\)\.bin' drivers/net/wireless/rtlwifi/rtl8192cu.sw + + # New in 3.14 + blobname 'dvb-usb-technisat-cablestar-hdci-drxk\.fw' drivers/media/usb/dvb-usb-v2/az6007.c + blobname 'ctfw-3\.2\.3\.0\.bin' drivers/net/ethernet/brocade/bna/cna.h + blobname 'ct2fw-3\.2\.3\.0\.bin' drivers/net/ethernet/brocade/bna/cna.h + blobname 'brcm[/]brcmfmac43362-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + blobname 'brcm[/]brcmfmac4339-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + blobname 'mrvl[/]usb8897_uapsta\.bin' drivers/net/wireless/mwifiex/usb.h + blobname 'cbfw-3\.2\.3\.0\.bin' drivers/scsi/bfa/bfad.c + blobname 'ctfw-3\.2\.3\.0\.bin' drivers/scsi/bfa/bfad.c + blobname 'ct2fw-3\.2\.3\.0\.bin' drivers/scsi/bfa/bfad.c + + # New in 3.14.6 + blobname 'radeon[/]\(%s\|BONAIRE\|HAWAII\|TAHITI\|PITCAIRN\|VERDE\|OLAND\|HAINAN\)_mc2\.bin' 'drivers/gpu/drm/radeon/\(cik\|si\)\.c' + + # New in 3.15 + defsnc '\(static[ ]\)\?const[ ]struct[ ]nvc0_graph_init[\n]nvc0_graph_init_\(main\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c + defsnc 'static[ ]const[ ]u32[ ]godavari_golden_registers\[\][ ]=' drivers/gpu/drm/radeon/cik.c + blobname 'brcm[/]brcmfmac4354-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + blobname '%s%s\.ucode' drivers/net/wireless/iwlwifi/iwl-drv.c + blobname 'ti-connectivity[/]wl18xx-fw-3\.bin' drivers/net/wireless/ti/wl18xx/main.c + blobname 'ql2700_fw\.bin' drivers/scsi/qla2xxx/qla_os.c + + # New in 3.16 + defsnc '[\t]*atmel[,]pll-clk-output-ranges[ ]=[ ]<' 'Documentation/devicetree/bindings/clock/at91-clock\.txt\|arch/arm/boot/dts/at91sam9x5\.dtsi' + blobname 'imx[/]sdma[/]sdma-imx25\.bin' arch/arm/boot/dts/imx25.dtsi + blobname 'imx[/]sdma[/]sdma-imx35\.bin' arch/arm/boot/dts/imx35.dtsi + blobname 'imx[/]sdma[/]sdma-imx50\.bin' arch/arm/boot/dts/imx50.dtsi + blobname 'sdma-imx53\.bin' arch/arm/boot/dts/imx53-tx53.dtsi + defsnc 'struct[ ]sock_filter[ ]code\[\][ ]=' Documentation/networking/filter.txt + initnc '\.L\(Forward\|Reverse\)_Sbox:[\n][\t]\.byte[\t]*' arch/arm64/crypto/aes-neon.S + initnc '\.Lsha2_rcon:[\n][\t]\.word[\t]*' arch/arm64/crypto/sha2-ce-core.S + defsnc 'static[ ]const[ ]u8[ ]sata_phy_config[12]\[\][ ]*=' arch/mips/netlogic/xlp/ahci-init-xlp2.c + accept '[ ]*interrupts[ ]=[ ]<108[ ]0\([\n][ ]*1[012][0-9][ ]0\)*>[;]' arch/powerpc/boot/dts/akebono.dts + defsnc '[\t]static[ ]int[ ]sysdiv_code_to_x2\[\][ ]=' arch/powerpc/platforms/512x/clock-commonclk.c + accept '[#][#][ ]*0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1' arch/x86/crypto/aesni-intel_avx-x86_64.S + defsc 'static[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|224\|256\|384\|512\)_\(aes\|des\|des3_ede\)_cbc_enc_tv_temp\[\][ ]=' crypto/testmgr.h + accept '#define[ \t]*ACPI_TABLE_FILE_SUFFIX[\t ]*["]\.dat["]' drivers/acpi/acpica/acapps.h + accept '[ ][*][ ]request_firmware\(_direct\)\?:[ ]-[ ]load[ ]firmware[ ]directly[ ]without[ ]usermode[ ]helper' drivers/base/firmware_class.c + accept '[ ][*][ ]This[ ]function[ ]works[ ]pretty[ ]much[ ]like[ ]request_firmware[(][)]' drivers/base/firmware_class.c + accept 'int[ ]request_firmware_direct[(]' 'drivers/base/firmware_class\.c\|include/linux/firmware\.h' + accept '[\t]ret[ ]=[ ]_request_firmware[(]firmware_p[,][ ]name[,][ ]device[,][ ]FW_OPT_UEVENT[)][;]' drivers/base/firmware_class.c + accept 'EXPORT_SYMBOL_GPL[(]request_firmware_direct[)][;]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]int[ ]armada_375_cpu_\(l2\|ddr\)_ratios\[32\]\[2\][ ]__initconst[ ]=[ ]' drivers/clk/mvebu/armada-375.c + defsnc 'static[ ]const[ ]int[ ]armada_38x_cpu_\(l2\|ddr\)_ratios\[32\]\[2\][ ]__initconst[ ]=[ ]' drivers/clk/mvebu/armada-38x.c + defsnc 'static[ ]struct[ ]cpufreq_frequency_table[ ]s3c64xx_freq_table\[\][ ]=' drivers/cpufreq/s3c64xx-cpufreq.c + defsnc 'static[ ]const[ ]u8[ ]ccp_sha\(1\|224\|256\)_zero\[CCP_SHA_CTXSIZE\][ ]=' drivers/crpto/ccp/ccp-ops.c + blobname 'ast_dp501_fw\.bin' drivers/gpu/drm/ast/ast_dp501.c + accept '[\t]["]edid[/]\(800x600\)\.bin["]' drivers/gpu/drm/drm_edid_load.c + defsnc 'static[ ]void[ ][*]edid_load[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*err[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ][&]pdev' drivers/gpu/drm/drm_edid_load.c + defsnc 'static[ ]const[ ]struct[ ]hdmiphy_config[ ]hdmiphy_5420_configs\[\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c + # These seem too sparse to be code. + defsnc 'static[ ]const[ ]u32[ ]gen6_null_state_batch\[\][ ]=' drivers/gpu/drm/i915/intel_renderstate_gen6.c + defsnc 'static[ ]const[ ]u32[ ]gen7_null_state_batch\[\][ ]=' drivers/gpu/drm/i915/intel_renderstate_gen7.c + defsnc 'static[ ]const[ ]u32[ ]gen8_null_state_batch\[\][ ]=' drivers/gpu/drm/i915/intel_renderstate_gen8.c + defsnc 'nv50_disp_\(mast_mthd_head\|\(sync\|ovly\)_mthd_base\)[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nv50.c + defsnc 'nv84_disp_\(mast_mthd_head\|\(sync\|ovly\)_mthd_base\)[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nv84.c + defsnc 'nva0_disp_ovly_mthd_base[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nva0.c + defsnc 'nvd0_disp_\(mast_mthd_head\|\(sync\|ovly\)_mthd_base\)[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c + defsnc 'nve0_disp_\(mast_mthd_head\|ovly_mthd_base\)[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nve0.c + defsnc 'gm107_grctx_init_\(\(icmd\|b097\|fe\|ds\|pd\|be\|setup\|tex\|mpc\|sm\|wwdx\)_0\|gpc_unk_2\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxgm107.c + defsnc 'nv108_grctx_init_\(icmd\|fe\|ds\|pd\|rstr2d\|be\|prop\|setup\|crstr\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnv108.c + defsnc 'nvc0_grctx_init_\(icmd\|9097\|902d\|90c0\|fe\|memfmt\|rstr2d\|prop\|setup\|crstr\|zcullr\|wwdx\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c + defsnc 'nvc1_grctx_init_\(icmd\|9097\|setup\|wwdx\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc1.c + defsnc 'nvc4_grctx_init_\(tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc4.c + defsnc 'nvc8_grctx_init_\(icmd\|setup\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc8.c + defsnc 'nvd7_grctx_init_\(ds\|pd\|setup\|tex\|wwdx\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd7.c + defsnc 'nvd9_grctx_init_\(icmd\|90c0\|fe\|ds\|prop\|setup\|crstr\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd9.c + defsnc 'nve4_grctx_init_\(icmd\|a097\|fe\|memfmt\|ds\|pd\|be\|setup\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnve4.c + defsnc 'nvf0_grctx_init_\(icmd\|a197\|fe\|pd\|be\|setup\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvf0.c + defsnc 'uint32_t[ ]gm107_grgpc_code\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5.h + defsnc 'uint32_t[ ]nv108_grgpc_code\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5.h + defsnc 'uint32_t[ ]gm107_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5.h + defsnc 'uint32_t[ ]nv108_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h + defsnc 'gm107_graph_init_\(main\|tpccs\|tex\|sm\|be\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/gm107.c + defsnc 'nv108_graph_init_\(main\|l1c\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nv108.c + defsnc 'nvc4_graph_init_sm_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc4.c + defsnc 'nvc8_graph_init_sm_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc8.c + defsnc 'nvd9_graph_init_\(gpc_unk_1\|sm_0\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvd9.c + defsnc 'nve4_graph_init_\(\(main\|l1c\|sm\|be\)_0\|gpc_unk_1\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nve4.c + defsnc 'nvf0_graph_init_\(\(l1c\|sm\)_0\|gpc_unk_1\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c + defsnc 'static[ ]u8[ ]const[ ]ld9040_gammas\[25\]\[22\][ ]=' drivers/gpu/drm/panel/panel-ld9040.c + defsnc 'static[ ]void[ ]s6e8aa0_panel_cond_set[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*s6e8aa0_dcs_write_seq_static[(]ctx[,][\n\t0x0-9a-f, ]*[)][;]' drivers/gpu/drm/panel/panel-s6e8aa0.c + defsnc 'static[ ]const[ ]s6e8aa0_gamma_table[ ]s6e8aa0_gamma_tables_v\(142\|96\|32\)\[GAMMA_LEVEL_NUM\][ ]=' drivers/gpu/drm/panel/panel-s6e8aa0.c + blobname 'radeon[/]BONAIRE_vce\.bin' drivers/gpu/drm/radeon/radeon_vce.c + defsnc '[\t]static[ ]const[ ]__u8[ ]sixaxis_leds\[10\]\[4\][ ]=' drivers/hid/hid-sony.c + defsnc '[\t]union[ ]sixaxis_output_report_01[ ]report[ ]=' drivers/hid/hid-sony.c + defsnc 'static[ ]int[ ]twl4030_therm_tbl\[\][ ]=' drivers/iio/adc/twl4030-madc.c + defsnc 'static[ ]struct[ ]linear_segments[ ]strength_to_db_table\[\][ ]=' drivers/media/dvb-frontends/dib8000.c + blobname 'dvb-fe-drxj-mc-1\.0\.8\.fw' drivers/media/dvb-frontends/drx39xyj/drxj.c + defsnc 'static[ ]const[ ]u16[ ]nicam_presc_table_val\[43\][ ]=' drivers/media/dvb-frontends/drx39xyj/drxj.c + accept '[\t][\t]*demod->firmware[ ]=[ ]\(fw\|NULL\)[;]' drivers/media/dvb-frontends/drx39xyj/drxj.c + blobname 'dvb-demod-m88ds3103\.fw' drivers/media/dvb-frontends/m88ds3103_priv.h + defsnc 'static[ ]const[ ]struct[ ]m88ds3103_reg_val[ ]m88ds3103_dvbs2\?_init_reg_vals\[\][ ]=' drivers/media/dvb-frontends/m88ds3103_priv.h + blobname 'dvb-demod-si2168-02\.fw' drivers/media/dvb-frontends/si2168_priv.h + blobname 's5k5baf-cfg\.bin' drivers/media/i2c/s5k5baf.c + defsnc 'static[ ]const[ ]u16[ ]scaler_[hv]s_coeffs\[1[35]\]\[SC_NUM_PHASES[ ][*][ ]2[ ][*][ ]SC_[HV]_NUM_TAPS\][ ]=' drivers/media/platform/ti-vpe/sc_coeff.h + defsnc 'static[ ]const[ ]struct[ ]si4713_start_seq_table[ ]start_seq\[\][ ]=' drivers/media/radio/si4713/radio-usb-si4713.c + defsnc 'static[ ]const[ ]struct[ ]e4000_if_gain[ ]e4000_if_gain_lut\[\][ ]=' drivers/media/tuners/e4000_priv.h + defsnc 'static[ ]const[ ]struct[ ]dtcs033_usb_requests[ ]dtcs033_start_reqs\[\][ ]=' drivers/media/usb/gspca/dtcs033.c + defsnc 'static[ ]struct[ ]idxdata[ ]tbl_\(\(middle\|end\)_hvflip\(_\(low\|big\)\)\?\|init_post_alt_\(low[123]\|big\|3B\)\)\[\][ ]=' drivers/media/usb/gspca/gl860/gl860-mi2020.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_revd_patch\[\][ ]=' drivers/mfd/wm5110-tables.c + defsnc 'static[ ]const[ ]u32[ ]tuning_block_128\[\][ ]=' drivers/mmc/host/sdhci-msm.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]hwecc4_2048[ ]=' drivers/mtd/nand/davinci_nand.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]ecc_layout_[24]KB_bch[48]bit[ ]=' drivers/mtd/nand/pxa3xx_nand.c + defsnc '[\t]static[ ]char[ ]packet\[\][ ]=' drivers/net/ethernet/intel/i40e/i40e_txrx.c + defsnc 'u8[ ]netvsc_hash_key\[HASH_KEYLEN\][ ]=' drivers/net/hyperv/rndis_filter.c + defsnc 'static[ ]const[ ]u32[ ]ar9300Modes_high_power_tx_gain_table_buffalo\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9003_buffalo_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9340_cus227_tx_gain_table_1p0\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9462_2p0_common_\(mixed_\)\?rx_gain\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9462_2p0_modes_\(low\|mix\|high\)_ob_db_tx_gain\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca953x_1p[01]_\(\(mac\|baseband\|radio\)_core\|modes_\(no_\)\?xpa_tx_gain_table\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar953x_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca953x_1p0_\(baseband\|radio\)_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar953x_initvals.h + accept '[ ]err[ ]=[ ]request_firmware_nowait[(][^\n]*,[ ]CARL9170FW_NAME,' drivers/net/wireless/carl9170/usb.c + defsnc 'static[ ]const[ ]struct[ ]b43_nphy_channeltab_entry_rev3[ ]b43_nphy_channeltab_\(phy\|radio\)_rev\([34568]\|7_9\|11\)\[\][ ]=' drivers/net/wireless/b43/radio_2056.c + defsnc 'static[ ]const[ ]u32[ ]b43_ntab_noisevar_r3\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + blobname 'iwlwifi-8000C\?-' drivers/net/wireless/intel/iwlwifi/iwl-8000.c + blobname 'iwl_nvm_8000\.bin' drivers/net/wireless/iwlwifi/iwl-8000.c + defsnc 'static[ ]const[ ]u8[ ]iwl_nvm_channels_family_8000\[\][ ]=' drivers/net/wireless/iwlwifi/iwl-nvm-parse.c + defsnc 'static[ ]const[ ]u16[ ]expected_tpt_\(siso\|mimo2\)_[248]0MHz\[4\]\[IWL_RATE_COUNT\][ ]=' drivers/net/wireless/iwlwifi/mvm/rs.c + blobname 'rsi_91x\.fw' drivers/net/wireless/rsi/rsi_common.h + defsnc 'static[ ]const[ ]u32[ ]RF_GAIN_TABLE\[\][ ]=' drivers/net/wireless/rtl818x/rtl8180/rtl8225se.c + defsnc 'static[ ]const[ ]u8[ ]\(cck_ofdm_gain_settings\|rtl8225se_tx_power_cck\(_ch14\)\?\|ZEBRA_AGC\|OFDM_CONFIG\)\[\][ ]=' drivers/net/wireless/rtl818x/rtl8180/rtl8225se.c + defsnc '[\t]u16[ ]toshiba_smid1\[\][ ]=' drivers/net/wireless/rtlwifi/rtl8723be/hw.c + blobname 'rtlwifi[/]rtl8723befw\.bin' drivers/net/wireless/rtlwifi/rtl8723be/sw.c + defsnc 'u32[ ]RTL8723BE\(PHY_REG\|_RADIOA\|MAC\|AGCTAB\)_\(1T_\?ARRAY\|ARRAY_PG\)\[\][ ]=' drivers/net/wireless/rtlwfi/rtl8723be/table.c + defsnc 'static[ ]\(const[ ]unsigned[ ]\)\?int[ ]tps65864[03]_sm2_voltages\[\][ ]=' drivers/regulator/tps6586x-regulator.c + defsnc 'static[ ]const[ ]uint32_t[ ]ql27xx_fwdt_default_template\[\][ ]=' drivers/scsi/qla2xxx/qla_tmpl.c + blobname 'dgap[/]\(sx\|cxp\|pci\|xr\)\(bios\|fep\)\.bin' drivers/staging/dgap/dgap.c + accept '[\t][ ]*kernel[ ]firmware[ ]framework[,][ ]request_firmware[(][)]' drivers/staging/gs_fpgaboot/README + defsnc 'static[ ]u8[ ]ecctable\[256\][ ]=' drivers/staging/keucr/smilecc.c + defsnc '[\t]u8[ ]data_ptr\[36\][ ]=' drivers/staging/keucr/smscsi.c + # This is a default for the user-supplied fpga configuration; it + # is overridable with a module parameter. + accept 'static[ ]char[ \t]*[*]file[ ]=[ ]["]xlinx_fpga_firmware\.bit["][;]' drivers/staging/gs_fpgaboot/gs_fpgaboot.c + accept '[\t]pr_info[(]["]load[ ]fpgaimage[ ]%s[\\]n["][,][ ]file[)][;][\n]*[\t]err[ ]=[ ]request_firmware[(][&]fimage->fw_entry[,]' drivers/staging/gs_fpgaboot/gs_fpgaboot.c + blobname '\(ti1273\(_\(pre\)\?le\)\?\|bc[m4]fw\)\.bin' drivers/staging/nokia_h4p/nokia_fw.c + defsnc '[\t]u8[ ]channel5g\[CHANNEL_MAX_NUMBER_5G\][ ]=' drivers/staging/rtl8192ee/rtl8192ee/hw.c + blobname 'rtlwifi[/]rtl8192eefw\.bin' drivers/staging/rtl8192ee/rtl8192ee/sw.c + defsnc 'u32[ ]RTL8192EE_\(PHY_REG\|RADIO[AB]\|MAC\|AGC_TAB\)_ARRAY\(_PG\)\?\[\][ ]=' drivers/staging/rtl8192ee/rtl8192ee/table.c + defsnc '[\t]u8[ ]Channel_5G\[45\][ ]=' drivers/staging/rtl8723au/core/rtw_mlme_ext.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]Sbox1\[2\]\[256\]=' drivers/staging/rtl8723au/core/rtw_security.c + defsnc 'u32[ ]Rtl8723UPHY_REG_Array_PG\[Rtl8723UPHY_REG_Array_PGLength\][ ]=' drivers/staging/rtl8723au/hal/Hal8723UHWImg_CE.c + defsnc 'static[ ]u32[ ]Array_\(AGC_TAB\|PHY_REG\)_\(1T\|PG\)_8723A\[\][ ]=' drivers/staging/rtl8723au/hal/HalHWImg8723A_BB.c + defsnc 'static[ ]u32[ ]Array_MAC_REG_8723A\[\][ ]=' drivers/staging/rtl8723au/hal/HalHWImg8723A_MAC.c + defsnc 'static[ ]u32[ ]Array_RadioA_1T_8723A\[\][ ]=' drivers/staging/rtl8723au/hal/HalHWImg8723A_RF.c + blobname 'rtlwifi[/]rtl8723aufw_\(A\|B\(_NoBT\)\?\)\.bin' drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c + defsnc 'u8[ ]rtl88\(12\|21\)ae_delta_swing_table_idx_5g[ab]_[np]_txpwrtrack\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/staging/rtl8821ae/rtl8821ae/dm.c + defsnc 'static[ ]u8[ ]reserved_page_packet_8821\[TOTAL_RESERVED_PKT_LEN_8821\][ ]=' drivers/staging/rtl8821ae/rtl8821ae/fw.c + defsnc 'static[ ]u8[ ]reserved_page_packet_8812\[TOTAL_RESERVED_PKT_LEN_8812\][ ]=' drivers/staging/rtl8821ae/rtl8821ae/fw.c + defsnc '[\t]u8[ ]channel_5g\[CHANNEL_MAX_NUMBER_5G\][ ]=' 'drivers/staging/rtl8821ae/rtl8821ae/\(hw\|phy\)\.c' + defsnc '[\t]u8[ ]channel_all\[TARGET_CHNL_NUM_2G_5G_8812\][ ]=' drivers/staging/rtl8821ae/rtl8821ae/phy.c + blobname 'rtlwifi[/]rtl8821aefw\.bin' drivers/staging/rtl8821ae/rtl8821ae/sw.c + defsnc 'u32[ ]RTL88\(12\|21\)AE_\(\(PHY\|MAC\)_REG\|RADIO[AB]\|AGC_TAB\)_ARRAY\(_PG\)\?\[\][ ]=' drivers/staging/rtl8821ae/rtl8821ae/table.c + accept '#define[ ]CONFIG_PATH[\t]*["][/]etc[/]vntconfiguration[.]dat["]' drivers/staging/vt6656/device.h + defsnc 'static[ ]const[ ]u8[ ]TKIP_Sbox_\(Lower\|Upper\)\[256\][ ]=' drivers/staging/vt6656/tkip.c + blobname 'moxa[/]moxa-\(%04x\|[0-9a-f][0-9a-f][0-9a-f][0-9a-f]\)\.fw' drivers/usb/serial/mxuport.c + accept '#define[ \t]request_firmware_direct[ \t]request_firmware' include/linux/firmware.h + accept '[\t]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_direct[(]' include/linux/firmware.h + defsnc 'const[ ]u8[ ]crc7_be_syndrome_table\[256\][ ]=' lib/crc7.c + defsnc 'static[ ]struct[ ]bpf_test[ ]tests\[\][ ]=' lib/test_bpf.c + defsnc '[\t]static[ ]struct[ ]sock_filter[ ]ptp_filter\[\][ ]__initdata[ ]=' net/core/ptp_classifier.c + blobname 'adau1761\.bin' sound/soc/codecs/adau1761.c + accept '[\t][\t]ret[ ]=[ ]adau17x1_load_firmware[(]adau[,][ ]codec->dev[,][\n][\t ]*ADAU1761_FIRMWARE[)][;]' sound/soc/codecs/adau1761.c + blobname 'adau1[37]81\.bin' sound/soc/codecs/adau1781.c + accept '[\t][\t]firmware[ ]=[ ]ADAU1[37]81_FIRMWARE[;]\([\n][\n]*[\t][^\n]*\)*ret[ ]=[ ]adau17x1_load_firmware[(]adau[,][ ]codec->dev[,][ ]firmware[)][;]' sound/soc/codecs/adau1781.c + blobna 'adau17x1_load_firmware' sound/soc/codecs/adau17x1.c + accept 'int[ ]adau17x1_load_firmware[(]' 'sound/soc/codecs/adau17x1\.[ch]' + accept 'EXPORT_SYMBOL_GPL[(]adau17x1_load_firmware[)][;]' sound/soc/codecs/adau17x1.c + accept '[ ]*ret[ ]=[ ]process_sigma_firmware_regmap[(]dev[,][ ]adau->regmap[,][ ]firmware[)][;]' sound/soc/codecs/adau17x1.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]adau1977_reg_defaults\[\][ ]=' sound/soc/codecs/adau1977.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak4641_reg_defaults\[\][ ]=' sound/soc/codecs/ak4641.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak464[28]_reg\[\][ ]=' sound/soc/codecs/ak4642.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5640_reg\[\][ ]=' sound/soc/codecs/rt5640.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5645_reg\[\][ ]=' sound/soc/codecs/rt5645.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5651_reg\[\][ ]=' sound/soc/codecs/rt5651.c + defsnc 'int[ ]_process_sigma_firmware[(]' sound/soc/codecs/sigmadsp.c + accept 'EXPORT_SYMBOL_GPL[(]_process_sigma_firmware[)]' sound/soc/codecs/sigmadsp.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]sta350_regs\[\][ ]=' sound/soc/codecs/sta350.c + defsnc 'static[ ]const[ ]struct[ ]aic31xx_rate_divs[ ]aic31xx_divs\[\][ ]=' sound/soc/codecs/tlv320aic31xx.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_sysclk_revd_patch\[\][ ]=' sound/soc/codecs/wm5110.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8974_reg_defaults\[\][ ]=' sound/soc/codecs/wm8974.c + blobname 'intel[/]IntcSST[12]\.bin' sound/soc/intel/sst-acpi.c + blobname 'intel[/]fw_sst_0f28\.bin-i2s_master' sound/soc/intel/sst-acpi.c + defsnc 'static[ ]unsigned[ ]char[ ]bcd2000_init_sequence\[\][ ]=' sound/usb/bcd2000/bcd2000.c + blobna '[ ][*][ ]xxd[ ]-r[ ]-p[ ]mXTXXX[^\n]*maxtouch\.fw[\n][ \t]*[*][/]' drivers/input/touchscreen/atmel_mxt_ts.c + blobname 's5p-mfc-v8\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c + + # New in 3.17 + blobname 'radeon[/]\(%s\|kaveri\|KAVERI\)_mec2\.bin' drivers/gpu/drm/radeon/cik.c + blobname 'dvb-demod-si2168-\(\(a[23]\|b4\)0-01\|-02\)\.fw' drivers/media/dvb-frontends/si2168_priv.h + accept '[ ]\[CODA_IMX6\(Q\|DL\)\][ ]=[ ][{][\n][ ][ ]\.firmware[ ]*=' drivers/media/platform/coda.c + blobname 'v4l-coda960-imx6\(q\|dl\)\.bin' drivers/media/platform/coda.c + blobname 's5p-mfc-v6-v2\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c + blobname 'dvb-fe-xc4000-1\.4\(\.1\)\?\.fw' drivers/media/tuners/xc4000.c + blobname 'ti-connectivity[/]TIInit_\(\(%d\|[0-9]\+\)[.]\)\+bts' drivers/misc/ti-st/st_kim.c + blobname 'fw-5\.bin' drivers/net/wireless/ath/ath6kl/core.h + blobname 'brcm[/]brcmfmac43569\.bin' drivers/net/wireless/brcm80211/brcmfmac/usb.c + blobname '3826\.eeprom' drivers/net/wireless/p54/p54spi.c + defsnc 'static[ ]const[ ]u64[ ]sha512_k\[\][ ]=' arch/arm/crypto/sha512_neon_glue.c + accept 'K_table:\([\n][ \t]*\.\(quad\|long\)[ \t]*0x[0-9a-f]*[,][ ]\?0x[0-9a-f]*\)\*' arch/x86/crypto/crc32c-pcl-intel-asm_64.S + accept '\.L_s[12345678]:\([\n][ ]*\.quad[ ]*0x[0-9a-f]*[,][ ]0x[0-9a-f]*\)*' arch/x86/crypto/des3_ede-asm_64.S + defsnc '[\t]const[ ]unsigned[ ]char[ ][*]K[ ]=[ ][(]unsigned[ ]char[ ][*][)]' crypto/drbg.c + accept '[\t]ret[ ]=[ ]_request_firmware[(]firmware_p[,][ ]name[,][ ]device[,]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]uint64_t[ ]inst\[\][ ]=' drivers/crypto/qat/qat_common/qat_hal.c + defsnc 'gk110b_\(grctx\|graph\)_init_\(sm\|l1c\)_0\[\][ ]=' drivers/gpu/dm/nouveau/core/engine/graph/ctxgk110b.c + defsnc '[\t]const[ ]u16[ ]map\[\][ ]=' drivers/hwmon/asc7621.c + defsnc '[}][ ]samp_freq_table\[\][ ]=' drivers/iio/accel/kxcjk-1013.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]jpeg_dqt\[4\]\[DQT_LEN\][ ]=' drivers/media/pci/solo6x10/solo6x10-jpeg.h + defsnc 'static[ ]const[ ]u32[ ]qca953x_2p0_baseband_core\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar953x_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca953x_2p0_baseband_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar953x_initvals.h + defsnc 'static[ ]u16[ ]r2057_rev\(4\|5a\?\|[789]\|14\)_init\[\]\[2\][ ]=' drivers/net/wireless/b43/radio_2057.c + defsnc 'static[ ]const[ ]u32[ ]b43_ntab_\(\(tmap\|noisevar\)_r7\|tx_gain_\(epa\|ipa\(_2057\)\?\)_rev\([34569]\|14\)_\(hi_pwr_\)\?\(2g\|5g\)\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + accept '[ ]ret[ ]=[ ]request_firmware[(][&]pm8001_ha->fw_image,' drivers/scsi/pm8001/pm8001_ctl.c + defsnc 'static[ ]unsigned[ ]char[ ]byVT3253InitTab_RFMD\[CB_VT3253_INIT_FOR_RFMD\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]unsigned[ ]char[ ]byVT3253B0_RFMD\[CB_VT3253B0_INIT_FOR_RFMD\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]unsigned[ ]char[ ]byVT3253B0_AGC4_RFMD2959\[CB_VT3253B0_AGC_FOR_RFMD2959\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]unsigned[ ]char[ ]byVT3253B0_AIROHA2230\[CB_VT3253B0_INIT_FOR_AIROHA2230\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]unsigned[ ]char[ ]byVT3253B0_UW2451\[CB_VT3253B0_INIT_FOR_UW2451\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]unsigned[ ]char[ ]byVT3253B0_AGC\[CB_VT3253B0_AGC\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]u8[ ]al2230_init_table\[CB_AL2230_INIT_SEQ\]\[3\][ ]=' drivers/staging/vt6656/rf.c + defsnc 'static[ ]u8[ ]\(al2230\|vt3226\)_channel_table[012]\[CB_MAX_CHANNEL_24G\]\[3\][ ]=' drivers/staging/vt6656/rf.c + defsnc 'static[ ]u8[ ]al7230_init_table\(_amode\)\?\[CB_AL7230_INIT_SEQ\]\[3\][ ]=' drivers/staging/vt6656/rf.c + defsnc 'static[ ]u8[ ]\(al7230\|vt3342\)_channel_table[012]\[CB_MAX_CHANNEL\]\[3\][ ]=' drivers/staging/vt6656/rf.c + defsnc 'static[ ]u8[ ]vt3226\(d0\)\?_init_table\[CB_VT3226_INIT_SEQ\]\[3\][ ]=' drivers/staging/vt6656/rf.c + defsnc 'static[ ]u8[ ]vt3342a0_init_table\[CB_VT3342_INIT_SEQ\]\[3\][ ]=' drivers/staging/vt6656/rf.c + defsnc 'static[ ]const[ ]u32[ ]al2230_power_table\[AL2230_PWR_IDX_LEN\][ ]=' drivers/staging/vt6656/rf.c + accept 'static[ ]inline[ ]int[ ]request_firmware_direct[(]const[ ]struct[ ]firmware[ ][*][*]fw[,]' include/linux/firmware.h + defsnc 'static[ ]u8[ ]const[ ]__aligned[(]8[)][ ]test_buf\[\][ ]__initconst[ ]=' lib/crc32.c + defsnc 'static[ ]struct[ ]crc_test[ ][{][^}]*[}][ ]const[ ]test\[\][ ]__initconst[ ]=' lib/crc32.c + accept '[\t]rc[ ]=[ ]request_firmware[(][&]test_firmware[,]' lib/test_firmware.c + defsnc 'static[ ]struct[ ]reg_default[ ]rt286_index_def\[\][ ]=' sound/soc/codecs/rt286.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt286_reg\[\][ ]=' sound/soc/codecs/rt286.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5670_reg\[\][ ]=' sound/soc/codecs/rt5670.c + accept 'FW=["][$]FWPATH[/]test-firmware\.bin["]' 'tools/testing/selftests/firmware/fw_\(filesystem\|userhelper\)\.sh' + blobname 'qat_895xcc\.bin' drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h + blobname 'dvb-demod-si2165\.fw' drivers/media/dvb-frontends/si2165_priv.h + blobname 'dvb-tuner-si2158-a20-01\.fw' drivers/media/tuners/si2157_priv.h + blobname 'brcm[/]brcmfmac43\(602\|5[46]\|570\)-pcie\.bin' drivers/net/wireless/brcm80211/brcmfmac/pcie.c + blobname 'r8a779x_usb3_v1\.dlmem' drivers/usb/host/xhci-rcar.c + blobname 'iwlwifi-3165-' drivers/net/wireless/iwlwifi/iwl-7000.c + + # New in 3.18. + accept '[\t ]*interrupts[ ]=[ ]<\([ \n\t]*0[ ][4567][0-9][ ]0xf04\)*>[;]' Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt + accept '[\t ]*<\([ \t\n]*[ 1-9][0-9 ][0-9]\)*>[;]' arch/arm/boot/dts/tegra124-nyan-big.dts + blobname 'keystone[/]qmss_pdsp_acc48_k2_le_1_0_0_8\.fw' Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt + defsnc 'static[ ]struct[ ]comp_testvec[ ]lz4\(hc\)\?_\(de\)\?comp_tv_template\[\][ ]=' crypto/testmgr.h + blobname 'mrvl[/]sd8887_uapsta\.bin' 'drivers/\(bluetooth/btmrvl_sdio\.c\|net/wireless/mwifiex/sdio.h\)' + blobname 'radeon[/]\(R600\|RS780\|RV770\)_uvd\.bin' drivers/gpu/drm/radeon/radeon_uvd.c + defsnc '[}][ ]wake_odr_data_rate_table\[\][ ]=' drivers/iio/accel/kxcjk-1013.c + defsnc 'static[ ]const[ ]struct[ ]linear_segments[ ]cnr_\(to_db\|\(64\|16\)qam\|qpsk\)_table\[\][ ]=' drivers/media/dvb-frontends/mb86a20s.c + defsnc 'static[ ]u8[ ]lgtdqcs001f_inittab\[\][ ]=' drivers/media/pci/mantis/mantis_vp1033.c + blobname 'go7007[/]go7007tv\.bin' drivers/media/pci/saa7134/saa7134-go7007.c + defsnc 'static[ ]const[ ]u8[ ]vivid_hdmi_edid\[256\][ ]=' drivers/media/platform/vivid/vivid-core.c + defsnc 'static[ ]const[ ]s8[ ]sin\[257\][ ]=' drivers/media/platform/vivid/vivid-tpg.c + defsnc 'static[ ]const[ ]struct[ ]shf[ ]shf_tab\[\][ ]=' drivers/media/tuners/mxl301rf.c + defsnc 'static[ ]const[ ]u8[ ]reg_initval\[QM1D1C0042_NUM_REGS\][ ]=' drivers/media/tuners/qm1d1c0042.c + accept '[\t]*priv->firmware[ ]=[ ]fw[;][\n][\t][}][ ]else[\n][\t]*fw[ ]=[ ]priv->firmware[;]' drivers/media/tuners/xc5000.c + blobname 'dvb-usb-it9303-01\.fw' drivers/media/usb/dvb-usb-v2/af9035.h + defsnc 'const[ ]u8[ ]tuning_blk_pattern_4bit\[MMC_TUNING_BLK_PATTERN_4BIT_SIZE\][ ]=' drivers/mmc/core/mmc.c + defsnc 'const[ ]u8[ ]tuning_blk_pattern_8bit\[MMC_TUNING_BLK_PATTERN_8BIT_SIZE\][ ]=' drivers/mmc/core/mmc.c + defsnc 'static[ ]const[ ]u16[ ]fm10k_crc_16b_table\[256\][ ]=' drivers/net/ethernet/intel/fm10k/fm10k_mbx.c + accept '[\t ]*[*][ ][ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0' drivers/net/ethernet/intel/fm10k/fm10k_mbx.h + blobname '83xx_post_fw\.bin' drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h + blobname 'rtl_nic[/]rtl\(8168h\|8107e\)-[12]\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'firmware-3\.bin' drivers/net/wireless/ath/ath10k/hw.h + blobname 'utf\.bin' drivers/net/wireless/ath/ath10k/testmode.c + accept '[ ][*][ ]wil_request_firmware[ ]-[ ]Request[ ]firmware' drivers/net/wireless/ath/wil6210/fw_inc.c + accept 'int[ ]wil_request_firmware[(]' 'drivers/net/wireless/ath/wil6210/\(fw_inc\.c\|wil6210\.h\)' + accept '[\t]*rc[ ]=[ ]wil_request_firmware[(]wil[,][ ]WIL_FW_NAME[)][;]' drivers/net/wireless/ath/wil6210/fw_inc.c + blobname 'wil6210\.fw' drivers/net/wireless/ath/wil6210/wil6210.h + blobna 'FW[ ]Version:[ ]%d_%d_%d' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c + blobna '\([,][\n \t]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)\+' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c + blobname 'iwlwifi-8000' drivers/net/wireless/iwlwifi/iwl-8000.c + blobname '["]-["][ ]__stringify[(]api[)][ ]["]\.ucode["]' drivers/net/wireless/iwlwifi/iwl-8000.c + blobname '%s%s-%s\.ucode' drivers/net/wireless/iwlwifi/iwl-drv.c + blobname 'rtlwifi[/]rtl8723efw\.bin' drivers/net/wireless/rtlwifi/rtl8723ae/sw.c + defsnc 'u32[ ]RTL8723E_RADIOA_1TARRAY\[RTL8723ERADIOA_1TARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c + defsnc '[\t]u8[ ]channel_all\[TARGET_CHNL_NUM_2G_5G\][ ]=' drivers/net/wireless/rtlwifi/rtl8723be/phy.c + blobname 'rtlwifi[/]rtl88\(21\|12\)aefw\(_wowlan\)\?\.bin' drivers/net/wireless/rtlwifi/rtl8821ae/sw.c + defsnc 'static[ ]u8[ ]rtl88\(12\|21\)ae_delta_swing_table_idx_5g[ba]_[np]\[\]\[DEL_SW_IDX_SZ\][ ]=' drivers/net/wireless/rtlwifi/rtl8821ae/dm.c + defsnc '[\t]u8[ ]channel_all\[ODM_TARGET_CHNL_NUM_2G_5G\][ ]=' drivers/staging/rtl8188eu/hal/phy.c + # Present before 3.18, but changes to reject_firmware shell + # function to make it match request_firmware only require us to + # recognize these as false positives. + accept 'static[ ]int[ ]lp55xx_request_firmware[(]' drivers/leds/leds-lp55xx-common.c + accept '[\t]*ret[ ]=[ ]lp55xx_request_firmware[(]' drivers/leds/leds-lp55xx-common.c + accept 'static[ ]int[ ]flexcop_fe_request_firmware[(]' drivers/media/common/b2c2/flexcop-fe-tuner.c + accept '[\t]\.request_firmware[ ]=[ ]flexcop_fe_request_firmware[,]' drivers/media/common/b2c2/flexcop-fe-tuner.c + accept '[\t]if[ ][(][(]ret[ ]=[ ]st->config->request_firmware[(]' drivers/media/dvb-frontends/bcm3510.c + accept '[\t][\t]ret[ ]=[ ]config->request_firmware[(]' drivers/media/dvb-frontends/or51211.c + accept '[\t]if[ ][(]state->config->request_firmware[(]' drivers/media/dvb-frontends/sp8870.c + accept '[\t][\t]ret[ ]=[ ]state->config->request_firmware[(]' drivers/media/dvb-frontends/sp887x.c + accept '[\t]int[ ][(][*]request_firmware[)][(]' drivers/media/dvb-frontends/sp887x.h + accept '[\t]ret[ ]=[ ]state->config->request_firmware[(]' drivers/media/dvb-frontends/tda1004x.c + accept '[\t]if[ ][(]state->config->request_firmware[ ]' drivers/media/dvb-frontends/tda1004x.c + accept '[\t][\t][\t]*ret[ ]=[ ]state->config->request_firmware[(]' drivers/media/dvb-frontends/tda1004x.c + accept 'static[ ]int[ ]alps_tdhd1_204_request_firmware[(]' drivers/media/dvb-frontends/tdhd1.h + accept '[\t]\.request_firmware[ ]=[ ]alps_tdhd1_204_request_firmware' drivers/media/dvb-frontends/tdhd1.h + accept 'static[ ]int[ ]microtune_mt7202dtf_request_firmware[(]' drivers/media/pci/bt8xx/dvb-bt8xx.c + accept '[\t]\.request_firmware[ ]=[ ]microtune_mt7202dtf_request_firmware[,]' drivers/media/pci/bt8xx/dvb-bt8xx.c + accept 'static[ ]int[ ]or51211_request_firmware[(]' drivers/media/pci/bt8xx/dvb-bt8xx.c + accept '[\t]\.request_firmware[ ]=[ ]or51211_request_firmware[,]' drivers/media/pci/bt8xx/dvb-bt8xx.c + accept 'static[ ]int[ ]pluto2_request_firmware[(]' drivers/media/pci/pluto2/pluto2.c + accept '[\t]\.request_firmware[ ]=[ ]pluto2_request_firmware[,]' drivers/media/pci/pluto2/pluto2.c + accept 'static[ ]int[ ]philips_tda1004x_request_firmware[(]' drivers/media/pci/saa7134/saa7134-dvb.c + accept '[\t]\.request_firmware[ ]=[ ]philips_tda1004x_request_firmware' drivers/media/pci/saa7134/saa7134-dvb.c + accept 'static[ ]int[ ]alps_tdlb7_request_firmware[(]' drivers/media/pci/ttpci/av7110.c + accept '[\t]\.request_firmware[ ]=[ ]alps_tdlb7_request_firmware[,]' drivers/media/pci/ttpci/av7110.c + accept 'static[ ]int[ ]philips_tu1216_request_firmware[(]' drivers/media/pci/ttpci/budget-av.c + accept '[\t]\.request_firmware[ ]=[ ]philips_tu1216_request_firmware[,]' drivers/media/pci/ttpci/budget-av.c + accept 'static[ ]int[ ]philips_tdm1316l_request_firmware[(]' drivers/media/pci/ttpci/budget-ci.c + accept '[\t]\.request_firmware[ ]=[ ]philips_tdm1316l_request_firmware[,]' drivers/media/pci/ttpci/budget-ci.c + accept 'static[ ]int[ ]alps_tdhd1_204_request_firmware[(]' drivers/media/pci/ttpci/budget.c + accept 'static[ ]int[ ]fimc_is_request_firmware[(]' drivers/media/platform/exynos4-is/fimc-is.c + accept '[\t]ret[ ]=[ ]fimc_is_request_firmware[(]' drivers/media/platform/exynos4-is/fimc-is.c + accept 'static[ ]int[ ]philips_tdm1316l_request_firmware[(]' drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c + accept '[\t]\.request_firmware[ ]=[ ]philips_tdm1316l_request_firmware[,]' drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c + accept '[\t][\t]pr_err[(]["][ ]request_firmware[ ]failed' drivers/misc/ti-st/st_kim.c + accept 'typhoon_request_firmware[(]' drivers/net/ethernet/3com/typhoon.c + accept '[\t]err[ ]=[ ]typhoon_request_firmware[(]' drivers/net/ethernet/3com/typhoon.c + accept '[\t][\t]goto[ ]request_firmware_exit[;]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + accept '[\t]BNX2X_ALLOC_AND_SET[(]init_data[,][ ]request_firmware_exit[,]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + accept 'request_firmware_exit:' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + accept 'static[ ]int[ ]bnx2_request_firmware[(]' drivers/net/ethernet/broadcom/bnx2.c + accept '[\t]rc[ ]=[ ]bnx2_request_firmware[(]' drivers/net/ethernet/broadcom/bnx2.c + accept 'static[ ]int[ ]tg3_request_firmware[(]' drivers/net/ethernet/broadcom/tg3.c + accept '[\t][\t]err[ ]=[ ]tg3_request_firmware[(]' drivers/net/ethernet/broadcom/tg3.c + accept 'static[ ]const[ ]struct[ ]firmware[ ][*]e100_request_firmware[(]' drivers/net/ethernet/intel/e100.c + accept '[\t]fw[ ]=[ ]e100_request_firmware[(]' drivers/net/ethernet/intel/e100.c + accept '[/][*][ ]Call[ ]this[]function[ ]from[ ]process[ ]context[,][ ]it[ ]will[ ]sleep[ ]in[ ]request_firmware[.]' drivers/net/wireless/ipw2x00/ipw2200.c + accept '[ ][*][ ]@request_firmware_complete:' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[\t][\t]lbs_deb_fw[(]["]request_firmware_nowait[ ]error' drivers/net/wireless/libertas/firmware.c + accept 'void[ ]netxen_request_firmware[(]' 'drivers/net/ethernet/qlogic/netxen/netxen_nic\(\.h\|_init\.c\)' + accept '[\t]netxen_request_firmware[(]' drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c + accept 'void[ ]qlcnic_request_firmware[(]' 'drivers/net/ethernet/qlogic/qlcnic/qlcnic\(\.h\|_init\.c\)' + accept '[\t][\t]qlcnic_request_firmware[(]' drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c + accept 'static[ ]void[ ]rtl_request_firmware[(]' drivers/net/ethernet/realtek/r8169.c + accept '[\t]rtl_request_firmware[(]' drivers/net/ethernet/realtek/r8169.c + accept 'static[ ]void[ ]b43_request_firmware[(]' drivers/net/wireless/b43/main.c + accept '[\t]INIT_WORK[(][&]wl->firmware_load[,][ ]b43_request_firmware[)]' drivers/net/wireless/b43/main.c + accept 'static[ ]void[ ]b43legacy_request_firmware[(]' drivers/net/wireless/b43legacy/main.c + accept '[\t]INIT_WORK[(][&]wl->firmware_load[,][ ]b43legacy_request_firmware[)]' drivers/net/wireless/b43legacy/main.c + accept 'il4965_request_firmware[(]' drivers/net/wireless/iwlegacy/4965-mac.c + accept '[\t]if[ ][(]il4965_request_firmware[(]' drivers/net/wireless/iwlegacy/4965-mac.c + accept '[\t]err[ ]=[ ]il4965_request_firmware[(]' drivers/net/wireless/iwlegacy/4965-mac.c + accept 'static[ ]int[ ]iwl_request_firmware[(]' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[\t]if[ ][(]iwl_request_firmware[(]' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[\t]ret[ ]=[ ]iwl_request_firmware[(]' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[ ][*][ ]@request_firmware_complete:' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[\t]struct[ ]completion[ ]request_firmware_complete[;]' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[\t]\(complete\|\(init\|wait_for\)_completion\)[(][&]drv->request_firmware_complete[)]' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[\t][ ][*][ ]Obtain[ ]NVM[ ]image[ ]via[ ]request_firmware[.]' drivers/net/wireless/iwlwifi/mvm/nvm.c + accept 'static[ ]int[ ]mwl8k_request_firmware[(]' drivers/net/wireless/mwl8k.c + accept '[\t]rc[ ]=[ ]mwl8k_request_firmware[(]' drivers/net/wireless/mwl8k.c + accept 'static[ ]int[ ]p54spi_request_firmware[(]' drivers/net/wireless/p54/p54spi.c + accept '[\t]ret[ ]=[ ]p54spi_request_firmware[(]' drivers/net/wireless/p54/p54spi.c + accept 'static[ ]int[ ]rt2x00lib_request_firmware[(]' drivers/net/wireless/rt2x00/rt2x00firmware.c + accept '[\t][\t]retval[ ]=[ ]rt2x00lib_request_firmware[(]' drivers/net/wireless/rt2x00/rt2x00firmware.c + accept '[\t][\t]*wl1271_error[(]["]request_firmware_nowait[ ]failed' drivers/net/wireless/ti/wlcore/main.c + accept '[\t][\t]nfc_err[(][&]drv->pdev->dev[,][ ]["]request_firmware[ ]failed' drivers/nfc/nfcwilink.c + accept '[\t][\t][\t]["]request_firmware[ ]returned' drivers/nfc/nfcwilink.c + accept '[\t][\t]dev_err[(][&]rproc->dev[,][ ]["]request_firmware_nowait[ ]err' drivers/remoteproc/remoteproc_core.c + accept '[\t][\t]dev_err[(]dev[,][ ]["]request_firmware[ ]failed' drivers/remoteproc/remoteproc_core.c + accept 'static[ ]int[ ]asd_request_firmware[(]' drivers/scsi/aic94xx/aic94xx_seq.c + accept '[\t]err[ ]=[ ]asd_request_firmware[(]' drivers/scsi/aic94xx/aic94xx_seq.c + accept '[\t]uint32_t[ ]cfg_request_firmware_upgrade[;]' drivers/scsi/lpfc/lpfc.h + accept '[ ][*][ ]lpfc_request_firmware_store[ ]-[ ]' drivers/scsi/lpfc/lpfc_attr.c + accept 'lpfc_request_firmware_upgrade_store[(]' drivers/scsi/lpfc/lpfc_attr.c + accept 'lpfc_param_show[(]request_firmware_upgrade[)]' drivers/scsi/lpfc/lpfc_attr.c + accept '[\t]rc[ ]=[ ]lpfc_sli4_request_firmware_update[(]' drivers/scsi/lpfc/lpfc_attr.c + accept '[ ][*][ ]lpfc_request_firmware_upgrade_init[ ]-[ ]' drivers/scsi/lpfc/lpfc_attr.c + accept 'lpfc_request_firmware_upgrade_init[(]' drivers/scsi/lpfc/lpfc_attr.c + accept '[\t][\t]phba->cfg_request_firmware_upgrade[ ]=' drivers/scsi/lpfc/lpfc_attr.c + accept '[\t][\t][ ]*lpfc_request_firmware_upgrade_\(show\|store\)[,)]' drivers/scsi/lpfc/lpfc_attr.c + accept '[\t]lpfc_request_firmware_upgrade_init[(]' drivers/scsi/lpfc/lpfc_attr.c + accept 'int[ ]lpfc_sli4_request_firmware_update[(]' drivers/scsi/lpfc/lpfc_crtn.h + accept '[ ][*][ ]@fw:[ ]pointer[ ]to[ ]firmware[ ]image[ ]returned[ ]from[ ]request_firmware[.]' drivers/scsi/lpfc/lpfc_init.c + accept '[ ][*][ ]lpfc_sli4_request_firmware_update[ ]-[ ]' drivers/scsi/lpfc/lpfc_init.c + accept 'lpfc_sli4_request_firmware_update[(]' drivers/scsi/lpfc/lpfc_init.c + accept '[\t]if[ ][(]phba->cfg_request_firmware_upgrade[)]' drivers/scsi/lpfc/lpfc_init.c + accept '[\t][\t]ret[ ]=[ ]lpfc_sli4_request_firmware_update[(]' drivers/scsi/lpfc/lpfc_init.c + accept '[ ][*][ ]qla1280_request_firmware' drivers/scsi/qla1280.c + accept 'qla1280_request_firmware[(]' drivers/scsi/qla1280.c + accept '[\t]fw[ ]=[ ]qla1280_request_firmware[(]' drivers/scsi/qla1280.c + accept 'extern[ ]struct[ ]fw_blob[ ][*]qla2x00_request_firmware[(]' drivers/scsi/qla2xxx/qla_gbl.h + accept '[\t]blob[ ]=[ ]qla2x00_request_firmware[(]' drivers/scsi/qla2xxx/qla_init.c + accept '[\t]blob[ ]=[ ]ha->hablob[ ]=[ ]qla2x00_request_firmware[(]' drivers/scsi/qla2xxx/qla_nx.c + accept 'qla2x00_request_firmware[(]' drivers/scsi/qla2xxx/qla_os.c + accept '[\t]-[ ]change[ ]firmware[ ]loading[ ]for[ ]usb[ ]driver[ ]to[ ]proper[ ]kernel[ ]method[ ][(]request_firmware[)]' drivers/staging/ft1000/TODO + accept '[\t][\t]pr_err[(]["]rtl8723au:[ ]request_firmware[ ]load' drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c + accept '[\t ]*[*][ ]We[ ]call[ ]request_firmware_nowait[ ]instead[ ]of[ \t\n*]*request_firmware[ ]so[ ]that' drivers/tty/serial/ucc_uart.c + accept '[\t][\t]dev_err[(][&]dev->dev[,][ ]["]%d[,][ ]request_firmware[ ]failed' sound/pci/asihpi/hpidspcd.c + accept 'static[ ]int[ ]snd_ymfpci_request_firmware[(]' sound/pci/ymfpci/ymfpci_main.c + accept '[\t]err[ ]=[ ]snd_ymfpci_request_firmware[(]' sound/pci/ymfpci/ymfpci_main.c + # New in 3.19 + blobname 'a420_p\(m4\|fp\)\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]a4xx_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a4xx_gpu.c + defsnc 'static[ ]const[ ]u32[ ]gen9_null_state_batch\[\][ ]=' drivers/gpu/drm/i915/intel_renderstate_gen9.c + defsnc 'nv50_disp_\(core_mthd_head\|base_mthd_base\)[ ]=[ ][{]\([\n][ \t]*\.\(mthd\|addr\)[ ]=[ ]0x00*\([04]0\|54\)0[,]\)*[\n][ \t]*\.data[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nv50.c + defsnc 'nv84_disp_\(core_mthd_head\|base_mthd_base\)[ ]=[ ][{]\([\n][ \t]*\.\(mthd\|addr\)[ ]=[ ]0x00*\([04]0\|54\)0[,]\)*[\n][ \t]*\.data[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nv84.c + defsnc 'nvd0_disp_\(core_mthd_head\|base_mthd_base\)[ ]=[ ][{]\([\n][ \t]*\.\(mthd\|addr\)[ ]=[ ]0x00*\(300\)\?[,]\)*[\n][ \t]*\.data[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c + defsnc 'nve0_disp_\(core_mthd_head\|base_mthd_base\)[ ]=[ ][{]\([\n][ \t]*\.\(mthd\|addr\)[ ]=[ ]0x00*300[,]\)*[\n][ \t]*\.data[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nve0.c + # This reads from user-supplied filenames. + accept 'shadow_fw_init[(]struct[ ]nouveau_bios[ ][*]bios[,][ ]const[ ]char[ ][*]name[)][\n][{][\n]\(\([^}\n][^\n]*\)\?[\n]\)*[\t]int[ ]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ]dev[)][;]' drivers/gpu/drm/nouveau/core/subdev/bios/shadow.c + defsnc 'static[ ]const[ ]u32[ ]coef_lut_\(a_legacy\|b\|[cdef]_[yc]_legacy\)\[NB_COEF\][ ]=' drivers/gpu/drm/sti/sti_hqvdp_lut.h + blobname 'hqvdp-stih407\.bin' drivers/gpu/drm/sti/sti_hqvdp.c + defsnc '[\t]static[ ]const[ ]union[ ]sixaxis_output_report_01[ ]default_report[ ]=' drivers/hid/hid-sony.c + blobname 'elan_i2c\.bin' drivers/input/mouse/elan_i2c_core.c + blobname 'elants_i2c\.bin' drivers/input/touchscreen/elants_i2c.c + defsnc '[}][ ]QAM256_mod_tab_zv_mode\[\][ ]=' drivers/media/dvb-frontends/au8522_dig.c + blobname 'dvb-demod-m88rs6000\.fw' drivers/media/dvb-frontends/m88ds3103_priv.h + defsnc 'static[ ]const[ ]struct[ ]m88ds3103_reg_val[ ]m88rs6000_dvbs2\?_init_reg_vals\[\][ ]=' drivers/media/dvb-frontends/m88ds3103_priv.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]\(luma\|chroma\)_ac_value\[162[ ][+][ ]2\][ ]=' drivers/media/platform/coda/coda-jpeg.c + defsnc 'static[ ]unsigned[ ]char[ ]\(luma\|chroma\)_q\[64\][ ]=' drivers/media/platform/coda/coda-jpeg.c + defsnc 'static[ ]const[ ]struct[ ]vin_coeff[ ]vin_coeff_set\[\][ ]=' drivers/media/platform/soc_camera/rcar_vin.c + defsnc 'const[ ]unsigned[ ]short[ ]tpg_\(rec709_to_linear\|linear_to_rec709\)\[255[ ][*][ ]16[ ][+][ ]1\][ ]=' drivers/media/platform/vivid/vivid-tpg-colors.c + defsnc '[\t]static[ ]const[ ]struct[ ]m88rs6000t_reg_val[ ]reg_vals\[\][ ]=' drivers/media/tuners/m88rs6000t.c + blobna '[/][*][ ]cal--\.bin[ ][*][/]' drivers/net/wireless/ath/ath10k/core.c + blobname 'cal-%s-%s\.bin' drivers/net/wireless/ath/ath10k/core.c + defsnc 'static[ ]const[ ]u32[ ]qca953x_2p0_\(common_wo_xlna_rx\|modes_\(no_\)\?xpa_tx\)_gain_table\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar953x_initvals.h + blobname 'mrvl[/]usb8766_uapsta\.bin' drivers/net/wireless/mwifiex/usb.h + defsc 'static[ ]const[ ]unsigned[ ]char[ ]opcode_ind_arr\[256\][ ]=' drivers/scsi/scsi_debug.c + defsnc 'static[ ]const[ ]struct[ ]quark_spi_rate[ ]quark_spi_rate_table\[\][ ]=' drivers/spi/spi-pxa2xx.c + blobname 'me4000_firmware\.bin' drivers/staging/comedi/drivers/me4000.c + defsnc '[\t]u8[ ]ConnectionMsg\[\][ ]=' drivers/staging/ft1000/ft1000-usb/ft1000_debug.c + accept '[\t]pr_info[(]["]load[ ]fpgaimage[ ]%s[\\]n["][,][ ]fw_file[)][;][\n]*[\t]err[ ]=[ ]request_firmware[(][&]fimage->fw_entry[,]' drivers/staging/gs_fpgaboot/gs_fpgaboot.c + blobname 'dvb-demod-mn88472-02\.fw' drivers/staging/media/mn88472/mn88472_priv.h + blobname 'dvb-demod-mn88473-01\.fw' drivers/staging/media/mn88473/mn88473_priv.h + accept '[\t][\t]goto[ ]err_request_firmware[;]' drivers/staging/media/mn88473/mn88473.c + accept 'err_request_firmware[:]' drivers/staging/media/mn88473/mn88473.c + blob 'The[ ]card[ ]requires[ ]firmware.*[\n]rm[ ]wd7296a\.sys' Documentation/scsi/wd719x.txt + blobname 'wd719x-\(wcs\|risc\)\.bin' drivers/scsi/wd719x.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]v2_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + defsnc 'static[ ]const[ ]u8[ ]debug_pk\[64\][ ]=' net/bluetooth/smp.c + defsnc 'static[ ]const[ ]u8[ ]debug_sk\[32\][ ]=' net/bluetooth/smp.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ad1980_reg_defaults\[\][ ]=' sound/soc/codecs/ad1980.c + blobname 'rt5677_dsp_fw[12]\.bin' sound/soc/codecs/rt5677.c + accept 'int[ ]sst_request_firmware_async[(]' sound/soc/intel/sst/sst.h + blobname 'intel[/]fw_sst_0f28\.bin-48kHz_i2s_master' sound/soc/intel/sst-acpi.c + blobname '\(intel[/]\)\?fw_sst_\(0f28\|22a8\)\.bin' sound/soc/intel/sst/sst_acpi.c + blobname '%s%04x%s["][,][ ]["]fw_sst_["][,][\n][ \t]*sst_drv_ctx->dev_id[,][ ]["]\.bin' sound/soc/intel/sst/sst_pci.c + accept '[\t]\?\(evsel\|machine\|thread\|comm\(_thread\)\?\|dso\|symbol\|branch_type\|sample\|[\t]call\(_path\)\?\)_file[ \t]*=[ ]open_output_file[(]["]\(evsel\|machine\|thread\|comm\(_thread\)\?\|dso\|symbol\|branch_type\|sample\|call\(_path\)\?\)_table\.bin["][)]' tools/perf/scripts/python/export-to-postgresql.py + # accept '\([*]\.\(bin\|elf\|fw\)\|\(setup\|wakeup\)\.\(bin\|elf\)\|vmlinux\.bin\.all\|tftpboot\.img\)[\n]' Documentation/dontdiff + # New in 4.0. + blobname 'intel[/]ibt-11-%u\.sfi' drivers/bluetooth/btusb.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf100_gr_init_\(main\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[ ][ ]*gf100_gr_init_fw[(]priv[,][ ]0x4\(09\|1a\)000[,][ ][&]priv->fuc4\(09\|1a\)c[,][ \n ]*[&]priv->fuc4\(09\|1a\)d[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[ ][ ]*gf100_gr_dtor_fw[(]&priv->fuc4\(09\|1a\)[cd][)][;]' drivers/gpu/drm/nouveua/nvkm/engine/gr/gf100.c + accept '[ ][ ]*\(if[ ][(]\|[ ][ ][ ][ ]\)gf100_gr_ctor_fw[(]priv[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]priv->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveua/nvkm/engine/gr/gf100.c + blobname 'firmware-4\.bin' drivers/net/wireless/ath/ath10k/hw.h + blobname 'brcm[/]brcmfmac43340-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + blobname 'iwlwifi-7260-' drivers/net/wireless/iwlwifi/pcie/7000.c + blobname 'iwlwifi-8000' drivers/net/wireless/intel/iwlwifi/iwl-8000.c + blobname 'iwl_nvm_8000B\.bin' drivers/net/wireless/iwlwifi/iwl-8000.c + blobname 'mrvl[/]sd8801_uapsta\.bin' drivers/net/wireless/mwifiex/sdio.h + blobname 'mrvl[/]usb8801_uapsta\.bin' drivers/net/wireless/mwifiex/usb.h + blobname 'ti-connectivity[/]wl18xx-fw-4\.bin' drivers/net/wireless/ti/wl18xx/main.c + blobname 'intel[/]fw_sst_22a8\.bin' sound/soc/intel/sst_acpi.c + defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]z_div_table\[\][ ]=' drivers/clk/shmobile/clk-sh73a0.c + defsnc 'uint32_t[ ]gf100_pce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3.h + defsnc 'uint32_t[ ]gt215_pce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gt215.fuc3.h + defsnc '\(static[ ]\)\?const[ ]struct[ ]nv50_disp_mthd_list[\n]g84_disp_\(base\|core\|ovly\)_mthd_\(dac\|head\|base\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]nv50_disp_mthd_list[\n]gf110_disp_\(base\|core\|ovly\)_mthd_\(dac\|head\|base\|sor\|pior\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]nv50_disp_mthd_list[\n]gk104_disp_\(core\|ovly\)_mthd_\(head\|base\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]nv50_disp_mthd_list[\n]gt200_disp_ovly_mthd_base[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf100_grctx_init_\(icmd\|9097\|902d\|90c0\|fe\|memfmt\|rstr2d\|prop\|setup\|crstr\|zcullr\|wwdx\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf104_grctx_init_\(tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf104.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf108_grctx_init_\(icmd\|9097\|setup\|wwdx\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf108.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf110_grctx_init_\(icmd\|setup\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf110.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf117_grctx_init_\(ds\|pd\|setup\|tex\|wwdx\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf117.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf119_grctx_init_\(\(icmd\|90c0\|fe\|ds\|prop\|setup\|crstr\|tex\|sm\)_0\|gpc_unk_1\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf119.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk104_grctx_init_\(icmd\|a097\|fe\|memfmt\|ds\|pd\|be\|setup\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk104.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk110_grctx_init_\(icmd\|a197\|fe\|pd\|be\|setup\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk110.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk208_grctx_init_\(icmd\|fe\|ds\|pd\|rstr2d\|be\|prop\|setup\|crstr\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk208.c + defsnc 'uint32_t[ ]gf100_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf100.fuc3.h + defsnc 'uint32_t[ ]gf117_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf117.fuc3.h + defsnc 'uint32_t[ ]gk104_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk104.fuc3.h + defsnc 'uint32_t[ ]gk110_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk110.fuc3.h + defsnc 'uint32_t[ ]gk208_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk208.fuc5.h + defsnc 'uint32_t[ ]gf100_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf100.fuc3.h + defsnc 'uint32_t[ ]gf117_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf117.fuc3.h + defsnc 'uint32_t[ ]gk104_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk104.fuc3.h + defsnc 'uint32_t[ ]gk110_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk110.fuc3.h + defsnc 'uint32_t[ ]gk208_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk208.fuc5.h + accept '[ ]struct[ ]gf100_gr_fuc[ ]fuc4\(09\|1a\)[cd]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf104_gr_init_\(ds\|tex\|pe\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf104.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf110_gr_init_sm_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf110.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf119_gr_init_\(\(pd\|ds\|prop\|gpm\|tex\|pe\|wwdx\|sm\)_0\|\(tpccs\|gpc_unk\|fe\)_1\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf119.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk104_gr_init_\(\(main\|ds\|sked\|cwd\|tpccs\|pe\|l1c\|sm\|be\)_0\|gpc_unk_1\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk110_gr_init_\(\(fe\|ds\|sked\|cwd\|tex\|l1c\|sm\)_0\|gpc_unk_1\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk110b_gr_init_\(l1c\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110b.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk208_gr_init_\(\(main\|ds\|gpc_unk\|tex\|l1c\)_0\|setup_1\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gk208.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gm107_gr_init_\(\(main\|ds\|scc\|sked\|prop\|zcull\|tpccs\|tex\|pe\|l1c\|sm\|pes\|wwdx\|cbm\|be\)_0\|\(setup\|gpc_unk\|l1c\|sm\)_1\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gm107.c + defsnc 'static[ ]u32[ \n]nv04_gr_ctx_regs\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nv04.c + defsnc 'static[ ]int[ \n]nv10_gr_ctx_regs\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nv10.c + defsnc 'uint32_t[ ]g98_psec_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/sec/fuc/g98.fuc0s.h + accept 'shadow_fw_init[(]struct[ ]nvkm_bios[ ][*]bios[,][ ]const[ ]char[ ][*]name[)][\n][{][\n]\(\([^}\n][^\n]*\)\?[\n]\)*[\t]int[ ]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ]dev[)][;]' drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c + defsnc 'uint32_t[ ]gf100_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h + defsnc 'uint32_t[ ]gf110_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf110.fuc4.h + defsnc 'uint32_t[ ]gk208_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h + defsnc 'uint32_t[ ]gt215_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h + defsnc 'static[ ]const[ ]struct[ ]dw_hdmi_mpll_config[ ]rockchip_mpll_cfg\[\][ ]=' drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c + defsnc '[}][ ]kmx61_\(samp_freq\|wake_up_odr\)_table\[\][ ]=' drivers/iio/imu/kmx61.c + defsnc 'static[ ]const[ ]u8[ ]jpeg_header\[\][ ]=' drivers/staging/media/solo6x10/solo6x10-jpeg.h + defsnc 'static[ ]const[ ]u8[ ]jpeg_dqt\[4\]\[DQT_LEN\][ ]=' drivers/media/pci/solo6x10/solo6x10-jpeg.h + defsnc 'static[ ]u8[ ]vop_6010_\(ntsc\|pal\)_\(d1\|cif\)\[\][ ]=' drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c + defsnc '[\t]static[ ]const[ ]struct[ ]rate_s[ ]rate_1\[\][ ]=' drivers/media/usb/gspca/ov534.c + defsnc 'static[ ]struct[ ]serdes_cfg[ ]cfg_phyb_10p3125g_\(156p25mhz_cmu1\|16bit_lane\|comlane\)\[\][ ]=' drivers/net/ethernet/ti/netcp_xgbepcsr.c + defsnc 'static[ ]const[ ]u32[ ]qca956x_1p0_\(baseband\|radio\)_core\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar956x_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca956x_1p0_\(baseband\|radio\)_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar956x_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca956x_1p0_modes_\(no_\)\?xpa_\(low_ob_db_\|green_\)\?tx_gain_table\[\]\[3\][ ]=' drivers/net/wireless/ath/ath9k/ar956x_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca956x_1p0_common_rx_gain_table\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar956x_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca956x_1p0_xlna_only\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar956x_initvals.h + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]smc0_nor_pins\[\][ ]=' drivers/pinctrl/pinctrl-zynq.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]gamma_correction_table\[\][ ]=' drivers/staging/fbtft/fb_agm1264k-fl.c + defsnc '[\t]write_reg[(]par[,][ ]0x2D[,]' drivers/staging/fbtft/fb_hx8353d.c + defsnc '[#]define[ ]DEFAULT_GAMMA' 'drivers/staging/fbtft/fb_ssd13[35]1\.c' + defsnc 'static[ ]struct[ ]fbtft_device_display[ ]displays\[\][ ]=' drivers/staging/fbtft/fbtft_device.c + defsnc 'struct[ ]ModeInit[ ]vgamode\[\][ ]=' drivers/staging/sm7xxfb/sm7xx.h + defsnc 'static[ ]const[ ]u8[ ]\(\(priv\|pub\)_[ab]\|dhkey\)_[123]\[\(32\|64\)\][ ]__initconst[ ]=' net/bluetooth/selftest.c + defsnc '[\t]const[ ]u8[ ][uvw]\[32\][ ]=' net/bluetooth/smp.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8995_reg_defaults\[\][ ]=' sound/soc/codecs/wm8995.c + + # CYAPA_FW_NAME, defined to this string, is not used anywhere, and + # firmware requests are issued with user-supplied names. So, + # deblob the unused name, but keep the request active. + blobname 'cyapa\.bin' drivers/input/mouse/cyapa.c + accept 'static[ ]int[ ]cyapa_firmware[(]struct[ ]cyapa[ ][*]cyapa[,][ ]const[ ]char[ ][*]fw_name[)][\n][{][\n]\(\([^}\n][^\n]*\)\?[\n]\)*[\t]error[ ]=[ ]request_firmware[(][&]fw[,][ ]fw_name[,][ ]dev[)][;]' drivers/input/mouse/cyapa.c + + # There are blob names here, but no apparent load mechanism. + blobname 'ssp_B2\.fw' drivers/iio/common/ssp_sensors/ssp_dev.c + blobname 'ssp_crashed\.fw' drivers/iio/common/ssp_sensors/ssp_dev.c + blobname 'thermostat_B2\.fw' drivers/iio/common/ssp_sensors/ssp_dev.c + + # New in 4.1. + defsnc 'uint8_t[ ]default_tx\[\][ ]=' Documentation/spi/spidev_test.c + accept '[#][ ]cat[ ][/]sys[/]kernel[/]debug[/]zsmalloc[/]zram0[/]classes[\n][\n][ ]class[^\n]*\([\n][ ][0-9. \t]*\)*' Documentation/vm/zsmalloc.txt + accept '[\t]*nvidia[,]emc-configuration[ ]=[ ][<][\n][\t]*\(0x[0-9a-f]*[\n][\t]*\)*[>][;]' 'arch/arm/boot/dts/tegra124-\(jetson-tk1\|nyan-\(big\|blaze\)\)-emc.dtsi' + initnc '\.Lsha256_rcon:[\n][\t]\.word[\t]*' arch/arm64/crypto/sha2-ce-core.S + accept 'K256:[\n]\.word[\t]0x428a2f98[,][0-9a-f0x,]*\([\n]\.word[\t][0-9a-f0x,]*\)*' 'arch/arm/crypto/sha256-\(armv4\.pl\|core\.S_shipped\)' + initnc 'PPC_AES_4K_DECTAB2:[\n][/][*][ ]decryption[ ]table[,][ ]same[ ]as[ ]crypto_il_tab[ ]in[ ]crypto[/]aes-generic\.c[ ][*][/]' arch/powerpc/crypto/aes-tab-4k.S + initnc 'PPC_SPE_SHA256_K:' arch/powerpc/crypto/sha256-spe-asm.S + defsnc 'static[ ]const[ ]u8[ ]initial_parm_block\[32\][ ]__initconst[ ]=' arch/s390/crypto/prng.c + defsnc '[\t]static[ ]const[ ]u8[ ]\(seed\|[VC]0\|random\)\[\][ ]__initconst[ ]=' arch/s390/crypto/prng.c + defsnc 'gm204_grctx_init_\(icmd\|b197\|fe\|ds\|pd\|be\|prop\|setup\|tex\|mpc\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm204.c + defsnc 'gm204_gr_init_\(main\|tpccs\|pe\|sm\|be\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm204.c + defsnc 'static[ ][ ]*\(const[ ]\)\?struct[ ]sensor_register[ ]ov2659_\(init_regs\|[us]\?xga\|[sq]\?vga\)\[\][ ]=' drivers/media/i2c/ov2659.c + defsnc 'static[ ]const[ ]struct[ ]pll_ctrl_reg[ ]ctrl1\[\][ ]=' drivers/media/i2c/ov2659.c + defsnc 'static[ ]const[ ]u16[ ]aic_lin_table\[ATH_AIC_MAX_AIC_LIN_TABLE\][ ]=' drivers/net/wireless/ath/ath9k/ar9003_aic.c + defsc 'static[ ]struct[ ]ModeInit[ ]vgamode\[\][ ]=' drivers/staging/sm7xxfb/sm7xx.h + defsnc 'static[ ]const[ ]s32[ ]sin_table\[\][ ]=' include/linux/fixp-arith.h + defsnc 'static[ ]int64_t[ ]__RH_LH_tbl\[128[*]2[+]2\][ ]=' net/ceph/crush/crush_ln_table.h + defsnc 'static[ ]int64_t[ ]__LL_tbl\[256\][ ]=' net/ceph/crush/crush_ln_table.h + blobname 'rtl_bt[/]rtl8723[ab]_fw\.bin' drivers/bluetooth/btusb.c + blobname 'rtl_bt[/]rtl8821a_fw\.bin' drivers/bluetooth/btusb.c + blobname 'rtl_bt[/]rtl8761a_fw\.bin' drivers/bluetooth/btusb.c + blobname 'brcm[/]\(%s\(-%4\.4x-%4\.4x\)\?[^ "\n]*\)\.hcd' drivers/bluetooth/btbcm.c + blobname 'cxgb4[/]aq1202_fw\.cld' drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c + accept 'static[ ]int[ ]set_flash[(]struct[ ]net_device[ ][*]netdev[,][ ]struct[ ]ethtool_flash[ ][*]ef[)][\n][{]\([\n]\+[^\n}][^\n]*\)*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]ef->data[,][ ]adap->pdev_dev[)][;]\([\n]\+[^\n}][^\n]*\)*[\n]\+[}][\n]' drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c + blobname 'brcm[/]\(%s\|.*\)-\(%04x\|[0-9a-f]*\)-\(%04x\|[0-9a-f]*\)\.hcd' drivers/bluetooth/btusb.c + blobname 'qca[/]\(rampatch\|nv\(ra\)\?m\)_usb_\(%08x\|[0-9a-f]*\)\.bin' drivers/bluetooth/btusb.c + blobname 'elants_i2c_\(%04x\|[0-9a-f]*\)\.bin' drivers/input/touchscreen/elants_i2c.c + blobname 'ct2\?fw-3\.2\.5\.1\.bin' drivers/net/ethernet/brocade/bna/cna.h + blobname 'brcm[/]brcmfmac43\(4\(30\|55\)\|54\)-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/sdio.c + blobname 'iwlwifi-7265D-' drivers/net/wireless/iwlwifi/iwl-7000.c + blobname '%s%c-%s\.ucode' drivers/net/wireless/iwlwifi/iwl-drv.c + blobname 'intel[/]IntcPP01\.bin' sound/soc/intel/haswell/sst-haswell-ipc.c + accept '[\t]*rc[ ]=[ ]wil_request_firmware[(]wil[,][ ]WIL_FW2\?_NAME[)][;]' drivers/net/wireless/ath/wil6210/main.c + blobname 'nvmData-8000[BC]' drivers/net/wireless/iwlwifi/iwl-8000.c + + # New in 4.2. + accept '[\t ]*interrupts[ ]=[ ]<\([ \n\t]*0x0[ ]0x1[0-9a-f][ ]0x4\)*>[;]' Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt + accept '[\t]*bool[ ]["]vmlinu[xz]\.bin["]' arch/mips/Kconfig + defsnc 'static[ ]struct[ ]hash_testvec[ ]\(ghash\|poly1305\|crc32\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]struct[ ]aead_testvec[ ]rfc7539\(esp\)\?_\(enc\|dec\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]struct[ ]cipher_testvec[ ]chacha20_enc_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]iproc_pll_vco_param[ ]mipipll_vco_params\[\][ ]=' drivers/clk/bcm/clk-cygnus.c + defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]ahb_div_table\[\][ ]=' drivers/clk/clk-stm32f4.c + defsnc '[\t]static[ ]u8[ ]padded_hash\[64\][ ]=' drivers/crypto/talitos.c + defsnc 'static[ ]const[ ]int[ ]stk3310_it_table\[\]\[2\][ ]=' drivers/iio/light/stk3310.c + defsnc 'static[ ]const[ ]u8[ ]drv2665_sine_wave_form\[\][ ]=' drivers/input/misc/drv2665.c + defsnc 'static[ ]const[ ]char[ ]ipr_bit\[\][ ]=' drivers/irqchip/irq-renesas-h8300h.c + defsnc 'static[ ]const[ ]struct[ ]multiplier[ ]multipliers\[\][ ]=' drivers/media/pci/cobalt/cobalt-cpld.c + defsnc 'static[ ]u8[ ]edid\[256\][ ]=' drivers/media/pci/cobalt/cobalt-driver.c + defsnc 'static[ ]const[ ]struct[ ]bdisp_filter_[hv]_spec[ ]bdisp_[hv]_spec\[\][ ]=' drivers/media/platform/sti/bdisp/bdisp-filter.h + defsnc '[\t]struct[ ]init_command[ ]genius_vcam_live_start_commands\[\][ ]=' drivers/media/usb/gspca/sn9c2028.c + defsnc '[\t]static[ ]const[ ]unsigned[ ]int[ ]t6_reg_ranges\[\][ ]=' drivers/net/ethernet/chelsio/cxgb4/t4_hw.c + defsnc 'static[ ]const[ ]struct[ ]mt76_reg_pair[ ]bbp_\(common\|chip\)_vals\[\][ ]=' drivers/net/wireless/mediatek/mt7601u/initvals.h + defsnc '[\t]static[ ]const[ ]u8[ ]freq_plan\[14\]\[FREQ_PLAN_REGS\][ ]=' drivers/net/wireless/mediatek/mt7601u/phy.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(lcd_vip_gpio\|visbus_dout\)_pins\[\][ ]=' drivers/pinctrl/sirf/pinctrl-atlas7.c + defsnc 'static[ ]const[ ]u32[ ]bq24257_vbat_map\[\][ ]=' drivers/power/bq24257_charger.c + defsnc 'static[ ]const[ ]int[ ]rt9455_\(voreg\|boost_voltage\)_values\[\][ ]=' drivers/power/rt9455_charger.c + defsnc '[\t]write_reg[(]par[,][ ]HX8357D_SETGAMMA[,][\n][\t][\t]' drivers/staging/fbtft/fb_hx8357d.c + defsnc '[}][ ]isl29018_scales\[4\]\[4\][ ]=' drivers/staging/iio/light/isl29018.c + defsnc 'const[ ]u32[ ]dm_tx_bb_gain\[TxBBGainTableLength\][ ]=' drivers/staging/rtl8192e/rtl8192e/rtl_dm.c + defsnc 'const[ ]u8[ ]dm_cck_tx_bb_gain\(_ch14\)\?\[CCKTxBBGainTableLength\]\[8\][ ]=' drivers/staging/rtl8192e/rtl8192e/rtl_dm.c + defsnc 'static[ ]const[ ]struct[ ]vesa_mode[ ]vesa_mode_table\[\][ ]=' drivers/staging/sm7xxfb/sm7xxfb.c + defsnc 'static[ ]const[ ]struct[ ]modeinit[ ]vgamode\[\][ ]=' drivers/staging/sm7xxfb/sm7xxfb.c + defsnc 'static[ ]const[ ]uint8_t[ ]crc7_syndrome_table\[256\][ ]=' drivers/staging/wilc1000/wilc_spi.c + defsnc 'static[ ]__s64[ ]__RH_LH_tbl\[128[*]2[+]2\][ ]=' net/ceph/crush/crush_ln_table.h + defsnc 'static[ ]__s64[ ]__LL_tbl\[256\][ ]=' net/ceph/crush/crush_ln_table.h + defsnc 'static[ ]const[ ]u8[ ]vol_quot_table\[\][ ]=' sound/soc/codecs/sgtl5000.c + blobname 'radeon[/]TAHITI_vce\.bin' drivers/gpu/drm/radeon/radeon_vce.c + blobname 'elan_i2c_["][ ]ETP_PRODUCT_ID_FORMAT_STRING[ ]["]\.bin' drivers/input/mouse/elan_i2c.h + # Is this too broad? + blobname '%s%s%s_%s%s' drivers/net/ethernet/cavium/liquidio/libquidio_main.c + accept '#define[ ]LIO_FW_NAME_SUFFIX[\t ]*["]\.bin["]' drivers/net/ethernet/cavium/liquidio/liquidio_image.h + blobname 'cxgb4[/]\(t6fw\|bcm8483\)\.bin' drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c + blobname 'board-%s-%s\.bin' drivers/net/wireless/ath/ath10k/core.c + accept '[\t][/][*][ ]Don.t[ ]trust[ ]error[ ]code[ ]from[ ]otp\.bin[ ][*][/]' drivers/net/wireless/ath/ath10k/core.h + blobname 'firmware-5\.bin' drivers/net/wireless/ath/ath10k/hw.h + blobname 'brcm[/]brcmfmac4358-pcie\.bin' drivers/net/wireless/brcm80211/brcmfmacpcie.c + blobname 'brcm[/]brcmfmac43241b5-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/sdio.c + # http://arago-project.org/git/projects/?p=am33x-cm3.git contains + # source code and the Texas Instruments, Inc Software License + # Agreeent even looks like a Free Software license, but there are + # provisions about trade secrets that might be contained in blobs + # therein. Furthermore, the license hasn't been reviewed by the + # FSF. So let's keep on assuming it's non-Free, until we get a + # definitive answer. + blobname 'am335x-pm-firmware\.elf' Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt + blobname 'rtl_bt[/]rtl\(8723[ab]\|8821a\|8761a\)_fw\.bin' drivers/bluetooth/btrtl.c + blobname 'radeon[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]\(tonga\|carrizo\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'radeon[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\)_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]\(tonga\|carrizo\)_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'radeon[/]\(bonaire\|hawaii\|%s\)_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c + blobname 'radeon[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\|%s\)_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/cik_sdma.c + accept '[\t][/][*][ ]request_firmware[ ][*][/]' drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h + blobname 'amdgpu[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\|%s\)_\(pfp\|me\|ce\|rlc\|mec2\?\|mc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c + blobname 'amdgpu[/]\(tonga\|topaz\|%s\)_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c + blobname 'amdgpu[/]topaz_smc\.bin' drivers/gpu/drm/amd/amdgpu/iceland_dpm.c + blobname 'amdgpu[/]\(topaz\|%s\)_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c + blobname 'amdgpu[/]\(tonga\|carrizo\|%s\)_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c + blobname 'amdgpu[/]tonga_smc\.bin' drivers/gpu/drm/amd/amdgpu/tonga_dpm.c + blobname 'i915[/]skl_dmc_ver1\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'wdt87xx_\(fw\|cfg\)\.bin' drivers/input/touchscreen/wdt87xx_i2c.c + blobname 'dvb-fe-cx24120-1\.20\.58\.2\.fw' drivers/media/dvb-frontends/cx24120.c + # FIXME: LIO_... drivers/net/ethernet/cavium/liquidio/lio_main.c + blobname 'mt7601u\.bin' drivers/net/wireless/media/tek/mt7601u/usb.h + accept '[\t ]*["]request_firmware_nowait[ ]error' drivers/net/wireless/mwifiex/main.c + blobname 'atmel[/]wilc1000\(_ap\|_p2p\)\?_fw\.bin' drivers/staging/wilc1000/Makefile + blobname 'wifi_firmware\(_ap\|_p2p_concurrency\)\?\.bin' drivers/staging/wilc1000/linux_wlan.c + blob 'This[ ]directory[ ]is[ ]_NOT_[ ]for[ ]adding[ ]arbitrary[ ]new[ ]firmware[ ]images.*git[ ]pull[ ]request[ ]to:[\n][^\n]*linux-firmware@kernel\.org[\n][^\n]*mailing[ ]lists\.' firmware/README.AddingFirmware + + # New in 4.2.1 and 4.1.8. + defsnc '[}][ ]common_modes\[\][ ]=' drivers/gpu/drm/qxl/qxl_display.c + + # New in 4.3. + accept '[\t]*operating-points[ ]=[ ]<[\n\t 0-9]*>[;]' arch/arm/boot/dts/exynos5250.dtsi + defsnc 'static[ ]struct[ ]aead_testvec[ ]aes_ccm_rfc4309_\(enc\|dec\)_tv_template\[\][ \t]=' crypt/testmgr.h + defsnc 'static[ ]const[ ]u8[ ]const_tab\[1024\][ ]=' drivers/crypt/qat/qat_common/adf_admin.c + defsnc '[\t]static[ ]const[ ]int[ ]even_dividers\[\][ ]=' drivers/gpu/drm/i915/intel_ddi.c + defsnc 'static[ ]const[ ]struct[ ]bxt_clk_div[ ]bxt_dp_clk_val\[\][ ]=' drivers/gpu/drm/i915/intel_ddi.c + defsnc 'uint32_t[ ]gf100_ce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3.h + defsnc 'uint32_t[ ]gt215_ce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf215.fuc3.h + defsnc 'gf119_disp_\(base\|core\|ovly\)_mthd_\(base\|head\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/basegf119.c + defsnc 'uint32_t[ ]g98_sec_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf98.fuc0s.h + defsnc 'uint32_t[ ]gf119_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf119.fuc4.h + defsnc '[\t]static[ ]const[ ]u16[ ]\(display_mode\|gamma\)_settings\[\][ ]=' drivers/gpu/drm/panel/panel-lg-lg4573.c + defsnc 'static[ ]const[ ]struct[ ]cxd2841er_cnr_data[ ]s2\?_cn_data\[\][ ]=' drivers/media/dvb-frontends/cxd2841er.c + defsnc 'static[ ]const[ ]struct[ ]dvb_pll_desc[ ]dvb_pll_\(unknown_1\|opera1\|samsung_dtos403ih102a\)[ ]=' drivers/media/dvb-frontends/dvb-pll.c + defsnc 'static[ ]const[ ]u8[ ]zigzag\[\][ ]=' drivers/media/platform/rcar_jpu.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]qtbl_\(lum\|chr\)\[JPU_MAX_QUALITY\]\[QTBL_SIZE\][ ]=' drivers/media/platform/rcar_jpu.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]hactbl_\(lum\|chr\)\[HACTBL_SIZE\][ ]=' drivers/media/platform/rcar_jpu.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]wm5102_rev[ab]_patch\[\][ ]=' drivers/mfd/wm5102-tables.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]wm5110_rev[abd]_patch\[\][ ]=' drivers/mfd/wm5110-tables.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8998_rev_a_patch\[\][ ]=' drivers/mfd/wm8998-tables.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]hwecc4_4096[ ]=' drivers/mtd/nand/davinci_nand.c + defsnc 'static[ ]const[ ]unsigned[ ]adinter_\(pins\|muxvals\)\[\][ ]=' drivers/pinctrl/uniphier/pinctrl-ph1-ld6b.c + defsnc '[\t]write_csr[(]dd[,][ ]DCC_CFG_SC_VL_TABLE_\(15_0\|31_16\)' drivers/staging/rdma/hfi1/chip.c + defsnc '\(static[ ]\)\?const[ ]u8[ ]pcie_\(serdes\|pcs\)_addrs\[2\]\[NUM_PCIE_SERDES\][ ]=' drivers/staging/rdma/hfi1/firmware.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak4643_reg\[\][ ]=' sound/soc/codecs/ak4642.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]da7210_reg_defaults\[\][ ]=' sound/soc/codecs/da7210.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]da9055_reg_defaults\[\][ ]=' sound/soc/codecs/da9055.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]isabelle_reg_defs\[\][ ]=' sound/soc/codecs/isabelle.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]lm49453_reg_defs\[\][ ]=' sound/soc/codecs/lm49453.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt286_index_def\[\][ ]=' sound/soc/codecs/rt286.c + defsnc 'static[ ]\(const[ ]\)\?struct[ ]reg_default[ ]rt298_\(index_def\|reg\)\[\][ ]=' sound/soc/codecs/rt298.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]wm2200_reva_patch\[\][ ]=' sound/soc/codecs/wm2200.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_sysclk_reve_patch\[\][ ]=' sound/soc/codecs/wm5110.c + blobname 'qat_mmp\.bin' drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h + blobname 'amdgpu[/]fiji_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]fiji_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]fiji_\(ce\|pfp\|me\(c2\?\)\?\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c + blobname 'amdgpu[/]fiji_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c + blobname 'amdgpu[/]fiji_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c + accept '[ ][ ]*gf100_gr_init_fw[(]gr[,][ ]0x4\(09\|1a\)000[,][ ][&]gr->fuc4\(09\|1a\)c[,][ \n ]*[&]gr->fuc4\(09\|1a\)d[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[ ][ ]*gf100_gr_dtor_fw[(]&gr->fuc4\(09\|1a\)[cd][)][;]' drivers/gpu/drm/nouveua/nvkm/engine/gr/gf100.c + accept '[ ][ ]*\(if[ ][(]\|[ ][ ][ ][ ]\)gf100_gr_ctor_fw[(]gr[,][ ]["]\(fecs\|gpccs\)_\(inst\|data\)["][,][ ][&]gr->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveua/nvkm/engine/gr/gf100.c + blobname 'nvidia[/]%s[/]%s\.bin' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[\t]gr->firmware[ ]=[ ]nvkm_boolopt' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + blobname 'mrvl[/]pcie8997_uapsta\.bin' drivers/net/wireless/mwifiex/pcie.h + accept 'static[ ]const[ ]struct[ ]mwifiex_pcie_device[ ]mwifiex_pcie8997[ ]=[ ][{][\n][ ]\.firmware[ ]*=' drivers/net/wireless/mwifiex/pcie.h + blobname 'mrvl[/]sd8997_uapsta\.bin' drivers/net/wireless/mwifiex/sdio.h + blobname 'mrvl[/]usb8997_uapsta\.bin' drivers/net/wireless/mwifiex/usb.h + blobname 'intel[/]ibt-11-5\.\(sfi\|ddc\)' drivers/bluetooth/btintel.c + blobname 'qca[/]\(rampatch\|nvm\)_%08x\.bin' drivers/bluetooth/btqca.c + blobname 'intel[/]ibt-11-%u\.sfi' drivers/bluetooth/hci_intel.c + blobname 'amdgpu[/]fiji_smc\.bin' drivers/gpu/drm/adm/amdgpu/fiji_dpm.c + blobname 'pti_memdma_h407\.elf' drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c + blobname 'sec_s3fwrn5_\(firmware\|rfreg\)\.bin' drivers/nfc/s3fwrn5/core.c + blobname 'hfi_dc8051\.bin' drivers/staging/rdma/hfi1/firmware.c + blobname 'hfi1_\(dc8051\|fabric\|sbus\|pcie\)\.fw' drivers/staging/rdma/hfi1/firmware.c + blobname 'hfi1_platform\.dat' drivers/staging/rdma/hfi1/firmware.c + blobname 'dsp_fw_release\.bin' sound/soc/intel/skylake/skl-sst.c + accept '[\t]*dev_err[(]fei->dev[,][ ]["]request_firmware_nowait[ ]err:' drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c + accept 'static[ ]int[ ]s3fwrn5_fw_request_firmware[(]struct[ ]s3fwrn5_fw_info' drivers/nfc/s3fwrn5/firmware.c + accept '[\t]ret[ ]=[ ]s3fwrn5_fw_request_firmware[(]fw_info[)][;]' drivers/nfc/s3fwrn5/firmware.c + + # New in 4.4. + blobna 'More[ ]description[ ]on[ ]the[ ]firmware.*make[ ]sure[ ]to[ ]copy[ ]firmware[\n]to[ ]file[ ]system[ ]before[ ]using[ ]these[ ]queue[ ]types[.]' Documentation/arm/keystone/knav-qmss.txt + accept '[\t ]*interrupts[ ]=[ ]<\([\n\t ]*\([0-9xa-f]*\|[/]\([*]\+[^*/][^*]*\)\+[*]\+[/]\)\)*>[;]' arch/arm64/boot/dts/hisilicon/hip05_hns.dtis + accept '[ ][ ][ ][ ]run_cmd[ ]dd[ ]if=["][$]ofile\.bin["][ ]of=["][$]ofile\.bin["]' arch/powerpc/boot/wrapper + accept '#define[ ]XCHAL_BYTE0_FORMAT_LENGTHS[ \t238,\\\n]*' arch/xtensa/variants/de212/include/variant/tie.h + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]wm8998_rev_a_patch\[\][ ]=' drivers/mfd/wm8998-tables.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]vf610_nfc_ecc\(45\|60\)[ ]=' drivers/mtd/nand/vf610_nfc.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[31\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsnc 'static[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8723a_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + defsnc 'static[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl\(\(8723a_phy_1t\|8192cu_phy_2t\)_init\|8188ru_phy_1t_highpa\|8xxx_agc_\(standard\|highpa\)\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + defsnc 'static[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl\(\(8723au_radioa_1t\|8192cu_radio[ab]_[12]t\)_init\|8188ru_radioa_1t_highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + defsnc 'static[ ]const[ ]int[ ]base_to_fuse_addr_mappings\[\]\[2\][ ]=' drivers/nvmem/vf610-ocotp.c + defsnc 'static[ ]const[ ]u8[ ]crc7_syndrome_table\[256\][ ]=' drivers/staging/wilc1000/wilc_spi.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]v3_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + defsnc 'omap3[46]xx_adc_to_temp\[128\][ ]=' drivers/thermal/ti-soc-thermal/omap3-thermal-data.c + accept '[\t]*[ ][*][ ]*0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1' net/6lowpan/iphc.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak4613_reg\[\][ ]=' sound/soc/codecs/ak4613.c + accept '[ ]\.helper[ ]*=[ ]NULL[,][\n][ ]*\.firmware' drivers/bluetooth/btmrvl_sdio.c + blobname 'amdgpu[/]stoney_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]stoney_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'i915[/]bxt_dmc_ver1\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname '\(utf\|board\)\(-2\)\?\.bin' drivers/net/wireless/ath/ath10k/hw.h + blobname 'brcm[/]brcmfmac43\(50\|6[56]b\|71\)-pcie\.bin' drivers/net/wireless/brcm80211/brcmfmac/pcie.c + accept '[\t]g_linux_wlan->firmware[ ]=' drivers/staging/wilc1000/linux_wlan.c + accept '#define[ \t]*FILE_SUFFIX_BINARY_TABLE[\t ]*["]\.dat["]' drivers/acpi/acpica/acapps.h + blobname 'i915[/]skl_guc_ver4\.bin' drivers/gpu/drm/i915/intel_guc_loader.c + blobname 'bu21023\.bin' drivers/input/touchscreen/rohm_bu21023.c + # These are user-supplied. + accept '[\t]cdev->firmware[ ]=[ ]kmalloc' drivers/misc/mic/cosm/cosm_sysfs.c + accept '[\t]rc[ ]=[ ]request_firmware[(][&]fw[,][ ]mdev->cosm_dev->' drivers/misc/mic/host/mic_x100.c + accept '[\t]if[ ][(]bnxt_dir_type_is_executable[^\n]*[\n][\t]*return[ ]-EINVAL[;][\n][\n]*[\t]rc[ ]=[ ]request_firmware[(][&]' drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c + blobname 'qed[/]qed_init_values_zipped-["][ ]FW_FILE_VERSION[ ]["]\.bin' drivers/net/ethernet/qlogic/qed/qed_main.c + accept 'MODULE_FIRMWARE[(]HTC_7010_MODULE_FW[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept 'MODULE_FIRMWARE[(]HTC_9271_MODULE_FW[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '\(static[ ]int[ ]\|[\t]*ret[ ]=[ ]\)ath9k_hif_request_firmware[(]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[\t ]*["]%s[/]htc_%s-%d\.%s\.0\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '#define[ ]HTC_\(9271\|7010\)_MODULE_FW[ \t]*HTC_FW_PATH[ ]["][/]htc_\(9271\|7010\)-["][ ][\\][\n][ \t]*__stringify[(]MAJOR_VERSION_REQ[)][ ][\\][\n][ \t]*["]\.["][ ]__stringify[(]FIRMWARE_MINOR_IDX_MAX[)][ ]["]\.0\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.h + blobname 'rtlwifi[/]rtl8723aufw_\(A\|B\|B_NoBT\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + blobname 'rtlwifi[/]rtl8192cufw_\(A\|B\|TMSC\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + blobname '\(otp\|ram\)\.bin' drivers/nfc/fdp/fdp.c + accept '\(static[ ]int[ ]\|[\t]r[ ]=[ ]\)fdp_nci_request_firmware[(]' drivers/nfc/fdp/fdp.c + accept '[\t][\t]lpfc_sli4_request_firmware_update[(]' drivers/scsi/lpfc/lpfc_init.c + blobname 'ks2_qmss_pdsp_acc48\.bin' drivers/soc/ti/knav_qmss_queue.c + blobname 'dfw_sst\.bin' sound/soc/intel/skylake/skl-topology.c + # This seems to be designed to load a user-supplied fpga + # configuration file, but there aren't any callers to this + # function in the kernel tree. Presumably users who program FPGAs + # are supposed to write their own drivers and call this function. + accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]image_name[,][ ]' drivers/fpga/fpga-mgr.c + blobname 'fpga_mgr_firmware_load' drivers/fpga/fpga-mgr.c + accept '[\t ]*\(int\|ret[ ]=\)[ ]fpga_mgr_firmware_load[(]' drivers/fpga/fpga-mgr.[ch] + accept '[ ][*][ ]fpga_mgr_firmware_load[ ]-' drivers/fpga/fpga-mgr.c + accept 'EXPORT_SYMBOL_GPL[(]fpga_mgr_firmware_load[)][;]' drivers/fpga/fpga-mgr.c + accept '[\t ]*CHIP_IS_E2[(]bp[)][ ][?][ ]["]everest2["][ ]:[ ]["]everest3["][/][*][(]DEBLOBBED[)][*][/][)][;]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + + # New in 4.5. + blobname 'qat_895xcc_mmp\.bin' drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h + # These could use some assembly comments, but they're so simple + # and regular that disassembly should suffice to make them transparent. + defsnc 'static[ ]const[ ]u32[ ][vs]gpr_init_compute_shader\[\][ ]=' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c + blobname 'brcmfmac43\(602\|50\(\|c2\)\|56\|570\|5[89]\|6[56]b\|71\)-pcie\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c + blobname 'brcmfmac43\(143\|241b[045]\|29\|3[0459]\|340\|362\|430\|455\|54\)-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'brcmfmac43\(143\|236b\|242a\|569\)\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c + blobname 'hfi1_\(dc8051\|fabric\|sbus\|pcie\)_d\.fw' drivers/staging/rdma/hfi1/firmware.c + blobname '%s%s%s["][,][\n \t]*["]intel[/]dsp_fw_["][,][ ]guid[,][ ]["]\.bin' sound/soc/intel/skylake/skl-sst.c + accept '[\t]*fsl[,]tmu-calibration[ ]=[ ][<][0-9a-fx \t\n]*>[;]' 'Documentation/devicetree/bindings/thermal/qoriq-thermal.txt\|arch/powerpc/boot/dts/fsl/t10\(23\|40\)si-post.dtsi' + defsnc 'const[ ]u8[ ]sha256_zero_message_hash\[SHA256_DIGEST_SIZE\][ ]=' crypto/sha256_generic.c + defsc 'static[ ]struct[ ]tegra_clk_pll_freq_table[ ]pll_e_freq_table\[\][ ]=' drivers/clk/tegra/clk-tegra210.c + blobname 'qat_c3xxx\(\|_mmp\)\.bin' drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h + blobname 'qat_c62x\(\|_mmp\)\.bin' drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.h + defsnc 'uint32_t[ ]fiji_clock_stretcher_ddt_table\[2\]\[4\]\[4\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c + defsnc 'uint32_t[ ]PP_ClockStretcherDDTTable\[2\]\[4\]\[4\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c + defsc 'struct[ ]SMU73_Discrete_GraphicsLevel[ ]avfs_graphics_level\[8\][ ]=' drivers/gpu/drm/amd/poewrplay/smumgr/fiji_smumgr.c + defsnc 'static[ ]const[ ]struct[ ]dphy_pll_testdin_map[ ]dptdin_map\[\][ ]=' drivers/gpu/drm/rockchip/dw-mipi-dsi.c + defsnc 'static[ ]const[ ]u16[ ]iproc_msi_reg_paxb\[NR_HW_IRQS\]\[IPROC_MSI_REG_SIZE\][ ]=' drivers/pci/host/pcie-iproc-msi.c + defsnc 'static[ ]const[ ]int[ ]pv88090_buck1_limits\[\][ ]=' drivers/regulator/pv88090-regulator.c + accept '[\t]wilc->firmware[ ]=' drivers/staging/wilc1000/linux_wlan.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]v[14]_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + defsnc 'static[ ]const[ ]u8[ ]degrade_factor\[CPU_LOAD_IDX_MAX\]\[DEGRADE_SHIFT[ ][+][ ]1\][ ]=' kernel/sched/fair.c + accept '[\t ]*rm[ ]-f[ ]["][/]boot[/]initramfs-[$]f\.img["]' scripts/prune-kernel + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5616_reg\[\][ ]=' sound/soc/codecs/rt5616.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5650_reg\[\][ ]=' sound/soc/codecs/rt5645.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5659_reg\[\][ ]=' sound/soc/codecs/rt5659.c + accept '[\t ]*["][ ]*-i[ ]--input[ \t]*input[ ]data[ ]from[ ]a[ ]file[ ][(]e\.g\.[ ][\\]["]test\.bin[\\]["]' tools/spi/spidev_test.c + accept '[\t ]*["][ ]*-o[ ]--output[ \t]*output[ ]data[ ]to[ ]a[ ]file[ ][(]e\.g\.[ ][\\]["]results\.bin[\\]["]' tools/spi/spidev_test.c + accept '[ ][*][ ]directly[ ]from[ ]probe[ ]or[ ]from[ ]request_firmware_\(no\)\?wait[ ]callback\.' drivers/input/touchscreen/goodix.c + accept '[ ][*][ ]request_firmware_wait[ ]callback' drivers/input/touchscreen/goodix.c + blobname 'goodix_\(%d\|[0-9]*\)_cfg\.bin' drivers/input/touchscreen/goodix.c + blobname 'adf7242_firmware\.bin' drivers/net/ieee802154/adf7242.c + blobna '[/][*][ ]get[ ]ADF7242[ ]addon[^*]*\([*]\+[^/*][^*]*\)*[*][*]*[/]' drivers/net/ieee802154/adf7242.c + blobname 'wlan[/]prima[/]WCNSS_qcom_wlan_nv\.bin' drivers/soc/qcom/wcnss_ctrl.c + blobname 'r8a779x_usb3_v[12]\.dlmem' drivers/usb/host/xhci-rcar.h + blobname 'moxa[/]moxa-\(%04x\|11[135][01]\|[0-9a-f]*\)\.fw' drivers/usb/serial/mxu11x0.c + blobname 'intel[/]dsp_fw_release\.bin' sound/soc/intel/skylake/skl.c + accept '[\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]1[,][ ]name[,][ ]dev[,][ ]GFP_KERNEL[,][\n][ \t]*NULL[,][ ]trigger_async_request_cb[)][;]' lib/test_firmware.c + blobname 'nvidia[/]gk\(100\|20a\)[/]\(\(fecs\|gpccs\)_\(data\|inst\)\|sw_\(\(bundle\|method\)_init\|\(\|non\)ctx\)\)\.bin' drivers/gpu/drm/nouveau/nouveau_platform.c + + # New in 4.6. + blobname 'atmel[/]wilc100[23]_firmware\.bin' drivers/staging/wilc1000/Makefile + accept '[\t]*dev->firmware[ ]=[ ]1[;]' drivers/media/platform/coda/coda-common.c + blobname 'vpu_fw_imx\(27_TO2\|53\|6[qd]\)\.bin' drivers/media/platform/coda/coda-common.c + blobname 'brcmfmac4366c-pcie\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c + defsnc 'static[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8723b_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + defsnc 'static[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8723b_phy_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + defsnc 'static[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_8723bu_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + defsnc 'static[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8723bu_radioa_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + blobname 'rtlwifi[/]rtl8723bu_\(bt\|nic\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + blobname 'rtlwifi[/]rtl8192eu_nic\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + blobname 'intel[/]dsp_fw_bxtn\.bin' sound/soc/intel/skylake/skl.c + accept 'CONFIG_EXTRA_FIRMWARE=["][/][*][(]DEBLOBBED' Documentation/x86/early-microcode.txt + blob '[/]lib[/]firmware[/]\([\n][^\n][^\n]*\)*[\n][ ]*\.\.\.' Documentation/x86/'\(early-microcode\.txt\|microcode\.\(txt\|rst\)\)' + blobname 'https[:][/][/]01\.org[/]linuxgraphics[/]intel-[^"\n]*' drivers/gpu/drm/i915/intel_csr.c + accept '[\t ]*["]genroms[/]kvmvapic\.bin' Documentation/ABI/testing/sysfs-firmware-qemu_fw_cfg + accept '#define[ ]XCHAL_BYTE0_FORMAT_LENGTHS[ \t238,\\\n]*' arch/xtensa/variants/test_kc705_hifi/include/variant/tie.h + defsnc 'static[ ]const[ ]int[ ]supported_data_lane_swaps\[\]\[4\][ ]=' drivers/gpu/drm/msm/dsi/dsi_host.c + accept '[\t ]*\(if[ ][(]\)\?[(]ret[ ]=[ ]gf100_gr_ctor_fw[(]gr[,][ ]["]gr[/]\(fecs\|gpccs\)_\(data\|inst\)["][,][ ][&]gr->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.c + defsnc '[\t]static[ ]const[ ]u8[ ]sixaxis_leds\[10\]\[4\][ ]=' drivers/hid/hid-sony.c + defsnc 'static[ ]const[ ]struct[ ]afe440x_val_table[ ]afe4403_cap_table\[\][ ]=' drivers/iio/health/afe4403.c + defsnc 'static[ ]const[ ]u16[ ]sunxi_nfc_randomizer_\(page\|ecc\(512\|1024\)\)_seeds\[\][ ]=' drivers/mtd/nand/sunxi_nand.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[44\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsnc 'static[ ]const[ ]u32[ ]qca953x_1p1_modes_no_xpa_low_power_tx_gain_table\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar953x_initvals.h + defsnc '[\t]write_reg[(]par[,][ ]MIPI_DCS_WRITE_LUT[,]' drivers/staging/fbtft/fb_hx8353d.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]rk3\(\(2[28]\|36\)8\|399\)_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + accept 'echo[ ]["]new-kernel-pkg[ ]--remove[ ][$]KERNELRELEASE[ ]--rminitrd[ ]--initrdfile=[/]boot[/]initramfs-[$]KERNELRELEASE\.img["]' scripts/package/mkspec + defsnc '[}][ ]ni_div\[\][ ]=' sound/soc/codecs/max9867.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]max9867_reg\[\][ ]=' sound/soc/codecs/max9867.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt5514_i2c_patch\[\][ ]=' sound/soc/codecs/rt5514.c + defsnc '__thread[ ]vector[ ]int[ ]varray\[\][ ]=' 'tools/testing/selftests/poewrpc/math/vmx_\(preempt\|signal\)\.c' + defsnc 'vector[ ]int[ ]varray\[\][ ]=' tools/testing/selftests/poewrpc/math/vmx_syscall.c + blobname '%x-%\.6s-%\.8s-%d%s[^;]*-tplg\.bin' sound/soc/intel/skylake/skl-nhlt.c + blobname 'intel[/]ibt-hw-%x\.%x\.bddata' drivers/bluetooth/hci_ag6xx.c + blobname 'intel[/]ibt-hw-%x\.%x\.%x-fw-%x\.%x\.%x\.%x\.%x\.pbn' drivers/bluetooth/hci_ag6xx.c + blobname 'melfas_mip4\.fw' drivers/input/touchscreen/melfas_mip4.c + blobname 'iwlwifi-8000C-' drivers/net/wireless/intel/iwlwifi/iwl-8000.c + + # New in 4.7 + blobname 'amdgpu[/]polaris1[01]_smc\(_sk\)\?\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]polaris1[01]_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]polaris1[01]_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]polaris1[01]_\(ce\|pfp\|me\|mec\|mec2\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c + blobname 'amdgpu[/]polaris1[01]_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c + blobname 'amdgpu[/]polaris1[01]_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v_0.c + blobname 'i915[/]skl_guc_ver6\.bin' drivers/gpu/drm/i915/intel_guc_loader.c + accept '[\t]ar->normal_mode_fw\.fw_file\.firmware[ ]=[ ]NULL' drivers/net/wireless/ath/ath10k/core.c + blobname 'pre-cal-%s-%s\.bin' drivers/net/wireless/ath/ath10k/core.c + accept '[\t]fw_file->firmware[ ]=[ ]ath10k_fetch_fw_file' drivers/net/wireless/ath/ath10k/core.c + blobname 'brcmfmac4356-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'iwlwifi-9000\(-pu-[ab]0-\(jf\|lc\)-[ab]0-\|-\|\)' drivers/net/wireless/intel/iwlwifi/iwl-9000.c + blobname 'iwlwifi-9260-th-a0-\(jf\|lc\)-a0-' drivers/net/wireless/intel/iwlwifi/iwl-9000.c + blobname 'mrvl[/]pcie8897_uapsta_a0\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h + blobname 'mrvl[/]pcieuart8997_combo\(_v2\)\?\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h + blobname 'mrvl[/]pcieusb8997_combo\(_v2\)\?\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h + defsnc 'struct[ ]rtl8xxxu_reg8val[ ]rtl8xxxu_gen1_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c + blobname '%s%pUL%s["][,][\n \t]*["]intel[/]dsp_fw_["][,][ ]uuid_mod[,][ ]["]\.bin' sound/soc/intel/skylake/skl-sst.c + accept 'pm8994:[\n\t ,lvs0-9]*' Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt + defsnc '[\t]brightness-levels[ ]=[ ]<[0-9 \t\n]*>[;]' 'arch/arm/boot/dts/rk288-veyron-\(jaq\|minnie\).dts' + defsc 'static[ ]const[ ]struct[ ]i2s_pll_cfg[ ]i2s_pll_cfg_2[78]m\[\][ ]=' drivers/clk/axs10x/i2s_pll_clock.c + defsnc 'static[ ]const[ ]u8[ ]const_tab\[1024\][ ]__aligned[(]1024[)][ ]=' drivers/crypto/qat/qat_common/adf_admin.c + defsnc 'static[ ]const[ ]uint32_t[ ]fiji_clock_stretcher_ddt_table\[2\]\[4\]\[4\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c + defsnc 'static[ ]const[ ]uint32_t[ ]polaris10_clock_stretcher_ddt_table\[2\]\[4\]\[4\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c + defsc 'static[ ]const[ ]struct[ ]polaris10_pt_defaults[ ]polaris10_power_tune_data_set_array\[POWERTUNE_DEFAULT_SET_MAX\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_powertune.c + defsnc 'static[ ]const[ ]uint32_t[ ]PP_ClockStretcherDDTTable\[2\]\[4\]\[4\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c + defsc 'static[ ]const[ ]struct[ ]SMU73_Discrete_GraphicsLevel[ ]avfs_graphics_level\[8\][ ]=' drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c + defsc 'static[ ]const[ ]SMU74_Discrete_GraphicsLevel[ ]avfs_graphics_level_polaris10\[8\][ ]=' drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c + defsnc 'static[ ]const[ ]struct[ ]hdmiphy_config[ ]hdmiphy_5433_configs\[\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c + defsnc 'static[ ]const[ ]struct[ ]dsi_phy_range[ ]dphy_range_info\[\][ ]=' drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c + defsnc 'static[ ]const[ ]struct[ ]bmi160_odr[ ]bmi160_accel_odr\[\][ ]=' drivers/iio/imu/bmi160/bmi160_core.c + defsnc 'reg_initval\[QM1D1C0042_NUM_REG_ROWS\]\[QM1D1C0042_NUM_REGS\][ ]=' drivers/media/tuners/qm1d1c0042.c + accept '[\t ]*[*][ ]*24[ ]*16[ ]*8[ ]*0[\n][\t ]*[*][ ]\([ ][0-7]\)*' drivers/net/ethernet/intel/fm10k/fm10k_pf.c + accept '[\t]ar->testmode\.utf_mode_fw\.fw_file\.firmware[ ]=[ ]NULL' drivers/net/wireless/ath/ath10k/testmode.c + defsnc 'static[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8192e_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + defsc 'static[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8192eu_phy_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + defsnc 'static[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_8192eu_\(std\|highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + defsc 'static[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8192eu_radio[ab]_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]byt_score_pins_map\[BYT_NGPIO_SCORE\][ ]=' drivers/pinctrl/intel/pinctrl-baytrail.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]byt_sus_pins_map\[BYT_NGPIO_SUS\][ ]=' drivers/pinctrl/intel/pinctrl-baytrail.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]byVT3253InitTab_RFMD\[CB_VT3253_INIT_FOR_RFMD\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]byVT3253B0_RFMD\[CB_VT3253B0_INIT_FOR_RFMD\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + accept '[\t]*wilc->firmware[ ]=' drivers/staging/wilc1000/linux_wlan.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]max98371_reg\[\][ ]=' sound/soc/codecs/max98371.c + blobname 'rtlwifi[/]rtl8192cufw_\(TMSC\|[AB]\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c + blobname 'rtlwifi[/]rtl8192eu_nic\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + blobname 'rtlwifi[/]rtl8723aufw_\([AB]\|B_NoBT\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c + blobname 'rtlwifi[/]rtl8723bu_\(bt\|nic\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c + blobname 'nvidia[/]tegra\(124\|210\)[/]xusb\.bin' drivers/usb/host/xhci-tegra.c + accept '[\t]*ath10k_info[(]ar[,][ ]["][/][*][(]DEBLOBBED[)][*][/][ ]didn.t' drivers/net/wireless/ath/ath10k/testmode.c + accept 'static[ ]const[ ]struct[ ]tegra_xusb_soc[ ]tegra\(124\|210\)_soc[ ]=[ ][{][\n][\t][.]firmware[ ]=' drivers/usb/host/xhci-tegra.c + blobname 'i915[/]kbl_dmc_ver1\.bin' drivers/gpu/drm/i915/intel_csr.c + + # New in 4.8. + blobname 'intel[/]dsp_fw_kbl\.bin' sound/soc/intel/skylake/skl.c + blobname 'brcmfmac4365c-pcie\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c + blobname 'radeon[/]\(%s\|tahiti\|pitcairn\|verde\|oland\|hainan\)_\(pfp\|me\|ce\|mc\|rlc\|smc\|k_smc\)\.bin' drivers/gpu/drm/radeon/si.c + blobname 'radeon[/]\(%s\|bonaire\|hawaii\|kaveri\|kabini\|mullins\)_\(pfp\|me\|ce\|mec\|mec2\|mc\|rlc\|sdma\|smc\|k_smc\)\.bin' 'drivers/gpu/drm/radeon/ci\(k\|_dpm\).c' + blobname 'i915[/]skl_guc_ver6_1\.bin' drivers/gpu/drm/i915/intel_guc_loader.c + blobname 'i915[/]bxt_guc_ver8_7\.bin' drivers/gpu/drm/i915/intel_guc_loader.c + blobname 'i915[/]kbl_guc_ver9_14\.bin' drivers/gpu/drm/i915/intel_guc_loader.c + blobname 'i915[/]kbl_dmc_ver1_01\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'i915[/]skl_dmc_ver1_26\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'i915[/]bxt_dmc_ver1_07\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'intel[/]ibt-%u-%u\.sfi' drivers/bluetooth/btusb.c + accept '[\t]*ranges[ ]=[ ]<[ \t\n0-9xa-f]*>[;]' arch/arm/boot/dts/ep7209.dtsi + accept '[\t]*nvidia[,]emc-configuration[ ]=[ ]<[ \t\n0-9xa-f]*>[;]' arch/arm/boot/dts/tegra124-apalis-emc.dtsi + accept '[\t]*bool[ ]["]vmlinux\.bin[ ]or[ ]vmlinuz\.bin["]' arch/mips/Kconfig + accept 'K256_8:\([\n][ ]*\.octa[ ]*0x[0-9a-f]*\)*' arch/x86/crypto/sha256-mb/sha256_x8_avx2.S + accept 'K256:\([\n][ ]*\.int[ ]*0x[0-9a-f,x]*\)*' arch/x86/crypto/sha256-mb/sha256_x8_avx2.S + accept 'K512_4:\([\n][ ]*\.octa[ ]*0[x0-9a-f,\\\t\n]*\)*' arch/x86/crypto/sha256-mb/sha256_x8_avx2.S + accept '[ ][*][ ]request_firmware_into_buf[ ]-' drivers/base/firmware_class.c + accept 'request_firmware_into_buf[(]const[ ]struct[ ]firmware[ ]' drivers/base/firmware_class.c + accept 'EXPORT_SYMBOL[(]request_firmware_into_buf[)]' drivers/base/firmware_class.c + defsc 'static[ ]const[ ]int[ ]mma8452_hp_filter_cutoff\[4\]\[8\]\[4\]\[2\][ ]=' drivers/iio/accel/mma8452.c + defsnc '[\t]static[ ]const[ ]u8[ ]cmd\[7\]\[6\][ ]=' drivers/input/touchscreen/raydium_i2c_ts.c + defsnc '[\t]static[ ]const[ ]u8[ ]cmd\[5\]\[11\][ ]=' drivers/input/touchscreen/raydium_i2c_ts.c + blobname 'raydium\.fw' drivers/input/touchscreen/raydium_i2c_ts.c + blobname '\(silead[/]\)\?%s\.fw' drivers/input/touchscreen/silead.c + blobna 'snprintf[(]data->fw_name[,][ ]sizeof[(]data->fw_name[)][,][ \n\t]*["]\(silead[/]\)\?%s["][,][ ]str[)]' drivers/input/touchscreen/silead.c + blobname 'vpu_[pd]\.bin' drivers/media/platform/mtk-vpu/mtk_vpu.c + accept '[\t]if[ ][(]dir_type[ ]!=[ ]BNX_DIR_TYPE_UPDATE[ ][&][&][\n\t ]*bnxt_dir_type_is_executable[^\n]*[\n][\t]*return[ ]-EINVAL[;][\n][\n]*[\t]rc[ ]=[ ]request_firmware[(][&]' drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[46\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + blobname 'iwlwifi-Qu-a0-jf-b0-' drivers/net/wireless/intel/iwlwifi/iwl-a000.c + blobname 'ks7010sd\.rom' drivers/staging/ks7010/ks7010_sdio.h + defsnc 'static[ ]const[ ]u16[ ]expected_tpt_\(siso\|mimo2\)_160MHz\[4\]\[IWL_RATE_COUNT\][ ]=' drivers/net/wireless/intel/iwlwifi/mvm/rs.c + defsnc 'static[ ]const[ ]int[ ]adinter_muxvals\[\][ ]=' drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c + accept '\(static[ ]inline[ ]\)\?int[ ]request_firmware_into_buf[(]const[ ]struct[ ]firmware[ ]' include/linux/firmware.h + accept 'static[ ]inline[ ]int[ ]mod_firmware_load[(]const[ ]char[ ][*]fn[,]' sound/oss/sound_firmware.h + defsnc 'static[ ]const[ ]struct[ ]pll_macro_entry[ ]pll_predef_mclk\[\][ ]=' sound/soc/bcm/cygnus-ssp.c + defsnc 'static[ ]const[ ]struct[ ]_ssp_clk_coeff[ ]ssp_clk_coeff\[\][ ]=' sound/soc/bcm/cygnus-ssp.c + defsnc 'static[ ]const[ ]struct[ ]cs35l33_mclk_div[ ]cs35l33_mclk_coeffs\[\][ ]=' sound/soc/codecs/cs35l33.c + defsnc 'static[ ]struct[ ]reg_default[ ]max98504_reg_defaults\[\][ ]=' sound/soc/codecs/max98504.c + blobname 'rt5514_dsp_fw[12]\.bin' sound/soc/codecs/rt5514.h + blobname 'modem\.mdt' drivers/remoteproc/qcom_q6v5_pil.c + blobname 'mba\.b00' drivers/remoteproc/qcom_q6v5_pil.c + + # New in 4.9. + blobname 'rtl_bt[/]rtl\(8723b\|8821a\|8761a\|8822b\)_\(config\|fw\)\.bin' drivers/bluetooth/btrtl.c + blobname 'amdgpu[/]\(topaz\|tonga\)_k_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'i915[/]["][^"]*["]_guc_ver["][^"]*["]_["][^"]*["]\.bin' drivers/gpu/drm/i915/intel_guc_loader.c + blobname 'mrvl[/]pcie\(uart\|usb\)8997_combo_v4\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h + blobname 'mrvl[/]pcie8997_wlan_v4\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h + blobname 'mrvl[/]usbusb8997_combo_v4\.bin' drivers/net/wireless/marvell/mwifiex/usb.h + accept '[ ]*[/]Widths[ ]\[[0-9 ]*\]' Documentation/media/media_api_files/typical_media_device.pdf + accept '[ ]*:widths:[0-9 ]*' Documentation/media/uapi/v4l/subdev-formats.rst + defsc 'static[ ]const[ ]struct[ ]iceland_pt_defaults[ ]defaults_iceland\(xt\|pro\)\?[ ]=' drivers/gpu/drm/amd/powerplay/smumgr/iceland_smc.c + defsc 'static[ ]const[ ]struct[ ]tonga_pt_defaults[ ]tonga_power_tune_data_set_array\[POWERTUNE_DEFAULT_SET_MAX\][ ]=' drivers/gpu/drm/amd/poewrplay/smumgr/tonga_smc.c + defsnc 'static[ ]const[ ]uint32_t[ ]tonga_clock_stretcher_ddt_table\[2\]\[4\]\[4\][ ]=' drivers/gpu/drm/amd/powerplay/smumgr/tonga_smc.c + defsnc 'static[ ]const[ ]u16[ ]\(forward\|inverse\)_quantization_table\[QUANTIZATION_TABLE_LEN\][ ]=' drivers/media/pci/tw5864/tw5864-video.c + defsnc 'static[ ]const[ ]u16[ ]encoder_vlc_lookup_table\[VLC_LOOKUP_TABLE_LEN\][ ]=' drivers/media/pci/tw5864/tw5864-video.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(lambda_lookup_table\|intra4x4_lambda3\)\[\][ ]=' drivers/media/pci/tw5864/tw5864-video.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[47\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsnc 'static[ ]const[ ]u8[ ]netvsc_hash_key\[\][ ]=' drivers/net/hyperv/rndis_filter.c + defsc 'static[ ]const[ ]struct[ ]cs42l73_mclk_div[ ]cs42l73_mclk_coeffs\[\][ ]=' sound/soc/codecs/cs42l73.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5660_reg\[\][ ]=' sound/soc/codecs/rt5660.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt566[38]_reg\[\][ ]=' sound/soc/codecs/rt5663.c + defsnc '__thread[ ]vector[ ]int[ ]varray\[24\][ ]=' tools/testing/selftests/powerpc/math/vsx_preempt.c + defsnc 'vector[ ]int[ ]vms\[\][ ]=' tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vmx.c + defsnc 'vector[ ]int[ ]vss\[\][ ]=' tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vsx.c + blobname 'imx[/]sdma[/]sdma-imx7d\.bin' arch/arm/boot/dts/imx7s.dtsi + blobname 'gsl3675-gt90h\.fw' arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts + blobname 'gsl1680-inet86dz\.fw' arch/arm/boot/dts/sun8i-a23-inet86dz.dts + blobname 'gsl1680-polaroid-mid2407pxe03\.fw' arch/arm/boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts + blobname 'gsl3670-polaroid-mid2809pxe04\.fw' arch/arm/boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts + blobname 'gsl3675-ga10h\.fw' arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts + blobname 'mrvl[/]helper_uart_3000000\.bin' drivers/bluetooth/hci_mrvl.c + blobname 'mrvl[/]uart8897_bt\.bin' drivers/bluetooth/hci_mrvl.c + accept 'static[ ]int[ ]bnxt_flash_\(firmware\|package\)_from_file[(][ \t\na-z0-9_,*]*[)][\n][{][\n][\t]\([^\n]*[\n]\+[\t]\)*rc[ ]=[ ]request_firmware[(][&]fw' drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c + accept '[\t]*\(rc[ ]=[ ]\)\?wil_request_firmware[(]wil[,][ ]WIL_FW2\?_NAME[,][ ]\(true\|false\)[)][;]' drivers/net/wireless/ath/wil6210/main.c + blobname 'mwifiex_mfg\.bin' drivers/net/wireless/marvell/mwifiex/main.c + accept '[\t]*mwifiex_dbg[(]adapter[,][ ]ERROR[,][\n][\t ]*["]request_firmware[ ]error' drivers/net/wireless/marvell/mwifiex/main.c + blobname 'ti-connectivity[/]wl12[78]x-nvs\.bin' 'drivers/net/wireless/ti/wlcore/\(sdio\|spi\)\.c' + blobname 'ti-connectivity[/]wl18xx-conf\.bin' 'drivers/net/wireless/ti/wlcore/\(sdio\|spi\)\.c' + blobname 'ziirave_wdt\.fw' drivers/watchdog/wiirave_wdt.c + blobna '["]gmp_["]' drivers/staging/greybus/firmware.h + blobna '["]FW_NAME_PREFIX["]["]%08x_%08x_%08x_%08x_%s\.tftf["][\n][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/staging/greybus/firmware.h + blobname '\(gmp_\)\?%08x_%08x_%08x_%08x_s2l\.tftf' drivers/staging/greybus/bootrom.c + blobname '\(gmp_\)\?%08x_%08x_%08x_%08x_\(%s\|[^"]*\)\.tftf' drivers/staging/greybus/fw-download.c + # Long-needed b43 cleanup. These are actually cleaned up with + # custom code in deblob-. Only ucode5, b0g0initvals5 and + # b0g0bsinitvals5 are provided by openfwwf, and only b43 (not + # b43legacy) can use the openfwwf files, so anything else in b43 + # and b43legacy ought to be cleaned up. + accept '[\t]*filename[ ]=[ ]["]\(ucode\|b0g0\(bs\)\?initvals\)5["][;]' drivers/net/wireless/broadcom/b43.c + blobna '["]\(ucode\|[^ "\n]*initvals\)[0-9][^" .\n]*["]' 'drivers/net/wireless/broadcom/b43\(legacy\)\?\.c' + # We want to be more specific than deblob0- in the pcm + # matches, to avoid numerous false positives in sound pcm drivers. + blobna '["]pcm[45]["]' 'drivers/net/wireless/broadcom/b43\(legacy\)\?\.c' + blobna '[/][*][ ]What[ ]about[ ][^ \n]*initvals22[?][ ][*][/]' drivers/net/wireless/broadcom/b43.c + + # New in 4.9.2 and 4.8.17. + accept '[\t]*fwname[ ]=[ ]["]fuc4\(09\|1a\)[cd]["][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[\t]*snprintf[(]f[,][ ]sizeof[(]f[)][,][ ]["]nouveau[/]nv%02x_%s["][,][ ]device->chipset[,][ ]fwname[)][;][\n][\t]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]f[,][ ]device->dev[)][;][\n][\t]*if[ ][(]ret[)][ ][{][\n][\t]*snprintf[(]f[,][ ]sizeof[(]f[)][,][ ]["]nouveau[/]%s["][,][ ]fwname[)][;][\n][\t]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]f[,][ ]device->dev[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + + # New in 4.10-rc*. + accept '[ ]*d=["]m[ ]0[,]0[ ][^z\n]*z["]' Documentation/media/uapi/v4l/crop.svg + accept '[ ]*Kernel[ ]driver[ ]in[ ]use:[ ]serial\([\n][ ]*[0-3]0:[ 0-9a-f]*\)*' Documentation/media/v4l-drivers/ivtv.rst + accept 'tbl_shf_table:[\n]\([/][/][^\n]*[\n]\)*[\n]*\([\n][\t]\.byte[ \t0-9xa-f]*\)*' arch/arm/crypto/crct10dif-ce-core.S + accept '\.LK256:\([\n][ ]*\.long[ ]*0\(x[0-9a-f]*\([,]0x[0-9a-f]*\)*\)\?\)*[ \t]*[/][/][ ]*terminator' arch/arm64/crypto/sha256-core.S_shipped + accept '\.LK[$]BITS:\([\n]___[\n][$]code\.=<<___[ ]if[^\n]*\([\n][ ]*\.\(long\|quad\)[ ]*0\(x[0-9a-f]*\([,]0x[0-9a-f]*\)*\)\?\)*[ \t]*[/][/][ ]*terminator\)*' arch/arm64/crypto/sha512-armv8.pl + accept '\.LK512:\([\n][ ]*\.quad[ ]*0\(x[0-9a-f]*\([,]0x[0-9a-f]*\)*\)\?\)*[ \t]*[/][/][ ]*terminator' arch/arm64/crypto/sha512-core.S_shipped + accept '[ ][*][ ]Concurrent[ ]request_firmware[(][)][ ]for[ ]the[ ]same' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]struct[ ]rcar_gen2_cpg_pll_config[ ]cpg_pll_configs\[8\][ ]__initconst[ ]=' drivers/clk/renesas/r8a7745-cpg-mssr.c + defsnc 'static[ ]unsigned[ ]int[ ]eotf_33_linear_mapping\[OSD_EOTF_LUT_SIZE\][ ]=' drivers/gpu/drm/meson/meson_viu.c + defsnc 'static[ ]unsigned[ ]int[ ]oetf_41_linear_mapping\[OSD_OETF_LUT_SIZE\][ ]=' drivers/gpu/drm/meson/meson_viu.c + defsnc 'static[ ]unsigned[ ]int[ ]vpp_filter_coefs_4point_bspline\[\][ ]=' drivers/gpu/drm/meson/meson_vpp.c + defsnc 'static[ ]const[ ]u32[ ]a5xx_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a5xx_gpu.c + defsnc '[}][ ]a5xx_sequence_regs\[\][ ]=' drivers/gpu/drm/msm/adreno/a5dxx_power.c + defsnc 'static[ ]uint32_t[ ]gf100_ce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3.h + defsnc 'static[ ]uint32_t[ ]gt215_ce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf215.fuc3.h + defsnc 'static[ ]uint32_t[ ]gf100_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf100.fuc3.h + defsnc 'static[ ]uint32_t[ ]gf117_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf117.fuc3.h + defsnc 'static[ ]uint32_t[ ]gk104_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk104.fuc3.h + defsnc 'static[ ]uint32_t[ ]gk110_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk110.fuc3.h + defsnc 'static[ ]uint32_t[ ]gk208_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk208.fuc5.h + defsnc 'static[ ]uint32_t[ ]gm107_grgpc_code\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5.h + defsnc 'static[ ]uint32_t[ ]gf100_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf100.fuc3.h + defsnc 'static[ ]uint32_t[ ]gf117_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf117.fuc3.h + defsnc 'static[ ]uint32_t[ ]gk104_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk104.fuc3.h + defsnc 'static[ ]uint32_t[ ]gk110_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk110.fuc3.h + defsnc 'static[ ]uint32_t[ ]gk208_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk208.fuc5.h + defsnc 'static[ ]uint32_t[ ]gm107_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5.h + defsnc 'static[ ]uint32_t[ ]g98_psec_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/sec/fuc/g98.fuc0s.h + defsnc 'static[ ]uint32_t[ ]gf100_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h + defsnc 'static[ ]uint32_t[ ]gf119_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf119.fuc4.h + defsnc 'static[ ]uint32_t[ ]gk208_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h + defsnc 'static[ ]uint32_t[ ]gt215_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h + defsnc 'static[ ]uint32_t[ ]g98_sec_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf98.fuc0s.h + defsnc 'static[ ]const[ ]u16[ ]lmp91000_temp_lut\[\][ ]=' drivers/iio/potentiostat/lmp91000.c + defsnc 'static[ ]const[ ]u8[ ]fdp1_mdet\[\][ ]=' drivers/media/platform/rcar_fdp1.c + defsnc 'static[ ]struct[ ]cs35l34_mclk_div[ ]cs35l34_mclk_coeffs\[\][ ]=' sound/soc/codecs/cs35l34.c + defsnc 'static[ ]const[ ]struct[ ]cs42l42_pll_params[ ]pll_ratio_table\[\][ ]=' sound/soc/codecs/cs42l42.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5663_v2_reg\[\][ ]=' sound/soc/codecs/rt5663.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5665_reg\[\][ ]=' sound/soc/codecs/rt5665.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]stac9766_reg_defaults\[\][ ]=' sound/soc/codecs/stac9766.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm9705_reg_defaults\[\][ ]=' sound/soc/codecs/wm9705.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm9712_reg_defaults\[\][ ]=' sound/soc/codecs/wm9712.c + blobname 'fdma_\(%s_%d\|[^\." ,;_]*_[0-9][0-9]*\)\.elf' drivers/dma/st_fdma.c + blobname 'amdgpu[/]polaris12_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]polaris12_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]polaris12_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]polaris12_\(ce\|pfp\|me\|mec\|mec2\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c + blobname 'amdgpu[/]polaris12_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c + blobname 'amdgpu[/]polaris12_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c + blobname 'amdgpu[/]polaris12_smc\.bin' drivers/gpu/drm/amd/amdgpu/vi.c + blobname 'radeon[/]si58_mc\.bin' 'drivers/gpu/drm/amd/amdgpu/gmc_v6_0\.c\|drivers/gpu/drm/radeon/si\.c' + blobname 'a530_p\(m4\|fp\)\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'radeon[/]banks_k_2_smc\.bin' 'drivers/gpu/drm/amd/amdgpu/si_dpm\.c\|drivers/gpu/drm/radeon/si\.c' + blobname 'melfas_mip4_%04X\.fw' drivers/input/touchscreen/melfas_mip4.c + blobname 'cbfw-3\.2\.5\.1\.bin' drivers/scsi/bfa/bfad.c + blobname 'r8a779x_usb3_v3\.dlmem' drivers/usb/host/xhci-rcar.h + blob 'https\?:[/][/]linuxtv\.org[/][^" >]*firmware[/][^" \t\n>\\)]*' 'Documentation/media/v4l-drivers/ivtv\.rst\|drivers/media/pci/ttpci/av7110\.c\|firmware/WHENCE' + # The firmware file name is supplied by the user. + accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]fw_name[,]\([^\n]*[\n]\+[^\n}]\)*ret[ ]=[ ]rmi_firmware_update[(]data[,][ ]fw[)]' drivers/input/rmi4/rmi_f34.c + # This seems to be an example file name of something to be + # supplied by the user in the DTS file, not the name of an actual + # firmware file. + accept '[\t ]*firmware-name[ ]=[ ]["]zynq-gpio\.bin["][;]' Documentation/devicetree/bindings/fpga/fpga-region.txt + accept '[\t]if[ ][(]of_property_read_bool[(]np[,][ ]["]qca[,]no-eeprom["][)][)][ ][{][\n][\t]*[/][*][ ]ath9k-eeprom--\.bin[ ][*][/][\n][\t]*scnprintf[(]eeprom_name[,][ ]sizeof[(]eeprom_name[)][,][\n][\t ]*["]ath9k-eeprom-%s-%s\.bin["][,]' drivers/net/wireless/ath/ath9k/init.c + blobname 'iwlwifi-3168-' drivers/net/wireless/intel/iwlwifi/iwl-7000.c + blobname 'iwlwifi-8265-' drivers/net/wireless/intel/iwlwifi/iwl-8000.c + blobname 'iwlwifi-[0-9][^"\n\t ]*-' drivers/net/wireless/intel/iwlwifi/iwl-8000.c + blobname 'a530v3_gpmu\.fw2' drivers/gpu/drm/msm/adreno/adreno_device.c + + # New in 4.11. + blobname 'amdgpu[/]polaris1[01]_k_smc\.bin' drivers/gpu/drm/amdgpu/amdgpu_cgs.c + blobname 'i915[/]\(glk\|kbl\)_dmc_ver1_01\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'vpu[/]vpu_fw_imx\(27_TO2\|53\|6[qd]\)\.bin' drivers/media/platform/coda/coda-common.c + blobname '%s-%d\.bin' drivers/net/wireless/ath/ath10k/core.c + blobname 'wil6210_sparrow_plus\.fw' drivers/net/wireless/ath/wil6210/wil6210.h + blobname 'iwlwifi-Qu-a0-hr-a0-' drivers/net/wireless/intel/iwlwifi/iwl-a000.c + blobname 'intel[/]dsp_fw_glk\.bin' sound/soc/intel/skylake/skl.c + defsnc 'unsigned[ ]char[ ]__aligned[(]16[)][ ]bootlogo_bits\[\][ ]=' 'arch/m68k/68000/bootlogo\(-vz\)\?\.h' + defsnc 'static[ ]volatile[ ]const[ ]u8[ ]__cacheline_aligned[ ]__aesti_\(inv_\)\?sbox\[\][ ]=' crypto/aes_ti.c + defsc 'static[ ]const[ ]struct[ ]ast_vbios_stdtable[ ]vbios_stdtable\[\][ ]=' drivers/gpu/drm/ast/ast_tables.h + defsnc 'static[ ]const[ ]struct[ ]vadc_map_pt[ ]adcmap_100k_104ef_104fb\[\][ ]=' drivers/iio/adc/qcom-spmi-vadc.c + defsnc 'static[ ]const[ ]int[ ]srf08_sensitivity\[\][ ]=' drivers/iio/proximity/srf80.c + defsnc '[\t]static[ ]u8[ ]rss_key\[40\][ ]=' drivers/net/ethernet/aquantia/atlantic/aq_nic.c + defsnc '[\t]static[ ]u32[ ]\(itr_imr_\(rxr\|txt\)\(en\)\?\|rpo_lro_ldes_max\)_\(adr\|msk\|shift\)\[32\][ ]=' drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.c + defsnc 'static[ ]const[ ]u32[ ]hw_atl_utils_hw_mac_regs\[\][ ]=' drivers/net/ethernet/aquantia/atlantic/hw_tl/hw_atl_utils.c + defsnc 'static[ ]const[ ]u8[ ]netvsc_hash_key\[NETVSC_HASH_KEYLEN\][ ]=' drivers/net/hyperv/rndis_filter.c + defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3x_xtal20\[\][ ]=' drivers/net/wireless/ralink/rt2x00/rt2800lib.c + defsnc 'unsigned[ ]long[ ]long[ ]lpfc_enable_nvmet\[LPFC_NVMET_MAX_PORTS\][ ]=' drivers/scsi/lpfc/lpfc_attr.c + defsnc 'static[ ]const[ ]u64[ ]test_vectors_siphash\[64\][ ]=' lib/test_siphash.c + defsnc 'static[ ]const[ ]u32[ ]test_vectors_hsiphash\[64\][ ]=' lib/test_siphash.c + defsnc 'static[ ]yyconst[ ]YY_CHAR[ ]yy_ec\[256\][ ]=' scripts/dtc/dtc-lexer.lex.c_shipped + defsnc 'static[ ]yyconst[ ]YY_CHAR[ ]yy_meta\[48\][ ]=' scripts/dtc/dtc-lexer.lex.c_shipped + defsnc 'static[ ]yyconst[ ]flex_uint16_t[ ]yy_base\[180\][ ]=' scripts/dtc/dtc-lexer.lex.c_shipped + defsnc 'static[ ]yyconst[ ]flex_uint16_t[ ]yy_nxt\[449\][ ]=' scripts/dtc/dtc-lexer.lex.c_shipped + accept '0x1B[,][ ]0x5E[,][ ]0x78[,][ ]0x3D[,][ ]0x00[,][ ]0x00[,][ ]0x00[,][ ]0x18[,][ ][0x1-9A-F, \n]*' security/apparmor/nulldfa.in + defsnc '[\t]struct[ ]sock_filter[ ]bpf_filter\[\][ ]=' tools/testing/selftests/net/psock_lib.h + blobname 'cpt8x-mc-[as]e\.out' drivers/crypto/cavium/cpt/cptpf_main.c + blobname 'i915[/]["][ ]__stringify[(]platform[)][ ]["]_huc_ver["][ ]__stringify[(]major[)][ ]["]_["][ \\\n\t]*__stringify[(]minor[)][ ]["]_["][ ]__stringify[(]bld_num[)][ ]["]\.bin' drivers/gpu/drm/i915/intel_huc.c + accept '[ ][ ]*gf100_gr_init_fw[(]gr->fecs[,][ ][&]gr->fuc409c[,][ ][&]gr->fuc409d[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[ ][ ]*gf100_gr_init_fw[(]gr->gpccs[,][ ][&]gr->fuc41ac[,][ ][&]gr->fuc41ad[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + blobname 'rockchip[/]dptx\.bin' drivers/gpu/drm/rockchip/cdn-dp-core.c + accept 'static[ ]int[ ]cdn_dp_request_firmware[(]' drivers/gpu/drm/rockchip/cdn-dp-core.c + accept '[\t]ret[ ]=[ ]cdn_dp_request_firmware[(]dp[)]' drivers/gpu/drm/rockchip/cdn-cp-core.c + blobname 'netronome[/]nic_%s' drivers/net/ethernet/netronome/nfp/nfp_main.c + blobname 'spc[ ]-=[ ]snprintf[(][&]fw_name\[ARRAY_SIZE[(]fw_name[)][ ]-[ ]spc\][,][^;]*[)]' drivers/net/ethernet/netronome/nfp/nfp_main.c + blobname 'netronome[/]nic_AMDA00\(81-0001_\(1x40\|4x10\)\|96-0001_2x10\|97-0001_\(2x40\|4x10_1x40\|8x10\)\|99-0001_2x\(10\|25\)\)\.nffw' drivers/net/ethernet/netronome/nfp/nfp_main.c + accept '#define[ ]NFP_RESOURCE_NFP_NFFW[ \t]*["]nfp\.nffw["]' drivers/net/ethernet/netronome/nfp/nfp.h + accept '[\t]*\(rc[ ]=[ ]\)\?wil_request_firmware[(]wil[,][ ]\(wil->wil_fw_name\|WIL_BOARD_FILE_NAME\)[,][ ]\(true\|false\)[)][;]' drivers/net/wireless/ath/wil6210/main.c + blobname 'gsl3670-cube-iwork8-air\.fw' drivers/platform/x86/silead_dmi.c + blobname 'gsl3676-jumper-ezpad-mini3\.fw' drivers/platform/x86/silead_dmi.c + accept '[\t]*\(rc[ ]=[ ]\)\?request_firmware_nowait[(]THIS_MODULE[,][ ]FW_ACTION_NOHOTPLUG[,][ ]name[,]' lib/test_firmware.c + accept '[ ]*mechanism[ ]is[ ]available[ ]and[ ]for[ ]the[ ]request_firmware_nowait[(][)][ ]call' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*except[ ]request_firmware_direct[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*today[.][ ]The[ ]call[ ]request_firmware_nowait[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*argument[ ]to[ ]request_firmware_nowait[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*for[ ]request_firmware_nowait[(][)][ ]when[ ]uevent' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*supported[ ]for[ ]request_firmware_into_buf[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*For[ ]details[ ]of[ ]implementation[ ]refer[ ]to[ ]_request_firmware_load[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*Users[ ]of[ ]the[ ]request_firmware_nowait[(][)][ ]call' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*rely[ ]on[ ]the[ ]uevent[ ]flag[ ]which[ ]can[ ]be[ ]disabled[ ]by[ ]request_firmware_nowait[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*Although[ ]this[ ]can[ ]disable[ ]the[ ]firmware[ ]cache[ ]for[ ]request_firmware_nowait[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*uses[ ]all[ ]synchronous[ ]call[ ]except[ ]:c:func:[`]request_firmware_into_buf[`]' Documentation/driver-api/firmware/firmware_cache.rst + accept '[ \t]*if[(]request_firmware[(][&]fw_entry[,][ ][$]FIRMWARE[,]' Documentation/driver-api/firmware/firmware_cache.rst + accept '[ ]*device[ ]\(if[ ]\)*the[ ]second[ ]argument[ ][(]uevent[)][ ]to[ ]request_firmware_nowait[(][)]' Documentation/driver-api/firmware/firmware_cache.rst + accept '[ ]*introduction[\n][ ]*core[\n][ ]*request_firmware[\n]' Documentation/driver-api/firmware/index.rst + accept '\([ ]*:functions:[ ]\)\?request_firmware\([ ]API\|\|_direct\|_into_buf\|_nowait\|\)[\n]' Documentation/driver-api/firmware/request_firmware.rst + accept 'informed[ ]through[ ]the[ ]callback[.][ ]request_firmware_nowait[(][)][ ]cannot' Documentation/driver-api/firmware/request_firmware.rst + accept 'firmware[.][ ]For[ ]example[ ]if[ ]you[ ]used[ ]request_firmware[(][)][ ]and[ ]it[ ]returns' Documentation/driver-api/firmware/request_firmware.rst + accept 'If[ ]something[ ]went[ ]wrong[ ]request_firmware[(][)][ ]returns[ ]non-zero' Documentation/driver-api/firmware/request_firmware.rst + accept 'resume[/]restore[,][ ]but[ ]they[ ]cannot[ ]do[ ]it[ ]by[ ]calling[ ]:c:func:[`]request_firmware[(][)][`]' Documentation/driver-api/pm/notifiers.rst + accept 'In[ ]this[ ]example[,][ ]the[ ][^\n]*["]ts\.out["]' tools/power/x86/turbostat/turbostat.8 + accept '[\t]if[ ][(][!]snd_card_proc_new[(]hdspm->card[,][ ]["]ports\.\(in\|out\)["][,]' sound/pci/rme9652/hdspm.c + accept '[ \t]*print[ ]["]cat[ ]["][ ]rd[ ]cfr\[j\][ ][ ]["][/]kvm-test-1-run\.sh\.out["]' tools/testing/selftests/rcutorture/bin/kvm.sh + # If this actually requests any firmware, it will do so using + # disabled request_firmware calls elsewhere, but it seems to me + # that this would just pin and unpin firmware that might have + # already been requested before. + accept 'static[ ]int[ ]smu7_request_firmware[(]' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c + accept '[\t]\.request_firmware[ ]=[ ]smu7_request_firmware[,]' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c + + # New in 4.12. + accept '[ ]*Bit\([ ]*[0-7]\)*' Documentation/input/devices/sentelic.rst + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]\(ghash\|hmac_sha\(224\|256\)\|aes_xcbc128\|poly1305\|crc32\|crc32c\|bfin_crc\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]\(\(des3_ede\|bf\)_cbc\|\(tf\|cast6\|aes\)_xts\|serpent\(_xts\)\?\|tnepres\|aes\(_cbc\|_ctr_rfc3686\)\?\|x\?tea\|anubis\(_cbc\)\?\|xeta\|camellia_\(cbc\|xts\)\|salsa20_stream\|chacha20\|cts_mode\)_\(enc\|dec\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|256\|512\|224\|384\)_\(aes\|des3\?\(_ede\)\?\)_cbc_enc_tv_temp\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]aead_testvec[ ]\(aes_\(gcm_rfc4106\|ccm_rfc4309\)\|rfc7539\(esp\)\?\)_\(enc\|dec\)_tv_template\[\][ \t]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]comp_testvec[ ]\(lzo\|lz4\(hc\)\?\)_\(de\)\?comp_tv_template\[\][ ]=' crypto/testmgr.h + defsnc '[}][ ]segments\[MALIDP_COEFFTAB_NUM_COEFFS\][ ]=' drivers/gpu/drm/arm/malidp_crtc.c + defsnc 'static[ ]const[ ]u16[ ]dp500_se_scaling_coeffs\[\]\[SE_N_SCALING_COEFFS\][ ]=' drivers/gpu/drm/arm/malidp_hw.c + defsnc 'static[ ]const[ ]u8[ ]gamma_tbl\[S6E3HA2_NUM_GAMMA_STEPS\]\[S6E3HA2_GAMMA_CMD_CNT\][ ]=' drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c + defsnc 'static[ ]const[ ]struct[ ]rcar_hdmi_phy_params[ ]rcar_hdmi_phy_params\[\][ ]=' drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c + defsnc 'static[ ]const[ ]int[ ]temp_map\[CPCAP_MAX_TEMP_LVL\]\[2\][ ]=' drivers/iio/adc/cpcap-adc.c + defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5645_\(global_init_setting\|setting_\(sxga\|1080p\|full\)\)\[\][ ]=' drivers/media/i2c/ov5645.c + defsnc 'static[ ]struct[ ]regval_list[ ]ov5647_640x480\[\][ ]=' drivers/media/i2c/ov5647.c + defsc 'static[ ]const[ ]u32[ ]isc_gamma_table\[GAMMA_MAX[ ][+][ ]1\]\[GAMMA_ENTRIES\][ ]=' drivers/media/platform/atmel/atmel-isc.c + defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_7620\[\][ ]=' drivers/net/wireless/ralink/rt2x00/rt2800lib.c + defsnc 'static[ ]const[ ]u8[ ]zero_buff\[\][ ]=' drivers/staging/ccree/ssi_cipher.c + oprepline '#define[ ]NIST_\(AES\([CG]CM\)\?\|SHA\|HMAC\)_\(SHA\)\?\(256\|512\|192\|128\|1\)_\(XTS_\|CMAC_\)\?\(KEY\|PLAIN\(_DATA\)\?\|CIPHER\|MD\|MSG\|ADATA\)' drivers/staging/ccree/ssi_fips_data.h + defsnc 'static[ ]struct[ ]atomisp_css_macc_table[ ]\(skin_\(low\|medium\|high\)\|blue\|green\)_macc_table[ ]=' drivers/staging/media/atomisp/pci/atomisp2/atomisp_tables.h + defsnc 'static[ ]struct[ ]atomisp_css_ctc_table[ ]vivid_ctc_table[ ]=' drivers/staging/media/atomisp/pci/atomisp2/atomisp_tables.h + defsnc '#define[ ]S_1W_\(6X6\|9X9\|7X7\)_MATRIX_DEFAULT[ ][(][(]s_1w_.x._matrix[)][\\]' drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_include/host/ref_vector_func_types.h + defsnc 'const[ ]struct[ ]ia_css_anr_config[ ]default_anr_config[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/anr/anr_1.0/ia_css_anr.host.c + defsnc 'const[ ]struct[ ]ia_css_anr_thres[ ]default_anr_thres[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/anr/anr_2/ia_css_anr2_table.host.c + defsnc 'default_ctc_table_data\[IA_CSS_VAMEM_[21]_CTC_TABLE_SIZE\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_table.host.c + defsnc 'default_gamma_table_data\[IA_CSS_VAMEM_[21]_GAMMA_TABLE_SIZE\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/gc/gc_1.0/ia_css_gc_table.host.c + defsnc 'default_gamma_table_data\[IA_CSS_VAMEM_[21]_RGB_GAMMA_TABLE_SIZE\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/gc/gc_2/ia_css_gc2_table.host.c + defsnc 'const[ ]struct[ ]ia_css_macc1_5_table[ ]default_macc1_5_table[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/macc/macc1_5/ia_css_macc1_5_table.host.c + defsnc 'const[ ]struct[ ]ia_css_macc_table[ ]default_macc2\?_table[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/macc/macc_1.0/ia_css_macc_table.host.c + defsc '#define[ ]DEFAULT_DVS_GRID_INFO[ ]' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/common/ia_css_sdis_common_types.h + defsnc 'const[ ]int16_t[ ]g_pyramid\[8\]\[8\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.c + defsnc 'static[ ]const[ ]int[ ]zoom_table\[4\]\[HRT_GDC_N\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css_params.c + defsnc '[\t]static[ ]\+u8[ ]sbox_table\[256\][ ]=' drivers/staging/rtl8723bs/core/rtw_security.c + defsnc 'static[ ]u32[ ]Array_MP_8723B_\(AGC_TAB\|PHY_REG\(_PG\)\?\)\[\][ ]=' drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.c + defsnc 'static[ ]u32[ ]Array_MP_8723B_MAC_REG\[\][ ]=' drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.c + defsnc 'static[ ]u32[ ]Array_MP_8723B_RadioA\[\][ ]=' drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c + defsnc 'static[ ]u8[ ]gDeltaSwingTableIdx_MP_5G[BA]_[NP]_TxPowerTrack_SDIO_8723B\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c + defsnc '[\t]u8[ ]channel5G\[CHANNEL_MAX_NUMBER_5G\][ ]=' drivers/staging/rtl8723bs/hal/hal_com_phycfg.c + defsc 'static[ ]struct[ ]cs35l35_sysclk_config[ ]cs35l35_clk_ctl\[\][ ]=' sound/soc/codecs/cs35l35.c + blobname 'amdgpu[/]vega10_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]vega10_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]vega10_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]vega10_\(ce\|pfp\|me\(c2\?\)\?\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + blobname 'amdgpu[/]\(vega10\|%s\)_\(sos\|asd\)\.bin' drivers/gpu/drm/amd/amdgpu/psp_v3_1.c + blobname 'amdgpu[/]vega10_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c + blobname 'amdgpu[/]vega10_smc\.bin' drivers/gpu/drm/amd/amdgpu/soc15.c + blobname 'i915[/]glk_dmc_ver1_04\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'https[:][/][/]01\.org[/]linuxgraphics[/]downloads[/][^"\n]*' drivers/gpu/drm/i915/intel_csr.c + blobname 'dvb-demod-si2168-d60-01\.fw' drivers/media/dvb-frontends/si2168_priv.h + blobname 'dvb-tuner-si2141-a10-01\.fw' drivers/media/tuners/si2157_priv.h + blobname 'firmware-6\.bin' drivers/net/wireless/ath/ath10k/hw.h + blobname '[/][*][ ]the[ ]firmware-6\.bin[ ]blob[ ][*][/]' drivers/net/wireless/ath/ath10k/hw.h + blobname 'iwlwifi-9260-th-b0-\(jf\|lc\)-b0-' drivers/net/wireless/intel/iwlwifi/iwl-9000.c + blobname 'iwlwifi-QuIcp-a0-hrcdb-a0-' drivers/net/wireless/intel/iwlwifi/iwl-a000.c + blobname 'git:[/][/]git\.kernel\.org[/][^"\n]*firmware\.git' drivers/net/wireless/intel/iwlwifi/iwl-drv.c + blobname 'rtlwifi[/]rtl8723befw_36\.bin' drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c + blobname 'rtlwifi[/]rtl8821aefw_29\.bin' drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c + blobname 'gsl1686-dexp-ursus-7w\.fw' drivers/platform/x86/silead_dmi.c + blobname 'gsl1686-surftab-wintron70-st70416-6\.fw' drivers/platform/x86/silead_dmi.c + blobname 'ti-connectivity[/]TIInit_\(\(%d\|[0-9]\+\)[.]\)\+bts' drivers/bluetooth/hci_ll.c + accept '[\t]*bt_dev_err[(]lldev->hu\.hdev[,][ ]["]request_firmware[ ]failed' drivers/bluetooth/hci_ll.c + blobname 'nokia[/]\(bcmfw\|ti1273\)\.bin' drivers/bluetooth/hci_nokia.c + accept '[\t ]*falcon->firmware\.\(bin_data\|firmware\)' drivers/gpu/drm/tegra/falcon.c + accept '[\t][/][*][ ]request_firmware[ ]prints' drivers/gpu/drm/tegra/falcon.c + accept 'static[ ]const[ ]struct[ ]vic_config[ ]vic_t\(124\|210\)_config[ ]=[ ][{][\n][ ]\.firmware[ ]*=[ ]' drivers/gpu/drm/tegra/vic.c + blobname 'nvidia[/]tegra124[/]vic03_ucode\.bin' drivers/gpu/drm/tegra/vic.c + blobname 'nvidia[/]tegra210[/]vic04_ucode\.bin' drivers/gpu/drm/tegra/vic.c + accept 'static[ ]int[ ]ap1302_request_firmware[(]' drivers/staging/media/atomisp/i2c/ap1302.c + accept '[\t ]*["]ap1302_request_firmware[ ]failed' drivers/staging/media/atomisp/i2c/ap1302.c + accept '[\t]ret[ ]=[ ]ap1302_request_firmware[(]' drivers/staging/media/atomisp/i2c/ap1302.c + blobname 'ap1302_fw\.bin' drivers/staging/media/atomisp/i2c/ap1302.c + blobname 'shisp_2401a0_\(legacy_\)\?v21\.bin' drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c + blobname 'shisp_2400b0_v21\.bin' drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c + accept '[\t]*isp->firmware[ ]=[ ]\(atomisp_load_firmware[(]\|NULL\)' 'drivers/staging/media/atomisp/pci/atomisp2/atomisp_\(fops\|v4l2\)\.c' + accept '[\t]stage_desc->firmware[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe/src/pipe_stagedesc.c + accept '[\t]stage->firmware[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/pipeline/src/pipeline.c + blobname 'rtlwifi[/]rtl8723bs_\(wowlan\|nic\)\.bin' drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c + blobname 'rtl8723b[/]FW_\(NIC\|WoWLAN\)\.bin' drivers/staging/rtl8723bs/include/rtl8723b_hal.h + + # New in 4.13 + accept '[ ]*This[ ]driver[ ]requires[ ]a[ ]patch[ ]for[ ]firmware_class\.c[^\n]*[\n][ ]*request_firmware_nowait[ ]function' Documentation/dell_rbu.txt + accept '[\t][ ]d=["]m[ ]0[,]0[ ]0[,]1895[ ]4118[,]0[ ][-0-9, LZm]*z["]' Documentation/media/uapi/v4l/crop.svg + defsnc 'static[ ]const[ ]struct[ ]akcipher_testvec[ ]pkcs1pad_rsa_tv_template\[\][ ]=' crypto/testmgr.h + accept '[\t]ret[ ]=[ ]_request_firmware_load[(]fw_priv[,][ ]opt_flags[,][ ]timeout[)][;]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]struct[ ]cpg_pll_config[ ]cpg_pll_configs\[8\][ ]__initconst[ ]=' drivers/clk/renesas/clk-rcar-gen2.c + blobname 'cnn55xx_se.fw' drivers/crypto/cavium/nitrox/nitrox_main.c + defsnc 'unsigned[ ]int[ ]dsgl_ent_len\[\][ ]=' drivers/crypto/chelsio/chcr_algo.h + blobname '\(ifpp\|ipue\)\.bin' drivers/crypto/inside-secure/safexcel.c + blobname 'amdgpu[/]\(%s\|vega10\|raven\)_gpu_info\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_device.c + blobname 'amdgpu[/]raven_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]raven_\(ce\|pfp\|me\(c2\?\)\?\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + blobname 'amdgpu[/]\(vega10\|raven\)_sdma1\?\.bin' drivers/gpu/drm/amdgpu/sdma_v4_0.c + defsnc 'const[ ]struct[ ]pctl_data[ ]pctl[01]_data\[\][ ]=' drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c + blobname 'i915[/]cnl_dmc_ver1_04\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc '[\t]static[ ]const[ ]int[ ]dividers\[\][ ]=' drivers/gpu/drm/i915/intel_dpll_mgr.c + defsnc 'const[ ]struct[ ]stm32h7_adc_ck_spec[ ]stm32h7_adc_ckmodes_spec\[\][ ]=' drivers/iio/adc/stm32-adc-core.c + defsnc 'static[ ]const[ ]u8[ ]full_fm_\(eu\|na\)_1p0\[\][ ]=' drivers/media/i2c/max2175.c + defsnc 'static[ ]const[ ]struct[ ]max2175_reg_map[ ]\(dab12\|fmeu1p2\|fmna[12]p0\)_map\[\][ ]=' drivers/media/i2c/max2175.c + defsnc 'static[ ]const[ ]u8[ ]adc_presets\[2\]\[23\][ ]=' drivers/media/i2c/max2175.c + defsnc 'static[ ]const[ ]struct[ ]ov13858_reg[ ]mode_\(4224x3136\|2112x\(1568\|1188\)\|1056x784\)_regs\[\][ ]=' drivers/media/i2c/ov13858.c + defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5640_\(init_\)\?setting_\(30\|15\)fps_\(VGA\(_640_480\)\?\|XGA_1024_768\|QVGA_320_240\|QCIF_176_144\|NTSC_720_480\|PAL_720_576\|720P_1280_720\|1080P_1920_1080\|QSXGA_2592_1944\)\[\][ ]=' drivers/media/i2c/ov5640.c + blobname 'qcom[/]venus-\(1\.8\|4\.2\)[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlx5_firmware_flash[(]mdev[,][ ]fw[)]' drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c + blobname 'mellanox[/]mlxsw_spectrum-\([0-9.]*\|["]\([ \t]*\|[\\][\n]\|__stringify[(]MLXSW_FWREV_\(MAJOR\|MINOR\|SUBMINOR\)[)]\|["].["]\)*["]\)\.mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + # This firmware file name is supplied by the user, + # but there's another in the same source file (above) that is hardcoded. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]firmware[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlxsw_sp_firmware_flash[(]mlxsw_sp[,][ ]firmware[)]' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[49\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsc 'static[ ]const[ ]u8[ ]iwl_ext_nvm_channels\[\][ ]=' drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c + blobname '\(rsi[/]\)\?rs9113_wlan_qspi\.rps' drivers/net/wireless/rsi/rsi_common.h + defsnc '[}][ ]hsfreq_map\[\][ ]=' drivers/staging/media/imx/imx6-mipi-csi2.c + defsnc 'static[ ]const[ ]u16[ ]avc_thr_db2reg\[97\][ ]=' sound/soc/codecs/sgtl5000.c + blob 'SD8688[ ]firmware[\n]=*[\n]*Images:[\n]*\(-[ ][/]lib[/]firmware[^\n]*[\n]*\)*The[ ]images[^:]*:[\n]*[^\n]*[/]linux-firmware[^\n]*' Documentation/btmrvl.txt + blobname '%s-%s-%d\.bin' drivers/net/wireless/ath/ath10k/core.c + blobname 'wil6210_\(sparrow_plus_\)\?ftm\.fw' drivers/net/wireless/ath/wil6210/wil6210.h + blobname 'brcmfmac43430a0-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'iwlwifi-9000-pu-a0-jf-b0-' drivers/net/wireless/intel/iwlwifi/cfg/9000.c + blobname 'iwlwifi-QuIcp-z0-hrcdb-a0-' drivers/net/wireless/intel/iwlwifi/iwl-a000.c + blobname 'qtn[/]fmac_qsr10g\.img' drivers/net/wireless/quantenna/qtnfmac/qtn_hw_ids.h + blobname 'gsl1680-\(gp-electronic-t701\|pipo-w2s\)\.fw' drivers/platform/x86/silead_dmi.c + blobname 'gsl3692-pov-mobii-wintab-p800w\.fw' drivers/platform/x86/silead_dmi.c + blobname 'gsl3670-itworks-tw891\.fw' drivers/platform/x86/silead_dmi.c + defsnc 'struct[ ]phm_fuses_default[ ]vega10_fuses_default\[\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/pp_overdriver.c + blobname 'a530_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c + accept '[\t]\(complete\|init_completion\|[\t]wait_for_completion\)[(][&]bus->request_firmware_complete[)]' drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c + accept '[\t]ret[ ]=[ ]reject_firmware_nowait[(][^)]*[,][ ]qtnf_firmware_load[)][;][\n][\t]*if[ ][(]ret[ ][<][ ]0[)][\n][\t]*pr_err[(]["]request_firmware_nowait[ ]error' drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c + blobname '\(adsp\|slpi\)\.mdt' drivers/remoteproc/qcom_adsp_pil.c + blobname 'wcnss\.mdt' drivers/remoteproc/qcom_wcnss.c + + # New in 4.14 (up to rc5). + blobname 'amdgpu[/]vega10_acg_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname '\(netronome[/]\)\?\(serial-\(%pMF-%02hhx-%02hhx\|[-0-9a-f]*\)\|pci-\(%s\|[0-9a-f:.]*\)\)\.nffw' drivers/net/ethernet/netronome/nfp/nfp_main.c + blobname 'brcmfmac4373-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'brcmfmac4373\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c + blobname 'iwlwifi-QuQnj-\([af]0-hr-a0\|a0-jf-b0\)-' drivers/net/wireless/intel/iwlwifi/cfg/a000.c + blobname 'rt5514_dsp_fw3\.bin' sound/soc/codecs/rt5514.h + blobname 'intel[/]dsp_fw_cnl\.bin' sound/soc/intel/skylake/skl.c + initnc '__aes_arm\(64\)\?_inverse_sbox:[\n][\t]\.byte[ \t]*' arch/arm/crypto/aes-cipher-core.S + defsnc 'static[ ]const[ ]struct[ ]hsdk_pll_cfg[ ]asdt_pll_cfg\[\][ ]=' drivers/clk/clk-hsdk-pll.c + defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]d1cpre_div_table\[\][ ]=' drivers/clk/clk-stm32h7.c + defsnc 'static[ ]const[ ]struct[ ]pctl_data[ ]pctl[01]_data\[\][ ]=' drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c + defsnc '[\t]static[ ]const[ ]u16[ ]map\[\][ ]=' drivers/hwmon/asc7621.c + defsc 'static[ ]const[ ]struct[ ]stm32h7_adc_ck_spec[ ]stm32h7_adc_ckmodes_spec\[\][ ]=' drivers/iio/adc/stm32-adc-core.c + defsnc 'static[ ]const[ ]int[ ]srf08_sensitivity_avail\[\][ ]=' drivers/iio/proximity/srf08.c + defsc 'static[ ]const[ ]struct[ ]slookup[ ]\(lnagain_\(nf\|iip3\)\|gain_\(rfagc\|channel_agc_\(nf\|iip3\)\)\)_lookup\[\][ ]=' drivers/media/dvb-frontends/stv6111.c + defsnc 'static[ ]const[ ]struct[ ]ov5670_reg[ ]mode_\(2592x1944\|1296x972\|648x486\|2560x1440\|1280x720\|640x360\)_regs\[\][ ]=' drivers/media/i2c/ov5670.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(gnd\|dram\|pci\|pflash\)_351[26]_pins\[\][ ]=' drivers/pinctrl/pinctrl-gemini.c + defsc 'static[ ]const[ ]unsigned[ ]int[ ]pflash_351[26]_pins_extended\[\][ ]=' drivers/pinctrl/pinctrl-gemini.c + defsnc 'static[ ]const[ ]u16[ ]db_invert_table\[12\]\[8\][ ]=' drivers/staging/rtlwifi/phydm/phydm.c + defsc 'u32[ ]cck_swing_table_ch1_ch14_8723d\[CCK_TABLE_SIZE_8723D\][ ]=' drivers/staging/rtlwifi/phydm/phydm_powertracking_ce.c + defsc 'u32[ ]cck_swing_table_ch1_ch14_8710b\[CCK_TABLE_SIZE_8710B\][ ]=' drivers/staging/rtlwifi/phydm/phydm_powertracking_ce.c + defsnc 'static[ ]u32[ ]array_mp_8822b_\(agc_tab\|phy_reg\(_pg\)\?\|mac_reg\|radio[ab]\)\[\][ ]=' drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_bb.c + defsnc 'static[ ]u8[ ]delta_swing_index_mp_5g[ba]_[np]_txpwrtrack_\(type[01246789]_\|type3_type5_\)\?8822b[\n\t ]*\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_rf.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]rk3328_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + defsnc 'static[ ]const[ ]BYTE[ ]LL_Code\[64\][ ]=' lib/zstd/compress.c + defsnc 'static[ ]const[ ]BYTE[ ]ML_Code\[128\][ ]=' lib/zstd/compress.c + defsc 'static[ ]const[ ]FSE_decode_t4[ ]LL_defaultDTable\[[(]1[ ][<][<][ ]LL_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsc 'static[ ]const[ ]FSE_decode_t4[ ]ML_defaultDTable\[[(]1[ ][<][<][ ]ML_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsc 'static[ ]const[ ]FSE_decode_t4[ ]OF_defaultDTable\[[(]1[ ][<][<][ ]OF_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsnc '[\t]static[ ]const[ ]U32[ ][LM]L_base\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsnc 'static[ ]const[ ]U32[ ][LM]L_bits\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/zstd_internal.h + defsnc 'static[ ]const[ ]S16[ ][LM]L_defaultNorm\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/zstd_internal.h + defsnc 'static[ ]const[ ]struct[ ]cs43130_pll_params[ ]pll_ratio_table\[\][ ]=' sound/soc/codecs/cs43130.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]pcm_ch_\(en\|dis\)_seq\[\][ ]=' sound/soc/codecs/cs43130.c + defsnc 'static[ ]const[ ]struct[ ]cs43130_clk_gen[ ]cs43130_\(16\|32\|48\|64\)_clk_gen\[\][ ]=' sound/soc/codecs/cs43130.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt274_\(index_def\|reg\)\[\][ ]=' sound/soc/codecs/rt274.c + accept '[\t]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_into_buf[(][&]xfw[,][ ]NONFREE_FIRMWARE' include/linux/firmware.h + accept '[\t]if[ ][(]is_nonfree_firmware[^\n]*[\n][\t][\t]return[ ]reject_firmware_into_buf[^\n]*[\n][\t]else[\n][\t][\t]return[ ]request_firmware_into_buf[(]firmware_p[,][ ]name[,]' include/linux/firmware.h + accept '[#]define[ ]TEST_FIRMWARE_NAME[\t]["]test-firmware\.bin["]' lib/test_firmware.c + accept '[ ][*][\t]request_firmware_direct[(][)][ ]will[ ]be[ ]used[ ]instead' lib/test_firmware.c + accept '[ ][*][\t]of[ ]the[ ]request_firmware[*][(][)][ ]calls[ ]used[ ]in[ ]their[ ]tests' lib/test_firmware.c + accept '[ ][*][\t]request_firmware_direct[(][)][,][ ]otherwise[ ]request_firmware[(][)]' lib/test_firmware.c + accept '[\t]*test_fw_config->req_firmware[ ]=[ ]\(test_fw_config->sync_direct[ ][?][\n][ \t]*request_firmware_direct[ ][:][\n][ \t]*\)\?request_firmware[;]' lib/test_firmware.c + accept '[\t][\t]req->name[ ]=[ ]test_fw_config->name[;][\n][\t][\t]req->fw[ ]=[ ]NULL[;][\n][\t][\t]req->idx[ ]=[ ]i[;][\n][\t][\t]init_completion[(][&]req->completion[)][;][\n][\t][\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]\([^);, \t\n]*[,][ \t\n]*\)*trigger_batched_cb[)][;]' lib/test_firmware.c + accept '[\t]release_firmware[(]test_firmware[)][;][\n][\t]test_firmware[ ]=[ ]NULL[;][\n][\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]1[,][ ]name[^)\n]*[\n][ \t]*NULL[,][ ]trigger_async_request_cb[)]' lib/test_firmware.c + accept '[#][ ]name:[ ]test-firmware\.bin' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]*test_\(batched_\)\?request_firmware\(_direct\|_nowait_\(uevent\|custom\)\)\?\(_nofile\)\?\([(][)]\|[ ][$]i\)' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]echo[ ]-n[ ]["]Batched[ ]request_firmware\(_direct\|_nowait\)\?[(]\(uevent=\(true\|false\)\)\?[)][ ]\(nofile[ ]\)\?try[ ]#[$]1:[ ]["]' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]\(config_set_name\|test_wait_and_cancel_custom_load\)[ ]nope-test-firmware\.bin' tools/testing/selftests/firmware/fw_filesystem.sh + blobname 'amdgpu[/]%s_asd\.bin' drivers/gpu/drm/amd/amdgpu/psp_v10_0.c + blobname 'lantiq[/]xrx[23]00_phy\(22f\|11g\)_a\(14\|2[21]\)\.bin' drivers/soc/lantiq/gphy.c + blobname 'rtlwifi[/]rtl8822befw\.bin' drivers/staging/rtlwifi/rtl8822be/sw.c + # This loads a file named by the user. + accept '[\t]const[ ]char[ ][*]name[ ]=[ ]i915\.vbt_firmware[;][\n][\t]int[ ]ret[;][\n][\n][\t]if[ ][(]!name[ ][|][|][ ][!][*]name[)][\n][\t][\t]return[ ]-ENOENT[;][\n][\n][\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,]' drivers/gpu/drm/i915/intel_opregion.c + # New in 4.14-rc6. + defsnc '[\t]static[ ]const[ ]struct[ ]nphy_txiqcal_ladder[ ]ladder_\(lo\|iq\)\[\][ ]=' drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c + # New in 4.14.3. When using python for deblobbing (default), this + # pattern appears too late. An earlier pattern that matches + # iwlwifi-9000 alone and starts with 'iwlwifi-9000\(' needed + # adjusting as well. + blobname 'iwlwifi-9000-pu-b0-jf-b0-' drivers/net/wireless/intel/iwlwifi/cfg/9000.c + + # New in 4.15 (up to rc6). + accept '[\t]*0[ ][ ][/][*]1\([ ][ ][23456]\)*[*][/]\([ ][ ][789]\)*\([\n][\t]*\([ ]*[1-9][0-9]*\)*\)*[\n][\t]*100' arch/arm/boot/dts/imx6q-pistachio.dts + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]table\[\][ ]=' arch/mips/math-emu/dp_sqrt.c + defsnc 'const[ ]u8[ ]sm3_zero_message_hash\[SM3_DIGEST_SIZE\][ ]=' crypto/sm3_generic.c + defsc 'static[ ]const[ ]struct[ ]hash_testvec[ ]sm3_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]rcar_gen3_cpg_pll_config[ ]cpg_pll_configs\[8\][ ]__initconst[ ]=' drivers/clk/renesas/r8a77970-cpg-mssr.c + defsnc 'unsigned[ ]int[ ]sgl_ent_len\[\][ ]=' drivers/crypto/chelsio/chcr_algo.h + defsc 'static[ ]const[ ]struct[ ]pte_setting[ ]pte_settings\[mi_tiling_count\]\[mi_bpp_count\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_4tap_16p_\(upscale\|117\|150\|183\)\[36\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_2tap_64p\[66\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_3tap_64p_\(upscale\|117\|150\|183\)\[99\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_4tap_64p_\(upscale\|117\|150\|183\)\[132\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_5tap_64p_\(upscale\|117\|150\|183\)\[165\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_6tap_64p_\(upscale\|117\|150\|183\)\[198\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_7tap_64p_\(upscale\|117\|150\|183\)\[231\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_8tap_64p_\(upscale\|117\|150\|183\)\[264\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]struct[ ]audio_clock_info[ ]audio_clock_info_table\[16\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c + defsnc 'static[ ]const[ ]struct[ ]audio_clock_info[ ]audio_clock_info_table_\(36\|48\)bpc\[14\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]dvmm_Hw_Setting_\(2DTiling\|Linear\)\[4\]\[9\][ ]=' drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c + defsnc 'static[ ]const[ ]struct[ ]phm_fuses_default[ ]vega10_fuses_default\[\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/pp_overdriver.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]soft_dummy_pp_table\[\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.c + accept 'static[ ]const[ ]PWR_DFY_Section[ ]pwr_virus_section[123456][ ]=[ ][{]\([\n][\t]\.dfy_\(cntl\|addr_\(hi\|lo\)\)[ ]=[ ]0x[0-9a-f]*[,]\)*[\n][\t]\.dfy_data[ ]=[ ][{]\([\n]\([ \t]0x[0-9a-f]*[,]\)*\)*[\n][\t][}][,][\n][\t]\.dfy_size[ ]=[ ][0-9]*[\n][}][;]' drivers/gpu/drm/amd/powerplay/inc/polaris10_pwrvirus.h + defsnc 'static[ ]const[ ]struct[ ]kx_odr_map[ ]samp_freq_table\[\][ ]=' drivers/iio/accel/kxcjk-1013.c + defsc 'static[ ]const[ ]struct[ ]reg_8[ ]imx274_\(mode\(1_3840x2160\|3_1920x1080\|5_1280x720\)_raw10\|start_2\)\[\][ ]=' drivers/media/i2c/imx274.c + defsnc '[\t]static[ ]const[ ]unsigned[ ]char[ ]\(y\|uv\)QuanTable51[18]\[\][ ]=' drivers/media/usb/gspca/ov519.c + defsnc 'static[ ]const[ ]u32[ ]t5_tp_mib_index_array\[9\]\[IREG_NUM_ELEM\][ ]=' drivers/net/ethernet/chelsio/cxgb4/cudbg_entity.h + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]rv1108_table\[\][ ]' drivers/thermal/rockchip_thermal.c + initnc '[/][*][ ]Seth[ ]Forshee.s[ ]regdb[ ]certificate[ ][*][/]' net/wireless/certs/sforshee.hex + initnc '\(Read\|Fill\)[ ]buffer[ ]content:' tools/testing/selftests/android/ion/README + blobname 'amdgpu[/]%s_\(pfp\|[mc]e\|mec2\?\)_2\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c + blobname 'nvidia[/]tegra186[/]vic04_ucode\.bin' drivers/gpu/drm/tegra/vic.c + accept 'static[ ]const[ ]struct[ ]vic_config[ ]vic_t186_config[ ]=[ ][{][\n][\t]\.firmware[ ]=[ ]NVIDIA_TEGRA_186_VIC_FIRMWARE[,]' drivers/gpu/drm/tegra/vic.c + blobname 'gsl3680-chuwi-hi8-pro\.fw' drivers/platform/x86/silead_dmi.c + blobname 'gsl1686-digma_citi_e200\.fw' drivers/platform/x86/silead_dmi.c + accept '[/][*][ ]code[ ]to[ ]directly[ ]load[ ]a[ ]firmware[ ]database[ ]through[ ]request_firmware[ ][*][/]' net/wireless/reg.c + accept '[\t]if[ ][(]request_firmware[(][&]sig[,][ ]["]regulatory\.db\.p7s["][,]' net/wireless/reg.c + accept '[\t]return[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]true[,][ ]["]regulatory\.db["][,]' net/wireless/reg.c + accept '[\t]err[ ]=[ ]request_firmware[(][&]fw[,][ ]["]regulatory\.db["][,]' net/wireless/reg.c + accept '[\t][ ][*][ ]the[ ]new[ ]path[,][ ]using[ ]request_firmware_direct[(][)]' drivers/gpu/drm/msm/adreno/adreno_gpu.h + accept '[\t][ ][*][ ]finally[ ]fall[ ]back[ ]to[ ]request_firmware[(][)]' drivers/gpu/drm/msm/adreno/adreno_gpu.h + blobname 'hideep_ts_\(%04x\|[0-9a-f]*\)\.bin' drivers/input/touchscreen/hideep.c + blobname 'dpfe\.bin' drivers/memory/brcmstb_dpfe.c + accept '[\t]err[ ]=[ ]request_firmware[(][&]clm[,][ ]clm_name[,][ ]dev[)][;]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c + accept '[\t]*DRM_DEBUG_DRIVER[(]["]%s[ ]fw[ ]request_firmware[ ]err=%d[\\]n["][,]' drivers/gpu/drm/i915/intel_uc_fw.c + + accept '\(The[ ]k\|K\)ernel[ ]can[ ]update[ ]microcode' Documentation/x86/microcode.txt + accept 'requires[ ]rebuilding[ ]the[ ]kernel[ ]each[ ]time[ ]updated[ ]microcode' Documentation/x86/microcode.txt + accept '[\t][ ][ ]If[ ]you[ ]say[ ]Y[ ]here[,][ ]you[ ]will[ ]be[ ]able[ ]to[ ]update[ ]the[ ]microcode' arch/x86/Kconfig + blobna '[,][ ]please[ ]upgrade[ ]microcode' arch/x86/events/intel/core.c + blobna 'please[ ]update[ ]microcode[ ]to[ ]version:[ ]0x%x[ ][(]or[ ]later[)]' arch/x86/kernel/apic/apic.c + accept '[ ][*][ \t]*This[ ]driver[ ]allows[ ]to[ ]upgrade[ ]microcode' arch/x86/kernel/cpu/microcode/'\(amd\|core\)\.c' + accept '[\t][ ][*][ ]operation[ ]-[ ]when[ ]the[ ]other[ ]hyperthread[ ]has[ ]updated[ ]the[ ]microcode' arch/x86/kernel/cpu/microcode/core.c + accept '[ ][*][ ]mc_bp_resume[ ]-[ ]Update[ ]boot[ ]CPU[ ]microcode[ ]during[ ]resume' arch/x86/kernel/cpu/microcode/core.c + blobna '[,][ ]update[ ]BIOS[ ]or[ ]microcode[ ]of[ ]the[ ]CPU[!]' drivers/hwmon/coretemp.c + accept '[ ][*][ ]ipr_update_ioa_ucode[ ]-[ ]Update[ ]IOA[\'"'"']s[ ]microcode' drivers/scsi/ipr.c + accept '[ ][*][ ]Initiate[ ]an[ ]adapter[ ]reset[ ]to[ ]update[ ]the[ ]IOA[\'"'"']s[ ]microcode' drivers/scsi/ipr.c + accept '[\t]*struct[ ]xenpf_microcode_update[ ]*microcode' include/xen/interface/platform.h + + # New in 4.16 + blobname 'board-2\.bin' Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt + accept '[ ]*microcode_update_cpu[(][)][ ]which[ ]would[ ]call[ ]microcode_init_cpu[(][)][ ]in[ ]this[ ]case' Documentation/power/suspend-and-cpuhotplug.txt + accept '[\t]\.irp[\t]b\([,][0-9]\)*\([,][1-3][0-9]\)*' arch/arm64/crypto/sha3-ce-core.S + accept '\.Lsha512_rcon:\([\n][\t]\.quad[\t]*[0-9a-fx, ]*\)*' arch/arm64/crypto/sha512-ce-core.S + accept '[ ][*][ ]only[ ]when[ ]microcode[ ]has[ ]been[ ]updated[.][ ]Caller[ ]holds[ ]microcode_mutex[ ]and[ ]CPU' arch/x86/kernel/cpu/common.c + accept '[ ][ ][ ]any[ ]request_firmware[(]\(["]whatever\.bin["]\)[)]' drivers/base/Kconfig + accept 'static[ ]int[ ]_request_firmware_load[(]struct[ ]fw_sysfs[ ][*]fw_sysfs[,]' drivers/base/firmware_class.c + accept '[\t]ret[ ]=[ ]_request_firmware_load[(]fw_sysfs[,][ ]opt_flags[,][ ]timeout[)][;]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]struct[ ]pll_freq_tbl[ ]a53pll_freq\[\][ ]=' drivers/clk/qcom/a53-pll.c + defsnc 'static[ ]unsigned[ ]int[ ]d\?sgl_ent_len\[\][ ]=' drivers/crypto/chelsio/chcr_algo.c + # FPGA configuration/programming files are named in Device Tree + # overlays supplied by users. + accept 'static[ ]int[ ]fpga_mgr_firmware_load[(]' drivers/fpga/fpga-mgr.c + accept '[\t]*return[ ]fpga_mgr_firmware_load[(]mgr[,][ ]info[,][ ]info->firmware_name[)]' drivers/fpga/fpga-mgr.c + # Nice, asm sources are in the same file, within #if 0/#endif! License is ok, too. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx8_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx8.asm + blobname 'i915[/]cnl_dmc_ver1_06\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'i915[/]kbl_dmc_ver1_04\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'i915[/]skl_dmc_ver1_27\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc 'static[ ]const[ ]u32[ ]lan2coefftab16\[240\][ ]=' drivers/gpu/drm/sun4i/sun8i_ui_scaler.c + defsnc 'static[ ]const[ ]u32[ ]\(lan3\|bicubic8\)coefftab32_\(left\|right\)\[480\][ ]=' drivers/gpu/drm/sun4i/sun8i_ui_scaler.c + defsnc 'static[ ]const[ ]u32[ ]\(lan2\|bicubic4\)coefftab32\[480\][ ]=' drivers/gpu/drm/sun4i/sun8i_ui_scaler.c + defsnc '[}][ ]zopt2201_scale_\(als\|uvb\)\[\][ ]=' drivers/iio/light/zopt2201.c + blobname 'raydium_\(%#04x\|[x0-9a-f]*\)\.fw' drivers/input/touchscreen/raydium_i2c_ts.c + defsnc '[\t]*static[ ]const[ ]u8[ ]bufs\[\][ ]=' drivers/media/dvb/dvb-usb/cxusb.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]ov7740_vga\[\][ ]=' drivers/media/i2c/ov7740.c + accept '[ ][*][ ]@fw_get_done[\t]*flag[ ]set[ ]when[ ]request_firmware[(][)][ ]is[ ]complete' drivers/media/platform/s5p-mfc/s5p_mfc_common.h + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[51\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsnc 'static[ ]const[ ]struct[ ]ath10k_mem_section[ ]qca6174_hw\(21\|30\)_register_sections\[\][ ]=' drivers/net/wireless/ath/ath10k/coredump.c + blobname 'mt7662\(_rom_patch\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt76x2.h + defsnc 'static[ ]const[ ]struct[ ]mtk_pin_field_calc[ ]mt7622_pin_\(mode\|sr\|smt\|pu\|pd\|e[48]\|[tr]dsel\)_range\[\][ ]=' drivers/pinctrl/mediatek/pinctrl-mt7622.c + blobname 'gsl\(3670-surftab-twin-10-1-st10432-8\|3676-onda-obook-20-plus\|1680-chuwi-hi8\|3676-chuwi-vi8\|1680-trekstor-primebook-c13\|1686-teclast_x98plus2\|1680-teclast-x3-plus\)\.fw' drivers/platform/x86/silead_dmi.c + defsnc 'static[ ]const[ ]struct[ ]xvcu_pll_cfg[ ]xvcu_pll_cfg\[\][ ]=' drivers/soc/xilinx/xlnx_vcu.c + defsnc 'u16[ ]const[ ]crc_ccitt_false_table\[256\][ ]=' lib/crc-ccitt.c + defsc 'static[ ]const[ ]struct[ ]aic32x4_rate_divs[ ]aic32x4_divs\[\][ ]=' sound/soc/codecs/tlv320aic32x4.c + defsnc 'static[ ]char[ ]const[ ][*][ ]const[ ]compressor_ratio_text\[\][ ]=' sound/soc/codecs/tscs42xx.c + defsnc '[\t]const[ ]u8[ ]norm_addrs\[\][ ]=' sound/soc/codecs/tscs42xx.c + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]nfp_nsp_write_flash[(]nsp[,][ ]fw[)]' drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c + accept '[\t]*\(rc[ ]=[ ]\)\?wil_request_firmware[(]wil[,][ \n\t]*\(wil->wil_fw_name\|WIL_BOARD_FILE_NAME\)[,][ \n\t]*\(true\|false\)[)][;]' drivers/net/wireless/ath/wil6210/main.c + accept '[\t]retval0[ ]=[ ]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_direct[(]' include/linux/firmware.h + accept '[\t]retval0[ ]=[ ]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_into_buf[(][&]xfw[,][ ]NONFREE_FIRMWARE' include/linux/firmware.h + + # New in 4.17 + defsnc 'static[ ]const[ ]u8[ ]sbox\[256\][ ]=' crypto/sm4_generic.c + defsnc 'static[ ]const[ ]u32[ ]ck\[\][ ]=' crypto/sm4_generic.c + defsc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]speck\(128\|64\)_\(xts_\)\?\(enc\|dec\)_tv_template\[\][ ]=' crypto/testmgr.h + accept '[ ][*][ ]request_firmware_into_buf[(][)][ ]or[ ]request_firmware_nowait[(][)][ ]with' drivers/base/firmware_loader/main.c + defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]mcu_div_table\[\][ ]=' drivers/clk/clk-stm32mp1.c + defsnc 'static[ ]const[ ]struct[ ]profile_mode_setting[ ]smu7_profiling\[6\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c + defsnc 'static[ ]const[ ]u32[ ]sun4i_frontend_vert_coef\[32\][ ]=' drivers/gpu/drm/sun4i/sun4i_frontend.c + defsnc 'static[ ]const[ ]u32[ ]sun4i_frontend_horz_coef\[64\][ ]=' drivers/gpu/drm/sun4i/sun4i_frontend.c + defsnc 'static[ ]const[ ]struct[ ]lv0104cs_mapping[ ]lv0104cs_calibscales\[\][ ]=' drivers/iio/light/lv0104cs.c + defsnc '[\t]static[ ]const[ ]u8[ ]rf_init1_cdata1\[40\][ ]=' drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd.c + defsnc '[\t]static[ ]const[ ]u8[ ]rf_init1_cdata3\[80\][ ]=' drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd.c + defsnc '[\t]static[ ]const[ ]u8[ ]rf_init1_cdata5\[50\][ ]=' drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd.c + defsnc 'static[ ]struct[ ]regval[ ]ov2685_1600x1200_regs\[\][ ]=' drivers/media/i2c/ov2685.c + defsnc 'static[ ]const[ ]struct[ ]regval[ ]ov5695_\(global\|2592x1944\|1920x1080\|1296x972\|1280x720\|640x480\)_regs\[\][ ]=' drivers/media/i2c/ov5695.c + defsnc 'u_short[ ]ebc_plain_map\[NR_KEYS\][ ]=' drivers/s390/char/defkeymap.c + defsnc 'static[ ]const[ ]int16_t[ ]g_pyramid\[8\]\[8\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.c + accept 'MODULE_FIRMWARE[(]["]aica_firmware\.bin["][)][;]' sound/sh/aica.c + accept '[\t]err[ ]=[ ]request_firmware[(][&]fw_entry[,][ ]["]aica_firmware\.bin["][,]' sound/sh/aica.c + defsnc '[\t]static[ ]const[ ]u8[ ]norm_addrs\[\][ ]=' sound/soc/codecs/tscs42xx.c + accept '[\t]FW=["][$]FWPATH[/]test-firmware\.bin["]' tools/testing/selftests/firmware/fw_lib.sh + accept '\([/][*][ ]0x1[ ]\[\^\\000\][*]\[\^[/]\\000\][/][/][&][ ][*][/][ ]\)\?0x1B[,][ ]0x5E[,][ ]0x78[,][ ]0x3D[,][ ]0x00[,][ ]0x00[,][ \n]0x00[,][ ]0x18[,][ ][0x1-9A-F, \n]*' 'security/apparmor/\(null\|stacksplit\)dfa.in' + blobname 'rtl_bt[/]rtl\(8723d\|8821c\)_\(config\|fw\)\.bin' drivers/bluetooth/btrtl.c + blobname 'amdgpu[/]vega12_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]vega12_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]vega12_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'i915[/]cnl_dmc_ver1_07\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc 'static[ ]const[ ]struct[ ]af9013_reg_mask_val[ ]demod_init_tab\[\][ ]=' drivers/media/dvb-frontends/af9013_priv.h + defsnc 'static[ ]const[ ]struct[ ]af9013_reg_mask_val[ ]tuner_init_tab_\(env77h11d5\|mt2060\(_2\)\?\|mxl500\(3d\|5\)\|qt1010\|mc44s803\|unknown\|tda18271\)\[\][ ]=' drivers/media/dvb-frontends/af9013_priv.h + blobname '\(vpu[/]\)\?vpu_fw_imx51\.bin' drivers/media/platform/coda/coda-common.c + blobname 'v4l-codahx4-imx51\.bin' drivers/media/platform/coda/coda-common.c + blobname 's5p-mfc-v10\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c + blobname 'example[ ]file[ ]wl1251-nvs\.bin[,][^*]*[*][/]' drivers/net/wireless/ti/wl1251/main.c + blobname '["]brcm[/]["]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h + blobname '\(brcm[/]\)\?brcmfmac43\(143\|241b[045]\|29\|3[0459]\|340\|362\|430\(a0\)\?\|455\|5[46]\|73\)-sdio\(\.bin\|\.txt\)\?' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname '\(brcm[/]\)\?brcmfmac43\(602\|50\(c2\)\?\|56\|570\|5[89]\|65[bc]\|66[bc]\|71\)-pcie\(\.bin\|\.txt\)\?' drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c + blobname '\(brcm[/]\)\?brcmfmac43\(143\|236b\|242a\|569\|73\)\(\.bin\|\.txt\)\?' drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c + accept '[\t]struct[ ]brcmf_fw_name[ ]fwnames\[\][ ]=[ ][{][\n][\t][\t][{][ ]["]\.bin["]' 'drivers/net/wireless/broadcom/brcm80211/brcmfmac/\(pcie\|sdio\|usb\)\.c' + # We require a semicolon after MODULE_FIRMWARE, which this + # in-macro occurrence does not have, so take the semicolon from + # the previous in-macro declaration. + blobname '\([;][ ]\\[\n]MODULE_FIRMWARE[(]BRCMF_FW_DEFAULT_PATH[^)]*[)]\)\+' drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h + + # Adjust for catching firmware_request + accept 'static[ ]int[ ]coda_firmware_request[(]' drivers/media/platform/code/coda-common.c + accept '[\t]*ret[ ]=[ ]coda_firmware_request[(]' drivers/media/platform/code/coda-common.c + accept '[\t]struct[ ]gb_bootrom_get_firmware_request[ ][*]firmware_request[;]' drivers/staging/greybus/bootrom.c + accept '[\t]*\(if[ ][(]op->request->payload_size[ ]!=[ ]\)\?sizeof[(][*]firmware_request[)]' drivers/staging/greybus/bootrom.c + accept '[\t]firmware_request[ ]=[ ]op->request->' drivers/staging/greybus/bootrom.c + accept '[\t]\(offset\|size\)[ ]=[ ]le32_to_cpu[(]firmware_request->' drivers/staging/greybus/bootrom.c + accept '[\t]struct[ ]gb_fw_download_\(find\|fetch\|release\)_firmware_request[ ][*]request[;]' drivers/staging/greybus/fw-download.c + + # New in 4.18 (-rc6) + blobname 'amdgpu[/]vega\(m\|20\)_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]vega\(m\|20\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]vega\(m\|20\)_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]vegam_\(ce\|pfp\|me\|mec\|mec2\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.C + blobname 'amdgpu[/]\(vega\(10\|12\|20\)\|raven\)_\(ce\|pfp\|me\|mec\|mec2\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.C + blobname 'amdgpu[/]vega\(10\|12\|20\)_\(sos\|asd\)\.bin' drivers/gpu/drm/amd/amdgpu/psp_v3_1.C + blobname 'amdgpu[/]vegam_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v3_0.C + blobname 'amdgpu[/]\(vega\(10\|12\|20\)\|raven\)_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v4_0.C + blobname 'amdgpu[/]vega\(m\|10\|10_acg12\|20\)_smc\.bin' drivers/gpu/drm/amd/amdgpu/smumgr.c + blobna 'https:[/][/]git\.kernel\.org[/][^"\n]*firmware\.git[/]tree[/]i915' drivers/gpu/drm/i915/intel_uc_fw.h + blobna 'You[ ]can[ ]use[ ][^"\n]*to[ ]get[ ]the[ ]firmware\.\?' drivers/media/usb/dvb-usb/dvb-usb-firmware.c + blob '[ ][*][ ]Firmware[ ]is:[\n][ ][*][ ]Derived[ ]from[ ]proprietary[^*]*\([*]\+[^/*][^*]*\)*notice[ ]is[ ]accompanying[ ]it\.[\n][ ][*][/]' drivers/net/tg3.c + blobname 'gsl\(3692-jumper-ezpad-6-pro\|3680-\(pov-mobii-wintab-p800w-v20\|onda-v891w-v1\)\)\.fw' drivers/platform/x86/silead_dmi.c + blobname 'ctefx-\(sbz\|r3di\)\.bin' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]float_\(vol_db\|zero_to_one\|xbass_xover\)_lookup\[\][ ]=' sound/pci/hda/patch_ca0132.c + blobna '[\t][/][*][\n][\t][ ][*][ ]Use[ ]default[ ]ctefx\.bin[ ]if[^*]*\([*]\+[^/*][^*]*\)*[*][/]' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]struct[ ]hda_verb[ ]sbz_init_verbs\[\][ ]=' sound/pci/hda/patch_ca0132.c + accept '\([ ]*:functions:[ ]\)\?firmware_request_\(nowarn\|cache\)\([(][)]\)\?' Documentation/driver-api/firmware/request_firmware.rst + accept 'this[ ]can[ ]be[ ]done[ ]with[ ]firmware_request_cache[(][)][ ]' Documentation/driver-api/firmware/request_firmware.rst + accept '[ ]*[.][.][.][\n][ ]*9[ ]*176[ ]*0[ ]*1[ ]*186[ 0-9\n]*' Documentation/vm/zsmalloc.rst + defsnc '\.Lmorus1280_\(const\|counter\):' arch/x86/crypto/morus1280-avx2-asm.S + defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]\(\(des3_ede\|bf\)_cbc\|tf_xts\|serpent\|tnepres\|serpent_xts\|speck128\|speck128_xts\|speck64_xts\|cast6_xts\|aes\|aes_cbc\|aes_xts\|aes_ctr_rfc3686\|tea\|xtea\|anubis\|anubis_cbc\|xeta\|camellia_cbc\|camellia_xts\|salsa20_stream\|chacha20\|cts_mode\)_tv_template\[\][ ]=' crypto/testmgr.h + accept '[\t ]*mechanism[ ]is[ ]request_firmware_direct[(][)][.]' drivers/base/firmware_loader/Kconfig + accept '[ ][*][ ]request_firmware[(][)][ ]-[ ]send[ ]firmware[ ]request' drivers/base/firmware_loader/main.c + accept 'request_firmware[(]const[ ]struct[ ]firmware[ ][*][*]firmware_p[,]' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]firmware_request_nowarn[(][)][ ]-[ ]request[ ]for[ ]an[ ]optional[ ]fw[ ]module' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]This[ ]function[ ]is[ ]similar[ ]in[ ]behaviour[ ]to[ ]request_firmware[(][)][,]' drivers/base/firmware_loader/main.c + accept 'int[ ]firmware_request_nowarn[(]const[ ]struct[ ]firmware[ ][*][*]firmware[,]' drivers/base/firmware_loader/main.c + accept '[\t]*ret[ ]=[ ]_request_firmware[(]firmware[,][ ]name[,][ ]device' drivers/base/firmware_loader/main.c + accept 'EXPORT_SYMBOL_GPL[(]firmware_request_\(nowarn\|cache\)[)]' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]request_firmware_direct[(][)][ ]-[ ]load[ ]firmware[ ]directly' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]firmware_request_cache[(][)][ ]-[ ]cache[ ]firmware[ ]for[ ]suspend' drivers/base/firmware_loader/main.c + accept 'int[ ]firmware_request_cache[(]struct[ ]device[ ][*]device[,]' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]request_firmware_into_buf[(][)][ ]-[ ]load[ ]firmware[ ]into[ ]a[ ]previously[ ]allocated[ ]buffer' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]request_firmware_nowait[(][)][ ]-[ ]asynchronous[ ]version[ ]of[ ]request_firmware' drivers/base/firmware_loader/main.c + accept '[ ][*][ \t]*Asynchronous[ ]variant[ ]of[ ]request_firmware[(][)][ ]for[ ]user[ ]contexts:' drivers/base/firmware_loader/main.c + accept 'int[\n]request_firmware_nowait[(][\n][\t]struct[ ]module[ ][*]module' drivers/base/firmware_loader/main.c + accept '[\t]INIT_WORK[(][&]fw_work->work[,][ ]request_firmware_work_func[)]' drivers/base/firmware_loader/main.c + defsnc 'static[ ]struct[ ]clk_div_table[ ]nand_div_table\[\][ ]=' drivers/clk/actions/owl-s900.c + defsc 'static[ ]struct[ ]clk_factor_table[ ]sd_factor_table\[\][ ]=' drivers/clk/actions/owl-s900.c + defsnc '[\t][}][ ]id\[\][ ]=' drivers/crypto/caam/ctrl.c + defsc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(ATHUB\|CLK\|DCE\|DF\|FUSE\|GC\|HDP\|MMHUB\|MP[01]\|NBIO\|OSSSYS\|SDMA[01]\|SMUIO\|THM\|UMC\|UVD\|VCE\|XDMA\|RSMU\)_BASE[ ]*=' drivers/gpu/drm/amd/include/vega20_ip_offset.h + defsc 'vegam_power_tune_data_set_array\[POWERTUNE_DEFAULT_SET_MAX\][ ]=' drivers/gpu/drm/amd/powerplay/smumgr/vegam_smumgr.c + defsnc 'gv100_disp_core_mthd_head[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/coregv100.c + defsnc 'gv100_disp_wndw_mthd_base[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/wndwgv100.c + defsc 'gf100_grctx_alpha_beta_map\[17\]\[32\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c + defsnc 'gv100_grctx_init_sw_veid_bundle_init_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgv100.c + defsnc 'static[ ]const[ ]struct[ ]dvb_pll_desc[ ]dvb_pll_tda665x_earth_pt1[ ]=' drivers/media/dvb-frontends/dvb-pll.c + defsnc 'static[ ]const[ ]struct[ ]imx258_reg[ ]mode_\(4208x3118\|2104_1560\|1048_780\)_regs\[\][ ]=' drivers/media/i2c/imx258.c + defsc 'static[ ]const[ ]struct[ ]reg_value[ ]ov7251_setting_vga_[369]0fps\[\][ ]=' drivers/media/i2c/ov7251.c + defsnc 'static[ ]const[ ]u8[ ]va1j5jf8007[st]_2[05]mhz_configs\[\]\[2\][ ]=' drivers/media/pci/pt1/pt1.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[59\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsnc 'static[ ]const[ ]int[ ]pfuze3000_sw1a\[\][ ]=' drivers/regulator/pfuze100-regulator.c + accept 'struct[ ]gb_\(fw_download_\(find\|fetch\|release\)\|bootrom_get\)_firmware_request[ ][{]' drivers/staging/greybus/greybus_protocols.h + accept 'int[ ]firmware_request_nowarn[(]const[ ]struct[ ]firmware[ ][*][*]fw' include/linux/firmware.h + accept 'static[ ]inline[ ]int[ ]firmware_request_nowarn[(]const[ ]struct[ ]firmware[ ][*][*]fw' include/linux/firmware.h + accept 'int[ ]firmware_request_cache[(]struct[ ]device[ ][*]device' include/linux/firmware.h + accept '[\t]retval[ ]=[ ]firmware_request_nowarn[(][&]xfw[,][ ]NONFREE_FIRMWARE[,]' include/linux/firmware.h + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1305_reg\[\][ ]=' sound/soc/codecs/rt1305.c + defsnc 'static[ ]char[ ]const[ ][*][ ]const[ ]comp_rat_txt\[\][ ]=' sound/soc/codecs/tscs454.c + accept '[ ]*[{]["]pid["]:21800[,]["]fd["]:5[,]["]prog_id["]:9[,]["]fd_type["]:["]uprobe["][,]["]filename["]:["][/]home[/]yhs[/]a\.out["][,]["]offset["]:1159[}]\]' tools/bpf/bpftool/Documentation/bpftool-perf.rst + accept '[#][ ]a[ ]file[ ]whose[ ]name[ ]is[ ]that[ ]of[ ]the[ ]specified[ ]litmus[ ]test[,][ ]but[ ]with[ ]["]\.out["]' tools/memory-model/scripts/checkalllitmus.sh + accept '[#][ ]with[ ]["]\.out["][ ]appended\.' tools/memory-model/scripts/checkalllitmus.sh + accept 'static[ ]struct[ ]bpf_test[ ]tests\[\][ ]=[ ][{][\n]\([^}][^\n]*[\n][\n]*\)*[}][;]' tools/testing/selftests/bpf/test_verifier.c + # Sources are in cwsr_trap_handler_gfx[89].asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx[89]_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + blobname 'amd[/]sev\.fw' drivers/crypto/ccp/psp-dev.c + blobname 'chipone[/]icn8505-\(%s\|[^.",)]*\)\.fw' drivers/input/touchscreen/chipone_icn8505.c + accept '[\t]*return[ ]firmware_request_cache[(]dev->dev[,][ ]MT7601U_FIRMWARE[)]' drivers/net/wireless/mediatek/mt7601u/mcu.c + + # New in 4.19-rc7. + accept '[\t]*reg[ ]=[ ][<]\(0x\(40\)\?[08][ ]0xd[02][01][0-9a-f]0000[ ]0x0[ ]0x10000[\n\t ]*\)*[>][;]' 'Documentation/devicetree/bindings/crypto/hisilicon,hip07-sec\.txt\|arch/arm64/boot/dts/hisilicon/hip07\.dtsi' + defsnc 'const[ ]u8[ ]sha384_zero_message_hash\[SHA384_DIGEST_SIZE\][ ]=' crypto/sha512_generic.c + defsnc 'const[ ]u8[ ]sha512_zero_message_hash\[SHA512_DIGEST_SIZE\][ ]=' crypto/sha512_generic.c + defsnc 'static[ ]const[ ]char[ ]vmac64_string1\[144\][ ]=' crypto/testmgr.h + defsc 'static[ ]struct[ ]clk_factor_table[ ]lcd_factor_table\[\][ ]=' drivers/clk/actions/owl-s700.c + defsnc 'static[ ]int[ ]avs_map\[\][ ]=' drivers/cpufreq/armada-37xx-cpufreq.c + defsnc 'static[ ]const[ ]u32[ ]a6xx_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a6xx_gpu.c + defsnc '[\t]static[ ]const[ ]uint32_t[ ]off_tbl\[QSEED3_FILTERS\]\[QSEED3_LUT_REGIONS\]\[2\][ ]=' drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c + defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov2680_setting_30fps_\(QUXGA_800_600\|UXGA_1600_1200\)\[\][ ]=' drivers/media/i2c/ov2680.c + defsnc 'static[ ]const[ ]uint8_t[ ]zigzag\[64\][ ]=' drivers/media/platform/vicodec/vicodec-codec.c + defsnc 'static[ ]const[ ]int[ ]quant_table\(_p\)\?\[\][ ]=' drivers/media/platform/vicodec/vicodec-codec.c + defsnc '[\t]static[ ]const[ ]u8[ ]demod_init\[\]\[2\][ ]=' drivers/media/usb/dvb-usb-v2/gl861.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l35_reva_16_patch\[\][ ]=' drivers/mfd/cs47l35-tables.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l85_rev[ac]_\(16\|32\)_patch\[\][ ]=' drivers/mfd/cs47l85-tables.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l90_reva_16_patch\[\][ ]=' drivers/mfd/cs47l90-tables.c + defsnc 'static[ ]const[ ]u16[ ]rtl8366rb_init_jam_\(ver_[0123]\|f5d8235\)\[\][ ]=' drivers/net/dsa/rtl8366rb.c + defsnc '[\t]static[ ]const[ ]int[ ]mt76x0_tx_pwr_ch_list\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt76x0/phy.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]madera_pin_single_group_pins\[\][ ]=' drivers/pinctrl/cirrus/pinctrl-madera-core.c + defsnc 'static[ ]const[ ]int[ ]adp5061_vmax\[36\][ ]=' drivers/power/supply/adp5061.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]sw2_sw4_val_tbl\[\][ ]=' drivers/regulator/cpcap-regulator.c + defsnc '[}][ ]segdist_codes\[\][ ]=' drivers/slimbus/stream.c + accept '#define[ ]PIOLED_GAMMA[\t]["]\([0234][ ]\|["][ ][\\][\n\t ]*["]\)*["]' drivers/staging/fbtft/fbtft_device.c + defsnc 'static[ ]const[ ]struct[ ]cp210x_rate[ ]cp210x_an205_table1\[\][ ]=' drivers/usb/serial/cp210x.c + defsnc 'static[ ]const[ ]u8[ ]\(precedence\|diffserv[843]\|besteffort\)\[\][ ]=' net/sched/sch_cake.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5682_reg\[\][ ]=' sound/soc/codecs/rt5682.c + defsnc 'static[ ]struct[ ]hda_verb[ ]ca0132_init_verbs1\[\][ ]=' sound/pci/hda/patch_ca0132.c + blobname 'imx[/]sdma[/]sdma-imx31\.bin' arch/arm/boot/dts/imx31.dtsi + blobname 'imx[/]sdma[/]sdma-imx6q\.bin' arch/arm/boot/dts/imx6sll.dtsi + blobname 'mediatek[/]mt7622pr2h\.bin' drivers/bluetooth/btmtkuart.c + blobname 'qca[/]crnv%02x\.bin' drivers/bluetooth/btqca.c + blobname 'rtl_bt[/]rtl8723[bd]s_fw\.bin' drivers/bluetooth/btrtl.c + blobname '%s\(-%s\)\?\.bin' drivers/bluetooth/btrtl.c + blobname 'cf-fsi-fw\.bin' drivers/fsi/fsi-master-ast-cf.c + blobname 'amdgpu[/]\(bonaire\|hawaii\)_\(k_\)\?smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\)_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]%s_smc\.bin' 'drivers/gpu/drm/amd/amdgpu/[cs]i_dpm\.c' + blobname 'amdgpu[/]si58_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c + blobname 'a630_\(sqe\.fw\|gmu\.bin\)' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'qcom[/]venus-5\.2[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c + blobname 'mellanox[/]mlxsw_spectrum-\(["][ ]__stringify[(]MLXSW_SP1_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'wil6436\(_ftm\)\?\.fw' drivers/net/wireless/ath/wil6210/wil6210.h + blobna '[/][*][ ]brcmfmac436\(02\|6b\)-pcie\.\(ap\.\)\?bin[ ]from[ ]linux-firmware\.git[ ]commit[ ][0-9a-f]*[ ][*][/]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c + blobname 'mediatek[/]mt7610u\.bin' drivers/net/wireless/mediatek/mt76/mt76x0/usb.h + blobname 'mediatek[/]mt7662u\(_rom_patch\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt76x2.h + blobname 'gsl3680-chuwi-vi10\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-connect-tablet9\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl3692-cube-knote-i1101\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-onda-v820w-32g\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl3676-onda-v891w-v3\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'keystone-dsp%d-fw' drivers/remoteproc/keystone_remoteproc.c + blobname 'mba\.mbn' drivers/remoteproc/qcom_q6v5_pil.c + blobname 'IPQ8074[/]q6_fw\.mdt' drivers/remoteproc/qcom_q6v5_wcss.c + blobname '%s-%s-%s\.bin' sound/soc/codecs/wm_adsp.c + accept '[\t]*rc[ ]=[ ]wil_request_firmware[(]wil[,][ ]board_file[,][ ]true[)][;]' drivers/net/wireless/ath/wil6210/main.c + blobna '[ ]\(Important[ ]Notes\|Obtaining[ ]and[ ]Creating\)[^\n]*\([\n]#\([\n]#\([\n]#[ ]*For[ ]the\)\?\)\?[ ][^\n]*\)\+' Documentation/sound/cards/multisound.sh + + # New in 4.20 up to -rc6. + initnc '\.Lcts_permute_table:' arch/arm64/crypto/aes-modes.S + defsnc '[\t]static[ ]const[ ]unsigned[ ]char[ ]default_colors\[\][ ]__initconst[ ]=' arch/powerpc/kernel/prom_init.c + defsc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]aes_lrw_tv_template\[\][ ]=' crypto/testmgr.h + blobname 'rtl_bt[/]rtl8822cu_fw\.bin' drivers/bluetooth/btrtl.c + blobname 'amdgpu[/]\(picasso\|raven2\)_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]\(vega20\|%s\)_sos\.bin' drivers/gpu/drm/amd/amdgpu/psp_v11_0.c + blobname 'amdgpu[/]raven_dmcu\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + blobname 'i915[/]icl_dmc_ver1_07\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc 'static[ ]const[ ]struct[ ]vadc_map_pt[ ]adcmap_100k_104ef_104fb_1875_vref\[\][ ]=' drivers/iio/adc/qcom-vadc-common.c + defsc 'static[ ]const[ ]struct[ ]reg_8[ ]imx274_start_1\[\][ ]=' drivers/media/i2c/imx274.c + defsnc 'static[ ]const[ ]struct[ ]imx319_reg[ ]\(imx319_global\|mode_\(3264x2448\|3280x2464\|1936x1096\|1920x1080\|1640x\(1232\|922\)\|1296x736\|1280x720\)\)_regs\[\][ ]=' drivers/media/i2c/imx319.c + defsnc 'static[ ]const[ ]struct[ ]imx355_reg[ ]\(imx355_global\|mode_\(326[48]x2448\|3280x2464\|19\(40\|36\)x1096\|192[40]x1080\|1640x\(1232\|922\)\|1\(300\|296\)x736\|128[40]x720\|820x616\)\)_regs\[\][ ]=' drivers/media/i2c/imx355.c + blobname 'lantiq[/]xrx200_phy\(22f\|11g\)_a\(14\|2[21]\)\.bin' drivers/net/dsa/lantiq_gswip.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[60\]' drivers/net/ethernet/qlogic/qed/qed_hsi.h + blobname 'mscc_vsc8584_revb_int8051_fb48\.bin' drivers/net/phy/mscc.c + blobname 'mscc_vsc8574_revb_int8051_29e8\.bin' drivers/net/phy/mscc.c + defsnc '[\t]const[ ]struct[ ]reg_val[ ]\(init_eee\|pre_init1\)\[\][ ]=' drivers/net/phy/mscc.c + defsnc '[\t][}][ ]chan_map\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c + blobname 'mediatek[/]mt76[15]0e\.bin' drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c + defsc 'static[ ]const[ ]struct[ ]pre_pll_config[ ]pre_pll_cfg_table\[\][ ]=' drivers/phy/rockchip/phy-rockhip-inno-hdmi.c + defsc 'static[ ]const[ ]struct[ ]post_pll_config[ ]post_pll_cfg_table\[\][ ]=' drivers/phy/rockchip/phy-rockhip-inno-hdmi.c + defsc 'static[ ]const[ ]struct[ ]phy_config[ ]rk3[23]28_phy_cfg\[\][ ]=' drivers/phy/rockchip/phy-rockhip-inno-hdmi.c + blobname 'gsl3676-onda-v80-plus-v3\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-trekstor-primebook-c11\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-trekstor-primetab-t13b\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'cdsp\.mdt' drivers/remoteproc/qcom_q6v5_pas.c + defsnc '[\t]unsigned[ ]char[ ]inq\[36\][ ]=' drivers/scsi/myrb.c + defsnc 'static[ ]const[ ]u8[ ]\(non_\)\?intra_quantization_matrix_default\[64\][ ]=' drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c + blobname 'ctefx-desktop\.bin' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]lpf[123]_default_tap\[\][ ]=' sound/soc/meson/axg-pdm.c + blobname 'eboard\.bin' 'drivers/net/wireless/ath/ath10k/\(hw\.h\|core\.c\)' + blobname 'iwlwifi-\(Qu\(Qnj\)\?-b0-hr-b0\|su-z0\|Qu-b0-jf-b0\)-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c + blobname 'modem\.b%02d' drivers/remoteproc/qcom_q6v5_mss.c + # New in 4.20-rc7. + blobname 'amdgpu[/]polaris1[01]_k2_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]polaris12_k_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + + # New in 5.0-rc5. + defsnc '__visible[ ]const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]__cacheline_aligned[ ]=' crypto/aes_generic.c + defsnc 'static[ ]const[ ]u8[ ]Tau\[64\][ ]=' crypto/streebog_generic.c + defsnc 'static[ ]const[ ]u8[ ]Pi\[256\][ ]=' crypto/streebog_generic.c + defsnc 'static[ ]const[ ]unsigned[ ]long[ ]long[ ]Ax\[8\]\[256\][ ]=' crypto/streebog_generic.c + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]hmac_streebog\(256\|512\)_tv_template\[\][ ]=' crypto/testmgr.h + defsc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]xchacha\(20\|12\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]profile_mode_setting[ ]smu7_profiling\[7\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c + defsnc 'static[ ]const[ ]uint32_t[ ]vpp_filter_coefs_bicubic\[\][ ]=' drivers/gpu/drm/meson/meson_vpp.c + defsc 'static[ ]const[ ]unsigned[ ]int[ ]a\(200\|220\|225\)_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a2xx_gpu.c + defsc 'static[ ]const[ ]u32[ ]a6xx_\(ps_cluster_rac\|vbif_registers\|gmu_[gc]x_registers\)\[\][ ]=' drivers/gpu/drm/msm/adreno/a6xx_gpu-state.h + defsc 'static[ ]const[ ]struct[ ]cmd_set[ ]qcom_2k_panel_magic_cmds\[\][ ]=' drivers/gpu/drm/panel/panel-truly-nt35597.c + defsnc 'static[ ]const[ ]struct[ ]dw_hdmi_mpll_config[ ]sun50i_h6_mpll_cfg\[\][ ]=' drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c + defsnc 'static[ ]const[ ]struct[ ]dw_hdmi_curr_ctrl[ ]sun50i_h6_cur_ctr\[\][ ]=' drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c + defsnc '[\t]mipi_dbi_command[(]mipi[,][ ]HX8357D_SETGAMMA[,]' drivers/gpu/drm/tinydrm/hx8357d.c + defsnc 'static[ ]const[ ]int[ ]rm3100_samp_rates\[RM3100_SAMP_NUM\]\[3\][ ]=' drivers/iio/magnetometer/rm3100-core.c + defsc 'static[ ]const[ ]struct[ ]reg_8[ ]mode_\(4096x2304\|1920x1080\|table_common\)\[\][ ]=' drivers/media/i2c/imx214.c + defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5640_setting_\(VGA_640_480\|XGA_1024_768\|QVGA_320_240\|QCIF_176_144\|NTSC_720_480\|PAL_720_576\|720P_1280_720\|1080P_1920_1080\|QSXGA_2592_1944\)\[\][ ]=' drivers/media/i2c/ov5640.c + defsnc 'static[ ]const[ ]u32[ ]aspeed_video_jpeg_quant\[ASPEED_VIDEO_JPEG_QUANT_SIZE\][ ]=' drivers/media/platform/aspeed-video.c + defsnc 'static[ ]const[ ]u32[ ]aspeed_video_jpeg_dct\[ASPEED_VIDEO_JPEG_NUM_QUALITIES\][\n\t ]*\[ASPEED_VIDEO_JPEG_DCT_SIZE\][ ]=' drivers/media/platform/aspeed-video.c + defsnc '[\t]static[ ]u8[ ]rss_key\[AQ_CFG_RSS_HASHKEY_SIZE\][ ]=' drivers/net/ethernet/aquantia/atlantic/aq_nic.c + defsnc 'static[ ]const[ ]u16[ ]mlxsw_sp_acl_bf_crc_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c + defsc '[\t]*ipu3_css_bds_configs\[IMGU_BDS_CONFIG_LEN\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]s16[ ]ipu3_css_gdc_lut\[4\]\[256\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]struct[ ]ipu3_uapi_bnr_static_config[ ]ipu3_css_bnr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]struct[ ]ipu3_uapi_gamma_corr_lut[ ]ipu3_css_gamma_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc '[\t]*ipu3_css_tcc_gain_pcwl_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]struct[ ]imgu_abi_anr_config[ ]ipu3_css_anr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]\(luma\|chroma\)_\(q\|ac\)_table\[\][ ]=' drivers/staging/media/rockchip/vpu/rockchip_vpu_jpeg.c + defsc 'static[ ]const[ ]unsigned[ ]char[ ]rockchip_vpu_jpeg_header\[JPEG_HEADER_SIZE\][ ]=' drivers/staging/media/rockchip/vpu/rockchip_vpu_jpeg.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]fontdata_ter16x32\[FONTDATAMAX\][ ]=' lib/fonts/font_ter16x32.c + accept '[\t][\t]\([{][ ]timeout\|["]tests[/]\|[!][ ]grep[ ]-Eq\)[^\n]*[ ]["]tests\/\$[{]testname[}]\.vg\.out["]' tools/lib/lockdep/run_tests.sh + blobname 'amdgpu[/]\(%s\|picasso\)_rlc\(_am4\)\?\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + blobname 'amdgpu[/]\(%s\|vega20\)_ta\.bin' drivers/gpu/drm/amd/amdgpu/psp_v11_0.c + blobname 'yamato_\(pm4\|pfp\)\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'leia_\(pm4\|pfp\)_470\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'nvidia[/]tegra194[/]vic\.bin' drivers/gpu/drm/tegra/vic.c + blobname 'qtn[/]\(fmac\|uboot\)_qsr1000\.img' drivers/net/wireless/quantenna/qtnfmac/qtn_hw_ids.h + accept '\(static[ ]inline[ ]void[ ]\|[\t]*\)pqi_request_firmware_feature[(]' drivers/scsi/smartpqi/smartpqi_init.c + blobname 'intel[/]ipu3-fw\.bin' drivers/staging/media/ipu3/ipu3-css-fw.h + blobname 'intel[/]dsp_fw_icl\.bin' sound/soc/intel/common/soc-acpi-intel-icl-match.c + # SOF stands for Sound Open Firmware, and it is Free Software. + # blobname '\(sof\|reef\)-icl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-icl-match.c + blobname 'iwl-dbg-tlv\.ini' drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c + accept '\(static[ ]int[ ]\|[\t]*\)brcmf_fw_request_firmware[(]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c + blobna 'snprintf[(]version[,][ ]ETHTOOL_FWVERS_LEN[,][ ]["][ ]storm[ ]%d\.%d\.%d\.%d["]\([,][ \t\n]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)\+[)]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c + # In case the command matched by the above is changed and it then + # fails to match, catch the snprintf format string, since the FW + # macros will be caught and dropped by other much earlier patterns. + blobname '[ ]storm[ ]%d\.%d\.%d\.%d' drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c + # These are probably older, we did not check for .ri and .tplg before. + # blobname 'intel[/]\(sof\|reef\)-apl\(\.ri\|-\(rt298\|da7219\|pcm512x\|wm8804\|tdf8532\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-bxt-match.c + # blobname 'intel[/]\(sof\|reef\)-byt\(\.ri\|-\(rt5670\|rt5640\|rt5651\|da7213\|rt5645\|max98090\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-byt-match.c + # blobname 'intel[/]\(sof\|reef\)-cht\(\.ri\|-\(rt5645\|rt5670\|max98090\|nau8824\|da7213\|es8316\|rt5640\|rt5651\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cht-match.c + # blobname 'intel[/]\(sof\|reef\)-cnl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cnl-match.c + # blobname 'intel[/]\(sof\|reef\)-glk\(\.ri\|-\(alc298\|da7219\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-glk-match.c + # blobname 'intel[/]\(sof\|reef\)-hda-generic\.tplg' sound/soc/intel/common/soc-acpi-intel-hda-match.c + # blobname 'intel[/]\(sof\|reef\)-hsw\(\.ri\|\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c + # blobname 'intel[/]\(sof\|reef\)-bdw\(\.ri\|-\(rt286\|rt5677\|rt5640\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c + accept '[\t][\t]pr_err[(]["]%s:[ ]request_firmware[ ]error' drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c + + # New in 5.0.7. + accept '[\t]*[/]bin[/]bash[ ]["]tests[/][$][{]testname[}]\.sh["][ ][<][ ]["]tests[/][$][{]testname[}]\.vg\.out["]' tools/lib/lockdep/run_tests.sh + + # New in 5.1-rc6. + initnc '.Lbyteshift_table:' 'arch/arm/crypto/crct10dif-\(ce-core\|pcl-asm_64\)\.S' + defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|256\|512\)_aes_cbc_tv_temp\[\][ ]=' crypto/testmgr.h + defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|224\|256\|384\|512\)_des_cbc_tv_temp\[\][ ]=' crypto/testmgr.h + defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|224\|256\|384\|512\)_des3_ede_cbc_tv_temp\[\][ ]=' crypto/testmgr.h + defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]\(aes_\(gcm_rfc4106\|ccm_rfc4309\)\|rfc7539\(\|esp\)\)_tv_template\[\][ ]=' crypto/testmgr.h + initnc '\t\.entries[ ]=' drivers/clk/tegra/clk-tegra124-dfll-fcpu.c + accept '[ ][ ]*gf100_gr_init_fw[(]gr->fecs\.falcon[,][ ][&]gr->fuc409c[,][ ][&]gr->fuc409d[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[ ][ ]*gf100_gr_init_fw[(]gr->gpccs\.falcon[,][ ][&]gr->fuc41ac[,][ ][&]gr->fuc41ad[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + defsnc 'static[ ]const[ ]struct[ ]kingdisplay_panel_cmd[ ]init_code\[\][ ]=' drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c + defsnc 'static[ ]const[ ]struct[ ]ov8856_reg[ ]mode_\(3280x2464\|1640x1232\)_regs\[\][ ]=' drivers/media/i2c/ov8856.c + defsnc 'static[ ]const[ ]u8[ ]hclge_hash_key\[\][ ]=' drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c + defsnc 'static[ ]const[ ]u8[ ]hclgevf_hash_key\[\][ ]=' drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c + defsnc 'static[ ]const[ ]u32[ ]max77651_sbb1_regulator_volt_table\[\][ ]=' drivers/regulator/max77650-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]pv88090_buck1_limits\[\][ ]=' drivers/regulator/pv88090-regulator.c + defsc '\t*imgu_css_bds_configs\[IMGU_BDS_CONFIG_LEN\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]s16[ ]imgu_css_gdc_lut\[4\]\[256\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsc 'const[ ]struct[ ]ipu3_uapi_bnr_static_config[ ]imgu_css_bnr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]struct[ ]ipu3_uapi_gamma_corr_lut[ ]imgu_css_gamma_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc '\t*imgu_css_tcc_gain_pcwl_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]struct[ ]imgu_abi_anr_config[ ]imgu_css_anr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'static[ ]struct[ ]channel_list[ ]channel_array\[\][ ]=' drivers/staging/rtl8192e/dot11d.c + accept '\t*sprintf[(]fname[,][ ]["]hbm\.%d\.out["]' samples/bpf/hbm.c + accept '\tsnd_card_ro_proc_new[(]hdspm-[>]card[,][ ]["]ports\.out["]' sound/pci/rme9652/hdspm.c + defsnc 'static[ ]const[ ]struct[ ]cs35l36_pll_config[ ]cs35l36_pll_sysclk\[\][ ]=' sound/soc/codecs/cs35l36.c + defsnc 'static[ ]const[ ]u8[ ]table_msbc_silence\[SCO_PACKET_180\][ ]=' sound/soc/mediatek/common/mtk-btcvsd.c + accept '[#][ ]that[ ]of[ ]the[ ]specified[ ]litmus[ ]test[,][ ]but[ ]with[ ]["]\.out["][ ]appended' tools/memory-model/scripts/checkalllitmus.sh + accept '\t\.data[ ]=[ ][{]\([\n\t ]*0\(\|x08\|x06\|x10\)*[,]\)*\([ ]0x\(bf\|48\|d6\|43\)[,]\)*[ ]0xd6[,]' tools/testing/selftests/bpf/verifier/ld_abs.c + blobname 'habanalabs[/]goya[/]goya-\(u-boot\.bin\|fit\.itb\)' drivers/misc/habanalabs/goya/goya.c + blobname 'mrvl[/]sd8977_uapsta\.bin' 'drivers/bluetooth/btmrvl_sdio\.c\|drivers/net/wireless/marvell/mwifiex/sdio\.h' + blobname 'mediatek[/]mt766[38]pr2h\.bin' drivers/bluetooth/btmtkuart.c + blobname 'mt76\(03\|28\)_e[12]\.bin' drivers/net/wireless/mediatek/mt76/mt7603/mt7603.h + blobname 'gsl3676-chuwi-hi8-air\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-chuwi-hi10-air\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl3692-pov-mobii-wintab-p1006w-v10\.fw' drivers/platform/x86/touchscreen_dmi.c + # blobname '\(sof\|reef\)-apl\(\.ri\|-\(rt298\|da7219\|pcm512x\|wm8804\|tdf8532\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-bxt-match.c + # blobname '\(sof\|reef\)-byt\(\.ri\|-\(rt5670\|rt5640\|rt5651\|da7213\|es8316\|rt5645\|max98090\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-byt-match.c + # blobname '\(sof\|reef\)-cht\(\.ri\|-\(rt5645\|rt5670\|rt5645\|max98090\|nau8824\|da7213\|es8316\|rt5640\|rt5651\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cht-match.c + # blobname '\(sof\|reef\)-cnl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cnl-match.c + # blobname '\(sof\|reef\)-glk\(\.ri\|-\(alc298\|da7219\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-glk-match.c + # blobname '\(sof\|reef\)-hda-generic\.tplg' sound/soc/intel/common/soc-acpi-intel-hda-match.c + # blobname '\(sof\|reef\)-hsw\(\.ri\|\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c + # blobname '\(sof\|reef\)-bdw\(\.ri\|-\(rt286\|rt5677\|rt5640\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c + # blobname '\(sof\|reef\)-icl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-icl-match.c + blobna '[/][*][ ]brcmfmac4366c-pcie\.\(ap\.\)\?bin[ ]from[ ]linux-firmware\.git[ ]commit[ ][0-9a-f]*[ ][*][/]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c + blobname 'iwlwifi-[^ ]*-[ab]0-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c + blobname 'iwlwifi-\(\(QuZ-a0-hr\|QuQnj-b0-jf\|so-a0-\(jf\|hr\)\)-b0\|\(cc\|\(so\|ty\)-a0-gf\)-a0\)-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c + + # New in 5.1.2, 5.0.16, 4.19.43, 4.14.119, and 4.9.176. + accept '[ ][ ]the[ ]CPUID[ ]to[ ]the[ ]guest[.][ ]If[ ]the[ ]host[ ]has[ ]updated[ ]microcode[ ]the[ ]protection' 'Documentation/\(admin-guide/\)\?hw-vuln/mds\.rst' + accept 'instruction[ ]in[ ]combination[ ]with[ ]a[ ]microcode[ ]update[.][ ]The[ ]microcode[ ]clears' Documentation/x86/mds.rst + accept '[ \t]*scenarios[ ]where[ ]the[ ]host[ ]has[ ]the[ ]updated[ ]microcode[ ]but' Documentation/x86/mds.rst + + # New in 5.2. + blobname 'nvidia[/]%s[/]%s\(-%d\)\?\.bin' drivers/gpu/drm/nouveau/nvkm/core/firmware.c + accept '\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\([\n]\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\)*' Documentation/packing.txt + blobname 'amd-ucode[/]microcode_amd[*]\.bin' Documentation/x86/microcode.rst + accept '[ ][ ]CONFIG_EXTRA_FIRMWARE=["][/][*][(]DEBLOBBED[)][*][/][ ][/][*][(]DEBLOBBED[)][*][/]["]' Documentation/x86/microcode.rst + blobname 'imx[/]sdma[/]sdma-imx7d\.bin' arch/arm64/boot/dts/freescale/imx8mq.dtsi + # Still very suspicious, but it doesn't look like code, and the + # license, if it can be trusted, makes it acceptable for magic + # data numbers. + defsc 'static[ ]uint32_t[ ]onyx_images\[\]\[PCXU_IMAGE_SIZE[/]sizeof[(]uint32_t[)]\][ ]__ro_after_init[ ]=' arch/parisc/kernel/perf_images.h + defsc 'static[ ]uint32_t[ ]cuda_images\[\]\[PCXW_IMAGE_SIZE[/]sizeof[(]uint32_t[)]\][ ]__ro_after_init[ ]=' arch/parisc/kernel/perf_images.h + defsc '[\t]struct[ ]prng_parm[ ]prng[ ]=' arch/s390/boot/kaslr.c + defsc '[\t]u8[ ][*]pg[,][ ]pblock\[80\][ ]=' arch/s390/crypto/prng.c + defsnc '__visible[ ]const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]____cacheline_aligned[ ]=' crypto/aes_generic.c + blobname 'mrvl[/]sd8987_uapsta\.bin' 'drivers/\(bluetooth/btmrvl_sdio\.c\|net/wireless/marvell/mwifiex/sdio\.h\)' + blobname 'mediatek[/]mt766[38]pr2h\.bin' drivers/bluetooth/btmtksdio.c + blobname 'amdgpu[/]%s_kicker_rlc\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + defsnc 'static[ ]struct[ ]profile_mode_setting[ ]smu7_profiling\[7\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c + blobname 'a630_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c + accept '[\t]dsi_generic_write_seq[(]dsi[,][ ]ST7703_CMD_SET\(GIP[12]\|GAMMA\)\([, \t\n]*0x[0-9A-F][0-9A-F]\)*[)][;]' drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c + blobname 'intel[/]%s' drivers/hid/intel-ish-hid/ishtp-fw-loader.c + defsnc 'const[ ]unsigned[ ]int[ ]wm831x_isinkv_values\[WM831X_ISINK_MAX_ISEL[ ][+][ ]1\][ ]=' drivers/mfd/wm831x-core.c + # File name is supplied through ethtool. + accept '[\t]*status[ ]=[ ]request_firmware[(][&]ddp_config[,][ ]profile_name[,]' drivers/net/ethernet/intel/i40e/i40e_ddp.c + defsnc 'static[ ]const[ ]u16[ ]iwl_\(ext\|uhb\)_nvm_channels\[\][ ]=' drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c + blobname 'brcmfmac43012-sdio' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'mt7615_\(cr4\|n9\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3853\[\][ ]=' drivers/net/wireless/ralink/rt2x00/rt2800lib.c + accept '[\t]fw->firmware[ ]=[ ]firmware[;]' drivers/net/wireless/realtek/rtw88/main.c + defsnc 'static[ ]const[ ]u32[ ]db_invert_table\[12\]\[8\][ ]=' drivers/net/wireless/realtek/rtw88/phy.c + blobname 'rtw88[/]rtw8822b_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8822b.c + defsnc 'static[ ]const[ ]u32[ ]rtw8822b_\(mac\|agc\|bb\(\|_pg_type[25]\)\|rf_[ab]\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc 'static[ ]const[ ]u8[ ]rtw8822b_txpwr_lmt_type[25]\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + blobname 'rtw88[/]rtw8822c_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8822c.c + defsnc 'static[ ]const[ ]u32[ ]rtw8822c_\(agc\|bb\(\|_pg_type0\)\|rf_[ab]\|array_mp_cal_init\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c_table.c + defsnc 'static[ ]const[ ]u8[ ]rtw8822c_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c_table.c + blobname 'gsl3692-jumper-ezpad-6-pro-b\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-myria-my8307\.fw' drivers/platform/x86/touchscreen_dmi.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]max77651_sbb1_regulator_volt_table\[\][ ]=' drivers/regulator/max77650-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]isink_cur\[\][ ]=' drivers/regulator/wm8350-regulator.c + blobname 'ql2800_fw\.bin' drivers/scsi/qla2xxx/qla_os.c + accept 'static[ ]const[ ]struct[ ]tegra_xusb_soc[ ]tegra186_soc[ ]=[ ][{][\n][\t][.]firmware[ ]=' drivers/usb/host/xhci-tegra.c + blobname 'nvidia[/]tegra186[/]xusb\.bin' drivers/usb/host/xhci-tegra.c + blobname 'ccg_\(boot\|primary\|secondary\)\.cyacd' drivers/usb/typec/ucsi/ucsi_ccg.c + defsnc 'static[ ]const[ ]struct[ ]utf8data[ ]utf8nfdi\(cf\|\)data\[\][ ]=' fs/unicode/utf8data.h_shipped + defsc 'static[ ]const[ ]unsigned[ ]char[ ]utf8data\[64256\][ ]=' fs/unicode/utf8data.h_shipped + accept '[\t]*\.sof_fw_filename[ ]=[ ]["]\(intel[/]\)\?\(sof\|reef\)-[^" ;]*\.ri["]' sound/soc/intel/common/soc-acpi-intel-'\(b[xy]t\|cht\|cnl\|icl\|glk\|hda\|hsw-bdw\|kbl\|skl\)-match\.c' + accept '[\t]*\.sof_tplg_filename[ ]=[ ]["]\(intel[/]\)\?\(sof\|reef\)-[^" ;]*\.tplg["]' sound/soc/intel/common/soc-acpi-intel-'\(b[xy]t\|cht\|cnl\|icl\|glk\|hda\|hsw-bdw\|kbl\|skl\)-match\.c' + accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n\t ]*["]%s-idisp\.tplg["][,][ ]split_ext[)]' sound/soc/sof/intel/hda.c + accept '[\t]ret[ ]=[ ]request_firmware[(][&]plat_data->fw[,][ ]fw_filename[,][ ]sdev->dev[)]' sound/soc/sof/loader.c + accept '[\t]*\.\(nocodec\|sof\)_fw_filename[ ]=[ ]["]\(sof\|reef\)-[^" ;]*\.ri["]' sound/soc/sof/'\(sof\|reef\)-\(acpi\|pci\)-dev\.c' + accept '[\t]*\.\(nocodec\|sof\)_tplg_filename[ ]=[ ]["]\(sof\|reef\)-[^" ;]*\.tplg["]' sound/soc/sof/'\(sof\|reef\)-\(acpi\|pci\)-dev\.c' + accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]file[,][ ]sdev->dev[)]' sound/soc/sof/topology.c + # blobname '\(sof\|reef\)-byt-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-byt-match.c + # blobname '\(sof\|reef\)-cht-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-cht-match.c + # blobname '\(sof\|reef\)-cml-rt5682\(-max98357a\)\?\.tplg' sound/soc/intel/common/soc-acpi-intel-cnl-match.c + # blobname '\(sof\|reef\)-glk-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-glk-match.c + # blobname '\(sof\|reef\)-icl-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-icl-match.c + # blobname '%s-idisp\.tplg' sound/soc/sof/intel/hda.c + # blobname '\(sof\|reef\)-\(hsw\|bdw\|byt\|cht\)\(\.ri\|\(-nocodec\)\?\.tplg\)' sound/soc/sof/'\(sof\|reef\)-acpi-dev\.c' + # blobname '\(sof\|reef\)-\(apl\|glk\|cnl\|icl\|skl\|kbl\)\(\.ri\|\(-nocodec\)\?\.tplg\)' sound/soc/sof/'\(sof\|reef\)-pci-dev\.c' + + # New in 5.2.1, 5.1.18, and 4.19.58. + accept '[ ][ ][ ]the[ ]latest[ ]updated[ ]microcode\.' Documentation/admin-guide/hw-vuln/spectre.rst + + # New in 5.2.3, 5.1.20, and 4.19.61. + defsnc 'static[ ]const[ ]u32[ ]runnable_avg_yN_inv\[\][ ]__maybe_unused[ ]=' kernel/sched/sched-pelt.h + + # New in 5.3. + accept 'int[ ]rtl_fw_request_firmware[(]' drivers/net/ethernet/realtek/r8169_firmware.c + accept '[\t]if[ ][(]rtl_fw_request_firmware[(]' drivers/net/ethernet/realtek/r8169_main.c + defsnc 'static[ ]const[ ]struct[ ]phy_reg[ ]rtl8168d_1_phy_reg_init_0\[\][ ]=' drivers/net/ethernet/realtek/r8169_main.c + defsnc '[ ][ ]const[ ]char[ ]parity\[256\][ ]=' Documentation/driver-api/mtd/nand_ecc.rst + defsc 'static[ ]const[ ]struct[ ]si5341_reg_default[ ]si5341_reg_defaults\[\][ ]=' drivers/clk/clk-si5341.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_\([56789]\|1[012]\)tap_16p_\(upscale\|117\|150\|183\)\[\(45\|54\|63\|72\|81\|9[09]\|108\)\][ ]=' drivers/gpu/drm/amd/display/dc/dcn20/dcn20_dwb_scl.c + defsnc 'const[ ]qp_table[ \t]\+qp_table_4\(2[02]\|44\)_\(8\|1[02]\)bpc_m\(in\|ax\)[ ]=' drivers/gpu/drm/amd/display/dc/dsc/qp_tables.h + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(DCN\|RSMU\|VCN\)_BASE[ \t]\+=' drivers/gpu/drm/amd/include/navi10_ip_offset.h + defsnc 'rdma_dim_prof\[RDMA_DIM_PARAMS_NUM_PROFILES\][ ]=' drivers/infiniband/core/cq.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]applespi_scancodes\[\][ ]=' drivers/input/keyboard/applespi.c + defsc 'const[ ]u32[ ]isc_gamma_table\[GAMMA_MAX[ ][+][ ]1\]\[GAMMA_ENTRIES\][ ]=' drivers/media/platform/atmel/atmel-isc.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l92_reva_\(16\|32\)_patch\[\][ ]=' drivers/mfd/cs47l92-tables.c + defsc 'static[ ]const[ ]unsigned[ ]char[ ]hantro_jpeg_header\[JPEG_HEADER_SIZE\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsnc 'static[ ]const[ ]u8[ ]zigzag\[64\][ ]=' drivers/staging/media/hantro/hantro_mpeg2.c + defsnc 'static[ ]u64[ ]intervals[0124]\[\][ ]__initdata[ ]=' kernel/irq/timings.c + defsnc 'static[ ]struct[ ]etab[ ]Tab\[\][ ]=' lib/reed_solomon/test_rslib.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1011_reg\[\][ ]=' sound/soc/codecs/rt1011.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1308_reg\[\][ ]=' sound/soc/codecs/rt1308.c + for n in ptwrite cbr mwait pwre exstop pwrx context_switches; do + defsnc "$n"'_file[ \t]*=[ ]open_output_file[(]["]'"$n"'_table\.bin["][)]' tools/perf/scripts/python/export-to-postgresql.py + done + blobname 'nvm_00440302\.bin' Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt + blobname 'crnv21\.bin' Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt + accept 'bpp\([ ]\+[0-9]\+x[0-9]\+\)*[\n][ =]*\([\n][ ]*[0-9]\+\([ ]*0x[0-9A-F]*\)*\)*' Documentation/fb/matroxfb.rst + accept '[ ][ ]pct[ ]confidence[ ]steady[ ]dynamic[ ][(]compensation[)]\([\n][ ]*[0-9]\([ ]\+[0123]\)\+\)\+[\n][ ]*[.]*\([\n][ ]*[34][0-9]\([ ]\+[0123]\)\+\)\+' Documentation/thermal/intel_powerclamp.rst + blobname 'amdgpu[/]navi10_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]%s_ta\.bin' drivers/gpu/drm/amd/amdgpu/psp_v11_0.c + blobname 'i915[/]\(["][ ][\\][\n][\t]__stringify[(]KEY##_GUC_FW_\(PREFIX\|MAJOR\|MINOR\|PATCH\)[)][ ]["][^"]*\)\+' drivers/gpu/drm/i915/intel_guc_fw.c + blobname 'a540_\(gpmu\.fw2\|zap\.mdt\)' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'dvb-tuner-si2157-a30-01\.fw' drivers/media/tuners/si2157_priv.h + accept 'static[ ]struct[ ]dvb_usb_device_properties[\n]cxusb_bluebird_\(lgh064f\|dee1601\|lgz201\|dtt7579\|nano2_needsfirmware\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/cxusb.c + blobname 'v4l-pvrusb2-160xxx-01\.fw' drivers/media/usb/pvrusb2/pvrusb2-devattr.c + blobname 'gsl1680-chuwi-hi10plus\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname '%s%pUL%s["][,][\n \t]*["]intel[/]dsp_fw_["][,][ ]guid[,][ ]["]\.bin' sound/soc/intel/skylake/skl-sst.c + blobname 'qcom[/]db845c[/]\(adsp\|cdsp\)\.mdt' arch/arm64/boot/dts/qcom/sdm845-db845c.dts + accept '[\t]rpi->firmware[ ]=[ ]' drivers/clk/bcm/clk-raspberrypi.c + blobname 'display_hdcp_srm\.bin' drivers/gpu/drm/drm_hdcp.c + accept '[ ][*][ ]SRM[ ]should[ ]be[ ]presented[ ]in[ ]the[ ]name[ ]of[ ]["][^"]*["]' drivers/gpu/drm/drm_hdcp.c + accept '[\t]s6e63m0_dcs_write_seq_static[(]ctx[,][ ]0xb[579]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-samsung-s6e63m0.c + # The link to "source" for this and other firmware files in + # LibreELEC meson-firmware is broken, but I tracked it down and + # it's just a binary blob encoded as an array initializer. + blobname 'meson[/]vdec[/]gxl_mpeg12\.bin' drivers/staging/media/meson/vdec/vdec_platform.c + accept '[\t]echo[ ]-n[ ]["]Batched[ ]request_firmware\(_direct\|_nowait\)\?[(]' tools/testing/selftests/firmware/fw_filesystem.sh + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]file_name[,]\([^\n]*[\n]\+[^\n}]\)*return[ ]mlx5_firmware_flash[(]dev[,][ ]fw[,]' drivers/net/ethernet/mellanox/mlx5/core/devlink.c + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlx5_firmware_flash[(]mdev[,][ ]fw[,]' drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c + # This firmware file name is supplied by the user, + # but there's another in the same source file (way above) that is hardcoded. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]firmware[,][ ]\(fw_filename\|file_name\)[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlxsw_sp_firmware_flash[(]mlxsw_sp[,][ ]firmware[,]' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'al5e\(_b\)\?\.fw' drivers/staging/media/allegro-dvt/allegro-core.c + # Sources are in cwsr_trap_handler_gfx10.asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx10_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + blobname 'amdgpu[/]%s_mes\.bin' drivers/gpu/drm/amd/amdgpu/mes_v10_1.c + accept 'static[ ]int[ ]allegro_firmware_request_nowait[(]' drivers/staging/media/allegro-dvt/allegro-core.c + accept '[\t]ret[ ]=[ ]allegro_firmware_request_nowait[(]' drivers/staging/media/allegro-dvt/allegro-core.c + + # New in 5.3.4 and 5.2.19 + defsnc '[\t]static[ ]const[ ]struct[ ]hda_alc298_mbxinit[ ]dac_init\[\][ ]=' sound/pci/hda/patch_realtek.c + blobname 'mediatek[/]mt7615_\(cr4\|n9\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + + # WIP: False positives of suspicious extensions followed by anything + # other than quotes. + accept '\(BIN\|IHEX\)[\t]:=[ ][$][(]patsubst[ ]%\.S[,][ ]%\.bin\(\.ihex\)\?' Documentation/EDID/Makefile + accept '[\t]@rm[ ]-f[ ][*]\.o[ ][*]\.bin\.ihex[ ][*]\.bin[ ]' Documentation/EDID/Makefile + accept '%\.bin\(\.nocrc\|\.ihex\)\?:[\t]%\.[op]' Documentation/EDID/Makefile + accept '%\.crc:[\t]%\.bin\.nocrc' Documentation/EDID/Makefile + accept '[ ]*[(]e\.g\.[ ]support[ ]for[ ]RAM[ ]disks[,][ ]initrd[,][ ]a\.out[,]' Documentation/admin-guide/initrd.rst + accept '[\t]*System\.out\.println' Documentation/admin-guide/java.rst + accept '[\t]*edid[/]1024x768\.bin[,][ ]edid[/]1280x1024\.bin[,]' Documentation/admin-guide/kernel-parameters.txt + accept '[\t]*edid[/]1680x1050\.bin[,][ ]or[ ]edid[/]1920x1080\.bin[,]' Documentation/admin-guide/kernel-parameters.txt + accept '[ ]*disk[ ]=[ ]\[[ ][\'"'"']file:[/]root[/]rhel5\.img[,]' Documentation/ia64/xen.rst + accept '[\t]*[$][(]obj[)][/]vmlinux\.bin\.gz:[ ][$][(]vmlinux\.bin\.all-y[)]' Documentation/kbuild/makefiles.rst + accept 'raw2pnm[ ]-x2560[ ]-y1920[ ]-fNV12[ ][/]tmp[/]frames\.out[ ][/]tmp[/]frames\.out\.ppm' Documentation/media/v4l-drivers/ipu3.rst + accept 'the[ ]file[ ]is[ ]6pack\.bin\.' Documentation/networking/6pack.txt + accept 'CMAGIC[ ]*0x0111[ ]*user[ ]*``include[/]linux[/]a\.out\.h``' 'Documentation/\(process\|translations/\(it_IT\|zh_CN\)\)/magic-number\.rst' + accept '[ ]*[#][ ]\(echo[ ][\'"'"']\|trigger[ ]info:[ ]\)[!]\?hist:\(name=foo:\)\?keys=\(skbaddr\|call_site\)\.hex:' Documentation/trace/histogram.rst + accept '#include[ ][<]\(linux\|uapi[/]asm\)[/]a\.out\.h[>]' 'arch/\(alpha/\(boot/tools/objstrip\.c\|include/asm/a\.out\.h\|kernel/binfmt_loader\.c\)\|x86/ia32/ia32_aout\.c\)' + accept 'targets[ ]:=[ ]vmlinux\.bin[ ]vmlinux\.bin\.gz[ ]' arch/arc/boot/Makefile + accept 'extra-y[ ][+]=[ ]vmlinux\.bin\.\(gz\|lzma\)' arch/arc/boot/Makefile + accept '[$][(]obj[)][/]\(vmlinuz\.bin\(\.gz\|\.lzma\)\?\|uImage\.\(bin\|gz\|lzma\)\):[ ]\([$][(]obj[)][/]\)\?vmlinux\(\.bin\(\.gz\|\.lzma\)\?\)\?[ ]' arch/arc/boot/Makefile + accept '[\t][ ][*][ ]using[ ]flashwriter_nand\.out[,][ ]but' arch/arm/mach-davinci/board-dm644x-evm.c + accept '[\t]fw[ ]=[ ]am200_board\.fw[;]' arch/arm/mach-pxa/am200epd.c + accept '[#][ ]Default[ ]to[ ]vmlinuxz.bin[,][ ]override' arch/c6x/Makefile + accept 'vmlinux\.bin:[ ]vmlinux' 'arch/\(c6x\|ia64\)/Makefile' + accept '[$][(]obj[)][/]vmlinux\.bin:' 'arch/\(c6x\|mips\|nios2\|parisc\|s390\|sh\|x86\)/boot/\(compressed/\)\?Makefile' + accept 'vmlinux\.srec[ ]vmlinux\.bin[ ]zImage[ ]uImage\.bin:[ ]vmlinux' arch/h8300/Makefile + accept '[$][(]obj[)][/]vmlinux\.srec[ ][$][(]obj[)][/]vmlinux\.bin:' arch/h8300/boot/Makefile + accept '[$][(]obj[)][/]uImage\.bin:[ ][$][(]obj[)][/]vmlinux\.bin' arch/h8300/boot/Makefile + accept 'targets[\t]*:=[ ]vmlinux[ ]vmlinux\.bin[ ]vmlinux\.bin\.gz' arch/h8300/boot/compressed/Makefile + accept '[$][(]obj[)][/]\(vmlinux\.bin\(\.[$][(]suffix-y[)]\)\?\|piggy\.o\):\([ ]\([$][(]obj[)][/]\)\?vmlinux\(\.scr\|\.bin\(\.[$][(]suffix-y[)]\)\?\)\?\)*' arch/h8300/boot/compressed/Makefile + accept 'PHONY[ ][+]=[ ]linux\.bin[ ]linux\.bin\.gz[ ]linux\.bin\.ub' arch/microblaze/Makefile + accept 'linux\.bin\.ub[ ]linux\.bin\.gz:[ ]linux\.bin' arch/microblaze/Makefile + accept 'linux\.bin:[ ]vmlinux' arch/microblaze/Makefile + accept 'linux\.bin[ ]linux\.bin\.gz[ ]linux\.bin\.ub:' arch/microblaze/Makefile + accept '[ ]*echo[ ][\'"'"'][ ]*linux.bin.\(gz\|ub\)' arch/microblaze/Makefile + accept 'targets[ ]:=[ ]linux\.bin[ ]linux\.bin\.gz[ ]linux\.bin\.ub' arch/microblaze/boot/Makefile + accept '[$][(]obj[)][/]linux\.bin\(\.ub\|\.gz\)\?:[ ]\([$][(]obj[)][/]\|vm\)\?linux\(\.bin\)\?[ ]' arch/microblaze/boot/Makefile + accept '[\t]*[ ]*DTB[)][ ]appended[ ]to[ ]raw[ ]vmlinux\.bin[ ]or[ ]vmlinuz\.bin\.' arch/mips/Kconfig + accept '[\t]*[ ]*to[ ]vmlinux\.bin\.' arch/mips/Kconfig + accept 'extra-y[ ][+]=[ ]vmlinux\.bin\.\(bz2\|gz\|lzma\|lzo\)' arch/mips/boot/Makefile + accept '[$][(]obj[)][/]\(vmlinux\|uImage\)\(\.\(bin\|bz2\|gz\|lzma\|lzo\)\)\+:[ ][$][(]obj[)][/]vmlinux\.bin[ ]' arch/mips/boot/Makefile + accept '[\t][$][(]call[ ]if_changed[,]cpp_its_S[,]\(gzip\|bzip2\|lzma\|lzo\)[,]vmlinux\.bin\.\(gz\|bz2\|lzma\|lzo\)[)]' arch/mips/boot/Makefile + accept '[$][(]obj[)][/]vmlinux\(.%\)\?\.itb:[ ][$][(]obj[])[/]vmlinux\(.%\)\?\.its[ ][$][(]obj[)][/]vmlinux\(.%\)\?\.bin[ ]' arch/mips/boot/Makefile + accept 'targets[ ][+]=[ ]vmlinux\.bin\.z' arch/mips/boot/compressed/Makefile + accept '[$][(]obj[)][/]vmlinux\.bin\.z:[ ][$][(]obj[)][/]vmlinux\.bin[ ]' arch/mips/boot/compressed/Makefile + accept 'OBJCOPYFLAGS_piggy\.o[ ]:=[ ]--add-section=\.image=[$][(]obj[)][/]vmlinux\.bin\.z[ ]' arch/mips/boot/compressed/Makefile + accept '[$][(]obj[)][/]piggy\.o:\([ ][$][(]obj[)][/]\(dummy\.o\|vmlinux\.bin\.z\)\)*' arch/mips/boot/compressed/Makefile + accept 'vmlinuz\.bin:[ ]vmlinuz' arch/mips/boot/compressed/Makefile + accept 'uzImage\.bin:[ ]vmlinuz\.bin[ ]' arch/mips/boot/compressed/Makefile + accept '[\t]return[ ]read_cmd\.s\.dat[;]' arch/mips/cavium-octeon/executive/octeon-model.c + accept '[\t]*\(\(if\|switch\)[ ][(]\|opcode[ ]=[ ]\)\(inst_mips16e\|inst\|mips16inst\)\.ri\.opcode' 'arch/mips/kernel/\(branch\|unaligned\)\.c' + accept '[\t]*reg[ ]=[ ]reg16to32\[mips16inst\.ri\.rx\]' arch/mips/kernel/unaligned.c + accept '[\t]*switch[ ][(]mips16inst\.ri\.imm[ ]' arch/mips/kernel/unaligned.c + accept 'rom\.bin:[\t][$][(]obj[)][/]rom\.bin' arch/mips/lasat/image/Makefile + accept '[$][(]obj[)][/]\(rom\|kImage\)\.bin:' arch/mips/lasat/image/Makefile + accept 'targets[ ][:+]=\([ ]vmlinux\(\.\(lds\|bin\(\.\(gz\|bz2\|xz\|lzma\|lzo\|lz4\)\)\?\)\)\?\)*' 'arch/\(parisc\|s390\)/boot/compressed/Makefile' + accept 'vmlinux\.bin\.all-y[ ]:=[ ][$][(]obj[)][/]vmlinuz\.bin' 'arch/\(parisc\|s390\)/boot/compressed/Makefile' + accept '[$][(]obj[)][/]vmlinux\.bin\.\(gz\|bz2\|lz4\|lzma\|lzo\|xz\):[ ][$][(]vmlinux\.bin\.all-y[)]' 'arch/\(parisc\|s390\|sh\|x86\)/boot/compressed/Makefile' + accept '[$][(]obj[)][/]piggy\.o:\([ ][$][(]obj[)][/]vmlinux\.\(scr\|bin\.[$][(]suffix-y[)]\)\)*' 'arch/\(parisc\|sh\)/boot/compressed/Makefile' + accept '[\t][/][*][ ]vmlinux\.bin\.gz[ ]is[ ]here[ ][*][/]' arch/parisc/boot/compressed/vmlinux.lds.S + accept 'zImage\.bin\.[*]' arch/powerpc/boot/.gitignore + accept '[$][(]obj[)][/]spu_%\.bin:[ ][$][(]src[)][/]spu_%' arch/powerpc/platforms/cell/spufs/Makefile + accept '[$][(]obj[)][/]info.bin:' arch/s390/boot/compressed/Makefile + accept 'vmlinux\.bin\.all-y[ ]:=[ ][$][(]obj[)][/]vmlinux.bin' 'arch/\(s390\|sh\|x86\)/boot/compressed/Makefile' + accept 'OBJCOPYFLAGS_piggy\.o[ ]:=[ ]-I[ ]binary[ ]-O[ ]elf64-s390[ ]-B[ ]s390:64-bit[ ]--rename-section[ ]\.data=\.vmlinux\.bin\.compressed' arch/s390/boot/compressed/Makefile + accept '[\t]*[*][(]\.vmlinux\.bin\.compressed[)]' arch/s390/boot/compressed/vmlinux.lds.S + accept 'extra-y[ ][+]=\([ ]\([\\][\n][\t][ ]*\)\?vmlinux\.bin\(\.\(bz2\|gz\|lzma\|lzo\|xz\)\)\?\)*' arch/sh/boot/Makefile + accept '[$][(]obj[)][/]\(vmlinux\|uImage\)\(\.\(bin\|bz2\|gz\|lzma\|xz\|lzo\)\)\+:[ ][$][(]obj[)][/]vmlinux\.bin\(\.\(bz2\|gz\|lzma\|xz\|lzo\)\)\?' arch/sh/boot/Makefile + accept 'vmlinux\.bin\.[*]' arch/sh/boot/compressed/.gitignore + accept 'targets[ \t]*[:+]=\([ ][\\\n\t ]*vmlinux\(\.\(bin\(\.\(gz\|bz2\|xz\|lzma\|lzo\|lz4\)\)\?\)\)\?\)*' 'arch/\(parisc\|s390\|x86\)/boot/compressed/Makefile' + accept '[$][(]obj[)][/]zeropage.bin:' arch/sh/boot/compressed/Makefile + accept '[$][(]obj[)][/]\(image\|tftpboot\).bin:' arch/sparc/boot/compressed/Makefile + accept '[\t]*fprintf[ ][(]stderr[,][ ]["]Not[ ]a\.out\.' arch/sparc/boot/piggyback.c + accept '[$][(]obj[)][/]setup\.elf:' arch/x86/boot/Makefile + accept '[$][(]obj[)][/]setup\.bin:[ ][$][(]obj[)][/]setup\.elf[ ]' arch/x86/boot/Makefile + accept 'image_cmdline[ ]=[ ]default[ ]linux[ ][$][(]FDARGS[)][ ][$][(]if[ ][$][(]FDINITRD[)][,]initrd=initrd\.img[,][)]' arch/x86/boot/Makefile + accept 'vmlinux\.bin\.all' arch/x86/boot/compressed/.gitignore + accept '[#][ \t]*vmlinux\.bin\.\(all\|[(]gz\|bz2\|lzma\|\.\.\.[)]\)' arch/x86/boot/compressed/Makefile + accept '[#][\t]compressed[ ]vmlinux\.bin\.all[ ][+][ ]u32[ ]size[ ]of[ ]vmlinux\.bin\.all' arch/x86/boot/compressed/Makefile + accept 'targets[ ][+]=[ ][$][(]patsubst[ ][$][(]obj[)][/]%[,]%[,][$][(]vmlinux-objs-y[)][)][ ]vmlinux\.bin\.all[ ]vmlinux\.relocs' arch/x86/boot/compressed/Makefile + accept 'vmlinux\.bin\.all-[$][(]CONFIG_X86_NEED_RELOCS[)][ ][+]=[ ][$][(]obj[)][/]vmlinux\.relocs' arch/x86/boot/compressed/Makefile + accept '[$][(]obj[)][/]piggy\.S:[ ][$][(]obj[)][/]vmlinux\.bin\.[$][(]suffix-y[)]' arch/x86/boot/compressed/Makefile + accept '[$][(]obj[)][/]\(rm[/]\)\?realmode\.\(elf\|bin\):\([ ][$][(]obj[)][/]realmode\.\(lsd\|elf\|relocs\)\)*' arch/x86/realmode/Makefile + accept 'vmlinux\.bin\.gz:[ ]vmlinux\.bin' arch/xtensa/boot/Makefile + accept 'boot-redboot:[ ]vmlinux\.bin\.gz' arch/xtensa/boot/Makefile + accept '[$][(]obj[)][/]uImage:[ ]vmlinux\.bin\.gz' arch/xtensa/boot/Makefile + accept '[$][(]obj[)][/]\.\.[/]Image\.elf:[ ][$][(]obj[)][/]Image\.o[ ][$][(]obj[)][/]boot\.lds' arch/xtensa/boot/boot-elf/Makefile + accept '[$][(]obj[)][/]zImage\.o:[ ]vmlinux\.bin\.gz' arch/xtensa/boot/boot-redboot/Makefile + accept '[\t]*--add-section[ ]image=vmlinux\.bin\.gz[ ]' arch/xtensa/boot/boot-redboot/Makefile + accept '[$][(]obj[)][/]zImage\.elf:[ ][$][(]obj[)][/]zImage\.o' arch/xtensa/boot/boot-redboot/Makefile + accept '[\t]*[(]unsigned[ ]long[)]op\.out[,][ ][(]long[)]op\.outlen[)][;]' drivers/crypto/nx/nx-842-pseries.c + accept '[\t]*adev->firmware\.ucode\[AMDGPU_UCODE_ID_\(UVD1\?\|VC[EN]1\?\)\]\.fw[ ]=[ ]adev->\(uvd\|vc[en]\)\.fw[;]' drivers/gpu/drm/amd/amdgpu/'\(uvd_v7_0\|vce_v[124]_[05]\)\.c' + accept '[\t]*\(err[ ]=[ ]\)intel_uc_fw_fetch[(][&]uc->[gh]uc\.fw[,]' drivers/gpu/drm/i915/gt/uc/intel_uc.c + accept '[\t]*intel_uc_fw_dump[(][&]dev_priv->gt\.uc\.[hg]uc\.fw[,]' drivers/gpu/drm/i915/i915_debugfs.c + accept '[\t]memcpy[(][&]error_uc->[gh]uc_fw[,][ ][&]uc->[gh]uc\.fw[,][ ]sizeof[(]uc->[gh]uc\.fw[)][)][;]' drivers/gpu/drm/i915/i915_gpu_error.c + accept '[\t]error_uc->[gh]uc_fw\.path[ ]=[ ]kstrdup[(]uc->[gh]uc\.fw\.path[,]' drivers/gpu/drm/i915/i915_gpu_error.c + accept '[\t]return[ ]le16_to_cpu[(]dp\.fw\.family_code[)]' drivers/hid/hid-led.c + accept '[\t]*cmd->tx_buf[ ]=[ ]i3c_xfers\[i\]\.data\.out[;]' drivers/i3c/master/dw-i3c-master.c + accept '[\t]*ccmd->tx_buf[ ]=[ ]xfers\[i\]\.data\.out[;]' drivers/i3c/master/i3c-master-cdns.c + accept '[\t]*cmd\.valid\.out\.\(tf\|hob\)[ ][|]\?=' drivers/ide/'ide-.*\.c' + accept '[\t]*if[ ][(]cmd->valid\.out\.tf[ ][&]' drivers/ide/ide-taskfile.c + accept '[\t]*tp_ops->tf_load[(]drive[,][ ][&]cmd->\(tf\|hob\)[,][ ]cmd->valid\.out\.\(tf\|hob\)[)][;]' drivers/ide/ide-taskfile.c + accept '[\t]err[ ]=[ ]mlx5_cmd_exec[(]dev->mdev[,][ ]cmd\.in[,][ ]cmd\.inlen[,][ ]cmd\.out[,]' drivers/infiniband/hw/mlx5/devx.c + accept '[\t]devx_obj_build_destroy_cmd[(]cmd\.in[,][ ]cmd\.out[,]' drivers/infiniband/hw/mlx5/devx.c + accept '[\t]mlx5_cmd_exec[(]obj->mdev[,][ ]obj->dinbox[,][ ]obj->dinlen[,][ ]cmd\.out[,][ ]sizeof[(]cmd\.out[)][)][;]' drivers/infiniband/hw/mlx5/devx.c + accept '[\t]\(bl\(oc\)\?k_count\|num_of_containers\)[ ]=[ ]f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]f34->v7.config_\(data\|size\)[ ]=[ ]f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]return[ ]rmi_f34v7_write_f34v7_blocks[(]f34[,][ ]f34->v7\.img\.guest_code\.data[,][\n\t ]*f34->v7\.img\.guest_code\.size' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]return[ ]rmi_f34v7_write_f34v7_blocks[(]f34[,][ ]f34->v7\.img\.\(guest_code\|ui_firmware\)\.data[,][\n\t ]*f34->v7\.img\.\(guest_code\|ui_firmware\)\.size' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]\(if[ ][(]\|[ ]*\)f34->v7\.phyaddr\.\(ui_firmware\|ui_config\|dp_config\|guest_code\)[ ]!=[ ]f34->v7\.img\.phyaddr\.\(ui_firmware\|ui_config\|dp_config\|guest_code\)[)]' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]*addr[ ]=[ ]get_unaligned_le32[(]f34->v7\.img\.bootloader\.data[ ]' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]*[ ]*f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]rmi_dbg[(]RMI_DEBUG_FN[,][ ][&]f34->fn->dev[,][ ]["]%s:[ ]f34->v7\.img\.checksum' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]*__func__[,][ ]f34->v7\.img\.checksum[)]' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]memset[(][&]f34->v7\.img[,][ ]0x00[,][ ]sizeof[(]f34->v7\.img[)][)][;]' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]if[ ][(][!]f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]rmi_f34v7_parse_partition_table[(]f34[,][ ]f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]*[&]f34->v7\.img\.blkcount[,][ ][&]f34->v7\.img\.phyaddr[)][;]' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]*if[ ][(]f34->v7\.has_\(guest_code\|display_cfg\)[ ][&][&][ ]f34->v7\.img\.contains_\(guest_code\|display_cfg\)[)]' drivers/input/rmi4/rmi_f34v7.c + blobname 'picasso_rlc\(_am4\)\?\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + blobna '[/][*][\n][\t][ ][*][ ]For[ ]Picasso[^*]*\([*]\+[^/*][^*]*\)*picasso_rlc[^*]*\([*]\+[^/*][^*]*\)*[*][*]*[/]' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + # WIP: more to come here. + + # New in 5.3.11, 4.19.84 and 4.14.154. + accept 'CPUID[ ]to[ ]the[ ]guest[.][ ]If[ ]the[ ]host[ ]has[ ]updated[ ]microcode[ ]the[ ]protection' Documentation/admin-guide/hw-vuln/tsx_async_abort.rst + accept '[\t *]*-[ ]Updated[ ]microcode[ ]is[ ]present' arch/x86/kvm/x86.c + + # New in 5.4-rc*. + accept '[ ][ ]\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\([\n][ ][ ]\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\)*' Documentation/packing.txt + blobname 'linux-firmware\.git' Documentation/networking/device_drivers/netronome/nfp.rst + defsnc 'static[ ]u32[ ]vrate_adj_pct\[\][ ]=' block/blk-iocost.c + defsnc 'static[ ]const[ ]u32[ ]crypto_[fi]l_tab\[4\]\[256\][ ]____cacheline_aligned[ ]=' crypto/aes_generic.c + defsnc 'static[ ]const[ ]struct[ ]comp_testvec[ ]lzorle_\(de\)\?comp_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]essiv_aes_cbc_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]aead_testvec[ ]essiv_hmac_sha256_aes_cbc_tv_temp\[\][ ]=' crypto/testmgr.h + blobname 'cnn55xx_ae\.fw' drivers/crypto/cavium/nitrox/nitrox_main.c + blobname 'amdgpu[/]\(arcturus\|renoir\|navi1[24]\)_vcn\.bin' drivers/gpu/dmr/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]\(renoir\|%s\)_asd\.bin' drivers/gpu/drm/amd/amdgpu/psp_v12_0.c + blobname 'amdgpu[/]%s_sdma%d\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v4_0.C + defsnc '\(const[ ]uin32_t[\n]\)\?[ \t]*umc_v6_1_channel_idx_tbl\[UMC_V6_1_UMC_INSTANCE_NUM\]\[UMC_V6_1_CHANNEL_INSTANCE_NUM\][ ]=' drivers/gpu/drm/amd/amdgpu/umc_v6_1.c + # Sources are in cwsr_trap_handler_gfx9.asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_arcturus_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + defsnc 'static[ ]const[ ]struct[ ]abm_parameters[ ]abm_settings_config[01]\[abm_defines_max_level\][ ]=' drivres/gpu/drm/amd/display/modules/power/power_helpers.c + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(\(NBIF\|PCIE\)0\|SDMA[234567]\|DBGU_IO\)_BASE[ \t]*=' drivers/gpu/drm/amd/include/arct_ip_offset.h + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(DIO\|DMU\|DPCS\|HDA\|\(NBIF\|PCIE\)0\|SDMA\|USB0\|UVD0\)_BASE[ \t]*=' drivers/gpu/drm/amd/include/navi12_ip_offset.h + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(DIO\|DMU\|DPCS\|HDA\|\(NBIF\|PCIE\)0\|SDMA\|USB0\|UVD0\)_BASE[ \t]*=' drivers/gpu/drm/amd/include/navi14_ip_offset.h + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(ACP\|DBGU_IO0\|DIO\|DMU\|DPCS\|HDA\|IOHC0\|ISP\|L2IMU0\|\(NBIF\|PCIE\)0\|USB0\|UVD0\)_BASE[ \t]*=' drivers/gpu/drm/amd/include/renoir_ip_offset.h + blobname 'i915[/]tgl_dmc_ver2_04\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc '[\t][}][ ]init_data\[\][ ]=' drivers/gpu/drm/panel/panel-lg-lb035q02.c + defsnc '[\t][}][ ]nl8048_init_seq\[\][ ]=' drivers/gpu/drm/panel/panel-nec-nl8048hl11.c + defsnc 'static[ ]const[ ]struct[ ]cmd_set_entry[ ]manufacturer_cmd_set\[\][ ]=' drivers/gpu/drm/panel/panel-raydium-rm67191.c + defsnc 'static[ ]const[ ]char[ ]data_\(last_\)\?block_header\[DATA_BLOCK_HEADER_SIZE\][ ]=' drivers/gpu/drm/tiny/gm12u320.c + accept '[\t]mipi_dbi_command[(]dbi[,][ ]HX8357D_SETGAMMA\([,][\n][\t][\t][\t][ ]0x[0-9a-f][0-9a-fA-F]\)*[)][;]' drivers/gpu/drm/tiny/hx8357d.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]creative_sb0540_codes\[\][ ]=' drivers/hid/hid-creative-sb0540.c + defsnc 'static[ ]const[ ]struct[ ]ov5675_reg[ ]mode_\(2592x1944\|1296x972\)_regs\[\][ ]=' drivers/media/i2c/ov5675.c + blobname 'rtl_nic[/]rtl8125a-3\.fw' drivers/net/ethernet/realtek/r8169_main.c + defsnc '[\t]static[ ]const[ ]u16[ ]ical\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c + defsnc '[\t]static[ ]const[ ]u8[ ]channel_all\[TARGET_CHNL_NUM_2G_5G_8812\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8822b_txpwr_lmt_type[25]\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8822c_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c_table.c + blobname 'gsl1680-chuwi-surbook-mini\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl3680-irbis_tw90\.fw' drivers/platform/x86/touchscreen_dmi.c + defsnc 'static[ ]const[ ]u8[ ]aes_cipher_key_skeleton\[\][ ]=' drivers/s390/crypto/zcrypt_ccamisc.c + defsnc 'const[ ]u8[ ]uni_upcase\[NUM_UPCASE[ ]<<[ ]1\][ ]=' drivers/staging/exfat/exfat_upcase.c + defsnc 'static[ ]const[ ]u32[ ]h264_cabac_table\[\][ ]=' drivers/staging/media/hantro/hantro_h264.c + defsnc 'static[ ]const[ ]u32[ ]zig_zag_8x8\[\][ ]=' drivers/staging/media/hantro/hantro_h264.c + defsnc 'static[ ]volatile[ ]const[ ]u8[ ]__cacheline_aligned[ ]aes_\(inv_\)\?sbox\[\][ ]=' lib/crypto/aes.c + defsnc 'static[ ]const[ ]u16[ ]scarlett2_mixer_values\[173\][ ]=' sound/usb/mixer_scarlett_gen2.c + defsc 'vector[ ]int[ ]vsxs\[\][ ]=' tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vsx.c + defsnc '[\t]static[ ]const[ ]struct[ ]ephy_info[ ]e_info_8125_[12]\[\][ ]=' drivers/net/ethernet/realtek/r8169_main.c + defsnc '[\t]static[ ]const[ ]u32[ ]wl_rx_low_gain_o\(n\|ff\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b.c + accept '[ ][*][\t]request_firmware_into_buf[(][)]' lib/test_firmware.c + accept '[\t]*req->rc[ ]=[ ]request_firmware_into_buf[(][&]req->fw[,][\n]' lib/test_firmware.c + accept 'trap[ ]["]rm[ ]-f[ ][$]tmp_file\.o[ ][$]tmp_file[ ][$]tmp_file\.bin["]' scripts/tools-support-relr.sh + accept '[\t]*\(echo[ ]-n[ ]["]\)\?\(test_batched_\|Batched[ ]\)request_firmware_into_buf\(_nofile\)\?\([(][)]\|[ ]\)' tools/testing/selftests/firmware/fw_filesystem.sh + accept '#[ ]We[ ]need[ ]to[ ]load[ ]a[ ]different[ ]file[ ]to[ ]test[ ]request_firmware_into_buf' tools/testing/selftests/firmware/fw_lib.sh + accept '#[ ]To[ ]reproduce[ ]rename[ ]this[ ]to[ ]test-firmware\.bin' tools/testing/selftests/firmware/fw_lib.sh + # Since ar500X and ar92XX have Free firmware, I'm assuming this + # initialization data file is either Free Software or pure data. + accept '[\t]scnprintf[(]eeprom_name[,][ ]EEPROM_FILENAME_LEN[,][ ]["]ath9k-eeprom-pci-%s\.bin["]' drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c + accept '[\t]err[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]true[,][ ]eeprom_name[,]' drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c + blobname 'i915[/]["]\([ ][\\][\n][\t]__stringify[(]\(prefix\|major\|minor\|patch\)_[)][ ]\(\(name\|separator\)_\)\?\)*["]\.bin' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c + blobname 'intel[/]dsp_fw_%pUL\.bin' sound/soc/intel/skylake/skl-sst.c + accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n][\t ]*["]%s%s%s\.tplg["][,]' sound/soc/sof/intel/hda.c + blobname 'intel[/]ice[/]ddp[/]' drivers/net/ethernet/intel/ice/ice_main.c + blobname '["]ice\.pkg["]' drivers/net/ethernet/intel/ice/ice_main.c + blobname '\(intel[/]ice[/]ddp[/]\|%s\)\?ice\(-%02x%02x%02x%02x%02x%02x%02x%02x\|-[0-9A-F]*\)\?\.pkg' drivers/net/ethernet/intel/ice/ice_main.c + accept '[\t]*marvell[,]caldata-txpwrlimit-\(2g\|5g-sub[012]\)[ ]=[ ][/]bits[/][ ]8[ ]<\([\n ]0x[0-9a-f][0-9a-f]\)*>[;]' arch/arm/boot/dts/rk3288-veyron-jerry.dts + blobname 'amdgpu[/]%s_\(pfp\|[mc]e\|mec2\?\)%s\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c + blobname 'amdgpu[/]navi14_\(pfp\|[mc]e\|mec2\?\)_wks\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c + blob '6\.1\.[ ]Driver[ ]complains[^\n]*i2400m-fw[^\n]*[\n]--*\([\n][\n]*\([ ][ ][ ]\|[\t]i2400m_usb\)[^\n]*\)\+' Documentation/admin-guide/wimax/i2400m.rst + # This is not new, just a new catch. + blobname 'inside-secure[/]%s[/]%s' drivers/crypto/inside-secure/safexcel.c + + # New in 5.5-rc*. + initnc '\.Lpermute_table:' arch/arm64/crypto/ghash-ce-core.S + initnc 'SIGMA2\?:' arch/x86/crypto/blake2s-core.S + defsnc 'static[ ]const[ ]u8[ ]blake2b_sigma\[12\]\[16\][ ]=' crypto/blake2b_generic.c + defsc 'static[ ]const[ ]struct[ ]kpp_testvec[ ]curve25519_tv_template\[\][ ]=' crypto/testmgr.hpu + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]hmac_sm3_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]sm4_ctr_rfc3686_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]char[ ]blake2_ordered_sequence\[\][ ]=' + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]blake2b_\(256\|384\|512\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]blake2b_\(256\|384\|512\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]blakes2s_256_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]bm1880_div_table_[01234]\[\][ ]=' drivers/clk/clk-bm1880.c + blobname 'i915[/]icl_dmc_ver1_09\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc 'static[ ]const[ ]u8[ ]tegra1\(24\|32\|86\)_sor_\(voltage_swing\|pre_emphasis\|post_cursor\|tx_pu\)\[4\]\[4\]\[4\][ ]=' drivers/gpu/drm/tegra/sor.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]adux1020_def_conf\[\][ ]=' drivers/iio/light/adux1020.c + defsnc 'static[ ]const[ ]int[ ]adux1020_led_currents\[\]\[2\][ ]=' drivers/iio/light/adux1020.c + defsnc 'static[ ]const[ ]struct[ ]hi556_reg[ ]mipi_data_rate_874mbps\[\][ ]=' drivers/media/i2c/hi556.c + defsnc 'static[ ]const[ ]struct[ ]hi556_reg[ ]mode_\(2592x1944\|1296x972\)_regs\[\][ ]=' drivers/media/i2c/hi556.c + defsnc 'static[ ]const[ ]struct[ ]imx290_regval[ ]imx290_global_init_settings\[\][ ]=' drivers/media/i2c/imx290.c + defsc 'static[ ]const[ ]struct[ ]imx290_regval[ ]imx290_\(1080\|720\)p_settings\[\][ ]=' drivers/media/i2c/imx290.c + blobname 'rtl_nic[/]rtl8168fp-3\.fw' drivers/net/ethernet/realtek/r8169_main.c + blobname 'rtl_nic[/]rtl8153[ab]-[234]\.fw' drivers/net/usb/r8152.c + blobname 'iwl-debug-yoyo\.bin' drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c + defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8822b_bb_pg_type[235]\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8822b_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8822c_bb_pg_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc '[\t][}][ ]timings\[\][ ]=' drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sdm845_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sdm845.c + blobname 'gsl3692-jumper-ezpad-6-m4\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-schneider-sct101ctm\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'idtcm\.bin' drivers/ptp/ptp_clockmatrix.h + defsc 'static[ ]const[ ]u32[ ]asv_arm_table\[\]\[ASV_ARM_DVFS_NUM\]\[ASV_GROUPS_NUM[ ][+][ ]1\][ ]=' drivers/soc/samsung/exynos5422-asv.c + defsc 'static[ ]const[ ]u32[ ]asv_kfc_table\[\]\[ASV_KFC_DVFS_NUM\]\[ASV_GROUPS_NUM[ ][+][ ]1\][ ]=' drivers/soc/samsung/exynos5422-asv.c + defsnc 'static[ ]const[ ]u8[ ]blake2s_sigma\[10\]\[16\][ ]=' lib/crypto/blake2s-generic.c + defsnc 'static[ ]const[ ]u8[ ]blake2s_\(hmac_\)\?testvecs\[\]\[BLAKE2S_HASH_SIZE\][ ]__initconst[ ]=' lib/crypto/blake2s-selftest.c + defsnc 'static[ ]const[ ]u8[ ]x\?\(enc\|dec\)_\(\(in\|out\)put\|key\|assoc\)[0-9]*\[\][ ]__initconst[ ]=' lib/crypto/chacha20poly1305-selftest.c + accept '[ ][*][ ][ ][ ][ ][ ]3[ ]3[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0' net/tipc/crypto.h + defsnc '[\t]static[ ]const[ ]struct[ ]reg_val[ ]\(init_eee\|pre_init1\)\[\][ ]=' drivers/net/phy/mscc.c + defsnc 'static[ ]const[ ]u32[ ]rtw8822b_txscale_tbl[RTW_TXSCALE_SIZE][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc 'static[ ]const[ ]u8[ \n]rtw8822b_pwrtrk_5g[ba]_[np]\[RTW_PWR_TRK_5G_NUM\]\[RTW_PWR_TRK_TBL_SZ\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc 'static[ ]const[ ]u8[ \n]rtw8822c_pwrtrk_5g[ba]_[np]\[RTW_PWR_TRK_5G_NUM\]\[RTW_PWR_TRK_TBL_SZ\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c.c + accept 'static[ ]const[ ]struct[ ]tegra_xusb_soc[ ]tegra194_soc[ ]=[ ][{][\n][\t][.]firmware[ ]=' drivers/usb/host/xhci-tegra.c + blobname 'nvidia[/]tegra194[/]xusb\.bin' drivers/usb/host/xhci-tegra.c + blobname 'rt5677_elf_vad\([ ]file[ ][*][/]\)\?' sound/soc/codecs/rt5677.c + blobname 'i915[/]["]\([ ][\\][\n][\t]__stringify[(]\(prefix\|major\|minor\|patch\)_[)][ ]\(\(name_\|["][.]["]\)\)\?\)*["]\.bin' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c + blobname 'mellanox[/]mlxsw_spectrum2-\(["][ ]__stringify[(]MLXSW_SP2_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + accept '[\t][ ][*][ ]per-cpu[ ]cpuinfo[ ]can[ ]be[ ]updated[ ]with[ ]right[ ]microcode' arch/x86/kernel/cpu/microcode/core.c + accept '\(static[ ]\)\?int[ ]bnxt_flash_\(firmware\|package\)_from_file[(][ \t\na-z0-9_,*]*[)][\n][{][\n]\([^}][^\n]*[\n]\+\)*[\t]rc[ ]=[ ]request_firmware[(][&]fw' drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c + accept 'static[ ]int[ ]rtl8152_request_firmware[(]' drivers/net/usb/r8152.c + accept '[\t]if[ ][(]rtl8152_request_firmware[(]' drivers/net/usb/r8152.c + accept '[\t][\t][/][*][ ]Delay[ ]execution[ ]in[ ]case[ ]request_firmware[(][)]' drivers/net/usb/r8152.c + blobname 'rtl_nic[/]rtl8153a-[234]\.fw' drivers/net/usb/r8152.c + blobname 'rtl_nic[/]rtl8153b-2\.fw' drivers/net/usb/r8152.c + accept '[\t][/][*][ ]Retry[ ]in[ ]case[ ]request_firmware[(]' drivers/net/usb/r8152.c + accept '[ ][*][ ]@context:[ ]pointer[ ]to[ ]firmware[ ]image[ ]returned[ ]from[ ]request_firmware\.' drivers/scsi/lpfc/lpfc_init.c + accept '[ ][*][ ]request_firmware[(][)][ ]allocate[ ]data[ ]using[ ]vmalloc[(]' drivers/staging/wfx/fwio.c + # This loads Platform Data Set pure data files. Preconfigured + # files, templates and tools to compress the configuration files + # to the binary format are available. + accept '[\t]ret[ ]=[ ]request_firmware[(]&pds,[ ]wdev->pdata\.file_pds,' drivers/staging/wfx/main.c +# .take5 rt5677.c + # ethtool-supplied firmware to flash the virtual device. + accept '[\t]if[ ][(]request_firmware[(]&fw[,][ ]efl->data[,][ ]&vdevice->pdev\.dev[)][)]' arch/um/drivers/vector_kern.c + + # Already present in 5.0, harmless as firmware is the first field. + accept 'static[ ]const[ ]struct[ ]vic_config[ ]vic_t194_config[ ]=[ ][{][\n][\t]\.firmware[ ]=[ ]NVIDIA_TEGRA_194_VIC_FIRMWARE[,]' drivers/gpu/drm/tegra/vic.c + + # New in 5.5.11 and 5.4.27. + blobname 'microchip[/]mscc_vsc8584_revb_int8051_fb48\.bin' drivers/net/phy/mscc.c + blobname 'microchip[/]mscc_vsc8574_revb_int8051_29e8\.bin' drivers/net/phy/mscc.c + + # New in 5.6-rc7. + initnc '[ ]*[(]gdb[)][ ]x[/]100x[ ][$]25[\n]' Documentation/virt/uml/user_mode_linux.rst + blobname 'amdgpu[/]renoir_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + accept '[\t][ ][*][ ]the[ ][/]lib[/]firmware[/]qcom[/]\.\.\.[ ]vs[ ][/]lib[/]firmware[/]\.\.\.[ ]case' drivers/gpu/drm/msm/adreno/adreno_gpu.c + accept '[\t]gr->firmware[ ]=[ ]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[\t]*snprintf[(]f[,][ ]sizeof[(]f[)][,][ ]["]nouveau[/]nv%02x_%s["][,][ ]device->chipset[,][ ]name[)][;][\n][\t]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]f[,][ ]device->dev[)][;][\n][\t]*if[ ][(]ret[)][ ][{][\n][\t]*snprintf[(]f[,][ ]sizeof[(]f[)][,][ ]["]nouveau[/]%s["][,][ ]name[)][;][\n][\t]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]f[,][ ]device->dev[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[ ]\(if[ ][(]\|[ ][ ][ ][ ]\)gf100_gr_load_fw[(]gr[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]gr->\(fecs\|gpccs\)' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + defsnc 'static[ ]const[ ]struct[ ]panel_cmd[ ]boe_himax8279d\(8\|10\)p_on_cmds\[\][ ]=' drivers/gpu/drm/panel/panel-boe-himax8279d.c + defsnc 'static[ ]const[ ]struct[ ]ltk500hd1829_cmd[ ]init_code\[\][ ]=' drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c + accept '[\t]dsi_generic_write_seq[(]dsi[,][ ]XPP055C272_CMD_SET\(GIP[12]\|GAMMA\)\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c + defsc 'static[ ]const[ ]unsigned[ ]char[ ]\(luma\|chroma\)_ac\[16[ ][+][ ]162[ ][+][ ]2\]' drivers/media/platform/coda/coda-jpeg.c + defsnc 'static[ ]const[ ]u32[ ]ice_ptypes_\(ipv[46]\|udp\|tcp\|sctp\)_\(ofos\|il\)\[\][ ]=' drivers/net/ethernet/intel/ice/ice_flow.c + defsnc 'static[ ]const[ ]u32[ ]iro_arr\[\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsnc 'static[ ]const[ ]u8[ ]dscp_tid_map\[DSCP_TID_MAP_TBL_ENTRY_SIZE\][ ]=' drivers/net/wireless/ath/ath11k/hal_tx.c + blobname 'rtw88[/]rtw8822c_wow_fw\.bin' drivers/pinctrl/qcom/pinctrl-sc7180.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sc7180_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sc7180.c + blobname 'gsl1680-pipo-w11\.fw' drivers/platform/x86/touchscreen_dmi.c + defsnc 'static[ ]const[ ]struct[ ]hsfreq_range[ ]rk3399_mipidphy_hsfreq_ranges\[\][ ]=' drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c + accept 'static[ ]int[ ]tegra_xusb_request_firmware[(]' drivers/usb/host/xhci-tegra.c + accept '[\t]err[ ]=[ ]tegra_xusb_request_firmware[(]tegra[)]' drivers/usb/host/xhci-tegra.c + defsc 'static[ ]const[ ]struct[ ]curve25519_test_vector[ ]curve25519_test_vectors\[\][ ]__initconst[ ]=' lib/crypto/curve25519-selftest.c + defsc 'static[ ]const[ ]u8[ ]tas3004_treble_table\[\][ ]=' sound/aoa/codecs/tas-basstreble.h + defsnc 'static[ ]const[ ]char[ ]opl3_volume_table\[128\][ ]=' sound/drivers/opl3/opl3_midi.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]snd_opl4_volume_table\[128\][ ]=' sound/drivers/opl4/opl4_synth.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]init[1234]\[128\][ ]=' sound/isa/sb/emu8000.c + defsc 'static[ ]const[ ]unsigned[ ]short[ ]treble_parm\[12\]\[9\][ ]=' sound/isa/sb/emu8000.c + defsnc 'static[ ]const[ ]u16[ ]asEqCoefsZeros\[50\][ ]=' sound/pci/au88x0/au88x0_eqdata.c + defsnc 'static[ ]const[ ]u16[ ]asEqCoefsPipes\[64\][ ]=' sound/pci/au88x0/au88x0_eqdata.c + defsnc 'static[ ]const[ ]auxxEqCoeffSet_t[ ]asEqCoefsNormal[ ]=' sound/pci/au88x0/au88x0_eqdata.c + defsnc 'static[ ]const[ ]u16[ ]asEqOutStateZeros\[48\][ ]=' sound/pci/au88x0/au88x0_eqdata.c + defsnc 'static[ ]const[ ]u16[ ]eq_levels\[64\][ ]=' sound/pci/au88x0/au88x0_eqdata.c + defsnc '[\t]static[ ]const[ ]u32[ ]logMagTable\[128\][ ]=' sound/pci/emu10k1/io.c + defsnc '[\t]static[ ]const[ ]char[ ]logSlopeTable\[128\][ ]=' sound/pci/emu10k1/io.c + defsnc 'static[ ]const[ ]char[ ]coefficients\[NM_TOTAL_COEFF_COUNT[ ][*][ ]4\][ ]=' sound/pci/nm256/nm256_coef.c + defsnc 'static[ ]const[ ]char[ ]channel_map_unity_ss\[HDSPM_MAX_CHANNELS\][ ]=' sound/pci/rme9652/hdspm.c + defsnc 'static[ ]const[ ]short[ ]beep_wform\[256\][ ]=' sound/ppc/beep.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(master\|\(snapper_\)\?\(treble\|bass\|mixer\)\)_volume_table\[\][ ]=' sound/ppc/tumbler_volume.h + defsnc 'static[ ]const[ ]u8[ ]jz4770_codec_reg_defaults\[\][ ]=' sound/soc/codecs/jz4770.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1015_reg\[\][ ]=' sound/soc/codecs/rt1015.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1308_reg_defaults\[\][ ]=' sound/soc/codecs/rt1308-sdw.h + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt700_reg_defaults\[\][ ]=' sound/soc/codecs/rt700-sdw.h + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt711_reg_defaults\[\][ ]=' sound/soc/codecs/rt711-sdw.h + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt715_reg_defaults\[\][ ]=' sound/soc/codecs/rt715-sdw.h + defsnc 'static[ ]unsigned[ ]char[ ]\(in\|out\)put_clk_map_imx35\[ASRC_CLK_MAP_LEN\][ ]=' sound/soc/fsl/fsl_asrc.c + defsc 'static[ ]unsigned[ ]char[ ]\(in\|out\)put_clk_map_imx53\[ASRC_CLK_MAP_LEN\][ ]=' sound/soc/fsl/fsl_asrc.c + defsnc 'static[ ]unsigned[ ]char[ ]clk_map_imx8q\(m\|xp\)\[2\]\[ASRC_CLK_MAP_LEN\][ ]=' sound/soc/fsl/fsl_asrc.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]pan_volumes\[256\][ ]=' sound/synth/emux/emux_synth.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]\(voltab[12]\|expressiontab\)\[128\][ ]=' sound/synth/emux/emux_synth.c + defsnc 'static[ ]const[ ]int[ ]log_tbl\[129\][ ]=' sound/synth/emux/soundfont.c + defsnc 'static[ ]const[ ]short[ ]\(attack\|decay\)_time_tbl\[128\][ ]=' sound/synth/emux/soundfont.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]bcd2000_init_sequence\[\][ ]=' sound/usb/bcd2000/bcd2000.c + defsc 'static[ ]const[ ]struct[ ]s_c2[ ]SetRate48000\[\][ ]=' sound/usb/usx2y/usbusx2yaudio.c + accept '[\t]*\.default_fw_filename[ ]=[ ]["]\(sof\|reef\)-[^" ;]*\.ri["]' sound/soc/sof/'\(sof\|reef\)-\(acpi\|pci\)-dev\.c' + accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n][\t ]*["]%s-%s\.tplg["][,]' sound/soc/sof/intel/byt.c + accept '[\t]*dev_dbg[(]sdev->dev[,][ ]["]request_firmware[ ]%s[ ]successful' sound/soc/sof/loader.c + accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]file[,][ ]scomp->dev[)]' sound/soc/sof/topology.c + blobname '\(board-2\|bdwlan\|caldata\)\.bin' 'drivers/net/wireless/ath/ath11k/\(hw\|qmi\)\.h' + blobname 'board\.bin' ddrivers/net/wireless/ath/ath11k/core.c + blobname 'scp\.img' drivers/remoteproc/mtk_scp.c + blobname '%s[/]%08x-%04x-%04x-%02x%02x%02x%02x%02x%02x%02x%02x\.bin' drivers/tee/amdtee/core.c + blobname 'qcom[/]sdm845[/]\([ac]dsp\.mdt\|\(mba\|modem\)\.mbn\)' arch/arm64/boot/dts/qcom/sdm845-db845c.dts + blobname 'brcmfmac\(43456\|4359\)-sdio' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(voice_focus\|mic_svm\|equalizer\)_vals_lookup\[\][ ]=' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]const[ ]struct[ ]hda_verb[ ]ca0132_init_verbs[01]\[\][ ]=' sound/pci/hda/patch_ca0132.c + + # New variation in 5.6.6, 5.5.19, and 5.4.34. + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]file_name[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlx5_firmware_flash[(]' drivers/net/ethernet/mellanox/mlx5/core/devlink.c + + # New in 5.7-rc7. + accept '[\t ]*:\([ ]*[32][86420]0*\)\+\([\n][ ]*[32][86420]0*:\([ ]*[012345]\)*\)\+' Documentation/cpu-freq/cpufreq-stats.rst + accept '\(The[ ]\)\?firmware_request_platform[(][)][ ]function' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ][ ][ ]request_firmware[\n]' Documentation/driver-api/firmware/index.rst + accept '[ ][ ]firmware_request_platform[(][)][ ]is[ ]used' Documentation/driver-api/firmware/lookup-order.rst + accept '\([ ][ ][ ]:functions:[ ]\)\?firmware_request_platform' Documentation/driver-api/firmware/request_firmware.rst + accept '\(typical[ ]data[ ]at[ ]NVRAM[ ]address[ ]0x100[ ][(]53c810a[ ]NVRAM[)]\|device[ ]set[ ]up[ ][(]up[ ]to[ ]16[ ]devices[ ]-[ ]includes[ ]controller[)]\)::\([\n]\+[ ][ ][ ]\([ ][0-9a-f][0-9a-f]\)\+\([ ]-[ ]id[ ]\(0\|15\)\)\?\)*' Documentation/scsi/'\(ncr53c8xx\|sym53c8xx_2\)\.rst' + accept 'default[ ]nvram[ ]data::\([\n]\+[ ][ ][ ]\([ ]0x[0-9a-f][0-9a-f][0-9a-f][0-9a-f]\)\+\)*' Documentation/scsi/'\(ncr53c8xx\|sym53c8xx_2\)\.rst' + defsnc 'static[ ]const[ ]u64[ ]table_ladder\[\][ ]=' arch/x86/crypto/curve25519-x86_64.c + defsnc 'static[ ]unsigned[ ]icx_cha_msr_offsets\[\][ ]=' arch/x86/events/intel/uncore_snbep.c + accept '[ ][*][ ]firmware_request_platform[(][)][ ]-' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]This[ ]function[ ]is[ ]similar[ ]in[ ]behaviour[ ]to[ ]request_firmware[,]' drivers/base/firmware_loader/main.c + accept 'int[ ]firmware_request_platform[(]' drivers/base/firmware_loader/main.c + accept 'EXPORT_SYMBOL_GPL[(]firmware_request_platform[)]' drivers/base/firmware_loader/main.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_2tap_16p\[18\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_3tap_16p_\(upscale\|116\|149\|183\)\[27\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_4tap_16p_\(upscale\|116\|149\|183\)\[36\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_2tap_64p\[66\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_3tap_64p_\(upscale\|116\|149\|183\)\[99\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_4tap_64p_\(upscale\|116\|149\|183\)\[132\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_5tap_64p_\(upscale\|116\|149\|183\)\[165\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_6tap_64p_\(upscale\|116\|149\|183\)\[198\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_7tap_64p_\(upscale\|116\|149\|183\)\[231\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_8tap_64p_\(upscale\|116\|149\|183\)\[264\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + accept '#define[ ]NT35510_GAMMA_\(POS\|NEG\)_DEFAULT[ ]0x[0-9A-F][0-9A-F]\([,][ ]\([\\][\n][\t ]*\)\?0x[0-9A-F][0-9A-F]\)*' drivers/gpu/drm/panel/panel-novatek-nt35510.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad7124_reg_size\[\][ ]=' drivers/iio/adc/ad7124.c + defsnc 'static[ ]const[ ]u16[ ]gp2ap002_illuminance_table\[\][ ]=' drivers/iio/light/gp2ap002.c + defsnc 'static[ ]const[ ]struct[ ]imx219_reg[ ]mode_\(3280x2464\|1920_1080\|1640_1232\|640_480\)_regs\[\][ ]=' drivers/media/i2c/imx219.c + defsc 'static[ ]const[ ]u16[ ]mv88e6390_serdes_regs\[\][ ]=' drivers/net/dsa/mv88e6xxx/serdes.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]zigzag\[64\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsnc 'static[ ]const[ ]u32[ ]hw_reorder\[64\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsnc 'static[ ]const[ ]u8[ ]eos_sequence\[SZ_4K\][ ]=' drivers/staging/media/meson/vdec/codec_h264.c + defsnc 'static[ ]const[ ]struct[ ]v4l2_fract[ ]par_table\[\][ ]=' drivers/staging/media/meson/vdec/codec_h264.c + defsnc 'const[ ]u16[ ]vdec_hevc_parser_cmd\[\][ ]=' drivers/staging/media/meson/vdec/codec_hevc_common.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]uni_def_upcase\[EXFAT_NUM_UPCASE\][ ]=' fs/exfat/nls.c + accept 'int[ ]firmware_request_platform[(]const[ ]struct[ ]firmware[ ][*][*]fw' include/linux/firmware.h + accept 'static[ ]inline[ ]int[ ]firmware_request_platform[(]const[ ]struct[ ]firmware[ ][*][*]fw' include/linux/firmware.h + defsnc '[\t]static[ ]const[ ]u8[ ]test_data\[\][ ]=' lib/test_firmware.c + defsnc 'static[ ]const[ ]struct[ ]reg_table[ ]mt6660_setting_table\[\][ ]=' sound/soc/codecs/mt6660.c + accept '[\t]const[ ]char[ ][*]fw_name[ ]=[ ]["]test-firmware\.bin["]' tools/testing/selftests/firmware/fw_namespace.c + defsnc 'struct[ ]reuse_opts[ ]unreusable_opts\[12\][ ]=' tools/testing/selftests/net/reuseaddr_ports_exhausted.c + blob 'The[ ]card[ ]requires[ ]firmware.*[\n][\t]rm[ ]wd7296a\.sys' Documentation/scsi/wd719x.rst + blobname 'rtl_bt[/]rtl8822cs_fw\.bin' drivers/bluetooth/btrtl.c + # If this is code at all, it could use some assembly comments. + # Most of it is so regular that disassembly of the final irregular + # bits should suffice to make it all transparent. + defsnc 'static[ ]const[ ]u32[ ]vgpr_init_compute_shader_arcturus\[\][ ]=' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + defsnc '[\t]static[ ]const[ ]u8[ ]pre_computed_values\[\][ ]=' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + blobname 'i915[/]tgl_dmc_ver2_06\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'goodix_%s_cfg\.bin' drivers/input/touchscreen/goodix.c + blobname 'dvb-demod-m88ds3103b\.fw' drivers/media/dvb-frontends/m88ds3103_priv.h + blobname 'mediatek[/]mt8173[/]vpu_[pd]\.bin' drivers/media/platform/mtk-vpu/mtk_vpu.c + blobname 'qcom[/]venus-5\.4[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c + blobname 'brcmfmac4364-pcie' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'mediatek[/]mt7622_\(n9\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + blobname 'mediatek[/]mt7663\(pr2h\|_n9\)_v3\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + blobname 'silead[/]\(gsl3680-chuwi-hi8-pro\|gsl3670-cube-iwork8-air\|gsl3676-onda-v80-plus-v3\|gsl1680-pipo-w2s\)\.fw' drivers/platform/x86/touchscreen_dmi.c + accept '[\t]const[ ]char[ ][*]pathname[ ]=[ ]["][/]tmp[/]isst_cpu_topology\.dat["][;]' tools/power/x86/intel-speed-select/isst-config.c + + blobname 'iqs620a\.bin' Documentation/devicetree/bindings/mfd/iqs62x.yaml + blobname 'iqs620a_coil\.bin' Documentation/devicetree/bindings/mfd/iqs62x.yaml + blobname 'imx[/]sdma[/]sdma-imx7d\.bin' arch/arm64/boot/dts/freescale/imx8mp.dtsi + blobname 'qcom[/]sdm845[/]\([ac]dsp\.mdt\|\(mba\|modem\)\.mbn\)' arch/arm64/boot/dts/qcom/sdm845-mtp.dts + blobname 'cpt8x-mc\.tar' drivers/crypto/marvell/octeontx/otx_cptpf_ucode.h + blobname 'amdgpu[/]navi12_dmcu\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + blobname 'iqs62\(0a\|[1245]\)\.bin' drivers/mfd/iqs62x.c + blobname 'ipa_fws\.mdt' drivers/net/ipa/ipa_main.c + blobname 'microchip[/]mscc_vsc8584_revb_int8051_fb48.bin' drivers/net/phy/mscc/mscc.h + blobname 'microchip[/]mscc_vsc8574_revb_int8051_29e8.bin' drivers/net/phy/mscc/mscc.h + # This driver enables the user to update the non-Free BIOS, but it + # only issues a firmware request if specifically told to. It + # doesn't require any non-Free firmware to function, and it + # doesn't actually recommend users to perform updates, so I'm + # leaving it in. + accept '[\t]*pr_err[(]["]request_firmware_nowait[ ]failed' drivers/platform/x86/dell_rbu.c + blobname 'idt82p33xxx\.bin' drivers/ptp/ptp_idt82p33.h + blobname 'meson[/]vdec[/]\(gxbb_h264\|gxl_vp9\|gxl_h264\|gxm_h264\|g12a_vp9\|g12a_h264\|sm1_vp9_mmu\)\.bin' drivers/staging/media/meson/vdec/vdec_platform.c + accept '[\t]rc[ ]=[ ]firmware_request_platform[(][&]firmware[,][ ]' lib/test_firmware.c + accept '[ ]*device[ ]name[ ]with[ ]["]\.bin["][ ]as' Documentation/devicetree/bindings/mfd/iqs62x.yaml + # Moved down. + # blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + accept '[\t][\t]\.sha256[\t ]=[ ][{][ ]0x[0-9a-f][0-9a-f]\([,][ \t\n]*0x[0-9a-f][0-9a-f]\)*[ ][}][,]' drivers/platform/x86/touchscreen_dmi.c + # Sources added to 5.7.8, but they were available elsewhere before.. + defsnc 'static[ ]const[ ]u32[ ]ivb_clear_kernel\[\][ ]=' drivers/gpu/drm/i915/gt/ivb_clear_kernel.c + defsnc 'static[ ]const[ ]u32[ ]hsw_clear_kernel\[\][ ]=' drivers/gpu/drm/i915/gt/hsw_clear_kernel.c + + # New in 5.8-rc5. + blobname 'brcm[/]BCM%s\.hcd' drivers/bluetooth/btbcm.c + accept '[ ]Package[\t]Core[\t]CPU[\t]Bzy_MHz\([\n][ ]0[\t][\t]\([0-9]\|1[0-3]\)[\t]\([0-9]\|1[0-3]\)[\t][1-9][0-9]*\)*' Documentation/admin-guide/pm/intel-speed-select.rst + accept '[ \t]*cellwise[,]battery-profile[ ]=[ ][/]bits[/][ ]8[ ]<\([\n][ \t]*0x[0-9A-F][0-9A-F]\([ ]0x[0-9A-F][0-9A-F]\)*\)*[\n][ \t]*>[;]' Documentation/devicetree/bindings/power/supply/cw2015_battery.yaml + blobname 'imx[/]easrc[/]easrc-imx8mn\.bin' Documentation/devicetree/bindings/sound/fsl,easrc.yaml + defsnc '[ ]*struct[ ]sock_filter[ ]code\[\][ ]=' Documentation/networking/filter.rst + accept '[ ]*gzip[ ]-n[ ]--force[ ]-9[ ]--stdout[ ]["][$]ofile\.bin["]' arch/powerpc/boot/wrapper + accept '[ ][*][ ]*0[ ]-[ ]success[ ][(]no[ ]update[ ]done[ ]or[ ]microcode[ ]was[ ]updated[)]' arch/x86/kernel/cpu/microcode/core.c + blobname 'qca[/]htnv%02x\.bin' drivers/bluetooth/btqca.c + blobname 'rtl_bt[/]rtl8761b_fw\.bin' drivers/bluetooth/btrtl.c + defsnc '[}][ ]postdivs\[\][ ]=' drivers/clk/mmp/clk-audio.c + defsnc '[\t][}][ ]common_modes\[21\][ ]=' drivers/gpu/drm/amd/amdgpu/dce_virtual.c + defsc 'static[ ]const[ ]unsigned[ ]int[ ]a405_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a4xx_gpu.c + blobname 'a6[45]0_\(gmu\.bin\|zap\.mdt\|sqe\.fw\)' drivers/gpu/drm/msm/adreno/adreno_device.c + defsc 'static[ ]const[ ]struct[ ]ltk050h3146w_cmd[ ]page[13]_cmds\[\][ ]=' drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c + defsnc '[\t]dsi_dcs_write_seq[(]dsi[,][ ]0x' drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c + defsnc 'static[ ]const[ ]struct[ ]ov2740_reg[ ]mode_1932x1092_regs\[\][ ]=' drivers/media/i2c/ov2740.c + blobname 'habanalabs[/]gaudi[/]gaudi\(-boot\)\?-fit\.itb' drivers/misc/habanalabs/gaudi/gaudi.c + blobname 'habanalabs[/]gaudi[/]gaudi_tpc\.bin' drivers/misc/habanalabs/gaudi/gaudi.c + blobname 'habanalabs[/]goya[/]goya-boot-fit\.itb' drivers/misc/habanalabs/goya/goya.c + defsnc 'static[ ]const[ ]u8[ ]ice_fdir_\(tc\|ud\|sct\|\|i\)p\(v[46]\|[46]_tun\)_pkt\[\][ ]=' drivers/net/ethernet/intel/ice/ice_fdir.c + defsnc 'static[ ]const[ ]u32[ ]ice_ptypes_gre_of\[\][ ]=' drivers/net/ethernet/intel/ice/ice_flow.c + defsc 'static[ ]const[ ]struct[ ]ath10k_index_v\?ht_data_rate_type[ ]supported_v\?ht_mcs_rate_nss[12]\[\][ ]=' drivers/net/wireless/ath/ath10k/mac.c + defsnc '[\t]static[ ]const[ ]u16[ ]freq_list\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt7615/mcu.c + blobname 'mediatek[/]mt7663\(pr2h\|_n9\)_rebb\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + blobname 'mediatek[/]mt7915_\(w[am]\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h + defsnc 'static[ ]const[ ]u32[ ]rtw8723d_\(ofdm\|cck\)_swing_table\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d.c + blobname 'rtw88[/]rtw8723d_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8723d.c + defsnc 'static[ ]const[ ]u32[ ]rtw8723d_\(mac\|agc\|bb\|rf_a\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8723d_bb_pg\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8723d_txpwr_lmt\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8822c_txpwr_lmt_type5\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d_table.c + blobname 'gsl3680-mpman-mpwin895cl\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl3676-onda-v891-v5\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-techbite-arc-11-6\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-vinga-twizzle_j116\.fw' drivers/platform/x86/touchscreen_dmi.c + defsc 'static[ ]struct[ ]ov2680_reg[ ]const[ ]ov2680_\(global_setting\|\(Q\?CIF\|QVGA\|656x496\|800x600\|720p\|1296x976\|1456x1096\|1616x916\|1616x1082\)_30fps\)\[\][ ]=' drivers/staging/media/atomisp/i2c/ov2680.h + defsnc 'static[ ]struct[ ]ia_css_macc_table[ ]\(skin_\(low\|medium\|high\)\|blue\|green\)_macc_table[ ]=' drivers/staging/media/atomisp/pci/atomisp_tables.h + defsnc 'static[ ]struct[ ]ia_css_ctc_table[ ]vivid_ctc_table[ ]=' drivers/staging/media/atomisp/pci/atomisp_tables.h + blobname 'shisp_240\(0b\|1a\)0_v21\.bin' 'drivers/staging/media/atomisp/\(TODO\|atomisp_v4l2\.c\)' + blobname 'shisp_2401a0_legacy_v21\.bin' drivers/staging/media/atomisp/pci/atomisp_v4l2.c + defsnc 'static[ ]const[ ]s16[ ]g_pyramid\[8\]\[8\][ ]=' drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.c + defsc 'static[ ]const[ ]struct[ ]vnt_threshold[ ]\(al2230\|vt3\(226\|342\)\)_vnt_threshold\[\][ ]=' drivers/staging/vt6656/baseband.c + defsnc 'static[ ]const[ ]int[ ]k3_adc_to_temp\[\][ ]=' drivers/thermal/k3_bandgap.c + blobname 'renesas_usb_fw\.mem' drivers/usb/host/xhci-pci.c + defsnc 'static[ ]u8[ ]swap_bits_table\[\][ ]=' lib/bch.c + blobname 'dsm_param\(_%s_%s\)\?\.bin' sound/soc/codecs/max98390.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1016_reg\[\][ ]=' sound/soc/codecs/rt1016.c + defsnc 'const[ ]struct[ ]reg_default[ ]rt5682_reg\[RT5682_REG_NUM\][ ]=' sound/soc/codecs/rt5682.c + blobname 'zl38060\.fw' sound/soc/codecs/zl38060.c + blobname '%s-tplg\.bin' sound/soc/intel/skylake/skl-topology.c + defsnc 'static[ ]uint8_t[ ]default_tx\[\][ ]=' tools/spi/spidev_test.c + # This is not used at all, but watch out for future uses thereof. + # It is intended for use to load large register-set files rather + # than code. That ought to be acceptable, but let's make sure no + # unwanted use slips through. + blobna 'load_msr_list' drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c + accept 'int[ ]load_msr_list[(][^)]*[)][\n][{][\n][\t]*int[ ]ret[ ]=[ ]request_firmware[(]' drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c + accept '\(extern[ ]\)\?int[ ]load_msr_list[(][^)]*[)][;]' drivers/staging/media/atomisp/include/linux/libmsrlisthelper.h + blobname 'qca[/]crbtfw%02x\.tlv' drivers/bluetooth/btqca.c + blobname 'qca[/]htbtfw%02x\.tlv' drivers/bluetooth/btqca.c + blobname 'qca[/]%s' drivers/bluetooth/btqca.c + accept '[\t]quirks[ \t]*=[ ]XHCI_RENESAS_FW_QUIRK[,][\n][\t]\.firmware[ ]=' drivers/usb/host/xhci-pci.c + accept '[\t]*dev_err[(][&]pdev->dev[,][ ]["]request_firmware[ ]failed' drivers/usb/host/xhci-pci-renesas.c + accept 'EXPORT_SYMBOL_GPL[(]load_msr_list[)]' drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c + blobna 'for[ ]the[ ]WinTV[/]PVR[^:.]*firmware[^:.]*:[\n ][`][`]hcwamc\.rbf[^\n]*\([\n][^\n][^\n]*\)*' Documentation/admin-guide/media/bttv.rst + + # New in 5.8.2, 5.7.16, 5.4.59, and 4.19.140. + blobname 'mrvl[/]sdsd8977_combo_v2\.bin' 'drivers/\(bluetooth/btmrvl_sdio\.c\|net/wireless/marvell/mwifiex/sdio\.h\)' + blobname 'mrvl[/]sdsd8997_combo_v4\.bin' 'drivers/\(bluetooth/btmrvl_sdio\.c\|net/wireless/marvell/mwifiex/sdio\.h\)' + + # New in 5.9-rc6. + accept '[ ][ ]For[ ]pm\(8841\|8916\|8941\|8994\|8994\|a8084\|i8994\|i8998\|s405\)\([,][ \n][ ]*[slv0-9]*\)*' Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml + initnc '[ ][ ][ ][ ][$][ ]devlink[ ]region[ ]dump[ ]pci[/][^ ]*[ ]snapshot' Documentation/networking/devlink/ice.rst + blobname 'nvm_00440302_i2s_eu\.bin' arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi + initnc '[\t][\t]temperature-lookup-table[ ]=[ ]<' arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi + blobname 'nvm_00440302_i2s\.bin' arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi + defsnc 'static[ ]const[ ]u64[ ]inst\[\][ ]=' drivers/crypto/qat/qat_common/qat_hal.c + defsnc 'static[ ]u8[ ]mci_cbc_\(enc\|dec\)_\(no_iv_\)\?array\[3\]\[MODE_CONTROL_BYTES\][ ]=' drivers/crypto/sa2ul.c + defsnc 'static[ ]u8[ ]mci_ecb_\(enc\|dec\)_\(no_iv_\)\?array\[3\]\[27\][ ]=' drivers/crypto/sa2ul.c + blobname 'amdgpu[/]\(tahiti\|verde\|pitcairn\|oland\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]\(sienna_cichlid\|navy_flounder\)_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]\(sienna_cichlid\|navy_flounder\|%s\)_sdma\(%d\)\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c + # Sources are in cwsr_trap_handler_gfx10.asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_nv1x_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + blobname 'amdgpu[/]\(sienna_cichlid\|navy_flounder\|%s\)_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c + blobname 'i915[/]rkl_dmc_ver2_01\.bin' drivers/gpu/drm/i915/display/intel_csr.c + initnc '[\t]dsi_dcs_write_seq[(]dsi[,][ ]ST7703_CMD_SET\(GIP[12]\|GAMMA\)[,]' drivers/gpu/drm/panel/panel-sitronix-st7703.c + defsnc 'static[ ]const[ ]struct[ ]vadc_map_pt[ ]adcmap7_100k\[\][ ]=' drivers/iio/adc/qcom-vadc-common.c + defsc '[}][ ]ov10635_regs_wizard\[\][ ]=' drivers/media/i2c/rdacm20.c + accept '[\t][/][*][ ]get[ ]reference[ ]of[ ]pdev[ ]for[ ]request_firmware[ ][*][/]' drivers/misc/ti-st/st_kim.c + accept '[ ][*][ ]@path:[ ]the[ ]path[ ]of[ ]the[ ]firmware[ ]file[ ]to[ ]use[ ]via[ ]request_firmware' drivers/net/ethernet/intel/ice/ice_devlink.c + blobname 'mellanox[/]mlxsw_spectrum3-\(["][ ]__stringify[(]MLXSW_SP3_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'rtl_nic[/]rtl8125b-2\.fw' drivers/net/ethernet/realtek/r8169_main.c + defsnc 'static[ ]const[ ]u8[ ]rtl88\(12\|21\)ae_delta_swing_table_idx_5g[ba]_[np]\[\]\[DEL_SW_IDX_SZ\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c + defsnc 'static[ ]const[ ]u32[ ]rtw8821c_txscale_tbl\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c.c + defsnc 'static[ ]const[ ]u8[ ]rtw8821c_pwrtrk_5g[ba]_[np]\[\]\[RTW_PWR_TRK_TBL_SZ\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c.c + blobname 'rtw88[/]rtw8821c_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8821c.c + defsnc 'static[ ]const[ ]u32[ ]rtw8821c_\(mac\|agc\|bb\|rf_a\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8821c_bb_pg_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8821c_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c_table.c + defsnc 'static[ ]const[ ]struct[ ]xpsgtr_ssc[ ]ssc_lookup\[\][ ]=' drivers/phy/xilinx/phy-zynqmp.c + accept '[\t]*dev_err[(]dev[,][ ]["]request_firmware[ ]failed' drivers/remoteproc/remoteproc_core.c + defsnc 'const[ ]unsigned[ ]char[ ]\(IDX_ACTIVATE_\(READ\|WRITE\)\|\(CM\|ULP\)_\(ENABLE\|SETUP\)\|DM_ACT\|IPA_PDU_HEADER\)\[\][ ]=' drivers/s390/net/qeth_core_mpc.c + defsnc '[\t]static[ ]const[ ]u8[ ]sbox_table\[256\][ ]=' drivers/staging/rtl8723bs/core/rtw_security.c + defsnc '[\t]static[ ]const[ ]u8[ ]rx_hash_toeplitz_key\[\][ ]=' drivers/vdpa/mlx5/net/mlx5_vnet.c + defsnc 'static[ ]struct[ ]test_bitmap_cut[ ]test_cut\[\][ ]=' lib/test_bitmap.c + defsnc 'static[ ]__maybe_unused[ ]const[ ]a3d_Hrtf_t[ ]A3dHrir\(Impulse\|Ones\|SatTest\|DImpulse\)[ ]=' sound/pci/au88x0/au88x0_a3ddata.c + defsnc 'static[ ]__maybe_unused[ ]xtalk_dline_t[ ]const[ ]alXtalkDlineTest[ ]=' sound/pci/au88x0/au88x0_xtalk.c + accept '[\t]const[ ]char[ ][*]pathname[ ]=[ ]["][/]var[/]run[/]isst_cpu_topology\.dat["]' tools/power/x86/intel-speed-select/isst-config.c + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]file_name[,][\n\t ]*[&]priv->hwdev->hwif->pdev->dev[)]' drivers/net/ethernet/huawei/hinic/hinic_devlink.c + accept '[\t]err[ ]=[ ]ice_check_for_pending_update[(]pf[,][ ]component[,][ ]extack[)][;][\n][\t]if[ ][(]err[)][\n][\t][\t]return[ ]err[;][\n][\n][\t]err[ ]=[ ]request_firmware[(][&]fw[,][ ]path[,][ ]dev[)]' drivers/net/ethernet/intel/ice/ice_devlink.c + blobname 'atmel[/]wilc1000_wifi_firmware-\([0-9]\+\.bin\)\?' drivers/net/wireless/microchip/wilc1000/netdev.c + # We massage the file with undefine_macro before clean_blob. + blobname '[/][*][(]DEBLOBBED[)][*][/]["][ ][#]api[ ]["]\.bin' drivers/net/wireless/microchip/wilc1000/netdev.c + defsnc '[\t]static[ ]const[ ]struct[ ]ephy_info[ ]e_info_8125a_[12]\[\][ ]=' drivers/net/ethernet/realtek/r8169_main.c + + # New in 5.9 final. + blobname 'gsl1680-mpman-converter9.fw' drivers/platform/x86/touchscreen_dmi.c + defsc 'static[ ]struct[ ]font_data[ ]fontdata_ter16x32[ ]=' lib/fonts/font_ter16x32.c + + # New in 5.9.2 and 5.8.17. + accept '[\t][\t]\.driver_data[ ]=[ ]["]\(sof\|reef\)-[^" ;]*\.tplg["]' sound/soc/sof/'\(sof\|reef\)-pci-dev\.c' + + # New in 5.9.7 and 5.4.76. + defsc 'static[ ]const[ ]struct[ ]font_data[ ]fontdata_ter16x32[ ]=' lib/fonts/font_ter16x32.c + + # New in 5.9.9. + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8250_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8250.c + + # New in 5.10-rc. + defsc '\([/][*]\)\?static[ ]unsigned[ ]int[ ]\(No\)\?DbiPrbs7\[\][ ]=' drivers/gpu/drm/amd/pm/inc/smu_11_0_cdr_table.h + defsnc 'static[ ]const[ ]struct[ ]phy_settings[ ]vc5_hdmi_phy_settings\[\][ ]=' drivers/gpu/drm/vc4/vc4_hdmi_phy.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad9434_scale_table\[\]\[2\][ ]=' drivers/iio/adc/ad9467.c + defsc 'static[ ]const[ ]struct[ ]reg_default[ ]lp50\(24\|36\)_reg_defs\[\][ ]=' drivers/leds/leds-lp50xx.c + defsc 'static[ ]const[ ]struct[ ]SMap[I2 ]\?[ ]m_\(RF_Cal\|\(Main\|Cal\)_PLL\|GainTaper\|RF_Cal_DC_Over_DT\|CID_Target\)_Map\[\][ ]=' drivers/media/dvb-frontends/tda18271c2dd_maps.h + defsnc 'static[ ]const[ ]struct[ ]ov8856_reg[ ]mode_\(3264x2448\|1632x1224\)_regs\[\][ ]=' drivers/media/i2c/ov8856.c + defsc 'static[ ]const[ ]u32[ ]CRC_LUT\[256\][ ]=' drivers/media/test-drivers/vidtv/vidtv_psi.c + defsc 'static[ ]const[ ]u8[ ]reverse\[256\][ ]=' drivers/media/test-drivers/vidtv/vidtv_s302m.c + defsnc 'static[ ]const[ ]u8[ ]r8a779\(6\(5\|_es13\)\|90\)_calib_table\[2\]\[SDHI_CALIB_TABLE_MAX\][ ]=' drivers/mmc/host/renesas_sdhi_core.c + defsnc 'static[ ]const[ ]u16[ ]mcp251xfd_crc16_table\[\][ ]=' drivers/net/can/spi/mcp251xfd/mcp251xfd-crc16.c + defsnc 'static[ ]const[ ]u32[ ]ice_ipv[46]_\(ofos\|il\)_no_l4\[\][ ]=' drivers/net/ethernet/intel/ice/ice_flow.c + defsc 'static[ ]const[ ]struct[ ]ath10k_mem_section[ ]qca6174_hw30_sdio_register_sections\[\][ ]=' drivers/net/wireless/ath/ath10k/coredump.c + accept 'const[ ]struct[ ]firmware[ ][*]ath11k_core_firmware_request[(]' drivers/net/wireless/ath/ath11k/'core\.[ch]' + accept '[\t]*\(bd->fw\|fw_entry\|fw\)[ ]=[ ]ath11k_core_firmware_request[(]' drivers/net/wireless/ath/ath11k/qmi.c + blobname '\(amss\|m3\)\.bin' drivers/net/wireless/ath/ath11k/hw.h + blobname 'gsl1680-irbis-tw118\.fw' drivers/net/wireless/intel/iwlwifi/fw/pnvm.c + blobname 'gsl3680-predia-basic\.fw' drivers/net/wireless/intel/iwlwifi/fw/pnvm.c + accept '[\t]s->data_sz[ ][=][ ][0-9]*[;][\n][\t]s->data[ ]=[ ][(]void[ ][*][)]["]\([\\]\([0-7][0-7]*\|x[0-9a-f][0-9a-f]\|[\n]\)\)*["][;]' kernel/bpf/preload/iterators/iterators.skel.h + accept '[ ][*][ ]@file_offset:[ ]file[ ]offset[ ]to[ ]request[ ]when[ ]calling[ ]request_firmware_into_buf' lib/test_firmware.c + accept '[ ][*][ ]@partial:[ ]partial[ ]read[ ]opt[ ]when[ ]calling[ ]request_firmware_into_buf' lib/test_firmware.c + accept '[\t]*req->rc[ ]=[ ]request_\(partial_\|\)firmware_into_buf[\n][\t]*[(][&]req->fw[,][\n][\t]*[ ]req->name' lib/test_firmware.c + blobname 'qcom[/]sc7180-trogdor[/]modem[/]\(mba\|qdsp6sw\)\.mbn' arch/arm64/boot/dts/qcom/sc7180-trogdor-lte-sku.dtsi + blobname 'qcom[/]sc7180-trogdor[/]modem-nolte[/]\(mba\|qdsp6sw\)\.mbn' arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi + blobname 'qcom[/]sdm845[/][ac]dsp\.mdt' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + blobname 'qcom[/]sdm845[/]mba\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + blobname 'qcom[/]sdm845[/]modem\.mdt' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + accept '[ ][*][ ]request_partial_firmware_into_buf[(][)][ ]-[ ]load' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]This[ ]function[ ]works[ ]pretty[ ]much[ ]like[ ]request_firmware_into_buf[ ]except' drivers/base/firmware_loader/main.c + accept 'request_partial_firmware_into_buf[(]const[ ]struct[ ]firmware' drivers/base/firmware_loader/main.c + accept 'EXPORT_SYMBOL[(]request_partial_firmware_into_buf[)]' drivers/base/firmware_loader/main.c + accept '\(static[ ]inline[ ]\)\?int[ ]request_partial_firmware_into_buf\([(]const[ ]struct[ ]firmware\|[\n]\)' include/linux/firmware.h + accept '[\t]retval0[ ]=[ ]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_partial_firmware_into_buf[(][&]xfw[,][ ]NONFREE_FIRMWARE' include/linux/firmware.h + accept '[\t]if[ ][(]is_nonfree_firmware[^\n]*[\n][\t][\t]return[ ]reject_partial_firmware_into_buf[^\n]*[\n][\t]else[\n][\t][\t]return[ ]request_partial_firmware_into_buf[(]firmware_p[,][ ]name[,]' include/linux/firmware.h + accept 'test_request_partial_firmware_into_buf\(_nofile\)\?\([(][)]\|[ ][0-9]\)' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]echo[ ]-n[ ]["]Test[ ]request_partial_firmware_into_buf[(][)]' tools/testing/selftests/firmware/fw_filesystem.sh + blobname 'amdgpu[/]green_sardine_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]green_sardine_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c + blobname 'cadence[/]mhdp8546\.bin' drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.h + blobname 'i915[/]rkl_dmc_ver2_02\.bin' drivers/gpu/drm/i915/display/intel_csr.c + blobname 'i915[/]tgl_dmc_ver2_08\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'mrvl[/]prestera[/]mvsw_prestera_fw-v%u\.%u\.img' drivers/net/ethernet/marvell/prestera/prestera_pci.c + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]params->file_name' drivers/net/ethernet/huawei/hinic/hinic_devlink.c + accept '[\t]err[ ]=[ ]request_firmware[(][&]fw[,][ ]params->file_name[,][ ]dev[)]' drivers/net/ethernet/intel/ice/ice_devlink.c + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]params->file_name' drivers/net/ethernet/mellanox/mlx5/core/devlink.c + accept '[\t]err[ ]=[ ]request_firmware[(][&]fw[,][ ]fw_name[,][ ]ionic->dev[)]' drivers/net/ethernet/pensando/ionic/ionic_fw.c + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]firmware[,][ ]params->file_name' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'intel[/]ibt-%u-%u-%u\.sfi' drivers/bluetooth/hci_intel.c + blobname '[^ ]*[:][/][/][^ ]*linux-can[/]can-firmware' drivers/net/can/softing/Kconfig + blobna 'which[ ]you[ ]can[ ]get[ ]at[\n][ ][ ][ ]http[^\n]*[/]linux-can[/][\n][^-]*firmware[ ]version[^\n]*' drivers/net/can/softing/Kconfig + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ca0113_mmio_init_\(address\|data\)_ae5\[\][ ]=' sound/pci/hda/patch_ca0132.c + blobname 'qcom[/]LENOVO[/]81F1[/]qcdsp\(1v\)\?28998.mbn' arch/arm64/boot/dts/qcom/msm8998-lenovo-miix-630.dts + blobname 'qcom[/]sdm845[/]a630_zap\.mbn' arch/arm64/boot/dts/qcom/'sdm845-\(db845c\|mtp\|xiaomi-beryllium\)\.dts' + blobname 'qcom[/]LENOVO[/]81JL[/]qc\([ac]dsp\|dsp\(1v\)\?2\)850\.mbn' arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts + blobname 'qcom[/]LENOVO[/]81JL[/]qcdxkmsuc850\.mbn' 'Documentation/devicetree/bindings/display/msm/gpu.txt\|arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts' + blobname 'qcom[/]sm8250[/]\([ac]dsp\|slpi\).mbn' arch/arm64/boot/dts/qcom/sm8250-mtp.dts + + # New in 5.11-rc6. + initnc '[\t][\t]dlg,mem-array[ ]=[ ]<' Documentation/devicetree/bindings/input/dlg,da7280.txt + initnc '\.Lpermute:' arch/arm/crypto/chacha-neon-core.S + blobname 'qca[/]crnv%02xu\.bin' drivers/bluetooth/btqca.c + blobname 'rtl_bt[/]rtl8852au_fw\.bin' drivers/bluetooth/btrtl.c + blobname 'qca[/]nvm_usb_%08x_%04x\.bin' drivers/bluetooth/btusb.c + blobname 'amdgpu[/]%s_toc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + # Moved down, after %s_cap and %s.bin under 5.18-rc. + # blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + blobname 'amdgpu[/]vangogh_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]dimgrey_cavefish_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]vangogh_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c + blobname 'amdgpu[/]dimgrey_cavefish_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]VCN0_BASE[ ]=[ ]' drivers/gpu/drm/amd/include/dimgrey_cavefish_ip_offset.h + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(FCH\|MP2\|USB\)_BASE[ ]=[ ]' drivers/gpu/drm/amd/include/vangogh_ip_offset.h + defsnc 'static[ ]struct[ ]lt9611uxc_mode[ ]lt9611uxc_modes\[\][ ]=' drivers/gpu/drm/bridge/lontium-lt9611uxc.c + blobname 'i915[/]dg1_dmc_ver2_02\.bin' drivers/gpu/drm/i915/display/intel_csr.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]sx9310_pthresh_codes\[\][ ]=' drivers/iio/proximity/sx9310.c + defsc 'static[ ]const[ ]struct[ ]reg_8[ ]imx274_mode6_1280x540_raw10\[\][ ]=' drivers/media/i2c/imx274.c + defsnc 'static[ ]const[ ]struct[ ]ov02a10_reg[ ]ov02a10_1600x1200_regs\[\][ ]=' drivers/media/i2c/ov02a10.c + defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5640_setting_QQVGA_160_120\[\][ ]=' drivers/media/i2c/ov5640.c + defsnc 'static[ ]const[ ]struct[ ]ov9734_reg[ ]mode_1296x734_regs\[\][ ]=' drivers/media/i2c/ov9734.c + defsnc 'static[ ]const[ ]int[ ]pf8x00_sw7_voltages\[\][ ]=' drivers/regulator/pf8x00-regulator.c + defsc 'static[ ]const[ ]u8[ ]prob_table_init\[\][ ]=' drivers/staging/media/sunxi/cedrus/cedrus_vp8.c + defsnc 'static[ ]const[ ]u8[ ]k_mv_entropy_update_probs\[2\]\[V4L2_VP8_MV_PROB_CNT\][ ]=' drivers/staging/media/sunxi/cedrus/cedrus_vp8.c + defsnc 'static[ ]const[ ]u32[ ]SHA256_K\[\][ ]=' lib/crypto/sha256.c + accept '[\t]local[ ]mount_img=["][$][{]tmp_dir[}][/]test\.img' tools/testing/selftests/bpf/ima_setup.sh + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]sync_v2\[\][ ]=' tools/testing/selftests/net/timestamping.c + accept '[\t]if[ ][(][!]encl_load[(]["]test_encl\.elf["]' tools/testing/selftests/sgx/main.c + accept 'MZPKT_[A-Z0-9_]*=["][0-9a-f][0-9a-f]\(:\([\\][\n]\)\?[0-9a-f][0-9a-f]\)*["]' tools/testing/selftests/net/forwarding/bridge_mld.sh + accept 'CBPF_MPTCP_SUBOPTION_ADD_ADDR=["][0-9,\n\t ]*["]' tools/testing/selftests/net/mptcp/mptcp_join.sh + accept 'int[ ]s3fwrn5_fw_request_firmware[(]struct[ ]s3fwrn5_fw_info' drivers/nfc/s3fwrn5/'firmware\.[ch]' + accept '[\t]ret[ ]=[ ]request_firmware[(][&]params\.fw[,][ ]file_name[,][ ]devlink->dev[)]' net/core/devlink.c + defsnc 'static[ ]const[ ]struct[ ]coex_5g_afh_map[ ]afh_5g_8822b\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b.c + blobname 'ccs[/]ccs-\(sensor\|module\)-%4.4x-%4.4x-%4.4x\.fw' drivers/media/i2c/ccs/ccs-core.c + blobname 'lt9611uxc_fw\.bin' drivers/gpu/drm/bridge/lontium-lt9611uxc.c + blobname 'qat_4xxx\(\|_\(mmp\|sym\|asym\|admin\)\)\.bin' drivers/crypto/qat/qat_4xxx/adf_4xxx_hw_data.h + blobname 'qcom[/]sdx55m[/]\(sbl1\|edl\)\.mbn' drivers/bus/mhi/pci_generic.c + blobname 'qcom[/]sm8150[/]\([ac]dsp\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8150-hdk.dts + blobname 'qcom[/]sm8150[/]\([ac]dsp\|modem\|slpi\)\.mdt' arch/arm64/boot/dts/qcom/sm8150-mtp.dts + blobname 'imx[/]xcvr[/]xcvr-imx8mp\.bin' sound/soc/fsl/fsl_xcvr.c + + # New in 5.11.3. + accept '[\t]s6e63m0_dcs_write_seq_static[(]ctx[,][ ]MCS_[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-samsung-s6e63m0.c + + # New in 5.12-rc5. + blobname 'ice\.pkg' drivers/net/ethernet/intel/ice/ice_main.c + blob 'Dynamic[ ]Device[ ]Personalization[\n]-\+[\n]\([^\n]\+[\n][\n]\?\)*of[ ]the[ ]default[ ]DDP[ ]package[ ]file[ ][(]ice\.pkg[)]\.' Documentation/networking/device_drivers/ethernet/intel/ice.rst + initnc '[ \t]*[.]active_vlans[ ]=[ ][(]unsigned[ ]long[ ]\[64\][)]' Documentation/networking/device_drivers/qlogic/qlge.rst + accept '[ \t]*["]values["]:[ ]\[[ ]0\([,]0\)*[ ]\]' Documentation/networking/device_drivers/qlogic/qlge.rst + blobname 'qcom[/]sm8250[/][ac]dsp\.mbn' arch/arm64/boot/dts/qcom/qrb5165-rb5.dts + blobname 'qcom[/]sm8250[/]a650_zap\.mbn' arch/arm64/boot/dts/qcom/'qrb5165-rb5\|sm8250-mtp\.'dts + blobname 'qcom[/]sdm845[/]oneplus6[/]\([ac]dsp\|a630_zap\|mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi + blobname 'oneplus6[/]crnv21\.bin' arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi + blobname 'mediatek[/]BT_RAM_CODE_MT%04x_1_%x_hdr\.bin' drivers/bluetooth/btusb.c + blobname 'mrvl[/]cpt%02d[/]%s\.out' drivers/crypto/marvell/octeontx2/otx2_cptpf_ucode.c + blobname 'a5\(08\|12\)_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c + defsc 'static[ ]const[ ]struct[ ]khadas_ts050_panel_cmd[ ]init_code\[\][ ]=' drivers/gpu/drm/panel/panel-khadas-ts050.c + blobname 'dvb-demod-mxl692\.fw' drivers/media/dvb-frontends/mxl692.h + defsnc 'static[ ]const[ ]struct[ ]imx334_reg[ ]mode_3840x2160_regs\[\][ ]=' drivers/media/i2c/imx334.c + defsnc 'static[ ]struct[ ]regval_list[ ]ov5647_\(2592x1944\|1080p30\|2x2binned\|640x480\)_10bpp\[\][ ]=' drivers/media/i2c/ov5647.c + defsc 'static[ ]const[ ]struct[ ]ov8865_register_value[ ]ov8865_\(register_values_\(native\|binning\)\|init_sequence\)\[\][ ]=' drivers/media/i2c/ov8865.c + blobname 'v\(k\(_[ab]0\|\)\|p\)-boot[12]\.bin' drivers/misc/bcm-vk/bcm_vk_dev.c + defsc 'static[ ]const[ ]u8[ ]mv88e6xxx_lag_mask_table\[8\]\[8\][ ]=' drivers/net/dsa/mv88e6xxx/chip.c + defsnc 'static[ ]const[ ]struct[ ]rtl8366rb_jam_tbl_entry[ ]rtl8366rb_init_jam_\(ver_[0123]\|f5d8235\)\[\][ ]=' drivers/net/dsa/rtl8366rb.c + blobname 'mediatek[/]WIFI_RAM_CODE_MT7961_1\.bin' drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h + blobname 'mediatek[/]WIFI_MT7961_patch_mcu_1_2_hdr\.bin' drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h + defsnc 'static[ ]const[ ]u32[ ]rtw8821c_agc_btg_type2\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c_table.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sc8180x_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sc8180x.c + blobname 'gsl3680-jumper-ezpad-7\.fw' drivers/platform/x86/touchscreen_dmi.c + defsnc '\(static[ ]\)\?unsigned[ ]short[ ]\(plain\|shift\|altgr\|ctrl\|shift_ctrl\|alt\|ctrl_alt\)_map\[NR_KEYS\][ ]=' drivers/tty/vt/defkeymap.c_shipped + defsnc 'static[ ]const[ ]struct[ ]xr_txrx_clk_mask[ ]xr21v141x_txrx_clk_masks\[\][ ]=' drivers/usb/serial/xr_serial.c + defsc '[\t]static[ ]const[ ]u32[ ]base\[4\]\[12\][ ]=' net/wireless/util.c + defsnc 'static[ ]const[ ]struct[ ]comp_coeff_val[ ]comp_coeff_table\[HPH_MODE_MAX\]\[COMP_MAX_COEFF\][ ]=' sound/soc/codecs/lpass-rx-macro.c + accept 'ROOTFS_IMAGE=["]root\.img["]' tools/testing/selftests/bpf/vmtest.sh + accept '[\t]img_fd[ ]=[ ]openat[(]-EBADF[,][ ]["][/]mnt[/]C[/]ext4\.img["]' tools/testing/selftests/mount_setattr/mount_setattr_test.c + accept '[\t]ASSERT_EQ[(]system[(]["]mkfs\.ext4[ ]-q[ ][/]mnt[/]C[/]ext4\.img["][)]' tools/testing/selftests/mount_setattr/mount_setattr_test.c + accept '[\t]echo[ ]["][ ]---[ ]make[ ]\(clean\|allmodconfig\|\)["][ ][>]\+[ ]["][$]amcdir[/]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh + accept '[\t]make[ ]-j[$]MAKE_ALLOTED_CPUS[ ]\(clean[ ]\|allmodconfig[ ]\|\)[>][>][ ]["][$]amcdir[/]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh + + # New in 5.12.9, 5.10.42. + blobname '\(silead[/]\)\?gsl1680-chuwi-hi10-pro\.fw' drivers/platform/x86/touchscreen_dmi.c + + # New in 5.13-rc. + # Sources are in cwsr_trap_handler_gfx9.asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_aldebaran_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + defsnc '[\t]static[ ]const[ ]uint16_t[ ]prime_numbers\[\][ ]=' drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(\(IO\(AGR\|APIC\)\|L1IMU\(IOAGR\|PCIE\)\)0\|WAFL[01]\|XGMI[012]\)_BASE[ ]=' + defsnc '[\t]const[ ]struct[ ]reg_sequence[ ]seq\[\][ ]=' drivers/gpu/drm/bridge/lontium-lt8912b.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]jpeg_d[qh]t\[\][ ]=' drivers/media/platform/imx-jpeg/mxc-jpeg.c + accept '[ ][*][ ]@fw_get_done:[\t]flag[ ]set[ ]when[ ]request_firmware[(][)]' drivers/media/platform/s5p-mfc/s5p_mfc_common.h + defsnc 'static[ ]const[ ]u8[ ]ice_fdir_\(\(udp\|tcp\|icmp\|ipv\)4_gtpu4\|ipv[46]_\(l2tpv3\|\(nat_t_\)\?esp\|ah\|pfcp_\(session\|node\)\)\)_pkt\[\][ ]=' drivers/net/ethernet/intel/ice/ice_fdir.c + defsnc 'static[ ]const[ ]u32[ ]ice_ptypes_\(mac_ofos\|macvlan_il\|ipv[46]_ofos_all\|\(arp\|icmp\)_of\|ipv[46]_\(ofos\|il\)_no_l4\|icmp_\(of\|il\)\|mac_il\|gtpc\(_tid\)\?\|gtpu\|pppoe\|pfcp_\(node\|session\)\|l2tpv3\|\(nat_t_\)\?esp\|ah\|mac_non_ip_ofos\)\[\][ ]=' drivers/net/ethernet/intel/ice/ice_flow.c + defsnc '[\t]static[ ]const[ ]u8[ ]chan_list_5ghz\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sc7280_pdc_map\[\][ ]=' drivers/pinctrl/gcom/pinctrl-sc7280.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8350_pdc_map\[\][ ]=' drivers/pinctrl/gcom/pinctrl-sc8350.c + defsnc 'static[ ]const[ ]int[ ]bd7181x_wled_currents\[\][ ]=' drivers/regulator/bd71815-regulator.c + accept '[ ][*][ ]lpfc_request_firmware_upgrade_store[ ]-[ ]Request[ ]for[ ]Linux[ ]generic[ ]firmware[ ]upgrade' drivers/scsi/lpfc/lpfc_attr.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]by_vt3253_init_tab_rfmd\[CB_VT3253_INIT_FOR_RFMD\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc '[}][ ]test_div64_results\[SIZE_DIV64_DIVISORS\]\[SIZE_DIV64_DIVIDENDS\][ ]=' lib/math/test_div64.c + defsnc 'static[ ]const[ ]struct[ ]cs8409_i2c_param[ ]cs42l42_init_reg_seq\[\][ ]=' sound/pci/hda/patch_cirrus.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1019_reg\[\][ ]=' sound/soc/codecs/rt1019.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1316_reg_defaults\[\][ ]=' sound/soc/codecs/rt1316-sdw.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt1316_blind_write\[\][ ]=' sound/soc/codecs/rt1316-sdw.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt711_sdca_reg_defaults\[\][ ]=' sound/soc/codecs/rt711-sdca-sdw.h + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt715_reg_defaults_sdca\[\][ ]=' sound/soc/codecs/rt715-sdca-sdw.h + defsnc 'static[ ]const[ ]char[ ][*]mips_gpr_names\[32\][ ]=' tools/perf/arch/mips/util/dwarf-regs.c + accept '[\t]unlink[(]["][/]var[/]run[/]isst_cpu_topology\.dat["][)]' tools/power/x86/intel-speed-select/isst-config.c + defsnc 'const[ ]struct[ ]vm_guest_mode_params[ ]vm_guest_mode_params\[\][ ]=' tools/testing/selftests/kvm/lib/kvm_util.c + accept '[\t]rpipwm->firmware[ ]=[ ]firmware[;]' drivers/pwm/pwm-raspberrypi-poe.c + blobname 'qcom[/]sdm845[/][ac]dsp\.mbn' arch/arm64/boot/dts/qcom/sdm845-db845c.dts + blobname 'qcom[/]sm8350[/]\([ac]dsp\|modem\|slpi\|\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-'\(hdk\|mtp\)\.dts' + blobname 'qcom[/]sdx65m[/]xbl\.elf' drivers/bus/mhi/pci_generic.c + blobname 'qcom[/]sdx65m[/]edl\.mbn' drivers/bus/mhi/pci_generic.c + blobname 'qcom[/]prog_firehose_sdx24\.mbn' drivers/bus/mhi/pci_generic.c + blobname 'amdgpu[/]aldebaran_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]aldebaran_\(sos\|ta\)\.bin' drivers/gpu/drm/amd/amdgpu/psp_v13_0.c + blobname 'amdgpu[/]\(aldebaran\|%s\)_smc\.bin' drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c + blobname 'i915[/]adls_dmc_ver2_01\.bin' drivers/gpu/drm/i915/display/intel_csr.c + blobname 'qcom[/]vpu-1\.0[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c + blobname 'rtl_nic[/]rtl815\(3c-1\|6[ab]-2\)\.fw' drivers/net/usb/r8152.c + blobname '\(silead[/]\)\?gsl3692-teclast-tbook11\.fw' drivers/platform/x86/touchscreen_dmi.c + + # New in 5.13.2, 5.12.17, 5.10.50. + blobname 'amd[/]amd_sev_fam1[79]h_model[03]xh\.sbin' drivers/crypto/ccp/sev-dev.c + blobname 'gt912-glavey-tm800a550l.fw' drivers/platform/x86/touchscreen_dmi.c + + # New in 5.13.4, 5.12.19. + defsnc 'static[ ]unsigned[ ]char[ ]screen_bits\[\][ ]=' arch/m68k/68000/screen.h + # New in 5.13.4, 5.12.19, 5.10.52. + defsc '[\t]setrate_44100\[\][ ]=' sound/usb/usx2y/usbusx2yaudio.c + defsc 'static[ ]const[ ]struct[ ]s_c2[ ]setrate_48000\[\][ ]=' sound/usb/usx2y/usbusx2yaudio.c + + # New in 5.13.5 and 5.10.53. + blobna 'and[ ]booted[ ]am335x-pm-firmware\.elf\.[\n][ ][*][/]' Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt + + # New in 5.14-rc. + accept '[ ]*nvidia,emc-registers[ ]=[ ]*<\(0x[0-9a-f]*[ \n]*\)*>[;]' Documentation/devicetree/bindings/memory-controllers/nvidia,tegra20-emc.yaml + blobname 'msnv11\.bin' Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml + blobname 'qcom[/]sm8150[/]microsoft[/]\([ac]dsp\|modem\|slpi\)\.mdt' arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts + blobname 'qca[/]msbtfw%02x\.\(tlv\|mbn\)' drivers/bluetooth/btqca.c + blobname 'qca[/]msnv%02x\.bin' drivers/bluetooth/btqca.c + blobname 'rtl_bt[/]rtl8761bu_fw\.bin' drivers/bluetooth/btrtl.c + blobname 'amdgpu[/]\(beige_goby\|yellow_carp\)_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + defsnc 'static[ ]const[ ]u32[ ]\(vgpr\|sgpr\(112\|96\|64\)\)_init_compute_shader_aldebaran\[\][ ]=' drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.c + blobname 'amdgpu[/]\(beige_goby\|yellow_carp\)_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]PCIE_BASE[ ]=' drivers/gpu/drm/amd/include/yellow_carp_offset.h + blobname 'i915[/]["][ \t\\\n]*__stringify[(]platform[)][ ]["]_dmc_ver["][ \t\\\n]*__stringify[(]major[)][ ]["]_["][ \t\\\n]*__stringify[(]minor[)][ ]["]\.bin' drivers/gpu/drm/i915/display/intel_dmc.c + defsnc 'static[ ]const[ ]u8[ ]rc_range_\(min\|max\)qp444_8bpc\[DSC_NUM_BUF_RANGES\]\[RC_RANGE_QP444_8BPC_MAX_NUM_BPP\][ ]=' drivers/gpu/drm/i915/display/intel_qp_tables.c + defsnc 'static[ ]const[ ]u8[ ]rc_range_\(min\|max\)qp444_10bpc\[DSC_NUM_BUF_RANGES\]\[RC_RANGE_QP444_10BPC_MAX_NUM_BPP\][ ]=' drivers/gpu/drm/i915/display/intel_qp_tables.c + defsnc 'static[ ]const[ ]u8[ ]rc_range_\(min\|max\)qp444_12bpc\[DSC_NUM_BUF_RANGES\]\[RC_RANGE_QP444_12BPC_MAX_NUM_BPP\][ ]=' drivers/gpu/drm/i915/display/intel_qp_tables.c + blobname 'a660_sqe\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'a660_gmu\.bin' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'a660_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c + defsnc '[\t]static[ ]const[ ]unsigned[ ]int[ ]coeffs\[192\][ ]=' drivers/gpu/drm/tegra/hub.c + defsnc 'static[ ]const[ ]struct[ ]imx208_reg[ ]mode_\(1936x1096\|968_548\)_60fps_regs\[\][ ]=' drivers/media/i2c/imx208.c + defsnc 'static[ ]const[ ]struct[ ]ov8856_reg[ ]lane_[24]_mode_\(3280x2464\|1640x1232\)\[\][ ]=' drivers/media/i2c/ov8856.c + defsnc 'static[ ]const[ ]struct[ ]ov8856_reg[ ]lane_4_mode_\(3264x2448\|1632x1224\)\[\][ ]=' drivers/media/i2c/ov8856.c + defsc 'static[ ]const[ ]u32[ ]isc_sama\(5d2\|7g5\)_gamma_table\[\]\[GAMMA_ENTRIES\][ ]=' drivers/media/platform/atmel/atmel-sama5d2-isc.c + defsnc 'static[ ]const[ ]u8[ ]mpeg2_intra_quant_matrix\[64\][ ]=' drivers/media/v4l2-core/v4l2-ctrls-core.c + defsnc 'static[ ]u32[ ]sparx5_taxi_ports\[SPX5_DSM_CAL_TAXIS\]\[SPX5_DSM_CAL_MAX_DEVS_PER_TAXI\][ ]=' drivers/net/ethernet/microchip/sparx5/sparx5_calendar.c + defsnc '[\t]const[ ]u32[ ]taxi_dist\[SPX5_PORTS_ALL\][ ]=' drivers/net/ethernet/microchip/sparx5/sparx5_port.c + defsnc 'static[ ]const[ ]struct[ ]hsfreq_range[ ]rk1808_mipidphy_hsfreq_ranges\[\][ ]=' drivers/phy/rockchip/phy-rockchip-inno-csidphy.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]rk3568_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + defsnc 'static[ ]const[ ]u16[ ]scarlett2_mixer_values\[SCARLETT2_MIXER_VALUE_COUNT\][ ]=' sound/usb/mixer_scarlett_gen2.c + defsnc 'static[ ]const[ ]struct[ ]s_c2[ ]setrate_44100\[\][ ]=' sound/usb/usx2y/usbusx2yaudio.c + accept '[\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]FW_ACTION_NOUEVENT[,][ ]name[,][\n\t ]*dev[,][ ]GFP_KERNEL[,][ ]NULL[,][\n\t ]*trigger_async_request_cb[)][;]' lib/test_firmware.c + # kpu_profile is derived from a user-supplied parameter + accept '[\t]if[ ][(]!request_firmware[(][&]fw[,][ ]kpu_profile[,][ ]rvu->dev[)][)]' drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c + accept '\(static[ ]int[ ]\|[\t]*\)\?efct_request_firmware_update[(]\(struct[ ]efct[ ][*]\)\?efct[)][;]\?' drivers/scsi/elx/efct/efct_driver.c + blobname '%s\.grp' 'drivers/scsi/\(lpfc/lpfc_init\.c\|elx/efct/efct_driver\.c\)' + + # Blobs that we mistakenly retained up to 5.14-rc7-gnu. + # Thanks to Legimet for bringing them to our attention! + blob '\(static[ ]\)\?uint[ ]patch_2[0ef]00\[\][ ]\(__initdata[ ]\)\?=[ ][{][0-9xa-fA-F, \t\n]*[}][;]' 'arch/powerpc/\(sysdev\|platforms/8xx\)/micropatch\.c' + blobna 'cpm_write_patch[(]cp[,][ ]0[xef0]*[,][ ]patch_2[0ef]00[,][ ]sizeof[(]patch_2[0ef]00[)][)][;]' 'arch/powerpc/\(sysdev\|platforms/8xx\)/micropatch\.c' + blob 'static[ ]const[ ]u16[ ]vs6624_p1\[\][ ]=[ ][{][0-9xa-fA-F, \t\n]*[}][;]' 'drivers/media/\(video\|i2c\)/vs6624\.c' + blobna 'vs6624_writeregs[(]sd[,][ ]vs6624_p1[)][;]' 'drivers/media/\(video\|i2c\)/vs6624\.c' + + # Here's some inducement of non-Free stuff that we clean up better now. + blobname 'GenuineIntel\.bin' 'Documentation/x86/microcode\.\(rst\|txt\)' + blobna 'cat[ ][/]lib[/]firmware[/]\(amd\|intel\)-ucode[/][^ ]*[ ][>][^\n]*' 'Documentation/x86/microcode\.\(rst\|txt\)' + blobna 'cp[ ]\.\.[/]microcode\.bin[ ][^\n]*' Documentation/x86/early_microcodetxt + blobname '[/]lib[/]firmware[/][{]intel-ucode[,]amd-ucode[}]' 'Documentation/x86/microcode\.\(rst\|txt\)' + blobname 'microcode_amd_fam15h\.bin' 'Documentation/x86/microcode\.\(rst\|txt\)' + + # Present in 4.19, matches a later-added firmware extension pattern. + accept '[\t]if[ ][(]!strcmp[(]last4[,][ ]["]\.tlv["][)][)]' drivers/fmc/fmc-write-eeprom.c + # Present in 4.14, matches a later-added firmware loader interface. + accept '[\t][\t]ret[ ]=[ ]load_msr_list[(]client[,]' drivers/staging/media/atomisp/i2c/imx/imx.c + # Present in 4.9 and 4.4, matches a later-added firmware loader interface. + accept '[\t]*\(return[ ]\)\?coda_firmware_request[(]' drivers/media/platform/code/coda-common.c + # Present in 4.9 and 4.4, harmless occurrence of update.*microcode. + accept '[ ][*][ ]Returns[:][ ]The[ ]updated[ ]number[ ]@num_saved[ ]of[ ]saved[ ]microcode[ ]patches\.' arch/x86/kernel/cpu/microcode/intel.c + # Present in 4.9, links to Free Software. + accept 'ARM[ ]assembly[ ]source[ ]code[ ]available[ ]at[ ]https[:][/][/]linuxtv\.org[/]downloads[/]firmware[/]Boot\.S' firmware/WHENCE + + # New in 5.14.11, 5.10.72. + blobname '\(silead[/]\)\?gsl1680-chuwi-hi\(10plus\|book\)\.fw' drivers/platform/x86/touchscreen_dmi.c + + # New in 5.15-rc. + blobname 'achc\.bin' 'Documentation/ABI/testing/sysfs-driver-ge-achc\|drivers/misc/gehc-achc\.c' + blobname 'qcom[/]sdm845[/]oneplus6[/]ipa_fws\.mbn' arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi + defsnc 'static[ ]__amode31_data[ ]u32[ ]__ctl_duald_amode31\[32\][ ]__aligned[(]128[)][ ]=' arch/s390/kernel/setup.c + defsnc '[\t]umc_v6_7_channel_idx_tbl_\(second\|first\)\[UMC_V6_7_UMC_INSTANCE_NUM\]\[UMC_V6_7_CHANNEL_INSTANCE_NUM\][ ]=' drivers/gpu/drm/amd/amdgpu/umc_v6_7.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]ej030na_init_sequence\[\][ ]=' drivers/gpu/drm/panel/panel-innolux-ej030na.c + defsnc '[\t]static[ ]const[ ]int[ ]voltages\[\][ ]=' drivers/hid/hid-logitech-hidpp.c + defsnc 'static[ ]const[ ]struct[ ]imx335_reg[ ]mode_2592x1940_regs\[\][ ]=' drivers/media/i2c/imx335.c + defsnc 'static[ ]const[ ]struct[ ]imx412_reg[ ]mode_4056x3040_regs\[\][ ]=' drivers/media/i2c/imx412.c + defsnc 'static[ ]const[ ]struct[ ]ov9282_reg[ ]mode_1280x720_regs\[\][ ]=' drivers/media/i2c/ov9282.c + defsnc 'static[ ]const[ ]u8[ ]channel_all\[59\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c + defsnc 'static[ ]const[ ]struct[ ]ab8500_v_to_cap[ ]cap_tbl\(_[ab]_thermistor\)\?\[\][ ]=' drivers/power/supply/ab8500_bmdata.c + blobname 'rtlwifi\([/]\|[\\][\\]\)rtl8188eufw\.bin' drivers/staging/r8188eu/hal/rtl8188e_hal_init.c + defsnc 'static[ ]char[ ]NEGOTIATE_GSS_HEADER\[AUTH_GSS_LENGTH\][ ]=' fs/ksmbd/auth.c + defsnc 'const[ ]u8[ ]s_default_security\[\][ ]__aligned[(]8[)][ ]=' fs/ntfs3/fsntfs.c + accept '[ ]*[*][ ][ ][ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0' fs/ntfs3/ntfs.h + defsnc 'static[ ]const[ ]u32[ ]__cacheline_aligned[ ]ck\[32\][ ]=' lib/crypto/sm4.c + defsnc 'static[ ]const[ ]u8[ ]__cacheline_aligned[ ]sbox\[256\][ ]=' lib/crypto/sm4.c + defsnc 'static[ ]const[ ]char[ ]large_mask\[\][ ]__initconst[ ]=' lib/test_bitmap.c + defsnc 'static[ ]const[ ]struct[ ]cs8409_i2c_param[ ]dolphin_c[01]_init_reg_seq\[\][ ]=' sound/pci/hda/patch_cs8409-tables.c + defsnc 'const[ ]__u8[ ]nci_rf_activate_ntf\[\][ ]=' tools/testing/selftests/nci/nci_dev.c + blobname 'brcmfmac43\(430b0\|752\)-sdio' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + # Catch other names likely to appear in BRCMF_FW*_DEF strings in these files. + blobna 'brcmfmac43[^";) \t\n]*\(-sdio\|-pcie\)\?' drivers/net/wireless/broadcom/brcm80211/brcmfmac/'\(sdio\|pcie\|usb\)\.c' + + # New in 5.15.3-gnu and 5.14.19-gnu. + blobna '[/][*][ ]linux-firmware\.git[ ]hash[ ][0-9a-f]*[ ][*][/]' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + + # New in 5.15.3-gnu. + defsnc 'static[ ]const[ ]u32[ ]____cacheline_aligned[ ]ck\[32\][ ]=' lib/crypto/sm4.c + defsnc 'static[ ]const[ ]u8[ ]____cacheline_aligned[ ]sbox\[256\][ ]=' lib/crypto/sm4.c + + # New in 5.16-rc. + blobname 'imx[/]dsp[/]hifi4\.bin' Documentation/devicetree/bindings/dsp/fsl,dsp.yaml + accept '[ ]*\[[ ]\(0x[1248]0*[ \n,]*\)*\]' Documentation/devicetree/bindings/leds/register-bit-led.yaml + accept '[ ]*\[0[,][ ]\(\(1[6789]\|2[012]\)[02468]0[, \n]*\)*\]' Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml + blobname 'qcom[/]apq8016[/]\(\(mba\|modem\|wcnss\)\.mbn\|WCNSS_qcom_wlan_nv_sbc\.bin\)' arch/arm64/boot/dts/qcom/apq8016-sbc.dts + blobname 'qcom[/]msm8996[/]gemini[/]\(adsp\|a530_zap\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts + blobname 'qcom[/]msm8996[/]scorpio[/]\(adsp\|a530_zap\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-scorpio.dts + blobname 'qcom[/]sa8155p[/][ac]dsp\.mdt' arch/arm64/boot/dts/qcom/sa8155p-adp.dts + accept '[ ][*][ ]firmware_request_builtin\(_buf\)\?[(][)][ ]-[ ]load[ ]builtin[ ]firmware' drivers/base/firmware_loader/builtin/main.c + accept 'bool[ ]firmware_request_builtin[(]' drivers/base/firmware_loader/builtin/main.c + accept 'EXPORT_SYMBOL_NS_GPL[(]firmware_request_builtin[,]' drivers/base/firmware_loader/builtin/main.c + accept '[ ][*][\t]callers[ ]such[ ]as[ ]request_firmware_into_buf[(]' drivers/base/firmware_loader/builtin/main.c + accept '[ ][*][\t]request_partial_firmware_into_buf[(]' drivers/base/firmware_loader/builtin/main.c + accept 'bool[ ]firmware_request_builtin_buf[(][^)]*[)][\n][{][\n][\t]if[ ][(]!firmware_request_builtin[(]' drivers/base/firmware_loader/builtin/main.c + accept '\(static[ ]inline[ ]\)\?bool[ ]firmware_request_builtin_buf[(]' drivers/base/firmware_loader/firmware.h + accept '[\t]if[ ][(]firmware_request_builtin_buf[(][^)]*[)][)][ ][{][\n][\t][\t]dev_dbg[(]device[,][ ]["]using[ ]built-in[ ]' drivers/base/firmware_loader/main.c + accept '[\t]if[ ][(]firmware_request_builtin[(][^)]*[)][)][\n][\t][\t]return[ ]0[;][\n][\n][\t]fw_priv[ ]=[ ]lookup_fw_priv[(]' drivers/base/firmware_loader/main.c + accept '[\t]retval[ ]=[ ]firmware_request_builtin[(][&]xfw[,][ ]NONFREE_FIRMWARE[)]' include/linux/firmware.h + blobname 'amdgpu[/]ip_discovery\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c + defsc 'static[ ]const[ ]u16[ ]amdgpu_unsupported_pciidlist\[\][ ]=' drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c + defsnc '[\t]mipi_dbi_command[(]dbi[,][ ]S6D27A1_PANELCTL[,]' drivers/gpu/drm/panel/panel-samsung-s6d27a1.c + defsc 'static[ ]const[ ]struct[ ]joycon_rumble_freq_data[ ]joycon_rumble_frequencies\[\][ ]=' drivers/hid/hid-nintendo.c + defsc 'static[ ]const[ ]struct[ ]joycon_rumble_amp_data[ ]joycon_rumble_amplitudes\[\][ ]=' drivers/hid/hid-nintendo.c + blobname 'goodix[/]%s' drivers/input/touchscreen/goodix_fwupload.c + blobname 'ilitek[/]ili251x.bin' drivers/input/touchscreen/ili210x.c + # These register initializers cover large contiguous regions. + # ~180b and ~512b respectively. It's not inconceivable that they + # contain some code, but it doesn't quite feel like code to me, so + # I'm tentatively leaving it in. + defsc 'static[ ]const[ ]struct[ ]hi846_reg[ ]hi846_init_[24]lane\[\][ ]' drivers/media/i2c/hi846.c + defsnc 'static[ ]const[ ]struct[ ]ov13b10_reg[ ]mipi_data_rate_1120mbps\[\][ ]=' drivers/media/i2c/ov13b10.c + defsnc 'static[ ]const[ ]struct[ ]ov13b10_reg[ ]mode_\(4208x3120\|4160x\(3120\|2340\)\|2104x1560\|2080x1170\)_regs\[\][ ]=' drivers/media/i2c/ov13b10.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]jpeg_image_red\[\][ ]=' drivers/media/platform/imx-jpeg/mxc-jpeg.c + blobname 'qcom[/]venus-4\.4[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c + blobname 'qcom[/]vpu-2\.0[/]venus\.mbn' drivers/media/platform/qcom/venus/core.c + defsnc 'static[ ]const[ ]struct[ ]rtl8365mb_jam_tbl_entry[ ]rtl8365mb_init_jam_8365mb_vc\[\][ ]=' drivers/net/dsa/rtl8365mb.c + defsc 'static[ ]const[ ]u8[ ]dummy_\(vlan_\)\?\(tcp\|udp\)_ipv6_packet\[\][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c + blobname 'cal-%s-%s\.bin' drivers/net/wireless/ath/ath11k/qmi.c + blobna '[/][*][ ]cal--\.bin[ ][*][/]' drivers/net/wireless/ath/ath11k/qmi.c + accept '[\t]*return[ ]1[;][ ][/][*][ ]not[ ]present[,][ ]try[ ]firmware_request[ ]' drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c + defsnc '[\t]static[ ]const[ ]u8[ ]chan_list_6ghz\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c + blobname 'mediatek[/]WIFI_\(RAM_CODE_MT7922_1\|MT7922_patch_mcu_1_1_hdr\)\.bin' drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h + defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ][ ]*rtw8852a_pmac_ht20_mcs7_tbl\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852a.c + blobname 'rtw89[/]rtw8852a_fw\.bin' drivers/net/wireless/realtek/rtw89/rtw8852a.c + defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852a_phy_\(bb\|radio[ab]\|nctl\)_regs\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852a_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8852a_txpwr_byrate\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852a_table.c + defsnc 'static[ ]const[ ]u8[ ]_txpwr_track_delta_swingidx_5g[ba]_[np]\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852a_table.c + # This names various coredump section names that resemble file + # names, such as eeprom.bin, bootcore_trace.bin, AFAICT extracted + # from the modem. + defsnc 'static[ ]struct[ ]iosm_coredump_file_info[ ]list\[IOSM_NOF_CD_REGION\][ ]=' drivers/net/wwan/iosm/iosm_ipc_devlink.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm6350_pdc_map\[\]' drivers/pinctrl/qcom/pinctrl-sm6350.c + defsnc 'static[ ]const[ ]char[ ]*[*][ ]const[ ]omen_thermal_profile_boards\[\][ ]=' drivers/platform/x86/hp-wmi.c + defsnc 'static[ ]const[ ]int[ ]mlxplat_modular_channels\[\][ ]=' drivers/platform/x86/mlx-platform.c + blobname 'gsl3680-viglen-connect-10\.fw' drivers/platform/x86/touchscreen_dmi.c + accept '\(static[ ]inline[ ]\)\?bool[ ]firmware_request_builtin[(]' include/linux/firmware.h + accept '#define[ ]_MAP_0_32_ASCII_SEG14_NON_PRINTABLE[\t]*[\\][\n][\t]\(0[,]\)*' include/uapi/linux/map_to_14segment.h + defsnc '[\t]struct[ ]some_bytes[ ]\(control\|middle\|three\|five\|overlap\(_expected\)\?\|complete\|after\|startat\)[ ]=' lib/memcpy_kunit.c + defsnc '[ \t]*static[ ]const[ ]\(unsigned\|U32\)[ ]DeBruijnClz\[32\][ ]=' lib/zstd/common/'\(bitstream\)zstd_internal\)\.h' + defsnc 'static[ ]const[ ]unsigned[ ]BIT_mask\[\][ ]=' lib/zstd/common/bitstream.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]LL_bits\[MaxLL[+]1\][ ]=' lib/zstd/common/zstd_internal.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]S16[ ]LL_defaultNorm\[MaxLL[+]1\][ ]=' lib/zstd/common/zstd_internal.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]ML_bits\[MaxML[+]1\][ ]=' lib/zstd/common/zstd_internal.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]S16[ ]ML_defaultNorm\[MaxML[+]1\][ ]=' lib/zstd/common/zstd_internal.h + defsnc '[ \t]*static[ ]const[ ]BYTE[ ]LL_Code\[64\][ ]=' lib/zstd/compress/zstd_compress_internal.h + defsnc '[ \t]*static[ ]const[ ]BYTE[ ]ML_Code\[128\][ ]=' lib/zstd/compress/zstd_compress_internal.h + defsnc '[ \t]*static[ ]const[ ]int[ ]DeBruijnBytePos\[\(64\|32\)\][ ]=' lib/zstd/common/zstd_compress_internal.h + defsnc '[ \t]*static[ ]unsigned[ ]const[ ]kInverseProbabilityLog256\[256\][ ]=' lib/zstd/common/zstd_compress_sequences.c + defsnc 'static[ ]U64[ ]ZSTD_ldm_gearTab\[256\][ ]=' lib/zstd/compress/zstd_ldm_geartab.h + defsc 'static[ ]const[ ]ZSTD_seqSymbol[ ]\(LL\|OF\|ML\)_defaultDTable\[[^]]*\][ ]=' lib/zstd/decompress/zstd_decompress_block.c + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]LL_base\[MaxLL[+]1\][ ]=' lib/zstd/common/zstd_decompress_internal.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]OF_\(base\|bits\)\[MaxOff[+]1\][ ]=' lib/zstd/common/zstd_decompress_internal.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]ML_base\[MaxML[+]1\][ ]=' lib/zstd/common/zstd_decompress_internal.h + defsnc 'static[ ]const[ ]struct[ ]cs35l41_pll_sysclk_config[ ]cs35l41_pll_sysclk\[\][ ]=' sound/soc/codecs/cs35l41.c + defsnc 'static[ ]const[ ]struct[ ]cs35l41_fs_mon_config[ ]cs35l41_fs_mon\[\][ ]=' sound/soc/codecs/cs35l41.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5682s_reg\[\][ ]=' sound/soc/codecs/rt5682s.c + accept 'static[ ]int[ ]wm_adsp_request_firmware_files\?[(]' sound/soc/codecs/wm_adsp.c + accept '[\t]*\(ret[ ]=[ ]\)\?wm_adsp_request_firmware_files\?[(]' sound/soc/codecs/wm_adsp.c + blobname 'qcom[/]%s[/]%s-tplg\.bin' sound/soc/qcom/qdsp6/topology.c + blobname '%s-%s-%s\.%s' sound/soc/codecs/wm_adsp.c + + # New in 5.16.3, 5.15.17, 5.10.94, 5.4.174, 4.19.226, 4.14.263. + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(p1100\|s660\|p7500\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\|size_of_priv\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/usb/dvb-usb/dw2102.c + + # New in 5.16.4, 5.15.18, 5.10.95. + blob '#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)\(_V15\)\?[ ]*[0-9]\+\([\n]#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)\(_V15\)\?[ ]*[0-9]\+\)*' 'drivers/net/\(bnx2x[/]\)\?bnx2x_hsi\.h' + blob '#define[ ]FW_FILE_VERSION\(_V15\)\?\([ ]*[\\][\n][ ]__stringify[(]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\(_V15\)\?[)]\([ ]["][.]["]\)\?\)\+' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-["][ ]FW_FILE_VERSION\(_V15\)\?[ ]["]\.fw' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-\([0-9.%d]*\.fw\)\?' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + blobna '\([,][\n \t]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)\+' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c + accept '[\t][\t][\t]goto[ ]request_firmware_exit[;]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + blobna 'bp->fw_\(major\|minor\|eng\|rev\)[ ]=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?[;]\([\n][\t]*bp->fw_\(major\|minor\|eng\|rev\)[ ]=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?[;]\)*' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + blobna '\([,][\n \t]*bp->fw_\(major\|minor\|rev\)\)\+' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c + + # New in 5.16.11, 5.15.25, 5.10.102. + blobname 'gsl1680-rwc-nanote-p8\.fw' drivers/platform/x86/touchscreen_dmi.c + + # New in 5.17-rc. + accept '[ ]*Index\([ ]*\(CPU\|IRQ\|Thr\)-[0-9]*\)*\([\n]\([ ]*[0-9]*\)*\)*' Documentation/tools/rtla/rtla-osnoise-hist.rst + accept '[\t]*nvidia[,]emc-configuration[ ]=[ ]*<[ \t\n0-9xa-f]*>[;]' 'arch/arm/boot/dts/tegra30-\(asus-tf\(201\|300tg\?\|700t\)\|pegatron-chagall\)\.dts' + blobname 'qcom[/]sdm845[/]oneplus6[/]venus\.mbn' 'arch/arm64/boot/dts/qcom/sdm845-oneplus-\(common.dtsi\|beryllium\.dts\)' + blobname 'mediatek[/]BT_RAM_CODE_MT7961_1_2_hdr\.bin' drivers/bluetooth/btmtk.h + blobname 'qca[/]nvm_usb_%08x\(%s\(_%04x\)\?\)\?\.bin' drivers/bluetooth/btusb.c + defsc 'static[ ]const[ ]struct[ ]rcar_gen4_cpg_pll_config[ ]cpg_pll_configs\[4\][ ]=' drivers/clk/renesas/r8a779a0-cpg-mssr.c + blobname 'qat_4xxx_dc\.bin' drivers/crypto/qat/qat_4xxx/adf_4xxx_hw_data.h + blobname 'a506_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c + defsnc 'static[ ]const[ ]u32[ ]hsfreqrange_table\[\]\[2\][ ]=' drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c + blobname 'nvidia[/]tegra\(210\|186\|194\)[/]nvdec\.bin' drivers/gpu/drm/tegra/nvdec.c + accept 'static[ ]const[ ]struct[ ]nvdec_config[ ]nvdec_t\(210\|186\|194\)_config[ ]=[ ][{][\n][ ]\.firmware[ ]*=[ ]' drivers/gpu/drm/tegra/nvdec.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad74413r_debounce_map\[AD74413R_DIN_DEBOUNCE_LEN\][ ]=' drivers/iio/addac/ad74413r.c + blobname 'dvb_driver_si2141_rom6[01]\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2146_rom11\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2147_rom50\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2148_rom3[23]\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2157_rom50\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2178_rom50\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2158_rom51\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2177_rom50\.fw' drivers/media/tuners/si2157_priv.h + defsc 'const[ ]struct[ ]v4l2_vp9_frame_context[ ]v4l2_vp9_default_probs[ ]=' drivers/media/v4l2-core/v4l2-vp9.c + defsnc 'static[ ]const[ ]u8[ ]hclge_comm_hash_key\[\][ ]=' drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.c + defsnc 'static[ ]const[ ]u16[ ]mlxsw_sp2_acl_bf_crc16_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c + defsnc 'static[ ]const[ ]u16[ ]mlxsw_sp4_acl_bf_crc10_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c + defsnc 'static[ ]const[ ]u8[ ]mlxsw_sp4_acl_bf_crc6_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c + blobname 'regdb\.bin' drivers/net/wireless/ath/ath11k/hw.h + blobname 'mediatek[/]mt7915_eeprom\(_dbdc\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sdx65_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sdx65.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8450_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8450.c + blobname 'gsl1680-chuwi-hi8\.fw' drivers/platform/x86/x86-android-tablets.c + blobname 'gt912-tm800a550l\.fw' drivers/platform/x86/x86-android-tablets.c + defsnc 'static[ ]const[ ]u32[ ]bq25890_tspct_tbl\[\][ ]=' drivers/power/supply/bq25890_charger.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak4375_reg_defaults\[\][ ]=' sound/soc/codecs/ak4375.c + defsc 'static[ ]const[ ]struct[ ]reg_default[ ]adc3xxx_defaults\[\][ ]=' sound/soc/codecs/tlv320adc3xxx.c + # sof-rn.ri is built out of CONFIG_RENOIR from sof/ project's sources. + accept '[\t]\([\t]\.\|\.default_\)fw_filename[ \t]=[ ]["]sof-rn\.ri["][,]' sound/soc/amd/acp-config.c + accept '[\t]\.nocodec_tplg_filename[ \t]=[ ]["]sof-acp\.tplg["][,]' sound/soc/sof/amd/pci-rn.c + blobna 'For[ ]both[ ]Cherrytrail[ ][(]CHT[)][ ]and[ ]Baytrail[ ][(]BHT[)][ ]the[ ]driver[\n]requires[^\n]*\([\n][^\n]\+\)*\([\n][\n][- ][^\n]*\)*' drivers/staging/media/atomisp/TODO + blobname 'qcom[/]apq8096[/]adsp\.mbn' arch/arm64/boot/dts/qcom/apq8096-db820c.dts + blobname 'qcom[/]sdm845[/]beryllium[/]venus\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + blobname 'qcom[/]sm7225[/]fairphone4[/]\(adsp\|cdsp\|modem\)\.mdt' arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts + blobname 'qcom[/]sm8350[/]microsoft[/]\(adsp\|cdsp\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dts + blobname 'qcom[/]\(adsp\|cdsp\|ipa_fws\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi + + # New in 5.17. + blobna 'if[ ][(]loaded_fw_\(major\|minor\|eng\|rev\)[ ]\(!=\|<\)[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?\([ ][|][|][\n][\t ]*loaded_fw_\(major\|minor\|eng\|rev\)[ ]\(!=\|<\)[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?\)*[)]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c + + # New in 5.17.4 and 5.15.35. + accept '[ ][*][ ]enabled[ ]with[ ]updated[ ]microcode[.]' arch/x86/kernel/cpu/tsx.c + + # New in 5.17.6, 5.15.38, 5.10.114, 5.4.192. + accept '[ ][*][ ]microcode_bsp_resume[ ]-[ ]Update[ ]boot[ ]CPU[ ]microcode[ ]during[ ]resume' arch/x86/kernel/cpu/microcode/core.c + + # New in 5.18-rc. + defsnc 'static[ ]const[ ]u8[ ]irq_prio_[hdl]\[256\][ ]=' arch/arm/mach-rpc/irq.c + blobname 'qcom[/]sdm845[/]axolotl[/]\([ac]dsp\|a630_zap\|ipa_fws\|mba\|modem\|venus\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts + blobname 'qcom[/]samsung[/]w737[/]qc\([ac]dsp\|dsp\(1v\)\?2\|vss\)850\.mbn' arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts + blobname 'qcom[/]samsung[/]w737[/]ipa_fws\.elf' arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts + blobname 'qcom[/]sm8450[/]\([ac]dsp\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-qrd.dts + initnc '__nsau_data[:]' arch/xtensa/lib/modsi3.S + blobname 'rtl_bt[/]rtl8852bu_fw\.bin' drivers/bluetooth/btrtl.c + blobname 'amdgpu[/]%s_cap\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + blobname 'amdgpu[/]vcn_3_1_2\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]%s\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c + blobname 'amdgpu[/]dcn_3_1_[56]_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + blobname '%s\.bin' drivers/gpu/drm/tiny/panel-mipi-dbi.c + defsnc 'static[ ]unsigned[ ]char[ ]blackwidow_init\[RAZER_BLACKWIDOW_TRANSFER_BUF_SIZE\][ ]=' drivers/hid/hid-razer.c + defsnc '[\t]static[ ]const[ ]u8[ ]sine\[\][ ]=' drivers/media/dvb-frontends/dib7000p.c + defsnc 'static[ ]const[ ]struct[ ]hi847_reg[ ]mipi_data_rate_lane_4\[\][ ]=' drivers/media/i2c/hi847.c + defsnc 'static[ ]const[ ]struct[ ]hi847_reg[ ]mode_\(3264x2448\|1632x1224\)_regs\[\][ ]=' drivers/media/i2c/hi847.c + defsnc 'static[ ]const[ ]struct[ ]og01a1b_reg[ ]mode_1280x1024_regs\[\][ ]=' drivers/media/i2c/og01a1b.c + defsc 'static[ ]const[ ]struct[ ]ov08d10_reg[ ]lane_2_mode_\(3280x2460\|3264x2448\|1632x1224\)\[\][ ]=' drivers/media/i2c/ov08d10.c + accept '[\t]dev_dbg[(]core->dev[,][ ]["]request_firmware[ ]' drivers/media/platform/amphion/vpu_core.c + blobname 'vpu[/]vpu_fw_imx8_\(enc\|dec\)\.bin' drivers/media/platform/amphion/vpu_core.c + defsc 'static[ ]const[ ]u8[ ]dummy_\(\(gre\|udp_tun\|ipv[46]_gtpu\)_ipv[46]_\(tcp\|udp\)\|ipv6_gtp\)_packet\[\][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c + blobname 'mediatek[/]mt79[18]6_\(w[am]\|rom_patch\|eeprom\)\(_mt797[56]\(_dual\|_dbdc\)\?\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h + blobname 'mellanox[/]mlxsw_spectrum[23]\?-\(["][ ]__stringify[(]MLXSW_SP[123]\?_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'rtw89[/]rtw8852c_fw\.bin' drivers/net/wireless/realtek/rtw89/rtw8852c.c + defsnc 'static[ ]const[ ]struct[ ]cdns_dphy_rx_band[ ]bands\[\][ ]=' drivers/phy/cadence/cdns-dphy-rx.c + defsnc 'static[ ]struct[ ]gbe_phy_init_data_fix[ ]gbe_phy_init_fix\[\][ ]=' drivers/phy/marvell/phy-mvebu-a3700-comphy.c + defsnc 'static[ ]const[ ]struct[ ]wpcm450_bank[ ]wpcm450_banks\[WPCM450_NUM_BANKS\][ ]=' drivers/pinctrl/nuvoton/pinctrl-wpcm450.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]qcm2290_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-qcm2290.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sc8280xp_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sc8280xp.c + defsc 'static[ ]const[ ]unsigned[ ]int[ ]bsc_data_pins\[\][ ]=' drivers/pinctrl/renesas/pfc-r8a7740.c + blobname 'wpss\.mdt' drivers/remoteproc/qcom_q6v5_adsp.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]zigzag\[\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsnc 'static[ ]const[ ]u32[ ]hw_reorder\[\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsc 'static[ ]const[ ]unsigned[ ]char[ ]hantro_jpeg_header\[\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsnc '[\t]opts\.\(data\|insns\)[ ]=[ ][(]void[ ][*][)]["]' kernel/bpf/preload/iterators/iterators.lskel.h + defsnc '[\t]skel->rodata[ ]=[ ]skel_prep_map_data[(][(]void[ ][*][)]["]' kernel/bpf/preload/iterators/iterators.lskel.h + defsnc 'static[ ]const[ ]u32[ ]____cacheline_aligned[ ]K\[64\][ ]=' lib/crypto/sm3.c + blobname 'tas5805m_dsp_%s\.bin' sound/soc/codecs/tas5805m.c + accept '[\t]*if[ ][(][!]wm_adsp_request_firmware_files\?[(]' sound/soc/codecs/wm_adsp.c + accept 'int[ ]avs_request_firmware[(]' sound/soc/intel/avs/avs.h + blobname 'dsp_basefw\.bin' sound/soc/intel/avs/loader.c + blobname '%s[/]%s[/]dsp_mod_%pUL\.bin' sound/soc/intel/avs/loader.c + accept '[\t]*ret[ ]=[ ]avs_request_firmware[(]' sound/soc/intel/avs/loader.c + accept '\(int[ ]\|[ ][*][ ]\)avs_request_firmware[(]' sound/soc/intel/avs/utils.c + accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n][\t ]*["]%s%s["][,][\n][\t ]*sof_pdata->tplg_filename[,][\n][\t ]*["]\.tplg["]' sound/soc/sof/intel/hda.c + blobname '%s\.sec' drivers/staging/wfx/fwio.c + blobname '%s%s-%s-%s\(-%s\)*\.%s' sound/soc/codecs/wm_adsp.c + + # New in 5.18.3, 5.17.14, 5.15.46, 5.10.121. + accept 'MODULE_FIRMWARE[(]["]regulatory\.db\(\.p7s\)\?["][)][;]' net/wireless/reg.c + + # New in 5.18.5, 5.15.48, 5.10.123, 5.4.199, 4.19.248, 4.14.284, 4.9.319. + accept 'combination[ ]with[ ]a[ ]microcode[ ]update[.][ ]The[ ]microcode[ ]clears' Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst + + # New in 5.19-rc. + # I'm not sure the following pattern matches actual blob names, in + # two senses: it's not clear they're software, and maybe they're + # just examples. I'm tentatively cleaing them up. + blobname 'am\(335\|43\)x-evm-scale-data\.bin' Documentation/devicetree/bindings/soc/ti/wkup-m3-ipc.yaml + blobname 'am335x-bone-scale-data\.bin' arch/arm/boot/dts/am335x-bone-common.dtsi + blobname 'am335x-evm-scale-data\.bin' arch/arm/boot/dts/'am335x-evm\(\|sk\)\.dts' + blobname 'am43x-evm-scale-data\.bin' arch/arm/boot/dts/'am43\(7x-\(gp\|sk\)\|x-epos\)-evm\.dts' + blobname 'qcom[/]apq8096[/]\(mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/apq8096-db802c.dts + blobname 'qcom[/]msm8996[/]gemini[/]\(mba\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts + blobname 'qcom[/]msm8996[/]scorpio[/]\(mba\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-scorpio.dts + blobname 'qcom[/]sdm845[/]beryllium[/]\([ac]dsp\|a630_zap\|mba\|modem\|ipa_fws\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + blobname 'qcom[/]sm8450[/]\([ac]dsp\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-hdk.dts + defsnc 'static[ ]const[ ]__initconst[ ]u8[ ]certs_selftest_\(keys\|1_\(data\|pkcs7\)\)\[\][ ]=' crypto/asymmetric_keys/selftest.c + blobname 'rtl_bt[/]rtl8852cu_fw\.bin' drivers/bluetooth/btrtl.c + blobname 'amdgpu[/]vcn_4_0_[04]\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]\(%s\|gc_11_0_[012]\)_imu\.bin' drivers/gpu/drm/amd/amdgpu/imu_v11_0.c + blobname 'amdgpu[/]\(%s\|gc_11_0_[012]\)_mes1\?\.bin' drivers/gpu/drm/amd/amdgpu/mes_v11_0.c + blobname 'amdgpu[/]\(%s\|sdma_6_0_[012]\)\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c + # The following is not new, it was just moved down to allow for + # new patterns to match despite being prefixed by it, when using + # non-NDA regexp engines. + blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + # The asm source for this is drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm, there is no _gfx11.asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx11_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + defsnc '[\t]static[ ]const[ ]u8[ ]even_dividers\[\][ ]=' drivers/gpu/drm/i915/display/intel_dpll_mgr.c + defsnc 'static[ ]const[ ]struct[ ]nv3052c_reg[ ]nv3052c_panel_regs\[\][ ]=' drivers/gpu/drm/panel/panel-newvision-nv3052c.c + defsc 'ICE_DECLARE_PKT_TEMPLATE[(]\(\(gre\|udp_tun\|\(vlan_\)\?\(tcp\|udp\)\|ipv[46]_gtpu\)_ipv[46]\(_\(tcp\|udp\)\)\?\|ipv6_gtp\)[)][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c + blobname 'mellanox[/]lc_ini_bundle_%u_%u\.bin' drivers/net/ethernet/mellanox/mlxsw/core_linecards.c + blobname 'mellanox[/]lc_ini_bundle_\(["][ \\\n\t]*__stringify[(]MLXSW_SP\?_FWREV_\(SUB\)\?MINOR[)][ ]["][_.]\)*bin' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'mrvl[/]sdiouart8997_combo_v4\.bin' drivers/net/wireless/marvell/mwifiex/sdio.h + blobname 'plfxlc[/]lifi-x[cl]\?\.bin' drivers/net/wireless/purelifi/plfxlc/firmware.c + accept '[\t][\t]dev_err[(][&]intf->dev[,][ ]["][Rr]equest_firmware[ ]' drivers/net/wireless/purelifi/plfxlc/firmware.c + defsnc 'static[ ]const[ ]s8[ ]_txpwr_track_delta_swingidx_[56]g[ba]_[np]\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/net/wireless/realtek/rtw89/'rtw8852[ac]_table\.c' + defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852c_phy_bb_reg\(s\|_gain\)\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852c_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852c_phy_\(radio[ab]\|nctl\)_regs\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852c_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8852c_txpwr_byrate\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852c_table.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8150_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8150.c + # It's not clear whether this contains code, but it's presumed proprietary, so tentatively disable it. + blobname 'intel[/]ifs[/]%02x-%02x-%02x\.scan' drivers/platform/x86/intel/ifs/load.c + defsnc 'static[ ]const[ ]int[ ]sm5703_buck_voltagemap\[\][ ]=' drivers/regulator/sm5703-regulator.c + blobname 'intel[/]irci_irci_ecr-master_20161208_0213_20170112_1500\.bin' drivers/staging/media/ipu3/ipu3-css-fw.h + defsnc '[\t]static[ ]u8[ ]p\[\]\[2\][ ]=' drivers/tty/serial/8250/8250_pci.c + defsnc '[}][ ]cs35l45_pll_refclk_freq\[\][ ]=' sound/soc/codecs/cs35l45-tables.c + defsnc 'static[ ]const[ ]char[ ][*][ ]const[ ]max98396_thermal_thresh_text\[\][ ]=' sound/soc/codecs/max98396.c + # Topology files are presumed not code, but since we block the + # loading of actual firmware by this driver, there's no harm in + # being conservative and blocking them too. These don't seem to + # be built out of SOF. + blobname '\(rt286\|nau8825\|ssm4567\|max98357a\|rt298\|max98373\|da7219\|tdf8532\|i2s-test\|dmic\|hda-%08x\)-tplg\.bin' sound/soc/intel/avs/board_selection.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-rn\.ri["]' sound/soc/sof/amd/pci-rn.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-imx8x\?\.ri["]' sound/soc/sof/imx/imx8.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-imx8m\.ri["]' sound/soc/sof/imx/imx8m.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-bdw\.ri["]' sound/soc/sof/intel/bdw.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(byt\|cht\)\.ri["]' sound/soc/sof/intel/'\(byt\|pci-tng\)\.c' + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(apl\|glk\)\.ri["]' sound/soc/sof/intel/pci-apl.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(cnl\|cfl\|cml\)\.ri["]' sound/soc/sof/intel/pci-cnl.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(icl\|jsl\)\.ri["]' sound/soc/sof/intel/pci-icl.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(tgl\(-h\)\?\|ehl\|adl\(-s\)\?\)\.ri["]' sound/soc/sof/intel/pci-tgl.c + # This is a new naming convention for the sof-*.ri files. SOF + # zephyr build scripts will output either name depending on the + # selected naming convention. + accept '[\t][\t]\[SOF_INTEL_IPC4\][ ]=[ ]["]dsp_basefw\.bin["]' sound/soc/sof/intel/'pci-\(apl\|cnl\|icl\|tgl\)\.c' + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-mt8186\.ri["]' sound/soc/sof/mediatek/mt8186/mt8186.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-mt8195\.ri["]' sound/soc/sof/mediatek/mt8195/mt8195.c + accept '\([ ]*\|[$][(]OUTPUT[)]\)test-libbpf-bpf_object__next_program\.bin' tools/build/feature/Makefile + accept '[\t][\t]test_batched_request_firmware\(\|_into_buf\|_direct\)[$]suffix' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t][\t]test_request_firmware_nowait_\(uevent\|custom\)[$]suffix' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]\?test_request_firmware_compressed' tools/testing/selftests/firmware/fw_filesystem.sh + + # New in 5.19.4, 5.15.63. + accept '[\t]if[ ][(]!request_firmware_direct[(][&]fw[,][ ]kpu_profile[,][ ]rvu->dev[)][)]' drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c + + # New in 6.0-rc5, 5.19.9, 5.15.68. + defsnc '[\t]unsigned[ ]char[ ]modified_gray_code\[\][ ]=' arch/arm/mach-at91/pm.c + +# Trisquel Aramo chnages + # New in 6.1-rc, 6.0.11, 5.15.81, 5.10.157. + blobname 'gsl1680-rca-cambio-w101-v2\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-csl-panther-tab-hd\.fw' drivers/platform/x86/touchscreen_dmi.c +# + ;; + + */*freedo*.patch | */*logo*.patch) + accept 'P[13]\([\n]#[^\n]*\)*[\n]*\([\n][0-9 ]*\)\+' drivers/video/logo/logo_libre_clut224.ppm + ;; + + */*firmware-Drop-WARN-from-usermodehelper*.patch) + accept '_request_firmware[+]0x' + accept '\[<[0-9a-f]*>\][ ]_\?request_firmware[+]' + accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]_request_firmware[(]const[ ]struct[ ]firmware' + ;; + + */deblob-check-testsuite/*) + accept 'accept[(][^)]*[)]' + blobname 'blob[(][^)]*[)]' + blobname 'blobeol[^\n]*[\n]' + ;; + esac + + # Non-specific patterns come after the patch-specific ones so that, + # when using non-NDA left-to-right regexps (python, perl), the + # patterns above can override matches of those below. + + blob "$blobseq" + # We leave out the initial and final letters of request_firmware so + # that deblobbing turns them into r/*DEBLOBBED*/e, a syntax error. + blobna 'equest_firmwar' + blobna 'equest_partial_firmwar' + blobna 'equest_ihex_firmwar' + blobna 'irmware_reques' # catch _nowarn; also caches _cache, but that's ok. + # Catch request_firmare misdeblobbed by the above. + blobname 'r[/][*][(]DEBLOBBED[)][*][/]e' + blobname 'f[/][*][(]DEBLOBBED[)][*][/]t' + blobna '[Uu]p\(date\|grade\)[^\n]*[Mm]icrocode' + blobna 'MODULE_FIRMWARE[ ]*[(][^\n;]*[)][ ]*[;]\([ \n]*MODULE_FIRMWARE[ ]*[(][^\n;]*[)][ ]*[;]\)*' + blobna 'DEFAULT_FIRMWARE' + blobna '\([.]\|->\)firmware[ \n]*=[^=]' + blobna 'mod_firmware_load' # sound/ + blobname '[.]\(\(fw\|bin\)[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\|tftf\|out\|nffw\|mdt\|mfa2\?\|ri\|tplg\|itb\|cyacd\|mbn\|tlv\|sfi\|grp\)[\\]\?["]' + # WIP ends with [\\]\?[][}{)(><,;:.!?% \t\n"`\'"'"']' + # Catch misdeblobbed fw extension. + blobname '["]\([^" \t\n/]*[/][/]*\)*[*][(]DEBLOBBED[)][*][/][^"\\]' + # Ideally we'd whitelist URLs that don't recommend non-Free + # Software, but there are just too many URLs in Linux, and most are + # fine, so we just blacklist when we find undesirable URLs. + # Please report if you find any inappropriate URL in Linux-libre + # deblobbed documentation, sources or run-time log messages. + # blobna '\(f\|ht\)tp:[/]\([/]\+[^/ \n ]\+\)\+' +} + +# Regular expression that matches a literal constant. +constx="[0-9][0-9a-fA-FxX]*" +# Regular expression that matches a separator between consecutive +# literal constants. +sepx="\\([ \\n]*\\(\\([ \\n]\\|[,:{}LlUu\"\'\\\\][,:{} \\nLlUu\"\'\\\\]*\\)[xX\$]\\?\\|[.][a-zA-Z][a-zA-Z0-9]*[ ][ ]*[\$]\\?\\)\\)" + +# Regular expression that matches a continuation of a blob, after an +# initial constant. *, \+ and \? can be safely appended to it without +# \(\)s. +blobcont="\\($sepx$constx\\)" + +# Regular expression that matches the initial constant of a blob plus +# its continuation. *, \+ and \? can be safely appended to it without +# \(\)s. +blobpat="$constx$blobcont" + +# Regular expression that matches a blob with at least the number of +# constants specified as sensitivity. +blobseq="$blobpat\\{$sens,\\}" + +# Regular expression that matches the beginning of the pattern or a +# line break. It must be \(\)ed, such that it can be named in +# replacement patterns. +bol="\\(^\\|[\\n]\\)" + +# Regular expression that matches the end of the pattern or a line +# break. It must be \(\)ed, such that it can be named in replacement +# patterns. +eol="\\([\\n]\\|\$\\)" + +# Regular expression that matches a C-style comment. +comment="\\([/][*][^*]*\\([*]\\+[^*/][^*]*\\)*[*]\\+[/]\\|[/][/][^\\n]*[\\n]\\)" + +# Regular expression that matches comments typically used in assembly. +asmcomment="\\($comment\\|[;#][^\\n]*[\\n]\\)" + +# Regular expression that matches a braced initializer containing at +# least one blob. +initblob="[^\\n=]*=\\([ \\n\\\\]\\|$comment\\)*[{]\\([^;/]\\|[/][^/*]\\|$comment\\)*$blobseq\\([^;/]\\|[/][^/*]\\|$comment\\)*[}]\\?\\([ \\n\\\\]*\\|$comment\\)[;]\\?" + +# Regular expression that matches a C (possibly multi-line) #define +# that contains a blob. +defineblob='[ ]*#[ ]*define[ ][^\n]*\([\\][\n][^\n]*\)*'"$blobseq"'\([^\n]*\\[\n]\)*' + +# Regular expression that matches an assembly label followed by a blob +# without any intervening label. +asmblob="[a-zA-Z_.][^\\n:;#/ ]*:\\([^:{}/]\\|[/][^/*]\\|$asmcomment\\)*$blobseq\\([^:]*\\|$asmcomment\\)*" + +# Set up the sed script that will go through the (processed) input, +# looking for sequences of blobs and printing whatever was requested. +# It accepts 3 arguments. + +# $1 is the action in case blobs were found in the input. + +# $2 is the action in case no blobs were found, not even false positives. + +# $3 is the action in case false positives were located. + +# $4 is the action for every complete input pattern. + +set_sed_main () { + falsepos=`${SED-sed} -n 's,^[+]\^*,,p' < "$regex_name" | + ${SED-sed} -n -e 's,[$]$,\\\\([\\\\n]\\\\|$\\\\),' \ + -e '1h; 1!H; ${g;s,[\n],\\\\|,g;s,^\(..*\)$,\\\\(\1\\\\),;p;}'` + blobs=`${SED-sed} -n 's,^[-],,p' < "$regex_name" | + ${SED-sed} -n -e 's,[$]$,\\\\([\\\\n]\\\\|$\\\\),' \ + -e '1h; 1!H; ${g;s,[\n],\\\\|,g;s,^\(..*\)$,\\\\(\1\\\\),;p;}'` + + # Regular expression that matches one or more blobs without + # intervening line breaks. + sblobctx="\\(\\([^\\n]\\|[/][*](DEBLOB-\\nBED)[*][/]\\)*$blobs\\)\\+" + + # Regular expression that matches the context for a long blob match. + lblobctx="\\($initblob\\|$defineblob\\|$asmblob\\|$sblobctx\\)" + + if test "X$falsepos" != X; then + check_false_positives="$v:???falsepos +/$bol$falsepos/!b blob +$v:+++falsepos +h +s/$bol$falsepos/\\1;\/**\/;/g +# See if, after removing all matches, we end up without any blobs. +$v:???blobs +/$blobs/!{ + g + b falsepos +} +g +" + else + falsepos="$.^" + check_false_positives= + fi + + $echo "#! /bin/sed -nf + +/^$/N +/^[\\n]\\?;[/][*]\\(end .*\\)\\?[*][/];$/{ + $4 + d +} +# /^;[/][*]begin /!{ +# : internal_error +# $v:internal_error +# s,.*,Internal error at\\n&[\\n]/*(DEBLOB-\\nERROR)*/,; +# q 2 +# } +$v:reading file in +h +n +: read_more +/^;[/][*]end [^\\n]*[*][/];$/! { + H + n + b read_more +} +H +g +$4 +$v:read all +s/^\\(;[/][*]begin [^\\n]*[\\n]\\)*// +s/\\($bol[\n]\?;[/][*]\\(end [^\\n]*\\)\\?[*][/];\\)*$// +$v:???!blobs +/$blobs/!b clean +$check_false_positives +# Fall through. +: blob +$v:blob +$1 +d +: clean +$v:clean +$2 +d +: falsepos +$v:falsepos +$3 +d + +: print_matches +$v:print_matches +/^$falsepos/! { + $v:delete unmatching lines + h + s/[\\n]$falsepos.*// + : print_matches_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_matches_nomatch_loop + } + x + b print_matches_delete_to_eol +} +h +s/^\\($falsepos[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to match +/$blobs/ { + i\\ +::: $file ::: + p +} +g +s/^\\($falsepos[^\\n]*\\)// +: print_matches_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_matches + +: print_marked_matches +$v:print_marked_matches +/^$falsepos/! { + h + s/[\\n]$falsepos.*// + : print_marked_matches_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_marked_matches_nomatch_loop + } + x + b print_marked_matches_delete_to_eol +} +h +s/^\\($falsepos[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to match +/$blobs/{ + i\\ +::: $file ::: + # s/{\\($sepx\\)\\?$blobseq\\($sepx\\)\\?}[ ]*;/{\/*(DEBLOBBED)*\/};/g + s/$blobs/\/*(DEBLOBBED)*\//g + p +} +g +s/^\\($falsepos[^\\n]*\\)// +: print_marked_matches_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_marked_matches + +: print_blobs +$v:print_blobs +/^$falsepos/ { + $v:delete false positive + # This is tricky. We don't want to print the false positive. + /^$falsepos[^\\n]*$blobs/ { + $v:delete false positive immediately followed by blob + s/^\\($falsepos\\)/\\1\/*(DEBLOB-\\nBED)*\// + h + s/^\\($falsepos\\).*/\\1/ + $v:matched false positive + : print_blobs_match_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_blobs_match_loop + } + G + b print_blobs_delete_to_eol + } + /^$falsepos[/][*](DEBLOB-\\nBED)[*][/]/! { + s/^$falsepos// + b print_blobs_delete_to_eol + } +} +/^\([^\\n]\|[/][*](DEBLOB-\\nBED)[*][/]\)*$blobs/! { + $v:delete non-blob header + h + s/[\\n]\\($falsepos\\|[^\\n]*$blobs\\).*// + $v:matched non-blob header + : print_blobs_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_blobs_nomatch_loop + } + x + b print_blobs_delete_to_eol +} +i\\ +::: $file ::: +: print_blobs_output_false_positive +/[^\\n]*[/][*](DEBLOB-[\\n]BED)[*][/]/ { + P + s,^[^\\n]*[\\n],, + b print_blobs_output_false_positive +} +h +s/\\($blobs\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +p +g +s/\\(\\($blobs[^\\n]*\\)\\+\\)// +: print_blobs_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_blobs + +: print_marked_blobs +$v:print_marked_blobs +/^$falsepos/ { + $v:delete false positive + # This is tricky. We don't want to print the false positive. + /^$falsepos[^\\n]*$blobs/ { + $v:delete false positive immediately followed by blob + s/^\\($falsepos\\)/\\1\/*(DEBLOB-\\nBED)*\// + h + s/^\\($falsepos\\).*/\\1/ + $v:matched false positive + : print_marked_blobs_match_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_marked_blobs_match_loop + } + G + b print_marked_blobs_delete_to_eol + } + /^$falsepos[/][*](DEBLOB-\\nBED)[*][/]/! { + s/^falsepos// + b print_marked_blobs_delete_to_eol + } +} +/^\([^\\n]\|[/][*](DEBLOB-\\nBED)[*][/]\)*$blobs/! { + $v:delete non-blob header + h + s/[\\n]\\($falsepos\\|[^\\n]*$blobs\\).*// + $v:matched non-blob header + : print_marked_blobs_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_marked_blobs_nomatch_loop + } + x + b print_marked_blobs_delete_to_eol +} +i\\ +::: $file ::: +: print_marked_blobs_output_false_positive +/[^\\n]*[/][*](DEBLOB-[\\n]BED)[*][/]/ { + P + s,^[^\\n]*[\\n],, + b print_marked_blobs_output_false_positive +} +h +s/\\($blobs\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +# s/{\\($sepx\\)\\?$blobseq\\($sepx\\)\\?}[ ]*;/{\/*(DEBLOBBED)*\/};/g +s/$blobs/\/*(DEBLOBBED)*\//g +p +g +s/\\(\\($blobs[^\\n]*\\)\\+\\)// +: print_marked_blobs_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_marked_blobs + +: print_cblobs +$v:print_cblobs +/^$falsepos/ { + $v:delete false positive + # This is tricky. We don't want to print the false positive. + /^$falsepos[^\\n]*$blobs/ { + $v:delete false positive immediately followed by blob + s/^\\($falsepos\\)/\\1\/*(DEBLOB-\\nBED)*\// + h + s/^\\($falsepos\\).*/\\1/ + $v:matched false positive + : print_cblobs_match_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_cblobs_match_loop + } + G + b print_cblobs_delete_to_eol + } + /^$falsepos[/][*](DEBLOB-\\nBED)[*][/]/! { + s/^$falsepos// + b print_cblobs_delete_to_eol + } +} +/^$lblobctx/! { + $v:delete non-blob header + h + s/[\\n]\\($falsepos\\|$lblobctx\\).*// + $v:matched non-blob header + : print_cblobs_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_cblobs_nomatch_loop + } + x + b print_cblobs_delete_to_eol +} +i\\ +::: $file ::: +: print_cblobs_output_false_positive +/[^\\n]*[/][*](DEBLOB-[\\n]BED)[*][/]/ { + P + s,^[^\\n]*[\\n],, + b print_cblobs_output_false_positive +} +h +s/^\\($lblobctx\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +p +g +s/^\\($lblobctx[^\\n]*\\($blobs[^\\n]*\\)*\\)// +: print_cblobs_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_cblobs + +: print_marked_cblobs +$v:print_marked_cblobs +/^$falsepos/ { + $v:delete false positive + # This is tricky. We don't want to print the false positive. + /^$falsepos[^\\n]*$blobs/ { + $v:delete false positive immediately followed by blob + s/^\\($falsepos\\)/\\1\/*(DEBLOB-\\nBED)*\// + h + s/^\\($falsepos\\).*/\\1/ + $v:matched false positive + : print_marked_cblobs_match_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_marked_cblobs_match_loop + } + G + b print_marked_cblobs_delete_to_eol + } + /^$falsepos[/][*](DEBLOB-\\nBED)[*][/]/! { + s/^$falsepos// + b print_marked_cblobs_delete_to_eol + } +} +/^$lblobctx/! { + $v:delete non-blob header + h + s/[\\n]\\($falsepos\\|$lblobctx\\).*// + $v:matched non-blob header + : print_marked_cblobs_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_marked_cblobs_nomatch_loop + } + x + b print_marked_cblobs_delete_to_eol +} +i\\ +::: $file ::: +: print_marked_cblobs_output_false_positive +/[^\\n]*[/][*](DEBLOB-[\\n]BED)[*][/]/ { + P + s,^[^\\n]*[\\n],, + b print_marked_cblobs_output_false_positive +} +h +s/^\\($lblobctx\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +# s/{\\($sepx\\)\\?$blobseq\\($sepx\\)\\?}[ ]*;/{\/*(DEBLOBBED)*\/};/g +s/$blobs/\/*(DEBLOBBED)*\//g +p +g +s/^\\($lblobctx[^\\n]*\\($blobs[^\\n]*\\)*\\)// +: print_marked_cblobs_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_marked_cblobs + +: print_both +$v:print_both +/^\\($falsepos\\|[^\\n]*$blobs\\)/! { + $v:delete non-blob header + h + s/[\\n]\\($falsepos\\|[^\\n]*$blobs\\).*// + $v:matched non-blob header + : print_both_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_both_nomatch_loop + } + x + b print_both_delete_to_eol +} +h +i\\ +::: $file ::: +s/^\\(\\($falsepos\\|[^\\n]*$blobs\\)\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +p +g +s/^\\(\\($falsepos[^\\n]*\\|[^\\n]*$blobs[^\\n]*\\)\\($blobs[^\\n]*\\)*\\)// +: print_both_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_both + +: list_matches +$v:list_matches +/^$falsepos/! { + $v:print unmatching lines + h + s/[\\n]$falsepos.*// + p + : list_matches_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b list_matches_nomatch_loop + } + x + b list_matches_delete_to_eol +} +h +s/^\\($falsepos[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to match +/$blobs/{ + # s/{\\($sepx\\)\\?$blobseq\\($sepx\\)\\?}[ ]*;/{\/*(DEBLOBBED)*\/};/g + s/$blobs/\/*(DEBLOBBED)*\//g +} +p +g +s/^\\($falsepos[^\\n]*\\)// +: list_matches_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b list_matches + +: list_blobs +$v:list_blobs +/^$falsepos/ { + $v:print false positive + # This is tricky. We don't want to deblob the false positive. + /^$falsepos[^\\n]*$blobs/ { + $v:print false positive immediately followed by blob + s/^\\($falsepos\\)/\\1\/*(DEBLOB-\\nBED)*\// + h + s/^\\($falsepos\\).*/\\1\\n/ + : list_blobs_match_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + P + s/^[^\\n]*[\\n]// + x + b list_blobs_match_loop + } + G + b list_blobs_delete_to_eol + } + h + s/^\\($falsepos[^\\n]*\\)[\\n].*/\\1/ + p + g + s/^\\($falsepos[^\\n]*\\)// + b list_blobs_delete_to_eol +} +/^[^\\n]*$blobs/! { + $v:print non-blob header + h + s/[\\n]\\($falsepos\\|[^\\n]*$blobs\\).*// + p + : list_blobs_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b list_blobs_nomatch_loop + } + x + b list_blobs_delete_to_eol +} +h +s/\\($blobs\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +# s/{\\($sepx\\)\\?$blobseq\\($sepx\\)\\?}[ ]*;/{\/*(DEBLOBBED)*\/};/g +s/$blobs/\/*(DEBLOBBED)*\//g +p +g +s/\\(\\($blobs[^\\n]*\\)\\+\\)// +: list_blobs_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b list_blobs + +: list_both +$v:list_both +/^\\($falsepos\\|[^\\n]*$blobs\\)/! { + $v:print non-blob header + h + s/[\\n]\\($falsepos\\|[^\\n]*$blobs\\).*// + p + : list_both_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b list_both_nomatch_loop + } + x + b list_both_delete_to_eol +} +h +s/^\\(\\($falsepos\\|[^\\n]*$blobs\\)\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +# s/{\\($sepx\\)\\?$blobseq\\($sepx\\)\\?}[ ]*;/{\/*(DEBLOBBED)*\/};/g +s/$blobs/\/*(DEBLOBBED)*\//g +p +g +s/^\\(\\($falsepos[^\\n]*\\|[^\\n]*$blobs[^\\n]*\\)\\($blobs[^\\n]*\\)*\\)// +: list_both_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b list_both + +" > "$scriptname" + + scriptcmd='${SED-sed} -n -f "$scriptname"' + + case $vp in + [01]) xv= ;; + 2) xv='# ';; + esac + + sedunbreak=' +: restart +/[/][*](DEBLOB-$/ { + N + /[/][*](DEBLOB-[\n]ERROR)[*][/]/{q 1;}'" +$xv"'s,[/][*](DEBLOB-[\n]BED)[*][/],, + b restart +} +p +' + scriptcmd2='${SED-sed} -n -e "$sedunbreak"' +} + +set_flex_main () { + adjust_rx=' +s,\\\([{(|)}?+]\),\1,g +s,^\([-+]\)\(\^\?\)\(.*\)\(\$\?\)$,\2(?s:\3)\4\1,g +s,[+]$, { falsepos (); }, +s,[-]$, { blob (); }, +' + + echo '%%' > "$scriptname" + ${SED-sed} "$adjust_rx" < "$regex_name" >> "$scriptname" + echo '\n|. { unmatched (); } +%% +int falsepos () {} +int blob () {} +int unmatched () {} +' >> "$scriptname" + + scriptcmd=false +} + +set_python_main () { + adjust_rx=' +s,\\(,\\(?:,g; +s,\\\([{(|)}?+]\),\1,g; +' + + cat >> "$scriptname" <> "$scriptname" + fi + + ${SED-sed} -n 's,^[+],,p' < "$regex_name" | + ${SED-sed} -n -e "$adjust_rx" -e 's,\^,,' \ + -e '1h; 1!H; $ { g; s,[\n],|,g; '"\ +s,^\\(.*\\)\$,falsepos = r'(?P\\1)',;\ +"' p;}' >> "$scriptname" + + ${SED-sed} -n 's,^[-],,p' < "$regex_name" | + ${SED-sed} -n -e "$adjust_rx" \ + -e '1h; 1!H; $ { g; s,[\n],|,g; '"\ +s,^\\(.*\\)\$,blob = r'(?P\\1)',;\ +"' p;}' >> "$scriptname" + + $echo "\\($initblob\\|$defineblob\\|$asmblob\\)" | + ${SED-sed} -e "$adjust_rx" \ + -e "s,^\\(.*\\)\$,cblob = r'(?P\\1)'," >> "$scriptname" + + cat >> "$scriptname" <<\EOF + +if no_falsepos or falsepos is None: + falsepos = r'(?!)' + +rx = '^%s|%s' % (falsepos, blob) + +if with_context: + rx += '|^' + cblob + +rxc = re.compile('(?<=.)(?:%s)' % rx, re.M | re.S) + +filenames = None + +s = '\n' + +for line in sys.stdin: + # Read into s all lines between begin and end. An empty line, without + # even the '\n', flags the end of the input. + if line[:3] == ';/*' and line[-4:] == '*/;\n': + if line[3:9] == 'begin ': + nextfilenames = (line[9:-4], filenames) + if s == '\n': + filenames = nextfilenames + del nextfilenames + continue + elif line[3:7] == 'end ': + #if print_blob and not print_nomatch: + # from time import time + # sys.stderr.write('%i %i %s\n' % (time(), len(s), filenames[0])) + assert line[7:-4] == filenames[0] + nextfilenames = filenames[1] + else: + assert filenames != None + s += line + continue + else: + assert filenames != None + s += line + continue + + if verbose: + print('looking for matches') + sfilenames = filenames + while filenames != None: + if filenames[1] is None: + print(filenames[0]) + else: + print(filenames[0] + ' within') + filenames = filenames[1] + filenames = sfilenames + + if s[-1] == '\n': + s = s[:-1] + + pp = 1 + p = pend = 0 + match = rxc.search (s, p) + while match != None: + firstmatch = match + blobs = falses = 0 + while 1: + if verbose: + print('found match') + what = match.lastgroup + + if what == 'cblob': + if verbose: print('match is a blob context') + pend = s.find ('\n', match.end()) + 1 + if pend == 0: + pend = len(s) + p = match.start() + 1 + blob_p = 2 + else: + blob_p = what == 'blob' + assert blob_p or what == 'falsepos' + + if blob_p: + if verbose: print('match is a blob') + blobs += 1 + else: + if verbose: print('match is a false positive') + falses += 1 + + if blob_p and replace_blob or not blob_p and replace_falsepos: + s = s[:match.start(what)] + replacement + s[match.end(what):] + p = match.start(what) + len(replacement) + if pend > match.start(what): + pend += p - match.end(what) + else: + p = match.end(what) + + if p > pend: + pend = s.find ('\n', p) + 1 + if (pend == 0): + pend = len(s) + + match = rxc.search (s, p) + if match is None or match.start () >= pend or \ + (blob_p and not print_blob and not falses) or \ + (not blob_p and not print_falsepos and not blobs): + break + + if print_nomatch: + sys.stdout.write (s[pp:firstmatch.start() + 1]) + pp = firstmatch.start() + 1 + else: + pp = s.rfind ('\n', 0, firstmatch.start () + 1) + 1 + + if print_blob and blobs or print_falsepos and falses: + if not print_nomatch: + sfilenames = filenames + while filenames != None: + print('::: ' + filenames[0] + ' :::') + filenames = filenames[1] + filenames = sfilenames + sys.stdout.write (s[pp:pend]) + pp = pend + + if list_blob and blobs or list_falsepos and falses: + while filenames != None: + if filenames[1] is None: + print(filenames[0]) + else: + print (filenames[0] + ' within') + filenames = filenames[1] + exit (1) + + if print_nomatch: + sys.stdout.write(s[pp:]) + + if verbose: + print('no further matches') + + s = '\n' + filenames = nextfilenames + del nextfilenames + +assert filenames is None + +exit (0) +EOF + + scriptcmd="${PYTHON-python} "'"$scriptname"' +} + +set_perl_main () { + adjust_rx=' +s,\\(,\\(?:,g; +s,\\\([{(|)}?+]\),\1,g; +' + + # Add $ before arguments + set `echo "$@" | sed 's,\(^\|= *\),&$,g'` + + cat >> "$scriptname" <<\EOF +#! /usr/bin/perl + +use strict; +use warnings; + +# Should we replace blobs and false positives with replacement? +my $replace_blob = 0; +my $replace_falsepos = 0; +my $replacement = '/*(DEBLOBBED)*/'; + +# Should we print lines containing blobs, false positives, and neither? +my $print_blob = 0; +my $with_context = 0; +my $print_falsepos = 0; +my $print_nomatch = 0; + +# Should we print the input stack and exit if we find blobs or false positives? +my $list_blob = 0; +my $list_falsepos = 0; + +# Should we forget everything we know about false positives? +my $falsepos; +my $no_falsepos = 0; + +EOF + + cat >> "$scriptname" <\\1)'ms;,;\ +"' p;}' >> "$scriptname" + + ${SED-sed} -n 's,^[-],,p' < "$regex_name" | + ${SED-sed} -n -e "$adjust_rx" \ + -e '1h; 1!H; $ { g; s,[\n],|,g; '"\ +s,^\\(.*\\)\$,my \$blob = qr'(?\\1)'ms;,;\ +"' p;}' >> "$scriptname" + + $echo "\\($initblob\\|$defineblob\\|$asmblob\\)" | + ${SED-sed} -e "$adjust_rx" \ + -e "s,^\\(.*\\)\$,my \$cblob = qr'(?\\1)'ms if \$with_context;," >> "$scriptname" + + cat >> "$scriptname" <<\EOF + +$falsepos = qr/(?(?!))/ if $no_falsepos || ! defined $falsepos; + +my $rx = qr/^$falsepos|$blob/ms; + +$rx = qr/$rx|^$cblob/ms if $with_context; + +my @filenames; +my $nfilenames = 0; +my $nextnfilenames; + +my $s = ''; + +while () { + # Read into s all lines between begin and end. An empty line, without + # even the '\n', flags the end of the input. + if (m:^[;][/][*](begin|end) (.*)[*][/][;]$:) { + if ($1 eq 'begin') { + print "entering $2\n" if $verbose; + $filenames[$nfilenames] = $2; + $nextnfilenames = $nfilenames + 1; + if ($s eq '') { + $nfilenames = $nextnfilenames; + next; + } + } else { + $nextnfilenames = $nfilenames - 1; + print "processing $filenames[$nextnfilenames]\n" if $verbose; + } + } else { + $s .= $_; + next; + } + + if ($verbose) { + print "looking for matches in\n"; + for (my $i = $nfilenames; --$i > 0; ) { + print $filenames[$i], " within\n"; + } + print $filenames[0], "\n"; + } + + $s =~ s/[\n]$//; + + my $pp = my $p = 0; + + my $matchfound = substr ($s, $p) =~ /$rx/o; + while ($matchfound) { + print "found first match\n" if $verbose; + my $firstmatchstart = $-[0] + $p; + my $blobs = my $falses = 0; + my $matchstart = $-[0] + $p; + my $pend = -1; + my $blob_p; + do {{ + my $matchend = $+[0] + $p; + print "found match $matchstart..$matchend\n" if $verbose; + print "$&" if $verbose > 1; + + if (defined $+{'cblob'}) { + print "match is a blob context\n" if ($verbose); + $pend = index ($s, "\n", $matchend) + 1; + $pend = length $s if !$pend; + } + + if (defined $+{'falsepos'}) { + print "match is a false positive\n" if ($verbose); + # $matchend -= $+[0] - $+[1]; + $blob_p = 0; + $falses++; + } elsif (defined $+{'blob'}) { + $blob_p = 1; + $blobs++; + print "match is a blob at $matchstart\n" if ($verbose); + } else { + $blob_p = 2; + $p = $matchstart; + print "searching up to $pend\n" if $verbose; + next; + } + + if ($blob_p ? $replace_blob : $replace_falsepos) { + substr ($s, $matchstart, $matchend - $matchstart, + $replacement); + $p = $matchstart + length $replacement; + $pend += $p - $matchend if $pend >= $matchstart; + } else { + $p = $matchend; + } + + $pend = index ($s, "\n", $p) + 1 if $p >= $pend; + $pend = length $s if !$pend; + print "searching up to $pend\n" if $verbose; + $p--; + }} while (($matchfound = (substr ($s, $p) =~ /(?<=.)$rx/mso)) + && ($matchstart = $-[0] + $p) < $pend + && !($blob_p + ? (!$print_blob && !$falses) + : (!$print_falsepos && !$blobs))); + + print "last match before $pend\n" if $verbose; + + if ($print_nomatch) { + print substr ($s, $pp, $firstmatchstart - $pp); + $pp = $firstmatchstart; + } elsif (($print_blob || $print_falsepos) && $firstmatchstart > 0) { + $pp = rindex ($s, "\n", $firstmatchstart - 1) + 1; + } + + if (($print_blob && $blobs) || ($print_falsepos && $falses)) { + if (!$print_nomatch) { + for (my $i = $nfilenames; $i-- > 0;) { + print "::: ", $filenames[$i], " :::\n"; + } + } + + print substr ($s, $pp, $pend - $pp); + $pp = $pend; + } + + if (($list_blob && $blobs) || ($list_falsepos && $falses)) { + for (my $i = $nfilenames; --$i > 0;) { + print $filenames[$i], " within "; + } + print $filenames[0], "\n"; + exit (1); + } + } + + print substr ($s, $pp) if $print_nomatch; + + print "no further matches\n" if $verbose; + + $s = ''; + $nfilenames = $nextnfilenames; +} + +exit (0); +EOF + + scriptcmd="${PERL-perl} "'"$scriptname"' +} + +set_awk_main () { + adjust_rx=' +s,[$]$,([\\n]|$),; +s,\[^\],[^\\],g; +s,\\\([{(|)}?+]\),\1,g; +' + + case " = $@ = " in + *" = no_falsepos = "*) falsepos='$.^';; + *) falsepos=` + ${SED-sed} -n 's,^[+],,p' < "$regex_name" | + ${SED-sed} -n -e "$adjust_rx" -e 's,\^,,' \ + -e '1h; 1!H; $ { g; s,[\n],|,g; p;}' + ` + case $falsepos in "") falsepos='$.^';; esac;; + esac + + blob=` + ${SED-sed} -n 's,^[-],,p' < "$regex_name" | + ${SED-sed} -n -e "$adjust_rx" \ + -e '1h; 1!H; $ { g; s,[\n],|,g; p;}'` + + case " = $@ = " in + *" = with_context = "*) cblob=` + $echo "\\($initblob\\|$defineblob\\|$asmblob\\)" | + ${SED-sed} -e "$adjust_rx" + `;; + *) cblob='$.^';; + esac + + xrs= nrs="# " eor="RT" eormatch='RT ~ ' eornl='[\n]' eornlsz=1 + # Uncomment the line below to disable the use of a regular + # expression for the awk Record Separator, a GNU awk extension. + # Using this extension appears to save a lot of memory for long + # deblob-check runs. + # xrs="# " nrs= eor='$0' eormatch='' eornl= eornlsz=0 + + cat >> "$scriptname" < 0;) + print filenames[i] " within"; + print filenames[0] + } + + s = substr (s, 1, length (s) - 1) + + pp = 2; + p = pend = 1; + if (verbose > 1) print "searching starting at", substr (s, p, 10) + matchfound = match (substr (s, p), + /[\n]($falsepos)|[\n]($cblob)|.($blob)/); + while (matchfound) { + blobs = falses = 0; + firstmatchstart = RSTART + p; + for (;;) { + matchstart = RSTART + p - 1; + matchlen = RLENGTH; + if (verbose) { + print "found match", matchstart, matchlen; + if (verbose > 1) + print substr (s, matchstart + 1, matchlen - 1); + } + + if (match (substr (s, matchstart, matchlen), /^[\n]($falsepos)/) == 1) { + matchlen = RLENGTH; + if (verbose) print "match is a false positive of length", matchlen; + blob_p = 0; + falses++; + } else if (match (substr (s, matchstart, matchlen), /^.($blob)/) == 1) { + matchlen = RLENGTH; + if (verbose) print "match is a blob of length", matchlen; + blob_p = 1; + blobs++; + } else if (match (substr (s, matchstart, matchlen), /^[\n]($cblob)$/) == 1) { + if (verbose) print "match is a blob context"; + pend = index (substr (s, matchstart + matchlen), "\n"); + if (pend) + pend += matchstart + matchlen; + else + pend = length (s); + p = matchstart + 1; + blob_p = 2; + if (verbose > 1) print "range is:", substr (s, p, pend - p); + } + + if (blob_p < 2) { + if (blob_p ? replace_blob : replace_falsepos) { + s = substr (s, 1, matchstart) \\ + replacement \\ + substr (s, matchstart + matchlen); + p = matchstart + length (replacement) - 1; + pend += (p + 1 - matchstart - matchlen); + } else + p = matchstart + matchlen - 1; + + if (p >= pend) { + i = index (substr (s, p + 1), "\n"); + if (i) + pend = p + 1 + i; + else + pend = length (s) + } + } + + if (verbose) print "search until", pend; + + if (!(matchfound = match (substr (s, p), + /[\n]($falsepos)|[\n]($cblob)|.($blob)/)) || + p + RSTART >= pend || + (blob_p ? + (!print_blob && !falses) : + (!print_falsepos && !blobs))) + break; + } + + if (print_nomatch) + printf "%s", substr (s, pp, firstmatchstart - pp); + else if (print_blob || print_falsepos) { + lastline = substr (s, pp, firstmatchstart - pp); + sub (/.*[\n]/, "", lastline); + if (verbose) print "lastline: " lastline "\\\\n" + firstmatchstart -= length (lastline); + } + pp = firstmatchstart; + + if (verbose) print "match set range:", pp, pend + + if ((print_blob && blobs) || (print_falsepos && falses)) { + if (!print_nomatch) + for (i = nfilenames; i-- > 0;) + print "::: " filenames[i] " :::"; + printf "%s", substr (s, pp, pend - pp); + pp = pend; + } + + if ((list_blob && blobs) || (list_falsepos && falses)) { + for (i = nfilenames; --i > 0;) + print filenames[i] " within"; + print filenames[0]; + exit (1); + } + } + + if (print_nomatch) + printf "%s", substr (s, pp) + + if (verbose) + print "no further matches"; + + s = "\n"; + nfilenames = nextnfilenames; + next; +} +EOF + + scriptcmd="${AWK-gawk} --re-interval -f "'"$scriptname"' +} + +set_flex_main () { + adjust_rx=' +s,\\\([{(|)}?+]\),\1,g +s,^\([-+]\)\(\^\?\)\(.*\)\(\$\?\)$,\2(?s:\3)\4\1,g +s,[+]$, { falsepos (); }, +s,[-]$, { blob (); }, +' + + echo '%%' > "$scriptname" + ${SED-sed} "$adjust_rx" < "$regex_name" >> "$scriptname" + echo '\n|. { unmatched (); } +%% +int falsepos () {} +int blob () {} +int unmatched () {} +' >> "$scriptname" + + scriptcmd=false +} + +set_save_script_input_main () { + savename=`mktemp -t deblob-check-input-XXXXXX` + scriptcmd="{ echo saving input in $savename && cat > $savename && echo done; }" +} + +# Process an input file named in $1 and run it through the blob +# recognizer. Functions set_except and set_sed_cmd provide additional +# arguments on a per-file and per-action basis. + +check () { + case "$#" in 1) ;; *) echo ICE >&2; exit 1;; esac + + input=$1 + + # Add $1 to falsepos. Its usage makes it implicitly anchored to the + # beginning of the line. $2, if present, will some day narrow the + # falsepos matches to files that match it. + addx () { + $echo "+^$1" >> $regex_name + } + + # Add $1 to falseneg. Unlike addx, it is NOT implicitly anchored to + # the beginning of the line. $2, if present, will some day narrow + # the falseneg matches to files that match it. + badx () { + $echo "-$1" >> $regex_name + } + + # Look for a multi-line definition starting with a line that matches + # $1 (implicitly anchored to the beginning of the line), and ending + # at the first ';'. $2 may optionally name the files in which this + # match is to be disregarded as a potential blob. + initnc () { + addx "$1[^;]*[;]\\?" $2 + } + + # Same as initnc, but require the terminating semicolon. + defsnc () { + addx "$1[^;]*[;]" $2 + } + + # Look for a multi-line definition starting with a line that matches + # $1 (implicitly anchored to the beginning of the line), and ending + # at the first ';' that's not within comments. + initc () { + addx "$1\\([^;/]\\+\\($comment\\|[/][^/*;]\\)\\+\\)*[^;/]*[;]\\?" $2 + } + + # Same as initc, but require the terminating semicolon. + defsc () { + addx "$1\\([^;/]\\+\\($comment\\|[/][^/*;]\\)\\+\\)*[^;/]*[;]" $2 + } + + # Accept as a non-blob an expression $1 that would have otherwise + # triggered blob detection. The expression must end in a way that + # would trigger the blob detection machinery. + accept () { + addx "$1" $2 + } + + # Match up to the end a comment started in $1. + ocomment () { + addx "$1[/]*\\([*]*[^*/][/]*\\)*[*]\+[/]" $2 + } + + # Match $1 followed by backslash-terminated lines and a last + # non-backslash-terminated line. + oprepline () { + addx "$1\\([^\\\\\\n]*[\\\\][\\n]\\)*[^\\\\\\n]*$" $2 + } + + # Match $1 in $2 as a blob. Not anchored. + blobna () { + badx "$1" $2 + } + + # Match $1 as a blob anywhere. $2 is just for documentation purposes. + blobname () { + badx "$1" $2 + } + + # Match $1 in $2 as a blob. The expectation is a match in the + # beginning of line, but we don't do anchoring of blob patterns ATM. + blob () { + badx "$1" $2 + } + + regex_name=`mktemp -t deblob-check-regex-XXXXXX` + tempfiles="$regex_name" + + set_except "$input" + + # Check that all regular expressions match our requirements. + ${SED-sed} -n ' +s,^\(-\^\?\|[+]\^\),, +h +s,[$]$,, +s,\([^\\]\|^\)\(\(\\\\\)*\)\(\[^\?[]]\?[^]]\+\]\([*]\|\\[+?]\)\?\(\\\\\)*\)\+,\1\2,g +/\([^\\]\|^\)\(\\\\\)*\([{(|)}?+^$"'"'"'; ]\)\|^$/{ + g + i\ +BAD regular expression: + p + q 1 +}' $regex_name >&2 || exit 1 + + scriptname=`mktemp -t deblob-check-script-XXXXXX` + tempfiles="$tempfiles $scriptname" + + scriptcmd=false + scriptcmd2= + + $set_cmd "$input" + + for f in $tempfiles; do + case $f in "$scriptname") ;; + *) rm -f "$f" ;; + esac + done + tempfiles="$scriptname" + + # Choose the input source... + case $input in + -) in= ;; + *) in='< "$input"' ;; + esac + + set fnord # shifted out below + + # Decompress as needed... + case $input in + *.bz2) cmd='bunzip2' ;; + *.xz) cmd='unxz' ;; + *.lz) cmd='lzip -d' ;; + *.gz | *.tgz) cmd='gunzip' ;; + *) cmd= ;; + esac + if test -n "$cmd"; then + set "$@" "$cmd" + fi + + # Extract or otherwise munge... + case /$input in + *.tar*) + tarwrap=`mktemp -t deblob-check-tarwrap-XXXXXX` + tempfiles="$tempfiles $tarwrap" + + cat >> $tarwrap <&2; fi && +\$echo ";/*begin \$1*/;" && +cat && +echo && +\$echo ";/*end \$1*/;" +EOF + chmod +x $tarwrap + cmd="tar -xf - --to-command='$tarwrap \"\$TAR_FILENAME\"'" + ;; + *.patch | *.patch.*z* | */patch-* | *.diff | *.diff.*z*) + if $reverse_patch; then + s=- r=+ + else + s=+ r=- + fi + sedpatch=" + /^[$r]/b testlastline; + # /^[*!]/ { + # s,^,context diffs are not properly supported\\n,; + # W /dev/stderr + # d; + # } + /^\\(@@ \\|$s$s$s \\|[^$s @]\\|$\\)/ { + x; + /^@@ /{ + s,^,;/*end ,; + s,\\([\\n]\\|$\\),*/;&,; + i\\ +;/**/; + + P; + s,^[^\\n]*\\([\\n]\\|$\\),,; + } + x; + } + /^\\($s$s$s \\|[^$s @]\\|$\\)/ { + x; + /^$s$s$s /{ + s,^$s$s$s,;/*end,; + s,\\([\\n]\\|$\\),*/;&,; + i\\ + + P; + s,^[^\\n]*\\([\\n]\\|$\\),,; + } + x; + } + /^$s$s$s / { + H; + x; + s,^[\\n],,; + s,^\\(.*\\)[\\n]\\([^\\n]*\\)$,\\2\\n\\1,; + x; + s,^$s$s$s \\(.*\\)$,;/*begin \\1*/;,; + p; + d; + } + /^@@ / { + H; + x; + s,^[\\n],,; + s,^\\(.*\\)[\\n]\\([^\\n]*\\)$,\\2\\n\\1,; + x; + # A number of patterns for patches depend on the ;/*@@ lines for + # context. + s,^.*$,;/*begin &*/;\\n;/*&*/;,; + p; + d; + } + s,^[ !$s],, + p; + :testlastline + $ { + x; + /^@@ /{ + s,^,;/*end ,; + s,\\([\\n]\\|$\\),*/;&,; + i\\ +;/**/; + + P; + s,^[^\\n]*\\([\\n]\\|$\\),,; + } + /^$s$s$s /{ + s,^$s$s$s,;/*end,; + s,\\([\\n]\\|$\\),*/;&,; + i\\ + + P; + s,^[^\\n]*\\([\\n]\\|$\\),,; + } + x; + } + d;" + cmd='${SED-sed} "$sedpatch"' + ;; + *) + cmd='cat' + ;; + esac + cmd="{ echo \";/*begin $input*/;\"; $cmd; echo; echo \";/*end $input*/;\"; }" + set "$@" "$cmd" + + case $input in + *.tar*) + cmd="{ cat; cat > /dev/null; }" + set "$@" "$cmd" + ;; + esac + + # Then run through the selected action. + set "$@" "$scriptcmd" + + case $scriptcmd2 in "" | cat) ;; + *) set "$@" "$scriptcmd2" + esac + + # test $# = 1 || set "$@" "cat" + + shift # fnord goes out here + + pipe= + for cmd + do + if test -z "$pipe"; then + pipe="$cmd $in" + else + pipe="$pipe | $cmd" + fi + done + + eval "$pipe" + status=$? + + $rm $tempfiles + tempfiles= + + (exit $status) +} + +# If no input given, use stdin. +case $# in +0) + test -t 0 && echo reading from standard input >&2 + set fnord - + shift + ;; +esac + +# The lines below commented out out #list: can be used to get a list +# of matching inputs. ATM this is useless, so we just use a shell +# boolean. + +#list: n=$# +pass=: + +tempfiles= +trap "status=$?; test -z \"$tempfiles\" || rm -f $tempfiles; (exit $status); exit" 0 1 2 15 + +process_arg= + +# Go through each of the input files in the command line. +for file +do + case $process_arg in + "") ;; + --implied-prefix | --prefix | -i) + prefix=$file + case $prefix in + /*/) ;; + */) prefix=/$prefix ;; + /*) prefix=$prefix/ ;; + *) prefix=/$prefix/ ;; + esac + process_arg= + continue + ;; + *) + echo Internal error with process_arg=$process_arg >&2 + exit 1 + ;; + esac + + case $sawdashdash$file in + --implied-prefix | --prefix | -i) + process_arg=$file + continue + ;; + esac + + # If we print anything whatsoever (even a blank line) while + # processing it, we've failed. + if check "$file"; then + : + else + pass=false + #list: set fnord "$@" "$file" + #list: shift + fi +done + +case $process_arg in +"") ;; +*) + echo Missing argument to $process_arg >&2 + exit 1 + ;; +esac + +#list: shift $n + +#list: exec test $# = 0 +$pass +exit diff --git a/helpers/DATA/linux/004-enable_blobless_activation_radeon.patch b/helpers/DATA/linux-hwe-5.19/enable_blobless_activation_radeon.patch similarity index 55% rename from helpers/DATA/linux/004-enable_blobless_activation_radeon.patch rename to helpers/DATA/linux-hwe-5.19/enable_blobless_activation_radeon.patch index 2f08298..ba0f092 100644 --- a/helpers/DATA/linux/004-enable_blobless_activation_radeon.patch +++ b/helpers/DATA/linux-hwe-5.19/enable_blobless_activation_radeon.patch @@ -1,8 +1,8 @@ Based on https://libreplanet.org/wiki/Group:Hardware/research/gpu/radeon -diff -ru a/drivers/gpu/drm/radeon/btc_dpm.c b/drivers/gpu/drm/radeon/btc_dpm.c ---- a/drivers/gpu/drm/radeon/btc_dpm.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/btc_dpm.c 2023-02-13 15:50:41.218608376 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/btc_dpm.c source/drivers/gpu/drm/radeon/btc_dpm.c +--- source.orig/drivers/gpu/drm/radeon/btc_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/btc_dpm.c 2023-02-13 15:50:41.218608376 -0500 @@ -2437,7 +2437,6 @@ ret = rv770_upload_firmware(rdev); if (ret) { @@ -11,9 +11,9 @@ diff -ru a/drivers/gpu/drm/radeon/btc_dpm.c b/drivers/gpu/drm/radeon/btc_dpm.c } ret = cypress_get_table_locations(rdev); if (ret) { -diff -ru a/drivers/gpu/drm/radeon/ci_dpm.c b/drivers/gpu/drm/radeon/ci_dpm.c ---- a/drivers/gpu/drm/radeon/ci_dpm.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/ci_dpm.c 2023-02-13 15:53:38.591724496 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/ci_dpm.c source/drivers/gpu/drm/radeon/ci_dpm.c +--- source.orig/drivers/gpu/drm/radeon/ci_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/ci_dpm.c 2023-02-13 15:53:38.591724496 -0500 @@ -5157,7 +5157,6 @@ ret = ci_upload_firmware(rdev); if (ret) { @@ -22,9 +22,9 @@ diff -ru a/drivers/gpu/drm/radeon/ci_dpm.c b/drivers/gpu/drm/radeon/ci_dpm.c } ret = ci_process_firmware_header(rdev); if (ret) { -diff -ru a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c ---- a/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:21:35.174999782 -0500 -+++ b/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:47:37.149601121 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/cik.c source/drivers/gpu/drm/radeon/cik.c +--- source.orig/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:21:35.174999782 -0500 ++++ source/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:47:37.149601121 -0500 @@ -8285,7 +8285,6 @@ r = ci_mc_load_microcode(rdev); if (r) { @@ -57,9 +57,9 @@ diff -ru a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c } return 0; -diff -ru a/drivers/gpu/drm/radeon/cypress_dpm.c b/drivers/gpu/drm/radeon/cypress_dpm.c ---- a/drivers/gpu/drm/radeon/cypress_dpm.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/cypress_dpm.c 2023-02-13 15:50:25.130869935 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/cypress_dpm.c source/drivers/gpu/drm/radeon/cypress_dpm.c +--- source.orig/drivers/gpu/drm/radeon/cypress_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/cypress_dpm.c 2023-02-13 15:50:25.130869935 -0500 @@ -1862,7 +1862,6 @@ ret = rv770_upload_firmware(rdev); if (ret) { @@ -68,9 +68,9 @@ diff -ru a/drivers/gpu/drm/radeon/cypress_dpm.c b/drivers/gpu/drm/radeon/cypress } ret = cypress_get_table_locations(rdev); -diff -ru a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c ---- a/drivers/gpu/drm/radeon/evergreen.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/evergreen.c 2023-02-13 15:47:50.457384749 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/evergreen.c source/drivers/gpu/drm/radeon/evergreen.c +--- source.orig/drivers/gpu/drm/radeon/evergreen.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/evergreen.c 2023-02-13 15:47:50.457384749 -0500 @@ -5018,7 +5018,6 @@ r = ni_mc_load_microcode(rdev); if (r) { @@ -103,9 +103,9 @@ diff -ru a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen } } -diff -ru a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c ---- a/drivers/gpu/drm/radeon/ni.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/ni.c 2023-02-13 15:46:45.402442454 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/ni.c source/drivers/gpu/drm/radeon/ni.c +--- source.orig/drivers/gpu/drm/radeon/ni.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/ni.c 2023-02-13 15:46:45.402442454 -0500 @@ -2163,7 +2163,6 @@ r = ni_mc_load_microcode(rdev); if (r) { @@ -138,9 +138,9 @@ diff -ru a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c } return 0; -diff -ru a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c ---- a/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:21:35.174999782 -0500 -+++ b/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:49:15.548001277 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/r100.c source/drivers/gpu/drm/radeon/r100.c +--- source.orig/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:21:35.174999782 -0500 ++++ source/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:49:15.548001277 -0500 @@ -1134,7 +1134,6 @@ r = r100_cp_init_microcode(rdev); if (r) { @@ -149,9 +149,9 @@ diff -ru a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c } } -diff -ru a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c ---- a/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:21:35.174999782 -0500 -+++ b/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:46:07.291062125 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/r600.c source/drivers/gpu/drm/radeon/r600.c +--- source.orig/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:21:35.174999782 -0500 ++++ source/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:46:07.291062125 -0500 @@ -3299,7 +3299,6 @@ r = r600_init_microcode(rdev); if (r) { @@ -160,9 +160,9 @@ diff -ru a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c } } -diff -ru a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c ---- a/drivers/gpu/drm/radeon/rv770.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/rv770.c 2023-02-13 15:26:54.385808292 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/rv770.c source/drivers/gpu/drm/radeon/rv770.c +--- source.orig/drivers/gpu/drm/radeon/rv770.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/rv770.c 2023-02-13 15:26:54.385808292 -0500 @@ -1966,7 +1966,6 @@ r = r600_init_microcode(rdev); if (r) { @@ -171,9 +171,9 @@ diff -ru a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c } } -diff -ru a/drivers/gpu/drm/radeon/rv770_dpm.c b/drivers/gpu/drm/radeon/rv770_dpm.c ---- a/drivers/gpu/drm/radeon/rv770_dpm.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/rv770_dpm.c 2023-02-13 15:50:13.591057564 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/rv770_dpm.c source/drivers/gpu/drm/radeon/rv770_dpm.c +--- source.orig/drivers/gpu/drm/radeon/rv770_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/rv770_dpm.c 2023-02-13 15:50:13.591057564 -0500 @@ -1948,12 +1948,10 @@ ret = rv770_upload_firmware(rdev); if (ret) { @@ -187,9 +187,9 @@ diff -ru a/drivers/gpu/drm/radeon/rv770_dpm.c b/drivers/gpu/drm/radeon/rv770_dpm } rv770_program_response_times(rdev); -diff -ru a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c ---- a/drivers/gpu/drm/radeon/si.c 2023-02-13 15:21:35.178999717 -0500 -+++ b/drivers/gpu/drm/radeon/si.c 2023-02-13 15:47:00.042204445 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/si.c source/drivers/gpu/drm/radeon/si.c +--- source.orig/drivers/gpu/drm/radeon/si.c 2023-02-13 15:21:35.178999717 -0500 ++++ source/drivers/gpu/drm/radeon/si.c 2023-02-13 15:47:00.042204445 -0500 @@ -6619,7 +6619,6 @@ r = si_mc_load_microcode(rdev); if (r) { @@ -214,9 +214,9 @@ diff -ru a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c } return 0; -diff -ru a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c ---- a/drivers/gpu/drm/radeon/si_dpm.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/si_dpm.c 2023-02-13 15:53:00.844338238 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/si_dpm.c source/drivers/gpu/drm/radeon/si_dpm.c +--- source.orig/drivers/gpu/drm/radeon/si_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/si_dpm.c 2023-02-13 15:53:00.844338238 -0500 @@ -6366,7 +6366,6 @@ ret = si_upload_firmware(rdev); if (ret) { diff --git a/helpers/DATA/linux-hwe-6.11/tbr/001-revert_iwlwifi_clear_firmware1.patch b/helpers/DATA/linux-hwe-5.19/revert_iwlwifi_clear_firmware1.patch similarity index 100% rename from helpers/DATA/linux-hwe-6.11/tbr/001-revert_iwlwifi_clear_firmware1.patch rename to helpers/DATA/linux-hwe-5.19/revert_iwlwifi_clear_firmware1.patch diff --git a/helpers/DATA/linux/002-revert_iwlwifi_clear_firmware2.patch b/helpers/DATA/linux-hwe-5.19/revert_iwlwifi_clear_firmware2.patch similarity index 100% rename from helpers/DATA/linux/002-revert_iwlwifi_clear_firmware2.patch rename to helpers/DATA/linux-hwe-5.19/revert_iwlwifi_clear_firmware2.patch diff --git a/helpers/DATA/linux-hwe-6.11/003-revert_iwlwifi_clear_firmware3.patch b/helpers/DATA/linux-hwe-5.19/revert_iwlwifi_clear_firmware3.patch similarity index 100% rename from helpers/DATA/linux-hwe-6.11/003-revert_iwlwifi_clear_firmware3.patch rename to helpers/DATA/linux-hwe-5.19/revert_iwlwifi_clear_firmware3.patch diff --git a/helpers/DATA/linux-hwe-5.19/silent-accept-firmware.patch b/helpers/DATA/linux-hwe-5.19/silent-accept-firmware.patch new file mode 100644 index 0000000..01585f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-5.19/silent-accept-firmware.patch @@ -0,0 +1,1944 @@ +The Linux-Libre deblob script that is used to make the Trisquel kernel packages disables all functionality related to loading nonfree firmware blobs. Even if the user chooses to install the blob files, these would still not be loaded and the driver would not activate. +An alternative solution is to preserve the loading functionality and remove the *advertisment* to the user of the blob filenames when these fail to be loaded, as to not imply that those files are recommended in any way, so the driver would just print "failed to load firmware" or equivalent. This allows the user to use the driver if they so decide. + +This method is done by a patch (silent-accept-firmware.patch) that removes all the instances where the blob filenames are printed to the user (via kernel logs), and a section on the package helper that takes care of preventing the deblob script from acting on the files modified by the patch. This is done manually, for individual drivers (usually those for very common devices). It needs to be reviewed on any new major release, checking that no new lines were added to the upstream driver in where it prints the blob filename on the log. +Printing the blob filename on success operations (that is, when the blob file is present) is acceptable. If in doubt, all instances of printing the blob filenames should be removed. + +diff --color -Nru a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c +--- a/arch/x86/kernel/cpu/microcode/amd.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/arch/x86/kernel/cpu/microcode/amd.c 2023-03-09 11:53:09.989441841 -0600 +@@ -918,7 +918,7 @@ + snprintf(fw_name, sizeof(fw_name), "amd-ucode/microcode_amd_fam%.2xh.bin", c->x86); + + if (request_firmware_direct(&fw, (const char *)fw_name, device)) { +- pr_debug("failed to load file %s\n", fw_name); ++ pr_debug("failed to load file\n"); + goto out; + } + +diff --color -Nru a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c +--- a/arch/x86/kernel/cpu/microcode/intel.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/arch/x86/kernel/cpu/microcode/intel.c 2023-03-09 11:53:09.989441841 -0600 +@@ -902,7 +902,7 @@ + c->x86, c->x86_model, c->x86_stepping); + + if (request_firmware_direct(&firmware, name, device)) { +- pr_debug("data file %s load failed\n", name); ++ pr_debug("data file load failed\n"); + return UCODE_NFOUND; + } + +diff --color -Nru a/drivers/base/firmware_loader/fallback.c b/drivers/base/firmware_loader/fallback.c +--- a/drivers/base/firmware_loader/fallback.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/base/firmware_loader/fallback.c 2023-03-09 11:53:09.989441841 -0600 +@@ -97,7 +97,7 @@ + if (fw_priv->opt_flags & FW_OPT_UEVENT) { + fw_priv->need_uevent = true; + dev_set_uevent_suppress(f_dev, false); +- dev_dbg(f_dev, "firmware: requesting %s\n", fw_priv->fw_name); ++ dev_dbg(f_dev, "firmware: requesting\n"); + kobject_uevent(&fw_sysfs->dev.kobj, KOBJ_ADD); + } else { + timeout = MAX_JIFFY_OFFSET; +@@ -135,15 +135,13 @@ + if (opt_flags & FW_OPT_NOWAIT) { + timeout = usermodehelper_read_lock_wait(timeout); + if (!timeout) { +- dev_dbg(device, "firmware: %s loading timed out\n", +- name); ++ dev_dbg(device, "firmware: loading timed out\n"); + return -EBUSY; + } + } else { + ret = usermodehelper_read_trylock(); + if (WARN_ON(ret)) { +- dev_err(device, "firmware: %s will not be loaded\n", +- name); ++ dev_err(device, "firmware: will not be loaded\n"); + return ret; + } + } +@@ -226,10 +224,8 @@ + return ret; + + if (!(opt_flags & FW_OPT_NO_WARN)) +- dev_warn(device, "Falling back to sysfs fallback for: %s\n", +- name); ++ dev_warn(device, "Falling back to sysfs fallback\n"); + else +- dev_dbg(device, "Falling back to sysfs fallback for: %s\n", +- name); ++ dev_dbg(device, "Falling back to sysfs fallback\n"); + return fw_load_from_user_helper(fw, name, device, opt_flags); + } +diff --color -Nru a/drivers/base/firmware_loader/main.c b/drivers/base/firmware_loader/main.c +--- a/drivers/base/firmware_loader/main.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/base/firmware_loader/main.c 2023-03-09 11:53:09.989441841 -0600 +@@ -542,11 +542,10 @@ + READING_FIRMWARE); + if (rc < 0) { + if (rc != -ENOENT) +- dev_warn(device, "loading %s failed with error %d\n", +- path, rc); ++ dev_warn(device, "loading failed with error %d\n", ++ rc); + else +- dev_dbg(device, "loading %s failed for no such file or directory.\n", +- path); ++ dev_dbg(device, "loading failed for no such file or directory.\n"); + continue; + } + size = rc; +@@ -565,8 +564,7 @@ + continue; + } + } else { +- dev_dbg(device, "direct-loading %s\n", +- fw_priv->fw_name); ++ dev_dbg(device, "direct-loading\n"); + if (!fw_priv->data) + fw_priv->data = buffer; + fw_priv->size = size; +@@ -741,7 +739,7 @@ + } + + if (firmware_request_builtin_buf(firmware, name, dbuf, size)) { +- dev_dbg(device, "using built-in %s\n", name); ++ dev_dbg(device, "using built-in\n"); + return 0; /* assigned */ + } + +@@ -850,8 +848,8 @@ + if (ret) { + if (!(opt_flags & FW_OPT_NO_WARN)) + dev_warn(device, +- "Direct firmware load for %s failed with error %d\n", +- name, ret); ++ "Direct firmware load for failed with error %d\n", ++ ret); + if (nondirect) + ret = firmware_fallback_sysfs(fw, name, device, + opt_flags, ret); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c 2023-03-09 19:28:13.650922651 -0600 +@@ -419,7 +419,7 @@ + + err = amdgpu_ucode_validate(adev->pm.fw); + if (err) { +- DRM_ERROR("Failed to load firmware \"%s\"", fw_name); ++ DRM_ERROR("Failed to load firmware\n"); + release_firmware(adev->pm.fw); + adev->pm.fw = NULL; + return err; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 2023-03-09 19:29:28.335287765 -0600 +@@ -2002,15 +2002,13 @@ + err = request_firmware(&adev->firmware.gpu_info_fw, fw_name, adev->dev); + if (err) { + dev_err(adev->dev, +- "Failed to load gpu_info firmware \"%s\"\n", +- fw_name); ++ "Failed to load gpu_info firmware\n"); + goto out; + } + err = amdgpu_ucode_validate(adev->firmware.gpu_info_fw); + if (err) { + dev_err(adev->dev, +- "Failed to validate gpu_info firmware \"%s\"\n", +- fw_name); ++ "Failed to validate gpu_info firmware\n"); + goto out; + } + +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c 2023-03-09 19:32:35.648203491 -0600 +@@ -1500,8 +1500,8 @@ + if (ret) + continue; + +- seq_printf(m, "TA %s feature version: 0x%08x, firmware version: 0x%08x\n", +- ta_fw_name[i], fw_info.feature, fw_info.ver); ++ seq_printf(m, "TA feature version: 0x%08x, firmware version: 0x%08x\n", ++ fw_info.feature, fw_info.ver); + } + + /* SMC */ +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c 2023-03-09 19:35:41.949114270 -0600 +@@ -627,8 +627,7 @@ + */ + if (!skip_unsupport && (psp->cmd_buf_mem->resp.status || !timeout) && !ras_intr) { + if (ucode) +- DRM_WARN("failed to load ucode %s(0x%X) ", +- amdgpu_ucode_name(ucode->ucode_id), ucode->ucode_id); ++ DRM_WARN("failed to load ucode"); + DRM_WARN("psp gfx command %s(0x%X) failed and response status is (0x%X)\n", + psp_gfx_cmd_name(psp->cmd_buf_mem->cmd_id), psp->cmd_buf_mem->cmd_id, + psp->cmd_buf_mem->resp.status); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c 2023-03-09 19:38:05.801817530 -0600 +@@ -262,15 +262,13 @@ + + r = request_firmware(&adev->uvd.fw, fw_name, adev->dev); + if (r) { +- dev_err(adev->dev, "amdgpu_uvd: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_uvd: Can't load firmware\n"); + return r; + } + + r = amdgpu_ucode_validate(adev->uvd.fw); + if (r) { +- dev_err(adev->dev, "amdgpu_uvd: Can't validate firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_uvd: Can't validate firmware\n"); + release_firmware(adev->uvd.fw); + adev->uvd.fw = NULL; + return r; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c 2023-03-09 19:40:03.778394288 -0600 +@@ -160,15 +160,13 @@ + + r = request_firmware(&adev->vce.fw, fw_name, adev->dev); + if (r) { +- dev_err(adev->dev, "amdgpu_vce: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_vce: Can't load firmware\n"); + return r; + } + + r = amdgpu_ucode_validate(adev->vce.fw); + if (r) { +- dev_err(adev->dev, "amdgpu_vce: Can't validate firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_vce: Can't validate firmware\n"); + release_firmware(adev->vce.fw); + adev->vce.fw = NULL; + return r; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c 2023-03-09 19:41:58.842956810 -0600 +@@ -200,15 +200,13 @@ + + r = request_firmware(&adev->vcn.fw, fw_name, adev->dev); + if (r) { +- dev_err(adev->dev, "amdgpu_vcn: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_vcn: Can't load firmware\n"); + return r; + } + + r = amdgpu_ucode_validate(adev->vcn.fw); + if (r) { +- dev_err(adev->dev, "amdgpu_vcn: Can't validate firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_vcn: Can't validate firmware\n"); + release_firmware(adev->vcn.fw); + adev->vcn.fw = NULL; + return r; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +--- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c 2023-03-09 19:44:48.183784675 -0600 +@@ -144,7 +144,7 @@ + } + out: + if (err) { +- pr_err("cik_sdma: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("cik_sdma: Failed to load firmware\n"); + for (i = 0; i < adev->sdma.num_instances; i++) { + release_firmware(adev->sdma.instance[i].fw); + adev->sdma.instance[i].fw = NULL; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c 2023-03-09 19:45:40.492040397 -0600 +@@ -4291,8 +4291,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "gfx10: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx10: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c 2023-03-09 19:48:18.700813841 -0600 +@@ -381,7 +381,7 @@ + + out: + if (err) { +- pr_err("gfx6: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("gfx6: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c 2023-03-09 19:49:39.717209910 -0600 +@@ -976,7 +976,7 @@ + + out: + if (err) { +- pr_err("gfx7: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("gfx7: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c 2023-03-09 19:52:22.738006878 -0600 +@@ -1217,8 +1217,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "gfx8: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx8: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c 2023-03-09 19:57:30.143509707 -0600 +@@ -1334,8 +1334,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "gfx9: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx9: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +@@ -1469,8 +1468,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "gfx9: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx9: Failed to load firmware\n"); + release_firmware(adev->gfx.rlc_fw); + adev->gfx.rlc_fw = NULL; + } +@@ -1572,8 +1570,7 @@ + gfx_v9_0_check_fw_write_wait(adev); + if (err) { + dev_err(adev->dev, +- "gfx9: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx9: Failed to load firmware\n"); + release_firmware(adev->gfx.mec_fw); + adev->gfx.mec_fw = NULL; + release_firmware(adev->gfx.mec2_fw); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c 2023-03-09 19:58:54.279921029 -0600 +@@ -140,8 +140,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "si_mc: Failed to load firmware \"%s\"\n", +- fw_name); ++ "si_mc: Failed to load firmware\n"); + release_firmware(adev->gmc.fw); + adev->gmc.fw = NULL; + } +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c 2023-03-09 20:00:00.496244744 -0600 +@@ -163,7 +163,7 @@ + + out: + if (err) { +- pr_err("cik_mc: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("cik_mc: Failed to load firmware\n"); + release_firmware(adev->gmc.fw); + adev->gmc.fw = NULL; + } +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c 2023-03-09 20:01:46.768764284 -0600 +@@ -271,7 +271,7 @@ + + out: + if (err) { +- pr_err("mc: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("mc: Failed to load firmware\n"); + release_firmware(adev->gmc.fw); + adev->gmc.fw = NULL; + } +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c +--- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c 2023-03-09 20:04:55.509686991 -0600 +@@ -75,8 +75,7 @@ + release_firmware(adev->psp.ta_fw); + adev->psp.ta_fw = NULL; + dev_info(adev->dev, +- "psp v10.0: Failed to load firmware \"%s\"\n", +- fw_name); ++ "psp v10.0: Failed to load firmware\n"); + } else { + err = amdgpu_ucode_validate(adev->psp.ta_fw); + if (err) +@@ -119,8 +118,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "psp v10.0: Failed to load firmware \"%s\"\n", +- fw_name); ++ "psp v10.0: Failed to load firmware\n"); + } + + return err; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c +--- a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c 2023-03-09 20:09:20.270981343 -0600 +@@ -146,7 +146,7 @@ + release_firmware(adev->psp.ta_fw); + adev->psp.ta_fw = NULL; + dev_info(adev->dev, +- "psp v11.0: Failed to load firmware \"%s\"\n", fw_name); ++ "psp v11.0: Failed to load firmware\n"); + } else { + err = amdgpu_ucode_validate(adev->psp.ta_fw); + if (err) +@@ -185,7 +185,7 @@ + release_firmware(adev->psp.ta_fw); + adev->psp.ta_fw = NULL; + dev_info(adev->dev, +- "psp v11.0: Failed to load firmware \"%s\"\n", fw_name); ++ "psp v11.0: Failed to load firmware\n"); + } else { + err = amdgpu_ucode_validate(adev->psp.ta_fw); + if (err) +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c +--- a/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c 2023-03-09 20:15:18.748733852 -0600 +@@ -75,8 +75,7 @@ + release_firmware(adev->psp.ta_fw); + adev->psp.ta_fw = NULL; + dev_info(adev->dev, +- "psp v12.0: Failed to load firmware \"%s\"\n", +- fw_name); ++ "psp v12.0: Failed to load firmware\n"); + } else { + err = amdgpu_ucode_validate(adev->psp.ta_fw); + if (err) +@@ -120,8 +119,7 @@ + adev->psp.ta_fw = NULL; + if (err) { + dev_err(adev->dev, +- "psp v12.0: Failed to load firmware \"%s\"\n", +- fw_name); ++ "psp v12.0: Failed to load firmware\n"); + } + + return err; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c 2023-03-09 20:16:41.561138701 -0600 +@@ -175,7 +175,7 @@ + + out: + if (err) { +- pr_err("sdma_v2_4: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("sdma_v2_4: Failed to load firmware\n"); + for (i = 0; i < adev->sdma.num_instances; i++) { + release_firmware(adev->sdma.instance[i].fw); + adev->sdma.instance[i].fw = NULL; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c 2023-03-09 20:17:54.125493450 -0600 +@@ -331,7 +331,7 @@ + } + out: + if (err) { +- pr_err("sdma_v3_0: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("sdma_v3_0: Failed to load firmware\n"); + for (i = 0; i < adev->sdma.num_instances; i++) { + release_firmware(adev->sdma.instance[i].fw); + adev->sdma.instance[i].fw = NULL; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c 2023-03-09 20:18:38.785711783 -0600 +@@ -704,7 +704,7 @@ + + out: + if (err) { +- DRM_ERROR("sdma_v4_0: Failed to load firmware \"%s\"\n", fw_name); ++ DRM_ERROR("sdma_v4_0: Failed to load firmware\n"); + sdma_v4_0_destroy_inst_ctx(adev); + } + return err; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c 2023-03-09 20:21:16.870484620 -0600 +@@ -297,7 +297,7 @@ + } + out: + if (err) { +- DRM_ERROR("sdma_v5_0: Failed to load firmware \"%s\"\n", fw_name); ++ DRM_ERROR("sdma_v5_0: Failed to load firmware\n"); + for (i = 0; i < adev->sdma.num_instances; i++) { + release_firmware(adev->sdma.instance[i].fw); + adev->sdma.instance[i].fw = NULL; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c 2023-03-09 20:23:00.390990706 -0600 +@@ -201,7 +201,7 @@ + + out: + if (err) { +- DRM_ERROR("sdma_v5_2: Failed to load firmware \"%s\"\n", fw_name); ++ DRM_ERROR("sdma_v5_2: Failed to load firmware\n"); + sdma_v5_2_destroy_inst_ctx(adev); + } + return err; +diff --color -Nru a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c +--- a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c 2023-03-09 11:53:09.993441860 -0600 +@@ -7721,8 +7721,8 @@ + + out: + if (err) { +- DRM_ERROR("si_smc: Failed to load firmware. err = %d\"%s\"\n", +- err, fw_name); ++ DRM_ERROR("si_smc: Failed to load firmware. err = %d\n", ++ err); + release_firmware(adev->pm.fw); + adev->pm.fw = NULL; + } +diff --color -Nru a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c +--- a/drivers/gpu/drm/drm_edid_load.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/drm_edid_load.c 2023-03-09 11:53:09.993441860 -0600 +@@ -188,15 +188,15 @@ + pdev = platform_device_register_simple(connector_name, -1, NULL, 0); + if (IS_ERR(pdev)) { + DRM_ERROR("Failed to register EDID firmware platform device " +- "for connector \"%s\"\n", connector_name); ++ "for connector\n"); + return ERR_CAST(pdev); + } + + err = request_firmware(&fw, name, &pdev->dev); + platform_device_unregister(pdev); + if (err) { +- DRM_ERROR("Requesting EDID firmware \"%s\" failed (err=%d)\n", +- name, err); ++ DRM_ERROR("Requesting EDID firmware failed (err=%d)\n", ++ err); + return ERR_PTR(err); + } + +@@ -205,8 +205,8 @@ + } + + if (edid_size(fwdata, fwsize) != fwsize) { +- DRM_ERROR("Size of EDID firmware \"%s\" is invalid " +- "(expected %d, got %d\n", name, ++ DRM_ERROR("Size of EDID firmware is invalid " ++ "(expected %d, got %d\n", + edid_size(fwdata, fwsize), (int)fwsize); + edid = ERR_PTR(-EINVAL); + goto out; +@@ -221,8 +221,7 @@ + if (!drm_edid_block_valid(edid, 0, print_bad_edid, + &connector->edid_corrupt)) { + connector->bad_edid_counter++; +- DRM_ERROR("Base block of EDID firmware \"%s\" is invalid ", +- name); ++ DRM_ERROR("Base block of EDID firmware is invalid "); + kfree(edid); + edid = ERR_PTR(-EINVAL); + goto out; +diff --color -Nru a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c +--- a/drivers/gpu/drm/r128/r128_cce.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/r128/r128_cce.c 2023-03-09 16:40:53.689839779 -0600 +@@ -162,14 +162,13 @@ + rc = request_firmware(&fw, FIRMWARE_NAME, &pdev->dev); + platform_device_unregister(pdev); + if (rc) { +- pr_err("r128_cce: Failed to load firmware \"%s\"\n", +- FIRMWARE_NAME); ++ pr_err("r128_cce: Failed to load firmware\n"); + return rc; + } + + if (fw->size != 256 * 8) { +- pr_err("r128_cce: Bogus length %zu in firmware \"%s\"\n", +- fw->size, FIRMWARE_NAME); ++ pr_err("r128_cce: Bogus length %zu in firmware\n", ++ fw->size); + rc = -EINVAL; + goto out_release; + } +diff --color -Nru a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c +--- a/drivers/gpu/drm/radeon/cik.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/radeon/cik.c 2023-03-09 18:09:31.511837288 -0600 +@@ -2049,7 +2049,7 @@ + default: BUG(); + } + +- DRM_INFO("Loading %s Microcode\n", new_chip_name); ++ DRM_INFO("Loading Microcode\n"); + + snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", new_chip_name); + err = request_firmware(&rdev->pfp_fw, fw_name, rdev->dev); +@@ -2059,16 +2059,15 @@ + if (err) + goto out; + if (rdev->pfp_fw->size != pfp_req_size) { +- pr_err("cik_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->pfp_fw->size, fw_name); ++ pr_err("cik_cp: Bogus length %zu in firmware\n", ++ rdev->pfp_fw->size); + err = -EINVAL; + goto out; + } + } else { + err = radeon_ucode_validate(rdev->pfp_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2083,15 +2082,14 @@ + if (err) + goto out; + if (rdev->me_fw->size != me_req_size) { +- pr_err("cik_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->me_fw->size, fw_name); ++ pr_err("cik_cp: Bogus length %zu in firmware\n", ++ rdev->me_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->me_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2106,15 +2104,14 @@ + if (err) + goto out; + if (rdev->ce_fw->size != ce_req_size) { +- pr_err("cik_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->ce_fw->size, fw_name); ++ pr_err("cik_cp: Bogus length %zu in firmware\n", ++ rdev->ce_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->ce_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2129,15 +2126,14 @@ + if (err) + goto out; + if (rdev->mec_fw->size != mec_req_size) { +- pr_err("cik_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->mec_fw->size, fw_name); ++ pr_err("cik_cp: Bogus length %zu in firmware\n", ++ rdev->mec_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->mec_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2167,15 +2163,14 @@ + if (err) + goto out; + if (rdev->rlc_fw->size != rlc_req_size) { +- pr_err("cik_rlc: Bogus length %zu in firmware \"%s\"\n", +- rdev->rlc_fw->size, fw_name); ++ pr_err("cik_rlc: Bogus length %zu in firmware\n", ++ rdev->rlc_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->rlc_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2190,15 +2185,14 @@ + if (err) + goto out; + if (rdev->sdma_fw->size != sdma_req_size) { +- pr_err("cik_sdma: Bogus length %zu in firmware \"%s\"\n", +- rdev->sdma_fw->size, fw_name); ++ pr_err("cik_sdma: Bogus length %zu in firmware\n", ++ rdev->sdma_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->sdma_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2220,16 +2214,15 @@ + } + if ((rdev->mc_fw->size != mc_req_size) && + (rdev->mc_fw->size != mc2_req_size)){ +- pr_err("cik_mc: Bogus length %zu in firmware \"%s\"\n", +- rdev->mc_fw->size, fw_name); ++ pr_err("cik_mc: Bogus length %zu in firmware\n", ++ rdev->mc_fw->size); + err = -EINVAL; + } + DRM_INFO("%s: %zu bytes\n", fw_name, rdev->mc_fw->size); + } else { + err = radeon_ucode_validate(rdev->mc_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2251,15 +2244,14 @@ + rdev->smc_fw = NULL; + err = 0; + } else if (rdev->smc_fw->size != smc_req_size) { +- pr_err("cik_smc: Bogus length %zu in firmware \"%s\"\n", +- rdev->smc_fw->size, fw_name); ++ pr_err("cik_smc: Bogus length %zu in firmware\n", ++ rdev->smc_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->smc_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2279,8 +2271,7 @@ + out: + if (err) { + if (err != -EINVAL) +- pr_err("cik_cp: Failed to load firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_cp: Failed to load firmware\n"); + release_firmware(rdev->pfp_fw); + rdev->pfp_fw = NULL; + release_firmware(rdev->me_fw); +diff --color -Nru a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c +--- a/drivers/gpu/drm/radeon/ni.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/radeon/ni.c 2023-03-09 11:53:09.993441860 -0600 +@@ -807,7 +807,7 @@ + snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", chip_name); + err = request_firmware(&rdev->smc_fw, fw_name, rdev->dev); + if (err) { +- pr_err("smc: error loading firmware \"%s\"\n", fw_name); ++ pr_err("smc: error loading firmware\n"); + release_firmware(rdev->smc_fw); + rdev->smc_fw = NULL; + err = 0; +@@ -821,8 +821,7 @@ + out: + if (err) { + if (err != -EINVAL) +- pr_err("ni_cp: Failed to load firmware \"%s\"\n", +- fw_name); ++ pr_err("ni_cp: Failed to load firmware\n"); + release_firmware(rdev->pfp_fw); + rdev->pfp_fw = NULL; + release_firmware(rdev->me_fw); +diff --color -Nru a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c +--- a/drivers/gpu/drm/radeon/r100.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/radeon/r100.c 2023-03-09 11:53:09.993441860 -0600 +@@ -1017,13 +1017,13 @@ + if ((rdev->family == CHIP_R100) || (rdev->family == CHIP_RV100) || + (rdev->family == CHIP_RV200) || (rdev->family == CHIP_RS100) || + (rdev->family == CHIP_RS200)) { +- DRM_INFO("Loading R100 Microcode\n"); ++ DRM_INFO("Loading Microcode\n"); + fw_name = FIRMWARE_R100; + } else if ((rdev->family == CHIP_R200) || + (rdev->family == CHIP_RV250) || + (rdev->family == CHIP_RV280) || + (rdev->family == CHIP_RS300)) { +- DRM_INFO("Loading R200 Microcode\n"); ++ DRM_INFO("Loading Microcode\n"); + fw_name = FIRMWARE_R200; + } else if ((rdev->family == CHIP_R300) || + (rdev->family == CHIP_R350) || +@@ -1031,19 +1031,19 @@ + (rdev->family == CHIP_RV380) || + (rdev->family == CHIP_RS400) || + (rdev->family == CHIP_RS480)) { +- DRM_INFO("Loading R300 Microcode\n"); ++ DRM_INFO("Loading Microcode\n"); + fw_name = FIRMWARE_R300; + } else if ((rdev->family == CHIP_R420) || + (rdev->family == CHIP_R423) || + (rdev->family == CHIP_RV410)) { +- DRM_INFO("Loading R400 Microcode\n"); ++ DRM_INFO("Loading Microcode\n"); + fw_name = FIRMWARE_R420; + } else if ((rdev->family == CHIP_RS690) || + (rdev->family == CHIP_RS740)) { +- DRM_INFO("Loading RS690/RS740 Microcode\n"); ++ DRM_INFO("Loading Microcode\n"); + fw_name = FIRMWARE_RS690; + } else if (rdev->family == CHIP_RS600) { +- DRM_INFO("Loading RS600 Microcode\n"); ++ DRM_INFO("Loading Microcode\n"); + fw_name = FIRMWARE_RS600; + } else if ((rdev->family == CHIP_RV515) || + (rdev->family == CHIP_R520) || +@@ -1051,16 +1051,16 @@ + (rdev->family == CHIP_R580) || + (rdev->family == CHIP_RV560) || + (rdev->family == CHIP_RV570)) { +- DRM_INFO("Loading R500 Microcode\n"); ++ DRM_INFO("Loading Microcode\n"); + fw_name = FIRMWARE_R520; + } + + err = request_firmware(&rdev->me_fw, fw_name, rdev->dev); + if (err) { +- pr_err("radeon_cp: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("radeon_cp: Failed to load firmware\n"); + } else if (rdev->me_fw->size % 8) { +- pr_err("radeon_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->me_fw->size, fw_name); ++ pr_err("radeon_cp: Bogus length %zu in firmware\n", ++ rdev->me_fw->size); + err = -EINVAL; + release_firmware(rdev->me_fw); + rdev->me_fw = NULL; +diff --color -Nru a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c +--- a/drivers/gpu/drm/radeon/r600.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/radeon/r600.c 2023-03-09 11:53:09.993441860 -0600 +@@ -2548,15 +2548,15 @@ + rlc_req_size = R600_RLC_UCODE_SIZE * 4; + } + +- DRM_INFO("Loading %s Microcode\n", chip_name); ++ DRM_INFO("Loading Microcode\n"); + + snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", chip_name); + err = request_firmware(&rdev->pfp_fw, fw_name, rdev->dev); + if (err) + goto out; + if (rdev->pfp_fw->size != pfp_req_size) { +- pr_err("r600_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->pfp_fw->size, fw_name); ++ pr_err("r600_cp: Bogus length %zu in firmware\n", ++ rdev->pfp_fw->size); + err = -EINVAL; + goto out; + } +@@ -2566,8 +2566,8 @@ + if (err) + goto out; + if (rdev->me_fw->size != me_req_size) { +- pr_err("r600_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->me_fw->size, fw_name); ++ pr_err("r600_cp: Bogus length %zu in firmware\n", ++ rdev->me_fw->size); + err = -EINVAL; + goto out; + } +@@ -2577,8 +2577,8 @@ + if (err) + goto out; + if (rdev->rlc_fw->size != rlc_req_size) { +- pr_err("r600_rlc: Bogus length %zu in firmware \"%s\"\n", +- rdev->rlc_fw->size, fw_name); ++ pr_err("r600_rlc: Bogus length %zu in firmware\n", ++ rdev->rlc_fw->size); + err = -EINVAL; + goto out; + } +@@ -2587,13 +2587,13 @@ + snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", smc_chip_name); + err = request_firmware(&rdev->smc_fw, fw_name, rdev->dev); + if (err) { +- pr_err("smc: error loading firmware \"%s\"\n", fw_name); ++ pr_err("smc: error loading firmware\n"); + release_firmware(rdev->smc_fw); + rdev->smc_fw = NULL; + err = 0; + } else if (rdev->smc_fw->size != smc_req_size) { +- pr_err("smc: Bogus length %zu in firmware \"%s\"\n", +- rdev->smc_fw->size, fw_name); ++ pr_err("smc: Bogus length %zu in firmware\n", ++ rdev->smc_fw->size); + err = -EINVAL; + } + } +@@ -2601,8 +2601,7 @@ + out: + if (err) { + if (err != -EINVAL) +- pr_err("r600_cp: Failed to load firmware \"%s\"\n", +- fw_name); ++ pr_err("r600_cp: Failed to load firmware\n"); + release_firmware(rdev->pfp_fw); + rdev->pfp_fw = NULL; + release_firmware(rdev->me_fw); +diff --color -Nru a/drivers/gpu/drm/radeon/radeon_uvd.c b/drivers/gpu/drm/radeon/radeon_uvd.c +--- a/drivers/gpu/drm/radeon/radeon_uvd.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/radeon/radeon_uvd.c 2023-03-09 11:53:09.993441860 -0600 +@@ -140,8 +140,7 @@ + /* Let's try to load the newer firmware first */ + r = request_firmware(&rdev->uvd_fw, fw_name, rdev->dev); + if (r) { +- dev_err(rdev->dev, "radeon_uvd: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(rdev->dev, "radeon_uvd: Can't load firmware\n"); + } else { + struct common_firmware_header *hdr = (void *)rdev->uvd_fw->data; + unsigned version_major, version_minor, family_id; +@@ -177,8 +176,7 @@ + if (!fw_name || r) { + r = request_firmware(&rdev->uvd_fw, legacy_fw_name, rdev->dev); + if (r) { +- dev_err(rdev->dev, "radeon_uvd: Can't load firmware \"%s\"\n", +- legacy_fw_name); ++ dev_err(rdev->dev, "radeon_uvd: Can't load firmware\n"); + return r; + } + } +diff --color -Nru a/drivers/gpu/drm/radeon/radeon_vce.c b/drivers/gpu/drm/radeon/radeon_vce.c +--- a/drivers/gpu/drm/radeon/radeon_vce.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/radeon/radeon_vce.c 2023-03-09 11:53:09.993441860 -0600 +@@ -86,8 +86,7 @@ + + r = request_firmware(&rdev->vce_fw, fw_name, rdev->dev); + if (r) { +- dev_err(rdev->dev, "radeon_vce: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(rdev->dev, "radeon_vce: Can't load firmware\n"); + return r; + } + +diff --color -Nru a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c +--- a/drivers/gpu/drm/radeon/si.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/radeon/si.c 2023-03-09 11:53:09.993441860 -0600 +@@ -1775,7 +1775,7 @@ + if (((RREG32(MC_SEQ_MISC0) & 0xff000000) >> 24) == 0x58) + si58_fw = true; + +- DRM_INFO("Loading %s Microcode\n", new_chip_name); ++ DRM_INFO("Loading Microcode\n"); + + snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", new_chip_name); + err = request_firmware(&rdev->pfp_fw, fw_name, rdev->dev); +@@ -1785,16 +1785,15 @@ + if (err) + goto out; + if (rdev->pfp_fw->size != pfp_req_size) { +- pr_err("si_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->pfp_fw->size, fw_name); ++ pr_err("si_cp: Bogus length %zu in firmware\n", ++ rdev->pfp_fw->size); + err = -EINVAL; + goto out; + } + } else { + err = radeon_ucode_validate(rdev->pfp_fw); + if (err) { +- pr_err("si_cp: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -1809,15 +1808,14 @@ + if (err) + goto out; + if (rdev->me_fw->size != me_req_size) { +- pr_err("si_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->me_fw->size, fw_name); ++ pr_err("si_cp: Bogus length %zu in firmware\n", ++ rdev->me_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->me_fw); + if (err) { +- pr_err("si_cp: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -1832,15 +1830,14 @@ + if (err) + goto out; + if (rdev->ce_fw->size != ce_req_size) { +- pr_err("si_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->ce_fw->size, fw_name); ++ pr_err("si_cp: Bogus length %zu in firmware\n", ++ rdev->ce_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->ce_fw); + if (err) { +- pr_err("si_cp: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -1855,15 +1852,14 @@ + if (err) + goto out; + if (rdev->rlc_fw->size != rlc_req_size) { +- pr_err("si_rlc: Bogus length %zu in firmware \"%s\"\n", +- rdev->rlc_fw->size, fw_name); ++ pr_err("si_rlc: Bogus length %zu in firmware\n", ++ rdev->rlc_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->rlc_fw); + if (err) { +- pr_err("si_cp: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -1886,16 +1882,15 @@ + } + if ((rdev->mc_fw->size != mc_req_size) && + (rdev->mc_fw->size != mc2_req_size)) { +- pr_err("si_mc: Bogus length %zu in firmware \"%s\"\n", +- rdev->mc_fw->size, fw_name); ++ pr_err("si_mc: Bogus length %zu in firmware\n", ++ rdev->mc_fw->size); + err = -EINVAL; + } + DRM_INFO("%s: %zu bytes\n", fw_name, rdev->mc_fw->size); + } else { + err = radeon_ucode_validate(rdev->mc_fw); + if (err) { +- pr_err("si_cp: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -1913,20 +1908,19 @@ + snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", chip_name); + err = request_firmware(&rdev->smc_fw, fw_name, rdev->dev); + if (err) { +- pr_err("smc: error loading firmware \"%s\"\n", fw_name); ++ pr_err("smc: error loading firmware\n"); + release_firmware(rdev->smc_fw); + rdev->smc_fw = NULL; + err = 0; + } else if (rdev->smc_fw->size != smc_req_size) { +- pr_err("si_smc: Bogus length %zu in firmware \"%s\"\n", +- rdev->smc_fw->size, fw_name); ++ pr_err("si_smc: Bogus length %zu in firmware\n", ++ rdev->smc_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->smc_fw); + if (err) { +- pr_err("si_cp: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -1944,8 +1938,7 @@ + out: + if (err) { + if (err != -EINVAL) +- pr_err("si_cp: Failed to load firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: Failed to load firmware\n"); + release_firmware(rdev->pfp_fw); + rdev->pfp_fw = NULL; + release_firmware(rdev->me_fw); +diff --color -Nru a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c 2023-03-09 11:53:09.993441860 -0600 +@@ -763,9 +763,6 @@ + if (!fwreq) + return NULL; + +- brcmf_info("using %s for chip %s\n", +- mapping_table[i].fw_base, chipname); +- + mp_path = brcmf_mp_global.firmware_path; + mp_path_len = strnlen(mp_path, BRCMF_FW_ALTPATH_LEN); + if (mp_path_len) +diff --color -Nru a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c 2023-03-09 11:53:09.993441860 -0600 +@@ -1545,7 +1545,7 @@ + if (err) + return err; + +- brcmf_dbg(PCIE, "Download FW %s\n", devinfo->fw_name); ++ brcmf_dbg(PCIE, "Download FW\n"); + memcpy_toio(devinfo->tcm + devinfo->ci->rambase, + (void *)fw->data, fw->size); + +diff --color -Nru a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c +--- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c 2023-03-09 11:53:09.993441860 -0600 +@@ -377,16 +377,16 @@ + UCODE_LOADER_API_VER); + status = request_firmware(&wl->fw.fw_bin[i], fw_name, device); + if (status) { +- wiphy_err(wl->wiphy, "%s: fail to load firmware %s\n", +- KBUILD_MODNAME, fw_name); ++ wiphy_err(wl->wiphy, "%s: fail to load firmware\n", ++ KBUILD_MODNAME); + return status; + } + sprintf(fw_name, "%s_hdr-%d.fw", brcms_firmwares[i], + UCODE_LOADER_API_VER); + status = request_firmware(&wl->fw.fw_hdr[i], fw_name, device); + if (status) { +- wiphy_err(wl->wiphy, "%s: fail to load firmware %s\n", +- KBUILD_MODNAME, fw_name); ++ wiphy_err(wl->wiphy, "%s: fail to load firmware\n", ++ KBUILD_MODNAME); + return status; + } + wl->fw.hdr_num_entries[i] = +diff --color -Nru a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c +--- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c 2023-03-09 11:53:09.997441880 -0600 +@@ -8372,8 +8372,8 @@ + + if (rc < 0) { + printk(KERN_ERR DRV_NAME ": " +- "%s: Firmware '%s' not available or load failed.\n", +- priv->net_dev->name, fw_name); ++ "%s: Firmware not available or load failed.\n", ++ priv->net_dev->name); + return rc; + } + IPW_DEBUG_INFO("firmware data %p size %zd\n", fw->fw_entry->data, +diff --color -Nru a/drivers/net/wireless/intel/ipw2x00/ipw2200.c b/drivers/net/wireless/intel/ipw2x00/ipw2200.c +--- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c 2023-03-09 19:21:02.780816235 -0600 +@@ -3394,12 +3394,12 @@ + /* ask firmware_class module to get the boot firmware off disk */ + rc = request_firmware(raw, name, &priv->pci_dev->dev); + if (rc < 0) { +- IPW_ERROR("%s request_firmware failed: Reason %d\n", name, rc); ++ IPW_ERROR("request_firmware failed: Reason %d\n", rc); + return rc; + } + + if ((*raw)->size < sizeof(*fw)) { +- IPW_ERROR("%s is too small (%zd)\n", name, (*raw)->size); ++ IPW_ERROR("Firmware file is too small (%zd)\n", (*raw)->size); + return -EINVAL; + } + +@@ -3407,13 +3407,12 @@ + + if ((*raw)->size < sizeof(*fw) + le32_to_cpu(fw->boot_size) + + le32_to_cpu(fw->ucode_size) + le32_to_cpu(fw->fw_size)) { +- IPW_ERROR("%s is too small or corrupt (%zd)\n", +- name, (*raw)->size); ++ IPW_ERROR("Firmware file is too small or corrupt (%zd)\n", ++ (*raw)->size); + return -EINVAL; + } + +- IPW_DEBUG_INFO("Read firmware '%s' image v%d.%d (%zd bytes)\n", +- name, ++ IPW_DEBUG_INFO("Read firmware image v%d.%d (%zd bytes)\n", + le32_to_cpu(fw->ver) >> 16, + le32_to_cpu(fw->ver) & 0xff, + (*raw)->size - sizeof(*fw)); +@@ -3547,7 +3546,7 @@ + /* DMA the initial boot firmware into the device */ + rc = ipw_load_firmware(priv, boot_img, le32_to_cpu(fw->boot_size)); + if (rc < 0) { +- IPW_ERROR("Unable to load boot firmware: %d\n", rc); ++ IPW_ERROR("Unable to load boot firmware\n"); + goto error; + } + +@@ -3569,7 +3568,7 @@ + /* DMA the ucode into the device */ + rc = ipw_load_ucode(priv, ucode_img, le32_to_cpu(fw->ucode_size)); + if (rc < 0) { +- IPW_ERROR("Unable to load ucode: %d\n", rc); ++ IPW_ERROR("Unable to load ucode\n"); + goto error; + } + +@@ -3579,7 +3578,7 @@ + /* DMA bss firmware into the device */ + rc = ipw_load_firmware(priv, fw_img, le32_to_cpu(fw->fw_size)); + if (rc < 0) { +- IPW_ERROR("Unable to load firmware: %d\n", rc); ++ IPW_ERROR("Unable to load firmware\n"); + goto error; + } + #ifdef CONFIG_PM +@@ -11175,7 +11174,7 @@ + * Also start the clocks. */ + rc = ipw_load(priv); + if (rc) { +- IPW_ERROR("Unable to load firmware: %d\n", rc); ++ IPW_ERROR("Unable to load firmware\n"); + return rc; + } + +diff --color -Nru a/drivers/net/wireless/intel/iwlegacy/3945-mac.c b/drivers/net/wireless/intel/iwlegacy/3945-mac.c +--- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c 2023-03-09 18:19:33.326779411 -0600 +@@ -1835,19 +1835,19 @@ + sprintf(buf, "%s%u%s", name_pre, idx, ".ucode"); + ret = request_firmware(&ucode_raw, buf, &il->pci_dev->dev); + if (ret < 0) { +- IL_ERR("%s firmware file req failed: %d\n", buf, ret); ++ IL_ERR("Firmware file req failed: %d\n", ret); + if (ret == -ENOENT) + continue; + else + goto error; + } else { + if (idx < api_max) +- IL_ERR("Loaded firmware %s, " ++ IL_ERR("Loaded firmware, " + "which is deprecated. " +- " Please use API v%u instead.\n", buf, ++ " Please use API v%u instead.\n", + api_max); +- D_INFO("Got firmware '%s' file " +- "(%zd bytes) from disk\n", buf, ucode_raw->size); ++ D_INFO("Got firmware file " ++ "(%zd bytes) from disk\n", ucode_raw->size); + break; + } + } +@@ -3692,7 +3692,7 @@ + goto out_unset_hw_params; + } + +- IL_INFO("Detected Intel Wireless WiFi Link %s\n", il->cfg->name); ++ IL_INFO("Detected Intel Wireless WiFi Link\n"); + + /*********************** + * 7. Setup Services +diff --color -Nru a/drivers/net/wireless/intel/iwlegacy/4965-mac.c b/drivers/net/wireless/intel/iwlegacy/4965-mac.c +--- a/drivers/net/wireless/intel/iwlegacy/4965-mac.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/intel/iwlegacy/4965-mac.c 2023-03-09 11:53:09.997441880 -0600 +@@ -4684,7 +4684,7 @@ + + sprintf(il->firmware_name, "%s%s%s", name_pre, tag, ".ucode"); + +- D_INFO("attempting to load firmware '%s'\n", il->firmware_name); ++ D_INFO("attempting to load firmware\n"); + + return request_firmware_nowait(THIS_MODULE, 1, il->firmware_name, + &il->pci_dev->dev, GFP_KERNEL, il, +@@ -4774,13 +4774,11 @@ + + if (!ucode_raw) { + if (il->fw_idx <= il->cfg->ucode_api_max) +- IL_ERR("request for firmware file '%s' failed.\n", +- il->firmware_name); ++ IL_ERR("request for firmware file failed.\n"); + goto try_again; + } + +- D_INFO("Loaded firmware file '%s' (%zd bytes).\n", il->firmware_name, +- ucode_raw->size); ++ D_INFO("Loaded firmware file (%zd bytes).\n", ucode_raw->size); + + /* Make sure that we got at least the API version number */ + if (ucode_raw->size < 4) { +diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/dvm/main.c b/drivers/net/wireless/intel/iwlwifi/dvm/main.c +--- a/drivers/net/wireless/intel/iwlwifi/dvm/main.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/intel/iwlwifi/dvm/main.c 2023-03-09 11:53:09.997441880 -0600 +@@ -1248,7 +1248,7 @@ + ************************/ + hw = iwl_alloc_all(); + if (!hw) { +- pr_err("%s: Cannot allocate network device\n", trans->name); ++ pr_err("Cannot allocate network device\n"); + goto out; + } + +@@ -1376,8 +1376,7 @@ + /*********************** + * 2. Read REV register + ***********************/ +- IWL_INFO(priv, "Detected %s, REV=0x%X\n", +- priv->trans->name, priv->trans->hw_rev); ++ IWL_INFO(priv, "Detected, REV=0x%X\n", priv->trans->hw_rev); + + if (iwl_trans_start_hw(priv->trans)) + goto out_free_hw; +diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +--- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2023-03-09 11:53:09.997441880 -0600 +@@ -184,27 +184,13 @@ + + if (drv->fw_index < cfg->ucode_api_min) { + IWL_ERR(drv, "no suitable firmware found!\n"); +- +- if (cfg->ucode_api_min == cfg->ucode_api_max) { +- IWL_ERR(drv, "%s%d is required\n", cfg->fw_name_pre, +- cfg->ucode_api_max); +- } else { +- IWL_ERR(drv, "minimum version required: %s%d\n", +- cfg->fw_name_pre, cfg->ucode_api_min); +- IWL_ERR(drv, "maximum version supported: %s%d\n", +- cfg->fw_name_pre, cfg->ucode_api_max); +- } +- +- IWL_ERR(drv, +- "check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git\n"); + return -ENOENT; + } + + snprintf(drv->firmware_name, sizeof(drv->firmware_name), "%s%s.ucode", + cfg->fw_name_pre, tag); + +- IWL_DEBUG_FW_INFO(drv, "attempting to load firmware '%s'\n", +- drv->firmware_name); ++ IWL_DEBUG_FW_INFO(drv, "attempting to load firmware\n"); + + return request_firmware_nowait(THIS_MODULE, 1, drv->firmware_name, + drv->trans->dev, +diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +--- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c 2023-03-09 11:53:09.997441880 -0600 +@@ -1583,13 +1583,11 @@ + */ + ret = request_firmware(&fw_entry, nvm_file_name, trans->dev); + if (ret) { +- IWL_ERR(trans, "ERROR: %s isn't available %d\n", +- nvm_file_name, ret); ++ IWL_ERR(trans, "ERROR: firmware isn't available %d\n", ret); + return ret; + } + +- IWL_INFO(trans, "Loaded NVM file %s (%zu bytes)\n", +- nvm_file_name, fw_entry->size); ++ IWL_INFO(trans, "Loaded NVM file (%zu bytes)\n", fw_entry->size); + + if (fw_entry->size > MAX_NVM_FILE_LEN) { + IWL_ERR(trans, "NVM file too large\n"); +diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +--- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c 2023-03-09 11:53:09.997441880 -0600 +@@ -1285,8 +1285,7 @@ + goto out_free; + } + +- IWL_INFO(mvm, "Detected %s, REV=0x%X\n", +- mvm->trans->name, mvm->trans->hw_rev); ++ IWL_INFO(mvm, "Detected, REV=0x%X\n", mvm->trans->hw_rev); + + if (iwlwifi_mod_params.nvm_file) + mvm->nvm_file_name = iwlwifi_mod_params.nvm_file; +diff --color -Nru a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2023-03-09 11:53:09.997441880 -0600 +@@ -2073,9 +2073,9 @@ + int ret = 0; + u16 signature; + +- dev_info(dev, "%s: Loading firmware %s\n", DRIVER_NAME, fw_name); ++ dev_info(dev, "%s: Loading firmware\n", DRIVER_NAME); + if (request_firmware(&fw, fw_name, &priv->udev->dev)) { +- dev_warn(dev, "request_firmware(%s) failed\n", fw_name); ++ dev_warn(dev, "request_firmware failed\n"); + ret = -EAGAIN; + goto exit; + } +diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c +--- a/drivers/net/wireless/realtek/rtlwifi/core.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/realtek/rtlwifi/core.c 2023-03-09 11:53:09.997441880 -0600 +@@ -83,8 +83,7 @@ + err = request_firmware(&firmware, + rtlpriv->cfg->alt_fw_name, + rtlpriv->io.dev); +- pr_info("Loading alternative firmware %s\n", +- rtlpriv->cfg->alt_fw_name); ++ pr_info("Loading alternative firmware\n"); + if (!err) + goto found_alt; + } +diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c +--- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c 2023-03-09 11:53:09.997441880 -0600 +@@ -143,7 +143,7 @@ + + fw_name = "rtlwifi/rtl8188efw.bin"; + rtlpriv->max_fw_size = 0x8000; +- pr_info("Using firmware %s\n", fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, + rtl_fw_cb); +diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c +--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c 2023-03-09 11:53:09.997441880 -0600 +@@ -146,7 +146,7 @@ + fw_name = "rtlwifi/rtl8192cfw.bin"; + + rtlpriv->max_fw_size = 0x4000; +- pr_info("Using firmware %s\n", fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, + rtl_fw_cb); +diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c +--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c 2023-03-09 11:53:09.997441880 -0600 +@@ -55,7 +55,7 @@ + } + /* provide name of alternative file */ + rtlpriv->cfg->alt_fw_name = "rtlwifi/rtl8192cufw.bin"; +- pr_info("Loading firmware %s\n", fw_name); ++ pr_info("Loading firmware\n"); + rtlpriv->max_fw_size = 0x4000; + err = request_firmware_nowait(THIS_MODULE, 1, + fw_name, rtlpriv->io.dev, +diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c +--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c 2023-03-09 11:53:10.001441899 -0600 +@@ -154,7 +154,7 @@ + + rtlpriv->max_fw_size = 0x8000; + pr_info("Driver for Realtek RTL8192DE WLAN interface\n"); +- pr_info("Loading firmware file %s\n", fw_name); ++ pr_info("Loading firmware file\n"); + + /* request fw */ + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, +diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c +--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c 2023-03-09 11:53:10.001441899 -0600 +@@ -149,7 +149,7 @@ + fw_name = "rtlwifi/rtl8192eefw.bin"; + + rtlpriv->max_fw_size = 0x8000; +- pr_info("Using firmware %s\n", fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, + rtl_fw_cb); +diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c +--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c 2023-03-09 11:53:10.001441899 -0600 +@@ -69,7 +69,7 @@ + "Firmware callback routine entered!\n"); + complete(&rtlpriv->firmware_loading_complete); + if (!firmware) { +- pr_err("Firmware %s not available\n", fw_name); ++ pr_err("Firmware not available\n"); + rtlpriv->max_fw_size = 0; + return; + } +@@ -185,7 +185,7 @@ + rtlpriv->max_fw_size = RTL8190_MAX_FIRMWARE_CODE_SIZE*2 + + sizeof(struct fw_hdr); + pr_info("Driver for Realtek RTL8192SE/RTL8191SE\n" +- "Loading firmware %s\n", fw_name); ++ "Loading firmware\n"); + /* request fw */ + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, +diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c +--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c 2023-03-09 11:53:10.001441899 -0600 +@@ -152,7 +152,7 @@ + fw_name = "rtlwifi/rtl8723fw_B.bin"; + + rtlpriv->max_fw_size = 0x6000; +- pr_info("Using firmware %s\n", fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, + rtl_fw_cb); +diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c +--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c 2023-03-09 11:53:10.001441899 -0600 +@@ -156,7 +156,7 @@ + } + + rtlpriv->max_fw_size = 0x8000; +- pr_info("Using firmware %s\n", fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, + rtl_fw_cb); +diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c +--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c 2023-03-09 11:53:10.001441899 -0600 +@@ -185,7 +185,7 @@ + + rtlpriv->max_fw_size = 0x8000; + /*load normal firmware*/ +- pr_info("Using firmware %s\n", fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, + rtl_fw_cb); +@@ -196,7 +196,7 @@ + return 1; + } + /*load wowlan firmware*/ +- pr_info("Using firmware %s\n", wowlan_fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, + wowlan_fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, +diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 2023-03-13 07:14:05.000000000 +0000 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 2023-03-13 07:46:23.778827386 +0000 +@@ -223,8 +223,7 @@ + + r = request_firmware(&fw, fw_name, adev->dev); + if (r) { +- dev_err(adev->dev, "can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "can't load firmware\n", fw_name); + return r; + } + +diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c2023-03-13 07:14:05.000000000 +0000 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c 2023-03-13 07:43:14.487511703 +0000 +@@ -821,8 +821,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "gfx11: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx11: Failed to load firmware\n", fw_name); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c b/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c +--- a/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c2022-07-31 21:03:01.000000000 +0000 ++++ b/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c 2023-03-13 07:45:31.295016045 +0000 +@@ -71,8 +71,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "gfx11: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx11: Failed to load firmware\n"); + release_firmware(adev->gfx.imu_fw); + } + +diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c 2023-03-13 07:14:05.000000000 +0000 ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c 2023-03-13 07:44:37.099211678 +0000 +@@ -162,7 +162,7 @@ + + out: + if (err) { +- DRM_ERROR("sdma_v6_0: Failed to load firmware \"%s\"\n", fw_name); ++ DRM_ERROR("sdma_v6_0: Failed to load firmware\n"); + sdma_v6_0_destroy_inst_ctx(adev); + } + return err; +diff -Nru --color a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c +--- a/drivers/gpu/drm/radeon/cik.c 2023-03-13 07:30:35.362282308 +0000 ++++ b/drivers/gpu/drm/radeon/cik.c 2023-03-13 07:47:11.750655564 +0000 +@@ -2238,8 +2238,7 @@ + snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", chip_name); + err = request_firmware(&rdev->smc_fw, fw_name, rdev->dev); + if (err) { +- pr_err("smc: error loading firmware \"%s\"\n", +- fw_name); ++ pr_err("smc: error loading firmware\n"); + release_firmware(rdev->smc_fw); + rdev->smc_fw = NULL; + err = 0; +diff -Nru --color a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c +--- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c 2023-03-13 07:30:35.446282020 +0000 ++++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c 2023-03-13 07:48:46.790316692 +0000 +@@ -1058,8 +1058,8 @@ + /* load f/w */ + err = ipw2100_fw_download(priv, &ipw2100_firmware); + if (err) { +- IPW_DEBUG_ERROR("%s: Error loading firmware: %d\n", +- priv->net_dev->name, err); ++ IPW_DEBUG_ERROR("%s: Error loading firmware\n", ++ priv->net_dev->name); + goto fail; + } + #ifndef CONFIG_PM +diff -Nru --color a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +--- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2023-03-13 07:30:35.554281653 +0000 ++++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2023-03-13 07:55:50.464823615 +0000 +@@ -1402,8 +1402,8 @@ + if (!ucode_raw) + goto try_again; + +- IWL_DEBUG_FW_INFO(drv, "Loaded firmware file '%s' (%zd bytes).\n", +- drv->firmware_name, ucode_raw->size); ++ IWL_DEBUG_FW_INFO(drv, "Loaded firmware file (%zd bytes).\n", ++ ucode_raw->size); + + /* Make sure that we got at least the API version number */ + if (ucode_raw->size < 4) { +@@ -1616,8 +1616,8 @@ + break; + } + +- IWL_INFO(drv, "loaded firmware version %s op_mode %s\n", +- drv->fw.fw_version, op->name); ++ IWL_INFO(drv, "loaded firmware version %s\n", ++ drv->fw.fw_version); + + /* add this device to the list of devices using this op_mode */ + list_add_tail(&drv->list, &op->drv); +diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c +index 88262d3..93b3826 100644 +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -382,7 +382,7 @@ static int ath3k_load_patch(struct usb_device *udev) + + ret = request_firmware(&firmware, filename, &udev->dev); + if (ret < 0) { +- BT_ERR("Patch file not found %s", filename); ++ BT_ERR("Patch file not found"); + return ret; + } + +@@ -445,7 +445,7 @@ static int ath3k_load_syscfg(struct usb_device *udev) + + ret = request_firmware(&firmware, filename, &udev->dev); + if (ret < 0) { +- BT_ERR("Configuration file not found %s", filename); ++ BT_ERR("Configuration file not found"); + return ret; + } + +@@ -504,8 +504,7 @@ static int ath3k_probe(struct usb_interface *intf, + ret = request_firmware(&firmware, ATH3K_FIRMWARE, &udev->dev); + if (ret < 0) { + if (ret == -ENOENT) +- BT_ERR("Firmware file \"%s\" not found", +- ATH3K_FIRMWARE); ++ BT_ERR("Firmware file not found"); + else + BT_ERR("Firmware file \"%s\" request failed (err=%d)", + ATH3K_FIRMWARE, ret); +diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c +index d8fe39e..f9c6a53 100644 +--- a/drivers/bluetooth/btbcm.c ++++ b/drivers/bluetooth/btbcm.c +@@ -640,9 +640,7 @@ int btbcm_initialize(struct hci_dev *hdev, bool *fw_load_done) + + release_firmware(fw); + } else { +- bt_dev_err(hdev, "BCM: firmware Patch file not found, tried:"); +- for (i = 0; i < fw_name_count; i++) +- bt_dev_err(hdev, "BCM: '%s'", fw_name[i]); ++ bt_dev_err(hdev, "BCM: firmware Patch file not found"); + } + + kfree(fw_name); +diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c +index 0c2542c..dc1fa9b 100644 +--- a/drivers/bluetooth/btintel.c ++++ b/drivers/bluetooth/btintel.c +@@ -346,8 +346,8 @@ int btintel_load_ddc_config(struct hci_dev *hdev, const char *ddc_name) + + err = request_firmware_direct(&fw, ddc_name, &hdev->dev); + if (err < 0) { +- bt_dev_err(hdev, "Failed to load Intel DDC file %s (%d)", +- ddc_name, err); ++ bt_dev_err(hdev, "Failed to load Intel DDC file (%d)", ++ err); + return err; + } + +@@ -1412,8 +1412,8 @@ static const struct firmware *btintel_legacy_rom_get_fw(struct hci_dev *hdev, + return NULL; + } + +- bt_dev_err(hdev, "failed to open Intel firmware file: %s (%d)", +- fwname, ret); ++ bt_dev_err(hdev, "failed to open Intel firmware file: (%d)", ++ ret); + + /* If the correct firmware patch file is not found, use the + * default firmware patch file instead +@@ -1421,8 +1421,7 @@ static const struct firmware *btintel_legacy_rom_get_fw(struct hci_dev *hdev, + snprintf(fwname, sizeof(fwname), "intel/ibt-hw-%x.%x.bseq", + ver->hw_platform, ver->hw_variant); + if (request_firmware(&fw, fwname, &hdev->dev) < 0) { +- bt_dev_err(hdev, "failed to open default fw file: %s", +- fwname); ++ bt_dev_err(hdev, "failed to open default fw file"); + return NULL; + } + } +@@ -1913,8 +1912,8 @@ download: + return 0; + } + +- bt_dev_err(hdev, "Failed to load Intel firmware file %s (%d)", +- fwname, err); ++ bt_dev_err(hdev, "Failed to load Intel firmware file (%d)", ++ err); + return err; + } + +@@ -2102,8 +2101,8 @@ static int btintel_prepare_fw_download_tlv(struct hci_dev *hdev, + return 0; + } + +- bt_dev_err(hdev, "Failed to load Intel firmware file %s (%d)", +- fwname, err); ++ bt_dev_err(hdev, "Failed to load Intel firmware file (%d)", ++ err); + + return err; + } +diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c +index 47c28fd..020fe67 100644 +--- a/drivers/bluetooth/btrtl.c ++++ b/drivers/bluetooth/btrtl.c +@@ -693,8 +693,7 @@ out_free: + btrtl_dev->fw_len = rtl_load_file(hdev, btrtl_dev->ic_info->fw_name, + &btrtl_dev->fw_data); + if (btrtl_dev->fw_len < 0) { +- rtl_dev_err(hdev, "firmware file %s not found", +- btrtl_dev->ic_info->fw_name); ++ rtl_dev_err(hdev, "firmware file not found"); + ret = btrtl_dev->fw_len; + goto err_free; + } +@@ -711,8 +710,7 @@ out_free: + &btrtl_dev->cfg_data); + if (btrtl_dev->ic_info->config_needed && + btrtl_dev->cfg_len <= 0) { +- rtl_dev_err(hdev, "mandatory config file %s not found", +- btrtl_dev->ic_info->cfg_name); ++ rtl_dev_err(hdev, "mandatory config file not found"); + ret = btrtl_dev->cfg_len; + goto err_free; + } +diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c +index 3a40f84..8c6d37d 100644 +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -3338,8 +3338,8 @@ static int btusb_setup_qca_load_nvm(struct hci_dev *hdev, + + err = request_firmware(&fw, fwname, &hdev->dev); + if (err) { +- bt_dev_err(hdev, "failed to request NVM file: %s (%d)", +- fwname, err); ++ bt_dev_err(hdev, "failed to request NVM file: (%d)", ++ err); + return err; + } + +diff --git a/drivers/bluetooth/hci_ag6xx.c b/drivers/bluetooth/hci_ag6xx.c +index 2d40302..d35d7e0 100644 +--- a/drivers/bluetooth/hci_ag6xx.c ++++ b/drivers/bluetooth/hci_ag6xx.c +@@ -195,8 +195,8 @@ static int ag6xx_setup(struct hci_uart *hu) + + err = request_firmware(&fw, fwname, &hdev->dev); + if (err < 0) { +- bt_dev_err(hdev, "Failed to open Intel bddata file: %s (%d)", +- fwname, err); ++ bt_dev_err(hdev, "Failed to open Intel bddata file: (%d)", ++ err); + goto patch; + } + +@@ -232,8 +232,8 @@ patch: + + err = request_firmware(&fw, fwname, &hdev->dev); + if (err < 0) { +- bt_dev_err(hdev, "Failed to open Intel patch file: %s(%d)", +- fwname, err); ++ bt_dev_err(hdev, "Failed to open Intel patch file (%d)", ++ err); + goto complete; + } + fw_ptr = fw->data; +diff --git a/drivers/bluetooth/hci_ll.c b/drivers/bluetooth/hci_ll.c +index 5abc01a..3a08e98 100644 +--- a/drivers/bluetooth/hci_ll.c ++++ b/drivers/bluetooth/hci_ll.c +@@ -539,7 +539,7 @@ static int download_firmware(struct ll_device *lldev) + + err = request_firmware(&fw, bts_scr_name, &lldev->serdev->dev); + if (err || !fw->data || !fw->size) { +- bt_dev_err(lldev->hu.hdev, "request_firmware failed(errno %d) for %s", ++ bt_dev_err(lldev->hu.hdev, "request_firmware failed (errno %d) for %s", + err, bts_scr_name); + return -EINVAL; + } +diff --git a/drivers/bluetooth/hci_mrvl.c b/drivers/bluetooth/hci_mrvl.c +index fbc3f7c..054b30a 100644 +--- a/drivers/bluetooth/hci_mrvl.c ++++ b/drivers/bluetooth/hci_mrvl.c +@@ -277,7 +277,7 @@ static int mrvl_load_firmware(struct hci_dev *hdev, const char *name) + + err = request_firmware(&fw, name, &hdev->dev); + if (err < 0) { +- bt_dev_err(hdev, "Failed to load firmware file %s", name); ++ bt_dev_err(hdev, "Failed to load firmware file"); + return err; + } + +diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c +index a171d42..b2fb944 100644 +--- a/drivers/gpu/drm/i915/display/intel_dmc.c ++++ b/drivers/gpu/drm/i915/display/intel_dmc.c +@@ -696,11 +696,8 @@ static void dmc_load_work_fn(struct work_struct *work) + DMC_VERSION_MINOR(dmc->version)); + } else { + drm_notice(&dev_priv->drm, +- "Failed to load DMC firmware %s." +- " Disabling runtime power management.\n", +- dmc->fw_path); +- drm_notice(&dev_priv->drm, "DMC firmware homepage: %s", +- INTEL_UC_FIRMWARE_URL); ++ "Failed to load DMC firmware." ++ " Disabling runtime power management.\n"); + } + + release_firmware(fw); +diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c +index f31e8c3..a4188d6 100644 +--- a/drivers/gpu/drm/i915/display/intel_opregion.c ++++ b/drivers/gpu/drm/i915/display/intel_opregion.c +@@ -846,8 +846,8 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv) + ret = request_firmware(&fw, name, dev_priv->drm.dev); + if (ret) { + drm_err(&dev_priv->drm, +- "Requesting VBT firmware \"%s\" failed (%d)\n", +- name, ret); ++ "Requesting VBT firmware failed (%d)\n", ++ ret); + return ret; + } + +@@ -863,8 +863,7 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv) + ret = -ENOMEM; + } + } else { +- drm_dbg_kms(&dev_priv->drm, "Invalid VBT firmware \"%s\"\n", +- name); ++ drm_dbg_kms(&dev_priv->drm, "Invalid VBT firmware\n"); + ret = -EINVAL; + } + +diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +index 703f42b..58c843c 100644 +--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c ++++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +@@ -368,13 +368,8 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw) + err = firmware_request_nowarn(&fw, uc_fw->fallback.path, dev); + if (!err) { + drm_notice(&i915->drm, +- "%s firmware %s is recommended, but only %s was found\n", +- intel_uc_fw_type_repr(uc_fw->type), +- uc_fw->wanted_path, +- uc_fw->fallback.path); +- drm_info(&i915->drm, +- "Consider updating your linux-firmware pkg or downloading from %s\n", +- INTEL_UC_FIRMWARE_URL); ++ "%s firmware is recommended, but was not found\n", ++ intel_uc_fw_type_repr(uc_fw->type)); + + uc_fw->path = uc_fw->fallback.path; + uc_fw->major_ver_wanted = uc_fw->fallback.major_ver; +@@ -479,10 +474,8 @@ fail: + INTEL_UC_FIRMWARE_MISSING : + INTEL_UC_FIRMWARE_ERROR); + +- i915_probe_error(i915, "%s firmware %s: fetch failed with error %d\n", +- intel_uc_fw_type_repr(uc_fw->type), uc_fw->path, err); +- drm_info(&i915->drm, "%s firmware(s) can be downloaded from %s\n", +- intel_uc_fw_type_repr(uc_fw->type), INTEL_UC_FIRMWARE_URL); ++ i915_probe_error(i915, "%s firmware fetch failed with error %d\n", ++ intel_uc_fw_type_repr(uc_fw->type), err); + + release_firmware(fw); /* OK even if fw is NULL */ + return err; +@@ -618,9 +611,8 @@ int intel_uc_fw_upload(struct intel_uc_fw *uc_fw, u32 dst_offset, u32 dma_flags) + return 0; + + fail: +- i915_probe_error(gt->i915, "Failed to load %s firmware %s (%d)\n", +- intel_uc_fw_type_repr(uc_fw->type), uc_fw->path, +- err); ++ i915_probe_error(gt->i915, "Failed to load %s firmware (%d)\n", ++ intel_uc_fw_type_repr(uc_fw->type), err); + intel_uc_fw_change_status(uc_fw, INTEL_UC_FIRMWARE_LOAD_FAIL); + return err; + } +diff --git a/drivers/gpu/drm/i915/gvt/firmware.c b/drivers/gpu/drm/i915/gvt/firmware.c +index 54fe442..1079138 100644 +--- a/drivers/gpu/drm/i915/gvt/firmware.c ++++ b/drivers/gpu/drm/i915/gvt/firmware.c +@@ -183,8 +183,8 @@ static int verify_firmware(struct intel_gvt *gvt, + return 0; + + invalid_firmware: +- gvt_dbg_core("Invalid firmware: %s [file] 0x%llx [request] 0x%llx\n", +- item, file, request); ++ gvt_dbg_core("Invalid firmware: [request] 0x%llx\n", ++ request); + return -EINVAL; + } + +@@ -231,7 +231,7 @@ int intel_gvt_load_firmware(struct intel_gvt *gvt) + GVT_FIRMWARE_PATH, pdev->vendor, pdev->device, + pdev->revision); + +- gvt_dbg_core("request hw state firmware %s...\n", path); ++ gvt_dbg_core("request hw state firmware\n"); + + ret = request_firmware(&fw, path, gvt->gt->i915->drm.dev); + kfree(path); diff --git a/helpers/DATA/linux-hwe-6.14/005-removal_of_external_recommendation_for_firmware.patch b/helpers/DATA/linux-hwe-6.14/005-removal_of_external_recommendation_for_firmware.patch deleted file mode 100644 index b870e2e..0000000 --- a/helpers/DATA/linux-hwe-6.14/005-removal_of_external_recommendation_for_firmware.patch +++ /dev/null @@ -1,30 +0,0 @@ -Removal of references to external repositories we can't manage what kind of firmware is pointed to. -The only firmware we can confirm to work with is the one contained on the packge source code. - -Update: Linux-libre has debblobed the external URL, we remove the whole thing. -diff --git a/drivers/net/wireless/atmel/at76c50x-usb.c b/drivers/net/wireless/atmel/at76c50x-usb.c -index 447b51cf..898b83af 100644 ---- a/drivers/net/wireless/atmel/at76c50x-usb.c -+++ b/drivers/net/wireless/atmel/at76c50x-usb.c -@@ -1619,8 +1619,6 @@ static struct fwentry *at76_load_firmware(struct usb_device *udev, - if (ret < 0) { - dev_err(&udev->dev, "firmware %s not found!\n", - fwe->fwname); -- dev_err(&udev->dev, -- "you may need to download the firmware from http://developer.berlios.de/projects/at76c503a/\n"); - goto exit; - } - -diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c -index f3b50528..1860f2b7 100644 ---- a/sound/soc/sof/topology.c -+++ b/sound/soc/sof/topology.c -@@ -2445,8 +2445,6 @@ int snd_sof_load_topology(struct snd_soc_component *scomp, const char *file) - if (ret < 0) { - dev_err(scomp->dev, "error: tplg request firmware %s failed err: %d\n", - file, ret); -- dev_err(scomp->dev, -- "you may need to download the firmware from /*(DEBLOBBED)*/\n"); - return ret; - } - diff --git a/helpers/DATA/linux-hwe-6.14/udeb/000-d-i.patch b/helpers/DATA/linux-hwe-6.14/udeb/000-d-i.patch deleted file mode 100644 index 15cb970..0000000 --- a/helpers/DATA/linux-hwe-6.14/udeb/000-d-i.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff --git a/debian/rules b/debian/rules -index a625a4c5..35f2aa25 100755 ---- a/debian/rules -+++ b/debian/rules -@@ -176,6 +176,9 @@ debian/control: debian/canonical-revoked-certs.pem $(DEBIAN)/changelog FORCE - -e 's|\(^Maintainer:.*\)|\1\nXSC-Ubuntu-Compatible-Signing: $(UBUNTU_COMPATIBLE_SIGNING)|g' \ - -e 's/\(^Build-Depends:$$\)/\1\n$(GCC_BUILD_DEPENDS)/g' \ - $@ -+ KW_DEFCONFIG_DIR=$(DEBIAN)/d-i KW_CONFIG_DIR=$(DEBIAN)/d-i \ -+ LANG=C kernel-wedge gen-control $(DEB_VERSION_UPSTREAM)-$(abinum) | \ -+ grep-dctrl -FArchitecture $(arch) >> $@ - - debian/canonical-certs.pem: $(wildcard debian/certs/*.pem $(DEBIAN)/certs/*.pem) - for cert in $(sort $(notdir $^)); \ - -diff --git a/debian/rules b/debian/rules_ -index a625a4c5..1d9b5834 100755 ---- a/debian/rules -+++ b/debian/rules_ -@@ -129,10 +129,10 @@ do_any_tools=$(sort $(filter-out false,$(do_linux_tools) $(do_cloud_tools))) - - # Debian Build System targets - .PHONY: binary --binary: binary-indep binary-arch -+binary: debian/control binary-indep binary-arch - - .PHONY: build --build: build-arch build-indep -+build: debian/control build-arch build-indep - - .PHONY: clean - clean: debian/control debian/canonical-certs.pem debian/canonical-revoked-certs.pem -@@ -140,6 +140,11 @@ clean: debian/control debian/canonical-certs.pem debian/canonical-revoked-certs. - dh_testroot - dh_clean - -+ # d-i stuff -+ rm -rf $(DEBIAN)/d-i-$(arch) -+ # Generated on the fly. -+ rm -f $(DEBIAN)/d-i/firmware/$(arch)/kernel-image -+ - # normal build junk - rm -rf $(DEBIAN)/abi - rm -rf $(builddir) $(stampdir) -diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk -index 41985338..3943d0da 100644 ---- a/debian/rules.d/2-binary-arch.mk -+++ b/debian/rules.d/2-binary-arch.mk -@@ -181,10 +181,14 @@ endif - install -m600 $(build_dir)/System.map \ - $(pkgdir)/boot/System.map-$(abi_release)-$* - --ifeq ($(do_dtbs),true) -- $(kmake) O=$(build_dir) $(conc_level) dtbs_install \ -- INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree --endif -+ if [ "$(filter true,$(do_dtbs))" ]; then \ -+ $(kmake) O=$(build_dir) $(conc_level) dtbs_install \ -+ INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree; \ -+ ( cd $(pkgdir)/lib/firmware/$(abi_release)-$*/ && find device-tree -print ) | \ -+ while read dtb_file; do \ -+ echo "$$dtb_file ?" >> $(DEBIAN)/d-i/firmware/$(arch)/kernel-image; \ -+ done; \ -+ fi - - ifeq ($(no_dumpfile),) - makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \ diff --git a/helpers/DATA/linux-hwe-6.14/udeb/001-disable_zstd_module_compression.patch b/helpers/DATA/linux-hwe-6.14/udeb/001-disable_zstd_module_compression.patch deleted file mode 100644 index 0d4bb0b..0000000 --- a/helpers/DATA/linux-hwe-6.14/udeb/001-disable_zstd_module_compression.patch +++ /dev/null @@ -1,20 +0,0 @@ -Debian doesn't use zstd compression for kernel modules by default, and -kernel-wedge does not currently support this compression. It is recommended -to continue using XZ compression to maintain compatibility with udeb -packages in Trisquel, at least while this changes. - -diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk -index d832106b..4afdd290 100644 ---- a/debian/rules.d/0-common-vars.mk -+++ b/debian/rules.d/0-common-vars.mk -@@ -154,6 +154,10 @@ do_zstd_ko=true - ifeq ($(series),jammy) - do_zstd_ko= - endif -+# Trisquel use udebs, so it disable zstd by default. -+ifeq (yes,$(shell dpkg-vendor --is Trisquel && echo yes)) -+do_zstd_ko= -+endif - - # Support parallel= in DEB_BUILD_OPTIONS (see #209008) - # diff --git a/helpers/DATA/linux-hwe-6.14/udeb/5-udebs.mk b/helpers/DATA/linux-hwe-6.2/5-udebs.mk similarity index 97% rename from helpers/DATA/linux-hwe-6.14/udeb/5-udebs.mk rename to helpers/DATA/linux-hwe-6.2/5-udebs.mk index c95299c..e642fe6 100644 --- a/helpers/DATA/linux-hwe-6.14/udeb/5-udebs.mk +++ b/helpers/DATA/linux-hwe-6.2/5-udebs.mk @@ -2,7 +2,7 @@ binary-udebs: binary-debs @echo Debug: $@ ifeq ($(disable_d_i),) - @$(MAKE) --no-print-directory -f debian/rules DEBIAN=$(DEBIAN) \ + @$(MAKE) --no-print-directory -f $(DROOT)/rules DEBIAN=$(DEBIAN) \ do-binary-udebs endif diff --git a/helpers/DATA/linux-hwe-6.14/check.sh b/helpers/DATA/linux-hwe-6.2/check.sh similarity index 100% rename from helpers/DATA/linux-hwe-6.14/check.sh rename to helpers/DATA/linux-hwe-6.2/check.sh diff --git a/helpers/DATA/linux-hwe-6.2/d-i.patch b/helpers/DATA/linux-hwe-6.2/d-i.patch new file mode 100644 index 0000000..ca1d04c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.2/d-i.patch @@ -0,0 +1,70 @@ +diff --git a/debian/rules b/debian/rules +index fe52711..b2d1921 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -128,12 +128,19 @@ clean: debian/control debian/canonical-certs.pem debian/canonical-revoked-certs. + dh_testroot + dh_clean + ++ # d-i stuff ++ rm -rf $(DEBIAN)/d-i-$(arch) ++ # Generated on the fly. ++ rm -f $(DEBIAN)/d-i/firmware/$(arch)/kernel-image ++ + # normal build junk + rm -rf $(DEBIAN)/abi/$(release)-$(revision) + rm -rf $(builddir) + rm -f $(stampdir)/stamp-* + rm -rf $(DEBIAN)/linux-* + ++ # This gets rid of the d-i packages in control ++ cp -f $(DEBIAN)/control.stub $(DROOT)/control + cp $(DEBIAN)/changelog debian/changelog + + # Install the copyright information. +@@ -184,7 +191,6 @@ $(DEBIAN)/control.stub: \ + $(DROOT)/scripts/control-create \ + $(control_files) \ + debian/canonical-revoked-certs.pem \ +- $(DROOT)/control.d/flavour-module.stub \ + $(DEBIAN)/changelog \ + $(wildcard $(DEBIAN)/control.d/* $(DEBIAN)/sub-flavours/*.vars) + for i in $(control_files); do \ +@@ -211,7 +217,14 @@ $(DEBIAN)/control.stub: \ + + .PHONY: debian/control + debian/control: $(DEBIAN)/control.stub ++ echo "# placebo control.stub for kernel-wedge flow change" >debian/control.stub + cp $(DEBIAN)/control.stub debian/control ++ # append udeb packages ++ export KW_DEFCONFIG_DIR=$(DEBIAN)/d-i && \ ++ export KW_CONFIG_DIR=$(DEBIAN)/d-i && \ ++ LANG=C kernel-wedge gen-control $(release)-$(abinum) | \ ++ grep-dctrl -FArchitecture $(arch) \ ++ >>$(CURDIR)/debian/control + + debian/canonical-certs.pem: $(wildcard $(DROOT)/certs/*-all.pem) $(wildcard $(DROOT)/certs/*-$(arch).pem) $(wildcard $(DEBIAN)/certs/*-all.pem) $(wildcard $(DEBIAN)/certs/*-$(arch).pem) + for cert in $(sort $(notdir $^)); \ +diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk +index b89c61c..ef1ef03 100644 +--- a/debian/rules.d/2-binary-arch.mk ++++ b/debian/rules.d/2-binary-arch.mk +@@ -178,10 +178,14 @@ endif + install -m600 $(builddir)/build-$*/System.map \ + $(pkgdir)/boot/System.map-$(abi_release)-$* + +-ifeq ($(do_dtbs),true) +- $(build_cd) $(kmake) $(build_O) $(conc_level) dtbs_install \ +- INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree +-endif ++ if [ "$(filter true,$(do_dtbs))" ]; then \ ++ $(build_cd) $(kmake) $(build_O) $(conc_level) dtbs_install \ ++ INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree; \ ++ ( cd $(pkgdir)/lib/firmware/$(abi_release)-$*/ && find device-tree -print ) | \ ++ while read dtb_file; do \ ++ echo "$$dtb_file ?" >> $(DEBIAN)/d-i/firmware/$(arch)/kernel-image; \ ++ done; \ ++ fi + + ifeq ($(no_dumpfile),) + makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \ diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/README.txt b/helpers/DATA/linux-hwe-6.2/d-i/firmware/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/README.txt rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/README.txt diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/amd64/README.txt b/helpers/DATA/linux-hwe-6.2/d-i/firmware/amd64/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/amd64/README.txt rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/amd64/README.txt diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/amd64/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/amd64/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/amd64/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/amd64/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/amd64/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/amd64/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/amd64/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/amd64/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/arm64/README.txt b/helpers/DATA/linux-hwe-6.2/d-i/firmware/arm64/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/arm64/README.txt rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/arm64/README.txt diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/arm64/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/arm64/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/arm64/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/arm64/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/arm64/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/arm64/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/arm64/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/arm64/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/armhf/README.txt b/helpers/DATA/linux-hwe-6.2/d-i/firmware/armhf/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/armhf/README.txt rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/armhf/README.txt diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/i386/README.txt b/helpers/DATA/linux-hwe-6.2/d-i/firmware/i386/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/i386/README.txt rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/i386/README.txt diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/i386/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/i386/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/i386/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/i386/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/i386/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/i386/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/i386/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/i386/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/powerpc/README.txt b/helpers/DATA/linux-hwe-6.2/d-i/firmware/powerpc/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/powerpc/README.txt rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/powerpc/README.txt diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/powerpc/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/powerpc/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/powerpc/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/powerpc/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/powerpc/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/powerpc/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/powerpc/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/powerpc/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/ppc64el/README.txt b/helpers/DATA/linux-hwe-6.2/d-i/firmware/ppc64el/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/ppc64el/README.txt rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/ppc64el/README.txt diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/ppc64el/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/ppc64el/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/ppc64el/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/ppc64el/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/ppc64el/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/ppc64el/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/ppc64el/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/ppc64el/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/s390x/README.txt b/helpers/DATA/linux-hwe-6.2/d-i/firmware/s390x/README.txt similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/s390x/README.txt rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/s390x/README.txt diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/s390x/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/s390x/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/s390x/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/s390x/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/s390x/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/s390x/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/s390x/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/s390x/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/firmware/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/firmware/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/firmware/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.2/d-i/kernel-versions b/helpers/DATA/linux-hwe-6.2/d-i/kernel-versions new file mode 100644 index 0000000..6cd90ed --- /dev/null +++ b/helpers/DATA/linux-hwe-6.2/d-i/kernel-versions @@ -0,0 +1,16 @@ +# arch version flavour installedname suffix bdep +amd64 - generic - - - + +i386 - generic - - - + +armhf - generic - - - +armhf - generic-lpae - - - + +arm64 - generic - - - + +ppc64el - generic - - - + +s390x - generic - - - + +# Ports +# arch version flavour installedname suffix bdep diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/block-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/block-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/block-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/crc-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/crc-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/crc-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/crypto-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/crypto-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/fat-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/fat-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/fat-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/fb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/fb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/fb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/floppy-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/floppy-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/floppy-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/floppy-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/fs-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/fs-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/fs-secondary-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/fs-secondary-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/isofs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/isofs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/kernel-image b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/kernel-image rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/kernel-image diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/md-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/md-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/md-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/message-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/message-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/message-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/mouse-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/mouse-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/multipath-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/multipath-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/nic-shared-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/nic-shared-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/nic-wireless-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/nic-wireless-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/parport-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/parport-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/parport-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/scsi-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/scsi-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/serial-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/serial-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/serial-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/serial-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/storage-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/storage-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/usb-storage-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/usb-storage-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/virtio-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/virtio-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/vlan-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64-virtual/vlan-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64-virtual/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/block-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/block-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/block-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/crc-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/crc-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/crc-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/crypto-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/crypto-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/fat-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/fat-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/fat-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/fb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/fb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/fb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/firewire-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/firewire-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/firewire-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/firewire-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/floppy-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/floppy-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/floppy-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/floppy-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/fs-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/fs-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/fs-secondary-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/fs-secondary-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/i2c-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/i2c-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/i2c-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/i2c-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/input-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/input-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/input-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/input-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/ipmi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/ipmi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/ipmi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/ipmi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/isofs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/isofs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/kernel-image b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/kernel-image rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/kernel-image diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/md-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/md-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/md-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/message-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/message-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/message-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/mouse-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/mouse-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/mtd-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/mtd-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/mtd-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/mtd-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/multipath-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/multipath-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/nfs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/nfs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/nic-pcmcia-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/nic-pcmcia-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/nic-pcmcia-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/nic-pcmcia-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/nic-shared-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/nic-shared-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/nic-usb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/nic-usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/nic-usb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/nic-usb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/nic-wireless-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/nic-wireless-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/parport-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/parport-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/parport-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/pata-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/pata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/pata-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/pata-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/pcmcia-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/pcmcia-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/pcmcia-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/pcmcia-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/pcmcia-storage-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/pcmcia-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/pcmcia-storage-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/pcmcia-storage-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/plip-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/plip-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/plip-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/plip-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/ppp-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/ppp-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/ppp-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/ppp-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/sata-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/sata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/sata-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/sata-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/scsi-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/scsi-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/serial-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/serial-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/serial-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/serial-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/speakup-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/speakup-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/speakup-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/speakup-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/storage-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/storage-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/usb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/usb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/usb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/usb-storage-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/usb-storage-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/virtio-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/virtio-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/vlan-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/amd64/vlan-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/amd64/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/block-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/block-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/block-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/crc-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/crc-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/crc-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/crypto-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/crypto-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/fat-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/fat-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/fat-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/fb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/fb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/fb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/fs-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/fs-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/fs-secondary-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/fs-secondary-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/i2c-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/i2c-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/i2c-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/i2c-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/input-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/input-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/input-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/input-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/ipmi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/ipmi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/ipmi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/ipmi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/isofs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/isofs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/kernel-image b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/kernel-image rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/kernel-image diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/md-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/md-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/md-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/message-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/message-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/message-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/mouse-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/mouse-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/mtd-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/mtd-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/mtd-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/mtd-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/multipath-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/multipath-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/nfs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/nfs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/nic-shared-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/nic-shared-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/nic-usb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/nic-usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/nic-usb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/nic-usb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/nic-wireless-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/nic-wireless-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/parport-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/parport-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/parport-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/plip-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/plip-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/plip-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/plip-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/ppp-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/ppp-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/ppp-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/ppp-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/sata-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/sata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/sata-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/sata-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/scsi-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/scsi-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/speakup-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/speakup-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/speakup-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/speakup-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/storage-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/storage-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/usb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/usb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/usb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/usb-storage-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/usb-storage-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/virtio-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/virtio-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/vlan-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/arm64/vlan-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/arm64/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/block-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/block-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/block-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/crc-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/crc-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/crc-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/crypto-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/crypto-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/fat-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/fat-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/fat-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/fs-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/fs-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/fs-secondary-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/fs-secondary-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/i2c-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/i2c-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/i2c-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/i2c-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/input-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/input-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/input-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/input-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/ipmi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/ipmi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/ipmi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/ipmi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/isofs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/isofs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/kernel-image b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/kernel-image rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/kernel-image diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/md-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/md-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/md-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/mouse-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/mouse-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/mtd-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/mtd-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/mtd-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/mtd-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/multipath-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/multipath-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/nfs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/nfs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/nic-shared-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/nic-shared-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/nic-usb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/nic-usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/nic-usb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/nic-usb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/nic-wireless-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/nic-wireless-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/parport-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/parport-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/parport-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/plip-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/plip-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/plip-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/plip-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/ppp-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/ppp-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/ppp-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/ppp-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/sata-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/sata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/sata-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/sata-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/scsi-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/scsi-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/speakup-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/speakup-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/speakup-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/speakup-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/storage-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/storage-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/usb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/usb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/usb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/usb-storage-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/usb-storage-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/vlan-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/armhf/vlan-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/armhf/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/block-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/block-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/block-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/block-modules.powerpc b/helpers/DATA/linux-hwe-6.2/d-i/modules/block-modules.powerpc similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/block-modules.powerpc rename to helpers/DATA/linux-hwe-6.2/d-i/modules/block-modules.powerpc diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/crc-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/crc-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/crc-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/crypto-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/crypto-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/dasd-extra-modules.s390x b/helpers/DATA/linux-hwe-6.2/d-i/modules/dasd-extra-modules.s390x similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/dasd-extra-modules.s390x rename to helpers/DATA/linux-hwe-6.2/d-i/modules/dasd-extra-modules.s390x diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/dasd-modules.s390x b/helpers/DATA/linux-hwe-6.2/d-i/modules/dasd-modules.s390x similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/dasd-modules.s390x rename to helpers/DATA/linux-hwe-6.2/d-i/modules/dasd-modules.s390x diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/fat-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/fat-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/fat-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/fb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/fb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/fb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/firewire-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/firewire-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/firewire-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/firewire-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/floppy-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/floppy-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/floppy-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/floppy-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/fs-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/fs-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/fs-secondary-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/fs-secondary-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i2c-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i2c-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i2c-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i2c-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/block-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/block-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/block-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/crc-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/crc-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/crc-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/crypto-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/crypto-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/fat-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/fat-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/fat-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/fb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/fb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/fb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/floppy-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/floppy-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/floppy-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/floppy-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/fs-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/fs-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/fs-secondary-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/fs-secondary-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/isofs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/isofs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/kernel-image b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/kernel-image rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/kernel-image diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/md-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/md-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/md-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/message-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/message-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/message-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/mouse-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/mouse-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/multipath-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/multipath-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/nic-shared-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/nic-shared-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/nic-wireless-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/nic-wireless-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/parport-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/parport-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/parport-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/scsi-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/scsi-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/serial-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/serial-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/serial-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/serial-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/storage-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/storage-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/usb-storage-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/usb-storage-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/virtio-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/virtio-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/vlan-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386-virtual/vlan-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386-virtual/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/block-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/block-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/block-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/crc-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/crc-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/crc-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/crypto-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/crypto-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/fat-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/fat-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/fat-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/fb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/fb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/fb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/firewire-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/firewire-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/firewire-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/firewire-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/floppy-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/floppy-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/floppy-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/floppy-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/fs-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/fs-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/fs-secondary-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/fs-secondary-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/i2c-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/i2c-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/i2c-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/i2c-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/input-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/input-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/input-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/input-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/ipmi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/ipmi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/ipmi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/ipmi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/isofs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/isofs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/kernel-image b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/kernel-image rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/kernel-image diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/md-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/md-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/md-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/message-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/message-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/message-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/mouse-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/mouse-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/mtd-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/mtd-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/mtd-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/mtd-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/multipath-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/multipath-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/nfs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/nfs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/nic-pcmcia-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/nic-pcmcia-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/nic-pcmcia-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/nic-pcmcia-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/nic-shared-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/nic-shared-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/nic-usb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/nic-usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/nic-usb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/nic-usb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/nic-wireless-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/nic-wireless-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/parport-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/parport-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/parport-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/pata-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/pata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/pata-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/pata-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/pcmcia-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/pcmcia-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/pcmcia-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/pcmcia-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/pcmcia-storage-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/pcmcia-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/pcmcia-storage-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/pcmcia-storage-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/plip-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/plip-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/plip-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/plip-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/ppp-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/ppp-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/ppp-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/ppp-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/sata-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/sata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/sata-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/sata-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/scsi-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/scsi-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/serial-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/serial-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/serial-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/serial-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/speakup-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/speakup-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/speakup-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/speakup-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/storage-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/storage-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/usb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/usb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/usb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/usb-storage-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/usb-storage-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/virtio-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/virtio-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/vlan-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/i386/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/i386/vlan-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/i386/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/input-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/input-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/input-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/input-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ipmi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ipmi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ipmi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ipmi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/isofs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/isofs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/kernel-image b/helpers/DATA/linux-hwe-6.2/d-i/modules/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/kernel-image rename to helpers/DATA/linux-hwe-6.2/d-i/modules/kernel-image diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/md-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/md-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/md-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/message-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/message-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/message-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/message-modules.powerpc b/helpers/DATA/linux-hwe-6.2/d-i/modules/message-modules.powerpc similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/message-modules.powerpc rename to helpers/DATA/linux-hwe-6.2/d-i/modules/message-modules.powerpc diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/mouse-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/mouse-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/mouse-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/mouse-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/mtd-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/mtd-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/mtd-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/mtd-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/mtd-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/mtd-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/mtd-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/mtd-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/multipath-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/multipath-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nfs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nfs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nic-modules.powerpc b/helpers/DATA/linux-hwe-6.2/d-i/modules/nic-modules.powerpc similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nic-modules.powerpc rename to helpers/DATA/linux-hwe-6.2/d-i/modules/nic-modules.powerpc diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nic-pcmcia-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/nic-pcmcia-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nic-pcmcia-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/nic-pcmcia-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nic-shared-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nic-shared-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nic-usb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/nic-usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nic-usb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/nic-usb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nic-wireless-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/nic-wireless-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/parport-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/parport-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/parport-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/pata-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/pata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/pata-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/pata-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/pcmcia-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/pcmcia-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/pcmcia-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/pcmcia-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/pcmcia-storage-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/pcmcia-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/pcmcia-storage-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/pcmcia-storage-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/plip-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/plip-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/plip-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/plip-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/block-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/block-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/block-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/crc-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/crc-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/crc-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/crypto-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/crypto-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/fat-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/fat-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/fat-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/fb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/fb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/fb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/fb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/floppy-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/floppy-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/floppy-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/floppy-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/fs-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/fs-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/fs-secondary-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/fs-secondary-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/i2c-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/i2c-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/i2c-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/i2c-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/input-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/input-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/input-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/input-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/ipmi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/ipmi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/ipmi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/ipmi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/isofs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/isofs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/kernel-image b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/kernel-image rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/kernel-image diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/md-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/md-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/md-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/message-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/message-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/message-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/message-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/mtd-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/mtd-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/mtd-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/mtd-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/multipath-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/multipath-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/nfs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/nfs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/nic-shared-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/nic-shared-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/nic-usb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/nic-usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/nic-usb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/nic-usb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/nic-wireless-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/nic-wireless-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/nic-wireless-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/nic-wireless-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/parport-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/parport-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/parport-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/parport-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/plip-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/plip-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/plip-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/plip-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/ppp-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/ppp-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/ppp-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/ppp-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/sata-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/sata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/sata-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/sata-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/scsi-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/scsi-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/serial-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/serial-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/serial-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/serial-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/storage-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/storage-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/usb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/usb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/usb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/usb-storage-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/usb-storage-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/virtio-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/virtio-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/vlan-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppc64el/vlan-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppc64el/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppp-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/ppp-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/ppp-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/ppp-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/block-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/block-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/block-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/block-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/crc-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/crc-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/crc-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/crc-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/crypto-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/crypto-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/crypto-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/crypto-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/dasd-extra-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/dasd-extra-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/dasd-extra-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/dasd-extra-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/dasd-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/dasd-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/dasd-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/dasd-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/fat-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/fat-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/fat-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/fat-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/fs-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/fs-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/fs-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/fs-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/fs-secondary-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/fs-secondary-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/fs-secondary-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/fs-secondary-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/isofs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/isofs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/isofs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/isofs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/kernel-image b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/kernel-image similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/kernel-image rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/kernel-image diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/md-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/md-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/md-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/md-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/multipath-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/multipath-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/multipath-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/multipath-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/nfs-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/nfs-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/nfs-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/nfs-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/nic-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/nic-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/nic-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/nic-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/nic-shared-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/nic-shared-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/nic-shared-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/nic-shared-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/scsi-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/scsi-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/storage-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/storage-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/virtio-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/virtio-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/vlan-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/s390x/vlan-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/s390x/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/sata-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/sata-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/sata-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/sata-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/scsi-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/scsi-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/scsi-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/scsi-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/scsi-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/scsi-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/scsi-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/scsi-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/scsi-modules.powerpc b/helpers/DATA/linux-hwe-6.2/d-i/modules/scsi-modules.powerpc similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/scsi-modules.powerpc rename to helpers/DATA/linux-hwe-6.2/d-i/modules/scsi-modules.powerpc diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/serial-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/serial-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/serial-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/serial-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/speakup-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/speakup-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/speakup-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/speakup-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/storage-core-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/storage-core-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/storage-core-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/storage-core-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/storage-core-modules.powerpc b/helpers/DATA/linux-hwe-6.2/d-i/modules/storage-core-modules.powerpc similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/storage-core-modules.powerpc rename to helpers/DATA/linux-hwe-6.2/d-i/modules/storage-core-modules.powerpc diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/usb-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/usb-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/usb-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/usb-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/usb-storage-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/usb-storage-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/usb-storage-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/usb-storage-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/virtio-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/virtio-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/virtio-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/virtio-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/vlan-modules b/helpers/DATA/linux-hwe-6.2/d-i/modules/vlan-modules similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/modules/vlan-modules rename to helpers/DATA/linux-hwe-6.2/d-i/modules/vlan-modules diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/package-list b/helpers/DATA/linux-hwe-6.2/d-i/package-list similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/package-list rename to helpers/DATA/linux-hwe-6.2/d-i/package-list diff --git a/helpers/DATA/linux-hwe-6.14/deblob-6.14 b/helpers/DATA/linux-hwe-6.2/deblob-6.2 similarity index 82% rename from helpers/DATA/linux-hwe-6.14/deblob-6.14 rename to helpers/DATA/linux-hwe-6.2/deblob-6.2 index 8da1da5..7406b62 100644 --- a/helpers/DATA/linux-hwe-6.14/deblob-6.14 +++ b/helpers/DATA/linux-hwe-6.2/deblob-6.2 @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 2008-2025 Alexandre Oliva +# Copyright (C) 2008-2023 Alexandre Oliva # Copyright (C) 2008 Jeff Moe # Copyright (C) 2009 Rubén Rodríguez # @@ -19,7 +19,8 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see . +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # deblob - remove non-free blobs from the vanilla linux kernel @@ -47,7 +48,7 @@ # For each kver release, start extra with an empty string, then count # from 1 if changes are needed that require rebuilding the tarball. -kver=6.14 extra= +kver=6.2 extra= case $1 in --force) @@ -184,7 +185,7 @@ reject_firmware () { filetest $1 || return 0 clean_sed "$2"' s,\(^\|[^>.0-9a-zA-Z_$]\)\(request\(_ihex\|\(_partial\)\)\?_firmware\|firmware_request_platform\)\(_nowait\|_direct\|_into_buf\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1reject\4_firmware\5\6,g -s,\(^\|[^>.0-9a-zA-Z_$]\)firmware_request_\(\(nowait_\)\?nowarn\|builtin\)\($\|[^-.0-9a-zA-Z_$),; ]\),\1firmware_reject_\2\4,g +s,\(^\|[^>.0-9a-zA-Z_$]\)firmware_request_\(nowarn\|builtin\)\($\|[^-.0-9a-zA-Z_$),; ]\),\1firmware_reject_\2\3,g ' "$1" 'disabled non-Free firmware-loading machinery' } @@ -193,7 +194,6 @@ maybe_reject_firmware () { filetest $1 || return 0 clean_sed "$2"' s,\(^\|[^>.0-9a-zA-Z_$]\)request_\(ihex_\|partial_\)\?firmware\(_nowait\|_direct\|_into_buf\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1maybe_reject_\2firmware\3\4,g -s,\(^\|[^>.0-9a-zA-Z_$]\)firmware_request_\(\(nowait_\)\?nowarn\|builtin\)\($\|[^-.0-9a-zA-Z_$),; ]\),\1maybe_firmware_reject_\2\4,g ' "$1" 'retain Free firmware-loading machinery, disabling non-Free one' } @@ -229,15 +229,6 @@ for f in \ drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm \ `: sources for gfx11 are in ..._gfx10.asm` \ drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h \ -\ - drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2_cleaner_shader.asm \ - drivers/gpu/drm/amd/amdgpu/gfx_v9_0_cleaner_shader.h \ - drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3_cleaner_shader.asm \ - drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3_cleaner_shader.h \ - drivers/gpu/drm/amd/amdgpu/gfx_v10_3_0_cleaner_shader.asm \ - drivers/gpu/drm/amd/amdgpu/gfx_v10_0_cleaner_shader.h \ - drivers/gpu/drm/amd/amdgpu/gfx_v11_0_3_cleaner_shader.asm \ - drivers/gpu/drm/amd/amdgpu/gfx_v11_0_cleaner_shader.h \ \ drivers/gpu/drm/i915/gt/shaders/README \ drivers/gpu/drm/i915/gt/shaders/clear_kernel/hsw.asm \ @@ -303,6 +294,8 @@ for f in \ \ drivers/net/wan/wanxlfw.inc_shipped \ drivers/net/wan/wanxlfw.S \ + drivers/net/wireless/atmel/atmel.c \ + drivers/net/wireless/atmel/atmel.c \ drivers/scsi/aic7xxx/aic79xx_seq.h_shipped \ drivers/scsi/aic7xxx/aic79xx.seq \ drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped \ @@ -314,13 +307,8 @@ for f in \ drivers/scsi/sym53c8xx_2/sym_fw2.h \ drivers/scsi/sym53c8xx_2/sym_fw2.h \ \ - kernel/bpf/preload/iterators/iterators.lskel-little-endian.h \ + kernel/bpf/preload/iterators/iterators.lskel.h \ kernel/bpf/preload/iterators/iterators.bpf.c \ - kernel/bpf/preload/iterators/iterators.lskel-big-endian.h \ - kernel/bpf/preload/iterators/iterators.bpf.c \ -\ - tools/testing/selftests/tc-testing/action-ebpf \ - tools/testing/selftests/tc-testing/action.c \ ; do filetest $f || : done @@ -410,56 +398,44 @@ clean_sed ' s,Linux kernel,GNU Linux-libre, ' scripts/package/mkdebian 'kernel name' +clean_sed ' +s,https://www\..*linux/kernel$,https://linux-libre.fsfla.org/, +' scripts/package/mkdebian 'sources' + clean_sed ' s,https\?://www\.kernel\.org/,https://linux-libre.fsfla.org/, ' scripts/package/mkdebian 'home page' -clean_sed ' -s,upstream ,, -' scripts/package/debian/copyright 'nothing is upstream of itself' - -clean_sed ' -s,\(the \)*Linux kernel,GNU Linux-libre, -' scripts/package/debian/copyright 'kernel name' - -clean_sed ' -s,Linux archive,GNU Linux-libre archive, -' scripts/package/debian/copyright 'archive' - -clean_sed ' -s,https://www\..*linux/kernel$,https://linux-libre.fsfla.org/, -' scripts/package/debian/copyright 'sources' - clean_sed ' s,git://git\..*torvalds/linux\.git,/*(DEBLOBBED)*/, -' scripts/package/debian/copyright 'upstream development repo' +' scripts/package/mkdebian 'upstream development repo' # The tarball name and its expansion do not include -libre. # We could change KERNELPATH and keep this, but what else would break? # Enabling this would require the other commented-out mkspec bits below. # clean_sed ' # s,Name: kernel,&-libre, -# ' scripts/package/kernel.spec 'package name' +# ' scripts/package/mkspec 'package name' clean_sed ' s,The Linux,The GNU Linux-libre, -' scripts/package/kernel.spec 'package summary' +' scripts/package/mkspec 'package summary' clean_sed ' s,Linux kernel,GNU Linux-libre, -' scripts/package/kernel.spec 'kernel name' +' scripts/package/mkspec 'kernel name' clean_sed ' s,https\?://www\.kernel\.org,https://linux-libre.fsfla.org, -' scripts/package/kernel.spec 'home page' +' scripts/package/mkspec 'home page' # clean_sed ' # s,\(%description\) -n kernel-,\1 , -# ' scripts/package/kernel.spec '-libre subpackages' +# ' scripts/package/mkspec '-libre subpackages' # clean_sed ' # /Provides: kernel-/{p;s,kernel-,&libre-,;} -# ' scripts/package/kernel.spec '-libre provides' +# ' scripts/package/mkspec '-libre provides' # As with rpms, we leave the package name as kernel. clean_sed ' @@ -470,12 +446,16 @@ clean_sed ' s,Linux kernel,GNU Linux-libre, ' scripts/package/snapcraft.template 'summary' +clean_sed ' +s,linux-upstream,linux-libre, +' scripts/Makefile.package 'libre, not upstream' + # We replace several blob name s[n]printf format strings # with "/*(DEBLOBBED)*/", counting on extra args to be ignored. # These are warned about, but -Werror turns them into errors. clean_sed ' s, -Werror$, -Werror -Wno-error=format-extra-args -Wno-error=comment -Wno-error=unused-function -Wno-error=unused-variable, -' scripts/Makefile.extrawarn 'avoid compile failures at /*(DEBLOBBED)*/ warnings' +' Makefile 'avoid compile failures at /*(DEBLOBBED)*/ warnings' # Add reject_firmware and maybe_reject_firmware grep -q _LINUX_LIBRE_FIRMWARE_H include/linux/firmware.h || @@ -556,32 +536,7 @@ reject_firmware_direct(const struct firmware **fw,\ return retval;\ }\ static inline int\ -firmware_reject_nowait_nowarn(struct module *module,\ - const char *name, struct device *device,\ - gfp_t gfp, void *context,\ - void (*cont)(const struct firmware *fw,\ - void *context))\ -{\ - /* We assume NONFREE_FIRMWARE will not be found; how could it? */\ - return firmware_request_nowait_nowarn(module, NONFREE_FIRMWARE,\ - device, gfp, context, cont);\ -}\ -static inline int\ -maybe_firmware_reject_nowait_nowarn(struct module *module,\ - const char *name, struct device *device,\ - gfp_t gfp, void *context,\ - void (*cont)(const struct firmware *fw,\ - void *context))\ -{\ - if (is_nonfree_firmware(name))\ - return firmware_reject_nowait_nowarn(module, name, device,\ - gfp, context, cont);\ - else\ - return firmware_request_nowait_nowarn(module, name, device,\ - gfp, context, cont);\ -}\ -static inline int\ -reject_firmware_nowait(struct module *module, bool uevent,\ +reject_firmware_nowait(struct module *module, int uevent,\ const char *name, struct device *device,\ gfp_t gfp, void *context,\ void (*cont)(const struct firmware *fw,\ @@ -593,7 +548,7 @@ reject_firmware_nowait(struct module *module, bool uevent,\ device, gfp, context, cont);\ }\ static inline int\ -maybe_reject_firmware_nowait(struct module *module, bool uevent,\ +maybe_reject_firmware_nowait(struct module *module, int uevent,\ const char *name, struct device *device,\ gfp_t gfp, void *context,\ void (*cont)(const struct firmware *fw,\ @@ -687,13 +642,20 @@ s,\(timeout = \)\(firmware_loading_timeout()\),\1is_nonfree_firmware(name) ? 1 : # x86 -announce MICROCODE - "CPU microcode loading support" -reject_firmware arch/x86/kernel/cpu/microcode/intel.c +announce MICROCODE_AMD - "AMD microcode patch loading support" reject_firmware arch/x86/kernel/cpu/microcode/amd.c -clean_blob arch/x86/kernel/cpu/microcode/intel.c clean_blob arch/x86/kernel/cpu/microcode/amd.c -clean_blob arch/x86/kernel/cpu/amd.c -clean_blob Documentation/arch/x86/microcode.rst +clean_kconfig arch/x86/Kconfig MICROCODE_AMD +clean_mk CONFIG_MICROCODE_AMD arch/x86/kernel/cpu/microcode/Makefile + +announce MICROCODE_INTEL - "Intel microcode patch loading support" +reject_firmware arch/x86/kernel/cpu/microcode/intel.c +clean_blob arch/x86/kernel/cpu/microcode/intel.c +clean_kconfig arch/x86/Kconfig MICROCODE_INTEL +clean_mk CONFIG_MICROCODE_INTEL arch/x86/kernel/cpu/microcode/Makefile + +announce MICROCODE - "CPU microcode loading support" +clean_blob Documentation/x86/microcode.rst clean_kconfig arch/x86/Kconfig MICROCODE clean_mk CONFIG_MICROCODE arch/x86/kernel/cpu/Makefile @@ -706,7 +668,6 @@ clean_mk CONFIG_X86_LOCAL_APIC arch/x86/kernel/apic/Makefile # Do no recommend non-Free microcode update. announce CPU_SUP_INTEL - "Support Intel processors" clean_blob arch/x86/events/intel/core.c -clean_blob Documentation/admin-guide/hw-vuln/indirect-target-selection.rst clean_kconfig arch/x86/Kconfig.cpu CPU_SUP_INTEL clean_mk CONFIG_CPU_SUP_INTEL arch/x86/events/intel/Makefile @@ -721,18 +682,18 @@ clean_mk CONFIG_SENSORS_CORETEMP drivers/hwmon/Makefile announce IXP4XX_NPE - "IXP4xx Network Processor Engine support" reject_firmware drivers/soc/ixp4xx/ixp4xx-npe.c clean_blob drivers/soc/ixp4xx/ixp4xx-npe.c -clean_blob Documentation/arch/arm/ixp4xx.rst +clean_blob Documentation/arm/ixp4xx.rst clean_kconfig drivers/soc/ixp4xx/Kconfig IXP4XX_NPE clean_mk CONFIG_IXP4XX_NPE drivers/soc/ixp4xx/Makefile announce MACH_SUN8I - "Allwinner sun8i Family SoCs support" -clean_blob arch/arm/boot/dts/allwinner/sun8i-a23-gt90h-v4.dts -clean_blob arch/arm/boot/dts/allwinner/sun8i-a23-inet86dz.dts -clean_blob arch/arm/boot/dts/allwinner/sun8i-a23-polaroid-mid2407pxe03.dts -clean_blob arch/arm/boot/dts/allwinner/sun8i-a23-polaroid-mid2809pxe04.dts -clean_blob arch/arm/boot/dts/allwinner/sun8i-a33-ga10h-v1.1.dts +clean_blob arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts +clean_blob arch/arm/boot/dts/sun8i-a23-inet86dz.dts +clean_blob arch/arm/boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts +clean_blob arch/arm/boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts +clean_blob arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts clean_kconfig arch/arm/mach-sunxi/Kconfig MACH_SUN8I -clean_mk CONFIG_MACH_SUN8I arch/arm/boot/dts/allwinner/Makefile +clean_mk CONFIG_MACH_SUN8I arch/arm/boot/dts/Makefile # ppc @@ -753,12 +714,6 @@ clean_kconfig arch/powerpc/platforms/8xx/Kconfig I2C_SPI_SMC1_UCODE_PATCH announce SMC_UCODE_PATCH - "SMC relocation patch" clean_kconfig arch/powerpc/platforms/8xx/Kconfig SMC_UCODE_PATCH -announce CPM_QMC - "CPM/QE QMC support" -reject_firmware drivers/soc/fsl/qe/qmc.c -clean_blob Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-ucc-qmc.yaml -clean_kconfig drivers/soc/fsl/qe/Kconfig CPM_QMC -clean_mk CONFIG_CPM_QMC drivers/soc/fsl/qe/Makefile - ####### # ATM # ####### @@ -768,6 +723,7 @@ reject_firmware drivers/atm/fore200e.c clean_blob drivers/atm/fore200e.c clean_blob Documentation/networking/device_drivers/atm/fore200e.rst clean_blob drivers/atm/.gitignore +clean_blob Documentation/dontdiff clean_kconfig drivers/atm/Kconfig ATM_FORE200E clean_mk CONFIG_ATM_FORE200E drivers/atm/Makefile @@ -818,39 +774,33 @@ clean_kconfig drivers/crypto/marvell/Kconfig CRYPTO_DEV_OCTEONTX2_CPT clean_mk CONFIG_CRYPTO_DEV_OCTEONTX2_CPT drivers/crypto/marvell/octeontx2/Makefile announce CRYPTO_DEV_QAT_DH895xCC - "Support for Intel(R) DH895xCC" -clean_blob drivers/crypto/intel/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h -clean_blob drivers/crypto/intel/qat/qat_dh895xcc/adf_drv.c -clean_kconfig drivers/crypto/intel/qat/Kconfig CRYPTO_DEV_QAT_DH895xCC -clean_mk CONFIG_CRYPTO_DEV_QAT_DH895xCC drivers/crypto/intel/qat/Makefile +clean_blob drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h +clean_blob drivers/crypto/qat/qat_dh895xcc/adf_drv.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_DH895xCC +clean_mk CONFIG_CRYPTO_DEV_QAT_DH895xCC drivers/crypto/qat/Makefile announce CRYPTO_DEV_QAT - "Common bits for Intel(R) QuickAssist Technology" -reject_firmware drivers/crypto/intel/qat/qat_common/adf_accel_engine.c -clean_kconfig drivers/crypto/intel/qat/Kconfig CRYPTO_DEV_QAT -clean_mk CONFIG_CRYPTO_DEV_QAT drivers/crypto/intel/qat/Makefile +reject_firmware drivers/crypto/qat/qat_common/adf_accel_engine.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT +clean_mk CONFIG_CRYPTO_DEV_QAT drivers/crypto/qat/Makefile announce CRYPTO_DEV_QAT_C3XXX - "Support for Intel(R) C3XXX" -clean_blob drivers/crypto/intel/qat/qat_c3xxx/adf_c3xxx_hw_data.h -clean_blob drivers/crypto/intel/qat/qat_c3xxx/adf_drv.c -clean_kconfig drivers/crypto/intel/qat/Kconfig CRYPTO_DEV_QAT_C3XXX -clean_mk CONFIG_CRYPTO_DEV_QAT_C3XXX drivers/crypto/intel/qat/Makefile +clean_blob drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h +clean_blob drivers/crypto/qat/qat_c3xxx/adf_drv.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_C3XXX +clean_mk CONFIG_CRYPTO_DEV_QAT_C3XXX drivers/crypto/qat/Makefile announce CRYPTO_DEV_QAT_C62X - "Support for Intel(R) C62X" -clean_blob drivers/crypto/intel/qat/qat_c62x/adf_c62x_hw_data.h -clean_blob drivers/crypto/intel/qat/qat_c62x/adf_drv.c -clean_kconfig drivers/crypto/intel/qat/Kconfig CRYPTO_DEV_QAT_C62X -clean_mk CONFIG_CRYPTO_DEV_QAT_C62X drivers/crypto/intel/qat/Makefile +clean_blob drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.h +clean_blob drivers/crypto/qat/qat_c62x/adf_drv.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_C62X +clean_mk CONFIG_CRYPTO_DEV_QAT_C62X drivers/crypto/qat/Makefile announce CRYPTO_DEV_QAT_4XXX - "Support for Intel(R) QAT_4XXX" -clean_blob drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.h -clean_blob drivers/crypto/intel/qat/qat_4xxx/adf_drv.c -clean_kconfig drivers/crypto/intel/qat/Kconfig CRYPTO_DEV_QAT_4XXX -clean_mk CONFIG_CRYPTO_DEV_QAT_4XXX drivers/crypto/intel/qat/Makefile - -announce CRYPTO_DEV_QAT_420XX - "Support for Intel(R) QAT_420XX" -clean_blob drivers/crypto/intel/qat/qat_420xx/adf_420xx_hw_data.h -clean_blob drivers/crypto/intel/qat/qat_420xx/adf_drv.c -clean_kconfig drivers/crypto/intel/qat/Kconfig CRYPTO_DEV_QAT_420XX -clean_mk CONFIG_CRYPTO_DEV_QAT_420XX drivers/crypto/intel/qat/Makefile +clean_blob drivers/crypto/qat/qat_4xxx/adf_4xxx_hw_data.h +clean_blob drivers/crypto/qat/qat_4xxx/adf_drv.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_4XXX +clean_mk CONFIG_CRYPTO_DEV_QAT_4XXX drivers/crypto/qat/Makefile announce AMDTEE - "AMD's Trusted Execution Environment (TEE)" reject_firmware drivers/tee/amdtee/core.c @@ -858,12 +808,6 @@ clean_blob drivers/tee/amdtee/core.c clean_kconfig drivers/tee/amdtee/Kconfig AMDTEE clean_mk CONFIG_AMDTEE drivers/tee/amdtee/Makefile -announce OPTEE_INSECURE_LOAD_IMAGE - "Load OP-TEE image as firmware" -reject_firmware drivers/tee/optee/smc_abi.c -clean_blob drivers/tee/optee/smc_abi.c -clean_blob drivers/tee/optee/optee_smc.h -clean_kconfig drivers/tee/optee/Kconfig OPTEE_INSECURE_LOAD_IMAGE - ######## # tty # ######## @@ -883,81 +827,90 @@ clean_kconfig drivers/gpu/drm/display/Kconfig DRM_DISPLAY_HDCP_HELPER clean_mk CONFIG_DRM_DISPLAY_HDCP_HELPER drivers/gpu/drm/display/Makefile announce DRM_AMDGPU - "AMD GPU" +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c -clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c -if grep -q gfx_10_1_10_cleaner_shader drivers/gpu/drm/amd/amdgpu/gfx_v10_0_cleaner_shader.h; then - # Added in 6.14.9. - for f in \ - drivers/gpu/drm/amd/amdgpu/gfx_v10_1_10_cleaner_shader.asm \ - drivers/gpu/drm/amd/amdgpu/gfx_v10_0_cleaner_shader.h \ - ; do - filetest $f || : - done -fi reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c -clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/imu_v11_0.c clean_blob drivers/gpu/drm/amd/amdgpu/imu_v11_0.c -clean_blob drivers/gpu/drm/amd/amdgpu/imu_v12_0.c +if grep -q request_firmware drivers/gpu/drm/amd/amdgpu/mes_v10_1.c; then + reject_firmware drivers/gpu/drm/amd/amdgpu/mes_v10_1.c +fi +if grep -q request_firmware drivers/gpu/drm/amd/amdgpu/mes_v11_0.c; then + reject_firmware drivers/gpu/drm/amd/amdgpu/mes_v11_0.c +fi +if grep -q amdgpu_mes_init_microcode drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c; then + clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c +fi +clean_blob drivers/gpu/drm/amd/amdgpu/mes_v10_1.c clean_blob drivers/gpu/drm/amd/amdgpu/mes_v11_0.c -clean_blob drivers/gpu/drm/amd/amdgpu/mes_v12_0.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v3_1.c +reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v10_0.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v10_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v11_0.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v11_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v12_0.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v12_0.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v13_0.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v13_0_4.c -clean_blob drivers/gpu/drm/amd/amdgpu/psp_v14_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c -clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c -clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_device.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c clean_blob drivers/gpu/drm/amd/pm/powerplay/smumgr/smumgr.c +reject_firmware drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c clean_blob drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c +reject_firmware drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c clean_blob drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c -clean_blob drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c -clean_blob drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c +reject_firmware drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c clean_blob drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c -clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c -clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c -reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c -clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c -clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c -clean_blob drivers/gpu/drm/amd/amdgpu/vpe_v6_1.c +if grep -q request_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c; then + reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c +fi clean_kconfig drivers/gpu/drm/amd/amdgpu/Kconfig DRM_AMDGPU clean_mk CONFIG_DRM_AMDGPU drivers/gpu/drm/amd/amdgpu/Makefile announce DRM_AMDGPU_CIK - "Enable amdgpu support for CIK parts" +reject_firmware drivers/gpu/drm/amd/amdgpu/cik_sdma.c clean_blob drivers/gpu/drm/amd/amdgpu/cik_sdma.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c clean_kconfig drivers/gpu/drm/amd/amdgpu/Kconfig DRM_AMDGPU_CIK clean_mk CONFIG_DRM_AMDGPU_CIK drivers/gpu/drm/amd/amdgpu/Makefile -announce DRM_AMD_ISP - "Enable AMD Image Signal Processor IP support" -clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_isp.c -clean_kconfig drivers/gpu/drm/amd/amdgpu/Kconfig DRM_AMD_ISP -clean_mk CONFIG_DRM_AMD_ISP drivers/gpu/drm/amd/amdgpu/Makefile - announce DRM_AMDGPU_SI - "Enable amdgpu support for SI parts" +reject_firmware drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c clean_blob drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c clean_kconfig drivers/gpu/drm/amd/amdgpu/Kconfig DRM_AMDGPU_SI clean_mk CONFIG_DRM_AMDGPU_SI drivers/gpu/drm/amd/amdgpu/Makefile @@ -976,31 +929,17 @@ clean_kconfig drivers/gpu/drm/bridge/cadence/Kconfig DRM_CDNS_MHDP8546 clean_mk CONFIG_DRM_CDNS_MHDP8546 drivers/gpu/drm/bridge/cadence/Makefile announce DRM_I915 - "Intel 8xx/9xx/G3x/G4x/HD Graphics" -reject_firmware drivers/gpu/drm/i915/display/intel_bios.c reject_firmware drivers/gpu/drm/i915/display/intel_dmc.c clean_blob drivers/gpu/drm/i915/display/intel_dmc.c +reject_firmware drivers/gpu/drm/i915/display/intel_opregion.c reject_firmware drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c clean_sed '/uc_fw->file_selected\.path = blob->path/ i\ - /* If the compiler unifies string literals, as expected,\ - do not bother with strcmp. */\ - else if ((char const *)NONFREE_FIRMWARE == (char const *)NONFREE_FIRMWARE\ - ? blob->path == (char const *)NONFREE_FIRMWARE\ - : !strcmp (blob->path, NONFREE_FIRMWARE))\ - /* Never select an entry we would refuse to load.\ - If we find nothing, loading is disabled but the card\ - initialization proceeds as if the user had disabled\ - firmware, but if we found something that failed to load,\ - initialization would fail. */\ + else if (uc_fw->file_wanted.path == blob->path)\ + /* Avoid retrying forever when neighbor\ + entries point to the same path. */\ continue;\ -' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 'disable non-Free firmware' -clean_sed '/Versionless file names must be unique/ i\ - /* If the compiler unifies string literals, as expected,\ - do not bother with strcmp. */\ - if ((char const *)NONFREE_FIRMWARE == (char const *)NONFREE_FIRMWARE\ - ? fw_blobs[i].blob.path != (char const *)NONFREE_FIRMWARE\ - : strcmp (fw_blobs[i].blob.path, NONFREE_FIRMWARE)) -' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 'avoid validation fails' +' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 'avoid infinite loop' clean_blob drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c clean_blob drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h clean_kconfig drivers/gpu/drm/i915/Kconfig DRM_I915 @@ -1052,43 +991,36 @@ clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/fb/ga102.c clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp102.c clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/fb/gv100.c clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/fb/tu102.c -clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c clean_kconfig drivers/gpu/drm/nouveau/Kconfig DRM_NOUVEAU clean_mk CONFIG_DRM_NOUVEAU drivers/gpu/drm/Makefile +announce DRM_MGA - "Matrox g200/g400" +reject_firmware drivers/gpu/drm/mga/mga_warp.c +clean_blob drivers/gpu/drm/mga/mga_warp.c +clean_kconfig drivers/gpu/drm/Kconfig DRM_MGA +clean_mk CONFIG_DRM_MGA drivers/gpu/drm/Makefile + announce DRM_MSM - "MSM DRM" reject_firmware drivers/gpu/drm/msm/adreno/adreno_gpu.c -clean_blob drivers/gpu/drm/msm/adreno/a2xx_catalog.c -clean_blob drivers/gpu/drm/msm/adreno/a3xx_catalog.c -clean_blob drivers/gpu/drm/msm/adreno/a4xx_catalog.c -clean_blob drivers/gpu/drm/msm/adreno/a5xx_catalog.c -clean_blob drivers/gpu/drm/msm/adreno/a6xx_catalog.c +clean_blob drivers/gpu/drm/msm/adreno/adreno_device.c clean_blob drivers/gpu/drm/msm/adreno/a6xx_gpu.c -clean_blob drivers/gpu/drm/msm/registers/adreno/adreno_pm4.xml clean_kconfig drivers/gpu/drm/msm/Kconfig DRM_MSM clean_mk CONFIG_DRM_MSM drivers/gpu/drm/msm/Makefile +announce DRM_R128 - "ATI Rage 128" +reject_firmware drivers/gpu/drm/r128/r128_cce.c +clean_blob drivers/gpu/drm/r128/r128_cce.c +clean_kconfig drivers/gpu/drm/Kconfig DRM_R128 +clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile + announce DRM_PANEL_MIPI_DBI - "DRM support for MIPI DBI compatible panels" reject_firmware drivers/gpu/drm/tiny/panel-mipi-dbi.c clean_blob drivers/gpu/drm/tiny/panel-mipi-dbi.c clean_kconfig drivers/gpu/drm/tiny/Kconfig DRM_PANEL_MIPI_DBI clean_mk CONFIG_DRM_PANEL_MIPI_DBI drivers/gpu/drm/tiny/Makefile -announce DRM_PANTHOR - "Panthor (DRM support for ARM Mali CSF-based GPUs)" -reject_firmware drivers/gpu/drm/panthor/panthor_fw.c -clean_blob drivers/gpu/drm/panthor/panthor_fw.c -clean_kconfig drivers/gpu/drm/panthor/Kconfig DRM_PANTHOR -clean_mk CONFIG_DRM_PANTHOR drivers/gpu/drm/panthor/Makefile - -announce DRM_POWERVR - "Imagination Technologies PowerVR (Series 6 and later) & IMG Graphics" -reject_firmware drivers/gpu/drm/imagination/pvr_device.c -clean_blob drivers/gpu/drm/imagination/pvr_device.c -clean_blob drivers/gpu/drm/imagination/pvr_drv.c -clean_kconfig drivers/gpu/drm/imagination/Kconfig DRM_POWERVR -clean_mk CONFIG_DRM_POWERVR drivers/gpu/drm/imagination/Makefile - announce DRM_RADEON - "ATI Radeon" reject_firmware drivers/gpu/drm/radeon/r100.c clean_blob drivers/gpu/drm/radeon/r100.c @@ -1149,13 +1081,6 @@ clean_blob drivers/gpu/drm/tegra/vic.c clean_kconfig drivers/gpu/drm/tegra/Kconfig DRM_TEGRA clean_mk CONFIG_DRM_TEGRA drivers/gpu/drm/tegra/Makefile -announce DRM_XE - "Intel Xe Graphics" -reject_firmware drivers/gpu/drm/xe/xe_uc_fw.c -clean_blob drivers/gpu/drm/xe/xe_uc_fw.c -clean_blob drivers/gpu/drm/xe/xe_uc_fw.h -clean_kconfig drivers/gpu/drm/xe/Kconfig DRM_XE -clean_mk CONFIG_DRM_XE drivers/gpu/drm/xe/Makefile - ####### # dma # ####### @@ -1163,27 +1088,25 @@ clean_mk CONFIG_DRM_XE drivers/gpu/drm/xe/Makefile announce IMX_SDMA - "i.MX SDMA support" reject_firmware drivers/dma/imx-sdma.c clean_blob drivers/dma/imx-sdma.c -clean_blob arch/arm/boot/dts/nxp/imx/imx25.dtsi -clean_blob arch/arm/boot/dts/nxp/imx/imx31.dtsi -clean_blob arch/arm/boot/dts/nxp/imx/imx35.dtsi -clean_blob arch/arm/boot/dts/nxp/imx/imx50.dtsi -clean_blob arch/arm/boot/dts/nxp/imx/imx51.dtsi -clean_blob arch/arm/boot/dts/nxp/imx/imx53.dtsi -clean_blob arch/arm/boot/dts/nxp/imx/imx53-tx53.dtsi -clean_blob arch/arm/boot/dts/nxp/imx/imx6qdl.dtsi -clean_blob arch/arm/boot/dts/nxp/imx/imx6sl.dtsi -clean_blob arch/arm/boot/dts/nxp/imx/imx6sll.dtsi -clean_blob arch/arm/boot/dts/nxp/imx/imx6sx.dtsi -clean_blob arch/arm/boot/dts/nxp/imx/imx6ul.dtsi -clean_blob arch/arm/boot/dts/nxp/imx/imx7s.dtsi +clean_blob arch/arm/boot/dts/imx25.dtsi +clean_blob arch/arm/boot/dts/imx31.dtsi +clean_blob arch/arm/boot/dts/imx35.dtsi +clean_blob arch/arm/boot/dts/imx50.dtsi +clean_blob arch/arm/boot/dts/imx51.dtsi +clean_blob arch/arm/boot/dts/imx53.dtsi +clean_blob arch/arm/boot/dts/imx53-tx53.dtsi +clean_blob arch/arm/boot/dts/imx6qdl.dtsi +clean_blob arch/arm/boot/dts/imx6sl.dtsi +clean_blob arch/arm/boot/dts/imx6sll.dtsi +clean_blob arch/arm/boot/dts/imx6sx.dtsi +clean_blob arch/arm/boot/dts/imx6ul.dtsi +clean_blob arch/arm/boot/dts/imx7s.dtsi clean_blob arch/arm64/boot/dts/freescale/imx8mm.dtsi clean_blob arch/arm64/boot/dts/freescale/imx8mn.dtsi clean_blob arch/arm64/boot/dts/freescale/imx8mp.dtsi clean_blob arch/arm64/boot/dts/freescale/imx8mq.dtsi -clean_blob arch/arm64/boot/dts/freescale/imx8qm.dtsi -clean_blob Documentation/devicetree/bindings/dma/fsl,imx-sdma.yaml +clean_blob Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt clean_blob Documentation/devicetree/bindings/dsp/fsl,dsp.yaml -clean_blob arch/arm64/boot/dts/freescale/imx8-ss-audio.dtsi clean_kconfig drivers/dma/Kconfig IMX_SDMA clean_mk CONFIG_IMX_SDMA drivers/dma/Makefile @@ -1224,6 +1147,11 @@ clean_blob drivers/media/tuners/xc2028.c clean_kconfig drivers/media/tuners/Kconfig MEDIA_TUNER_XC2028 clean_mk CONFIG_MEDIA_TUNER_XC2028 drivers/media/tuners/Makefile +announce VIDEO_TM6000_DVB - "DVB Support for tm6000 based TV cards" +clean_blob drivers/staging/media/deprecated/tm6000/tm6000-cards.c +clean_kconfig drivers/staging/media/deprecated/tm6000/Kconfig VIDEO_TM6000_DVB +clean_mk CONFIG_VIDEO_TM6000_DVB drivers/staging/media/deprecated/tm6000/Makefile + announce MEDIA_TUNER_XC4000 - "Xceive XC4000 silicon tuner" undefine_macro "XC4000_DEFAULT_FIRMWARE\(\|_NEW\)" "\"/*(DEBLOBBED)*/\"" \ "disabled non-Free firmware" drivers/media/tuners/xc4000.c @@ -1499,10 +1427,10 @@ clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_SI2168 clean_mk CONFIG_DVB_SI2168 drivers/media/dvb-frontends/Makefile announce DVB_SP8870 - "Spase sp8870" -undefault_firmware 'SP8870' drivers/staging/media/av7110/sp8870.c -clean_blob drivers/staging/media/av7110/sp8870.c -clean_kconfig drivers/staging/media/av7110/Kconfig DVB_SP8870 -clean_mk CONFIG_DVB_SP8870 drivers/staging/media/av7110/Makefile +undefault_firmware 'SP8870' drivers/staging/media/deprecated/saa7146/av7110/sp8870.c +clean_blob drivers/staging/media/deprecated/saa7146/av7110/sp8870.c +clean_kconfig drivers/staging/media/deprecated/saa7146/av7110/Kconfig DVB_SP8870 +clean_mk CONFIG_DVB_SP8870 drivers/staging/media/deprecated/saa7146/av7110/Makefile announce DVB_SP887X - "Spase sp887x based" undefault_firmware 'SP887X' drivers/media/dvb-frontends/sp887x.c @@ -1540,19 +1468,19 @@ clean_kconfig drivers/media/usb/as102/Kconfig DVB_AS102 clean_mk CONFIG_DVB_AS102 drivers/media/usb/as102/Makefile announce DVB_AV7110 - "AV7110 cards" -reject_firmware drivers/staging/media/av7110/av7110.c -clean_blob drivers/staging/media/av7110/av7110.c -clean_kconfig drivers/staging/media/av7110/Kconfig DVB_AV7110 -clean_mk CONFIG_DVB_AV7110 drivers/staging/media/av7110/Makefile +reject_firmware drivers/staging/media/deprecated/saa7146/av7110/av7110.c +clean_blob drivers/staging/media/deprecated/saa7146/av7110/av7110.c +clean_kconfig drivers/staging/media/deprecated/saa7146/av7110/Kconfig DVB_AV7110 +clean_mk CONFIG_DVB_AV7110 drivers/staging/media/deprecated/saa7146/av7110/Makefile announce DVB_BUDGET - "Budget cards" -reject_firmware drivers/media/pci/ttpci/budget.c +reject_firmware drivers/staging/media/deprecated/saa7146/ttpci/budget.c announce DVB_BUDGET_AV - "Budget cards with analog video inputs" -reject_firmware drivers/media/pci/ttpci/budget-av.c +reject_firmware drivers/staging/media/deprecated/saa7146/ttpci/budget-av.c announce DVB_BUDGET_CI - "Budget cards with onboard CI connector" -reject_firmware drivers/media/pci/ttpci/budget-ci.c +reject_firmware drivers/staging/media/deprecated/saa7146/ttpci/budget-ci.c announce DVB_C8SECTPFE - "STMicroelectronics C8SECTPFE DVB support" reject_firmware drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c @@ -1637,6 +1565,7 @@ clean_mk CONFIG_VIDEO_AMPHION_VPU drivers/media/platform/amphion/Makefile announce VIDEO_ATOMISP - "Intel Atom Image Signal Processor Driver" reject_firmware drivers/staging/media/atomisp/pci/atomisp_v4l2.c clean_blob drivers/staging/media/atomisp/pci/atomisp_v4l2.c +clean_blob drivers/staging/media/atomisp/TODO clean_kconfig drivers/staging/media/atomisp/Kconfig VIDEO_ATOMISP clean_mk CONFIG_VIDEO_ATOMISP drivers/staging/media/atomisp/Makefile @@ -1654,16 +1583,16 @@ clean_kconfig drivers/media/i2c/ccs/Kconfig VIDEO_CCS clean_mk CONFIG_VIDEO_CCS drivers/media/i2c/ccs/Makefile announce VIDEO_CODA - "Chips&Media Coda multi-standard codec IP" -reject_firmware drivers/media/platform/chips-media/coda/coda-common.c -clean_blob drivers/media/platform/chips-media/coda/coda-common.c -clean_kconfig drivers/media/platform/chips-media/coda/Kconfig VIDEO_CODA -clean_mk CONFIG_VIDEO_CODA drivers/media/platform/chips-media/coda/Makefile +reject_firmware drivers/media/platform/chips-media/coda-common.c +clean_blob drivers/media/platform/chips-media/coda-common.c +clean_kconfig drivers/media/platform/chips-media/Kconfig VIDEO_CODA +clean_mk CONFIG_VIDEO_CODA drivers/media/platform/chips-media/Makefile -announce VIDEO_WAVE_VPU - "Chips&Media Wave Codec Driver" -reject_firmware drivers/media/platform/chips-media/wave5/wave5-vpu.c -clean_blob drivers/media/platform/chips-media/wave5/wave5-vpu.c -clean_kconfig drivers/media/platform/chips-media/wave5/Kconfig VIDEO_WAVE_VPU -clean_mk CONFIG_VIDEO_WAVE_VPU drivers/media/platform/chips-media/wave5/Makefile +announce VIDEO_CPIA2 - "CPiA2 Video For Linux" +reject_firmware drivers/staging/media/deprecated/cpia2/cpia2_core.c +clean_blob drivers/staging/media/deprecated/cpia2/cpia2_core.c +clean_kconfig drivers/staging/media/deprecated/cpia2/Kconfig VIDEO_CPIA2 +clean_mk CONFIG_VIDEO_CPIA2 drivers/staging/media/deprecated/cpia2/Makefile announce VIDEO_CX18 - "Conexant cx23418 MPEG encoder support" reject_firmware drivers/media/pci/cx18/cx18-av-firmware.c @@ -1716,16 +1645,9 @@ clean_mk CONFIG_VIDEO_EXYNOS4_FIMC_IS drivers/media/platform/samsung/exynos4-is/ announce VIDEO_IPU3_IMGU - "Intel ipu3-imgu driver" reject_firmware drivers/staging/media/ipu3/ipu3-css-fw.c clean_blob drivers/staging/media/ipu3/ipu3-css-fw.h -clean_blob drivers/staging/media/ipu3/ipu3.c clean_kconfig drivers/staging/media/ipu3/Kconfig VIDEO_IPU3_IMGU clean_mk CONFIG_VIDEO_IPU3_IMGU drivers/staging/media/ipu3/Makefile -announce VIDEO_INTEL_IPU6 - "Intel IPU6 driver" -reject_firmware drivers/media/pci/intel/ipu6/ipu6.c -clean_blob drivers/media/pci/intel/ipu6/ipu6.h -clean_kconfig drivers/media/pci/intel/ipu6/Kconfig VIDEO_INTEL_IPU6 -clean_mk CONFIG_VIDEO_INTEL_IPU6 drivers/media/pci/intel/ipu6/Makefile - announce VIDEO_IVTV - "Conexant cx23416/cx23415 MPEG encoder/decoder support" reject_firmware drivers/media/pci/ivtv/ivtv-firmware.c clean_blob drivers/media/pci/ivtv/ivtv-firmware.c @@ -1797,6 +1719,11 @@ clean_blob drivers/media/i2c/s5k5baf.c clean_kconfig drivers/media/i2c/Kconfig VIDEO_S5K5BAF clean_mk CONFIG_VIDEO_S5K5BAF drivers/media/i2c/Makefile +announce VIDEO_VS6624 - "ST VS6624 sensor support" +clean_blob drivers/media/i2c/vs6624.c +clean_kconfig drivers/media/i2c/Kconfig VIDEO_VS6624 +clean_mk CONFIG_VIDEO_VS6624 drivers/media/i2c/Makefile + announce VIDEO_SAMSUNG_S5P_MFC - "Samsung S5P MFC 5.1 Video Codec" reject_firmware drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c clean_blob drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c @@ -1804,9 +1731,9 @@ clean_kconfig drivers/media/platform/samsung/s5p-mfc/Kconfig VIDEO_SAMSUNG_S5P_M clean_mk CONFIG_VIDEO_SAMSUNG_S5P_MFC drivers/media/platform/samsung/s5p-mfc/Makefile announce VIDEO_STXY61 - "ST VGX:Y61 sensor support" -clean_blob drivers/media/i2c/vgxy61.c -clean_kconfig drivers/media/i2c/Kconfig VIDEO_VGXY61 -clean_mk CONFIG_VIDEO_VGXY61 drivers/media/i2c/Makefile +clean_blob drivers/media/i2c/st-vgxy61.c +clean_kconfig drivers/media/i2c/Kconfig VIDEO_ST_VGXY61 +clean_mk CONFIG_VIDEO_ST_VGXY61 drivers/media/i2c/Makefile announce USB_S2255 - "USB Sensoray 2255 video capture device" reject_firmware drivers/media/usb/s2255/s2255drv.c @@ -1840,6 +1767,13 @@ clean_blob drivers/media/radio/radio-wl1273.c clean_kconfig drivers/media/radio/Kconfig RADIO_WL1273 clean_mk CONFIG_RADIO_WL1273 drivers/media/radio/Makefile +announce RADIO_WL128X - "Texas Instruments WL128x FM Radio" +clean_blob drivers/media/radio/wl128x/fmdrv_common.h +reject_firmware drivers/media/radio/wl128x/fmdrv_common.c +clean_blob drivers/media/radio/wl128x/fmdrv_common.c +clean_kconfig drivers/media/radio/wl128x/Kconfig RADIO_WL128X +clean_mk CONFIG_RADIO_WL128X drivers/media/radio/Makefile + ####### # net # ####### @@ -2011,38 +1945,9 @@ clean_mk CONFIG_SPIDER_NET drivers/net/ethernet/toshiba/Makefile announce TEHUTI - "Tehuti Networks 10G Ethernet" reject_firmware drivers/net/ethernet/tehuti/tehuti.c clean_blob drivers/net/ethernet/tehuti/tehuti.c -if grep -q 'MODULE_FIRMWARE' drivers/net/ethernet/tehuti/tn40_mdio.c; then - # New in 6.14.9. - clean_blob drivers/net/ethernet/tehuti/tn40_mdio.c -fi clean_kconfig drivers/net/ethernet/tehuti/Kconfig TEHUTI clean_mk CONFIG_TEHUTI drivers/net/ethernet/tehuti/Makefile -announce TEHUTI_TN40 - "Tehuti Networks TN40xx 10G Ethernet adapters" -reject_firmware drivers/net/ethernet/tehuti/tn40.c -clean_blob drivers/net/ethernet/tehuti/tn40.c -clean_kconfig drivers/net/ethernet/tehuti/Kconfig TEHUTI_TN40 -clean_mk CONFIG_TEHUTI_TN40 drivers/net/ethernet/tehuti/Makefile - -announce TI_ICSSG_PRUETH - "TI Gigabit PRU Ethernet driver" -clean_blob Documentation/devicetree/bindings/net/ti,icssg-prueth.yaml -clean_blob arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi -clean_blob arch/arm64/boot/dts/ti/k3-am65-iot2050-common-pg1.dtsi -clean_blob arch/arm64/boot/dts/ti/k3-am654-icssg2.dtso -clean_blob arch/arm64/boot/dts/ti/k3-am654-idk.dtso -clean_blob arch/arm64/boot/dts/ti/k3-am642-evm.dts -clean_blob arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts -clean_blob arch/arm64/boot/dts/ti/k3-am642-sr-som.dtsi -clean_blob arch/arm64/boot/dts/ti/k3-am642-tqma64xxl-mbax4xxl.dts -clean_blob drivers/net/ethernet/ti/icssg/icssg_prueth.c -clean_kconfig drivers/net/ethernet/ti/Kconfig TI_ICSSG_PRUETH -clean_mk CONFIG_TI_ICSSG_PRUETH drivers/net/ethernet/ti/Makefile - -announce TI_ICSSG_PRUETH_SR1 - "TI Gigabit PRU SR1.0 Ethernet driver" -clean_blob drivers/net/ethernet/ti/icssg/icssg_prueth_sr1.c -clean_kconfig drivers/net/ethernet/ti/Kconfig TI_ICSSG_PRUETH_SR1 -clean_mk CONFIG_TI_ICSSG_PRUETH_SR1 drivers/net/ethernet/ti/Makefile - announce TIGON3 - "Broadcom Tigon3" reject_firmware drivers/net/ethernet/broadcom/tg3.c clean_blob drivers/net/ethernet/broadcom/tg3.c @@ -2055,6 +1960,23 @@ clean_blob drivers/net/ethernet/3com/typhoon.c clean_kconfig drivers/net/ethernet/3com/Kconfig TYPHOON clean_mk CONFIG_TYPHOON drivers/net/ethernet/3com/Makefile +# appletalk + +announce COPS - "COPS LocalTalk PC" +clean_sed ' +/sizeof(\(ff\|lt\)drv_code)/{ + i\ + printk(KERN_INFO "%s: Missing Free firmware.\\n", dev->name);\ + return; +} +/\(ff\|lt\)drv_code/d; +' drivers/net/appletalk/cops.c 'report missing Free firmware' +clean_blob drivers/net/appletalk/cops.c +clean_file drivers/net/appletalk/cops_ffdrv.h +clean_file drivers/net/appletalk/cops_ltdrv.h +clean_kconfig drivers/net/appletalk/Kconfig COPS +clean_mk CONFIG_COPS drivers/net/appletalk/Makefile + # hamradio announce YAM - "YAM driver for AX.25" @@ -2117,6 +2039,12 @@ clean_mk CONFIG_USB_RTL8152 drivers/net/usb/Makefile # wireless +announce ATMEL "Atmel at76c50x chipset 802.11b support" +reject_firmware drivers/net/wireless/atmel/atmel.c +clean_blob drivers/net/wireless/atmel/atmel.c +clean_kconfig drivers/net/wireless/atmel/Kconfig ATMEL +clean_mk CONFIG_ATMEL drivers/net/wireless/atmel/Makefile + announce AT76C50X_USB - "Atmel at76c503/at76c505/at76c505a USB cards" reject_firmware drivers/net/wireless/atmel/at76c50x-usb.c clean_blob drivers/net/wireless/atmel/at76c50x-usb.c @@ -2180,6 +2108,18 @@ clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC_PCIE clean_mk CONFIG_BRCMFMAC_PCIE drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile +announce HERMES - "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)" +reject_firmware drivers/net/wireless/intersil/orinoco/fw.c +clean_blob drivers/net/wireless/intersil/orinoco/fw.c +clean_kconfig drivers/net/wireless/intersil/orinoco/Kconfig HERMES +clean_mk CONFIG_HERMES drivers/net/wireless/intersil/orinoco/Makefile + +announce ORINOCO_USB - "Agere Orinoco USB support" +reject_firmware drivers/net/wireless/intersil/orinoco/orinoco_usb.c +clean_blob drivers/net/wireless/intersil/orinoco/orinoco_usb.c +clean_kconfig drivers/net/wireless/intersil/orinoco/Kconfig ORINOCO_USB +clean_mk CONFIG_ORINOCO_USB drivers/net/wireless/intersil/orinoco/Makefile + announce IPW2100 - "Intel PRO/Wireless 2100 Network Connection" reject_firmware drivers/net/wireless/intel/ipw2x00/ipw2100.c clean_blob drivers/net/wireless/intel/ipw2x00/ipw2100.c @@ -2211,7 +2151,6 @@ reject_firmware drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c reject_firmware drivers/net/wireless/intel/iwlwifi/iwl-drv.c reject_firmware drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c reject_firmware drivers/net/wireless/intel/iwlwifi/fw/pnvm.c -clean_blob drivers/net/wireless/intel/iwlwifi/iwl-config.h clean_blob drivers/net/wireless/intel/iwlwifi/iwl-drv.c clean_blob drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c clean_kconfig drivers/net/wireless/intel/iwlwifi/Kconfig IWLWIFI @@ -2223,25 +2162,32 @@ clean_blob drivers/net/wireless/intel/iwlwifi/cfg/2000.c clean_blob drivers/net/wireless/intel/iwlwifi/cfg/5000.c clean_blob drivers/net/wireless/intel/iwlwifi/cfg/6000.c clean_kconfig drivers/net/wireless/intel/iwlwifi/Kconfig IWLDVM -clean_mk CONFIG_IWLDVM drivers/net/wireless/intel/iwlwifi/Makefile +clean_mk CONFIG_IWLMVM drivers/net/wireless/intel/iwlwifi/Makefile announce IWLMVM - "Intel Wireless WiFi MVM Firmware support" clean_blob drivers/net/wireless/intel/iwlwifi/cfg/7000.c clean_blob drivers/net/wireless/intel/iwlwifi/cfg/8000.c clean_blob drivers/net/wireless/intel/iwlwifi/cfg/9000.c clean_blob drivers/net/wireless/intel/iwlwifi/cfg/22000.c -clean_blob drivers/net/wireless/intel/iwlwifi/cfg/ax210.c -clean_blob drivers/net/wireless/intel/iwlwifi/cfg/bz.c -clean_blob drivers/net/wireless/intel/iwlwifi/cfg/sc.c -clean_blob drivers/net/wireless/intel/iwlwifi/cfg/dr.c clean_kconfig drivers/net/wireless/intel/iwlwifi/Kconfig IWLMVM clean_mk CONFIG_IWLMVM drivers/net/wireless/intel/iwlwifi/Makefile +announce KS7010 - "KeyStream KS7010 SDIO support" +reject_firmware drivers/staging/ks7010/ks7010_sdio.c +clean_blob drivers/staging/ks7010/ks7010_sdio.c +clean_kconfig drivers/staging/ks7010/Kconfig KS7010 +clean_mk CONFIG_KS7010 drivers/staging/ks7010/Makefile + announce LIBERTAS - "Marvell 8xxx Libertas WLAN driver support" reject_firmware drivers/net/wireless/marvell/libertas/firmware.c clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS clean_mk CONFIG_LIBERTAS drivers/net/wireless/marvell/libertas/Makefile +announce LIBERTAS_CS - "Marvell Libertas 8385 CompactFlash 802.11b/g cards" +clean_blob drivers/net/wireless/marvell/libertas/if_cs.c +clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS_CS +clean_mk CONFIG_LIBERTAS_CS drivers/net/wireless/marvell/libertas/Makefile + announce LIBERTAS_SDIO - "Marvell Libertas 8385 and 8686 SDIO 802.11b/g cards" clean_blob drivers/net/wireless/marvell/libertas/if_sdio.c clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS_SDIO @@ -2339,19 +2285,15 @@ clean_blob drivers/net/wireless/mediatek/mt76/mt7915/pci.c clean_kconfig drivers/net/wireless/mediatek/mt76/mt7915/Kconfig MT7915E clean_mk CONFIG_MT7915E drivers/net/wireless/mediatek/mt76/mt7915/Makefile -announce MT798X_WMAC - "MT7986 (SoC) WMAC support" +announce MT7986_WMAC - "MT7986 (SoC) WMAC support" clean_blob drivers/net/wireless/mediatek/mt76/mt7915/soc.c -clean_kconfig drivers/net/wireless/mediatek/mt76/mt7915/Kconfig MT798X_WMAC -clean_mk CONFIG_MT798X_WMAC drivers/net/wireless/mediatek/mt76/mt7915/Makefile - -announce MT792x_LIB - "MediaTek MT792x common support" -reject_firmware drivers/net/wireless/mediatek/mt76/mt792x_core.c -clean_blob drivers/net/wireless/mediatek/mt76/mt792x.h -clean_kconfig drivers/net/wireless/mediatek/mt76/Kconfig MT792x_LIB -clean_mk CONFIG_MT792x_LIB drivers/net/wireless/mediatek/mt76/Makefile +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7915/Kconfig MT7986_WMAC +clean_mk CONFIG_MT7986_WMAC drivers/net/wireless/mediatek/mt76/mt7915/Makefile announce MT7921_COMMON - "MediaTek MT7921 support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt7921/init.c reject_firmware drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h clean_kconfig drivers/net/wireless/mediatek/mt76/mt7921/Kconfig MT7921_COMMON clean_mk CONFIG_MT7921_COMMON drivers/net/wireless/mediatek/mt76/mt7921/Makefile @@ -2370,21 +2312,6 @@ clean_blob drivers/net/wireless/mediatek/mt76/mt7921/usb.c clean_kconfig drivers/net/wireless/mediatek/mt76/mt7921/Kconfig MT7921U clean_mk CONFIG_MT7921U drivers/net/wireless/mediatek/mt76/mt7921/Makefile -announce MT7925_COMMON - "MediaTek MT7925 support" -reject_firmware drivers/net/wireless/mediatek/mt76/mt7925/mcu.c -clean_kconfig drivers/net/wireless/mediatek/mt76/mt7925/Kconfig MT7925_COMMON -clean_mk CONFIG_MT7925_COMMON drivers/net/wireless/mediatek/mt76/mt7925/Makefile - -announce MT7925E - "MediaTek MT7925E (PCIe) support" -clean_blob drivers/net/wireless/mediatek/mt76/mt7925/pci.c -clean_kconfig drivers/net/wireless/mediatek/mt76/mt7925/Kconfig MT7925E -clean_mk CONFIG_MT7925E drivers/net/wireless/mediatek/mt76/mt7925/Makefile - -announce MT7925U - "MediaTek MT7925U (USB) support" -clean_blob drivers/net/wireless/mediatek/mt76/mt7925/usb.c -clean_kconfig drivers/net/wireless/mediatek/mt76/mt7925/Kconfig MT7925U -clean_mk CONFIG_MT7925U drivers/net/wireless/mediatek/mt76/mt7925/Makefile - announce MT7996E - "MediaTek MT7996 (PCIe) support" reject_firmware drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c reject_firmware drivers/net/wireless/mediatek/mt76/mt7996/mcu.c @@ -2408,7 +2335,6 @@ clean_mk CONFIG_MWIFIEX_SDIO drivers/net/wireless/marvell/mwifiex/Makefile announce MWIFIEX_PCIE - "Marvell WiFi-Ex Driver for PCI 8766" clean_blob drivers/net/wireless/marvell/mwifiex/pcie.h -clean_blob drivers/net/wireless/marvell/mwifiex/pcie.c clean_kconfig drivers/net/wireless/marvell/mwifiex/Kconfig MWIFIEX_PCIE clean_mk CONFIG_MWIFIEX_PCIE drivers/net/wireless/marvell/mwifiex/Makefile @@ -2458,7 +2384,7 @@ announce ATH10K - "Atheros 802.11ac wireless cards support" reject_firmware drivers/net/wireless/ath/ath10k/core.c clean_blob drivers/net/wireless/ath/ath10k/core.c clean_blob drivers/net/wireless/ath/ath10k/hw.h -clean_blob Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml +clean_blob Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt clean_kconfig drivers/net/wireless/ath/ath10k/Kconfig ATH10K clean_mk CONFIG_ATH10K drivers/net/wireless/ath/ath10k/Makefile @@ -2478,7 +2404,6 @@ clean_mk CONFIG_ATH10K_PCI drivers/net/wireless/ath/ath10k/Makefile announce ATH11K - "Qualcomm Technologies 802.11ax chipset support" reject_firmware drivers/net/wireless/ath/ath11k/core.c -clean_blob drivers/net/wireless/ath/ath11k/fw.h clean_blob drivers/net/wireless/ath/ath11k/hw.h clean_blob drivers/net/wireless/ath/ath11k/core.c clean_blob drivers/net/wireless/ath/ath11k/qmi.c @@ -2491,15 +2416,6 @@ clean_blob drivers/net/wireless/ath/ath11k/pci.c clean_kconfig drivers/net/wireless/ath/ath11k/Kconfig ATH11K_PCI clean_mk CONFIG_ATH11K_PCI drivers/net/wireless/ath/ath11k/Makefile -announce ATH12K - "Qualcomm Technologies Wi-Fi 7 support (ath12k)" -reject_firmware drivers/net/wireless/ath/ath12k/core.c -clean_blob drivers/net/wireless/ath/ath12k/fw.h -clean_blob drivers/net/wireless/ath/ath12k/core.c -clean_blob drivers/net/wireless/ath/ath12k/hw.h -clean_blob drivers/net/wireless/ath/ath12k/qmi.c -clean_kconfig drivers/net/wireless/ath/ath12k/Kconfig ATH12K -clean_mk CONFIG_ATH12K drivers/net/wireless/ath/ath12k/Makefile - announce WIL6210 - "Wilocity 60g WiFi card wil6210 support" reject_firmware drivers/net/wireless/ath/wil6210/fw_inc.c clean_blob drivers/net/wireless/ath/wil6210/fw.c @@ -2519,6 +2435,12 @@ clean_blob drivers/net/wireless/st/cw1200/cw1200_sdio.c clean_kconfig drivers/net/wireless/st/cw1200/Kconfig CW1200_WLAN_SDIO clean_mk CONFIG_CW1200_WLAN_SDIO drivers/net/wireless/st/cw1200/Makefile +announce PRISM2_USB - "Prism2.5/3 USB driver" +reject_firmware drivers/staging/wlan-ng/prism2fw.c +clean_blob drivers/staging/wlan-ng/prism2fw.c +clean_kconfig drivers/staging/wlan-ng/Kconfig PRISM2_USB +clean_mk CONFIG_PRISM2_USB drivers/staging/wlan-ng/Makefile + announce P54_PCI - "Prism54 PCI support" reject_firmware drivers/net/wireless/intersil/p54/p54pci.c clean_blob drivers/net/wireless/intersil/p54/p54pci.c @@ -2605,16 +2527,13 @@ clean_kconfig drivers/net/wireless/ralink/rt2x00/Kconfig RT2800USB clean_mk CONFIG_RT2800USB drivers/net/wireless/ralink/rt2x00/Makefile announce RTL8XXXU - "RTL8723AU/RTL8188[CR]U/RTL819[12]CU (mac80211) support" -reject_firmware drivers/net/wireless/realtek/rtl8xxxu/core.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/core.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8188e.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8188f.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8192c.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8192e.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8192f.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8710b.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8723a.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8723b.c +reject_firmware drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c clean_kconfig drivers/net/wireless/realtek/rtl8xxxu/Kconfig RTL8XXXU clean_mk CONFIG_RTL8XXXU drivers/net/wireless/realtek/rtl8xxxu/Makefile @@ -2629,6 +2548,13 @@ clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8188EE clean_mk CONFIG_RTL8188EE drivers/net/wireless/realtek/rtlwifi/rtl8188ee/Makefile +announce R8188EU - "Realtek RTL8188EU Wireless LAN NIC driver" +reject_firmware drivers/staging/r8188eu/core/rtw_fw.c +clean_blob drivers/staging/r8188eu/include/drv_types.h +clean_blob drivers/staging/r8188eu/os_dep/os_intfs.c +clean_kconfig drivers/staging/r8188eu/Kconfig R8188EU +clean_mk CONFIG_R8188EU drivers/staging/r8188eu/Makefile + announce RTL8192CE - "Realtek RTL8192CE/RTL8188CE Wireless Network Adapter" reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c @@ -2647,24 +2573,37 @@ clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192DE clean_mk CONFIG_RTL8192DE drivers/net/wireless/realtek/rtlwifi/rtl8192de/Makefile -announce RTL8192DU - "Realtek RTL8192DU USB Wireless Network Adapter" -reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c -clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c -clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192DU -clean_mk CONFIG_RTL8192DU drivers/net/wireless/realtek/rtlwifi/rtl8192du/Makefile - announce RTL8192SE - "Realtek RTL8192SE/RTL8191SE PCIe Wireless Network Adapter" reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192SE clean_mk CONFIG_RTL8192SE drivers/net/wireless/realtek/rtlwifi/rtl8192se/Makefile +announce RTL8192E - "RealTek RTL8192E Wireless LAN NIC driver" +reject_firmware drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c +clean_blob drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h +clean_blob drivers/staging/rtl8192e/rtl8192e/rtl_core.c +clean_kconfig drivers/staging/rtl8192e/rtl8192e/Kconfig RTL8192E +clean_mk CONFIG_RTL8192E drivers/staging/rtl8192e/Makefile + announce RTL8192EE - "RealTek RTL8192EE Wireless Network Adapter" reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192EE clean_mk CONFIG_RTL8192EE drivers/net/wireless/realtek/rtlwifi/Makefile +announce RTL8192U - "RealTek RTL8192U Wireless LAN NIC driver" +reject_firmware drivers/staging/rtl8192u/r819xU_firmware.c +clean_blob drivers/staging/rtl8192u/r819xU_firmware.c +clean_kconfig drivers/staging/rtl8192u/Kconfig RTL8192U +clean_mk CONFIG_RTL8192U drivers/staging/rtl8192u/Makefile + +announce R8712U - "RealTek RTL8712U (RTL8192SU) Wireless LAN NIC driver" +reject_firmware drivers/staging/rtl8712/hal_init.c +clean_blob drivers/staging/rtl8712/hal_init.c +clean_kconfig drivers/staging/rtl8712/Kconfig R8712U +clean_mk CONFIG_R8712U drivers/staging/rtl8712/Makefile + announce RTL8723AE - "Realtek RTL8723AE PCIe Wireless Network Adapter" reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c @@ -2708,42 +2647,21 @@ clean_blob drivers/net/wireless/realtek/rtw88/rtw8822b.c clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8822BE clean_mk CONFIG_RTW88_8822CE drivers/net/wireless/realtek/rtw88/Makefile -announce RTW88_8822CE - "Realtek 8822CE PCI wireless network adapter" +announce RTW88_8822CE - "Realtek 8822CE PCI wireless network adaptar" clean_blob drivers/net/wireless/realtek/rtw88/rtw8822c.c clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8822CE clean_mk CONFIG_RTW88_8822CE drivers/net/wireless/realtek/rtw88/Makefile -announce RTW88_8703B - "Realtek 8703B PCI wireless network adapter" -clean_blob drivers/net/wireless/realtek/rtw88/rtw8703b.c -clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8703B -clean_mk CONFIG_RTW88_8703B drivers/net/wireless/realtek/rtw88/Makefile - -announce RTW88_8723DE - "Realtek 8723DE PCI wireless network adapter" +announce RTW88_8723DE - "Realtek 8723DE PCI wireless network adaptar" clean_blob drivers/net/wireless/realtek/rtw88/rtw8723d.c clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8723DE clean_mk CONFIG_RTW88_8723DE drivers/net/wireless/realtek/rtw88/Makefile -announce RTW88_8812A - "Realtek 8812A wireless network adapter" -clean_blob drivers/net/wireless/realtek/rtw88/rtw8812a.c -clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8812A -clean_mk CONFIG_RTW88_8812A drivers/net/wireless/realtek/rtw88/Makefile - -announce RTW88_8821A - "Realtek 8812A wireless network adapter" -clean_blob drivers/net/wireless/realtek/rtw88/rtw8821a.c -clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8821A -clean_mk CONFIG_RTW88_8821A drivers/net/wireless/realtek/rtw88/Makefile - announce RTW89 - "Realtek 802.11ax wireless chips support" reject_firmware drivers/net/wireless/realtek/rtw89/fw.c -clean_blob drivers/net/wireless/realtek/rtw89/fw.h clean_kconfig drivers/net/wireless/realtek/rtw89/Kconfig RTW89 clean_mk CONFIG_RTW89 drivers/net/wireless/realtek/rtw89/Makefile -announce RTW89_8851B - "Realtek 802.11ax wireless chips support" -clean_blob drivers/net/wireless/realtek/rtw89/rtw8851b.c -clean_kconfig drivers/net/wireless/realtek/rtw89/Kconfig RTW89_8851B -clean_mk CONFIG_RTW89_8851B drivers/net/wireless/realtek/rtw89/Makefile - announce RTW89_8852A - "Realtek 802.11ax wireless chips support" clean_blob drivers/net/wireless/realtek/rtw89/rtw8852a.c clean_kconfig drivers/net/wireless/realtek/rtw89/Kconfig RTW89_8852A @@ -2756,23 +2674,17 @@ if fgrep -q rtw8852b.o drivers/net/wireless/realtek/rtw89/Makefile; then clean_mk CONFIG_RTW89_8852B drivers/net/wireless/realtek/rtw89/Makefile fi -announce RTW89_8852BTE - "Realtek 8852BE-VT PCI wireless network (Wi-Fi 6) adapter" -clean_blob drivers/net/wireless/realtek/rtw89/rtw8852bt.c -clean_kconfig drivers/net/wireless/realtek/rtw89/Kconfig RTW89_8852BTE -clean_mk CONFIG_RTW89_8852BTE drivers/net/wireless/realtek/rtw89/Makefile - announce RTW89_8852C - "Realtek 802.11ax wireless chips support" clean_blob drivers/net/wireless/realtek/rtw89/rtw8852c.c clean_kconfig drivers/net/wireless/realtek/rtw89/Kconfig RTW89_8852C clean_mk CONFIG_RTW89_8852C drivers/net/wireless/realtek/rtw89/Makefile -announce RTW89_8922A - "Realtek 802.11be wireless chips support" -clean_blob drivers/net/wireless/realtek/rtw89/rtw8922a.c -# This driver is not yet wired in AFAICT. -if grep -q 8922A drivers/net/wireless/realtek/rtw89/Kconfig; then - clean_kconfig drivers/net/wireless/realtek/rtw89/Kconfig RTW89_8922A - clean_mk CONFIG_RTW89_8922A drivers/net/wireless/realtek/rtw89/Makefile -fi +announce VT6656 - "VIA Technologies VT6656 support" +reject_firmware drivers/staging/vt6656/main_usb.c +clean_blob drivers/staging/vt6656/device.h +clean_blob drivers/staging/vt6656/main_usb.c +clean_kconfig drivers/staging/vt6656/Kconfig VT6656 +clean_mk CONFIG_VT6656 drivers/staging/vt6656/Makefile announce WL1251 - "TI wl1251 support" reject_firmware drivers/net/wireless/ti/wl1251/main.c @@ -2807,6 +2719,12 @@ clean_blob drivers/net/wireless/ti/wlcore/spi.c clean_kconfig drivers/net/wireless/ti/wlcore/Kconfig WLCORE_SPI clean_mk CONFIG_WLCORE_SPI drivers/net/wireless/ti/wlcore/Makefile +announce USB_ZD1201 - "USB ZD1201 based Wireless device support" +reject_firmware drivers/net/wireless/zydas/zd1201.c +clean_blob drivers/net/wireless/zydas/zd1201.c +clean_kconfig drivers/net/wireless/zydas/Kconfig USB_ZD1201 +clean_mk CONFIG_USB_ZD1201 drivers/net/wireless/zydas/Makefile + announce WCN36XX - "Qualcomm Atheros WCN3660/3680 support" reject_firmware drivers/net/wireless/ath/wcn36xx/smd.c clean_blob drivers/net/wireless/ath/wcn36xx/wcn36xx.h @@ -2830,11 +2748,7 @@ clean_mk CONFIG_WFX drivers/net/wireless/silabs/wfx/Makefile announce WILC1000 - "WILC1000 support (WiFi only)" reject_firmware drivers/net/wireless/microchip/wilc1000/netdev.c undefine_macro "WILC1000_FW_PREFIX" "\"/*(DEBLOBBED)*/\"" \ - "disabled wilc1000 non-Free firmware" \ - drivers/net/wireless/microchip/wilc1000/netdev.c -undefine_macro "WILC3000_FW_PREFIX" "\"/*(DEBLOBBED)*/\"" \ - "disabled wilc3000 non-Free firmware" \ - drivers/net/wireless/microchip/wilc1000/netdev.c + "disabled non-Free firmware" drivers/net/wireless/microchip/wilc1000/netdev.c clean_blob drivers/net/wireless/microchip/wilc1000/netdev.c clean_kconfig drivers/net/wireless/microchip/wilc1000/Kconfig WILC1000 clean_mk CONFIG_WILC1000 drivers/net/wireless/microchip/wilc1000/Makefile @@ -2853,14 +2767,6 @@ clean_blob drivers/net/ieee802154/adf7242.c clean_kconfig drivers/net/ieee802154/Kconfig IEEE802154_ADF7242 clean_mk CONFIG_IEEE802154_ADF7242 drivers/net/ieee802154/Makefile -# power sourcing equipment - -announce PSE_TPS23881 - "TPS23881 PSE controller" -reject_firmware drivers/net/pse-pd/tps23881.c -clean_blob drivers/net/pse-pd/tps23881.c -clean_kconfig drivers/net/pse-pd/Kconfig PSE_TPS23881 -clean_mk CONFIG_PSE_TPS23881 drivers/net/pse-pd/Makefile - # bluetooth announce BT_ATH3K - "Atheros firmware download driver" @@ -2893,12 +2799,6 @@ clean_blob drivers/bluetooth/hci_ag6xx.c clean_kconfig drivers/bluetooth/Kconfig BT_HCIUART_AG6XX clean_mk CONFIG_BT_HCIUART_AG6XX drivers/bluetooth/Makefile -announce BT_HCIUART_AML - "Amlogic protocol support" -clean_blob Documentation/devicetree/bindings/net/bluetooth/amlogic,w155s2-bt.yaml -reject_firmware drivers/bluetooth/hci_aml.c -clean_kconfig drivers/bluetooth/Kconfig BT_HCIUART_AML -clean_mk CONFIG_BT_HCIUART_AML drivers/bluetooth/Makefile - announce BT_HCIUART_LL - "HCILL protocol support" reject_firmware drivers/bluetooth/hci_ll.c clean_blob drivers/bluetooth/hci_ll.c @@ -2971,13 +2871,6 @@ announce BT_MTKUART - "MediaTek HCI UART driver" clean_kconfig drivers/bluetooth/Kconfig BT_MTKUART clean_mk CONFIG_BT_MTKUART drivers/bluetooth/Makefile -announce BT_NXPUART - "NXP protocol support" -reject_firmware drivers/bluetooth/btnxpuart.c -clean_blob drivers/bluetooth/btnxpuart.c -clean_blob Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml -clean_kconfig drivers/bluetooth/Kconfig BT_NXPUART -clean_mk CONFIG_BT_NXPUART drivers/bluetooth/Makefile - announce BT_QCA - "Bluetooh support for Qualcomm/Atheros devices" reject_firmware drivers/bluetooth/btqca.c clean_blob drivers/bluetooth/btqca.c @@ -2991,13 +2884,11 @@ clean_blob drivers/bluetooth/btrtl.c clean_kconfig drivers/bluetooth/Kconfig BT_RTL clean_mk CONFIG_BT_RTL drivers/bluetooth/Makefile -# misc - -announce INTEL_MEI_VSC_HW - "Intel visual sensing controller device transport driver" -reject_firmware drivers/misc/mei/vsc-fw-loader.c -clean_blob drivers/misc/mei/vsc-fw-loader.c -clean_kconfig drivers/misc/mei/Kconfig INTEL_MEI_VSC_HW -clean_mk CONFIG_INTEL_MEI_VSC_HW drivers/misc/mei/Makefile +announce TI_ST - "Texas Instruments shared transport line discipline" +reject_firmware drivers/misc/ti-st/st_kim.c +clean_blob drivers/misc/ti-st/st_kim.c +clean_kconfig drivers/misc/ti-st/Kconfig TI_ST +clean_mk CONFIG_TI_ST drivers/misc/ti-st/Makefile # infiniband @@ -3051,23 +2942,6 @@ clean_blob drivers/net/phy/mscc/mscc.h clean_kconfig drivers/net/phy/Kconfig MICROSEMI_PHY clean_mk CONFIG_MICROSEMI_PHY drivers/net/phy/mscc/Makefile -announce AQUANTIA_PHY - "Aquantia PHYs" -reject_firmware drivers/net/phy/aquantia/aquantia_firmware.c -clean_blob Documentation/devicetree/bindings/net/marvell,aquantia.yaml -clean_kconfig drivers/net/phy/aquantia/Kconfig AQUANTIA_PHY -clean_mk CONFIG_AQUANTIA_PHY drivers/net/phy/aquantia/Makefile - -announce AIR_EN8811H_PHY - "Airoha EN8811H 2.5 Gigabit PHY" -reject_firmware drivers/net/phy/air_en8811h.c -clean_blob drivers/net/phy/air_en8811h.c -clean_kconfig drivers/net/phy/Kconfig AIR_EN8811H_PHY -clean_mk CONFIG_AIR_EN8811H_PHY drivers/net/phy/Makefile - -announce AMCC_QT2025_PHY - "AMCC QT2025 PHY" -clean_blob drivers/net/phy/qt2025.rs -clean_kconfig drivers/net/phy/Kconfig AMCC_QT2025_PHY -clean_mk CONFIG_AMCC_QT2025_PHY drivers/net/phy/Makefile - ######## # ISDN # ######## @@ -3218,9 +3092,9 @@ clean_kconfig drivers/platform/x86/Kconfig TOUCHSCREEN_DMI clean_mk CONFIG_TOUCHSCREEN_DMI drivers/platform/x86/Makefile announce X86_ANDROID_TABLETS - "X86 Android tablet support" -clean_blob drivers/platform/x86/x86-android-tablets/other.c -clean_kconfig drivers/platform/x86/x86-android-tablets/Kconfig X86_ANDROID_TABLETS -clean_mk CONFIG_X86_ANDROID_TABLETS drivers/platform/x86/x86-android-tablets/Makefile +clean_blob drivers/platform/x86/x86-android-tablets.c +clean_kconfig drivers/platform/x86/Kconfig X86_ANDROID_TABLETS +clean_mk CONFIG_X86_ANDROID_TABLETS drivers/platform/x86/Makefile announce TOUCHSCREEN_WDT87XX_I2C - "Weida HiTech I2C touchscreen" reject_firmware drivers/input/touchscreen/wdt87xx_i2c.c @@ -3238,18 +3112,9 @@ clean_mk CONFIG_INPUT_IMS_PCU drivers/input/misc/Makefile # Data acquisition # #################### -announce INTEL_ISH_HID - "Intel Integrated Sensor Hub" -reject_firmware Documentation/hid/intel-ish-hid.rst -reject_firmware drivers/hid/intel-ish-hid/ishtp/loader.c -clean_blob drivers/hid/intel-ish-hid/ipc/pci-ish.c -clean_blob drivers/hid/intel-ish-hid/ishtp/loader.c -clean_kconfig drivers/hid/intel-ish-hid/Kconfig INTEL_ISH_HID -clean_mk CONFIG_INTEL_ISH_HID drivers/hid/intel-ish-hid/Makefile - announce INTEL_ISH_FIRMWARE_DOWNLOADER - "Host Firmware Load feature for Intel ISH" reject_firmware drivers/hid/intel-ish-hid/ishtp-fw-loader.c clean_blob drivers/hid/intel-ish-hid/ishtp-fw-loader.c -clean_blob Documentation/hid/intel-ish-hid.rst clean_kconfig drivers/hid/intel-ish-hid/Kconfig INTEL_ISH_FIRMWARE_DOWNLOADER clean_mk CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER drivers/hid/intel-ish-hid/Makefile @@ -3290,23 +3155,6 @@ clean_blob drivers/iio/common/ssp_sensors/ssp_dev.c # clean_kconfig drivers/iio/common/ssp_sensors/Kconfig IIO_SSP_SENSORHUB # clean_mk CONFIG_IIO_SSP_SENSORHUB drivers/iio/common/ssp_sensors/Makefile -announce BMI270 - "Bosch BMI270" -reject_firmware drivers/iio/imu/bmi270/bmi270_core.c -clean_blob drivers/iio/imu/bmi270/bmi270_core.c -clean_kconfig drivers/iio/imu/bmi270/Kconfig BMI270 -clean_mk CONFIG_BMI270 drivers/iio/imu/bmi270/Makefile - -announce AW96103 - "AW96103/AW96105 Awinic proximity sensor" -reject_firmware drivers/iio/proximity/aw96103.c -clean_blob drivers/iio/proximity/aw96103.c -clean_kconfig drivers/iio/proximity/Kconfig AW96103 -clean_mk CONFIG_AW96103 drivers/iio/proximity/Makefile - -announce HX9023S - "TYHX HX9023S SAR sensor" -reject_firmware drivers/iio/proximity/hx9023s.c -clean_blob drivers/iio/proximity/hx9023s.c -clean_kconfig drivers/iio/proximity/Kconfig HX9023S -clean_mk CONFIG_HX9023S drivers/iio/proximity/Makefile ####### # MMC # @@ -3393,9 +3241,9 @@ announce SCSI_QLA_FC - "QLogic QLA2XXX Fibre Channel Support" reject_firmware drivers/scsi/qla2xxx/qla_os.c clean_sed ' /^config SCSI_QLA_FC$/,/^config /{ - /^ By default, firmware/i\ - /*(DEBLOBBED)*/ - /^ By default, firmware/,/linux-firmware tree/d + /^ By default, firmware/i\ + /*(DEBLOBBED)*/ + /^ By default, firmware/,/linux-firmware tree/d }' drivers/scsi/qla2xxx/Kconfig 'removed firmware notes' clean_blob drivers/scsi/qla2xxx/qla_os.c clean_kconfig drivers/scsi/qla2xxx/Kconfig SCSI_QLA_FC @@ -3435,18 +3283,23 @@ clean_mk CONFIG_USB_UEAGLEATM drivers/usb/atm/Makefile # host +announce USB_XHCI_PCI_RENESAS - "Support for additional Renesas xHCI controller with firmware" +reject_firmware drivers/usb/host/xhci-pci-renesas.c +clean_kconfig drivers/usb/host/Kconfig USB_XHCI_PCI_RENESAS +clean_mk CONFIG_USB_XHCI_PCI_RENESAS drivers/usb/host/Makefile + +announce USB_XHCI_PCI - "because of USB_XHCI_PCI_RENESAS" +clean_blob drivers/usb/host/xhci-pci.c +clean_kconfig drivers/usb/host/Kconfig USB_XHCI_PCI +clean_mk CONFIG_USB_XHCI_PCI drivers/usb/host/Makefile + announce USB_XHCI_RCAR - "xHCI support for Renesas R-Car SoCs" reject_firmware drivers/usb/host/xhci-rcar.c clean_blob drivers/usb/host/xhci-rcar.c +clean_blob drivers/usb/host/xhci-rcar.h clean_kconfig drivers/usb/host/Kconfig USB_XHCI_RCAR clean_mk CONFIG_USB_XHCI_RCAR drivers/usb/host/Makefile -announce USB_XHCI_PCI_RENESAS - "Support for additional Renesas xHCI controller with firmware" -reject_firmware drivers/usb/host/xhci-pci-renesas.c -clean_blob drivers/usb/host/xhci-pci-renesas.c -clean_kconfig drivers/usb/host/Kconfig USB_XHCI_PCI_RENESAS -clean_mk CONFIG_USB_XHCI_PCI_RENESAS drivers/usb/host/Makefile - announce USB_XHCI_TEGRA - "xHCI support for NVIDIA Tegra SoCs" reject_firmware drivers/usb/host/xhci-tegra.c clean_blob drivers/usb/host/xhci-tegra.c @@ -3533,15 +3386,10 @@ clean_mk CONFIG_UCSI_CCG drivers/usb/typec/ucsi/Makefile announce UCSI_STM32G0 - "UCSI Interface Driver for STM32G0" # This takes the name from a firmware-name property (from the device?). reject_firmware drivers/usb/typec/ucsi/ucsi_stm32g0.c -clean_blob arch/arm/boot/dts/st/stm32mp135f-dk.dts +clean_blob arch/arm/boot/dts/stm32mp135f-dk.dts clean_kconfig drivers/usb/typec/ucsi/Kconfig UCSI_STM32G0 clean_mk CONFIG_UCSI_STM32G0 drivers/usb/typec/ucsi/Makefile -announce TYPEC_TPS6598X - "TI TPS6598x USB Power Delivery controller driver" -reject_firmware drivers/usb/typec/tipd/core.c -clean_blob Documentation/devicetree/bindings/usb/ti,tps6598x.yaml -clean_kconfig drivers/usb/typec/tipd/Kconfig TYPEC_TPS6598X -clean_mk CONFIG_TYPEC_TPS6598X drivers/usb/typec/tipd/Makefile ################ # Programmable # @@ -3560,33 +3408,14 @@ clean_blob Documentation/ABI/testing/sysfs-driver-ge-achc clean_kconfig drivers/misc/Kconfig GEHC_ACHC clean_mk CONFIG_GEHC_ACHC drivers/misc/Makefile -announce DRM_ACCEL_AMDXDNA - "AMD AI Engine" -reject_firmware drivers/accel/amdxdna/aie2_pci.c -clean_blob drivers/accel/amdxdna/amdxdna_pci_drv.c -clean_kconfig drivers/accel/amdxdna/Kconfig DRM_ACCEL_AMDXDNA -clean_mk CONFIG_DRM_ACCEL_AMDXDNA drivers/accel/amdxdna/Makefile - -announce DRM_ACCEL_HABANALABS - "HabanaLabs AI accelerators (habanalabs)" -reject_firmware drivers/accel/habanalabs/common/firmware_if.c -reject_firmware drivers/accel/habanalabs/gaudi/gaudi.c -clean_blob drivers/accel/habanalabs/gaudi/gaudi.c -clean_blob drivers/accel/habanalabs/gaudi2/gaudi2P.h -clean_blob drivers/accel/habanalabs/goya/goya.c -clean_kconfig drivers/accel/habanalabs/Kconfig DRM_ACCEL_HABANALABS -clean_mk CONFIG_DRM_ACCEL_HABANALABS drivers/accel/Makefile - -announce DRM_ACCEL_IVPU - "Intel VPU for Meteor Lake and newer" -reject_firmware drivers/accel/ivpu/ivpu_fw.c -clean_blob drivers/accel/ivpu/ivpu_fw.c -clean_kconfig drivers/accel/ivpu/Kconfig DRM_ACCEL_IVPU -clean_mk CONFIG_DRM_ACCEL_IVPU drivers/accel/ivpu/Makefile - -announce DRM_ACCEL_QAIC - "Qualcomm Cloud AI accelerators" -reject_firmware drivers/accel/qaic/sahara.c -clean_blob drivers/accel/qaic/sahara.c -clean_blob drivers/accel/qaic/mhi_controller.c -clean_kconfig drivers/accel/qaic/Kconfig DRM_ACCEL_QAIC -clean_mk CONFIG_DRM_ACCEL_QAIC drivers/accel/qaic/Makefile +announce HABANA_AI - "HabanaAI accelerators (habanalabs)" +reject_firmware drivers/misc/habanalabs/common/firmware_if.c +reject_firmware drivers/misc/habanalabs/gaudi/gaudi.c +clean_blob drivers/misc/habanalabs/gaudi/gaudi.c +clean_blob drivers/misc/habanalabs/gaudi2/gaudi2P.h +clean_blob drivers/misc/habanalabs/goya/goya.c +clean_kconfig drivers/misc/habanalabs/Kconfig HABANA_AI +clean_mk CONFIG_HABANA_AI drivers/misc/Makefile announce LATTICE_ECP3_CONFIG - "Lattice ECP3 FPGA bitstrap configuration via SPI" reject_firmware drivers/misc/lattice-ecp3-config.c @@ -3619,8 +3448,8 @@ clean_mk CONFIG_MTK_SCP drivers/remoteproc/Makefile announce WKUP_M3_RPROC - "AMx3xx Wakeup M3 remoteproc support" clean_blob Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt -clean_blob arch/arm/boot/dts/ti/omap/am33xx-l4.dtsi -clean_blob arch/arm/boot/dts/ti/omap/am437x-l4.dtsi +clean_blob arch/arm/boot/dts/am33xx-l4.dtsi +clean_blob arch/arm/boot/dts/am437x-l4.dtsi clean_blob arch/arm/mach-omap2/pm33xx-core.c clean_kconfig drivers/remoteproc/Kconfig WKUP_M3_RPROC clean_mk CONFIG_WKUP_M3_RPROC drivers/remoteproc/Makefile @@ -3628,12 +3457,12 @@ clean_mk CONFIG_WKUP_M3_RPROC drivers/remoteproc/Makefile announce WKUP_M3_IPC - "TI AMx3 Wkup-M3 IPC Driver" reject_firmware drivers/soc/ti/wkup_m3_ipc.c clean_blob Documentation/devicetree/bindings/soc/ti/wkup-m3-ipc.yaml -clean_blob arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi -clean_blob arch/arm/boot/dts/ti/omap/am335x-evm.dts -clean_blob arch/arm/boot/dts/ti/omap/am335x-evmsk.dts -clean_blob arch/arm/boot/dts/ti/omap/am437x-gp-evm.dts -clean_blob arch/arm/boot/dts/ti/omap/am437x-sk-evm.dts -clean_blob arch/arm/boot/dts/ti/omap/am43x-epos-evm.dts +clean_blob arch/arm/boot/dts/am335x-bone-common.dtsi +clean_blob arch/arm/boot/dts/am335x-evm.dts +clean_blob arch/arm/boot/dts/am335x-evmsk.dts +clean_blob arch/arm/boot/dts/am437x-gp-evm.dts +clean_blob arch/arm/boot/dts/am437x-sk-evm.dts +clean_blob arch/arm/boot/dts/am43x-epos-evm.dts clean_kconfig drivers/soc/ti/Kconfig WKUP_M3_IPC clean_mk CONFIG_WKUP_M3_IPC drivers/soc/ti/Makefile @@ -3649,7 +3478,6 @@ clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_MSS clean_mk CONFIG_QCOM_Q6V5_MSS drivers/remoteproc/Makefile announce QCOM_Q6V5_PAS - "Qualcomm Hexagon V5 Peripheral Authentication Service support" -reject_firmware drivers/remoteproc/qcom_q6v5_pas.c clean_blob drivers/remoteproc/qcom_q6v5_pas.c clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_PAS clean_mk CONFIG_QCOM_Q6V5_PAS drivers/remoteproc/Makefile @@ -3661,12 +3489,7 @@ clean_mk CONFIG_QCOM_Q6V5_WCSS drivers/remoteproc/Makefile announce QCOM_WCNSS_PIL - "Qualcomm WCNSS Peripheral Image Loader" clean_blob drivers/remoteproc/qcom_wcnss.c -clean_blob Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.yaml -clean_blob Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml -clean_blob Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml -clean_blob Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml -clean_blob Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml -clean_blob Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml +clean_blob Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt clean_blob Documentation/devicetree/bindings/soc/qcom/qcom,wcnss.yaml clean_kconfig drivers/remoteproc/Kconfig QCOM_WCNSS_PIL clean_mk CONFIG_QCOM_WCNSS_PIL drivers/remoteproc/Makefile @@ -3677,6 +3500,7 @@ clean_blob drivers/net/ipa/ipa_main.c clean_kconfig drivers/net/ipa/Kconfig QCOM_IPA clean_mk CONFIG_QCOM_IPA drivers/net/ipa/Makefile + ####### # MFD # ####### @@ -3688,19 +3512,6 @@ clean_blob Documentation/devicetree/bindings/mfd/iqs62x.yaml clean_kconfig drivers/mfd/Kconfig MFD_IQS62X clean_mk CONFIG_MFD_IQS62X drivers/mfd/Makefile -announce MFD_CS42L43 - "Cirrus Logic CS42L43" -reject_firmware drivers/mfd/cs42l43.c -clean_blob drivers/mfd/cs42l43.c -clean_kconfig drivers/mfd/Kconfig MFD_CS42L43 -clean_mk CONFIG_MFD_CS42L43 drivers/mfd/Makefile - -announce MFD_CS40L50_CORE - "Cirrus Logic CS40L50 core" -reject_firmware drivers/mfd/cs40l50-core.c -clean_blob drivers/mfd/cs40l50-core.c -clean_blob include/linux/mfd/cs40l50.h -clean_kconfig drivers/mfd/Kconfig MFD_CS40L50_CORE -clean_mk CONFIG_MFD_CS40L50_CORE drivers/mfd/Makefile - ####### # PTP # ####### @@ -3719,11 +3530,7 @@ clean_blob drivers/ptp/ptp_idt82p33.h clean_kconfig drivers/ptp/Kconfig PTP_1588_CLOCK_IDT82P33 clean_mk CONFIG_PTP_1588_CLOCK_IDT82P33 drivers/ptp/Makefile -announce PTP_1588_CLOCK_FC3W - "RENESAS FemtoClock3 Wireless as PTP clock" -reject_firmware drivers/ptp/ptp_fc3.c -clean_blob drivers/ptp/ptp_fc3.h -clean_kconfig drivers/ptp/Kconfig PTP_1588_CLOCK_FC3W -clean_mk CONFIG_PTP_1588_CLOCK_FC3W drivers/ptp/Makefile + ######### # Sound # @@ -3881,8 +3688,8 @@ clean_mk CONFIG_SND_RIPTIDE sound/pci/riptide/Makefile # This is ok, patch filenames are supplied as module parameters, and # they are text files with patch instructions. #announce SND_HDA_PATCH_LOADER - "Support initialization patch loading for HD-audio" -#reject_firmware sound/soc/codecs/hdac_hda.c -#clean_kconfig sound/pci/hda/Kconfig SND_HDA_PATCH_LOADER +#reject_firmware sound/pci/hda/hda_hwdep.c +#clean_kconfig sound/pci/hda/Kconfig 'SND_HDA_PATCH_LOADER' announce SND_HDA_CODEC_CA0132_DSP - "Support new DSP code for CA0132 codec" reject_firmware sound/pci/hda/patch_ca0132.c @@ -3901,20 +3708,6 @@ clean_blob sound/pci/hda/cs35l41_hda.c clean_kconfig sound/pci/hda/Kconfig SND_HDA_SCODEC_CS35L41 clean_mk CONFIG_SND_HDA_SCODEC_CS35L41 sound/pci/hda/Makefile -announce SND_HDA_SCODEC_CS35L56 - "CS35L56 HD-audio side codec support" -reject_firmware sound/pci/hda/cs35l56_hda.c -clean_blob sound/pci/hda/cs35l56_hda.c -clean_blob Documentation/sound/codecs/cs35l56.rst -clean_kconfig sound/pci/hda/Kconfig SND_HDA_SCODEC_CS35L56 -clean_mk CONFIG_SND_HDA_SCODEC_CS35L56 sound/pci/hda/Makefile - -announce SND_HDA_SCODEC_TAS2781_SPI - "TAS2781 HD-audio side codec support for SPI Bus" -reject_firmware sound/pci/hda/tas2781_spi_fwlib.c -reject_firmware sound/pci/hda/tas2781_hda_spi.c -clean_blob sound/pci/hda/tas2781_hda_spi.c -clean_kconfig sound/pci/hda/Kconfig SND_HDA_SCODEC_TAS2781_SPI -clean_mk CONFIG_SND_HDA_SCODEC_TAS2781_SPI sound/pci/hda/Makefile - announce SND_HDSP - "RME Hammerfall DSP Audio" reject_firmware sound/pci/rme9652/hdsp.c clean_blob sound/pci/rme9652/hdsp.c @@ -3961,50 +3754,6 @@ clean_blob sound/soc/codecs/adau1781.c clean_kconfig sound/soc/codecs/Kconfig SND_SOC_ADAU1781 clean_mk CONFIG_SND_SOC_ADAU1781 sound/soc/codecs/Makefile -announce SND_SOC_AW87390 - "Soc Audio for awinic aw87390" -reject_firmware sound/soc/codecs/aw87390.c -clean_blob sound/soc/codecs/aw87390.h -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_AW87390 -clean_mk CONFIG_SND_SOC_AW87390 sound/soc/codecs/Makefile - -announce SND_SOC_AW88081 - "Soc Audio for awinic aw88081" -reject_firmware sound/soc/codecs/aw88081.c -clean_blob sound/soc/codecs/aw88081.h -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_AW88081 -clean_mk CONFIG_SND_SOC_AW88081 sound/soc/codecs/Makefile - -announce SND_SOC_AW88261 - "Soc Audio for awinic aw88261" -reject_firmware sound/soc/codecs/aw88261.c -clean_blob sound/soc/codecs/aw88261.h -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_AW88261 -clean_mk CONFIG_SND_SOC_AW88261 sound/soc/codecs/Makefile - -announce SND_SOC_AW88395 - "Soc Audio for awinic aw88395" -reject_firmware sound/soc/codecs/aw88395/aw88395.c -clean_blob sound/soc/codecs/aw88395/aw88395_device.h -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_AW88395 -clean_mk CONFIG_SND_SOC_AW88395 sound/soc/codecs/Makefile - -announce SND_SOC_AW88399 - "Soc Audio for awinic aw88399" -reject_firmware sound/soc/codecs/aw88399.c -clean_blob sound/soc/codecs/aw88399.h -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_AW88399 -clean_mk CONFIG_SND_SOC_AW88399 sound/soc/codecs/Makefile - -announce SND_SOC_PCM6240 - "Texas Instruments PCM6240 Family Audio chips based on I2C" -reject_firmware sound/soc/codecs/pcm6240.c -clean_blob sound/soc/codecs/pcm6240.c -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_PCM6240 -clean_mk CONFIG_SND_SOC_PCM6240 sound/soc/codecs/Makefile - -announce SND_SOC_PEB2466 - "Infineon PEB2466 quad PCM codec" -# The firmware name is obtained by of_property_read_string. -# It's conceivable that the loaded firmware files are pure data. -# Please let us know if you can tell for sure. -reject_firmware sound/soc/codecs/peb2466.c -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_PEB2466 -clean_mk CONFIG_SND_SOC_PEB2466 sound/soc/codecs/Makefile - announce SND_SOC_FSL_EASRC - "Enhanced Asynchronous Sample Rate Converter (EASRC) module support" reject_firmware sound/soc/fsl/fsl_easrc.c clean_blob Documentation/devicetree/bindings/sound/fsl,easrc.yaml @@ -4023,27 +3772,6 @@ clean_blob sound/soc/codecs/max98390.c clean_kconfig sound/soc/codecs/Kconfig SND_SOC_MAX98390 clean_mk CONFIG_SND_SOC_MAX98390 sound/soc/codecs/Makefile -announce SND_SOC_NTP8835 - "NeoFidelity NTP8835 and NTP8835C amplifiers" -clean_blob sound/soc/codecs/ntp8835.c -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_NTP8835 -clean_mk CONFIG_SND_SOC_NTP8835 sound/soc/codecs/Makefile - -announce SND_SOC_NTP8918 - "NeoFidelity NTP8918 amplifier" -clean_blob sound/soc/codecs/ntp8918.c -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_NTP8918 -clean_mk CONFIG_SND_SOC_NTP8918 sound/soc/codecs/Makefile - -announce SND_SOC_NTPFW - "NeoFidelity NTP firmware" -reject_firmware sound/soc/codecs/ntpfw.c -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_NTPFW -clean_mk CONFIG_SND_SOC_NTPFW sound/soc/codecs/Makefile - -announce SND_SOC_RT1320_SDW - "Realtek RT1320 Codec - SDW" -reject_firmware sound/soc/codecs/rt1320-sdw.c -clean_blob sound/soc/codecs/rt1320-sdw.h -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_RT1320_SDW -clean_mk CONFIG_SND_SOC_RT1320_SDW sound/soc/codecs/Makefile - announce SND_SOC_RT5677 - "RT5677 SoC" reject_firmware sound/soc/codecs/rt5677.c clean_blob sound/soc/codecs/rt5677.h @@ -4072,9 +3800,7 @@ announce SND_SOC_INTEL_AVS - "Intel AVS driver" reject_firmware sound/soc/intel/avs/topology.c reject_firmware sound/soc/intel/avs/utils.c clean_blob sound/soc/intel/avs/board_selection.c -clean_blob sound/soc/intel/avs/core.c clean_blob sound/soc/intel/avs/loader.c -clean_blob sound/soc/intel/avs/pcm.c clean_kconfig sound/soc/intel/Kconfig SND_SOC_INTEL_AVS clean_mk CONFIG_SND_SOC_INTEL_AVS sound/soc/intel/avs/Makefile @@ -4084,6 +3810,18 @@ clean_blob sound/soc/intel/catpt/loader.c clean_kconfig sound/soc/intel/Kconfig SND_SOC_INTEL_CATPT clean_mk CONFIG_SND_SOC_INTEL_CATPT sound/soc/intel/catpt/Makefile +announce SND_SOC_INTEL_SKYLAKE - "All Skylake/SST Platforms" +reject_firmware sound/soc/intel/skylake/skl-sst.c +reject_firmware sound/soc/intel/skylake/skl-sst-utils.c +reject_firmware sound/soc/intel/skylake/skl-topology.c +reject_firmware sound/soc/intel/skylake/bxt-sst.c +reject_firmware sound/soc/intel/skylake/cnl-sst.c +clean_blob sound/soc/intel/skylake/skl-nhlt.c +clean_blob sound/soc/intel/skylake/skl-sst.c +clean_blob sound/soc/intel/skylake/skl-topology.c +clean_kconfig sound/soc/intel/Kconfig SND_SOC_INTEL_SKYLAKE +clean_mk CONFIG_SND_SOC_INTEL_SKYLAKE sound/soc/intel/skylake/Makefile + announce SND_SST_ATOM_HIFI2_PLATFORM - "HiFi2 Platforms" reject_firmware sound/soc/intel/atom/sst/sst.c reject_firmware sound/soc/intel/atom/sst/sst_loader.c @@ -4101,34 +3839,12 @@ clean_blob sound/soc/codecs/rt5514.h clean_kconfig sound/soc/codecs/Kconfig SND_SOC_RT5514 clean_mk CONFIG_SND_SOC_RT5514 sound/soc/codecs/Makefile -announce SND_SOC_TAS2781_COMLIB - "Texas Instruments TAS2781 speaker amplifier (comlib)" -reject_firmware sound/soc/codecs/tas2781-comlib.c -clean_blob sound/soc/codecs/tas2781-comlib.c -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_TAS2781_COMLIB -clean_mk CONFIG_SND_SOC_TAS2781_COMLIB sound/soc/codecs/Makefile - -announce SND_SOC_TAS2781_FMWLIB - "Texas Instruments TAS2781 speaker amplifier (fmwlib)" -reject_firmware sound/soc/codecs/tas2781-fmwlib.c -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_TAS2781_COMLIB -clean_mk CONFIG_SND_SOC_TAS2781_COMLIB sound/soc/codecs/Makefile - -announce SND_SOC_TAS2781_I2C - "Texas Instruments TAS2781 speaker amplifier based on I2C" -clean_blob sound/soc/codecs/tas2781-i2c.c -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_TAS2781_I2C -clean_mk CONFIG_SND_SOC_TAS2781_I2C sound/soc/codecs/Makefile - announce SND_SOC_TAS5805M - "Texas Instruments TAS5805M speaker amplifier" reject_firmware sound/soc/codecs/tas5805m.c clean_blob sound/soc/codecs/tas5805m.c clean_kconfig sound/soc/codecs/Kconfig SND_SOC_TAS5805M clean_mk CONFIG_SND_SOC_TAS5805M sound/soc/codecs/Makefile -announce SND_SOC_TLV320AIC31XX - "Texas Instruments TLV320AIC31xx CODECs" -reject_firmware sound/soc/codecs/tlv320aic31xx.c -clean_blob sound/soc/codecs/tlv320aic31xx.c -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_TLV320AIC31XX -clean_mk CONFIG_SND_SOC_TLV320AIC31XX sound/soc/codecs/Makefile - announce SND_SOC_WM0010 - "WM0010 DSP driver" reject_firmware sound/soc/codecs/wm0010.c clean_blob sound/soc/codecs/wm0010.c @@ -4163,34 +3879,10 @@ clean_kconfig sound/soc/codecs/Kconfig SND_SOC_ZL38060 clean_mk CONFIG_SND_SOC_ZL38060 sound/soc/codecs/Makefile announce SND_SOC_SH4_SIU - "ALSA SoC driver for Renesas SH7343, SH7722 SIU peripheral" -reject_firmware sound/soc/renesas/siu_dai.c -clean_blob sound/soc/renesas/siu_dai.c -clean_kconfig sound/soc/renesas/Kconfig SND_SOC_SH4_SIU -clean_mk CONFIG_SND_SOC_SH4_SIU sound/soc/renesas/Makefile - -# The firmware files are built from free sources, but the firmware -# binaries are then signed, some with publicly-available "private" -# keys, some with secret keys. The secret keys are used to Tivoize -# (i.e., prevent modification of) the firmware on most devices; though -# some devices might conceivably be able to run the firmware signed by -# the publicly-available keys, it's not clear whether they're -# available to the general public. We defensively consider the -# firmware signed by the secret key as Tivoized and thus nonfree. -# However, the firmware signed by the publicly-available key is free, -# it is installed with the same name, and the loader doesn't tell them -# apart (the hardware may), so we allow requesting and loading, but -# we silence references to the repositories containing the Tivoized -# firmware or recommendations thereof. Ideally, we'd refer users to -# freedom-respecting repositories with sources and binaries of SOF, -# without any Tivoized binaries, instead of cleaning up the references -# to them, so if you'd like to maintain Sound Free Firmware, please -# let us know. -announce SND_SOC_SOF - "Sound Open Firmware Support" -clean_blob sound/soc/sof/loader.c -clean_blob sound/soc/sof/topology.c -clean_blob sound/soc/sof/fw-file-profile.c -clean_kconfig sound/soc/sof/Kconfig SND_SOC_SOF -clean_mk CONFIG_SND_SOC_SOF sound/soc/sof/Makefile +reject_firmware sound/soc/sh/siu_dai.c +clean_blob sound/soc/sh/siu_dai.c +clean_kconfig sound/soc/sh/Kconfig SND_SOC_SH4_SIU +clean_mk CONFIG_SND_SOC_SH4_SIU sound/soc/sh/Makefile announce SND_SOC_QDSP6_APM - "SoC ALSA audio driver for QDSP6 (APM)" reject_firmware sound/soc/qcom/qdsp6/topology.c @@ -4228,16 +3920,6 @@ clean_mk CONFIG_FSI_MASTER_AST_CF drivers/fsi/Makefile # Bus # ####### -# PCIE - -announce PCIE_RCAR_GEN4 - "Renesas R-Car Gen4 PCIe controller (r8a779g0 V4H)" -reject_firmware drivers/pci/controller/dwc/pcie-rcar-gen4.c -clean_blob drivers/pci/controller/dwc/pcie-rcar-gen4.c -clean_kconfig drivers/pci/controller/dwc/Kconfig PCIE_RCAR_GEN4 -clean_mk CONFIG_PCIE_RCAR_GEN4 drivers/pci/controller/dwc/Makefile - -# I2C - # This takes firmware names from devicetree files, too likely to be # binary blobs offered by a hardware. announce I2C_SLAVE_EEPROM - "I2C eeprom slave driver" @@ -4245,8 +3927,6 @@ reject_firmware drivers/i2c/i2c-slave-eeprom.c clean_kconfig drivers/i2c/Kconfig I2C_SLAVE_EEPROM clean_mk CONFIG_I2C_SLAVE_EEPROM drivers/i2c/Makefile -# MHI - announce MHI_BUS - "Modem Host Interface (MHI) bus" reject_firmware drivers/bus/mhi/host/boot.c clean_kconfig drivers/bus/mhi/host/Kconfig MHI_BUS @@ -4279,29 +3959,21 @@ clean_mk CONFIG_GREYBUS_BOOTROM drivers/staging/greybus/Makefile ####### announce ARCH_QCOM - "Qualcomm Support" -clean_blob arch/arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts -clean_blob arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts clean_blob arch/arm64/boot/dts/qcom/msm8998-lenovo-miix-630.dts clean_blob arch/arm64/boot/dts/qcom/msm8996pro-xiaomi-natrium.dts clean_blob arch/arm64/boot/dts/qcom/msm8996-oneplus3.dts clean_blob arch/arm64/boot/dts/qcom/msm8996-oneplus3t.dts clean_blob arch/arm64/boot/dts/qcom/sa8295p-adp.dts clean_blob arch/arm64/boot/dts/qcom/sa8540p-ride.dts -clean_blob arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi clean_blob Documentation/devicetree/bindings/net/qcom,ipa.yaml -clean_blob arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts clean_blob arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi clean_blob arch/arm64/boot/dts/qcom/sc7180-trogdor-lte-sku.dtsi clean_blob arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi clean_blob arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi -clean_blob arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts -clean_blob arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts -clean_blob arch/arm64/boot/dts/qcom/sc8180x-primus.dts clean_blob arch/arm64/boot/dts/qcom/sc8280xp-crd.dts clean_blob arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts clean_blob arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts clean_blob arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile.dtsi -clean_blob arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama.dtsi clean_blob arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts clean_blob arch/arm64/boot/dts/qcom/sdm845-lg-judyp.dts clean_blob arch/arm64/boot/dts/qcom/sdm845-db845c.dts @@ -4311,64 +3983,27 @@ clean_blob arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi clean_blob arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts clean_blob arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts clean_blob arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts -clean_blob arch/arm64/boot/dts/qcom/sdx75-idp.dts -clean_blob arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts clean_blob arch/arm64/boot/dts/qcom/sm8150-hdk.dts clean_blob arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts clean_blob arch/arm64/boot/dts/qcom/sm8150-mtp.dts clean_blob Documentation/devicetree/bindings/display/msm/gpu.yaml clean_blob arch/arm64/boot/dts/qcom/sm8250-mtp.dts -clean_blob arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi -clean_blob arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi -clean_blob arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts -clean_blob arch/arm64/boot/dts/qcom/qrb4210-rb2.dts clean_blob arch/arm64/boot/dts/qcom/qrb5165-rb5.dts clean_blob arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi clean_blob arch/arm64/boot/dts/qcom/sm8350-hdk.dts clean_blob arch/arm64/boot/dts/qcom/sm8350-mtp.dts -clean_blob arch/arm64/boot/dts/qcom/sm8550-hdk.dts -clean_blob arch/arm64/boot/dts/qcom/sm8550-mtp.dts -clean_blob arch/arm64/boot/dts/qcom/sm8550-qrd.dts -clean_blob arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts -clean_blob arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts clean_blob arch/arm64/boot/dts/qcom/apq8016-sbc.dts -clean_blob arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dts clean_blob arch/arm64/boot/dts/qcom/apq8096-db820c.dts clean_blob arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts clean_blob arch/arm64/boot/dts/qcom/msm8996pro-xiaomi-scorpio.dts clean_blob arch/arm64/boot/dts/qcom/sa8155p-adp.dts -clean_blob arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts clean_blob arch/arm64/boot/dts/qcom/sm6375-sony-xperia-murray-pdx225.dts clean_blob arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts -clean_blob arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts clean_blob arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dts clean_blob arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi clean_blob arch/arm64/boot/dts/qcom/sm8450-hdk.dts clean_blob arch/arm64/boot/dts/qcom/sm8450-qrd.dts clean_blob arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi -clean_blob arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts -clean_blob arch/arm64/boot/dts/qcom/qcm6490-idp.dts -clean_blob arch/arm64/boot/dts/qcom/qcm6490-shift-otter.dts -clean_blob arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts -clean_blob arch/arm64/boot/dts/qcom/qcs8550-aim300-aiot.dts -clean_blob arch/arm64/boot/dts/qcom/qcs8300-ride.dts -clean_blob arch/arm64/boot/dts/qcom/qrb2210-rb1.dts -clean_blob arch/arm64/boot/dts/qcom/sar2130p-qar2130p.dts -clean_blob arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dts -clean_blob arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts -clean_blob arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts -clean_blob arch/arm64/boot/dts/qcom/sm8650-hdk.dts -clean_blob arch/arm64/boot/dts/qcom/sm8650-mtp.dts -clean_blob arch/arm64/boot/dts/qcom/sm8650-qrd.dts -clean_blob arch/arm64/boot/dts/qcom/x1e001de-devkit.dts -clean_blob arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts -clean_blob arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts -clean_blob arch/arm64/boot/dts/qcom/x1e80100-crd.dts -clean_blob arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts -clean_blob arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts -clean_blob arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts -clean_blob arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi -clean_blob arch/arm64/boot/dts/qcom/x1e80100-qcp.dts clean_kconfig arch/arm/mach-qcom/Kconfig ARCH_QCOM clean_mk CONFIG_ARCH_QCOM arch/arm64/boot/dts/qcom/Makefile @@ -4380,13 +4015,14 @@ clean_mk CONFIG_QCOM_MDT_LOADER drivers/soc/qcom/Makefile announce QCOM_WCNSS_CTRL - "Qualcomm WCNSS control driver" reject_firmware drivers/soc/qcom/wcnss_ctrl.c clean_blob drivers/soc/qcom/wcnss_ctrl.c +clean_blob arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts clean_kconfig drivers/soc/qcom/Kconfig QCOM_WCNSS_CTRL clean_mk CONFIG_QCOM_WCNSS_CTRL drivers/soc/qcom/Makefile announce KEYSTONE_NAVIGATOR_QMSS - "Keystone Queue Manager Sub System" reject_firmware drivers/soc/ti/knav_qmss_queue.c clean_blob drivers/soc/ti/knav_qmss_queue.c -clean_blob Documentation/arch/arm/keystone/knav-qmss.rst +clean_blob Documentation/arm/keystone/knav-qmss.rst clean_kconfig drivers/soc/ti/Kconfig KEYSTONE_NAVIGATOR_QMSS clean_mk CONFIG_KEYSTONE_NAVIGATOR_QMSS drivers/soc/ti/Makefile @@ -4401,9 +4037,7 @@ clean_blob arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi clean_blob arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi clean_blob arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi clean_blob arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi -clean_blob arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi clean_blob arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi -clean_blob arch/arm64/boot/dts/mediatek/mt8395-kontron-3-5-sbc-i1200.dts clean_kconfig arch/arm/mach-mediatek/Kconfig ARCH_MEDIATEK clean_mk CONFIG_ARCH_MEDIATEK arch/arm64/boot/dts/mediatek/Makefile @@ -4412,6 +4046,7 @@ announce INTEL_IFS - "Intel In Field Scan" # whether it's code or pure data, but I'm conservatively disabling it # because it's most certainly proprietary. reject_firmware drivers/platform/x86/intel/ifs/load.c +clean_blob drivers/platform/x86/intel/ifs/load.c clean_kconfig drivers/platform/x86/intel/ifs/Kconfig INTEL_IFS clean_mk CONFIG_INTEL_IFS drivers/platform/x86/intel/ifs/Makefile diff --git a/helpers/DATA/linux-hwe-6.2/deblob-check b/helpers/DATA/linux-hwe-6.2/deblob-check new file mode 100644 index 0000000..2097f52 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.2/deblob-check @@ -0,0 +1,8531 @@ +#! /bin/sh + +# deblob-check version 2023-02-05 r19039 +# modified with 2023-03-10 r19100 +# modified with 2023-03-17 r19120 +# modified with 2023-04-13 r19170 (partial) +# modified with 2023-05-17 r19267 +# Inspired in gNewSense's find-firmware script. +# Written by Alexandre Oliva + +# Check http://www.fsfla.org/svn/fsfla/software/linux-libre for newer +# versions. + +# Copyright 2008-2023 Alexandre Oliva +# +# This program is part of GNU Linux-libre, a GNU project that +# publishes scripts to clean up Linux so as to make it suitable for +# use in the GNU Project and in Free System Distributions. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 +# USA + + +# usage: deblob-check [-S] [-v] [-v] [-s S] [--reverse-patch] \ +# [--use-...|--gen-flex] [-lDdBbCcXxPpFftVh?H] \ +# *.tar* patch-* [-i prefix/] *.patch *.diff... + +# Look for and report too-long undocumented sequences of numbers +# (generally blobs in disguise) in source files, as well as requests +# for loading non-Free firmware. + +# The order of command line flags is significant. Flags given out of +# the order above won't be handled correctly, sorry. + +# -s --sensitivity: Specifies the number of consecutive integral or +# character constants that trigger the blob detector. +# Must be followed by a blank and a number. + +# --reverse-patch: Test the removed parts of a patch, rather than +# the added ones. + +# --use-python: Choose the internal python script for the bulk of +# the work. This is the fastest for cleaning up, +# because of the fast startup time of the regular +# expression engine. This option is the default if +# python is found. Set PYTHON to override the python +# interpreter. The internal script works in both Python +# 2 and 3. + +# --use-awk: Choose the internal GNU awk script for the bulk of the +# work. This is the recommended option to check entire +# tarballs, because its regular expression engine offers +# the best speed/memory use. This is the default option +# if python is not found. Set AWK to specify GNU awk's +# name. + +# --use-perl: Choose the internal perl script. This is not +# recommended, because our regular expressions exceed +# some limits hard-coded into perl. Set PERL to specify +# which perl implementation to use. This is the default +# option if neither python nor GNU awk are found, AND if +# PERL is set. + +# --use-sed: Choose the internal GNU sed script for the bulk of the +# work. This is the default option, if no other +# alternative is found. Use SED to specify which sed +# program to use. + +# --save-script-input: Save the input that would have been fed to +# any of the engines above. + +# --gen-flex: Generate a flex input file with all known blob and +# false positive patterns. It might have been a fast +# regular expression processor if only the flex program +# completed in reasonable time. + + +# For reference, as of 5.8-rc6-gnu, checking the full tarball (with +# -B, not -C) takes up: + +# Engine top mem time +# GNU awk 5.0.1 2.2GB 1x +# Python 3.8.3 48MB 14x +# Perl 5.30.3 22MB 45x +# GNU sed 4.5 24GB 4x + + +# The default sensitivity is 32 constants. + +# The sensitivity, if present, must be the first option. The action +# selection, if present, must be the first argument, except for the +# sensitivity and verbosity. + +# The default can be overridden with one of: + +# -l --list-blobs: list files that contain sequences that match the +# blob detector test and that are not known to be false +# positives. This is the default option. + +# -d --deblob --mark-blobs: print the processed input, replacing +# sequences that match the blob detector test and that +# are NOT known to be false positives with +# /*(DEBLOBBED)*/. + +# -D --cat: print the processed input, as it would have been fed to +# the blob detector script. Use -S to save the sed +# script used to process it, and search for `sedcat:' in +# comments to locate the relevant adaptation points. + +# -b --print-marked-blobs: like -d, but print only the matching +# sequences. + +# -B --print-blobs: like -b, but do not deblob the sequences. + +# -c --print-marked-blobs-with-context: like -b, but try to maximize +# the context around the blobs. This maximization will +# sometimes disregard known false positives, if they +# happen to be contained within the extended match. +# This is probably an indication that the false positive +# matching rule could be improved. + +# -C --print-blobs-with-context: like -B, but try to maximize the +# context around the blobs. + +# -X --print-all-matches: print all blobs, be they known false +# positives or actual blobs. + +# -x --list-all-matches: list files that contain sequences that appear +# to be blobs, be they known false positives or not. + +# -p --mark-false-positives: print the processed input, replacing +# sequences that match the blob detector test, even those +# known to be false positives, with /*(DEBLOBBED)*/. + +# -P --list-false-positives: list files that contain false positives. + +# -f --print-marked-false-positives: like -p, but print only the +# matching sequences. + +# -F --print-false-positives: like -f, but do not deblob the sequences. + +# -t --test: run (very minimal) self-test. + +# -V --version: print a version number + +# -h -? -H --help: print short or long help message + + +# debugging options: + +# -S --save-scripts: save scripts and temporary files. + +# -v --verbose: increase verbosity level, for internal debugging. May +# be given at most twice. + + +# file options: + +# --: Don't process command-line options any further. All following +# arguments are taken as filenames. + +# -i --implied-prefix --prefix: prepend the given prefix to each filename +# listed after this option, when configuring false positives +# and negatives. + +# *.tar*: iterate over all files in the named tar file. + +# *.patch, patch-*, *.diff: Look for blobs in the [ +] parts of the +# *patch, unless --reverse-patch is given, in which case +# the [ -] parts will be used. + +# Anything else is assumed to be a source file. + +# *.gz | *.bz2 | *.xz | *.lz: Decompress automatically. + + +# The exit status is only significant for the --list options: it will +# be true if nothing was found, and false otherwise. + +: # Mark the end of the help message. + +# TODO: + +# - Improve handling of command-line arguments, so as to not make the +# order relevant. + +# - Add an option for the user to feed their own false positive +# patterns. + +# - Add support to recognize known blobs (or other non-Free +# signatures, really), to speed up the scanning of files containing +# blobs, and to avoid attempts to disguise blobs. + +# - Factor out the code in the various print_* and list_* parts of the +# sed script, at least in the shell sources. Make sure they're all +# included and expanded in a saved --cat script though. + +# - Add support for file name tagging in patterns, such that blobs or +# false positives are recognized only when handling the specific +# filename, be it stand-alone, as part of a patch or a tarball. This +# should help avoid recognition of actual blobs as false positives +# just because there's a symbol with a different name elsewhere. + +# It is convenient that the patterns provided by the user to +# recognize file names can be empty (for backward compatibility), but +# this should ideally be phased out in favor of more precise matches. +# It's important that files can be recognized with leading tarball or +# patch names, that the filename used within the tarball contain +# leading garbage, and even that a partial pathname be recognizable +# (say recognize drivers/net/whatever.c when the input file is named +# ../net/whatever.c). + +# Rather than using regular expressions to recognize multiple files +# it's convenient (but not quite essential) that filename patterns be +# specifiable as regular expressions, rather than simple filenames, +# but there are other ways around this. + +# Maintaining begin/end markers in a stack-like fashion as part of +# the processed stream, and using the names in them as (optional) part +# of the recognition patterns, would enable us to do it. + +# Introducing annotations next to the false positives (and recognized +# blobs) as an early part of the process may speed things up and +# enable fast processing, but how to introduce the annotations quickly +# in the first place? Given patterns such as + +# \(\(file1\)\(.*\)\(pat1\)\|\(file2\)\(.*\)\(pat2\)\|...\) + +# how do we get sed to introduce a marker that contains file2 right +# before or right after pat2, without turning a big efficient regexp +# into a slowish sequence of s/// commands? + +# - Re-check and narrow false-positive patterns to make sure they +# apply only to the relevant content. + +# - Scripting abilities, so as to be able to automate the removal of +# source files or of blobs from source files in a tarball without +# having to extract the entire tarball (as in tar --update/--delete) +# would be nice. Carrying over removed files automatically into +# patches would also be great, and this sort of script would be +# perfect to document what has been done to a tarball plus a set of +# patches. Something like deblob.script: +# +# tarball linux-2.6.24.tar.bz2 +# delete net/wireloss/freedom.c drivers/me/crazy.c +# deblob include/linux/slab-blob-kfree.h +# deconfig drivers/char/drm DRM_IS_BAD +# +# patch patch-2.6.25-rc7.bz2 +# delete arch/power/over/you.c + +# such that the deletes from an earlier file would carry over into the +# subsequent ones, and new tarballs and patch files would be generated +# with the libre- prefix in their basename, and the xdeltas between +# the original files and the modified files would be minimal, and +# redundant with this script and the input script while at that. + +# - Improve documentation of the code. + +# - Write a decent testsuite. + +# - Insert your idea here. :-) + +# Yeah, lots of stuff to do. Want to help? + +# This makes it much faster, and mostly immune to non-ASCII stuff, as +# long as a 8-bit-safe sed is used. Probably a safe assumption these +# days. +LC_ALL=C; export LC_ALL +LANGUAGE=C; export LANGUAGE + +rm="rm -f" + +for echo in 'echo' 'printf %s\n'; do + case `$echo '\nx'` in + '\nx') break;; + esac +done +case `$echo '\nx'` in +'\nx') ;; *) echo Cannot find out what echo to use >&2; exit 1;; +esac + +for echo_n in "echo -n" "printf %s"; do + case `$echo_n '\na'; $echo_n '\nb'` in + '\na\nb') break;; + esac +done +case `$echo_n a; $echo_n b` in +'ab') ;; *) echo Cannot find out an echo -n equivalent to use >&2; exit 1;; +esac + +case $1 in +--save-scripts | -S) + shift + rm="echo preserving" + ;; +esac + +# Choose verbosity level for sed script debugging and performance +# analysis. +case $1 in +--verbose | -v) + shift + case $1 in + --verbose | -v) + shift + v="i\\ +: +p +i\\ +" + vp="2" + ;; + *) + v="P;i\\ +" + vp="1" + ;; + esac + ;; +*) + v="# " + vp="0" + ;; +esac + +sens=31 # 32 - 1 +case $1 in +--sensitivity | -s) + sens=$2; + shift 2 || exit 1 + + if test "$sens" -gt 0 2>/dev/null; then + : + else + echo invalid sensitivity: $sens >&2 + exit 1 + fi + + sens=`expr $sens - 1` + ;; +esac + +reverse_patch=false +case $1 in +--reverse-patch) + reverse_patch=: + shift; + ;; +esac + +prefix=/ +case $1 in +--implied-prefix | --prefix| -i) + prefix=$2 + case $prefix in + /*/) ;; + */) prefix=/$prefix ;; + /*) prefix=$prefix/ ;; + *) prefix=/$prefix/ ;; + esac + shift 2 || exit 1 + ;; +esac + +test_mode=false + +name=deblob-check + +set_eqscript_main () { + $set_main_cmd "$@" +} + +set_eqscript_cmd () { + set_eqscript_main "list_blob" +} + +set_sed_cmd () { + set_sed_main " +i\\ +$file\\ +/*(DEBLOB-\\ +ERROR)*/ +q 1" +} + +set_flex_cmd () { + set_flex_main +} + +set_save_script_input_cmd () { + set_save_script_input_main +} + +set_cmd=set_eqscript_cmd +if (${PYTHON-python} --version) > /dev/null 2>&1; then + # Python will exhibit exponential behavior processing some regular + # expressions, but we may have already fixed them all. (see + # http://swtch.com/~rsc/regexp/regexp1.html for details) + set_main_cmd=set_python_main +elif (${AWK-gawk} --re-interval --version) > /dev/null 2>&1; then + # GNU awk works fine, but it requires --re-interval to accept regexp + # ranges, which we rely on to match blobs. We could expand the blob + # on our own, but, yuck. + set_main_cmd=set_awk_main +elif (${PERL-false} --version) > /dev/null 2>&1; then + # Don't choose perl by default. Besides the potential for + # exponential behavior, we exceed some internal recursion limits. + set_main_cmd=set_perl_main +else + # Sed takes GBs of RAM to compile all the huge regexps in the sed + # script we generate with all known false positives and blobs in + # Linux. However, it is somewhat faster than GNU awk and even + # python for long runs. + # Try it: deblob-check --use-sed linux-2.6.32.tar.bz2 + set_cmd=set_sed_cmd +fi + +case $1 in +--use-python) + shift; + set_cmd=set_eqscript_cmd; + set_main_cmd=set_python_main; + ;; + +--use-perl) + shift; + set_cmd=set_eqscript_cmd; + set_main_cmd=set_perl_main; + ;; + +--use-awk) + shift; + set_cmd=set_eqscript_cmd; + set_main_cmd=set_awk_main; + ;; + +--use-sed) + shift; + set_cmd=set_sed_cmd; + ;; + +--gen-flex) + shift; + set_cmd=set_flex_cmd; + ;; + +--save-script-input) + shift; + set_cmd=set_save_script_input_cmd; + ;; +esac + +case $1 in +--version | -V) + ${SED-sed} -e '/^# '$name' version /,/^# Written by/ { s/^# //; p; }; d' < $0 + exit 0 + ;; + +-\? | -h) + ${SED-sed} -n -e '/^# usage:/,/# -h/ { /^# -/,/^$/{s/^# \(-.*\):.*/\1/p; d; }; s/^\(# \?\)\?//p; }' < $0 && + echo + echo "run \`$name --help | more' for full usage" + exit 0 + ;; + +--help | -H) + ${SED-sed} -n -e '/^# '$name' version /,/^[^#]/ s/^\(# \?\)\?//p' < $0 + exit 0 + ;; + +--test | -t) + test_mode=: + ;; + +--mark-false-positives | -p) + shift; + set_sed_cmd () { + set_sed_main "b list_both" "p" "b list_matches" + } + set_eqscript_cmd () { + set_eqscript_main "replace_blob = print_blob = without_falsepos" + } + ;; + +--print-marked-false-positives | -f) + shift; + set_sed_cmd () { + set_sed_main "b print_marked_matches" "" "b print_marked_matches" + } + set_eqscript_cmd () { + set_eqscript_main "replace_falsepos = print_falsepos" + } + ;; + +--print-false-positives | -F) + shift; + set_sed_cmd () { + set_sed_main "b print_matches" "" "b print_matches" + } + set_eqscript_cmd () { + set_eqscript_main "print_falsepos" + } + ;; + +--deblob | --mark-blobs | -d) + shift; + set_sed_cmd () { + set_sed_main "b list_blobs" "p" "p" + } + set_eqscript_cmd () { + set_eqscript_main "replace_blob = print_blob = print_falsepos = print_nomatch" + } + ;; + +--cat | -D) + shift; + set_sed_cmd () { + set_sed_main \ + "# sedcat: Actual blob detected, but there may be false positives." \ + "# sedcat: No blob whatsoever found." \ + "# sedcat: False positives found." \ + "p +d +# sedcat: Just print stuff, remove this line to run the actual script." + } + set_eqscript_cmd () { + set_eqscript_main "print_blob = print_falsepos = print_nomatch" + } + ;; + +--print-marked-blobs | -b) + shift; + set_sed_cmd () { + set_sed_main "b print_marked_blobs" + } + set_eqscript_cmd () { + set_eqscript_main "replace_blob = print_blob" + } + ;; + +--print-blobs | -B) + shift; + set_sed_cmd () { + set_sed_main "b print_blobs" + } + set_eqscript_cmd () { + set_eqscript_main "print_blob" + } + ;; + +--print-marked-blobs-with-context | -c) + shift; + set_sed_cmd () { + set_sed_main "b print_marked_cblobs" + } + set_eqscript_cmd () { + set_eqscript_main "with_context = replace_blob = print_blob" + } + ;; + +--print-blobs-with-context | -C) + shift; + set_sed_cmd () { + set_sed_main "b print_cblobs" + } + set_eqscript_cmd () { + set_eqscript_main "with_context = print_blob" + } + ;; + +--list-false-positives | -P) + shift; + set_sed_cmd () { + set_sed_main "" "" " +i\\ +$file\\ +/*(DEBLOB-\\ +ERROR)*/ +q 1" + } + set_eqscript_cmd () { + set_eqscript_main "list_falsepos" + } + ;; + +--list-all-matches | -x) + shift; + set_sed_cmd () { + set_sed_main " +i\\ +$file\\ +/*(DEBLOB-\\ +ERROR)*/ +q 1" "" " +i\\ +$file\\ +/*(DEBLOB-\\ +ERROR)*/ +q 1" + } + set_eqscript_cmd () { + set_eqscript_main "list_blob = list_falsepos" + } + ;; + +--print-all-matches | -X) + shift; + set_sed_cmd () { + set_sed_main "b print_both" "" "b print_matches" + } + set_eqscript_cmd () { + set_eqscript_main "print_blob = print_falsepos" + } + ;; + +*) + case $1 in + --list-blobs | -l) shift;; + esac + case $1 in + -- | --implied-prefix | --prefix | -i) ;; + -*) + if test ! -f "$1"; then + echo "$name: \`$1' given too late or out of the proper sequence." >&2 + echo "$name: The order of arguments is significant, see the usage." >&2 + exit 1 + fi + ;; + esac + ;; + +esac + +case $1 in +--) + sawdashdash=t + shift;; +esac + +if $test_mode; then + allpass=: + for tool in awk perl python sed; do + echo testing $tool... + + targs="-s 4 -i /deblob-check-testsuite/ --use-$tool" + + pass=: + + + # Exercise some nasty inputs to see that we + # recognize them as blobs with full context. + test="positive context" + for string in \ + "1,2,3,4" \ + "= { +1, 0x2, 03, L'\x4' +}" \ + "= +{ + '\\x1', '\\002' + , + { + { \"\\x3\", }, + \"\\004\" + }, +};" \ + ".long 1,2 + .long \$3,\$4" \ + "#define X { 1, 2, \\ + 3, 4, /* comment */ \\ + }" \ + "= { +/* + * multi-line + * comment + */ + { + 0x4c00c000, 0x00000000, 0x00060000, 0x00000000, + }, +}" \ + "= { +blob( +) +accept( +) +1, 2, 3, 4 +}" \ + ; do + case `$echo "$string" | $0 $targs -C` in + "::: - ::: +$string") ;; + *) $echo "failed $test test for: +$string" >&2 + pass=false;; + esac + done + + # Make sure we do not recognize these as blobs. + test=negative + for string in \ + "#define X { 1, 2 } +#define Y { 3, 4 }" \ + " 0x00, 0x00, 0x00 " \ + "accept(1, 2, 3, +4, 5, 6)" \ + ; do + case `$echo "$string" | $0 $targs` in + "") ;; + *) echo "failed $test test for: +$string" >&2 + pass=false;; + esac + done + + # Make sure we print only the lines with blobs. + test="only blob" + odd=: + for string in \ + "= { +1, 0x2, 03, L'\x4' +}" \ + "1, 0x2, 03, L'\x4'" \ +\ + "= +{ + '\\x1', '\\002' + , + { + { \"\\x3\", }, + \"\\004\" + }, +};" \ + " '\\x1', '\\002' + , + { + { \"\\x3\", }, + \"\\004\"" \ +\ + ".long 1,2 + .long \$3,\$4" \ + ".long 1,2 + .long \$3,\$4" \ +\ + "#define X { 1, 2, \\ + 3, 4, /* comment */ \\ + }" \ + "#define X { 1, 2, \\ + 3, 4, /* comment */ \\" \ +\ + "= { +/* + * multi-line + * comment + */ + { + 0x4c00c000, 0x00000000, 0x00060000, 0x00000000, + }, +}" \ + " 0x4c00c000, 0x00000000, 0x00060000, 0x00000000," \ +\ + "MODULE_FIRMWARE(x); +MODULE_FIRMWARE(y); +1, 2, 3, 4; 5, 6, 7, 8; +9, 10, 11" \ + "MODULE_FIRMWARE(x); +MODULE_FIRMWARE(y); +::: - ::: +1, 2, 3, 4; 5, 6, 7, 8;" \ +\ + "= { +blob() +accept() +1, 2, 3, 4 +}" \ + "blob() +::: - ::: +1, 2, 3, 4" \ +\ + "a blobeol y +x" \ + "a blobeol y +x" \ +\ + ; do + if $odd; then + input=$string odd=false + continue + fi + case `$echo "$input" | $0 $targs -B` in + "::: - ::: +$string") ;; + *) + $echo "failed $test test for: +$input" >&2 + pass=false + ;; + esac + odd=: + done + $odd || { echo "internal testsuite failure in $test" >&2; } + + # Make sure we deblob only the blobs. + test="deblobs" + odd=: + for string in \ + "= { 1, 0x2, 03, L'\x4' }" \ + "= { /*(DEBLOBBED)*/' }" \ +\ + "= +{ + '\\x1', '\\002' + , + { + { \"\\x3\", }, + \"\\004\" + }, +};" \ + " '\\x/*(DEBLOBBED)*/\"" \ +\ + ".long 1,2 + .long \$3,\$4" \ + ".long /*(DEBLOBBED)*/" \ +\ + "#define X { 1, 2, \\ + 3, 4, /* comment */ \\ + }" \ + "#define X { /*(DEBLOBBED)*/, /* comment */ \\" \ +\ + "= { +/* + * multi-line + * comment + */ + { + 0x4c00c000, 0x00000000, 0x00060000, 0x00000000, + }, +}" \ + " /*(DEBLOBBED)*/," \ +\ + "MODULE_FIRMWARE(x); +MODULE_FIRMWARE(y); +1, 2, 3, 4; 5, 6; 7, 8, 9, 10; +9, 10, 11" \ + "/*(DEBLOBBED)*/ +::: - ::: +/*(DEBLOBBED)*/; 5, 6; /*(DEBLOBBED)*/;" \ +\ + "= { +accept() blob() x blob( +) y +}" \ + "accept() /*(DEBLOBBED)*/ x /*(DEBLOBBED)*/ y" \ +\ + "= { +accept() blob() x blob( +w) y +}" \ + "accept() /*(DEBLOBBED)*/ x /*(DEBLOBBED)*/ y" \ +\ + "a blobeol y +x" \ + "a /*(DEBLOBBED)*/x" \ +\ + ; do + if $odd; then + input=$string odd=false + continue + fi + case `$echo "$input" | $0 $targs -b` in + "::: - ::: +$string") ;; + *) + $echo "failed $test test for: +$input" >&2 + pass=false + ;; + esac + odd=: + done + $odd || { echo "internal testsuite failure in $test" >&2; } + + # How did we do? + if $pass; then + echo success for $tool + else + allpass=$pass + fi + done + $allpass + exit +fi + +# Call addx as needed to set up more patterns to be recognized as +# false positives. Takes the input filename in $1. + +set_except () { + case $prefix$1 in + */*linux*.tar* | */*kernel*.tar* | */*linux-*.*/*) + # false alarms, contain source + # drivers/net/wan/wanxlfw.inc_shipped -> wanxlfw.S + accept 'static[ ]u8[ ]firmware\[\]=[{][\n]0x60,\(0x00,\)*0x16,\(0x00,\)*\([\n]\(0x[0-9A-F][0-9A-F],\)*\)*[\n]0x23,0xFC,0x00,0x00,0x00,0x01,0xFF,0xF9,0x00,0xD4,0x61,0x00,0x06,0x74,0x33,0xFC,\([\n]\(0x[0-9A-F][0-9A-F],\)*\)*0x00[\n][}][;]' + # drivers/usb/serial/xircom_pgs_fw.h -> xircom_pgs.S + initnc 'static[ ]const[ ]struct[ ]ezusb_hex_record[ ]xircom_pgs_firmware\[\][ ]=' + # drivers/usb/serial/keyspan_pda_fw_h -> keyspan_pda.S + initnc 'static[ ]const[ ]struct[ ]ezusb_hex_record[ ]keyspan_pda_firmware\[\][ ]=' + # arch/m68k/ifpsp060/*.sa -> src/*.s + accept '[ ]\.long[ ]0x60ff0000,0x02360000,0x60ff0000,0x16260000[\n]'"$sepx$blobpat*" + accept '[ ]\.long[ ]0x60ff0000,0x17400000,0x60ff0000,0x15f40000[\n]'"$sepx$blobpat*" + # arch/powerpc/platforms/cell/spufs/spu_save_dump.h_shipped -> spu_save.c + initnc 'static[ ]unsigned[ ]int[ ]spu_save_code\[\][ ][ ]__attribute__[(][(]__aligned__[(]128[)][)][)][ ]=' + # arch/powerpc/platforms/cell/spufs/spu_restore_dump.h_shipped -> spu_restore.c + initnc 'static[ ]unsigned[ ]int[ ]spu_restore_code\[\][ ][ ]__attribute__[(][(]__aligned__[(]128[)][)][)][ ]=' + # drivers/net/ixp2000/ixp2400_tx.ucode -> ixp2400_tx.uc + initnc '[ ]\.initial_reg_values[ ]=[ ][(]struct[ ]ixp2000_reg_value[ ]\[\][)][ ][{]' drivers/net/ixp2000/ixp2400_tx.ucode + # drivers/net/ixp2000/ixp2400_rx.ucode -> ixp2400_rx.uc + initnc '[ ]\.initial_reg_values[ ]=[ ][(]struct[ ]ixp2000_reg_value[ ]\[\][)][ ][{]' drivers/net/ixp2000/ixp2400_rx.ucode + + + # checked: + + accept '[ ][$]3[ ]=[ ][{][{]pge[ ]=[ ][{][{]ste[ ]=[ ][{]\(\([0-9][0-9a-fx{},\n ]*\|\(pge\|ste\)[ ]=\|\)[{},\n ]*\)*[}]$' + accept '__clz_tab:[\n][ ]\.byte[ ]0\(,[0-5]\)\+'"$sepx$blobpat*" arch/sparc/lib/divdi3.S + accept 'PITBL:[\n][ ][ ]\.long[ ][ ]0xC0040000,0xC90FDAA2,'"$blobpat*" arch/sparc/lib/divdi3.S + accept '\(0x[0F][0F],\)\+\\[\n]\(\(0x[0F][0F],\)\+\\[\n]\)*\(0x[0F][0F],\)\+0x00' arch/m68k/mac/mac_penguin.S + accept '\.lowcase:[\n][ ]\.byte[ ]0x00\(,0x0[1-7]\)\+'"$sepx$blobpat*"'$' arch/s390/kernel/head.S + accept '_zb_findmap:[\n][ ][ ][ ][ ][ ][ ][ ][ ][ ]\.byte[ ][ ]0\(,[123],0\)\+,4'"$sepx$blobpat*"'$' arch/s390/kernel/bitmap.S + accept '_sb_findmap:[\n][ ][ ][ ][ ][ ][ ][ ][ ][ ]\.byte[ ][ ]8\(,0,[123]\)\+,0'"$sepx$blobpat*"'$' arch/s390/kernel/bitmap.S + accept '[ ]\.section[ ]__ex_table,["]a["]'"$sepx$blobpat*" arch/powerpc/lib/copyuser_64.S + accept '[ ]memcpy[(]src,[ ]["]\\x01\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00["].*PROGxxxx' arch/powerpc/platforms/iseries/mf.c + initnc 'static[ ]const[ ]unsigned[ ]int[ ]cpu_745x\[2\]\[16\][ ]=' arch/ppc/platforms/ev64260.c + initnc 'const[ ]unsigned[ ]char[ ]__flsm1_tab\[256\][ ]=' arch/alpha/lib/fls.c + accept '#define[ ]_MAP_0_32_ASCII_SEG7_NON_PRINTABLE[ ]\\[\n][ ]\(0,\)\+$' 'drivers/input/misc/map_to_7segment\.h\|include/linux/map_to_7segment\.h' + initc '[ ]static[ ]int[ ][ ][ ][ ][ ][ ]init_values_b\[\][ ]=' sound/oss/ad1848.c + initnc 'static[ ]unsigned[ ]char[ ]atkbd_set2_keycode\[512\][ ]=' drivers/input/keyboard/atkbd.c + accept 'desc_config1:[\n][ ]\.byte[ ]0x09,[ ]0x02'"$sepx$blobpat*" 'drivers/usb/serial/\(keyspan_pda\|xircom_pgs\).S' + accept 'string_mfg:[\n]\?\([;]\?[ ]\.byte[^\n]*[\n]\)\+string_mfg_end:' 'drivers/usb/serial/\(keyspan_pda\|xircom_pgs\).S' + accept 'string_product:[\n]\?\([;]\?[ ]\.byte[^\n]*[\n]\)\+string_product_end:' 'drivers/usb/serial/\(keyspan_pda\|xircom_pgs\).S' + accept '[ ][ ][ ][/][*][ ]\(SQCIF\|QSIF\|QCIF\|SIF\|CIF\|VGA\)[ ][*][/][\n][ ][ ][ ][{][\n][ ][ ][ ][ ][ ][ ][{]'"$blobpat*" drivers/media/video/pwc/pwc-nala.h + accept 'P[13]\([\n]#[^\n]*\)*[\n]*\([\n][0-9 ]*\)\+' drivers/video/logo/*.ppm + accept 'for[ ]i[ ]in[ ][ 0-9\\\n]*[\n]do' 'Documentation/specialix\.txt|Documentation/serial/specialix\.txt' + accept '[ ][ ][ ][ ][ ][ ][ ][ ][ ]:[ ][ ][ ]3600000[ ][ ][ ]3400000[ ][ ][ ]3200000[ ][ ][ ]3000000[ ][ ][ ]2800000[ ]' Documentation/cpu-freq/cpufreq-stats.txt + accept '00[ ]00[\n]64[ ]01[\n]8e[ ]0b[\n][\n][0-9a-f \n]*fe[ ]fe' 'Documentation/scsi/\(sym\|ncr\)53c8xx_2.txt' + accept '0f[ ]00[ ]08[ ]08[ ]64[ ]00[ ]0a[ ]00[ ]-[ ]id[ ]0[\n]'"$blobpat*" 'Documentation/scsi/\(sym\|ncr\)53c8xx_2.txt' + accept 'default[ ]nvram[ ]data:'"$sepx$blobpat*" 'Documentation/scsi/\(sym\|ncr\)53c8xx_2.txt' + accept '0x0458[ ][ ][ ][ ][ ]0x7025[\n]'"$blobpat*" Documentation/video4linux/sn9c102.txt + accept '0x102c[ ][ ][ ][ ][ ]0x6151[\n]'"$blobpat*" Documentation/video4linux/et61x251.txt + accept '0x041e[ ][ ][ ][ ][ ]0x4017[\n]'"$blobpat*" Documentation/video4linux/zc0301.txt + accept '[ ][ ][(]gdb[)][ ]x[/]100x[ ][$]25[\n][ ][ ]0x507d2434:[ ][ ][ ][ ][ ]0x507d2434[ ][ ][ ][ ][ ][ ]0x00000000[ ][ ][ ][ ][ ][ ]0x08048000[ ][ ][ ][ ][ ][ ]0x080a4f8c'"$sepx$blobpat*" Documentation/uml/UserModeLinux-HOWTO.txt + accept '[ ][ ][ ][ ][ ][ ]1[ ][ ]0[ ][ ]0[ ][ ]0[ ][ ]0x308'"$sepx$blobpat*" Documentation/isdn/README.inc + accept 'domain[ ][ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]10[ ]11[ ]12[ ]13[ ]14[ ]15[ ]16[ ]17[ ]18[ ]19[ ]20[ ]21[ ]22[ ]23[ ]24[ ]25[ ]26[ ]27[ ]28[ ]29[ ]30[ ]31[ ]32[ ]33[ ]34[ ]35[ ]36$' Documentation/sched-stats.txt + accept '[ * ]*0[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]1[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]2[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]3[\n][ * ]*0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1' 'net/\(netfilter\|ipv4\)/ipvs/ip_vs_sync.c|net/sctp/sm_make_chunk.c|include/linux/scpt.h' + accept '[ ][*][ ][ ]1[ ]1[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]1[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0' arch/x86/lguest/boot.c + ocomment '[ ][/][*][ ]Configure[ ]the[ ]PCI[ ]bus[ ]bursts[ ]and[ ]FIFO[ ]thresholds.' drivers/net/fealnx.c + ocomment '[/][*][ ]the[ ]original[ ]LUT[ ]values[ ]from[ ]Alex[ ]van[ ]Kaam[ ]' drivers/hwmon/via686a.c + initc 'static[ ]const[ ]unsigned[ ]char[ ]init\[\][ ]=[ ][{][^;]*MODE=0[ ][;].*SAA_7114_NTSC_HSYNC_START' drivers/media/video/saa7114.c + + defsnc 'static[ ]struct[ ]cipher_testvec[ ]\(aes\|anubis\|bf\|camellia\|cts_mode\|des3_ede\|cast6\|salsa20_stream\|serpent\|tf\|tnepres\|xeta\|x\?tea\)\(_\(cbc\|ctr\(_rfc3686\)\?\|xts\)\)\?_\(enc\|dec\)_tv_template\[\][ ]=' 'crypto/\(tcrypt\|testmgr\).h' + defsnc 'static[ ]struct[ ]comp_testvec[ ]\(deflate\|lzo\)_\(de\)\?comp_tv_template\[\][ ]=' 'crypto/\(tcrypt\|testmgr\).h' + defsnc 'static[ ]struct[ ]hash_testvec[ ]\(aes_xcbc128\|crc32c\|hmac_sha2\(24\|56\)\|\(sha\|wp\)\(256\|384\|512\)\)_tv_template\[\][ ]=' 'crypto/\(tcrypt\|testmgr\).h' + # initnc '[ ]*\.\(digest\|entries\|input\|key\|output\|plaintext\|result\)[ \n ]*=[ ][{"]' 'crypto/\(tcrypt\|testmgr\).h' + + defsnc 'static[ ]\(const[ ]\)\?RegInitializer[ ]initData\[\][ ]__initdata[ ]=' 'drivers/ide/ali14xx\.c\|drivers/ide/legacy/ali14xx\.c' + defsnc 'static[ ]const[ ]u8[ ]setup\[\][ ]=' 'drivers/ide/delkin_cb\.c\|drivers/ide/pci/delkin_cb\.c' + defsnc 'static[ ]u8[ ]cvs_time_value\[\]\[XFER_UDMA_6[ ]-[ ]XFER_UDMA_0[ ][+][ ]1\][ ]=' 'drivers/ide/sis5513\.c\|drivers/ide/pci/sis5513\.c' + defsnc 'static[ ]u8[ ]\(act\|ini\|rco\)_time_value\[\]\[8\][ ]=' 'drivers/ide/sis5513\.c\|drivers/ide/pci/sis5513\.c' + defsnc 'static[ ]const[ ]u8[ ]speedtab[ ]\[3\]\[12\][ ]=' 'drivers/ide/umc8672\.c\|drivers/ide/legacy/umc8672\.c' + defsnc 'static[ ]const[ ]s8[ ]\(b43\(legacy\)\?\|bcm43xx\)_tssi2dbm_[bg]_table\[\][ ]=' net/wireless/b43/phy.c + defsnc 'static[ ]const[ ]char[ ]zr360[56]0_dht\[0x1a4\][ ]=' 'drivers/media/video/zr36060\.c\|drivers/media/video/zoran/zr36060\.c' + defsnc 'static[ ]const[ ]char[ ]zr360[56]0_dqt\[0x86\][ ]=' 'drivers/media/video/zr36060\.c\|drivers/media/video/zoran/zr36060\.c' + defsnc 'static[ ]u8[ ]tas3004_treble_table\[\][ ]=' sound/aoa/codecs/tas-basstreble.h + + # This file contains firmwares that we deblob with high + # sensitivity, so make sure the sequences of numbers that are not + # blobs are not deblobbed. FIXME: we should have patterns to + # recognize the blobs instead. + defsnc '[ ]static[ ]const[ ]u32[ ]test_pat\[4\]\[6\][ ]=' drivers/net/tg3.c + accept "[ ][}]\\(,\\?[ ]mem_tbl_5\\(70x\\|705\\|755\\|906\\)\\[\\][ ]=[ ][{]$sepx$blobpat*$sepx[}]\\)*[;]" drivers/net/tg3.c + + # end of generic checked expressions. + # version-specific checked bits start here + + # removed in 2.6.28 + defsnc 'static[ ]unsigned[ ]char[ ]irq_xlate\[32\][ ]=' arch/sparc/kernel/sun4m_irq.c + defsnc 'static[ ]int[ ]logitech_expanded_keymap\[LOGITECH_EXPANDED_KEYMAP_SIZE\][ ]=' drivers/hid/hid-input.c + defsnc '[ ]static[ ]const[ ]\(__\)\?u8[ ]\(read_indexs\|n\(set\)\?[0-9]*\(_other\)\?\|missing\)\[[0-9x]*\][ ]=' drivers/media/video/gspca/t613.c + defsnc 'static[ ]const[ ]u_char[ ]nand_ecc_precalc_table\[\][ ]=' drivers/mtd/nand/nand_ecc.c + oprepline '#define[ ]AR5K_RATES_\(11[ABG]\|TURBO\|XR\)[ ]' drivers/net/wireless/ath5k/ath5k.h + defsnc 'static[ ]const[ ]struct[ ]ath_hal[ ]ar5416hal[ ]=' drivers/net/wireless/ath9k/hw.c + defsnc 'const[ ]unsigned[ ]char[ ]INIT_2\[127\][ ]=' drivers/video/omap/lcd_sx1.c + + # removed in 2.6.24 + accept "[ ]Psize[ ][ ][ ][ ]Ipps[ ][ ][ ][ ][ ][ ][ ]Tput[ ][ ][ ][ ][ ]Rxint[ ][ ][ ][ ][ ]Txint[ ][ ][ ][ ]Done[ ][ ][ ][ ][ ]Ndone[\\n][ ]---------------------------------------------------------------\\([\\n][ 0-9]\\+\\)\\+"'$' + initnc 'static[ ]u_short[ ]ataplain_map\[NR_KEYS\][ ]__initdata[ ]=' + initnc '[ ]static[ ]const[ ]unsigned[ ]char[ ]invert5\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]alpa2target\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]target2alpa\[\][ ]=' + oprepline '#define[ ]INIT_THREAD[ ][{0},]\+[ ]*\\[\n][ ]*[{0},]\+' + initnc 'static[ ]uint[ ]tas300\(1c\|4\)_\(master\|mixer\|treble\|bass\)_tab\[\]=' + initnc 'static[ ]short[ ]dmasound_[au]law2dma16\[\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]short[ ]DACVolTable\[101\][ ]=' + + # removed in 2.6.23 + initnc 'static[ ]const[ ]UQItype[ ]__clz_tab\[\][ ]=' arch/arm26/lib/udivdi3.c + initnc '[ ]static[ ]unsigned[ ]char[ ]scale\[101\][ ]=' sound/oss/opl3sa2.c + initnc '[}][ ]syncs\[\][ ]=' drivers/scsi/53c7xx.c + initnc 'genoa_md:'"$sepx$blobpat*"'[\n][ ]\.ascii[ ]["]Genoa["]' arch/i386/boot/video.S + + # removed in 2.6.22 + initnc 'Vendor[ ]ID[ ][ ]Product[ ]ID[\n]-\+[ ][ ]-\+[\n]'"$blobpat*" Documentation/video4linux/sn9c102.txt + defsnc 'static[ ]short[ ][au]law2dma16\[\]' arch/ppc/8xx_io/cs4218_tdm.c + defsnc '[ ]static[ ]const[ ]char[ ]minimal_ascii_table\[\]' drivers/ieee1394/csr1212.c + defsnc 'static[ ]u16[ ]key_map[ ]\[256\][ ]=' drivers/media/dvb/ttpci/av7110_ir.c + defsnc 'static[ ]unsigned[ ]char[ ]gf64_inv\[64\][ ]=' drivers/mtd/nand/cafe_ecc.c + defsnc 'static[ ]unsigned[ ]short[ ]err_pos_lut\[4096\][ ]=' drivers/mtd/nand/cafe_ecc.c + defsnc 'static[ ]unsigned[ ]char[ ]testdata\[TESTDATA_LEN\][ ]=' fs/jffs2/comprtest.c + + # added in 2.6.25 + accept "%canned_values[ ]=[ ][(][\\n][ ]\\([0-9]\\+[ ]=>[ ]\\[[ \\n]\\+\\(\\([0-9]\\+\\|\\'0x[0-9a-f]\\+\\'\\),[ \\n]*\\)*\\]\\(,[ ]\\|[\\n]\\)\\)*[)][;]" + + # from 2.6.25-rc* patches + initnc '[ ]int[ ]bcomm_irq\[3[*]16\][ ]=' + initnc '[ ]static[ ]const[ ]int8[ ]countLeadingZerosHigh\[\][ ]=' + initnc 'static[ ]struct[ ]nic_qp_map[ ]nic_qp_mapping_[01]\[\][ ]=' + initnc 'static[ ]struct[ ]regval[ ]ov_initvals\[\][ ]=' drivers/media/usb/stkwebcam/stk-sensor.c + initnc 'static[ ]struct[ ]regval[ ]stk1125_initvals\[\][ ]=' drivers/media/usb/stkwebcam/stk-webcam.c + initnc 'static[ ]u8[ ]bnx2x_stats_len_arr\[BNX2X_NUM_STATS\][ ]=' + defsnc 'static[ ]const[ ]struct[ ]arb_line[ ]read_arb_data\[NUM_RD_Q\]\[MAX_RD_ORD[ ][+][ ]1\][ ]=' drivers/net/bnx2x/bnx2x_init_opts.h + defsnc 'static[ ]const[ ]struct[ ]arb_line[ ]write_arb_data\[NUM_WR_Q\]\[MAX_WR_ORD[ ][+][ ]1\][ ]=' drivers/net/bnx2x/bnx2x_init_opts.h + initnc '[ ][ ][}][ ]blinkrates\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]ath5k_ini[ ]ar5212_ini\[\][ ]=' + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_mode[ ]rf5413_ini_mode_end\[\][ ]=' drivers/net/wireless/ath/ath5k/initvals.c + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5111\[\][ ]=' drivers/net/wireless/ath/ath5k/rfbuffer.h + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5112\[\][ ]=' drivers/net/wireless/ath/ath5k/rfbuffer.h + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5112a\[\][ ]=' drivers/net/wireless/ath/ath5k/rfbuffer.h + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5413\[\][ ]=' drivers/net/wireless/ath/ath5k/rfbuffer.h + + # new in 2.6.26 + initnc 'static[ ]u64[ ]vec2off\[68\][ ]=' arch/ia64/kvm/process.c + accept "[ ][ ][ ]interrupts[ ]=[ ]<\\(0x\\)\\?3[ ]\\(0x\\)\\?0[ ]\\(0x\\)\\?0[ ][ ]$blobpat*>[;]" 'arch/powerpc/boot/dts/\(cm5200\|lite5200b\?\|kuroboxHG\|pcm030\|tqm5200\).dts' + initnc 'static[ ]const[ ]u32[ ]crctab32\[\][ ]=' arch/x86/boot/tools/build.c + defsnc 'static[ ]struct[ ]mse2snr_tab[ ]\(vsb\|qam\(64\|256\)\)_mse2snr_tab\[\][ ]=' drivers/media/dvb/frontends/au8522.c + defsnc '[}][ ]\(VSB\|QAM\(64\|256\)\?\)_mod_tab\[\][ ]=' 'drivers/media/dvb/frontends/au8522\(_dig\)\?\.c' + initnc '[}][ ]itd1000_\(lpf_pga\|fre_values\)\[\][ ]=' drivers/media/dvb/frontends/itd1000.c + initnc '[}][ ]\(vsb\|qam\(64\|256\)\)_snr_tab\[\][ ]=' drivers/media/dvb/frontends/s5h1411.c + initnc '[}][ ]snr_tab\[\][ ]=' drivers/media/dvb/frontends/tda10048.c + initnc 'static[ ]u32[ ]reg_init_initialize\[\][ ]=' drivers/media/video/saa717x.c + initnc 'static[ ]const[ ]u32[ ]\(main\|gear\)_seedset\[BACKOFF_SEEDSET_ROWS\]\[BACKOFF_SEEDSET_LFSRS\][ ]=' drivers/net/forcedeth.c + initnc 'static[ ]const[ ]struct[ ]ath5k_ini_mode[ ]rf24\(13\|25\)_ini_mode_end\[\][ ]=' drivers/net/wireless/ath5k/initvals.c + initnc 'static[ ]const[ ]u16[ ]wm9713_reg\[\][ ]=' sound/soc/codecs/wm9713.c + + # new in 2.6.27 + accept '[ ]\.section[ ]__ex_table,["]a["]'"$sepx$blobpat*" 'arch/x86/lib/copy_user_\(nocache_\)\?64.S' + accept 'desc_config1:[\n][ ]\.byte[ ]0x09,[ ]0x02'"$sepx$blobpat*" 'firmware/keyspan_pda/\(keyspan_pda\|xircom_pgs\).S' + accept 'string_mfg:[\n]\?\([;]\?[ ]\.byte[^\n]*[\n]\)\+string_mfg_end:' 'firmware/keyspan_pda/\(keyspan_pda\|xircom_pgs\).S' + accept 'string_product:[\n]\?\([;]\?[ ]\.byte[^\n]*[\n]\)\+string_product_end:' 'firmware/keyspan_pda/\(keyspan_pda\|xircom_pgs\).S' + accept ':03000000020200F9[\n]:040023000205\(9B0037\|5F0073\)[\n]\(:050030000000000000CB[\n]\|:0400430002010000B6[\n]\)*'"$sepx$blobpat*"'[\n]:\(0E06E0006400670065007400060334003700F4\|0606A000060334003700E0\)[\n]:00000001FF' 'firmware/keyspan_pda/\(keyspan_pda\|xircom_pgs\).HEX' + accept ':100000000C004000000000000000000000000000A4[\n]'"$sepx$blobpat*"'[\n][/][*][ ]DSP56001[ ]bootstrap[ ]code[ ][*][/]' firmware/dsp56k/bootstrap.bin.ihex + initnc 'static[ ]const[ ]u16[ ]uda1380_reg\[UDA1380_CACHEREGNUM\][ ]=' sound/soc/codecs/uda1380.c + defsnc 'static[ ]const[ ]u16[ ]wm8510_reg\[WM8510_CACHEREGNUM\][ ]=' sound/soc/codecs/wm8510.c + initnc 'static[ ]const[ ]unsigned[ ]short[ ]atkbd_unxlate_table\[128\][ ]=' drivers/input/keyboard/atkbd.c + initnc 'static[ ]const[ ]unsigned[ ]char[ ]usb_kbd_keycode\[256\][ ]=' drivers/hid/usbhid/usbkbd.c + initnc '[ ][ ]u8[ ]buf,[ ]bufs\[\][ ]=' drivers/media/dvb/dvb-usb/cxusb.c + initnc 'static[ ]struct[ ]dvb_pll_desc[ ][^\n]*[ ]=' drivers/media/dvb/frontends/dvb-pll.c + initnc '[ ]static[ ]int[ ]sysdiv_to_div_x_2\[\][ ]=' arch/powerpc/platforms/512x/clock.c + defsnc 'static[ ]const[ ]__u8[ ]cx_inits_\(176\|320\|352\|640\)\[\][ ]=' drivers/media/video/gspca/conex.c + defsnc 'static[ ]const[ ]__u8[ ]cx_jpeg_init\[\]\[8\][ ]=' drivers/media/video/gspca/conex.c + defsnc 'static[ ]const[ ]__u8[ ]cxjpeg_\(640\|352\|320\|176\|qtable\)\[\]\[8\][ ]=' drivers/media/video/gspca/conex.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]quant\[\]\[0x88\][ ]=' drivers/media/video/gspca/jpeg.h + defsnc 'static[ ]unsigned[ ]char[ ]huffman\[\][ ]=' drivers/media/video/gspca/jpeg.h + initc '[ ]\?static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]norm_76[1247]0\[\][ ]=' drivers/media/video/gspca/ov519.c + initnc 'static[ ]const[ ]__u8[ ]pac207_sensor_init\[\]\[8\][ ]=' drivers/media/video/gspca/pac207.c + initnc 'static[ ]const[ ]__u8[ ]pac7311_jpeg_header\[\][ ]=' drivers/media/video/gspca/pac7311.c + defsnc 'static[ ]const[ ]__u8[ ]\(start\|page[34]\)_73\(02\|11\)\[\][ ]=' 'drivers/media/video/gspca/pac73\(02\|11\)\.c' + initnc 'static[ ]const[ ]__u8[ ]init\(Hv7131\|Ov\(6650\|7630\(_3\)\?\)\|Pas\(106\|202\)\|Tas51[13]0\)\[\][ ]=' drivers/media/video/gspca/sonixb.c + initnc 'static[ ]const[ ]__u8[ ]\(hv7131\|ov\(6650\|7630\(_3\)\?\)\|pas\(106\|202\)\|tas51[13]0\)_sensor_init\(_com\)\?\[\]\[8\][ ]=' drivers/media/video/gspca/sonixb.c + defsnc 'static[ ]\(const[ ]\)\?\(__\)\?u8[ ]\(mt9v111\|sp80708\|hv7131[rd]\|mi0360b\?\|mo4000\|ov76\([36]0\|48\)\|om6802\|po1030\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c + initnc 'static[ ]const[ ]__u8[ ]qtable4\[\][ ]=' drivers/media/video/gspca/sonixj.c + initnc 'static[ ]const[ ]__u16[ ]\(spca500_visual\|Clicksmart510\)_defaults\[\]\[3\][ ]=' drivers/media/video/gspca/spca500.c + initnc 'static[ ]const[ ]__u8[ ]qtable_\(creative_pccam\|kodak_ez200\|pocketdv\)\[2\]\[64\][ ]=' drivers/media/video/gspca/spca500.c + initnc 'static[ ]const[ ]__u16[ ]spca501c\?_\(\(3com\|arowana\|mysterious\)_\)\?\(init\|open\)_data\[\]\[3\][ ]=' drivers/media/video/gspca/spca501.c + defsnc 'static[ ]const[ ]\(__u16\|u8\)[ ]spca505b\?_\(init\|open\)_data\(_ccd\)\?\[\]\[3\][ ]=' drivers/media/video/gspca/spca505.c + defsnc 'static[ ]const[ ]\(__\)\?u16[ ]spca508\(cs110\|_sightcam2\?\|_vista\)\?_init_data\[\]\[[23]\][ ]=' drivers/media/video/gspca/spca508.c + initnc 'static[ ]const[ ]__u16[ ]\(spca561\|rev72a\)_init_data3\?\[\]\[2\][ ]=' drivers/media/video/gspca/spca561.c + defsnc 'static[ ]const[ ]\(__u16\|struct[ ]cmd\)[ ]spca504\(_pccam600\|A_clicksmart420\)_\(init\|open\)_data\[\]\(\[3\]\)\?[ ]=' drivers/media/video/gspca/sunplus.c + defsnc 'static[ ]const[ ]\(__\)\?u8[ ]qtable_\(creative_pccam\|spca504_default\)\[2\]\[64\][ ]=' drivers/media/video/gspca/sunplus.c + initnc 'static[ ]const[ ]__u8[ ]\(effects\|gamma\)_table\[\(MAX_[A-Z]*\|[A-Z]*_MAX\)\]\[[0-9]*\][ ]=' drivers/media/video/gspca/t631.c + initnc 'static[ ]const[ ]\(__\)\?u8[ ]tas5130a_sensor_init\[\]\[8\][ ]=' drivers/media/video/gspca/t613.c + defsnc 'static[ ]const[ ]struct[ ]usb_action[ ]\(cs2102\|hdcs2020xx\|icm105a\(xx\)\?\|ov7630c\|mt9v111_[13]\|pb0330\([3x]x\)\?\|mi0360soc\)_Initial\(Scale\)\?\[\][ ]=' drivers/media/video/gspca/zc3xx.c + initnc 'static[ ]const[ ]u8[ ]rtl8225z2_\(agc\|ofdm\|power_cck\(_ch14\)\?\)\[\][ ]=' drivers/net/wireless/rtl8187_rtl8225.c + initnc 'static[ ]const[ ]__u16[ ]t10_dif_crc_table\[256\][ ]=' lib/crc-t10dif.c + initnc 'static[ ]crb_128M_2M_block_map_t[ ]crb_128M_2M_map\[64\][ ]=' drivers/net/netxen/netxen_hw.c + initnc 'static[ ]const[ ]__u16[ ]crc10_table\[256\][ ]=' drivers/usb/serial/safe_serial.c + accept '[ ]*\([ ]*0\)*\([ ]*1\)*[\n][ ]*0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]*2[ ]3[ ]4[ ]5[ ]6[ ]7' Documentation/bt8xxgpio.txt + defsnc '[ ]static[ ]int[ ]exp_lut\[256\][ ]=' drivers/isdn/mISDN/dsp_audio.c + initnc 'static[ ]const[ ]u32[ ]bf_pbox\[16[ ][+][ ]2\][ ]=' drivers/isdn/mISDN/dsp_blowfish.c + initnc 'static[ ]const[ ]u32[ ]bf_sbox\[256[ ][*][ ]4\][ ]=' drivers/isdn/mISDN/dsp_blowfish.c + initnc 'static[ ]u8[ ]sample_\(german_\(all\|old\)\|american_\(dialtone\|ringing\|busy\)\|special[123]\|silence\)\[\][ ]=' drivers/isdn/mISDN/dsp_tones.c + initnc 'struct[ ]pattern[ ][{][^}]*int[ ]tone[;][^}]*[}][ ]pattern\[\][ ]=' drivers/isdn/mISDN/dsp_tones.c + initnc 'static[ ]u8[ ]\([au]\|_4\)law_to_\([ua]law\|4bit\)\[256\][ ]=' drivers/isdn/mISDN/l1oip_codec.c + initnc 'static[ ]unsigned[ ]char[ ]banner_table\[\][ ]=' arch/sh/boards/mach-microdev/led.c + defsnc '[ ]static[ ]const[ ]int[ ]desc_idx_table\[\][ ]=' arch/arm/include/asm/hardware/iop3xx-adma.h + defsnc 'static[ ]\(const[ ]\)\?u32[ ]ar\(5416\|9280\)\(Modes\(_fast_clock\)\?\|Common\|BB_RfGain\|Bank6\(TPC\)\?\|Addac\)\(_91[06]0\(_\?1_1\)\?\|_9280\(_2\)\?\)\?\[\]\[[236]\][ ]=' 'drivers/net/wireless/ath9k/\(ar\(5008\|9001\)_\)\?initvals\.h' + + # new in 2.6.28 + accept '\(static[ ]\)\?const[ ]char[ ]\(inv\)\?parity\[256\][ ]=[ ][{][ \n01,]*[}][;]' 'Documentation/mtd/nand_ecc\.txt\|drivers/mtd/nand/nand_ecc\.c' + defsnc 'static[ ]const[ ]char[ ]\(bitsperbyte\|addressbits\)\[256\][ ]=' drivers/mtd/nand/nand_ecc.c + defsnc 'static[ ]struct[ ]pinmux_cfg_reg[ ]pinmux_config_regs\[\][ ]=' 'arch/sh/kernel/cpu/sh2a/pinmux-sh7203\.c\|arch/arm/mach-shmobile/pfc-sh73[67]7\.c' + defsnc '[ ]static[ ]const[ ]u8[ ]e_keymap\[\][ ]=' drivers/hid/hid-lg.c + defsnc 'DEFINE_DEFAULT_PDR[(]0x0161,[ ]256,' drivers/net/wireless/hermes_dld.c + defsnc 'static[ ]const[ ]int[ ]isink_cur\[\][ ]=' drivers/regulator/wm8350-regulator.c + defsnc 'static[ ]const[ ]s16[ ]\(converge_speed_ipb\?\|LAMBDA_table\[4\]\)\[101\][ ]=' drivers/staging/go7007/go7007-fw.c + defsnc 'static[ ]const[ ]u32[ ]addrinctab\[33\]\[2\][ ]=' drivers/staging/go7007/go7007-fw.c + defsnc 'static[ ]const[ ]u8[ ]\(default_intra_quant_table\|\(val\|bits\)_[ad]c_\(lu\|chro\)minance\)\[\][ ]=' drivers/staging/go7007/go7007-fw.c + defsnc 'static[ ]const[ ]int[ ]zz\[64\][ ]=' drivers/staging/go7007/go7007-fw.c + defsnc '[ ]u16[ ]pack\[\][ ]=' drivers/staging/go7007/go7007-fw.c + defsnc 'static[ ]u8[ ]\(initial\|channel\)_registers\[\][ ]=' 'drivers/staging/go7007/wis-\(ov7640\|saa7113\|tw2804\).c' + defsnc 'u16[ ]MTO_One_Exchange_Time_Tbl_[ls]\[MTO_MAX_FRAG_TH_LEVELS\]\[MTO_MAX_DATA_RATE_LEVELS\][ ]=' drivers/staging/winbond/mto.c + defsnc 'u32[ ]\(al2230_txvga_data\|w89rf242_txvga_old_mapping\)\[\]\[2\][ ]=' drivers/staging/winbond/reg.c + defsnc 'static[ ]const[ ]UINT16[ ]crc16tab\[256\][ ]=' drivers/staging/wlan-ng/hfa384x.c + defsnc 'static[ ]const[ ]\(UINT32\|u32\)[ ]wep_crc32_table\[256\][ ]=' drivers/staging/wlan-ng/p80211wep.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]wm_vol\[256\][ ]=' 'sound/pci/ice1712/\(phase\|aureon\)\.c' + defsnc 'static[ ]const[ ]u16[ ]wm8900_reg_defaults\[WM8900_MAXREG\][ ]=' sound/soc/wm8900.c + defsnc '[}][ ]\(clk_sys_ratios\|bclk_divs\)\[\][ ]=' 'sound/soc/wm890[34]\.c' + defsnc 'static[ ]u8[ ]af9015_ir_table_\(leadtek\|twinhan\|a_link\|msi\|mygictv\|kworld\)\[\][ ]=' drivers/media/dvb/dvb-usb/af9015.h + defsnc 'static[ ]\(const[ ]\)\?struct[ ]\(snr_table\|af9013_snr\)[ ]\(qpsk\|qam\(16\|64\)\)_snr_\(table\|lut\)\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h + defsnc 'static[ ]\(const[ ]\)\?struct[ ]\(regdesc\|af9013_reg_bit\)[ ]\(ofsm_init\|tuner_init_\(env77h11d5\|mt2060\(_2\)\?\|mxl500\(3d\|5\)\|qt1010\|mc44s803\|unknown\|tda18271\)\)\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h + defsnc 'static[ ]u8[ ]stv0288_earda_inittab\[\][ ]=' drivers/media/dvb/frontends/eds1547.h + defsnc 'static[ ]u8[ ]serit_sp1511lhb_inittab\[\][ ]=' drivers/media/dvb/frontends/si21xx.c + defsnc 'static[ ]u8[ ]stv0288_inittab\[\][ ]=' drivers/media/dvb/frontends/stv0288.c + defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_b\[\][ ]=' drivers/net/wireless/rt2x00/rt2400pci.c + + # request_firmware matches for 2.6.28 + accept 'D:[ ]Firmware[ ]loader[ ][(]request_firmware[)]' CREDITS + accept 'FIRMWARE[ ]LOADER[ ][(]request_firmware[)]' MAINTAINERS + accept '[ ]-[ ]request_firmware[(][)][ ]hotplug[ ]interface[ ]info.' Documentation/00-INDEX + accept 'This[ ]driver[ ]requires[ ]a[ ]patch[ ]for[ ]firmware_class[^\n]*[\n]request_firmware_nowait[ ]function\.' Documentation/dell_rbu.txt + accept '\([ ]request_firmware[(][)][ ]hotplug[ ]interface:[\n][ ]--*[\n].*[ ]\)\?-[ ]request_firmware_nowait[(][)][ ]is[ ]also[ ]provided[ ]for[ ]convenience' Documentation/firmware_class/README + accept 'Still,[ ]there[ ]are[ ]kernel[ ]threads[ ]that[ ]may[ ]want.*For[ ]example,[ ]if[ ]request_.*_firmware[(][)][ ]will[ ]fail[ ]regardless' Documentation/power/freezing-of-tasks.txt + accept 'Also,[ ]there[ ]may[ ]be[ ]some[ ]operations,.*calling[ ]request_firmware[(][)][ ]from[ ]their[ ].resume[(][)][ ]routines' Documentation/power/notifiers.txt + accept 'There[ ]is[ ]an[ ]USB[ ]interface[ ]for[ ]downloading[/]uploading.*request_firmware[ ]interface\.' Documentation/video4linux/si470x.txt + accept '[ ]-[ ]move[ ]firmware[ ]loading[ ]to[ ]request_firmware[(][)]' drivers/staging/slicoss/README + accept 'config[ ]FIRMWARE_IN_KERNEL.*let[ ]firmware[ ]be[ ]loaded[ ]from[ ]userspace\.' drivers/base/Kconfig + accept '[ ]*and[ ]request_firmware[(][)][ ]in[ ]the[ ]source' drivers/base/Kconfig + accept '\(static[ ]\(int\|void\)[\n ]\)\?_request_firmware\(_prepare\|_cleanup\)\?[(]const[ ]struct[ ]firmware[ ][*][*]\?firmware\(_p\)\?[,)][^{]*[\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}][\n]' drivers/base/firmware_class.c + accept 'static[ ]int[\n ]request_firmware_work_func[(]void[ ][*]arg[)][\n][{]\([\n]\+[^\n}][^\n]*\)*ret[ ]=[ ]_request_firmware[(][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}][\n]' drivers/base/firmware_class.c + accept '[/][*][*][\n][ ][*][ ]request_firmware:[ ]-[ ]send[ ]firmware[ ][^{]*[\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}][\n]' drivers/base/firmware_class.c + accept '[/][*][*][\n][ ][*][ ]request_firmware_nowait\(:\|[ ]-\)[ ]asynchronous[ ]version[^{]*[\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}][\n]' drivers/base/firmware_class.c + accept 'EXPORT_SYMBOL[(]request_firmware\(_nowait\)\?[)][;]' drivers/base/firmware_class.c + accept 'int[ ]request_firmware\(_nowait\)\?[(][^;]*[)][;]' include/linux/firmware.h + accept 'static[ ]inline[ ]int[ ]request_firmware\(_nowait\)\?[(][^{]*[)][\n][{][\n][ ]return[ ]-EINVAL[;][\n][}]' include/linux/firmware.h + accept 'static[ ]inline[ ]int[\n]\(maybe_\)\?reject_firmware\(_nowait\)\?[(][^{;]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' include/linux/firmware.h + + accept 'static[ ]inline[ ]int[ ]request_ihex_firmware\?[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}][\n]' include/linux/ihex.h + ocomment '[/][*][ ]Optional[ ]firmware\([^\n]*[\n][ ][*]\)*[^\n]*[ ]MODULE_FIRMWARE[(][)]' + oprepline '#define[ ]MODULE_FIRMWARE[(]_firmware[)]' include/linux/module.h + accept '[ ][*][ ]Sample[ ]code[ ]on[ ]how[ ]to[ ]use[ ]request_firmware[(][)][ ]from[ ]drivers\.' samples/firmware_class/firmware_sample_driver.c + accept '[ ]\(retval\|error\)[ ]=[ ]request_firmware\(_nowait\)\?[(][^;]*["]sample_driver_fw["],[^;]*[)][;]' samples/firmware_class/firmware_sample_driver.c + ocomment '[ ][/][*][ ]request_firmware[ ]blocks[ ]until[ ]userspace[ ]finished' samples/firmware_class/firmware_sample_driver.c + accept '[ ][ ][ ]*["][ ]request_firmware_nowait[ ]failed' samples/firmware_class/firmware_sample_driver.c + + # We used to remove these in early versions of Linux-libre. + # They're now believed to be mere initialization data, rather than + # code disguised as such, and they're not long enough so as to + # render the software non-Free. + defsnc 'static[ ]u8[ ]tda10021_inittab\[0x40\]=' drivers/media/dvb/frontends/tda10021.c + defsnc 'static[ ]u8[ ]tda8083_init_tab[ ]\[\][ ]=' drivers/media/dvb/frontends/tda8083.c + defsnc 'static[ ]u8[ ]ves1820_inittab\[\][ ]=' drivers/media/dvb/frontends/ves1820.c + defsnc 'static[ ]u8[ ]init_1[89]93_w\?tab[ ]\?\[\][ ]=' drivers/media/dvb/frontends/ves1x93.c + defsnc 'static[ ]const[ ]u8[ ]saa7113_tab\[\][ ]=' drivers/media/dvb/ttpci/budget-av.c + defsnc 'static[ ]u8[ ]philips_sd1878_inittab\[\][ ]=' drivers/media/dvb/ttpci/budget-av.c + defsnc 'const[ ]struct[ ]Kiara_table_entry[ ]Kiara_table\[PSZ_MAX\]\[6\]\[4\][ ]=' drivers/media/video/pwc/pwc-kiara.c + defsnc 'const[ ]unsigned[ ]int[ ]KiaraRomTable[ ]\[8\]\[2\]\[16\]\[8\][ ]=' drivers/media/video/pwc/pwc-kiara.c + defsnc 'const[ ]struct[ ]Timon_table_entry[ ]Timon_table\[PSZ_MAX\]\[PWC_FPS_MAX_TIMON\]\[4\][ ]=' drivers/media/video/pwc/pwc-timon.c + defsnc 'const[ ]unsigned[ ]int[ ]TimonRomTable[ ]\[16\]\[2\]\[16\]\[8\][ ]=' drivers/media/video/pwc/pwc-timon.c + defsnc '[ ]static[ ]const[ ]struct[ ]struct_initData[ ]initData\[\][ ]=' drivers/media/video/usbvideo/ibmcam.c + defsnc 'static[ ]const[ ]u8[ ]rtl8187b_reg_table\[\]\[3\][ ]=' drivers/net/wireless/rtl8187_dev.c + defsnc 'unsigned[ ]char[ ]\(IDX_ACTIVATE_\(READ\|WRITE\)\|\(CM\|ULP\)_\(ENABLE\|SETUP\)\|DM_ACT\|IPA_PDU_HEADER\|\(READ\|WRITE\)_CCW\)\[\][ ]\?=' drivers/net/qeth_core_mpc.c + defsnc 'static[ ]unsigned[ ]char[ ]camera_ncm03j_magic\[\][ ]=' 'arch/sh/boards/\(board-ap325rxa\.c\|mach-ap325rxa/setup\.c\)' + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]\(sync\|magic[0-3]\)_data\[\][ ]=' arch/sh/boards/mach-migor/lcd_qvga.c + defsnc 'static[ ]unsigned[ ]char[ ]camera_ov772x_magic\[\][ ]=' arch/sh/boards/mach-migor/setup.c + defsnc 'static[ ]struct[ ]chips_init_reg[ ]chips_init_[sgacfx]r\[\][ ]=' 'drivers/video/\(asiliant\|chips\)fb.c' + + # This one is quite suspicious, but it's small enough (64 bytes + # total) that it's believable that it could be actual source code. + defsnc 'static[ ]const[ ]__u8[ ]cx11646_fw1\[\]\[3\][ ]=' drivers/media/video/gspca/conex.c + + # Hunting down non-Free firmware-loading code and instructions. + # Firmware names are to be caught anywhere. + + # 2.6.26 but not later + + blobname 'atmsar1[12]\.\(x\|start\|regions\|data\|bin[12]\?\)' 'drivers/atm/\(Makefile\|ambassador\.c\)' + blob '#\(define\|include\)[ ]UCODE2\?[(][^\n]*' drivers/atm/ambassador.c + blob 'static[ ]\(u32\|region\)[ ]__devinitdata[ ]ucode_\(start\|\(regions\|data\)\[\]\)[ ]=[^;]*[;]' drivers/atm/ambassador.c + blob '\(#\(ifdef[ ]AMB_NEW_MICROCODE\|else\|endif\)[\n]#\(define\|include\)[ ]UCODE2\?[(][^\n]*[\n]\)\+\([\n]*static[ ]\(u32\|region\)[ ]__devinitdata[ ]ucode_\(start\|\(regions\|data\)\[\]\)[ ]=[^;]*[;]\)*' drivers/atm/ambassador.c + + blobname '\(pca\|sba\)200e\(_ecd\)\?\.\(data\|bin[12]\?\)' 'drivers/atm/\(Makefile\|fore200e\(_mkfirm\)\?\.c\)' + blobna '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*PCA-200E[ ]firmware[ ][*][/]' drivers/atm/fore200e_mkfirm.c + blobna '_fore200e_\(pca\|sba\)_fw_\(data\|size\)' drivers/atm/fore200e.c + blob '#ifdef[ ]CONFIG_ATM_FORE200E_\(PCA\|SBA\)\([\n]extern[ ]const[ ]unsigned[ ]\(char\|int\)[ ]*_fore200e_\(pca\|sba\)_fw_\(data\[\]\|size\)[;]\)\+[\n]#endif\([\n]\+#ifdef[ ]CONFIG_ATM_FORE200E_\(PCA\|SBA\)\([\n]extern[ ]const[ ]unsigned[ ]\(char\|int\)[ ]*_fore200e_\(pca\|sba\)_fw_\(data\[\]\|size\)[;]\)\+[\n]#endif\)*' drivers/atm/fore200e.c + + # 2.6.27 but not later + + blob 'cas_saturn_patch_t[ ]cas_saturn_patch\[\][ ]=[ ][{][^;]*[}][;]' drivers/net/cassini.h + accept '[ ][ ][ ]firmware[ ]files[ ]--[ ]the[ ]same[ ]names[ ]which[ ]appear[ ]in[ ]MODULE_FIRMWARE[(][)]' drivers/base/Kconfig + + # 2.6.28 or earlier + + blobname 'atmsar11\.fw' drivers/atm/ambassador.c + + blob '\(#ifdef[ ]__\(LITTLE\|BIG\)_ENDIAN[\n]\)\?#define[ ]FW_EXT[ ]["]\(_ecd\)\?\.bin2\?["]\([\n]#else[\n]#define[ ]FW_EXT[ ]["]\(_ecd\)\?\.bin2\?["]\)*\([\n]#endif\)\?' drivers/atm/fore200e.c + blobna 'sprintf[(][^;]*fore200[^;]*FW_EXT[^;]*[)][;]' drivers/atm/fore200e.c + blobname '\(pc\|sb\)a200e\(_ecd\)\?\.bin[12]\?' drivers/atm/fore200e.c + blobna 'The[ ]supplied[ ]firmware[ ]images.*https\?:[/][/][^\n]*\(fore\|FORE_Systems\).*Rebuild[ ]and[ ]re-install[^.]*\.' Documentation/networking/fore200e.txt + + blobname 'intelliport2\.bin' drivers/char/ip2/ip2main.c + + blob 'static[ ]unsigned[ ]char[ ]warp_g[24]00_t2\?gzs\?a\?f\?\[\][ ]=[ ][{][^{};]*[}][;]\([\n][\n]*static[ ]unsigned[ ]char[ ]warp_g[24]00_t2\?gzs\?a\?f\?\[\][ ]=[ ][{][^{};]*[}][;]\)*' drivers/gpu/drm/mga/mga_ucode.h + blob '\(#define[ ]WARP_UCODE_\(SIZE\|INSTALL\)[(][ ]*which\([^\n]*\\[ ]*[\n]\)*[^\n]*\|static[ ]const[ ]unsigned[ ]int[ ]mga_warp_g[24]00_microcode_size[ ]=[^;]*[;]\|static[ ]int[ ]mga_warp_install_g[24]00_microcode[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]\)\([\n][\n]*\(#define[ ]WARP_UCODE_\(SIZE\|INSTALL\)[(][ ]*which\([^\n]*\\[ ]*[\n]\)*[^\n]*\|static[ ]const[ ]unsigned[ ]int[ ]mga_warp_g[24]00_microcode_size[ ]=[^;]*[;]\|static[ ]int[ ]mga_warp_install_g[24]00_microcode[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]\)\)*' drivers/gpu/drm/mga/mga_warp.c + blobna '\(case[ ]MGA_CARD_TYPE_G[^:]*:[ \n]*\)\+return[ ][^;]*mga_warp[^;]*microcode[^;]*[;]\([ \n]*\(case[ ]MGA_CARD_TYPE_G[^:]*:[ \n]*\)\+return[ ][^;]*mga_warp[^;]*microcode[^;]*[;][ ]*\)*' drivers/gpu/drm/mga/mga_warp.c + + blob 'static[ ]u32[ ]r128_cce_microcode\[\][ ]=[ ][{][^;]*[}][;]' drivers/gpu/drm/r128/r128_cce.c + blob 'static[ ]void[ ]r128_cce_load_microcode[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' drivers/gpu/drm/r128/r128_cce.c + # blobna 'R128_WRITE[(]R128_PM4_MICROCODE_DATA[HL],[\n ]*r128_cce_microcode\[i[ ][*][ ]2\([ ][+][ ]1\)\?\][)]\([;][\n ]*R128_WRITE[(]R128_PM4_MICROCODE_DATA[HL],[\n ]*r128_cce_microcode\[i[ ][*][ ]2\([ ][+][ ]1\)\?\][)]\)*' drivers/gpu/drm/r128/r128_cce.c + + blob 'static[ ]const[ ]u32[ ]R[SV0-9]*[05]_\(c\|pf\)p_microcode\[\]\(\[[23]\]\)\?[ ]=[ ][{][^;]*[}][;]\([\n][\n]*static[ ]const[ ]u32[ ]R[SV0-9]*[05]_\(c\|pf\)p_microcode\[\]\(\[[23]\]\)\?[ ]=[ ][{][^;]*[}][;]\)*' 'drivers/gpu/drm/radeon/\(radeon\|r600\)_microcode\.h' + blob 'static[ ]void[ ]r\(adeon\|[167]00\)_cp_load_microcode[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*cp_microcode[^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' 'drivers/gpu/drm/radeon/r\(\(adeon\|600\)_cp\|100\)\.c' + # blobna 'RADEON_WRITE[(]R\(ADEON\|600\)_CP_\(ME_RAM\|PFP_UCODE\)_DATA[HL]\?,[\n ]*R[SV0-9]*[05]_\(c\|pf\)p_microcode\[i\]\(\[[012]\]\)\?[)]\([;][\n ]*RADEON_WRITE[(]R\(ADEON\|600\)_CP_\(ME_RAM\|PFP_UCODE\)_DATA[HL]\?,[\n ]*R[SV0-9]*[05]_\(c\|pf\)p_microcode\[i\]\(\[[012]\]\)\?[)]\)*' 'drivers/gpu/drm/radeon/\(radeon\|r600\)_cp\.c' + + blob 'sub[ ]\(sp887[0x]\|tda1004\(5\|6\(lifeview\)\?\)\|av7110\|dec\(2\(00\|54\)0t\|3000s\)\|opera1\|vp7041\|dibusb\|nxt200[24]\|cx\(23\(1xx\|885\)\|18\)\|pvrusb2\|or51\(211\|132_\(qam\|vsb\)\)\|bluebird\|mpc718\|af9015\|ngene\)[ ]*[{]\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]\([\n]\+sub[ ]\(sp887[0x]\|tda1004\(5\|6\(lifeview\)\?\)\|av7110\|dec\(2\(00\|54\)0t\|3000s\)\|opera1\|vp7041\|dibusb\|nxt200[24]\|cx\(23\(1xx\|885\)\|18\)\|pvrusb2\|or51\(211\|132_\(qam\|vsb\)\)\|bluebird\|mpc718\|af9015\|ngene\)[ ]*[{]\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]\)*' Documentation/dvb/get_dvb_firmware + blobna 'Please[ ]use[^\n]*firmware[^\n]*sp887x[^\n]*\([\n][^\n]\+\)\+' Documentation/dvb/avermedia.txt + blob 'To[ ]extract[ ]the[ ]firmware[^\n]*Opera[ ]DVB-S1[ ]USB-Box.*[/]lib[/]firmware[/][ ]\.' Documentation/dvb/opera-firmware.txt + blobname '\(dvb-usb-opera[^\n]*\.fw\|2830S[^\n]*2\.sys\)' Documentation/dvb/opera-firmware.txt + blob 'Getting[ ]the[ ]Firmware\([\n][^\n]\+\)*' Documentation/dvb/ttusb-dec.txt + + blob '[/][*][\n ]*File[ ]automatically[ ]generated[ ]by[ ]createinit\.py[ ]using[ ]data[\n ]*extracted[ ]from[ ]AF05BDA\.sys.*[}][;]' drivers/media/dvb/dvb-usb/af9005-script.h + blob '#include[ ]["]af9005-script\.h["]' drivers/media/dvb/dvb-usb/af9005-fe.c + blobna '[\n][ ]scriptlen[ ]=[ ]sizeof[(]script[)][^;]*[;][\n][ ]for[^{]*scriptlen[^{]*[{][^}]*[^\n }]' drivers/media/dvb/dvb-usb/af9005-fe.c + + accept 'struct[ ]\(sp8870\|tda1004x\)_config[\n][{][^}]*[(][*]request_firmware[)][^}]*[\n][}][;]' 'drivers/media/dvb/frontends/\(sp8870\|tda1004x\)\.h' + blob '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*get_dvb_firmware[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\([\n]\(#define[ ]\(\([^\n ]*_DEFAULT\|NONFREE\)_FIRMWARE\|["][^"]*["]\)[ ]\([^\n]\|[\\][\n]\)*\|[/][*][(]DEBLOBBED[)][*][/]\)\)*' 'drivers/media/dvb/frontends/\(nxt200x\|or51211\|sp887[0x]\|tda1004[8x]\)\.c' + blobname 'dvb-fe-sp8870\.fw' drivers/media/dvb/frontends/sp8870.c + blobname 'dvb-fe-tda1004[56]\.fw' drivers/media/dvb/frontends/tda1004x.c + + # This bootcode is actually Free Software under GPLv2, but since it's + # being distributed without source code, we're taking it out. + blob 'static[ ]u8[ ]bootcode\[\][ ]=[ ][{][^}]*[}][;]' drivers/media/dvb/ttpci/av7110_hw.c + blobname 'dvb-ttpci-01\.fw' drivers/media/dvb/ttpci/av7110.c + defsnc 'static[ ]u8[ ]nexusca_stv0297_inittab\[\][ ]=' drivers/media/dvb/ttpci/av7110.c + + defsnc 'static[ ]u8[ ]philips_su1278_tt_inittab\[\][ ]=' drivers/media/dvb/ttpci/budget-ci.c + defsnc 'static[ ]u8[ ]dvbc_philips_tdm1316l_inittab\[\][ ]=' drivers/media/dvb/ttpci/budget-ci.c + + blobname 'ttusb-budget[/]dspbootcode\.bin' drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c + + blobname 'cpia2[/]stv0672_vp4\.bin' drivers/media/video/cpia2/cpia2_core.c + + blobname 'dabusb[/]\(firmware\.fw\|bitstream\.bin\)' drivers/media/video/dabusb.c + + blob 'static[ ]u32[ ]tigon2\?Fw\(Text\|Rodata\|Data\)\[[(]MAX_\(TEXT\|RODATA\|DATA\)_LEN[/]4[)][ ][+][ ]1\][ ]__\(dev\)\?initdata[ ]=[ ][{][^}]*[}][;]\([\n]static[ ]u32[ ]tigon2\?Fw\(Text\|Rodata\|Data\)\[[(]MAX_\(TEXT\|RODATA\|DATA\)_LEN[/]4[)][ ][+][ ]1\][ ]__\(dev\)\?initdata[ ]=[ ][{][^}]*[}][;]\)*' drivers/net/acenic_firmware.h + blob '#define[ ]tigon2\?Fw[^ ]*\(Addr\|Len\)[ ]0x[^\n]*\([\n]#define[ ]tigon2\?Fw[^ ]*\(Addr\|Len\)[ ]0x[^\n]*\)\+' drivers/net/acenic_firmware.h + blob '\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Do[ ]not[ ]try[ ]to[ ]clear[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n][ ]\)\?ace_clear[^;]*[;][\n]\([^}]*[{][^}]*ace_copy[^}]*tigon2\?Fw[^}]*[}]\)*[\n]\+[ ]return[ ]0[;][\n][}]' drivers/net/acenic.c + blob 'if[ ][(]\(ACE_IS_TIGON_I[(]ap[)]\|ap->version[ ]==[ ]2\)[)][\n][ ][ ]writel[(]tigon2\?FwStartAddr,[ ][&]regs->Pc[)][;]\([\n][ ]if[ ][(]\(ACE_IS_TIGON_I[(]ap[)]\|ap->version[ ]==[ ]2\)[)][\n][ ][ ]writel[(]tigon2\?FwStartAddr,[ ][&]regs->Pc[)][;]\)*' drivers/net/acenic.c + + blob '#include[ ]["]starfire_firmware\.h["]' drivers/net/starfire.c + blob '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Load[ ]Rx[/]Tx[ ]firmware[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\([\n][ ]for[ ][(][^)]*FIRMWARE_[RT]X_SIZE[^)]*[)][\n][ ][ ]writel[^;]*firmware_[rt]x[^;]*[;]\)\+' drivers/net/starfire.c + + blob 'static[ ]\(u8\|const[ ]u32\|struct[ ]fw_info\)[ ]bnx2_\(\(COM\|CP\|[RT]XP\|TPAT\)_b0[69]Fw\(Text\|Data\|Rodata\)\|\(xi_\)\?rv2p_proc[12]\|\(com\|cp\|[rt]xp\|tpat\)_fw_0[69]\)\(\[[^]};]*\]\)*[ ]=[ ][{][^}]*[}][;]\([\n][\n]*static[ ]\(u8\|const[ ]u32\|struct[ ]fw_info\)[ ]bnx2_\(\(COM\|CP\|[RT]XP\|TPAT\)_b0[69]Fw\(Text\|Data\|Rodata\)\|\(xi_\)\?rv2p_proc[12]\|\(com\|cp\|[rt]xp\|tpat\)_fw_0[69]\)\(\[[^]};]*\]\)*[ ]=[ ][{][^}]*[}][;]\)*' 'drivers/net/bnx2_fw2\?.h' + blob '#include[ ]["]bnx2_fw\.h["][\n][\n]*#include[ ]["]bnx2_fw2\.h["]' drivers/net/bnx2.c + blob 'static[ ]void[\n]load_rv2p_fw[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' drivers/net/bnx2.c + blob 'static[ ]int[\n]bnx2_init_cpus[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' drivers/net/bnx2.c + + # init_data_e1h? might actually be just data, but it doesn't + # really matter. + blob 'static[ ]const[ ]u32[ ]\(init\?\|[tucx]sem_\(int_table\|pram\)\)_data_e1h\?\[\][ ]=[ ][{][^}]*[}][;]\([\n][\n]*static[ ]const[ ]u32[ ]\(init\?\|[tucx]sem_\(int_table\|pram\)\)_data_e1h\?\[\][ ]=[ ][{][^}]*[}][;]\)*' drivers/net/bnx2x_init_values.h + blob 'static[ ]\(void[ ]\|const[ ]u32[ ][*]\)bnx2x_\(sel_blob\|init_wr_wb\|init_block\)[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]\([\n][\n]*static[ ]\(void[ ]\|const[ ]u32[ ][*]\)bnx2x_\(sel_blob\|init_wr_wb\|init_block\)[(][^{]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]\)*' 'drivers/net/bnx2x_init\(_ops\)\?\.h' + + blobname 'sun[/]cassini\.bin' drivers/net/cassini.c + + blobna 'static[ ]u16[ ]\(sr\|twinax\)_edc\[\][ ]=[ ][{][^;]*[}][;]' drivers/net/cxgb3/ael1002.c + blobna 'for[ ][(][^\n]*ARRAY_SIZE[(]\(sr\|twinax\)_edc[)][^\n]*[)][\n][^;]*mdio_write[^;]*[;]' drivers/net/cxgb3/ael1002.c + blobname '\(cxgb3[/]\)\?t3\(fw\|\(%c\|.\)_p\(rotocol_\)\?sram\)-\(%d\|[0-9]*\)\.\(%d\|[0-9]*\)\.\(%d\|[0-9]*\)\.bin' drivers/net/cxgb3/cxgb3_main.c + + blob '\([/][*][*]\+[/][\n]*\)*\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Micro[ ]code[^*]*\([*]\+[^/*][^*]*\)*[*]*8086:[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\([\n]*[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)*\|#define[ ][ ]*D10\(1M\(_B\)\?\|1S\|2_E\)_\(CPUSAVER_\(TIMER\|BUNDLE\|MIN_SIZE\)_DWORD\|RCVBUNDLE_UCODE\)[ ][^\n]*\([\\][\n][^\n]*\)*\)\([\n]*[/][*][^*]*\([*]\+\([^/*]\|[/][\n]*[/][*]\+\)[^*]*\)*[*]*Micro[ ]code[^*]*\([*]\+[^/*][^*]*\)*[*]*8086:[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\([\n]*[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)*\|[\n][\n]*#define[ ][ ]*D10\(1M\(_B\)\?\|1S\|2_E\)_\(CPUSAVER_\(TIMER\|BUNDLE\|MIN_SIZE\)_DWORD\|RCVBUNDLE_UCODE\)[ ]\(\\[\n]\|[^\n]\)*\)*' drivers/net/e100.c + blobna '\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n]*[ ][ ]\)\(ucode\[opts->\(timer\|bundle\|min_size\)_dword\][ ].=[ ][^;]*[;][\n][\n]*[ ][ ]\)*[^}]*UCODE_SIZE[^}]*cb_ucode[^}]*return[;][\n][ ][}]' drivers/net/e100.c + + blob 'static[ ]unsigned[ ]char[ ]__devinitdata[ ]lanai4_\(code\|data\)\[[0-9]*\][ ]=[ ][{][^;]*[}][;]' drivers/net/myri_code.h + blob '#include[ ]["]myri_code\.h["]' drivers/net/myri_sbus.c + blobna '\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n ]*\)\?for[ ][(][^\n]*sizeof[(]lanai4_\(code\|data\)[^\n]*[)][\n][^\n]*sbus_writeb[^;]*lanai4_\(code\|data\)[^;]*lanai4_code_off[^;]*[;]\([\n ]*\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n ]*\)\?for[ ][(][^\n]*sizeof[(]lanai4_\(code\|data\)[^\n]*[)][\n][^\n]*sbus_writeb[^;]*lanai4_\(code\|data\)[^;]*lanai4_\(code\|data\)_off[^;]*[;]\)*' drivers/net/myri_sbus.c + + blob 'static[ ]u32[ ]s_firmLoad\[\][ ]=[ ][{][^;]*[}][;]' drivers/net/tehuti_fw.h + blobna 'bdx_tx_push_desc_safe[^;]*s_firmLoad[^;]*[;]' drivers/net/tehuti.c + blobna 'for[ ][(][^\n]*ARRAY_SIZE[(]s_firmLoad[)][^\n]*[)][\n ]*s_firmLoad[^;]*=[^;]*s_firmLoad[^;]*[;]' drivers/net/tehuti.c + + blob '[ ][*][ ]Firmware[ ]is:[\n][ ][*][ ]Derived[ ]from[ ]proprietary[^/]*notice[ ]is[ ]accompanying[ ]it\.[\n][ ][*][/]' drivers/net/tg3.c + blobna 'Derived[ ]from[ ]proprietary[ ]unpublished[ ]source[ ]code' drivers/net/tg3.c + blob '\(static[ ]\)\?\(const[ ]\)\?u32[ ]tg3\(Tso5\?\)\?Fw\(Text\|Rodata\|Data\)\[[^{]*\][ ]=[ ][{][^}]*[}][;]\([\n][\n]*\(static[ ]const[ ]u32[ ]tg3\(Tso5\?\)\?Fw\(Text\|Rodata\|Data\)\[[^{]*\][ ]=[ ][{][^}]*[}][;]\|#if[ ]0\([ ][/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)\?[\n]\(static[ ]const[ ]\)\?u32[ ]tg3\(Tso5\?\)\?Fw\(Text\|Rodata\|Data\)\[[^{]*\][ ]=[ ][{][^}]*[}][;][\n]#endif\)\)*' drivers/net/tg3.c + + blob 'static[ ]const[ ]u8[ ]typhoon_firmware_image\[\][ ]=[ ][{][^}]*[}][;]' drivers/net/typhoon-firmware.h + + blobna 'licensed[^\n]*strictly[ ]for[ ]use[^\n]*[\n]*[^\n]*COPS[ ]LocalTalk' 'drivers/net/appletalk/cops_\(ff\|lt\)drv\.h' + blob 'static[ ]const[ ]unsigned[ ]char[ ]ffdrv_code\[\][ ]=[ ][{][^}]*[}][;]' drivers/net/appletalk/cops_ffdrv.h + blob 'static[ ]const[ ]unsgined[ ]char[ ]ltdrv_code\[\][ ]=[ ][{][^}]*[}][;]' drivers/net/appletalk/cops_ltdrv.h + blob '#include[ ]["]cops_\(lt\|ff\)drv\.h["][ ]*\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Firmware[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)\?\([\n][\n]*#include[ ]["]cops_\(lt\|ff\)drv\.h["][ ]*\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Firmware[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)\?\)*' drivers/net/appletalk/cops.c + + blob 'static[ ]unsigned[ ]char[ ]bits_1200\[\][ ]*=[ ][{][^}]*[}][;]' drivers/net/hamradio/yam1200.h + blob 'static[ ]unsigned[ ]char[ ]bits_9600\[\][ ]*=[ ][{][^}]*[}][;]' drivers/net/hamradio/yam9600.h + blob '#include[ ]["]yam\(96\|12\)00\.h["]\([\n][\n]*#include[ ]["]yam\(96\|12\)00\.h["]\)*' drivers/net/hamradio/yam.c + + blobna 'static[ ]const[ ]u_char[ ]__Xilinx7OD\[\][ ]=[ ][{][^}]*[}][;]' drivers/net/pcmcia/ositech.h + blob '#include[ ]["]ositech\.h["]' drivers/net/pcmcia/smc91c92_cs.c + blobna '\([/][*][ ]Download[ ]the[ ]Seven[ ]of[ ]Diamonds[ ]firmware[^/]*[*][/][\n ]*\)\?for[ ]*[(][^\n]*__Xilinx7OD[^{}]*[{][\n][ ]*outb[ ]*[(]__Xilinx7OD[^}]*[}]' drivers/net/pcmcia/smc91c92_cs.c + + blob 'static[ ]const[ ]u8[ ]microcode\[\][ ]=[ ][{][^}]*[}][ ]*[;]' drivers/net/tokenring/3c359_microcode.h + blob '#include[ ]["]3c359_microcode\.h["]' drivers/net/tokenring/3c359.c + blobna 'start[ ]=[ ][(]0xFFFF[ ]-[ ][(]mc_size[)][^;]*[;][\n ]*[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n ]*printk[(]KERN_INFO[ ]["]3C359:[ ]Uploading[ ]Microcode:[ ]["][)][;][\n ]*for[ ][(][^{]*\(mc_size[^{]*[)][ ][{][^}]*writeb[(]microcode\[\|[)][ ][{][^}]*writeb[(]microcode\[mc_size\)[^}]*[}]\([\n][ ]*printk[^\n]*[;][\n ]*for[ ][(][^{]*\(mc_size[^{]*[)][ ][{][^}]*writeb[(]microcode\[\|[)][ ][{][^}]*writeb[(]microcode\[mc_size\)[^}]*[}]\)*' drivers/net/tokenring/3c359.c + + blobname 'tr_smctr\.bin' drivers/net/tokenring/smctr.c + + blobname 'kaweth[/]\(new\|trigger\)_code\(_fix\)\?\.bin' drivers/net/usb/kaweth.c + + + blobname '\(agere\|prism\)_\(sta\|ap\)_fw\.bin' 'drivers/net/wireless/\(orinico/\)\?\(orinoco\|fw\)\.c' + blobname 'symbol_sp24t_\(prim\|sec\)_fw' 'drivers/net/wireless/\(\(orinico/\)\?orinoco\.c\|spectrum_cs\.c\)' + + blob 'unsigned[ ]short[ ]sbus_risc_code01\[\][ ]__devinitdata[ ]=[ ][{][^}]*[}][;]' drivers/scsi/qlogicpti_asm.c + blob '#include[ ]["]qlogicpti_asm\.c["]' drivers/scsi/qlogicpti.c + + blob '\([/][*][ ]Microcode[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n]*\)\?static[ ]\(u\(nsigned[ ]\)\?char\|unsigned[ ]short\|ADV_DCNT\)[ ]_\(asc_mcode\|adv_asc3\(550\|8C\(08\|16\)00\)\)_\(buf\[\][ ]=[ ][{][^}]*[}]\|size[ ]=[ ]sizeof[^;]*\|chksum[ ]=[ ]0x[^;]*\)[;]\([ ]*[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)\?\([\n][\n]*\([/][*][ ]Microcode[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n]*\)\?static[ ]\(u\(nsigned[ ]\)\?char\|unsigned[ ]short\|ADV_DCNT\)[ ]_\(asc_mcode\|adv_asc3\(550\|8C\(08\|16\)00\)\)_\(buf\[\][ ]=[ ][{][^}]*[}]\|size[ ]=[ ]sizeof[^;]*\|chksum[ ]=[ ]0x[^;]*\)[;]\([ ]*[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]\)\?\)*' drivers/scsi/advansys.c + + blob '\(#ifdef[ ]UNIQUE_FW_NAME[\n]\)\?static[ ]unsigned[ ]short[ ]\(risc\|fw12\(80e\|160\)i\)_code01\[\][ ]=[ ][{]\([\n]#else[\n]static[ ]unsigned[ ]short[ ]risc_code01\[\][ ]=[ ][{][\n]#endif[\n]\)\?[^}]*[}][;]\([\n][\n]*\(#ifdef[ ]UNIQUE_FW_NAME[\n]\)\?static[ ]unsigned[ ]short[ ]\(risc_code\|fw12\(80e\|160\)i\)_length01[ ]=[ ][^;]*[;]\([\n]#else[\n]static[ ]unsigned[ ]short[ ]risc_code_length01[ ]=[ ][^;]*[;][\n]#endif\)\?\)\?' 'drivers/scsi/ql1\(04\|2\(8\|16\)\)0_fw\.h' + + blobname 'emi26[/]\(bitstream\|firmware\|loader\)\.fw' drivers/usb/misc/emi26.c + + blobname 'emi62[/]\(bitstream\|midi\|spdif\|loader\)\.fw' drivers/usb/misc/emi62.c + + blobname 'keyspan[/]\(mpr\|usa\(18x\|19\(q[iw]\|w\)\?\|28\(x\(a\|b\)\?\)\?\|49w\(lc\)\?\)\)\.fw' drivers/usb/serial/keyspan.c + + accept '[ ][ ]fw_name[ ]=[ ]["]keyspan_pda[/]\(keyspan_pda\|xircom_pgs\)\.fw["][;]' drivers/usb/serial/keyspan_pda.c + blobna 'fw_name[ ]=[ ][^\n]*\([\n]\+[^\n}][^\n]*\)*\([/][*]KEYSPAN_PDA[*][/]\)\?request_ihex_firmware' drivers/usb/serial/keyspan_pda.c + accept '[ ]if[ ][(][/][*]KEYSPAN_PDA[*][/]request_ihex_firmware' drivers/usb/serial/keyspan_pda.c + + blobname 'edgeport[/]\(boot\|down\)2\?\.fw' drivers/usb/serial/io_edgeport.c + blobname 'edgeport[/]down3\.bin' drivers/usb/serial/io_ti.c + + blobname 'ti_\(usb-\)\?\(%d\|3410\|5052\)\.\(fw\|bin\)' drivers/usb/serial/ti_usb_3410_5052.c + + blobname 'whiteheat\(_loader\(_debug\)\?\)\?\.fw' drivers/usb/serial/whiteheat.c + + blob 'static[ ]struct[ ]BA1struct[ ]BA1Struct[ ]=[ ][{][^;]*[}][;]' sound/pci/cs46xx/cs46xx_image.h + + blob 'static[ ]u32[ ]cwc\(4630\|async\|snoop\)_\(code\|parameter\)\[\][ ]=[ ][{][^;]*[}][;]' 'sound/pci/cs46xx/imgs/cwc\(4630\|async\|snoop\)\.h' + # cwcbinhack appears to have been created by hand. + # cwcdma has sources (not verified) in cwcdma.asp. + accept 'static[ ]u32[ ]cwc\(binhack\|dma\)_code\[\][ ]=[ ][{][^;]*[}][;]' 'sound/pci/cs46xx/imgs/cwc\(binhack\|dma\)\.h' + blob '#include[ ]["]\(cs46xx_image\|imgs[/]cwc\(4630\|async\|snoop\)\)\.h["]\([\n][\n]*#include[ ]["]\(cs46xx_image\|imgs[/]cwc\(4630\|async\|snoop\)\)\.h["]\)*' sound/pci/cs46xx/cs46xx_lib.c + + blobname 'korg[/]k1212\.dsp' sound/pci/korg1212/korg1212.c + + blobname 'ess[/]maestro3_assp_\(kernel\|minisrc\)\.fw' sound/pci/maestro3.c + + blobname 'yamaha[/]ds1e\?_\(ctrl\|dsp\)\.fw' sound/pci/ymfpci/ymfpci_main.c + + blobname 'sb16[/]\(\(a\|mu\)law_main\|ima_adpcm_\(init\|capture\|playback\)\)\.csp' sound/isa/sb/sb16_dsp.c + + blob 'static[ ]const[ ]struct[ ][{][^}]*[}][ ]yss225_registers\[\][ ]__devinitdata[ ]=[ ][{][^;]*[}][;]' sound/isa/wavefront/yss225.c + blobname 'yamaha[/]yss225_registers\.bin' sound/isa/wavefront/wavefront_fx.c + blobna 'firmware[ ]=[ ][&]yss225_registers_firmware[;]' sound/isa/wavefront/wavefront_fx.c + blob 'static[ ]const[ ]struct[ ]firmware[ ]yss225_registers_firmware[ ]=[ ][{][^;]*[}][;]' sound/isa/wavefront/wavefront_fx.c + blobna '\(ospath[ ]*-[ ]Pathname[^\n]*ICS2115[^-]*wavefront\.os\|Note:[ ]the[ ]firmware[ ]file[ ]["]wavefront\.os["]\)[^-]*[/]lib[/]firmware\.\([^.]*after[ ]upgrading[ ]the[ ]kernel\)\?' Documentation/sound/alsa/ALSA-Configuration.txt + blobname 'wavefront\.os' sound/isa/wavefront/wavefront_synth.c + + blobna 'and[\n]require[ ]the[ ]use[ ]of[^\n]*propr\?ietary[^:]*' Documentation/arm/IXP4xx + blob 'If[ ]you[ ]need[ ]to[ ]use[ ]any[ ]of[ ]the[ ]above[^\n]*download[^:]*:[\n ]*http:[^\n]*ixp4[^\n]*' Documentation/arm/IXP4xx + + blobname 'xc\(%d\|[0-9]*\)\.bin' arch/arm/mach-netx/include/mach/xc.h + accept 'int[ ]xc_request_firmware[(]struct[ ]xc[ ]*[*][ ]*x[)][;]' arch/arm/mach-netx/include/mach/xc.h + accept 'int[ ]xc_request_firmware[(]struct[ ]xc[ ]*[*][ ]*x[)][\n][{]' arch/arm/mach-netx/xc.c + accept '[ ][ ]dev_err[(]x->dev,[ ]["]request_firmware[ ]failed\\n["][)][;]' arch/arm/mach-netx/xc.c + accept 'EXPORT_SYMBOL[(]xc_request_firmware[)][;]' arch/arm/mach-netx/xc.c + accept '[ ][ ]if[ ][(]xc_request_firmware[(]priv->xc[)][)][ ][{]' drivers/net/netx-eth.c + + blobname 'iop_fw_load_[sm]pu' arch/cris/arch-v32/drivers/iop_fw_load.c + accept 'int[ ]iop_fw_load_[sm]pu[(]' arch/cris/arch-v32/drivers/iop_fw_load.c + accept '[ ]retval[ ]=[ ]request_firmware[^;]*[&]iop_[sm]pu_device' arch/cris/arch-v32/drivers/iop_fw_load.c + accept 'EXPORT_SYMBOL[(]iop_fw_load_[sm]pu[)][;]' arch/cris/arch-v32/drivers/iop_fw_load.c + + accept '[/][*][ ]fake[ ]device[ ]for[ ]request_firmware[ ][*][/]' arch/x86/kernel/microcode_core.c + + blobname 'amd-ucode[/]microcode_amd\.bin' arch/x86/kernel/microcode_amd.c + + blobname 'intel-ucode[/]\([0-9a-f][0-9a-f]\|%02x\)-\([0-9a-f][0-9a-f]\|%02x\)-\([0-9a-f][0-9a-f]\|%02x\)' 'arch/x86/kernel/microcode\(_intel\)\?\.c' + + blobname 'BCM2033-\(MD\.hex\|FW\.bin\)' drivers/bluetooth/bcm203x.c + + blobname 'bfubase\.frm' drivers/bluetooth/bfusb.c + + blobname 'BT3CPCC\.bin' drivers/bluetooth/bt3c_cs.c + + blobname 'cyzfirm\.bin' drivers/char/cyclades.c + + accept 'MODULE_FIRMWARE[(]["]dsp56k[/]bootstrap\.bin["][)][;]' drivers/char/dsp56k.c + blobna 'const[ ]char[ ]fw_name\[\][ ]=[ ]["]dsp56k[/]bootstrap\.bin["][;][^\n]*\([\n]\+[^\n}][^\n]*\)*request_firmware[^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[ ]err[ ]=[ ]request_firmware[(][&]fw,[ ]fw_name,[ ]' drivers/char/dsp56k.c + accept '[ ]const[ ]char[ ]fw_name\[\][ ]=[ ]["]dsp56k[/]bootstrap\.bin["][;][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[ ]err[ ]=[ ]request_firmware[(][&]fw,[ ]fw_name,[ ]' drivers/char/dsp56k.c + + blobname 'isi\(6\(08\|\(08\|16\)em\)\|46\(08\|16\)\)\.bin' drivers/char/isicom.c + + blobname 'c\(218t\|p204\|320t\)unx\.cod' drivers/char/moxa.c + accept '[ ][ ]printk[(]KERN_ERR[ ]["]MOXA:[ ]request_firmware[ ]failed' drivers/char/moxa.c + + # This driver enables the user to update the non-Free BIOS, but it + # only issues a firmware request if specifically told to. It + # doesn't require any non-Free firmware to function, and it + # doesn't actually recommend users to perform updates, so I'm + # leaving it in. + accept '[ ][ ][ ]req_firm_rc[ ]=[ ]request_firmware_nowait[(][^;]*,[ ]["]dell_rbu["],' drivers/firmware/dell_rbu.c + accept '[ ]*["]dell_rbu:%s[ ]request_firmware_nowait["]' drivers/firmware/dell_rbu.c + + blobname 'xc3028-v27\.fw' drivers/media/common/tuners/tuner-xc2028.h + blobname 'xc3028L-v36\.fw' drivers/media/common/tuners/tuner-xc2028.h + + blobname 'dvb-fe-xc5000-1\.1\.fw' drivers/media/common/tuners/xc5000.c + + blobname '4210\(100[12]\|%4X\)\.sb' drivers/net/irda/irda-usb.c + blobna '[/][*][ \n*]*[ ]Known[ ]firmware[^*]*\([*]\+[^/*][^*]*\)*[*]*\(STIR421x\|4210\(100[12]\|%4X\)\.sb\)[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/net/irda/irda-usb.c + + blobname 'myri10ge_\(rss_\)\?ethp\?_z8e\.dat' drivers/net/myri10ge.c + blobna 'If[ ]the[ ]driver[ ]can[ ]neither[ ]enable[ ]ECRC[^*]*\([*]\+[^/*][^*]*\)*[*]*myri10ge_\(rss_\)\?ethp\?_z8e\.dat[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/net/myri10ge.c + + blobname 'spider_fw\.bin' drivers/net/spider_net.h + + blobname 'tms380tr\.bin' drivers/net/tokenring/tms380tr.c + + blobname 'atmel_at76c50\(2\([de]\|_3com\)\?\|4a\?\(_2958\)\?\|6\)\(\.bin\)\?' drivers/net/wireless/atmel.c + accept '[ ]*priv->firmware[ ]=[ ]\(NULL\|new_firmware\)[;]' drivers/net/wireless/atmel.c + + blobname 'b43\(legacy\)\?\(%s\)\?[/]\(%s\|ucode\([2459]\|1[1345]\)\|pcm5\|[abn]0g[01]initvals\(5\|1[13]\)\)\.fw' 'drivers/net/wireless/b43\(legacy\)\?/main.c' + blobname 'pcm5\.fw' drivers/net/wireless/b43/main.c + blobna 'b43legacyerr[(][^;]*must[ ]go[ ]to[ ]http[^;]*b43#devicefirmware[^;]*[)][;]' drivers/net/wireless/b43legacy/main.c + blobna 'You[ ]must[ ]go[ ]to[^;]*b43#devicefirmware[^;]*[^";)]' drivers/net/wireless/b43/main.c + blobna 'http:[/][/]wireless[^ ";)]*b43#devicefirmware' drivers/net/wireless/b43/main.c + + blob '#define[ ]IPW2100_FW_\(\(\(MAJOR\|MINOR\)_VERSION\|\(MAJOR\|MINOR\)[(]x[)]\)\|VERSION\)\([^\n]*\\[\n]\)*[^\n]*\([\n][\n]*#define[ ]IPW2100_FW_\(\(\(MAJOR\|MINOR\)_VERSION\|\(MAJOR\|MINOR\)[(]x[)]\)\|VERSION\)\([^\n]*\\[\n]\)*[^\n]*\)*' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + blobname 'ipw2100-\(["]\([^"\n]\|[\\][\n]\)*["]\([^"]\|[\\]["]\)*\)\+' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + blobname '__stringify[(]IPW2100_FW_MINOR_VERSION[)]' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + accept '[ ]*Portions[ ]of[ ]ipw2100_\(do_\)\?mod_firmware_load[, ]*\(ipw2100_\(do_\)\?mod_firmware_load[, and\n]*\)*' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + accept '[ ]ipw2100_mod_firmware_load[(]fw[)][;]' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + accept 'static[ ]int[ ]ipw2100_mod_firmware_load[(]' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + blobna 'if[ ][(]IPW2100_FW_MAJOR[^{]*[{][^}]*[ ][}]' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + blobname '["]["][ ]x[ ]["]\.fw["]' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c' + + accept '[/][*][ ]Call[ ]this[ ]function[ ]from[ ]process[ ]context[^*]*\([*]\+[^/*][^*]*\)*[*]*request_firmware' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2200.c' + blobname 'ipw2200-\(i\?bss\|sniffer\)\.fw' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2200.c' + accept '[ ][ ]IPW_ERROR[(]["]%s[ ]request_firmware[ ]failed' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2200.c' + + blobname 'iwlwifi-\(3945\|4965\|[156]000\(G2[AB]\)\?\|1[03]0\|6050\)["][ ]IWL\(3945\|4965\|[156]000\(G2[AB]\)\?\|1[03]0\|6050\)_UCODE_API[ ]["]\.ucode' 'drivers/net/iwlwifi/iwl\(3945-base\|-\(3945\|4965\|[156]000\)\)\.[ch]' + blobname 'iwlwifi-3945-' drivers/net/iwlwifi/iwl-3945.h + blobname '#api[ ]["]\.ucode["]' 'drivers/net/iwlwifi/iwl-\(3945.h\|\(4965\|[156]000\)\.c\)' + accept '#define\([ ]_\?IWL3945_MODULE_FIRMWARE[(]api[)]\)\+' drivers/net/iwlwifi/iwl-3945.h + accept '[ ][ ][*][ ]request_firmware[(][)][ ]is[ ]synchronous' 'drivers/net/iwlwifi/iwl\(3945-base\|-agn\)\.c' + blobname 'iwlwifi-4965-' drivers/net/iwlwifi/iwl-4965.c + blobname 'iwlwifi-5\(00\|15\)0-' drivers/net/iwlwifi/iwl-5000.c + blobname '%s%[dus]%s["],[\n ]*name_pre,[ ]\(\(priv->fw_\)\?index\|tag\|idx\),[ ]["]\.ucode' 'drivers/net/iwlwifi/iwl\(3945-base\|-agn\).c' + + blobname 'libertas_cs\(_helper\)\?\.fw' drivers/net/wireless/libertas/if_cs.c + blobname 'sd\(8385\|868[68]\)\(_helper\)\?\.bin\(["],[\n][ ]*\.firmware[ ]=[ ]["]sd\(8385\|868[68]\)\.bin\)\?' 'drivers/\(net/wireless/libertas/if_sdio\.c\|bluetooth/btmrvl_sdio\.c\)' + blobname 'sd\(8385\|868[68]\)\(_helper\)\?\.bin' 'drivers/\(net/wireless/libertas/if_sdio\.c\|bluetooth/btmrvl_sdio\.c\)' + accept '[ ]*card->firmware[ ]=[ ]\(if_sdio\|lbs_fw\|fw_name\)' drivers/net/wireless/libertas/if_sdio.c + blobname 'usb8388\(-5\.126\.0\.p5\)\?\.bin' drivers/net/wireless/libertas/if_usb.c + blob '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*usb8388\(-5\.126\.0\.p5\)\?\.bin[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/net/wireless/libertas/if_usb.c + accept '[ ][ ]lbs_pr_err[(]["]request_firmware\([(][)]\)\?[ ]failed' 'drivers/net/wireless/if_\(spi\|usb\)\.c' + blobna 'o\.[ ]Copy[ ]the[ ]firmware[ ]image[^\n]*usb8388\([^\n]\|[\n][ ]*[^ \n]\)*' drivers/net/wireless/libertas/README + blobna '\[fw_name=usb8388[^]]*\]' drivers/net/wireless/libertas/README + + blobname 'usb8388\.bin' drivers/base/Kconfig + accept '[ ][ ][ ]So,[ ]for[ ]example,[ ]you[ ]might[ ]set[ ]CONFIG_EXTRA_FIRMWARE=["]whatever\.bin["]' drivers/base/Kconfig + accept '[ ][ ][ ]kernel\.[ ]Then[ ]any[ ]request_firmware[(]\(["]whatever\.bin["]\)[)]' drivers/base/Kconfig + + blobname 'lbtf_usb\.bin' drivers/net/wireless/libertas_tf/if_usb.c + + blobname 'isl38\(86\|87\|90\)\(pci\|usb\(_bare\)\?\)\?' 'drivers/net/wireless/p54/p54\(pci\.c\|usb\.[ch]\)' + blob '[/][*][ ]for[ ]isl3886[ ]register[ ]definitions[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/net/wireless/p54/p54usb.h + blobna 'If[ ]you[ ]enable[ ]this\([^\n]\|[\n][ ]*[^ \n]\)*isl3890\([^\n]\|[\n][ ]*[^ \n]\)*' drivers/net/wireless/Kconfig + + blobname 'isl38\(77\|86\|90\)' drivers/net/wireless/prism54/islpci_dev.c + + blobname 'rt2[56]61s\?\.bin' drivers/net/wireless/rt2x00/rt61pci.h + blobname 'rt73\.bin' drivers/net/wireless/rt2x00/rt73usb.h + + blobname 'zd1201\(-ap\)\?\.fw' drivers/net/wireless/zd1201.c + + blobname 'zd1211[/]zd1211b\?_\(u\([rb]\|phr\)\?\)\?' drivers/net/wireless/zd1211/zd_usb.c + + # ??? gotta introduce some means to match false-positives + # including post context containing blobs, so that the macro name + # is not flagged or deblobbed, but the blob name is. + # blobna 'PCMCIA_\([PM]FC_\)\?DEVICE_CIS_\(MANF_CARD\|PROD_ID[1-4]*\)' + # accept '[ ] PCMCIA_\([PM]FC_\)\?DEVICE_CIS_\(MANF_CARD\|PROD_ID[1-4]*\)[(][^)]*, ["][/][*][(]DEBLOBBED[)][*][/]["][)]' + # accept '#define PCMCIA_\([PM]FC_\)\?DEVICE_CIS_\(MANF_CARD\|PROD_ID[1-4]*\)[(]' include/pcmcia/device_id.h + + # These are not software; they're Free, but GPLed without in-tree sources. + # blobname '\(cis[/]\)\?3CCFEM556\.cis' drivers/net/pcmcia/3c574_cs.c + # blobname '\(cis[/]\)\?3CXEM556\.cis' drivers/net/pcmcia/3c589_cs.c + # blobname '\(cis[/]\)\?\(PCMLM28\|DP83903\|LA-PCM\|PE520\|NE2K\|PE-200\|tamarack\)\.cis' drivers/net/pcmcia/pcnet_cs.c + # blobname '\(cis[/]\)\?\(PCMLM28\|DP83903\|3C\(CF\|X\)EM556\|MT5634ZLX\|COMpad[24]\|RS-COM-2P\|GLOBETROTTER\)\.cis' drivers/serial/serial_cs.c + # These are not software; they're Free, but GPLed without textual sources. + # It is safe to assume that these binaries *are* sources, since they + # can be trivially converted back to a textual form, without loss. + # blobname '\(cis[/]\)\?SW_\([78]xx\|555\)_SER\.cis' drivers/serial/serial_cs.c + + accept '[ ]\(ds_\)\?\(dev_\)\?dbg[(]\(1[,][ ]\)\?\([&]dev->dev,[ ]\)\?["]trying[ ]to[ ]load[ ]\(CIS[ ]file\|firmware\)[ ]%s[\\]n["],[ ]filename[)][;][\n]*[ ]if[ ][(]\(strlen[(]filename[)][^\n]*\([{][^}]*[ ][}]\|[)][\n][ ]*return[^\n]*[;]\)[\n]*[ ]snprintf[(]path,[ ]\(20\|sizeof[(]path[)]\),[^\n]*,[ ]filename[)][;][\n]*[ ]if[ ][(]request_firmware[(][&]fw,[ ]path\|request_firmware[(][&]fw,[ ]filename\),[ ][&]dev->dev[)][^\n]*[)][ ][{][\n][ ]*if[ ][(]fw->size[ ]>=[ ]CISTPL_MAX_CIS_SIZE[)]' drivers/pcmcia/ds.c + accept 'MODULE_FIRMWARE[(]["]\(cis[/]\)\?\(PCMLM28\|DP83903\|3C\(CF\|X\)EM556\|MT5634ZLX\|COMpad[24]\|RS-COM-2P\|GLOBETROTTER\|SW_\([78]xx\|555\)_SER\)\.cis["][)][;]\([\n]MODULE_FIRMWARE[(]["]\(cis[/]\)\?\(PCMLM28\|DP83903\|3C\(CF\|X\)EM556\|MT5634ZLX\|COMpad[24]\|RS-COM-2P\|GLOBETROTTER\|SW_\([78]xx\|555\)_SER\)\.cis["][)][;]\)*' drivers/serial/serial_cs.c + accept 'MODULE_FIRMWARE[(]["]\(cis[/]\)\?\(PCMLM28\|DP83903\|LA-PCM\|PE520\|NE2K\|PE-200\|tamarack\)\.cis["][)][;]\([\n]MODULE_FIRMWARE[(]["]\(cis[/]\)\?\(PCMLM28\|DP83903\|LA-PCM\|PE520\|NE2K\|PE-200\|tamarack\)\.cis["][)][;]\)*' drivers/net/pcnet_cs.c + + # This enables but does not encourage firmware updates. + accept '[ ]err[ ]=[ ]request_firmware[(][&]asd_ha->bios_image,[\n ]*filename_ptr,[\n ]*[&]asd_ha->pcidev->dev[)][;]' drivers/scsi/aic94xx/aic94xx_init.c + blobname 'aic94xx-seq\.fw' drivers/scsi/aic94xx/aic94xx_seq.h + + # This enables but does not encourage firmware updates. + accept '[ ]if[(]request_firmware[(]&fw_entry,[ ]fname,[ ]&ioa_cfg->pdev->dev[)][)]' drivers/scsi/ipr.c + + accept '[ ]res[ ]=[ ]request_firmware[(]&fw,[ ]["]sas_addr["],[ ]&shost->shost_gendev[)][;]' drivers/scsi/libsas/sas_scsi_host.c + + blobname 'ql\(2\([12345]00\|322\)\|8[12]00\)_fw\.bin' drivers/scsi/qla2xxx/qla_os.c + blobna 'By[ ]default,[ ]firmware[ ]for[ ]the[ ]ISP[ ]parts\([^\n]\|[\n]*[ ]\)*ql2[12345]00_fw\.bin\([^\n]\|[\n]*[ ]\)*ftp:[/][/][^\n]*firmware[/]\(.*linux-firmware[ ]tree[ ]as[ ]well\.\)\?' drivers/scsi/qla2xxx/Kconfig + + blobname 'icom_\(asc\|res_dce\|call_setup\)\.bin' drivers/serial/icom.c + + blobname 'fsl_qe_ucode_uart_\(%u\|[0-9]*\)_\(%u\|[0-9]*\)\(%u\|[0-9]*\)\.bin' drivers/serial/ucc_uart.c + + blobname 'atmel_at76c50\(3-\(i386[13]\|rfmd\(-acc\)\?\)\|5\(a\(mx\)\?\)\?-rfmd\(2958\)\?\)\.bin' 'drivers/\(\(staging\|net/wireless\)/at76_usb/at76_usb\.c\|at76c50x-usb\.c\)' + + accept 'static[ ]struct[ ]go7007_usb_board[ ]board_\(matrix_\(ii\|reload\|revolution\)\|star_trek\|px_tv402u\|xmen\|lifeview_lr192\|endura\|adlink_mpg24\|sensoray_2250\)[ ]=[ ][{][\n]\([ ]\.flags[ ]*=[ ][^",]*,[\n]*\)*[ ]\.main_info[ ]*=[ ][{][\n][ ][ ]\.firmware[ ]*=[ ]' drivers/staging/go7007/go7007-usb.c + accept 'static[ ]struct[ ]go7007_board_info[ ]board_voyager[ ]=[ ][{][\n][ ]\.firmware[ ]*=[ ]' drivers/staging/go7007/saa7134-go7007.c + blobname 'go7007\(fw\|tv\)\.bin' 'drivers/staging/go7007/\(go7007-\(driver\|usb\)\|saa7134-go7007\)\.c' + + blobname 'cxacru-\(%s\|fw\|bp\|cf\)\.bin' drivers/usb/atm/cxacru.c + + blobname 'speedtch-\(%d\|[0-9]*\)\.bin\(\.\(%x\|\(0x\)\?[0-9a-fA-F]*\)\(\.\(%02x\|[0-9a-fA-F][0-9a-fA-F]\)\)\?\)\?' drivers/usb/atm/speedtch.c + + blobname 'ueagle-atm[/]' drivers/usb/atm/ueagle-atm.c + blobname '\(adi930\|eagle\(I*\|IV\)\)\.fw' drivers/usb/atm/ueagle-atm.c + blobname 'DSP[49e][ip]\.bin' drivers/usb/atm/ueagle-atm.c + blobname '930-fpga\.bin' drivers/usb/atm/ueagle-atm.c + blobname 'CMV[x9ae][yip]\.bin\(\.v2\)\?' drivers/usb/atm/ueagle-atm.c + + blobname 'isight\.fw' drivers/usb/misc/isight_firmware.c + + blobname '\(i1480-\(pre-phy\|usb\|phy\)\|ptc\)-0\.0\.bin' drivers/uwb/i1480/dfu/usb.c + + accept '[ ]retval[ ]=[ ]request_firmware[(][&]fw_entry,[ ]["]metronome\.wbf["],[ ][&]dev->dev[)][;]' drivers/video/metronomefb.c + + blobname '\(vx[/]\)\?\(bx_1_v\(xp\|p4\)\.b56\|x1_\(1_v\(x[2p]\|p4\)\|2_v22\)\.xlx\|bd56\(002\|3v2\|3s3\)\.boot\|l_1_v\(x[2p]\|p4\|22\)\.d56\)' sound/drivers/vx/vx_hwdep.c + + blobname '\(ea[/]\)\?darla20_dsp\.fw' sound/pci/echoaudio/darla20.c + blobname '\(ea[/]\)\?darla24_dsp\.fw' sound/pci/echoaudio/darla24.c + blobname '\(ea[/]\)\?\(\(loader\|echo3g\)_dsp\|3g_asic\)\.fw' sound/pci/echoaudio/echo3g.c + blobname '\(ea[/]\)\?gina20_dsp\.fw' sound/pci/echoaudio/gina20.c + blobname '\(ea[/]\)\?\(\(loader\|gina24_3[06]1\)_dsp\|gina24_3[06]1_asic\)\.fw' sound/pci/echoaudio/gina24.c + blobname '\(ea[/]\)\?\(loader\|indigo\)_dsp\.fw' sound/pci/echoaudio/indigo.c + blobname '\(ea[/]\)\?\(loader\|indigo_dj\)_dsp\.fw' sound/pci/echoaudio/indigodj.c + blobname '\(ea[/]\)\?\(loader\|indigo_io\)_dsp\.fw' sound/pci/echoaudio/indigoio.c + blobname '\(ea[/]\)\?layla20_\(dsp\|asic\)\.fw' sound/pci/echoaudio/layla20.c + blobname '\(ea[/]\)\?\(\(loader\|layla24\)_dsp\|layla24_\(1\|2[AS]\)_asic\)\.fw' sound/pci/echoaudio/layla24.c + blobname '\(ea[/]\)\?\(loader\|mia\)_dsp\.fw' sound/pci/echoaudio/mia.c + blobname '\(ea[/]\)\?\(\(loader\|mona_3[06]1\)_dsp\|mona_3[06]1\(_1\)\?_asic_\(48\|96\)\|mona_2_asic\)\.fw' sound/pci/echoaudio/gina24.mona + blobname 'ea[/]%s' sound/pci/echoaudio/echoaudio.c + + blobname 'emu[/]\(hana\|\(audio\|micro\)_dock\|emu\(0404\|1010\(b\|_notebook\)\)\)\.fw' sound/pci/emu10k1/emu10k1_main.c + + blobname '\(mixart[/]\)\?miXart8\(AES\)\?\.\(xlx\|elf\)' sound/pci/mixart/mixart_hwdep.c + + blobname '\(pcxhr[/]\)\?\(x[ic]_1_882\|[ebd]321_512\|xlxint\|\(xlxc\|dsp[ebd]\)\(882\|1\?222\|924\)\(e\|hr\)\?\)\(\.dat\|\.[ebd]56\)' sound/pci/pcxhr/pcxhr_hwdep.c + + blobna 'You[ ]need[ ]to[ ]install[\n]*riptide\.hex[\n]\.[\n]' Documentation/sound/alsa/ALSA-Configuration.txt + blobname 'riptide\.hex' sound/pci/riptide/riptide.c + defsnc 'static[ ]union[ ]firmware_version[ ]firmware_versions\[\][ ]=' sound/pci/riptide/riptide.c + blobna 'chip->firmware[ ]=[ ]firmware[;]' sound/pci/riptide/riptide.c + + blobname '\(multi\|digi\)face_firmware\(_rev11\)\?\.bin' sound/pci/rme9652/hdsp.c + + accept '[ ][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Caution:[ ]This[ ]API[^*]*\([*]\+[^/*][^*]*\)*[*]*request_firmware.' sound/sound_firmware.c + accept 'static[ ]int[ ]do_mod_firmware_load[(]' sound/sound_firmware.c + accept 'int[ ]mod_firmware_load[(]' sound/sound_firmware.c + accept '[ ]r[ ]=[ ]do_mod_firmware_load[(]' sound/sound_firmware.c + accept 'EXPORT_SYMBOL[(]mod_firmware_load[)][;]' sound/sound_firmware.c + accept 'extern[ ]int[ ]mod_firmware_load[(]' sound/oss/sound_firmware.h + + accept '[ ]INITCODESIZE[ ]=[ ]mod_firmware_load[(]INITCODEFILE,[ ][&]INITCODE[)][;]' sound/oss/msnd_pinnacle.c + accept '[ ]PERMCODESIZE[ ]=[ ]mod_firmware_load[(]PERMCODEFILE,[ ][&]PERMCODE[)][;]' sound/oss/msnd_pinnacle.c + blobname '\([/]etc[/]sound[/]\|turtlebeach[/]\)\?pndsp\(ini\|erm\)\.bin' '\(sound/oss/msnd_pinnacle.h\|Documentation/sound/alsa/ALSA-Configuration.txt\)' + blobname '\([/]etc[/]sound[/]\|turtlebeach[/]\)\?msnd\(init\|perm\)\.bin' '\(sound/oss/msnd_classic.h\|Documentation/sound/alsa/ALSA-Configuration.txt\)' + blobna '\(Important[ ]Notes[ ]-[ ]Read[ ]Before[ ]Using\|Obtaining[ ]and[ ]Creating[ ]Firmware[ ]Files\)[\n]#[ ][ ]~*\([^\n]\|[\n]#[ ]*\([\n]#[ ]*\([\n]#[ ]*For[ ]the[^\n]*[\n]#[ ]*~*[\n]\)\?\)\?[^\n ]\)*\.' Documentation/sound/oss/MultiSound + + accept '[ ]len[ ]=[ ]mod_firmware_load[(]fn,[ ][&]data[)][;][\n][ ]if[ ][^{]*[ ][{][\n][ ][ ]*printk[(]KERN_ERR[ ]["]sscape:' sound/oss/sscape.c + blobname '[/]sndscape[/]\(scope\.cod\|sndscape\.co\([?dx01234]\|%d\)\)' sound/oss/sscape.c + + accept '[ ][ ]trix_boot_len[ ]=[ ]mod_firmware_load[(]' sound/oss/trix.c + blobname '\([/]etc[/]sound[/]\)\?trxpro\.bin' sound/oss/trix.c + + accept '[ ][ ]smw_ucodeLen[ ]=[ ]mod_firmware_load[(]' sound/oss/sb_common.c + blobname '\([/]etc[/]sound[/]\)\?midi0001\.bin' sound/oss/sb_common.c + blobname '\([/]etc[/]sound[/]\|turtlebeach[/]\)\?msnd\(init\|perm\)\.bin' sound/oss/Kconfig + + blob 'When[ ]the[ ]module[ ]is[ ]loaded[^\n]*\([\n][^\n]*\)*[/]pss_synth[^\n]*\([\n][^\n]*\)*' Documentation/sound/oss/PSS + blob 'pss_firmware[ \n ]*This[ ]parameter[^\n]*\([\n][^\n]*\)*[/]pss_synth[^\n]*\([\n][^\n]\+\)*' Documentation/sound/oss/PSS-updates + accept '[ ][ ]pss_synthLen[ ]=[ ]mod_firmware_load[(]pss_firmware,[ ][(]void[ ][*][)][ ][&]pss_synth[)][;]' sound/oss/pss.c + accept '[ ]*if[ ]\?[(]\(!\|fw_load[ ][&][&][ ]\)\?pss_synth' sound/oss/pss.c + accept '[ ]*if[ ][(]!pss_download_boot[(]devc,[ ]pss_synth,[ ]pss_synthLen,' sound/oss/pss.c + accept '[ ]*vfree[(]pss_synth[)][;]' sound/oss/pss.c + blobna 'to[ ]allow[ ]the[ ]user[ ][^/"]*fir[em]ware[ ]file[^/"]*["][^"*]*["]' sound/oss/pss.c + blobname '\([/]etc[/]sound[/]\)\?pss_synth' sound/oss/pss.c + accept '[ ][$][(]obj[)][/]bin2hex[ ]pss_synth' sound/oss/Makefile + accept '[ ][ ]*echo[ ][\'"'"']static[ ]\(unsigned[ ]char[ ][*][ ]*\|int[ ]\)pss_synth\(Len\)\?[ ]=[ ]\(NULL\|0\)[;]' sound/oss/Makefile + + accept '[ ]\.request_firmware[ ]=[ ]NULL,' drivers/media/dvb/dvb-usb/m920x.c + + accept '[ ]*["]request_firmware[ ]\(fatal[ ]error\|unable[ ]to[ ]locate\|:[ ]Failed[ ]to[ ]find\)' drivers/media/video/pvrusb2/pvrusb2-hdw.c + accept '[ ][*][ ]NOTE[ ]:[ ]the[ ]pointer[ ]to[ ]the[ ]firmware[ ]data[ ]given[ ]by[ ]request_firmware[(][)]' drivers/media/video/pvrusb2-hdw.c + + blobname 'dvb-usb-\(dw\(210[124]\|3101\)\|s630\)\.fw' drivers/media/dvb/dvb-usb/dw2102.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]gp8psk_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/gp8psk.c + blobname 'dvb-usb-gp8psk-0[12]\.fw' drivers/media/dvb/dvb-usb/gp8psk.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]opera1_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/nova-t-usb2.c + blobname 'dvb-usb-opera-\(fpga-\)\?-01\.fw' drivers/media/dvb/dvb-usb/opera1.c + + blobname 'dvb-fe-af9013\.fw' drivers/media/dvb/frontends/af9013_priv.h + + blobname 'dvb-fe-bcm3510-01\.fw' drivers/media/dvb/frontends/bcm3510.c + + blobname 'dvb-fe-cx24116\.fw' drivers/media/dvb/frontends/cx24116.c + + blobname 'dvb-fe-nxt2002\.fw' drivers/media/dvb/frontends/nxt200x.c + + blob '[/][*][\n][ ][*][ ]This[ ]driver[ ]needs[ ]two[ ]external[ ]firmware[ ]files[^*]*\([*]\+[^/*][^*]*\)*[*]*dvb-fe-or51132-\(vsb\|qam\)\.fw[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/media/dvb/frontends/or51132.c + blobname 'dvb-fe-or51132-\(vsb\|qam\)\.fw' drivers/media/dvb/frontends/or51132.c + + blobname 'dvb-fe-or51211\.fw' drivers/media/dvb/frontends/or51211.c + + blobname 'dvb-fe-sp887x\.fw' drivers/media/dvb/frontends/sp887x.c + + blobname 'dvb-fe-tda10048-1\.0\.fw' drivers/media/dvb/frontends/tda10048.c + + blobname '\(\(dvb\|tdmb\|isdbt\)_nova\|cmmb_vega\)_12mhz\(_b0\)\?\.inp' drivers/media/dvb/siano/smscoreapi.c + + blobname '\(dvb[th]\(_bda\)\?\|tdmb\)_stellar_usb\.inp' drivers/media/dvb/siano/smsusb.c + + blobname 'dvb-ttusb-dec-\(2000t\|2540t\|3000s\)\.fw' drivers/media/dvb/ttusb-dec/ttusb_dec.c + + blob 'For[ ]the[ ]WinTV[/]PVR[^:]*firmware[^:]*:[\n]hcwamc\.rbf[^\n]*\([\n][^\n][^\n]*\)*' Documentation/video4linux/bttv/README + blobname 'hcwamc\.rbf' drivers/media/video/bt8xx/bttv-cards.c + blobna 'The[ ]hcwamc\.rbf[ ]firmware[ ]file[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/media/video/bt8xx/bttv-cards.c + + blobname 'v4l-cx23418-dig\.fw' drivers/media/video/cx18/cx18-av-firmware.c + blobname 'v4l-cx23418-[ac]pu\.fw' drivers/media/video/cx18/cx18-firmware.c + + blobname 'v4l-cx23885-enc\.fw' 'drivers/media/video/cx23\(1xx\|885\)/cx23885-417.c' + + blobname 'v4l-\(cx23\(885\|1xx\)-avcore-01\|cx25840\)\.fw' drivers/media/video/cx25840/cx25840-firmware.c + + blobname 'v4l-cx2341x-\(enc\|dec\)\.fw' include/media/cr2341x.h + + blobname 'v4l-cx2341x-init\.mpg' drivers/media/video/ivtv/ivtv-firmware.c + + blobname 'v4l-pvrusb2-\(2[49]\|73\)xxx-01\.fw' drivers/media/video/pvrusb2/pvrusb2-devattr.c + + blobname 'f2255usb\.bin' drivers/media/video/s2255drv.c + + blobname 'drx397xD\.\(A2\|B1\)\.fw' drivers/media/dvb/frontends/drx397xD_fw.h + + accept '#define[ ]DIB0700_DEFAULT_DEVICE_PROPERTIES[ ]\\[\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^\n",]*,[ ]\\[\n]\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dib0700_devices.c + blobname 'dvb-usb-dib0700-1\.[12]0\.fw' 'drivers/media/dvb/dvb-usb/dib0700_\(devices\|core\)\.c' + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]nova_t_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/nova-t-usb2.c + blobname 'dvb-usb-nova-t-usb2-02\.fw' drivers/media/dvb/dvb-usb/nova-t-usb2.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]umt_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/umt-010.c + blobname 'dvb-usb-umt-010-02\.fw' drivers/media/dvb/dvb-usb/umt-010.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]ttusb2_properties\(_s2400\)\?[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/ttusb2.c + blobname 'dvb-usb-\(pctv-400e\|tt-s2400\)-01\.fw' drivers/media/dvb/dvb-usb/ttusb2.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]cxusb_bluebird_\(lgh064f\|dee1601\|lgz201\|dtt7579\|nano2_needsfirmware\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/cxusb.c + blobname 'dvb-usb-bluebird-0[12]\.fw' drivers/media/dvb/dvb-usb/cxusb.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(dtt200u\|wt220u\(_\(fc\|zl0353\|miglia\)\)\?\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dtt200u.c + blobname 'dvb-usb-\(dtt200u-01\|wt220u-\(02\|fc03\|\(zl0353\|miglia\)-01\)\)\.fw' drivers/media/dvb/dvb-usb/dtt200u.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]vp7045_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/vp7045.c + blobname 'dvb-usb-vp7045-01\.fw' drivers/media/dvb/dvb-usb/vp7045.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(dibusb\(1_1\(_an2235\)\?\|2_0b\)\|artec_t1_usb2\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dibusb-mb.c + blobname 'dvb-usb-\(dibusb-\(5\.0\.0\.11\|an2235-01\|6\.0\.0\.8\)\|adstech-usb2-02\)\.fw' drivers/media/dvb/dvb-usb/dibusb-mb.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]a800_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/a800.c + blobname 'dvb-usb-avertv-a800-02\.fw' drivers/media/dvb/dvb-usb/a800.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]af9005_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/af9005.c + blobname 'af9005\.fw' drivers/media/dvb/dvb-usb/af9005.c + + accept '[ ][ ]\.download_firmware[ ]=[ ]af9015_download_firmware,[\n][ ][ ]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/af9015.c + blobname 'dvb-usb-af9015\.fw' drivers/media/dvb/dvb-usb/af9015.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]dibusb_mc_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dibusb-mc.c + blobname 'dvb-usb-dibusb-6\.0\.0\.8\.fw' drivers/media/dvb/dvb-usb/dibusb-mc.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(megasky\|digivox_mini_ii\|tvwalkertwin\|dposh\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/m920x.c + blobname 'dvb-usb-\(\(megasky\|digivox\)-02\|tvwalkert\|dposh-01\)\.fw' drivers/media/dvb/dvb-usb/m920x.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]vp702x_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/vp702x.c + blobname 'dvb-usb-vp702x-02\.fw' drivers/media/dvb/dvb-usb/vp702x.c + + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]digitv_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/digitv.c + blobname 'dvb-usb-digitv-02\.fw' drivers/media/dvb/dvb-usb/digitv.c + + blob 'Driver:[ ]\(acenic\|ADAPTEC_STARFIRE\|cxgb3\|e100\|tigon3\|korg1212\|maestro3\|ymfpci\|smctr\|kaweth\|ttusb-budget\|keyspan\|emi26\|emi62\|t[iu]_usb_3410_5052\|whiteheat\|ip2\|CPiA2\|DABUSB\|USB_VICAM\|USB_SERIAL_EDGEPORT\(_TI\)\?\|SND_SB16_CSP\|CASSINI\|ambassador\|SCSI_\(ADVANSYS\|QLOGIC\(_1280\|PTI\)\)\|TEHUTI\|TYPHOON\|YAM\|3C359\|PCMCIA_\(PCNET\|SMC91C92\|3C5\(89\|74\)\)\|MYRI_SBUS\|BNX2\|bnx2x\|wavefront\|SERIAL_8250_CS\|mga\|r128\|radeon\|ib_qib\)\([ ]--*\|:\)[ ]\([^\n]\|[\n]*[^\n\-]\)*\([\n][\n]--*[\n][\n]\?Driver:[ ]\(acenic\|ADAPTEC_STARFIRE\|cxgb3\|e100\|tigon3\|korg1212\|maestro3\|ymfpci\|smctr\|kaweth\|ttusb-budget\|keyspan\|emi26\|emi62\|t[iu]_usb_3410_5052\|whiteheat\|ip2\|CPiA2\|DABUSB\|USB_VICAM\|USB_SERIAL_EDGEPORT\(_TI\)\?\|SND_SB16_CSP\|CASSINI\|ambassador\|SCSI_\(ADVANSYS\|QLOGIC\(_1280\|PTI\)\)\|TEHUTI\|TYPHOON\|YAM\|3C359\|PCMCIA_\(PCNET\|SMC91C92\|3C5\(89\|74\)\)\|MYRI_SBUS\|BNX2\|bnx2x\|wavefront\|SERIAL_8250_CS\|mga\|r128\|radeon\|ib_qib\)\([ ]--*\|:\)[ ]\([^\n]\|[\n]*[^\n\-]\)*\)*' firmware/WHENCE + + blobname 'sms1xxx-\(stellar\|nova-[ab]\|hcw-55xxx\)-dvbt-0[12]\.fw' drivers/media/dvb/siano/sms-cards.c + + accept '[ ][ ][ ][ ]mv[ ]["][$]ofile["][ ]["][$]ofile\.elf["]' arch/powerpc/boot/wrapper + accept '[ ][ ][ ][ ][$]objbin[/]mktree[ ]["][$]ofile\.elf["]' arch/powerpc/boot/wrapper + accept '[ ]rm[ ]-f[ ]["][$]ofile\.elf["]' arch/powerpc/boot/wrapper + accept '[ ][ ][ ][ ][$][{]CROSS[}]objcopy[ ]-O[ ]binary[ ]["][$]ofile["][ ]["][$]ofile\.bin["]' arch/powerpc/boot/wrapper + accept '[ ][ ][ ][ ]dd[ ]if=["][$]ofile\.bin["][ ]of=["][$]ofile\.bin["]' arch/powerpc/boot/wrapper + accept '[ ][ ][ ][ ]odir=["][$][(]dirname[ ]["][$]ofile\.bin["][)]["]' arch/powerpc/boot/wrapper + accept '[ ][ ][ ][ ]gzip[ ]--force[ ]-9[ ]--stdout[ ]["][$]ofile\.bin["][ ]>[ ]["][$]odir[/]otheros\.bld["]' arch/powerpc/boot/wrapper + accept '[ ]\.incbin[ ]["]arch[/]x86[/]kernel[/]acpi[/]realmode[/]wakeup\.bin["]' arch/x86/kernel/acpi/wakeup_rm.S + accept '[;]set[ ]executable[ ]["]2232\.bin["]' drivers/char/ser_a2232fw.ax + + blobname 'di\(\(dn\|pr\)load\|diva\(pp\)\?\|hscx\|v110\|modem\|fax\|_etsi\|_\(1tr6\|belg\|franc\|atel\|ni\|5ess\|japan\|swed\)\|dspdld\)\.\(bin\|s[xyqm]\|p\)' drivers/isdn/hardware/eicon/cardtype.h + blobname 'dsp\(dload\|dqsig\|dvmdm\|dvfax\)\.bin' drivers/isdn/hardware/eicon/dsp_defs.h + + blobname 'vicam[/]firmware\.fw' drivers/media/video/usbvideo/vicam.c + + accept '#include[ ]["]ixp2400_[rt]x\.ucode["]' drivers/net/ixp2000/ixpdev.c + + # New in 2.6.29 + blobname 'acenic[/]tg[12]\.bin' drivers/net/acenic.c + blobname 'adaptec[/]starfire_[rt]x\.bin' drivers/net/starfire.c + blobname 'e100[/]d10\(1[ms]\|2e\)_ucode\.bin' drivers/net/e100.c + blobname 'tigon[/]tg3\(_tso5\?\)\?\.bin' drivers/net/tg3.c + blobname '\(ti_usb-v\(%04x\|[0-9a-f]*\)-p\(%04x\|[0-9a-f]*\)\|mts_\(cdma\|gsm\|edge\)\)\.\(bin\|fw\)' drivers/usb/serial/ti_usb_3410_5052.c + blobname 'iw\?\(2400\|6050\)m\?-fw-\(sdio\|usb\)-\(\(["][ ]I2400M_FW_VERSION[ ]["]\|[0-9.]*\)\.sbcf\|[^". \n]*\)' 'drivers/net/wimax/i2400m/\(sdio\|usb\)\.c' + blob '3\.[ ]Installing[ ]the[ ]firmware[^\n]*\([\n][\n]*[ ][ ][ ][^\n]*\)*[\n]*[$][^\n]*i2400m-fw[^\n]*\([\n][\n]*[ ][ ][ ][^\n]*\)*' Documentation/wimax/README.i2400m + blob '6\.1\.[ ]Driver[ ]complains[^\n]*i2400m-fw[^\n]*\([\n][\n]*\([ ][ ][ ]\|i2400m_usb\)[^\n]*\)\+' Documentation/wimax/README.i2400m + accept '[ ][ ]ranges[ ]=[ ]<'"$blobpat*"'>[;]' 'arch/powerpc/boot/dts/\(mpc8572ds\|p2020ds\|katmai\)\.dts' + accept '\(div_table_\(clz\|inv\|ix\)\|zero_l\):\([\n][ ]\.\(byte[ ]-\?[0-9]*\|long[ ]0x[0-9A-F]*\)\)*' arch/sh/lib/udivsi3_i4i.S + defsnc 'const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]=' crypto/aes_generic.c + accept '[ ][ ][ ]every[ ]driver[ ]which[ ]uses[ ]request_firmware[(][)][ ]and[ ]ships[ ]its' drivers/base/Kconfig + defsnc 'static[ ]const[ ]u32[ ]filter_table\[\][ ]=' drivers/gpu/drm/i915/intel_tv.c + defsnc 'static[ ]u8[ ]af9015_ir_table_\(avermedia\(_ks\)\?\|digittrade\|trekstor\)\[\][ ]=' drivers/media/dvb/dvb-usb/af9015.h + defsnc '[ ]static[ ]__u8[ ]lgdt3304_\(vsb8\|qam\(64\|256\)\)_data\[\][ ]=' drivers/media/dvb/frontends/lgdt3304.c + defsnc 'static[ ]u8[ ]\(init\|c\)_table\[\]=' drivers/media/dvb/frontends/s921_core.c + defsnc 'static[ ]\(const[ ]\)\?struct[ ]stb0899_tab[ ]stb0899_\(cn\|dvbs2\?rf\|quant\|est\)_tab\[\][ ]=' drivers/media/dvb/frontends/stb0899_drv.c + defsnc 'static[ ]const[ ]struct[ ]stb6100_lkup[ ]lkup\[\][ ]=' drivers/media/dvb/frontends/stb6100.c + initnc 'static[ ]const[ ]__u8[ ]ov\(534\|772x\)_reg_initdata\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c + defsc 'static[ ]const[ ]\(__\)\?u8[ ]\(mi\(0360\|13[12]0\)\|po\(1200\|3130\)\|hv7131r\|ov76[67]0\)_\(\(soc\)\?_\?[iI]nit\(Q\?V\|SX\)GA\(_\(JPG\|data\)\)\?\|rundata\)\[\]\[4\][ ]=' drivers/media/video/gspca/vc032x.c + defsnc 'static[ ]\(const[ ]\)\?u\(32\|_int32_t\)[ ]ar928[05]\(Common\|Modes\(_\(fast_clock\|backoff_[12]3db_rxgain\|\(original\|high_power\)_[tr]x_\?gain\)\)\?\)_928\(0_2\|5\(_1_2\)\?\)\[\]\[[236]\][ ]=' 'drivers/net/wireless/ath9k/\(ar9002_\)\?initvals\.h' + defsnc 'static[ ]u32[ ]channel_tbl\[15\]\[9\][ ]=' drivers/staging/agnx/rf.c + defsnc 'static[ ]const[ ]u32[\n]gain_table\[\][ ]=' drivers/staging/agnx/rf.c + accept '<[frs]:[0-9]*x[0-9]*>[\n][01 \n]*' 'drivers/staging/asus_oled/\(linux\(_fr\?\)\?\|tux\(_r2\?\)\?\|zig\).txt' + defsnc 'static[ ]unsigned[ ]char[ ]\(aud\|vid\)_regs\[\][ ]=' drivers/staging/go7007/s2250-board.c + defsnc 'static[ ]u16[ ]vid_regs_fp\[\][ ]=' drivers/staging/go7007/s2250-board.c + blobname 's2250\(_loader\)\?\.fw' drivers/staging/go7007/s2250-loader.c + blobna 'me_xilinx_download' 'drivers/staging/meilhaus/.*' + accept 'int[ ]me_xilinx_download[(]' 'drivers/staging/meilhaus/mefirmware\.[ch]' + blobname 'me46[01]0\(_bosch\)\?\.bin' drivers/staging/meilhaus/me4600_device.c + accept '\([ ]if[ ][(]me4600_device->base\.info\.pci\.device_id[ ]==[ ]PCI_DEVICE_ID_MEILHAUS_ME4610[)][ ][{][ ][/][/]Jekyll[ ]<=>[ ]me4610\|#ifdef[ ]BOSCH\|#else[ ][/][/]~BOSCH\)[\n][ ][ ]err[ ]=[\n][ ][ ][ ][ ][ ][ ]me_xilinx_download[(]me4600_device' drivers/staging/meilhaus/me4600_device.c + blobname 'me6000\.bin' drivers/staging/meilhaus/me6000_device.c + accept '[ ][/][*][ ]Download[ ]the[ ]xilinx[ ]firmware[ ][*][/][\n][ ]err[ ]=[ ]me_xilinx_download[(]me6000_device' drivers/staging/meilhaus/me6000_device.c + defsnc '[ ][}][ ]grtpkts\[\][ ]=' drivers/staging/mimio/mimio.c + defsnc 'u16_t[ ]zgTkipSbox\(Lower\|Upper\)\[256\][ ]=' drivers/staging/otus/80211core/ctkip.c + accept '[ ]*[/][*][ ]*0\([ ]*[123]\)*[ ]*[*][/][\n][ ]*[/][*][ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9\([ ][0-9]\)*[ ][*][/]' drivers/staging/otus/80211core/ctxrx.c + defsnc 'u32_t[ ]crc32_tab\[\][ ]=' drivers/staging/otus/80211core/cwep.c + blob 'const[ ]u32_t[ ]zc\(DK\|P2\)\?Fw\(Buf\)\?Image\(SPI\)\?\(\[\][ ]*=[ ]*[{][^;]*[}]\|Size[ ]*=[ ]*[0-9]*\)[;]\([\n][\n]*const[ ]u32_t[ ]zc\(DK\|P2\)\?Fw\(Buf\)\?Image\(SPI\)\?\(\[\][ ]*=[ ]*[{][^;]*[}]\|Size[ ]*=[ ]*[0-9]*\)[;]\)*' 'drivers/staging/otus/hal/hp.*fwu.*\.c' + blob 'extern[ ]const[ ]u32_t[ ]zc\(DK\|P2\)\?Fw\(Buf\)\?Image\(SPI\)\?\(\[\]\|Size\)[;]\([\n]extern[ ]const[ ]u32_t[ ]zc\(DK\|P2\)\?Fw\(Buf\)\?Image\(SPI\)\?\(\[\]\|Size\)[;]\)*' drivers/staging/otus/hal/hpmain.c + defsnc '[ ][ ][ ][ ]u32_t[ ]eepromBoardData\[15\]\[6\][ ]=' drivers/staging/otus/hal/hpmain.c + defsnc 'static[ ]const[ ]u32_t[ ]channel_frequency_11A\[\][ ]=' drivers/staging/otus/ioctl.c + defsnc 'static[ ]const[ ]u32_t[ ]\(ar5416Modes\|otusBank\)\[\]\[[36]\][ ]=' drivers/staging/otus/hal/otus.ini + defsnc '[ ][ ][ ][ ]static[ ]UINT32[ ]MD5Table\[64\][ ]=' 'drivers/staging/rt28[67]0/common/md5\.c' + defsnc 'static[ ]uint32[ ][FR]Sb\[256\][ ]=' 'drivers/staging/rt28[67]0/common/\(md5\|cmm_aes\)\.c' + defsnc '\(UCHAR\|u8\)[ ]RateSwitchTable\(11B\?G\?\(N[123]S\(ForABand\)\?\)\?\)\?\[\][ ]=' 'drivers/staging/rt28[67]0/common/mlme\.c' + defsnc '\(UCHAR\|u8\)[ ]*ZeroSsid\[32\][ ]=' 'drivers/staging/rt28[67]0/common/mlme\.c' + defsnc '\(RTMP_RF_REGS\|struct[ ]rt_rtmp_rf_regs\)[ ]RF2850RegTable\[\][ ]=' 'drivers/staging/rt28[67]0/common/\(mlme\.c\|cmm_asic\.c\)' + defsnc '\(FREQUENCY_ITEM\|struct[ ]rt_frequency_item\)[ ]FreqItems3020\[\][ ]=' 'drivers/staging/rt28[67]0/common/\(mlme\.c\|cmm_asic\.c\)' + blob '\(UCHAR\|u8\)[ ]FirmwareImage\(_\(2870\|30[79]0\)\)\?[ ]\[\][ ]=[ ][{][^;]*[}][ ][;]' 'drivers/staging/rt\(28[67]\|30[79]\)0/common/firmware\(_3070\)\?\.h' + defsnc 'ULONG[ ][ ]*BIT32\[\][ ]=' 'drivers/staging/rt28[67]0/common/rtmp_init\.c' + defsnc 'const[ ]unsigned[ ]short[ ]ccitt_16Table\[\][ ]=' 'drivers/staging/rt\(28[67]0\|3090\)/common/rtmp_init\.c' + blobna '\(pFirmwareImage[ ]=\([ ]FirmwareImage\(_\(28[67]\|30[79]\)0\)\?\|[\n ]*[(]\(PUCHAR\|u8[ ][*]\)[)][&][\n ]*FirmwareImage\(_\(28\|30\)70\)\?\[FIRMWAREIMAGE\(V[12]\)\?_LENGTH\]\)\|File[lL]ength[ ]=[ ]\(sizeof[(]FirmwareImage[)]\|FIRMWAREIMAGE\(V[12]\|_MAX\)\?_LENGTH\)\)[;]\([\n ]*\(pFirmwareImage[ ]=\([ ]FirmwareImage\(_\(28[67]\|30[79]\)0\)\?\|[\n ]*[(]\(PUCHAR\|u8[ ][*]\)[)][&][\n ]*FirmwareImage\(_\(28\|30\)70\)\?\[FIRMWAREIMAGE\(V[12]\)\?_LENGTH\]\)\|File[lL]ength[ ]=[ ]\(sizeof[(]FirmwareImage[)]\|FIRMWAREIMAGE\(V[12]\|_MAX\)\?_LENGTH\)\)[;]\)*' 'drivers/staging/rt\(28[67]0\|30[79]0\)/common/rtmp_init\.c' + blobname 'rate\.bin' drivers/staging/rt2870/rtmp_init.c + defsnc '\(U\(INT\|CHAR\)\|u\(32\|8\)\)[ ]\(Tkip_Sbox_\(Lower\|Upper\)\|SboxTable\)\[256\][ ]=' 'drivers/staging/rt\(28[67]0\|3070\)/common/\(rtmp\|cmm\)_tkip\.c' + defsnc '\(UINT\|u32\)[ ]FCSTAB_32\[256\][ ]=' 'drivers/staging/rt\(28[67]0\|3070\)/common/\(rtmp\|cmm\)_wep\.c' + accept '[ ]*#[ ]*define[ ]\(STA_PROFILE\|CARD_INFO\)_PATH[ ]*["][/]etc[/]Wireless[/]RT\(28[67]\|307\)0STA[/]RT\(28[67]\|307\)0STA\(Card\)\?\.dat["]' 'drivers/staging/rt\(28[67]0\|3070\)/rt_linux\.h' + blobname '\([/]etc[/]Wireless[/]\)\?\(RT\(28[67]\|307\)0STA[/]\)\?\(RT\(28[67]\|307\)0STA\|rt28[67]0\)\.bin' 'drivers/staging/rt\(28[67]0\|3070\)/rt_linux\.h' + blobname '\([/]etc[/]Wireless[/]\)\?\(RT28[67]0STA[/]\)\?e2p\.bin' 'drivers/staging/rt\(28[67]0\|3070\)/rt_ate\.[hc]' + defsnc '\([ ][ ][ ][ ]\|[ ]\)u_int32_t[ ]ralinkrate\[256\][ ]=' 'drivers/staging/rt\(28[67]0\|3070\)/rt_linux\.c' + defsnc 'unsigned[ ]char[ ]\(QUALITY\|STRENGTH\)_MAP\[\][ ]=' drivers/staging/rtl8187se/r8180_core.c + defsnc 'u\(8\|16\|32\)[ ]rtl8225\(\(a\|bcd\?\)_rxgain\|agc\|tx_\(gain_cck\|power\)_ofdm\|tx_power_cck\(_ch14\)\?\)\[\]=' drivers/staging/rtl8187se/r8180_rtl8225.c + defsnc '\(static[ ]const[ ]\)\?u\(8\|16\|32\)[ ]\(rtl8225\(z2\)\?_\(threshold\|gain_\(a\|bg\)\|chan\|rxgain\|agc\|tx_\(gain_cck\|power\)_ofdm\|tx_power_cck\(_ch14\)\?\)\|ZEBRA2_CCK_OFDM_GAIN_SETTING\)\[\][ ]\?=' drivers/staging/rtl8187se/r8180_rtl8225z2.c + defsnc 'static[ ]short[ ]rtl8255_agc\[\]=' drivers/staging/rtl8187se/r8180_rtl8255.c + defsnc '[ ]\?static[ ]u\(8\|32\)[ ]\(MAC_REG_TABLE\[\]\[2\]\|[ ]*ZEBRA_\(AGC\|RF_RX_GAIN_TABLE\)\[\]\|OFDM_CONFIG\[\]\)=' drivers/staging/rtl8187se/r8185b_init.c + accept '[ ]-[ ]move[ ]firmware[ ]loading[ ]to[ ]request_firmware[(][)]' drivers/staging/slicoss/README + blobname '\(\(oasis\|gb\)_rcv\|slic_\(oasis\|mojave\)\)\.bin' drivers/staging/slicoss/slicoss.c + + blob 'static[ ]unsigned[ ]char[ ]xilinx_firm\(_4610\)\?\[\][ ]=[ ][{]'"$sepx$blobpat*$sepx"'[}][;]' 'drivers/staging/me4000/me4\(00\|61\)0_firmware\.h' + blob 'static[ ]struct[ ]PHY_UCODE[ ]PhyUcode\[\][ ]=[^;]*[;]' drivers/staging/sxg/sxgphycode.h + blob 'static[ ]unsigned[ ]char[ ]SaharaUCode\[2\]\[57972\][ ]=[^;]*[;]' drivers/staging/sxg/saharadbgdownload.h + blob '#include[ ]["]\(sxgphycode\(-1\.2\)\?\|saharadbgdownload\)\.h["]\([\n][\n]*#include[ ]["]\(sxgphycode\(-1\.2\)\?\|saharadbgdownload\)\.h["]\)*' drivers/staging/sxg/sxg.c + blob 'static[ ]u8[ ]\(Mojave\|Oasis\)UCode\[2\]\[65536\][ ]=[^;]*[;]' 'drivers/staging/slicoss/\(gb\|oasis\(dbg\)\?\)download\.h' + blob 'static[ ]u8[ ]\(GB\|Oasis\)RcvUCode\[2560\][ ]=[^;]*[;]' 'drivers/staging/slicoss/\(gb\|oasis\)rcvucode\.h' + blob '#include[ ]["]\(gb\|oasis\)\(dbg\)\?\(download\|rcvucode\)\.h["]\([\n][\n]*#include[ ]["]\(gb\|oasis\)\(dbg\)\?\(download\|rcvucode\)\.h["]\)*' drivers/staging/slicoss/slicoss.c + blobna 'instruction[ ]=[ ][^;]*\(Oasis\|GB\|Mojave\)\(Rcv\)\?UCode[^:}]*[;]' drivers/staging/slicoss/slicoss.c + blobna 'seq_printf[(]seq[,][ ]["][^"]*%s[ ]%s[^"]*["][,][ \n]*\(GB_RCV\|MOJAVE_\)UCODE_VERS_STRING[,][ ]\(GB_RCV\|MOJAVE_\)UCODE_VERS_DATE[)][;]\([ \n]*seq_printf[(]seq[,][ ]["][^"]*%s[ ]%s[^"]*["][,][ \n]*\(GB_RCV\|MOJAVE_\)UCODE_VERS_STRING[,][ ]\(GB_RCV\|MOJAVE_\)UCODE_VERS_DATE[)][;]\)*' drivers/staging/slicoss/slicoss.c + blobna 'numsects[ ]=[ ][OM]NumSections[;][\n][ ]*for[ ][(][^;]*[;][^;]*[;][^;{]*[)][ ][{][\n][^}]*[\n][ ][ ][}]' drivers/staging/slicoss/slicoss.c + + # post 2.6.29 patches + defsnc 'static[ ]int[ ]atom_dst_to_src\[8\]\[4\][ ]=' drivers/gpu/drm/radeon/atom.c + defsnc 'const[ ]unsigned[ ]char[ ]map_table\[\][ ]=' drivers/input/lirc/lirc_ttusbir.c + defsnc '\(static[ ]\)\?\(const[ ]\)\?struct[ ]au8522_register_config[ ]lpfilter_coef\[\][ ]=' drivers/media/dvb/frontends/au8522_decoder.c + defsnc 'static[ ]const[ ]u8[ ]jpeg_head\[\][ ]=' drivers/media/video/gspca/jpeg.h + defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init_ov\(7[27]2x\|965x\(_2\)\?\)\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c + defsnc '[ ]static[ ]const[ ]u8[ ]probe_tb\[\]\[4\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c + defsnc 'static[ ]const[ ]u8[ ]eeprom_data\[\]\[3\][ ]=' drivers/media/gspca/tv8532.c + defsnc '\(static[ ]uint32_t\|[}]\)[ ]nv04_graph_ctx_regs[ ]\?\[\][ ]=' drivers/char/drm/nv04_graph.c + defsnc 'static[ ]int[ ]nv10_graph_ctx_regs[ ]\?\[\][ ]=' drivers/char/drm/nv10_graph.c + + # This looks suspicious, but it pretty much just sets stuff to zero. + initnc 'static[ ]__u8[ ]mode8420\(pro\|con\)\[\][ ]=' drivers/media/video/cs8420.h + + # quite suspicious + # arch/parisc/kernel/perf_images.h + initc 'static[ ]uint32_t[ ]onyx_images\[\]\[PCXU_IMAGE_SIZE[/]sizeof[(]uint32_t[)]\][ ]__read_mostly[ ]=' + initc 'static[ ]uint32_t[ ]cuda_images\[\]\[PCXW_IMAGE_SIZE[/]sizeof[(]uint32_t[)]\][ ]__read_mostly[ ]=' + + # These are regarded as ok + initnc 'static[ ]const[ ]u8[ ]SN9C102_\(Y\|UV\)_QTABLE[01]\[64\][ ]=[ ][{]' drivers/media/usb/sn9c102/sn9c102_config.h + initnc '[ ]static[ ]\(const[ ]\)\?u8[ ]jpeg_header\[589\][ ]=[ ][{]' media/video/sn9c102/sn9c102_core.c + accept '[ ][ ]\?err[ ]=[ ]sn9c102_write_const_regs[(]cam\(,[ \n]\+[{]0x[0-9a-fA-F][0-9a-fA-F],[ ]0x[0-9a-fA-F][0-9a-fA-F][}]\)*[)][;]' + + # too lax? + defsnc 'static[ ]yyconst[ ]\(flex_int\(16\|32\)_t\|\(\(short[ ]\)\?int\)\)[ ]yy_[^[]*\[[][0-9]*\][ ]=' + defsnc 'static[ ]const[ ]\(yytype_u\?int\(8\|16\)\|\(unsigned[ ]\)\?\(short\([ ]int\)\?\|char\)\)[ ]yy[^[]*\[\][ ]=' + defsnc '\([ ]\)\?static[ ]\(const[ ]\)\?\(unsigned[ ]\(short\|char\)\|struct[ ]SiS_[^ ]*\)[ ]SiS[^[]*\(\[[][ *0-9]*\]\)\+[ ]*=' + + initnc 'static[ ]const[ ]a3d_Hrtf_t[ ]A3dHrirZeros[ ]=[ ][{]' + initnc 'static[ ]const[ ]a3d_Hrtf_t[ ]A3dHrirImpulse[ ]=[ ][{]' + initnc 'static[ ]const[ ]a3d_Hrtf_t[ ]A3dHrirOnes[ ]=[ ][{]' + initnc 'static[ ]const[ ]a3d_Hrtf_t[ ]A3dHrirSatTest[ ]=[ ][{]' + initnc 'static[ ]const[ ]a3d_Hrtf_t[ ]A3dHrirDImpulse[ ]=[ ][{]' + initnc 'static[ ]const[ ]a3d_ItdDline_t[ ]A3dItdDlineZeros[ ]=[ ][{]' + initnc 'static[ ]auxxEqCoeffSet_t[ ]asEqCoefsNormal[ ]=[ ][{]' + defsnc 'static[ ]xtalk_dline_t[ ]const[ ]alXtalkDline\(Test\|Zeros\)[ ]=' sound/pci/au88x0/au88x0_xtalk.c + initnc 'static[ ]struct[ ]nand_ecclayout[ ]rtc_from4_nand_oobinfo[ ]=[ ][{]' + initnc 'static[ ]const[ ]s16[ ]tempLUT\[\][ ]=' + defsnc 'static[ ]const[ ]u8[ ]viaLUT\[\][ ]=' drivers/hwmon/via686a.c + initnc 'static[ ]struct[ ][{][ ]int[ ]xres,[ ]yres,[ ]left,[ ]right,[ ]upper,[ ]lower,[ ]hslen,[ ]vslen,[ ]vfreq[;][ ][}][ ]timmings\[\][ ]__initdata[ ]=[ ][{]' + initnc 'static[ ]struct[ ]platinum_regvals[ ]platinum_reg_init_[0-9]*[ ]=[ ][{]' + defsnc '[}][ ]sisfb_ddc[sf]modes\[\][ ]\(__devinitdata[ ]\)\?=' drivers/video/sis/sis_main.h + defsnc 'static[ ]struct[ ]dvb_pll_desc[ ][^\n]*[ ]=[ ][{]' drivers/media/dvb/frontends/dvb-pll.c + initnc 'static[ ]u32[ ]LABELPATCHES\[\][ ]__attribute[(][(]unused[)][)][ ]=' + + initnc 'static[ ]dbdev_tab_t[ ]dbdev_tab\[\][ ]=' + accept '\(EXP\|LOG\|ATAN\)TBL:'"$sepx$blobpat*" + initnc 'static[ ]char[ ]fm_volume_table\[128\][ ]=' + initnc 'unsigned[ ]int[ ]snd_gf1_scale_table\[SNDRV_GF1_SCALE_TABLE_SIZE\][ ]=' + # remaining after original deblob_2_6_24, not fully checked + + oprepline '#define[ ]OV51[18]_\(Y\|UV\)QUANTABLE[ ][{]' + initnc '[ ][ ]static[ ]unsigned[ ]char[ ]const[ ]data_bit\[64\][ ]=' + initnc '[ ][ ]static[ ]const[ ]u8[ ]data_sbit\[32\][ ]=' + initnc '[ ]\.RightCoefs[ ]=' + defsnc '[ ]#define[ ]WakeupSeq[ ][ ][ ][ ][{]' drivers/net/ethernet/i825xx/eepro.c + initnc '[ ]SetRate44100\[\][ ]=' + initnc '[ ]const[ ]short[ ]period\[32\][ ]=' + defsnc '[ ]\(const[ ]static\|static[ ]const\)[ ]int[ ]desc_idx_table\[\][ ]=' 'arch/arm/include/asm/hardware/iop3xx-adma.h|include/asm-arm/hardware/iop3xx-adma.h' + initnc '[ ]int[ ]prop_bcomm_irq\[3[*]16\][ ]=' + initnc '[ ]static[ ]char[ ]logSlopeTable\[128\][ ]=' + initnc '[ ]static[ ]const[ ]int[ ]uc_\(dup\|word\)_table\[\]\[2\][ ]=' + initnc '[ ]static[ ]const[ ]struct[ ]mc7_timing_params[ ]mc7_timings\[\][ ]=' + initnc '[ ]static[ ]const[ ]u8[ ]biphase_tbl\[\][ ]=' + initnc '[ ]static[ ]const[ ]u8[ ]cs170\[7[ ][*][ ]8\][ ]=' + initnc '[ ]static[ ]const[ ]u8[ ]cs3[13]a\[8[ ][*][ ]4\][ ]=' + initnc '[ ]static[ ]const[ ]u8[ ]dramsr13\[12[ ][*][ ]5\][ ]=' + defsnc '[ ]static[ ]const[ ]u8[ ]log10\[\][ ]=' drivers/net/wireless/zd1211rw/zd_chip.c + initnc '[ ]static[ ]const[ ]u8[ ]mpeg_hdr_data\[\][ ]=' + initnc '[ ]static[ ]const[ ]u8[ ]sdramtype\[13\]\[5\][ ]=' + defsnc '[ ]static[ ]const[ ]u8[ ]t\[\][ ]=' drivers/bcma/sprom.c + initnc '[ ]static[ ]const[ ]unsigned[ ]int[ ]avg_pkts\[NCCTRL_WIN\][ ]=' + initnc '[ ]static[ ]const[ ]unsigned[ ]short[ ]ac97_defaults\[\][ ]=' + initnc '[ ]static[ ]int[ ]exp_lut\[256\][ ]=' + defsnc '[ ]static[ ]u16[ ]jpeg_tables\[\]\[70\][ ]=' drivers/media/pci/meye/meye.c + defsnc '[ ]static[ ]u16[ ]tables\[\][ ]=' drivers/media/pci/meye/meye.c + initnc '[ ]static[ ]u32[ ]logMagTable\[128\][ ]=' + defsnc '[ ]static[ ]u8[ ]init_bufs\[13\]\[5\][ ]=' drivers/media/pci/cx88/cx88-cards.c + defsnc '[ ]static[ ]u_short[ ]geometry_table\[\]\[[45]\][ ]=' drivers/block/xd.c + initnc '[ ]static[ ]unsigned[ ]char[ ]CRCTable1\[\][ ]=' + initnc '[ ]static[ ]unsigned[ ]char[ ]CRCTable2\[\][ ]=' + initnc '[ ]static[ ]unsigned[ ]char[ ]default_colors\[\][ ]=' + defsnc '[ ]static[ ]unsigned[ ]char[ ]iso_regs\[8\]\[4\][ ]=' drivers/media/usb/cpia2/cpia2_usb.c + initnc '[ ]static[ ]unsigned[ ]char[ ]log_scale\[101\][ ]=' sound/oss/pss.c + initnc '[ ]static[ ]unsigned[ ]char[ ]msg\[\][ ]=' + defsnc '[ ]static[ ]unsigned[ ]char[ ]static_pad\[\][ ]=' drivers/s390/crypto/zcrypt_msgtype6.c + defsnc '[ ]static[ ]unsigned[ ]char[ ]table_alaw2ulaw\[\][ ]=' drivers/staging/telephony/ixj.c + defsnc '[ ]static[ ]unsigned[ ]char[ ]table_ulaw2alaw\[\][ ]=' drivers/staging/telephony/ixj.c + defsnc '[ ]\(static[ ]const[ ]\)\?u32[ ]reg_boundaries\[\][ ]=' drivers/net/bnx2.c + defsnc '[ ]u8[ ]b\[\][ ]=' drivers/media/usb/ttusb-dec/ttusbdecfe.c + initnc '[ ]uint8_t[ ]tx\[\][ ]=' + defsnc '[ ]unsigned[ ]char[ ]saa7111_regs\[\][ ]=' drivers/media/parport/w9966.c + initnc '[ ]unsigned[ ]char[ ]sas_pcd_m_pg\[\][ ]=' + initnc '[ ][}][ ]modedb\[5\][ ]=' + defsnc '[ ][}][ ]reg_tbl\[\][ ]=' drivers/net/bnx2.c + initnc '[ ][}][ ]vals\[\][ ]=' + initnc '[ ][}][ ]vm_devices\[\][ ]=' + initnc '[ ][ ][ ][ ]static[ ]const[ ]code[ ]distfix\[32\][ ]=' + initnc '[ ][ ][ ][ ]static[ ]const[ ]code[ ]lenfix\[512\][ ]=' + defsnc '[ ][ ]int[ ]poly\[\]=' drivers/net/pcmcia/nmclan_cs.c + defsnc '[ ][ ]static[ ]const[ ]unsigned[ ]char[ ]asso_values\[\][ ]=' scripts/genksyms/keywords.c_shipped + defsnc '[ ][ ]static[ ]unsigned[ ]char[ ]asso_values\[\][ ]=' scripts/kconfig/zconf.hash.c_shipped + initnc '[ ][ ][}][ ]cards_ds\[\][ ]=' + initnc '[ ][ ][ ][ ]static[ ]const[ ]int8[ ]countLeadingZerosHigh\[\][ ]=' + initnc '[ ][ ][ ][ ]static[ ]const[ ]unsigned[ ]short[ ]d\(base\|ext\)\[32\][ ]=' + initnc '#define[ ]OV511_QUANTABLESIZE[ ]64' + initnc 'BYTE[ ]BtCard::SRAMTable_\(NTSC\|PAL\)\[\][ ]=' + initnc 'BYTE[ ]SRAMTable\[\]\[[ ]60[ ]\][ ]=' + accept 'irq_prio_\([hdl]\|l[cd]\):'"$sepx$blobpat*" 'arch/arm/inlcude/asm/hardware/entry-macro-iomd.S|include/asm-arm/hardware/entry-macro-iomd.S' + initc '__u8[ ]_ascebc\[256\][ ]=' + initc '__u8[ ]_ebc_tolower\[256\][ ]=' + initc '__u8[ ]_ebc_toupper\[256\][ ]=' + initnc 'adapter_tag_info_t[ ]aic7[9x]xx_tag_info\[\][ ]=' + initnc 'char[ ]dmasound_alaw2dma8\[\][ ]=' + initnc 'char[ ]dmasound_ulaw2dma8\[\][ ]=' + initnc 'const[ ]struct[ ]aper_size_info_16[ ]agp3_generic_sizes\[AGP_GENERIC_SIZES_ENTRIES\][ ]=' + initnc 'const[ ]u16[ ]crc_itu_t_table\[256\][ ]=' + initnc 'const[ ]u8[ ]byte_rev_table\[256\][ ]=' + initnc 'const[ ]u8[ ]crc7_syndrome_table\[256\][ ]=' + initnc 'int[ ]snd_sf_vol_table\[128\][ ]=' + initnc 'static[ ]u_char[ ]irq_to_siubit\[\][ ]=' + initnc 'static[ ]u_char[ ]irq_to_siureg\[\][ ]=' + defsnc 'static[ ]Byte_t[ ]RData\[RDATASIZE\][ ]=' drivers/tty/rocket.c + initnc 'static[ ]__const__[ ]__u16[ ]gx_coeff\[256\][ ]=' + defsnc 'static[ ]__u8[ ]init7121ntsc\[\][ ]=' drivers/media/video/saa7121.h + defsnc 'static[ ]__u8[ ]init7121pal\[\][ ]=' drivers/media/video/saa7121.h + defsnc 'static[ ]byte[ ]capidtmf_leading_zeroes_table\[0x100\][ ]=' drivers/isdn/hardware/eicon/capidtmf.c + defsnc 'static[ ]char[ ]channel_map_madi_[sdq]s\[HDSPM_MAX_CHANNELS\][ ]=' sound/pci/rme9652/hdspm.c + initnc 'static[ ]char[ ]coefficients\[NM_TOTAL_COEFF_COUNT[ ][*][ ]4\][ ]=' + initnc 'static[ ]char[ ]ecc_syndrome_table\[\][ ]=' + initnc 'static[ ]char[ ]isdn_audio_alaw_to_ulaw\[\][ ]=' + initnc 'static[ ]char[ ]isdn_audio_ulaw_to_alaw\[\][ ]=' + initnc 'static[ ]char[ ]mix_cvt\[101\][ ]=' + initnc 'static[ ]char[ ]opl3_volume_table\[128\][ ]=' + initnc 'static[ ]const[ ]__u16[ ]crc10_table\[256\][ ]=' + initnc 'static[ ]const[ ]__u32[ ]crc_c\[256\][ ]=' + defsnc 'static[ ]const[ ]fixp_t[ ]cos_table\[46\][ ]=' include/linux/fixp-arith.h + initnc 'static[ ]const[ ]int[ ]init_seq\[\][ ]=' + initnc 'static[ ]const[ ]int[ ]mobile_vid_table\[32\][ ]=' + initnc 'static[ ]const[ ]s16[ ]snd_opl4_pitch_map\[0x600\][ ]=' + initnc 'static[ ]const[ ]s8[ ]budtab\[256\][ ]=' + initnc 'static[ ]const[ ]struct[ ]aper_size_info_8[ ]via_generic_sizes\[9\][ ]=' + initnc 'static[ ]const[ ]struct[ ]color[ ]clut_vga16\[16\][ ]=' + defsnc 'static[ ]const[ ]struct[ ]gain_entry[ ]gain_table\[2\]\[108\][ ]=' drivers/net/wireless/iwl-4965.c + defsnc 'static[ ]const[ ]struct[ ]mV_pos[ ]__\(cpu\)\?initdata[ ]mobilevrm_mV\[32\][ ]=' arch/x86/kernel/cpu/cpufreq/longhaul.h + defsnc 'static[ ]const[ ]struct[ ]mV_pos[ ]__\(cpu\)\?initdata[ ]vrm85_mV\[32\][ ]=' arch/x86/kernel/cpu/cpufreq/longhaul.h + initnc 'static[ ]const[ ]struct[ ]menelaus_vtg_value[ ]vcore_values\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]opl4_region[ ]regions_[0-9a-frums]*\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]regval[ ]regval_table\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_5222\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_5225_2527\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_5226\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2522\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2523\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2524\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2525\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2525e\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2528\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_noseq\[\][ ]=' + initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_seq\[\][ ]=' + defsnc 'static[ ]const[ ]u16[ ]Sbox\[256\][ ]=' # 'drivers/staging/rtl8192u/r819xU_firmware.c' and elsewhere + initnc 'static[ ]const[ ]u16[ ]count_lut\[\][ ]=' drivers/misc/tsl2550.c + defsnc 'static[ ]const[ ]u16[ ]e1000_igp_2_cable_length_table\[\][ ]=' drivers/net/e1000e/phy.c + defsnc 'static[ ]const[ ]u16[ ]rtl8225\(bcd\|z2\)_rxgain\[\][ ]=' 'drivers/net/wireless/rtl818x/rtl818[07]/rtl8225\.c' + defsnc 'static[ ]const[ ]u16[ ]stufftab\[5[ ][*][ ]256\][ ]=' drivers/isdn/gigaset/isocdata.c + initnc 'static[ ]const[ ]u16[ ]tkip_sbox\[256\][ ]=' + defsnc 'static[ ]const[ ]u16[ ]wm8753_reg\[\][ ]=' sound/soc/codecs/wm8753.c + initnc 'static[ ]const[ ]u32[ ]SS[0-3]\[256\][ ]=' + initnc 'static[ ]const[ ]u32[ ]S[1-8]\[64\][ ]=' + initnc 'static[ ]const[ ]u32[ ]T[0-5]\[256\][ ]=' + defsnc 'static[ ]const[ ]u32[ ]Tm\[24\]\[8\][ ]=' crypto/cast6_generic.c + initnc 'static[ ]const[ ]u32[ ]bass_table\[41\]\[5\][ ]=' + initnc 'static[ ]const[ ]u32[ ]bf_sbox\[256[ ][*][ ]4\][ ]=' + defsnc 'static[ ]const[ ]u32[ ]camellia_sp0222\[256\][ ]=' crypto/camellia.c + defsnc 'static[ ]const[ ]u32[ ]camellia_sp1110\[256\][ ]=' crypto/camellia.c + defsnc 'static[ ]const[ ]u32[ ]camellia_sp3033\[256\][ ]=' crypto/camellia.c + defsnc 'static[ ]const[ ]u32[ ]camellia_sp4404\[256\][ ]=' crypto/camellia.c + defsnc 'static[ ]const[ ]u32[ ]crc32c_table\[256\][ ]=' crypto/crc32c.c + initnc 'static[ ]const[ ]u32[ ]db_table\[101\][ ]=' + initnc 'static[ ]const[ ]u32[ ]m8xx_size_to_gray\[M8XX_SIZES_NO\][ ]=' + initnc 'static[ ]const[ ]u32[ ]mds\[4\]\[256\][ ]=' + initnc 'static[ ]const[ ]u32[ ]pc2\[1024\][ ]=' + defsnc 'static[ ]const[ ]u32[ ]s[1-7]\[256\][ ]=' crypto/cast5_generic.c + defsnc 'static[ ]const[ ]u32[ ]sb8\[256\][ ]=' crypto/cast5_generic.c + initnc 'static[ ]const[ ]u32[ ]tfrc_calc_x_lookup\[TFRC_CALC_X_ARRSIZE\]\[2\][ ]=' + initnc 'static[ ]const[ ]u32[ ]treble_table\[41\]\[5\][ ]=' + initnc 'static[ ]const[ ]u64[ ][CT][0-7]\[256\][ ]=' + initnc 'static[ ]const[ ]u64[ ]sbox[1-4]\[256\][ ]=' + initnc 'static[ ]const[ ]u64[ ]sha512_K\[80\][ ]=' 'crypto/sha512\(_generic\)\?.c' + defsnc 'static[ ]const[ ]u8[ ]Tr\[4\]\[8\][ ]=' crpto/cast6_generic.c + initnc 'static[ ]const[ ]u8[ ]aes_sbox\[256\][ ]=' + initnc 'static[ ]const[ ]u8[ ]calc_sb_tbl\[512\][ ]=' + initnc 'static[ ]const[ ]u8[ ]exp_to_poly\[492\][ ]=' + initnc 'static[ ]const[ ]u8[ ]legal_ansi_char_array\[0x40\][ ]=' + initnc 'static[ ]const[ ]u8[ ]parity\[\][ ]=' + initnc 'static[ ]const[ ]u8[ ]pc1\[256\][ ]=' + initnc 'static[ ]const[ ]u8[ ]poly_to_exp\[255\][ ]=' + initnc 'static[ ]const[ ]u8[ ]q[01]\[256\][ ]=' + defsnc 'static[ ]const[ ]u8[ ]ratio_lut\[\][ ]=' drivers/misc/tsl2550.c + initnc 'static[ ]const[ ]u8[ ]rs\[256\][ ]=' + defsnc 'static[ ]const[ ]u8[ ]rtl8225_\(agc\|tx_\(power\|gain\)_cck\(_ch14\|_ofdm\)\?\)\[\][ ]=' 'drivers/net/wireless/rtl818x/rtl818[07]/rtl8225\.c' + initnc 'static[ ]const[ ]u_char[ ]irq_to_siubit\[\][ ]=' + initnc 'static[ ]const[ ]u_char[ ]irq_to_siureg\[\][ ]=' + initnc 'static[ ]const[ ]uint8_t[ ]parity\[256\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]char[ ]\(UV\|Y\)_QUANTABLE\[64\][ ]=' + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]__\(cpu\)\?initdata[ ]mV_mobilevrm\[32\][ ]=' arch/x86/kernel/cpu/cpufreq/longhaul.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]__\(cpu\)\?initdata[ ]mV_vrm85\[32\][ ]=' arch/x86/kernel/cpu/cpufreq/longhaul.h + initnc 'static[ ]const[ ]unsigned[ ]char[ ]barco_p1\[2\]\[9\]\[7\]\[3\][ ]=' + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]bitcounts\[256\][ ]=' drivers/isdn/gigaset/isocdata.c + initnc 'static[ ]const[ ]unsigned[ ]char[ ]blue\[256\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]char[ ]chktab[hl]\[256\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]char[ ]comet_miireg2offset\[32\][ ]=' + initnc 'static[ ]\(const[ ]\)\?unsigned[ ]char[ ]euc2sjisibm_g3upper_map\[\]\[2\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]char[ ]green\[256\][ ]=' + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]hash_table_ops\[64[*]4\][ ]=' drivers/media/usb/pwc/pwc-dec23.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]hid_keyboard\[256\][ ]=' drivers/hid/hid-input.c + initnc 'static[ ]const[ ]unsigned[ ]char[ ]mts_direction\[256[/]8\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]char[ ]red\[256\][ ]=' + initnc 'static[ ]\(const[ ]\)\?unsigned[ ]char[ ]sjisibm2euc_map\[\]\[2\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]char[ ]vol_cvt_datt\[128\][ ]=' + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]MulIdx\[16\]\[16\][ ]=' drivers/media/usb/pwc/pwc-dec23.c + initnc 'static[ ]const[ ]unsigned[ ]int[ ]crctab32\[\][ ]=' + initnc 'static[ ]const[ ]unsigned[ ]short[ ]crc_flex_table\[\][ ]=' + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]logtable\[256\][ ]=' drivers/media/dvb-core/dvb_math.c + initnc 'static[ ]const[ ]unsigned[ ]short[ ]wd7000_iobase\[\][ ]=' + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]x86_keycodes\[256\][ ]=' drivers/tty/vt/keyboard.c + initnc 'static[ ]const[ ]unsigned[ ]table\[\][ ]=' + initnc 'static[ ]int[ ]MV300_reg_8bit\[256\][ ]\?=' drivers/video/atafb.c + defsnc 'static[ ]int[ ]fifo_map\[\]\[MAX_TX_FIFOS\][ ]=' drivers/net/s2io.h + initnc 'static[ ]int[ ]initial_lfsr\[\][ ]=' + initnc 'static[ ]int[ ]log_tbl\[129\][ ]=' + initnc 'static[ ]int[ ]miro_fmtuner\[\][ ][ ]=' drivers/media/video/bt8xx/bt-cards.c + initnc 'static[ ]int[ ]miro_tunermap\[\][ ]=' drivers/media/video/bt8xx/bt-cards.c + initnc 'static[ ]int[ ]register_size\[\][ ]=' + initnc 'static[ ]int[ ]reserve_list\[MAX_RES_ARGS\][ ]=' + initnc 'static[ ]int[ ]reverse6\[64\][ ]=' + initnc 'static[ ]short[ ]attack_time_tbl\[128\][ ]=' + defsnc 'static[ ]short[ ]beep_wform\[256\][ ]=' 'sound/ppc/beep.c|sound/oss/dmasound/dmasound_awacs.c|arch/ppc/8xx_io/cs4218_tdm.c' + initnc 'static[ ]short[ ]decay_time_tbl\[128\][ ]=' + initnc 'static[ ]short[ ]isdn_audio_[ua]law_to_s16\[\][ ]=' + defsnc 'static[ ]struct[ ]iw\?l\(3945\)\?_tx_power[ ]power_gain_table\[2\]\[IW\?L_MAX_GAIN_ENTRIES\][ ]=' drivers/net/wireless/iwlegacy/iwl-3945.c + initnc 'static[ ]struct[ ]ovcamchip_regvals[ ]regvals_init_\(76be\|7[16]20\|7x10\)\[\][ ]=' + initnc 'static[ ]struct[ ]regval_list[ ]ov7670_default_regs\[\][ ]=' drivers/media/i2c/ov7670.c + initnc 'static[ ]struct[ ]s_c2[ ]SetRate48000\[\][ ]=' + initnc 'static[ ]struct[ ]tea6420_multiplex[ ]TEA6420_line\[MXB_AUDIOS[+]1\]\[2\][ ]=' + initnc 'static[ ]struct[ ]wm_info[ ]i810_wm_16_100\[\][ ]=' + initnc 'static[ ]struct[ ]wm_info[ ]i810_wm_16_133\[\][ ]=' + initnc 'static[ ]struct[ ]wm_info[ ]i810_wm_24_100\[\][ ]=' + initnc 'static[ ]struct[ ]wm_info[ ]i810_wm_24_133\[\][ ]=' + initnc 'static[ ]struct[ ]wm_info[ ]i810_wm_8_100\[\][ ]=' + initnc 'static[ ]struct[ ]wm_info[ ]i810_wm_8_133\[\][ ]=' + initnc 'static[ ]struct[ ][{][ ]struct[ ]fb_bitfield[ ]red,[ ]green,[ ]blue,[ ]transp[;][ ]int[ ]bits_per_pixel[;][ ][}][ ]colors\[\][ ]=' + initnc 'static[ ]u16[ ]asEqCoefsPipes\[64\][ ]=' + initnc 'static[ ]u16[ ]asEqCoefsZeros\[50\][ ]=' + initnc 'static[ ]u16[ ]asEqOutStateZeros\[48\][ ]=' + defsnc 'static[ ]u16[ ]default_key_map[ ]\[256\][ ]=' drivers/media/pci/ttpci/av7110_ir.c + initnc 'static[ ]u16[ ]eq_levels\[64\][ ]=' + initnc 'static[ ]u32[ ][ ]crc32tab\[\][ ]__attribute__[ ][(][(]aligned[(]8[)][)][)][ ]=' + defsnc 'static[ ]u32[ ]ac3_frames\[3\]\[32\][ ]=' drivers/media/dvb-core/dvb_filter.c + initnc 'static[ ]u32[ ]adwDecim8\[33\][ ]=' + initnc 'static[ ]u32[ ]h_prescale\[64\][ ]=' + initnc 'static[ ]u32[ ]v_gain\[64\][ ]=' + defsnc 'static[ ]u8[ ]SRAM_Table\[\]\[60\][ ]=' drivers/media/pci/bt8xx/bttv-driver.c + defsnc 'static[ ]u8[ ]alps_tdee4_stv0297_inittab\[\][ ]=' drivers/media/common/b2c2/flexcop-fe-tuner.c + defsnc 'static[ ]u8[ ]bnx2_570[68]_stats_len_arr\[BNX2_NUM_STATS\][ ]=' drivers/net/bnx2.c + initnc 'static[ ]u8[ ]flit_desc_map\[\][ ]=' + defsnc 'static[ ]\(const[ ]\)\?u8[ ]init_tab[ ]\?\[\][ ]=' 'drivers/media/dvb/frontends/cx2270\(0\|2\)\.c' + defsnc 'static[ ]u8[ ]mac_reader\[\][ ]=' drivers/net/wireless/atmel.c + initnc 'static[ ]u8[ ]mt2131_config1\[\][ ]=' drivers/media/dvb/frontends/mt2131.c # <= 2.6.25 + initnc 'static[ ]u8[ ]mt2131_config1\[\][ ]=' drivers/media/common/tuners/mt2131.c # >= 2.6.26 + initnc 'static[ ]u8[ ]mt2266_init2\[\][ ]=' drivers/media/dvb/frontends/mt2266.c # <= 2.6.25 + initnc 'static[ ]u8[ ]mt2266_init2\[\][ ]=' drivers/media/common/tuners/mt2266.c # >= 2.6.26 + defsnc 'static[ ]u8[ ]opera1_inittab\[\][ ]=' drivers/media/usb/dvb-usb/opera1.c + defsnc 'static[ ]u8[ ]saa7113_init_regs\[\][ ]=' drivers/media/pci/ttpci/av7110_v4l.c + defsnc 'static[ ]u8[ ]samsung_tbmu24112_inittab\[\][ ]=' drivers/media/common/b2c2/flexcop-fe-tuner.c + defsnc 'static[ ]u8[ ]w1_crc8_table\[\][ ]=' drivers/w1/w1_io.c + initnc 'static[ ]u_char[ ]const[ ]data_sizes_32\[32\][ ]=' + initnc 'static[ ]u_long[ ]ident_map\[32\][ ]=' + initnc 'static[ ]u_short[ ]alt_map\[NR_KEYS\][ ]=' + initnc 'static[ ]u_short[ ]altgr_map\[NR_KEYS\][ ]=' + initnc 'static[ ]u_short[ ]ctrl_alt_map\[NR_KEYS\][ ]=' + initnc 'static[ ]u_short[ ]ctrl_map\[NR_KEYS\][ ]*=' + initnc 'static[ ]u_short[ ]shift_ctrl_map\[NR_KEYS\][ ]=' + initnc 'static[ ]u_short[ ]shift_map\[NR_KEYS\][ ]*=' + initnc 'static[ ]uchar[ ]perm1\[56\][ ]=' + initnc 'static[ ]uchar[ ]perm2\[48\][ ]=' + initnc 'static[ ]uchar[ ]perm3\[64\][ ]=' + initnc 'static[ ]uchar[ ]perm4\[48\][ ]=' + initnc 'static[ ]uchar[ ]perm5\[32\][ ]=' + initnc 'static[ ]uchar[ ]perm6\[64\][ ]=' + initnc 'static[ ]uchar[ ]sbox\[8\]\[4\]\[16\][ ]=' + initnc 'static[ ]uint16_t[ ]crc_table\[256\][ ]=' + initnc 'static[ ]uint8_t[ ]lpfcAlpaArray\[\][ ]=' + initnc 'static[ ]\(const[ ]\)\?uint8_t[ ]seqprog\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]V110_OffMatrix_9600\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]V110_OnMatrix_9600\[\][ ]=' + defsnc 'static[ ]unsigned[ ]char[ ]a2232_65EC02code\[\][ ]=' drivers/staging/generic_serial/ser_a2232fw.h + initnc 'static[ ]unsigned[ ]char[ ]atkbd_set3_keycode\[512\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]atkbd_unxlate_table\[128\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]banner_table\[\][ ]=' arch/sh/boards/superh/microdev/led.c + defsnc '\(static[ ]\)\?unsigned[ ]char[ ]\(__attribute__[ ][(][(]aligned[(]16[)][)][)][ ]\)\?bootlogo_bits\[\][ ]=' arch/m68k/platform/68328/bootlogo.h + initnc 'static[ ]unsigned[ ]char[ ]bus2core_8260\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]bus2core_8280\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]caseorder\[256\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]crystal_key\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]dsp_ulaw\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]expressiontab\[128\][ ]=' + defsnc 'static[ ]unsigned[ ]char[ ]header2\[\][ ]=' drivers/media/usb/zr364xx/zr364xx.c + initnc 'static[ ]unsigned[ ]char[ ]hidp_keycode\[256\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]nkbd_keycode\[128\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]pan_volumes\[256\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]parm_block\[32\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]raw3270_ebcgraf\[64\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]rfcomm_crc_table\[256\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]rwa_unlock\[\][ ]__initdata[ ]=' + initnc 'static[ ]unsigned[ ]char[ ]seqprog\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]snd_opl4_volume_table\[128\][ ]=' + defsnc 'static[ ]unsigned[ ]char[ ]splash_bits\[\][ ]=' arch/m68k/platform/68EZ328/bootlogo.h + initnc 'static[ ]unsigned[ ]char[ ]sunkbd_keycode\[128\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]ufs_fragtable_8fpb\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]ufs_fragtable_other\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]ulaw_dsp\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]usb_kbd_keycode\[256\][ ]=' + defsnc 'static[ ]unsigned[ ]char[ ]vga_font\[cmapsz\][ ]\(BTDATA[ ]\)\?=' arch/sparc/kernel/btext.c + initnc 'static[ ]unsigned[ ]char[ ]voltab[12]\[128\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]vpd89_data\[\][ ]=' + initnc 'static[ ]unsigned[ ]char[ ]xtkbd_keycode\[256\][ ]=' + defsnc 'static[ ]unsigned[ ]int[ ]ac3_bitrates\[32\][ ]=' drivers/media/dvb-core/dvb_filter.c + initnc 'static[ ]unsigned[ ]int[ ]bass_volume_table\[\][ ]=' + defsnc 'static[ ]unsigned[ ]int[ ]bitrates\[3\]\[16\][ ]=' drivers/media/dvb-core/dvb_filter.c + initnc 'static[ ]unsigned[ ]int[ ]isa_dma_port\[8\]\[7\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]master_volume_table\[\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]mixer_volume_table\[\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]pan_table\[63\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]snapper_bass_volume_table\[\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]snapper_treble_volume_table\[\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]treble_volume_table\[\][ ]=' + initnc 'static[ ]unsigned[ ]int[ ]valid_mem\[\][ ]=' + initnc 'static[ ]unsigned[ ]long[ ]arthur_to_linux_signals\[32\][ ]=' + defsnc 'static[ ]unsigned[ ]long[ ]shmedia_opcode_table\[64\][ ]=' arch/sh/kernel/traps_64.c + initnc 'static[ ]unsigned[ ]nv\([34]\|10\)TableP\(FIFO\|GRAPH\|RAMIN\)\[\]\[2\][ ]=' + initnc 'static[ ]unsigned[ ]short[ ]fcstab\[256\][ ]=' + initnc 'static[ ]unsigned[ ]short[ ]init[1234]\[128\][ ][/][*]__devinitdata[*][/][ ]=' + initnc 'static[ ]unsigned[ ]short[ ]log_table\[LOG_TABLE_SIZE[*]2\][ ]=' + defsnc 'static[ ]unsigned[ ]short[ ]rc_ioport\[\][ ]=' drivers/staging/tty/riscom8.c + defsnc 'static[ ]unsigned[ ]short[ ]translations\[\]\[256\][ ]=' drivers/tty/vt/consolemap.c + initnc 'static[ ]unsigned[ ]short[ ]treble_parm\[12\]\[9\][ ]=' + initnc 'struct[ ]RGBColors[ ]TextCLUT\[256\][ ]=' + initnc 'struct[ ]VgaRegs[ ]GenVgaTextRegs\[NREGS[+]1\][ ]=' + defsnc 'struct[ ]battery_thresh[ ][ ]*\(spitz\|sharpsl\)_battery_levels_\(noac\|acin\)\[\][ ]=' arch/arm/mach-pxa/sharpsl_pm.c + initnc 'struct[ ]fb_bitfield[ ]rgb_bitfields\[\]\[4\][ ]=' + initnc 'struct[ ]mode_registers[ ]std_modes\[\][ ]=' + initnc 'struct[ ]vmode_attr[ ]vmode_attrs\[VMODE_MAX\][ ]=' + initnc 'u16[ ]const[ ]crc16_table\[256\][ ]=' + initnc 'u16[ ]const[ ]crc_ccitt_table\[256\][ ]=' + initnc 'u16[ ]hfsplus_compose_table\[\][ ]=' + initnc 'u16[ ]hfsplus_decompose_table\[\][ ]=' + initnc 'u_char[ ]const[ ]data_sizes_16\[32\][ ]=' + defsnc 'u_short[ ]\(plain\|shift\(_ctrl\)\?\|alt\(gr\)\?\|ctrl\(_alt\)\?\)_map\[NR_KEYS\][ ]*=' drivers/tty/vt/defkeymap.c_shipped + initnc '\(uint16_t\|u16\)[ ]e1000_igp_cable_length_table\[IGP01E1000_AGC_LENGTH_TABLE_SIZE\][ ]=' drivers/net/e1000/e1000_hw.c # u16 on 2.6.26 + initnc '\(uint16_t\|u16\)[ ]e1000_igp_2_cable_length_table\[IGP02E1000_AGC_LENGTH_TABLE_SIZE\][ ]=' drivers/net/e1000/e1000_hw.c # u16 on 2.6.26 + initnc '[}][ ]euc2sjisibm_jisx0212_map\[\][ ]=' + initnc '[}][ ]freq\[\][ ]=' + defsnc '[}][ ]hps_h_coeff_tab[ ]\[\][ ]=' drivers/media/common/saa7146/saa7146_hlp.c + defsnc '[}][ ]hps_v_coeff_tab[ ]\[\][ ]=' drivers/media/common/saa7146/saa7146_hlp.c + defsnc '[}][ ]init_tab\[\][ ]=' drivers/media/dvb-frontends/s5h1409.c + initnc '[}][ ]maven_gamma\[\][ ]=' + defsnc '[}][ ]mem_table\[\][ ]=' drivers/net/ethernet/8390/smc-mca.c + defsnc '[}][ ]mxb_saa7740_init\[\][ ]=' drivers/media/pci/saa7146/mxb.c + initnc '[}][ ]pll_table\[\][ ]=' drivers/video/geode/lxfb_ops.c + defsnc '[}][ ]qam256_snr_tab\[\][ ]=' drivers/media/dvb-frontends/s5h1409.c + defsnc '[}][ ]qam64_snr_tab\[\][ ]=' drivers/media/dvb-frontends/s5h1409.c + initnc '[}][ ]sil_port\[\][ ]=' + defsnc '[}][ ]vsb_snr_tab\[\][ ]=' drivers/media/dvb-frontends/s5h1409.c + + # new in 2.6.30 + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]sync\[\][ ]=' Documentation/networking/timestamping/timestamping.c + blob 'The[ ]driver[ ]requires[ ]firmware[ ]files[ ]["]turtlebeach\([^\n]*[^\n.][\n]\)*directory.' Documentation/sound/alsa/ALSA-Configuration.txt + defsnc 'static[ ]int[ ]sdp3430_batt_table\[\][ ]=' arch/arm/mach-omap2/board-3430sdp.c + defsnc 'const[ ]char[ ]_[zs]b_findmap\[\][ ]=' arch/s390/kernel/bitmap.c + initnc '[ ][{][ ]CnINT2MSKR0,[ ]CnINT2MSKCR0[ ],[ ]32,' arch/sh/kernel/cpu/sh4a/setup-sh7786.c + blobname 'solos-\(\(db-\)\?FPGA\|Firmware\)\.bin' drivers/atm/solos-pci.c + defsnc 'static[ ]u16[ ]__initdata[ ]i2c_clk_div\[50\]\[2\][ ]=' drivers/i2c/busses/i2c-imx.c + defsnc 'static[ ]const[ ]struct[ ]mpc_i2c_divider[ ]mpc_i2c_dividers_\(52xx\|8xxx\)\[\][ ]\(__devinitconst[ ]\)\?=' drivers/i2c/busses/i2c-mpc.c + accept '[ ]const[ ]char[ ]\*fw_name[ ]=[ ]["]av7110[/]bootcode\.bin["][;]' drivers/media/dvb/ttpci/av7110_hw.c + accept '[ ]ret[ ]=[ ]request_firmware[(][^;]*[)][;][\n][ ]if[ ][(]ret[)][ ][{][^}]*[}][\n][\n][ ]mwdebi[(]av7110,[ ]DEBISWAB,[ ]DPRAM_BASE' drivers/media/dvb/ttpci/av7110_fw.c + accept 'MODULE_FIRMWARE[(]["]av7110[/]bootcode\.bin["][)][;]' drivers/media/dvb/ttpci/av7110_fw.c + defsnc 'static[ ]const[ ]u8[ ]jpeg_head\[\][ ]=' drivers/media/video/gspca/jpeg.h + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]nand_oob_128[ ]=' drivers/mtd/nand/nand_base.c + blobname 'bnx2[/]bnx2-\(mips\|rv2p\)-[-0-9a-z.]*\.fw' drivers/net/bnx2.c + accept 'static[ ]void[\n]load_rv2p_fw[(][^{)]*const[ ]struct[ ]bnx2_mips_fw_file_entry' drivers/net/bnx2.c + accept 'static[ ]int[\n]bnx2_init_cpus[(][^{]*[)][\n][{][\n][ ]const[ ]struct[ ]bnx2_mips_fw_file' + blobname 'yam[/]\(12\|96\)00\.bin' drivers/net/hamradio/yam.c + blobname 'myricom[/]lanai\.bin' drivers/net/myri_sbus.c + blobname '3com[/]3C359\.bin' drivers/net/tokenring/3c359.c + blobname '3com[/]typhoon\.bin' drivers/net/typhoon.c + defsnc 'static[ ]struct[ ]ar9170_phy_init[ ]ar5416_phy_init\[\][ ]=' drivers/net/wireless/ar9170/phy.c + defsnc 'static[ ]struct[ ]ar9170_rf_init[ ]ar9170_rf_init\[\][ ]=' drivers/net/wireless/ar9170/phy.c + defsnc 'static[ ]const[ ]struct[ ]ar9170_phy_freq_entry[ ]ar9170_phy_freq_params\[\][ ]=' drivers/net/wireless/ar9170/phy.c + accept 'static[ ]int[ ]ar9170_usb_request_firmware[(]' drivers/net/wireless/ar9170/usb.c + accept '[ ]\(err[ ]=\|return\)[ ]request_firmware\(_nowait\)\?[(][^\n]*["]ar9170\(-[12]\)\?\.fw["],' drivers/net/wireless/ar9170/usb.c + accept '[ ]err[ ]=[ ]ar9170_usb_request_firmware[(]' drivers/net/wireless/ar9170/usb.c + accept 'MODULE_FIRMWARE[(]["]ar9170\(-[12]\)\?\.fw["][)][;]\([\n]MODULE_FIRMWARE[(]["]ar9170\(-[12]\)\?\.fw["][)][;]\)*' drivers/net/wireless/ar9170/usb.c + blobname 'slicoss[/]\(oasis\|gb\)\(rcvucode\|download\)\.sys' drivers/staging/slicoss/slicoss.c + blobname 'sxg[/]sahara\(dbg\)\?downloadB\.sys' drivers/staging/sxg/sxg.c + blobname 'qlogic[/]isp1000\.bin' drivers/scsi/qlogicpti.c + blobname 'advansys[/]\(3550\|38C\(08\|16\)00\|mcode\)\.bin' drivers/scsi/advansys.c + blobname 'qlogic[/]\(1040\|1280\|12160\)\.bin' drivers/scsi/qla1280.c + blobname 'yamaha[/]yss225_registers\.bin' sound/isa/wavefront/wavefront_fx.c + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini[ ]rf\([52]413\|2425\)_ini_common_end\[\][ ]=' drivers/net/wireless/ath5k/initvals.c + defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_rfbuffer[ ]rfb_\(511[12]a\?\|5413\|231[67]\|24\(1[37]\|25\)\)\[\][ ]=' drivers/net/wireless/ath5k/rfbuffer.h + accept '#define\([ ]_\?IWL\(4965\|[156]000\(G2[AB]\)\?\|1[03]0\|5150\|6050\)_MODULE_FIRMWARE[(]api[)]\)\+' 'drivers/net/iwlwifi/iwl-\([156]000\|4965\)\.c' + blobname 'iwlwifi-1000-' drivers/net/iwlwifi/iwl-1000.c + blobname 'iwlwifi-60[05]0-' drivers/net/iwlwifi/iwl-6000.c + blobname 'libertas[/]gspi\(%d\|[0-9]\+\)\(_hlp\)\?\.bin' drivers/net/wireless/libertas/if_spi.c + blobname 'mwl8k[/]\(helper\|fmimage\)_\(%u\|[0-9]\+\)\.fw' drivers/net/wireless/mwl8k.c + blobname '3826\.arm' 'drivers/\(net/wireless/p54/p54spi\|staging/stlc45xx/stlc45xx\)\.c' + defsnc 'static[ ]unsigned[ ]char[ ]p54spi_eeprom\[\][ ]=' drivers/net/wireless/p54/p54spi_eeprom.h + blobname '\([/ ][*][ ]The[ ]DSP[ ]on[ ]the[ ]board[^"]*["]\)\?\(comedi[/]\)\?jr3pci\.idm\(["]\.[\n][ ][*][/]\)\?' drivers/staging/comedi/drivers/jr3_pci.c + accept '#define[ ]USBDUX_FIRMWARE[ \t]*["]usbdux_firmware\.bin["]' drivers/staging/comedi/drivers/usbdux.c + accept 'MODULE_FIRMWARE[(]USBDUX_FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbdux.c + accept '#define[ ]FIRMWARE[ \t]*["]usbduxfast_firmware\.bin["]' drivers/staging/comedi/drivers/usbduxfast.c + accept 'MODULE_DESCRIPTION[(]["]USB-DUXfast[^"]*["][)][;][\n]MODULE_LICENSE[(]["]GPL["][)][;][\n]MODULE_FIRMWARE[(]FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbduxfast.c + blobname 'RT30xxEEPROM\.bin' drivers/staging/rt3070/common/eeprom.c + defsnc 'static[ ]const[ ]u8[ ]default_cal_\(channels\|rssi\)\[\][ ]=' drivers/staging/stlc45xx/stlc45xx.c + accept '[ ][ ]stlc45xx_error[(]["]request_firmware[(][)][ ]failed' drivers/staging/stlc45xx/stlc45xx.c + blob 'static[ ]struct[ ]phy_ucode[ ]PhyUcode\[\][ ]=[^;]*[;]' drivers/staging/sxg/sxgphycode-1.2.h + accept 'device[ ]drivers[ ]which[ ]predate[ ]the[ ]common[ ]use[ ]of[ ]request_firmware[(][)]' firmware/README.AddingFirmware + accept 'As[ ]we[ ]update[ ]those[ ]drivers[ ]to[ ]use[ ]request_firmware[(][)]' firmware/README.AddingFirmware + blob 'This[ ]directory[ ]is[ ]_NOT_[ ]for[ ]adding[ ]arbitrary[ ]new[ ]firmware[ ]images.*git[ ]pull[ ]request[ ]to:[\n][^\n]*\(infradead\.org\|decadent\.org\.uk\)>' firmware/README.AddingFirmware + blobna 'linux-firmware\.git' firmware/README.AddingFirmware + blobname '\(ea[/]\)\?\(loader\|indigo_djx\)_dsp\.fw' sound/pci/echoaudio/indigodjx.c + blobname '\(ea[/]\)\?\(loader\|indigo_iox\)_dsp\.fw' sound/pci/echoaudio/indigoiox.c + # blobname 'cis[/]LA-PCM\.cis' drivers/net/pcmcia/pcnet_cs.c + blobname 'ositech[/]Xilinx7OD\.bin' drivers/net/pcmcia/smc91c92_cs.c + blobname 'tehuti[/]\(firmware\|bdx\)\.bin' drivers/net/tehuti.c + accept '[ ]*["]b43-open%s[/]%s\.fw["]' drivers/net/wireless/b43/main.c + blobname '\(nx\(romimg\|3fw\(ct\|mn\)\)\|phanfw\)\.bin' 'drivers/net/netxen/netxen_nic\(_\(hw\|init\)\.c\|\.h\)' + + # New in 2.6.31 + accept '[ ][*][ ]page[ ]tables[ ]as[ ]follows:[\n][ ][*][\n][ ][*][ ][ ][ ]3[ ]3[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[\n][ ][*][ ][ ][ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0' arch/arm/include/asm/pgtable.h + defsnc '\([ ]static[ ]const[ ]u8[ ]snum_init\[\][ ]=[ ][{]\|static[ ]void[ ]qe_snums_init[(]void[)]\)[\n][ ][ ]0x04,[ ]0x05,' arch/powerpc/sysdev/qe_lib/qe.c + accept '[.]LgoS4:[\n][ ][.]word[ ][.]LmtoS4-\.LgoS4\([\n][ ]\.\(long\|word\|byte\)[ ][01]\(,0\)*\)*' arch/s390/kernel/sclp.S + defsnc 'static[ ]int[ ]sh_clk_div6_divisors\[64\][ ]=' '\(arch/sh/kernel/cpu/clock-\|drivers/sh/clk/\)cpg\.c' + accept '[ ][*][ ]*1[ ]1\([ ]0\)*[ ]1\([ ]0\)*' arch/x86/lguest/boot.c + defsnc 'struct[ ]scrubrate[ ]scrubrates\[\][ ]=' drivers/edac/amd64_edac.c + defsnc 'static[ ]const[ ]unsigned[ ]r\([35]\|s6\)00_reg_safe_bm\[[0-9]*\][ ]=' 'drivers/gpu/drm/radeon/r\(300\|v515\|s600\)\.c' + defsnc 'static[ ]struct[ ]keyboard_layout_map_t[ ]keyboard_layout_maps\[\][ ]=' drivers/media/dvb/siano/smsir.c + blobname 'dvb-cx18-mpc718-mt352\.fw' drivers/media/video/cx18/cx18-dvb.c + defsnc '[ ]const[ ]unsigned[ ]char[ ]\(y\|uv\)QuanTable51[18]\[\][ ]=' 'drivers/media/video/\(ov511\|gspca/ov519\)\.c' + defsnc 'static[ ]const[ ]u8[ ]bridge_start_ov965x_\(\([qs]\?v\|x\)ga\|cif\)\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c + defsnc 'static[ ]const[ ]\(int\|s16\)[ ]hsv_\(red\|green\|blue\)_[xy]\[\][ ]=' drivers/media/video/gspca/sn9c20x.c + defsnc 'static[ ]\(u16\|struct[ ]i2c_reg_u16\)[ ]\(bridge\|mt9\(v\(11[12]\|011\)\|m001\)\)_init\[\]\(\[2\]\)\?[ ]=' drivers/media/video/gspca/sn9c20x.c + defsnc 'static[ ]\(u8\|struct[ ]i2c_reg_u8\)[ ]\(soi968\|ov\(76[67]0\|965[05]\)\|hv7131r\)_init\[\]\(\[2\]\)\?[ ]=' drivers/media/video/gspca/sn9c20x.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]onenand_oob_128[ ]=' drivers/mtd/onenand/onenand_base.c + # Moved down to avoid shorter earlier match. + # blob '#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)[ ]*[0-9]\+\([\n]#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)[ ]*[0-9]\+\)*' 'drivers/net/\(bnx2x[/]\)\?bnx2x_hsi\.h' + blob 'static[ ]int[ ]\(__devinit[ ]\)\?bnx2x_check_firmware[(]struct[ ]bnx2x[ ][*]bp[)][\n][{][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c' + blobna 'if[ ][(][(]fw_ver\[[0-3]\][ ]!=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\([ ][|][|][\n][ ]*[(]fw_ver\[[0-3]\][ ]!=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\)*[)][ ][{][^{}]*[}]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c' + blobna 'sprintf[(]fw_file_name[ ][+][ ]offset,[ ]["]%d[.]%d[.]%d[.]%d[.]fw["]\(,[\n][ ]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)*[)][;]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c' + blobna 'rc[ ]=[ ]bnx2x_check_firmware[(]bp[)][;]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c' + defsnc 'crb_128M_2M_map\[64\][ ]__cacheline_aligned_in_smp[ ]=' 'drivers/net/\(netxen/netxen_nic_hw.c\|qlcnic/qlcnic_hw.c\)' + defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals\(_3070\)\?\[\][ ]=' 'drivers/net/wireless/\(prism54/islpci_dev\.c\|rt2x00/rt2800usb\.c\)' + blobname 'wl1251-\(fw\|nvs\)\.bin' 'drivers/net/wireless/wl12\(51\|xx\)/wl1251.h' + blobname 'iwmc3200wifi-\([ul]mac\|calib\)-sdio\.bin' drivers/net/wireless/iwmc3200wifi/sdio.c + defsnc 'u16[ ]MCS_DATA_RATE\[2\]\[2\]\[77\][ ]=' 'drivers/staging/\(rtl8192su/ieee80211/rtl819x_HTProc\.c\|rtl8192u/r819xU_firmware\.c\)' + blob 'u8[ ]Rtl8192SUFw\(Img\|Main\|Data\)Array\[\(Img\|Main\|Data\)ArrayLength\][ ]=[ ][{]'"$sepx$blobpat*$sepx"'[}][;]\([\n][\n]*u8[ ]Rtl8192SUFw\(Img\|Main\|Data\)Array\[\(Img\|Main\|Data\)ArrayLength\][ ]=[ ][{]'"$sepx$blobpat*$sepx"'[}][;]\)*' drivers/staging/rtl8192su/r8192SU_HWImg.c + blobname 'RTL8192SU[/]\(rtl8192sfw\.bin\|\(boot\|main\|data\)\.img\)' drivers/staging/rtl8192su/r8192S_firmware.c + blobna 'case[ ]FW_SOURCE_HEADER_FILE:[\n]#if[ ]1[\n]#define[^#]*[\n]#endif[\n][ ][ ][ ]break[;]' drivers/staging/rtl8192su/r8192S_firmware.c + defsnc 'u32[ ]Rtl8192SU\(PHY_\(REG\|ChangeTo\)_\([12]T[12]R\)\?\|Radio[AB]_\(\(\(to\)\?[12]T\|GM\)_\)\?\|MAC\(PHY\|_[12]T\)_\|AGCTAB_\)Array\(_PG\)\?\[\(PHY_\(REG\|ChangeTo\)_\([12]T[12]R\)\?\|Radio[AB]_\(\(\(to\)\?[12]T\|GM\)_\)\?\|MAC\(PHY\|_[12]T\)_\|AGCTAB_\)Array\(_PG\)\?Length\][ ]=' drivers/staging/rtl8192su/rtl92SU_HWImg.c + blob 'u8[ ]Rtl8192PciEFw\(Boot\|Main\|Data\)ArrayDTM\[\(Boot\|Main\|Data\)ArrayLengthDTM\][ ]=[ ][{][^}]*[}][;]' drivers/staging/rtl8192su/r8192S_FwImgDTM.h + defsnc '\(static[ ]\)\?u32[ ]Rtl8192PciE\(PHY_REG\(_1T2R\)\?\|\(Radio[ABCD]\|MACPHY\|AGCTAB\)_\)Array\(_PG\)\?\(DTM\)\?\[\(\(PHY_REG\(_1T2R\)\?\|\(Radio[ABCD]\|MACPHY\|AGCTAB\)_\)Array\(_PG\)\?Length\(DTM\)\?\)\?\][ ]=' drivers/staging/rtl8192su/rtl8192S_FwImgDTM.h + blobna '\([&]\|sizeof[(]\)rtl8190_fw\(boot\|main\|data\)_array\(\[0\]\|[)]\)\(,[ \n]*\([&]\|sizeof[(]\)rtl8190_fw\(boot\|main\|data\)_array\(\[0\]\|[)]\)\)*' 'drivers/staging/rtl8192su/r819\(2S\|xU\)_firmware\.c' + blobname 'RTL8192U[/]\(boot\|main\|data\)\.img' 'drivers/staging/rtl8192s\?u/r819xU_firmware\.c' + blob 'u8[ ]rtl8190_fw\(boot\|main\|data\)_array\[\][ ]=[ ]\?[{][^}]*[}][;]' 'drivers/staging/rtl8192s\?u/r8192xU_firmware_img\.c' + defsnc 'u32[ ]Rtl8192Usb\(PHY_REG\(_1T2R\)\?\|\(Radio[ABCD]\|MACPHY\|AGCTAB\)_\)Array\(_PG\)\?\[\][ ]=' drivers/staging/rtl8192su/rtl819xU_firmware_img.c + defsnc 'BYTE[ ]\(sbox\|dot[23]\)_table\[256\][ ]=' drivers/staging/vt6655/aes_ccmp.c + defsnc '\(BYTE\|unsigned[ ]char\)[ ]byVT3253\(InitTab\|B0\(_AGC4\?\)\?\)_\(RFMD\(2959\)\?\|AIROHA2230\|UW2451\|AGC\)\[CB_VT3253\(B0\(_AGC4\?\)\?\)\?\(\(_INIT\)\?_FOR_\(RFMD\(2959\)\?\|AIROHA2230\|UW2451\|AGC\)\)\?\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'SCountryTable[ ]ChannelRuleTab\[CCODE_MAX[+]1\][ ]=' drivers/staging/vt6655/card.c + defsnc 'static[ ]const[ ]long[ ]frequency_list\[\][ ]=' drivers/staging/vt6655/iwctl.c + accept '#define[ ]CONFIG_PATH[ ]*["][/]etc[/]vntconfiguration[.]dat["]' drivers/staging/vt6655/device_cfg.h + defsnc 'static[ ]const[ ]\(DWORD\|unsigned[ ]long\)[ ]s_adwCrc32Table\[256\][ ]=' drivers/staging/vt6655/tcrc.c + defsnc 'const[ ]\(BYTE\|unsigned[ ]char\)[ ]TKIP_Sbox_\(Lower\|Upper\)\[256\][ ]=' drivers/staging/vt6655/tkip.c + blobname 'prism2_ru\.\(hex\|fw\)' drivers/staging/wlan-ng/prism2fw.c + defsnc 'static[ ]const[ ]u16[ ]wm8960_reg\[WM8960_CACHEREGNUM\][ ]=' sound/soc/codecs/wm8960.c + blob '#include[ ]["]me4\(00\|61\)0_firmware\.h["]\([\n][\n]*#include[ ]["]me4\(00\|61\)0_firmware\.h["]\)*' drivers/staging/me4000/me4000.c + blobna 'firm[ ]=[ ][^;]*xilinx_firm[^;]*[;]' drivers/staging/me4000/me4000.c + # end of new in 2.6.31 + accept '[ ]*ramdisk[ ]=[ ]["][/]boot[/][^ ]*initrd[^ ]*\.img["]' Documentation/ia64/xen.txt + + # in drm-*.patch, post-2.6.31 + blobname 'matrox[/]g[24]00_warp\.fw' drivers/gpu/drm/mga/mga_warp.c + blobname 'r128[/]r128_cce\.bin' drivers/gpu/drm/r128/r128_cce.c + blobname 'radeon[/]R\([123]0\|[45]2\|S6[09]\)0_cp\.bin' drivers/gpu/drm/radeon/r100.c + blobname 'radeon[/]\(R\([67]0\|V6[1237]\|S7[1378]\)[05]\|CEDAR\|REDWOOD\|JUNIPER\|CYPRESS\|%s\)_\(pfp\|rlc\|me\)\.bin' drivers/gpu/drm/radeon/r600.c + defsnc 'const[ ]u32[ ]r[67]xx_default_state\[\][ ]=' drivers/gpu/drm/radeon/r600_blit_shaders.c + defsnc 'struct[ ]nv17_tv_norm_params[ ]nv17_tv_norms\[NUM_TV_NORMS\][ ]=' drivers/gpu/drm/nouveau/nv17_tv_modes.c + + # New in or modified for 2.6.32 + blobname '\(cxgb3[/]\)\?ael20\(05_\(opt\|twx\)\|20_twx\)_edc\.bin' drivers/net/cxgb3/cxgb3_main.c + defsnc 'static[ ]const[ ]struct[ ]aper_size_info_32[ ]u3_sizes\[8\?\][ ]=' drivers/char/agp/uninorth-agp.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]atkbd_set[23]_keycode\[\(512\|ATKBD_KEYMAP_SIZE\)\][ ]=' drivers/input/keyboard/atkbd.c + defsnc '[ ][}][ ]common_modes\[17\][ ]=' drivers/gpu/drm/radeon/radeon_connectors.c + defsnc '[ ][ ]*\(static[ ]\)\?\(const[ ]\)\?struct[ ]phy_reg[ ]phy_reg_init\(_0\)\?\[\][ ]=' drivers/net/r8169.c + accept '[ ][ ]*struct[ ]phy_reg[ ]phy_reg_init_1\[\][ ]=[ ][{][^;]*0x8300[^;]*[}][;]' drivers/net/r8169.c + blob 'static[ ]void[ ]rtl8168d_[12]_hw_phy_config[(]void[ ]__iomem[ ][*]ioaddr[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' drivers/net/r8169.c + blobna 'rtl8168d_[12]_hw_phy_config[(]ioaddr[)][;]' drivers/net/r8169.c + blobna 'static[ ]\(const[ ]\)\?struct[ ]phy_reg_init_[12]\[\][ ]=[ ][{][\n {}0-9a-fx]*0x06,[ ]0xf8f9[\n {}0-9a-fx]*[}][;]' drivers/net/r8169.c + # This loads firmware to be flashed from filename provided through ethtool. + accept 'int[ ]be_load_fw[(]struct[ ]be_adapter[ ][^\n;{]*[)][ \n][{]\([\n]\+[^\n}][^\n]*\)*request_firmware[^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' drivers/net/benet/be_main.c + defsnc '[ ]u8[ ]init_hash_seed\[\][ ]=' drivers/net/qlge/qlge_main.c + defsnc 'static[ ]const[ ]u_int32_t[ ]ar9287\(Common\|Modes\(_\([tr]x_gain\)\)\?\)_9287_1_[01]\[\]\[[236]\][ ]=' drivers/net/wireless/ath9k/initvals.h + defsnc 'static[ ]const[ ]u_int32_t[ ]ar9271\(Common\|Modes\)_9271\(_1_0\)\?\[\]\[[26]\][ ]=' drivers/net/wireless/ath9k/initvals.h + defsnc 'static[ ]const[ ]u8[ ]lpphy_min_sig_sq_table\[\][ ]=' drivers/net/wireless/b43/tables_lpphy.c + defsnc 'static[ ]const[ ]u16[ ]lpphy_\(rev\(01\|2plus\)_noise_scale\|crs_gain_nft\|iqlo_cal\|rev[01]_ofdm_cck_gain\|\(a0_\)\?gain\|sw_control\)_table\[\][ ]=' drivers/net/wireless/b43/tables_lpphy.c + defsnc 'static[ ]const[ ]u32[ ]lpphy_\(\(rev01_ps\|tx_power\)_control\|\(a0_\)\?gain_\(idx\|value\)\|papd_\(eps\|mult\)\)_table\[\][ ]=' drivers/net/wireless/b43/tables_lpphy.c + blobname 'v4l-saa7164-1\.0\.[23]\.fw' drivers/media/video/saa7164/saa7164-fw.c + defsnc 'static[ ]const[ ]u8[ ]n4_\(om6802\|other\|tas5130a\)\[\][ ]=' drivers/media/video/gspca/t613.c + defsnc '[ ][ ]\(static[ ]\)\?const[ ]struct[ ]sensor_w_data[ ]\(cif\|vga\)_sensor[01]_init_data\[\][ ]=' drivers/media/video/gspca/mr97310a.c + defsnc '[ ]struct[ ]jlj_command[ ]start_commands\[\][ ]=' drivers/media/video/gspca/jeilinj.c + defsnc 'static[ ]u8[ ]init_code\[\]\[2\][ ]=' drivers/media/dvb/dvb-usb/friio-fe.c + defsnc 'static[ ]const[ ]u8[ ]va1j5jf8007[ts]_\(2[05]mhz_\)\?prepare_bufs\[\]\[2\][ ]=' 'drivers/media/dvb/pt1/va1j5jf8007[st]\.c' + accept '[ ]\+request_firmware[(][)][ ]will[ ]hit[ ]an[ ]OOPS' drivers/media/dvb/frontends/dib7000p.c + defsnc 'static[ ]long[ ]limiter_times\[\][ ]=' drivers/media/radio/si4713-i2c.c + blobname 'c[tb]fw\(_\(fc\|cna\)\)\?\.bin' drivers/scsi/bfa/bfad_fwimg.c + defsnc 'static[ ]const[ ]u16[ ]\(VDCDC[1x]\|LDO[12]\)_VSEL_table\[\][ ]=' 'drivers/regulator/tps650\(23\|7x\)-regulator\.c' + defsnc 'static[ ]\(const[ ]\)\?struct[ ]lms283gf05_seq[ ]disp_\(init\|pwdn\)seq\[\][ ]=' drivers/video/backlight/lms283gf05.c + defsnc '[}][ ]csc_table\[\][ ]=' drivers/video/msm/mdp_csc_table.h + defsnc '\(static[ ]\)\?struct[ ]mdp_table_entry[ ]mdp_\(\(upscale\|gaussian_blur\)_table\|downscale_[xy]_table_PT[2468]TO\(PT[468]\|1\)\)\[\][ ]=' drivers/video/msm/mdp_scale_tables.c + accept '[ ][ ]card->firmware[ ]=[ ]data->firmware[;]' drivers/bluetooth/btmrvl_sdio.c + accept '[ ]isar->firmware[ ]=[ ][&]load_firmware[;]' drivers/isdn/hardware/mISDN/mISDNisar.c + blobname 'isdn[/]ISAR\.BIN' drivers/isdn/hardware/mISDN/speedfax.c + blobname '\(sep[/]\)\?\(cache\|resident\)\.image\.bin' drivers/staging/sep/sep_driver.c + blobname 'RTL8192E[/]\(boot\|main\|data\)\.img' drivers/staging/rtl8192e/r819xE_firmware.c + defsnc '\(static[ ]\)\?u32[ ]Rtl8190PciE\?\(AGCTAB_\|PHY_REG\(_1T2R\)\?\|Radio[ABCD]_\)Array\[\(AGCTAB_\|PHY_REG\(_1T2R\)\?\|Radio[ABCD]_\)ArrayLength\][ ]=' 'drivers/staging/\(rtl8192e/r819xE_phy\.c\|rtl8192u/r819xU_firmware_img.c\)' + accept '[ ][*][ ]File:[ ]main_usb\.c[\n][ ]\([*]\+[^/*][^*]*\)*[\n][ ][*][/]\([\n][\n]*#\(undef[ ][^\n]*\|include[ ]["][^\n]*["]\)\)*[\n][\n]*#include[ ]["]firmware\.h["]' drivers/staging/vt6656/main_usb.c + blob 'const[ ]BYTE[ ]abyFirmware\[\][ ]=[ ][{][^;]*[}][;]' drivers/staging/vt6656/firmware.c + defsnc '[}][ ]*ChannelRuleTab\[\][ ]=' drivers/staging/vt6656/channel.c + defsnc '\(static[ ]\)\?struct[ ]register_address_value_pair[\n]\(preview_snapshot_mode\|noise_reduction\)_reg_settings_array\[\][ ]=' drivers/staging/dream/camera/mt9d112_reg.c + blobname '\([/]tmp[/]\)\?RT30xxEEPROM\.bin' 'drivers/staging/rt3090/\(common/ee_efuse\.c\|rtmp_def\.h\)' + defsnc 'static[ ]UINT8[ ]WPS_DH_\([PRX]\|RRModP\)_VALUE\[1\(9[23]\|84\)\][ ]=' drivers/staging/rt3090/common/crypt_biginteger.c + defsnc '\(CH_FREQ_MAP\|struct[ ]rt_ch_freq_map\)[ ]CH_HZ_ID_MAP\[\][ ]\?=' 'drivers/staging/\(rt2860\|rt3090\)/common/rt_channel\.c' + defsnc 'static[ ]const[ ]UINT32[ ]SHA256_K\[64\][ ]=' drivers/staging/rt3090/common/crpt_sha2.c + defsnc '\(DOT11_REGULATORY_INFORMATION\|struct[ ]rt_dot11_regulatory_information\)[ ]\(USA\|Europe\|Japan\)RegulatoryInfo\[\][ ]=' 'drivers/staging/\(rt3090\|rt2860\)/common/spectrum\.c' + defsnc 'static[ ]const[ ]USHORT[ ]Sbox\[256\][ ]=' drivers/staging/rt3090/sta/rtmp_ckipmic.c + blob '#include[ ]*["]\(\.\.[/]\(\.\.[/]rt\(28[67]\|30[79]\)0[/]\(common[/]\)\?\)\?\)\?firmware\(_\(28[67]\|30[79]\)0\)\?\.h["]\([\n][\n]*#include[ ]*["]\(\.\.[/]\(\.\.[/]rt\(28[67]\|30[79]\)0[/]\(common[/]\)\?\)\?\)\?firmware\(_\(28[67]\|30[79]\)0\)\?\.h["]\)' 'drivers/staging/rt\(28[67]\|309\)0/common/rtmp_\(init\|mcu\)\.c' + blobna 'FIRMWAREIMAGE_LENGTH[ ]==' drivers/staging/rt3090/common/rtmp_mcu.c + defsnc 'int[ ]wm831x_isinkv_values\[WM831X_ISINK_MAX_ISEL[ ][+][ ][1]\][ ]=' drivers/mfd/wm831x-core.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]hwecc4_2048[ ]__initconst[ ]=' drivers/mtd/nand/davinci_nand.c + defsnc 'static[ ]const[ ]u16[ ]wm8974_reg\[WM8974_CACHEREGNUM\][ ]=' sound/soc/codecs/wm8974.c + defsnc 'static[ ]const[ ]u\(8\|16\)[ ]ak464[28]_reg\[\(AK4642_CACHEREGNUM\)\?\][ ]=' sound/soc/codecs/ak4642.c + accept 'int[ ]snd_hda_load_patch[(][^\n;{]*[)][ \n][{][^\n]*\([\n]\+[^\n}][^\n]*\)*hda_codec[^\n]*\([\n]\+[^\n}][^\n]*\)*request_firmware[^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' sound/pci/hda/hda_hwdep.c + accept '[ ][ ][ ]Bit[ 0-7]*' Documentation/input/sentelic.txt + accept 'The[ ]hd-audio[ ]driver[ ]reads[ ]the[ ]file[ ]via[ ]request_firmware[(][)]\.' Documentation/sound/alsa/HD-Audio.txt + blob 'SD8688[ ]firmware:[\n]*\([/]lib[/]firmware[^\n]*[\n]*\)*The[ ]images[^:]*:[\n]*[^\n]*[/]linux-firmware[^\n]*' Documentation/btmrvl.txt + defsnc 'static[ ]u8[ ]ibm405ex_fbdv_multi_bits\[\][ ]=' arch/powerpc/boot/4xx.c + defsnc 'static[ ]int[ ]zoom2_batt_table\[\][ ]=' arch/arm/mach-omap2/board-zoom2.c + defsnc 'static[ ]struct[ ]ad714x_platf\(or\|ro\)m_data[ ]ad714[27]_\(\(spi\|i2c\)_\)\?platf\(or\|ro\)m_data[ ]=' arch/blackfin/mach-bf537/boards/stamp.c + blob 'static[ ]const[ ]u8[ ]lgs8g75_initdat\[\][ ]=[ ][{][^;]*[}][;]' drivers/media/dvb/frontends/lgs8gxx.c + blob 'static[ ]int[ ]lgs8g75_init_data[(][^\n;{]*[)][ \n][{][^\n]*\([\n]\+[^\n}][^\n]*\)*lgs8g75_initdat[^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' drivers/media/dvb/frontends/lgs8gxx.c + defsc 'static[ ]struct[ ]idxdata[ ]tbl_common\(_[a-e]\|5\|_\?3B\?\)\[\][ ]=' 'drivers/media/video/gspca/gl860/gl860-\(mi2020\|mi1320\|ov9655\|ov2640\)\.c' + defsnc 'static[ ]struct[ ]validx[ ]tbl_\(commm\?on\|init_\(at_startup\|post_alt\)\|sensor_settings_common\(_[ab]\|1\)\|big\(_[abc]\|[123]\)\|640\|800\)\[\][ ]=' 'drivers/media/video/gspca/gl860/gl860-\(mi2020\|mi1320\|ov9655\|ov2640\).c' + defsnc 'static[ ]u8[ ][*]tbl_\(640\|800\|1280\)\[\][ ]=' 'drivers/media/video/gspca/gl860/gl860-\(mi1320\|ov9655\).c' + accept '[<][<]\([/]Subtype[/]Type1\)\?[/]BaseFont[^ ]*[/]FontDescriptor[ ][0-9][0-9]*[ ]0[ ]R\([/]Type[/]Font\)\?[\n]\?[/]FirstChar[ ][0-9][0-9]*[/]LastChar[ ][0-9][0-9]*[/]Widths\[[\n][0-9 \n]*\]' 'Documentation/DocBook/v4l/.*\.pdf' + + # New in 2.6.33 + accept '[ ]*just[ ]run[ ]["]cat[ ][/]sys[/]firmware[/]acpi[/]tables[/]DSDT[ ]>[ ][/]tmp[/]dsdt[.]dat["]' Documentation/acpi/method-customizing.txt + accept '[ ]*b[)][ ]disassemble[ ]the[ ]table[ ]by[ ]running[ ]["]iasl[ ]-d[ ]dsdt[.]dat["][.]' Documentation/acpi/method-customizing.txt + accept '[ ]*x=["]7999\([ ][0-9]\+\)\+["]' Documentation/blockdev/drbd/DRBD-8.3-data-packets.svg + defsnc 'static[ ]int[ ]zoom_batt_table\[\][ ]=' arch/arm/mach-omap2/board-zoom-peripherals.c + defsnc 'static[ ]u16[ ]x[48]_vectors\[\][ ]=' drivers/edac/amd64_edac.c + defsnc 'static[ ]const[ ]u16[ ]\(y\|uv\)_static_hcoeffs\[N_HORIZ_\(Y\|UV\)_TAPS[ ][*][ ]N_PHASES\][ ]=' drivers/gpu/drm/i915/intel_overlay.c + accept '[ ]\.download_firmware[ ]=[ ]ec168_download_firmware,[\n][ ]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/ec168.c + blobname 'dvb-usb-ec168\.fw' drivers/media/dvb/dvb-usb/ec168.c + defsnc 'static[ ]const[ ]u16[ ]dib0090_defaults\[\][ ]=' drivers/media/dvb/frontends/dib0090.c + blobname 'dvb-fe-ds3000\.fw' drivers/media/dvb/frontends/ds3000.c + blob '[/][*][ ]\(as[ ]of[ ][^\n]*[ ]current[ ]DS3000[ ]firmware\|DS3000[ ]FW\)[^/]*[*][/]\([\n][/][*]\([ ]\(as[ ]of[ ][^\n]*[ ]current[ ]DS3000[ ]firmware\|DS3000[ ]FW\)[^/]*\|[(]DEBLOBBED[)]\)[*][/]\)*' drivers/media/dvb/frontends/ds3000.c + defsnc 'static[ ]u8[ ]ds3000_dvbs2\?_init_tab\[\][ ]=' drivers/media/dvb/frontends/ds3000.c + defsnc '[ ]static[ ]const[ ]u16[ ]dvbs2_snr_tab\[\][ ]=' drivers/media/dvb/frontends/ds3000.c + defsnc 'static[ ]const[ ]struct[ ]cnr[ ]cnr_tab\[\][ ]=' drivers/media/dvb/frontends/mb86a16.c + defsnc 'u8[ ]lgtdqcs001f_inittab\[\][ ]=' drivers/media/dvb/mantis/mantis_vp1033.c + defsnc 'static[ ]const[ ]struct[ ]ov9640_reg[ ]ov9640_regs_dflt\[\][ ]=' drivers/media/video/ov9640.c + defsnc '\(const[ ]static\|static[ ]const\)[ ]struct[ ]rj54n1_reg_val[ ]bank_[4578]\[\][ ]=' drivers/media/video/rj54n1cb0c.c + blob '#define[ ]_FW_NAME[(]api[)][ ]DRV_NAME[ ]["][.]["][ ]#api[ ]["]\.fw["]' drivers/media/video/iwmc3200top.h + blob '#define[ ]FW_FILE_VERSION\([ ]*[\\][\n][ ]__stringify[(]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\([ ]["][.]["]\)\?\)\+' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-["][ ]FW_FILE_VERSION[ ]["]\.fw' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + # Moved down to avoid shorter earlier match. + # blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-\([0-9.%d]*\.fw\)\?' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + blob '#define[ ]FW_VERSION\([ ]__stringify[(]FW_VERSION_\(MAJOR\|MINOR\|MICRO\)[)]\([ ]["][.]["]\)\?\([ ]*[\\][\n]\)\?\)\+' drivers/net/cxgb3/cxgb3_main.c + blobname 'cxgb3[/]t3fw-["][ ]FW_VERSION[ ]["]\.bin' drivers/net/cxgb3/cxgb3_main.c + blob '#define[ ]TPSRAM_VERSION\([ ]__stringify[(]TP_VERSION_\(MAJOR\|MINOR\|MICRO\)[)]\([ ]["][.]["]\)\?\([ ]*[\\][\n]\)\?\)\+' drivers/net/cxgb3/cxgb3_main.c + blobname 'cxgb3[/]t3\(%c\|[bc]\)_psram-["][ ]TPSRAM_VERSION[ ]["]\.bin' drivers/net/cxgb3/cxgb3_main.c + defsnc '[ ]static[ ]const[ ]u8[ ]rsshash\[40\][ ]=' drivers/net/igb/igb_main.c + defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3\(02\)\?x\[\][ ]=' drivers/net/wireless/rt2x00/rt2800lib.c + defsnc 'static[ ]struct[ ]conf_drv_settings[ ]default_conf[ ]=' drivers/net/wireless/wl12xx/wl1271_main.c + defsnc 'static[ ]\(const[ ]\)\?u16[ ]bios_to_linux_keycode\[256\][ ]\(__initconst[ ]\)\?=' drivers/platform/x86/dell-wmi.c + accept '[ ]err[ ]=[ ]request_firmware[(][&]pm8001_ha->fw_image,' drivers/scsi/pm8001/pm8001_ctl.c + defsnc 'static[ ]unsigned[ ]char[ ]vpdb0_data\[\][ ]=' drivers/scsi/scsi_debug.c + defsnc 'static[ ]struct[ ]vesa_mode_table[ ]vesa_mode\[\][ ]=' drivers/staging/sm7xx/smtcfb.c + defsnc 'struct[ ]ModeInit[ ]VGAMode\[\][ ]=' drivers/staging/sm7xx/smtcfb.h + blob 'static[ ]const[ ]hcf_8[ ]fw_image_[1234]_data\[\][ ]=[^;]*[;]\([ ]*[/][*][ ]fw_image_[1234]_data[ ][*][/]\)\?' 'drivers/staging/wlags49_h2/\(ap\|sta\)_h25\?\.c' + blobname '[/]etc[/]agere[/]fw\.bin' drivers/staging/wlags49_h2/wl_profile.c + defsnc 'static[ ]const[ ]long[ ]chan_freq_list\[\]\[MAX_CHAN_FREQ_MAP_ENTRIES\][ ]=' drivers/staging/wlags49_h2/wl_util.c + blob 'The[ ]ssinit[ ]program.*nsoniq.*sndscape.*sound[ ]weird\.' Documentation/sound/oss/README.OSS + blobname 'scope\.cod' 'sound/isa/\(Kconfig\|sscape\.c\)' + blobname '\(sndscape\|soundscape\)\.co\([?dx01234]\|%d\)' 'sound/isa/\(Kconfig\|sscape\.c\)\|Documentation/sound/oss/README\.OSS' + defsnc 'static[ ]const[ ]u8[ ]\(adcm1700\|om6802\|po1030\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c + blobname 'ath3k-1\.fw' drivers/bluetooth/ath3k.c + blobname 'nouveau[/]nv\([0-9a-f][0-9a-f]\|%02x\)\.ctx\(prog\|vals\)' 'drivers/gpu/drm/nouveau/\(nv50_graph\|nouveau_grctx\)\.c' + + # New in 2.6.34 + blobname 'mts_mt9234\(mu\|zba\)\.fw' drivers/usb/serial/ti_usb_3410_5052.c + blobname 'cxgb4[/]t4fw\.bin' 'drivers/\(net/cxgb4/cxgb4_main\.c\|scsi/csiostor/csio_hw\.h\)' + defsnc '[ ]static[ ]const[ ]unsigned[ ]int[ ]reg_ranges\[\][ ]=' drivers/net/cxgb4/cxgb4_main.c + defsnc '[ ]static[ ]const[ ]unsigned[ ]int[ ]avg_pkts\[NCCTRL_WIN\][ ]=' drivers/net/cxgb4/t4_hw.c + # above in -rc5 + defsnc 'static[ ]u32[ ]epll_div\[\]\[5\][ ]=' arch/arm/mach-s5p6440/clock.c + accept '[ ]aru->firmware[ ]=[ ]fw[;]' drivers/net/wireless/ath/ar9170/usb.c + accept '[ ]err[ ]=[ ]request_firmware[(][&]fw_entry,[ ]["]broadsheet\.wbf["],[ ]dev[)][;]' drivers/video/broadsheetfb.c + # above in -rc2, below in -rc1 + accept '\(#[ ]\)\?\(Usage:[ ]cxacru-cf\.py[ ][<]\|Warning:\|Note:[ ]support[ ]for\)[ ]cxacru-cf\.bin' 'Documentation/networking/cxacru\(-cf\.py\|\.txt\)' + defsnc 'static[ ]struct[ ]cdce_reg[ ]cdce_y1_27000\[\][ ]=' arch/arm/mach-davinci/cdce949.c + defsnc '[ ]u16[ ]map\[\][ ]=' drivers/hwmon/asc7621.c + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]az6027_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/az6027.c + blobname 'dvb-usb-az6027-03\.fw' drivers/media/dvb/dvb-usb/az6027.c + accept '[ ]p7500->firmware[ ]=' drivers/media/dvb/dvb-usb/dw2102.c + blobname 'dvb-usb-p7500\.fw' drivers/media/dvb/dvb-usb/dw2102.c + defsnc 'static[ ]u8[ ]ITUDecoderSetup\[4\]\[16\][ ]=' drivers/media/dvb/ngene/ngene-core.c + blobname 'ngene_1[5678]\.fw' drivers/media/dvb/ngene/ngene-core.c + blobname 'sms1xxx-hcw-55xxx-i\?sdbt-02\.fw' drivers/media/dvb/siano/sms-cards.c + defsnc 'static[ ]\(const[ ]\)\?u8[ ]samsung_smt_7020_inittab\[\][ ]=' drivers/media/video/cx88/cx88-dvb.c + defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init\(_2\)\?\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c + defsnc 'static[ ]const[ ]u8[ ]bridge_start_\([qs]\?v\|x\)ga\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c + defsnc '[ ]struct[ ]init_command[ ]\(spy\|cif\|ms350\|genius\|vivitar\)_start_commands\[\][ ]=' drivers/media/video/gspca/sn9c2028.c + defsnc 'static[ ]const[ ]u8[ ]n4_lt168g\[\][ ]=' drivers/media/video/gspca/t613.c + initc 'static[ ]const[ ]\(__\)\?u8[ ]\(mi\(0360\|13[12]0\)\|po\(1200\|3130\)\|hv7131r\|ov76[67]0\)_\(\(soc\)\?_\?[iI]nit\(Q\?V\|SX\)GA\(_\(JPG\|data\)\)\?\|rundata\)\[\]\[4\][ ]=\([ ][{][*][/][;]\)\?' drivers/media/video/gspca/vc032x.c + defsnc '[ ]static[ ]const[ ]u8[ ]gamma_tb\[6\]\[16\][ ]=' drivers/media/video/gspca/zc3xx.c + blobname 'tlg2300_firmware\.bin' drivers/media/video/tlg2300/pd-main.c + defsnc '[ ]u8[ ]pattern\[42\][ ]=' drivers/net/ksz884x.c + defsnc '\(static[ ]\)\?const[ ]u8[ ]b43_ntab_framelookup\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'const[ ]u32[ ]\(b43_ntab_tx_gain_rev\(0_1_2\|3plus_2ghz\|\([34]\|5plus\)_5ghz\)\|txpwrctrl_tx_gain_ipa\(_\(rev\)\?[56]g\?\)\?\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'const[ ]u16[ ]tbl_iqcal_gainparams\[2\]\[9\]\[8\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'const[ ]struct[ ]nphy_txiqcal_ladder[ ]ladder_\(lo\|iq\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'const[ ]u16[ ]loscale\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + blobname 'isl38\(86\|87\|90\)\(pci\|usb\(_bare\)\?\)\?' 'drivers/net/wireless/p54/p54\(pci\.c\|usb\.[ch]\)' + defsnc 'static[ ]struct[ ]conf_drv_settings[ ]default_conf[ ]=[ ][{][*][/][;]' drivers/net/wireless/wl12xx/wl1271_main.c + defsnc '[ ][}][ ]grtpkts\[\][ ]=' drivers/staging/mimio/mimio.c + blobname 'rt\(28[67]0\|30[79][01]\)\.bin' drivers/staging/rt2860/common/rtmp_mcu.c + accept '[ ]adapter->firmware[ ]=[ ]fw[;]' drivers/staging/rt2860/common/rtmp_mcu.c + blobna '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*RTL8192SU[/]rtl8192sfw\.bin[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/staging/rtl8192su/r8192S_firmware.c + accept 'MODULE_FIRMWARE[(]["]keyspan_pda[/]\(keyspan_pda\|xircom_pgs\)\.fw["][)][;]' drivers/usb/serial/keyspan_pda.c + # It's not clear that wm2000_anc.bin is pure data. + # Check with developer, clean up for now. + blobname 'wm2000_anc\.bin' sound/soc/codecs/wm2000.c + blob '[ ][*][ ]The[ ]download[ ]image[ ]for[ ]the[ ]WM2000[^*]*\([*]\+[^/*][^*]*\)*[*]*[<][ ]file[^*\n]*[\n][ ][*][/]' sound/soc/codecs/wm2000.c + # accept '[ ][*][ ].wm2000_anc\.bin.[ ]by[ ]default' sound/soc/codecs/wm2000.c + # accept '[ ][*][ ]*[<][ ]file[ ]\+[>]wm2000_anc\.bin' sound/soc/codecs/wm2000.c + # accept '[ ]filename[ ]=[ ]["]wm2000_anc\.bin["][;]' sound/soc/codecs/wm2000.c + defsnc '[}][ ]\(clk_sys_ratios\|bclk_divs\)\[\][ ]=' 'sound/soc/wm890[34]\.c' + defsnc '[}][ ]clock_cfgs\[\][ ]=' sound/soc/codecs/wm8955.c + blobname 'siu_spb\.bin' sound/soc/sh/siu_dai.c + defsnc 'static[ ]const[ ]u8[ ]poxxxx_\(init\(_common\|Q\?VGA\|_end_1\|_start_3\)\|gamma\)\[\]\[4\][ ]=' drivers/media/video/gspca/vc032x.c + defsnc 'crb_128M_2M_map\[64\][ ]__cacheline_aligned_in_smp[ ]=' 'drivers/net/\(netxen/netxen_nic_hw.c\|qlcnic/qlcnic_hw.c\)' + + # New in 2.6.35 + defsnc 'static[ ]const[ ]u8[ ]gsm_fcs8\[256\][ ]=' drivers/char/n_gsm.c + defsnc 'static[ ]u8[ ]\(reset_atetm\|atetm_[12]port\|portsel_\(port[12]\|2port\)\)\[BIT2BYTE[(]LEN_\(ETM\|PORT_SEL\)[)]\][ ]=' drivers/infiniband/hw/qib/qib_iba7322.c + blobname 'qlogic[/]sd7220[.]fw' drivers/infiniband/hw/qib/qib_sd7220.c + defsnc '[}][ ]est3_modes\[\][ ]=' drivers/gpu/drm/drm_edid.c + defsnc 'static[ ]struct[ ]v_table[ ]v_table\[\][ ]=' drivers/gpu/drm/i915/i915_dma.c + blobname 'orinoco_ezusb_fw' drivers/net/wireless/orinoco/orinoco_usb.c + defsc 'static[ ]const[ ]struct[ ]ar9300_eeprom[ ]ar9300_default[ ]=' drivers/net/wireless/ath/ath9k/ar9003_eeprom.c + accept '[ ]hif_dev->firmware[ ]=[ ]NULL[;]' drivers/net/wireless/ath/ath9k/hif_usb.c + defsnc 'static[ ]const[ ]u32[ ]ar9300_2p[02]_\(radio\|mac\|baseband\)_postamble\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h' + defsnc 'static[ ]const[ ]u32[ ]ar9300Modes_\(\(low\(est\)\?\|high\)_ob_db\|high_power\)_tx_gain_table_2p[02]\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h' + defsnc 'static[ ]const[ ]u32[ ]ar9\(300\|200_merlin\)_2p[02]_\(radio\|mac\|baseband\)_core\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h' + defsnc 'static[ ]const[ ]u32[ ]ar9300Common_\(wo_xlna_\)\?rx_gain_table_\(merlin_\)\?2p[02]\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h' + defsnc 'static[ ]const[ ]u32[ ]ar928\(5Modes_XE2\|7Modes_9287_1\)_0_\(normal\|high\)_power\[\]\[6\][ ]=' drivers/net/wireless/ath/ath9k/ar9002_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar92\(87Common_9287_1_[01]\|71Common_9271\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9002_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar92\(87\|71\)Modes_\(\(normal\|high\)_power_\)\?\([tr]x_gain_\)\?92\(87_1_[01]\|71\(_ANI_reg\)\?\)\[\]\[6\][ ]=' drivers/net/wireless/ath/ath9k/ar9002_initvals.h + defsnc 'static[ ]int[ ]ath_max_4ms_framelen\[4\]\[32\][ ]=' drivers/net/wireless/ath/ath9k/xmit.c + defsnc 'static[ ]const[ ]u8[ ]\(gc0307\|po2030n\|soi768\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c + defsnc '\(static[ ]\)\?struct[ ]crb_128M_2M_block_map[ ]crb_128M_2M_map\[64\][ ]=' 'drivers/scsi/\(qla2xxx/qla_nx\.c\|qla4xxx/ql4_nx\.c\)' + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]BUCK[123]_\(suspend_\)\?table\[\][ ]=' drivers/regulator/88pm8607.c + defsnc '[ ]*static[ ]const[ ]char[ ]sha256_zero\[SHA256_DIGEST_SIZE\][ ]=' drivers/crypto/n2_core.c + defsnc '[}][ ]XGI\(fb_vrate\|_TV_filter\)\[\][ ]=' drivers/staging/xgifb/XGI_main.h + defsnc '\(static[ ]\)\?\(USHORT\|unsigned[ ]short\)[ ]XGINew_\(MD\|[CEV]G\)A_DAC\[\][ ]*=' drivers/staging/xgifb/vb_setmode.c + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?XGI_[ME]CLKData\(Struct\)\?[ ]XGI\(3[34]0\|27\)\(New\)\?_[ME]CLKData\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI340_CR6[BE]\[8\]\[4\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI340_CR6F\[8\]\[32\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI330\(New\)\?_SR15\(_1\)\?\[8\]\[8\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI330_cr40_1\[15\]\[8\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?XGI_StStruct[ ]XGI330_SModeIDTable\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?XGI_ExtStruct[ ][ ]\?XGI330_EModeIDTable\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?\(XGI\|SiS\)_StandTable\(Struct\|_S\)[ ]XGI330_StandTable\(\[\]\)\?[ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\([/][*]\)\?\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?\(XGI330\|SiS\)_LCDData\(Struct\)\?[ ][ ]\?XGI_\(\(St2\?\|Ext\)LCD\(1024x768\|1280x1024\)\|NoScaling\)Data\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(struct[ ]\)\?XGI330_TVDataStruct[ ][ ]XGI_\(St\|Ext\)\(PAL\|NTSC\|YPbPr\(525[ip]\|750p\)\)Data\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI330_\(NTSC\|PAL\|HiTV\(Ext\|St[12]\|Text\)\|YPbPr\(750p\|525[ip]\)\)Timing\[\][ ][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI330_HiTVGroup3\(Data\|Simu\|Text\)\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI330_Ren\(525\|750\)pGroup3\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(struct[ ]\)\?XGI_PanelDelayTblStruct[ ]XGI330_PanelDelayTbl\[\]' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?\(XGI330\|SiS\)_LVDSData\(Struct\)\?[ ][ ]\?XGI\(330\)\?_LVDS\(320x480\|800x600\|1024x768\|1280x\(1024\|768[NS]\?\)\|1400x1050\|640x480\)Data_[12]\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(struct[ ]\)\?XGI_LVDSCRT1DataStruct[ ][ ]XGI_CHTVCRT1[UO]\(NTSC\|PAL\)\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?XGI_ModeResInfo\(Struct\|_S\)[ ]XGI330_ModeResInfo\[\][ ]*=' drivers/staging/xgifb/vb_table.h + defsnc '\(static[ ]\)\?\(USHORT\|unsigned[ ]short\)[ ]XGINew_DRAMType\[17\]\[5\][ ]*=' 'drivers/staging/xgifb/\(vb_table\.h\|vb_init\.c\)' + defsnc '\(static[ ]\)\?\(USHORT\|unsigned[ ]short\)[ ]XGINew_SDRDRAM_TYPE\[13\]\[5\][ ]*=' 'drivers/staging/xgifb/\(vb_table\.h\|vb_init\.c\)' + defsnc '\(static[ ]\)\?\(USHORT\|unsigned[ ]short\)[ ]XGINew_DDRDRAM_TYPE20\[12\]\[5\][ ]*=' 'drivers/staging/xgifb/\(vb_table\.h\|vb_init\.c\)' + blobname 'TIInit_\(\(%d\|[0-9]\+\)[.]\)\+bts' drivers/staging/ti-st/st_kim.c + defsnc 'static[ ]int16[ ]mdp_scale_\(pixel_repeat\|0p[2468]_to_[08]p[0468]\)_C[0123]\[MDP_SCALE_COEFF_NUM\][ ]=' drivers/staging/msm/mdp_ppp_v31.c + # qseed_table2 is kind of suspicious, but there's some regularity + # to it that makes me think it's just data. + defsnc 'static[ ]uint32[ ]vg_qseed_table2\[\][ ]=' drivers/staging/msm/mdp4_util.c + defsnc 'char[ ]gc_lut\[\][ ]=' drivers/staging/msm/mdp4_util.c + defsnc 'uint32[ ]igc_\(video\|rgb\)_lut\[\][ ]=' drivers/staging/msm/mdp4_util.c + defsnc 'static[ ]word[ ]convert_8_to_16_tbl\[256\][ ]=' drivers/staging/msm/ebi2_tmd20.c + defsnc 'static[ ]struct[ ]sharp_spi_data[ ]init_sequence\[\][ ]=' drivers/staging/msm/lcdc_sharp_wvga_pt.c + blobname 'xc3028L\?-v[0-9]\+\.fw' drivers/staging/tm6000/tm6000-cards.c + defsnc 'static[ ]const[ ]struct[ ]chs_entry[ ]chs_table\[\][ ]=' drivers/mtd/sm_ftl.c + blobname 'asihpi[/]dsp\(%04x\|[0-9a-f][0-9a-f][0-9a-f][0-9a-f]\)\.bin' sound/pci/asihpi/hpidspcd.c + defsnc 'static[ ]unsigned[ ]long[ ]ident_map\[32\][ ]=' kernel/exec_domain.c + defsnc 'static[ ]u32[ ]epll_div\[\]\[4\][ ]=' arch/arm/mach-s5pc100/clock.c + blobname 'iwlwifi-6000g2[ab]-' drivers/net/iwlwifi/iwl-6000.c + blobna '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*[(]f2255usb\.bin[)][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/media/video/s2255drv.c + + # New in 2.6.36: + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]qi_lb60_ecclayout_[12]gb[ ]=' arch/mips/jz4740/board-qi_lb60.c + blobname 'qt602240\.fw' drivers/input/touchscreen/qt602240_ts.c + blobname 'lgs8g75\.fw' drivers/media/dvb/frontends/lgs8gxx.c + defsnc 'static[ ]const[ ]struct[ ]ucbus_write_cmd[ ]\(icx098bq\|lz24bp\)_start_[012]\[\][ ]=' drivers/media/video/gspca/sq930x.c + defsnc '[}][ ]capconfig\[4\]\[2\][ ]=' drivers/media/video/gspca/sq930x.c + defsnc 'static[ ]u8[ ]sa2400_rf_rssi_map\[\][ ]=' drivers/net/wireless/rtl818x/rtl8180_sa2400.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]pwm_lookup_table\[256\][ ]=' drivers/platform/x86/compal-laptop.c + defsnc 'static[ ]int[ ]tps6586x_\(ldo4\|sm2\|dvm\)_voltages\[\][ ]=' drivers/regulator/tps6586x-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]muxonechan\[\][ ]=' drivers/staging/comedi/drivers/adv_pci1710.c + defsnc 'int[ ]tones\[2048\][ ]=' drivers/staging/easycap/easycap_testcard.c + defsnc 'const[ ]unsigned[ ]char[ ]map_table\[\][ ]=' drivers/staging/lirc/lirc_ttusbir.c + defsnc 'static[ ]unsigned[ ]char[ ]jpeg_header\[\][ ]=' drivers/staging/solo6x10/solo6010-jpeg.h + defsc 'static[ ]const[ ]unsigned[ ]int[ ]solo_osd_font\[\][ ]=' drivers/staging/solo6x10/solo6010-osd-font.h + defsnc '[ ]unsigned[ ]char[ ]regs\[128\][ ]=' drivers/staging/solo6x10/solo6010-tw28.c + defsnc 'static[ ]unsigned[ ]char[ ]vid_vop_header\[\][ ]=' drivers/staging/solo6x10/solo6010-v4l2-enc.c + defsnc 'static[ ]const[ ]u16[ ]rop_\(map1\|action\|info\)\[\][ ]=' drivers/staging/tidspbridge/dynload/reloc_table_c6000.c + defsnc 'static[ ]const[ ]u16[ ]tramp_\(map\|action\|info\)\[\][ ]=' drivers/staging/tidspbridge/dynload/tramp_table_c6000.c + defsnc 'unsigned[ ]char[ ]\(sbox\|dot[23]\)_table\[256\][ ]=' drivers/staging/vt6655/aes_ccmp.c + defsnc 'static[ ]struct[ ]pll_map[ ]pll_value\[\][ ]=' drivers/video/via/hw.c + defsnc '[ ][ ]degrade_factor\[CPU_LOAD_IDX_MAX\]\[DEGRADE_SHIFT[ ][+][ ]1\][ ]=' kernel/sched.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]expected_result\[FIFO_SIZE\][ ]=' samples/kfifo/bytestream-example.c + defsnc 'static[ ]const[ ]int[ ]expected_result\[FIFO_SIZE\][ ]=' samples/kfifo/inttype-example.c + blobname 'haup-ir-blaster\.bin' drivers/input/lirc/lirc_zilog.c + + # New in 2.6.37, up to -rc5. + defsnc 'static[ ]u32[ ]epll_div\[\]\[6\][ ]=' arch/arm/mach-s5pv210/clock.c + defsnc 'static[ ]\(const[ ]\)\?struct[ ]titan_gpio_cfg[ ]titan_gpio_table\[\][ ]=' arch/mips/ar7/gpio.c + # GNUtoo found potential sources for these on 2019-12-05, checking. + blobname 'sdma-%s-to%d\.bin' drivers/dma/imx-sdma.c + defsnc '[ ]static[ ]u8[ ]def_regs\[\][ ]=' drivers/media/common/tuners/tda18218.c + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]lme2510c\?_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*\([ ]\.download_firmware[ ]=[ ]lme2510_download_firmware,[\n]\)\?[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/lmedm04.c + blobname 'dvb-usb-lme2510c\?-\(lg\|s7395\)\.fw' drivers/media/dvb/dvb-usb/lmedm04.c + defsnc 'static[ ]u8[ ]s7395_inittab\[\][ ]=' drivers/media/dvb/dvb-usb/lmedm04.h + defsnc 'static[ ]const[ ]u16[ ]rca_initdata\[\]\[3\][ ]=' drivers/media/video/gspca/xirlink_cit.c + blobname 'NXP7164-2010-03-10\.1\.fw' drivers/media/video/saa7164/saa7164-fw.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]fsmc_ecc4_lp_layout[ ]=' drivers/mtd/nand/fsmc_nand.c + defsnc 'static[ ]struct[ ]pxa3xx_nand_timing[ ]timing\[\][ ]=' drivers/mtd/nand/pxa3xx_nand.c + blobname 'ctfw_cna\.bin' drivers/net/bna/cna.h + accept '[#]define[ ]CARL9170FW_NAME[ ]\+["]carl9170-1\.fw["]' drivers/net/wireless/ath/carl9170/carl9170.h + defsnc 'static[ ]struct[ ]carl9170_phy_init[ ]ar5416_phy_init\[\][ ]=' drivers/net/wireless/carl9170/phy.c + defsnc 'static[ ]struct[ ]carl9170_rf_initvals[ ]carl9170_rf_initval\[\][ ]=' drivers/net/wireless/carl9170/phy.c + defsnc 'static[ ]const[ ]struct[ ]carl9170_phy_freq_entry[ ]carl9170_phy_freq_params\[\][ ]=' drivers/net/wireless/carl9170/phy.c + accept 'MODULE_FIRMWARE[(]CARL9170FW_NAME[)][;]' drivers/net/wireless/carl9170/usb.c + accept '[ ]return[ ]request_firmware_nowait[(][^\n]*,[ ]CARL9170FW_NAME,' drivers/net/wireless/carl9170/usb.c + blobname 'iwlwifi-100-' drivers/net/iwlwifi/iwl-1000.c + blobname 'iwlwifi-130-' drivers/net/iwlwifi/iwl-6000.c + blobname 'libertas[/]cf83\(05\|8[15]\)\(_helper\)\?\.bin' drivers/net/wireless/libertas/if_cs.c + blobname 'libertas[/]sd\(8385\|8686\(_v[89]\)\|8688\)\(_helper\)\?\.bin' drivers/net/wireless/libertas/if_sdio.c + blobname 'libertas[/]gspi\(8385\|8686\(_v9\)\?\|8688\)\(_helper\|_hlp\)\?\.bin' drivers/net/wireless/libertas/if_spi.c + blobname 'libertas[/]usb\(8388\(_v[59]\)\?\|8682\)\.bin' drivers/net/wireless/libertas/if_usb.c + accept '[ ][/][*][ ]Try[ ]user-specified[ ]firmware[ ]first[ ][*][/][\n][ ]if[ ][(]fwname[)][\n][ ][ ]return[ ]request_firmware' drivers/net/wireless/libertas/if_usb.c + accept '[ ][ ]ret[ ]=[ ]request_firmware[(]\(helper,[ ]user_helper\|mainfw,[ ]user_mainfw\)' drivers/net/wireless/libertas/main.c + defsnc 'static[ ]const[ ]int[ ]\(ldo5\|buck1\)_voltage_map\[\][ ]=' drivers/regulator/lp3972.c + accept '\([ ][*][ ]\(format\|information\)[^\n]*\|[#]define[ ]REG_DATA_FILE_A\?G[ ]*\)["]\([.][/]\)\?regulatoryData_A\?G\.bin["]' drivers/staging/ath6kl/include/common/regulatory/reg_dbschema.h + blobname 'ath6k[/]AR6003[/]hw[12]\.0[/]\(otp\|athwlan\)\.bin\.z77' drivers/staging/ath6kl/os/linux/include/ar6000_drv.h + blobname 'ath6k[/]AR6003[/]hw[12]\.0[/]\(athtcmd_ram\|device\|data\.patch\|endpointping\|bdata\.\(SD3[12]\|WB31\|CUSTOM\)\)\.bin' drivers/staging/ath6kl/os/linux/include/ar6000_drv.h + defsnc 'static[ ]DDR_SET_NODE[ ]asT3\(LP\)\?B\?_DDRSetting\(80\|100\|133\|160\)MHz\[\][ ]\?=' drivers/staging/bcm/DDRInit.c + blobname '\([/]lib[/]firmware[/]\)\?macxvi200\.bin' drivers/staging/bcm/Macros.h + accept '-[ ]On-chip[ ]firmware[ ]loaded[ ]using[ ]standard[ ]request_firmware[(][)]' 'drivers/staging/brcm80211\(/brcmfmac\)\?/README' + blobname 'brcm[/]bcm43xx\(_hdr\)\?-0[-0-9]*\.fw' 'drivers/\(staging\|net/wireless\)/brcm80211/README' + blobname 'brcm[/]bcm4329-fullmac-4[-0-9]*\.\(bin\|txt\)' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmfmac/README' + blob 'Firmware[ ]installation[\n]=\+\([\n]\+[^\n=][^\n]*\)\+\([/]lib[/]firmware[/]brcm\|\.fw\)[^\n]*\([\n][^\n=][^\n]*\)*\([\n][\n][^=\n][^\n]*[\n][^=\n][^\n]*\([\n][^\n=][^\n]*\)*\)*' 'drivers/staging/brcm80211\(/brcmfmac\)\?/README' + defsnc '[ ]u16[ ]nrate_list\[4\]\[8\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmfmac/wl_iw\.c' + defsnc 'static[ ]chan_info_basic_t[ ]chan_info_all\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/phy/wlc_phy_cmn\.c' + defsnc 'u16[ ]ltrn_list\[PHY_LTRN_LIST_LEN\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_cmn\.c\|brcmsmac/phy/phy_cmn\.c\)' + defsnc 's8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_cmn\.c\|brcmsmac/phy/phy_cmn\.c\)' + defsnc 'lcnphy_rx_iqcomp_t[ ]lcnphy_rx_iqcomp_table_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc 'static[ ]const[ ]u32[ ]lcnphy_23bitgaincode_table\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_table\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_index_offset_for_rssi\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc 'static[ ]chan_info_2064_lcnphy_t[ ]chan_info_2064_lcnphy\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc 'lcnphy_radio_regs_t[ ]lcnphy_radio_regs_2064\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc '\(static[ ]const[ ]\)\?s8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)' + defsnc '\(static[ ]const[ ]\)\?u16[ \n]*LCNPHY_txdigfiltcoeffs_\(cck\|ofdm\)\[LCNPHY_NUM_TX_DIG_FILTERS_\(CCK\|OFDM\)\][\n ]*\[LCNPHY_NUM_DIG_FILT_COEFFS[ ][+][ ]1\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c' + defsnc '\(static[ ]const[ ]\)\?nphy_ipa_txrxgain_t[ ]nphy_ipa_rxcal_gaintbl_2GHz\(_rev7\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc 'static[ ]\(const[ ]\)\?chan_info_nphy_\(radio\)\?205[5x7]\(_rev5\)\?_t[ ]chan_info_nphy\(rev[3-9]\(n6\)\?\)\?_205[5-7]\(_A1\|v\([5-8]\|11\)\|_rev[4-8]\(v1\)\?\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc '\(static[ ]\)\?radio_\(20xx_\)\?regs_t[ ]regs_\(SYN_\|[RT]X_\)\?205[5-7]\(_A1\|_rev\([4-8]\|11\)\(v1\)\?\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc 'static[ ]const[ ]u16[ ]tbl_iqcal_gainparams_nphy\[2\]\[NPHY_IQCAL_NUMGAINS\]\[8\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc 'static[ ]\(const[ ]\)\?u32[ ]nphy_tpc_\(5GHz_\)\?txgain\(_[ei]pa\)\?\(\(_[25]g\)\?\(_\(2057\)\?\(rev\([3-7]\|4n6\)\?\)\?\)\?\|_HiPwrEPA\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc 'static[ ]const[ ]u16[ ]nphy_tpc_loscale\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc 'static[ ]\(const[ ]\)\?u8[ ]pad_all_gain_codes_2057\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc 'static[ ]\(const[ ]\)\?u32[ ]nphy_papd_scaltbl\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc '[ ]s32[ ]poll_results\[8\]\[4\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc '[ ]nphy_txiqcal_ladder_t[ ]ladder_\(lo\|iq\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]dot11lcn_gain_\(idx_\|val_\)\?tbl_\(rev[01]\|\(extlna_\)\?2G\|5G\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_aux_gain_idx_tbl_\(rev0\|\(extlna_\)\?2G\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]dot11lcn_aux_gain_idx_tbl_5G\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u8[ ]dot11lcn_gain_val_tbl_\(rev0\|\(extlna_\)\?2G\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_\(min_sig_sq\|noise_scale\)_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_sw_ctrl_tbl_\(4313_\)\?\(bt_\)\?\(epa_\)\?\(p250_\)\?rev0\(_combo\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u8[ ]dot11lcn_spur_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_\(unsup_mcs\|iq_local\)_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]lcnphy_tx_gain_tbl_entry[ ]dot11lcnphy_[25]GHz_\(extPA_\)\?gaintable_rev0\[128\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]dot11lcn_papd_compdelta_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]frame_struct_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u8[ ]frame_lut_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]\(tmap\|tdtrn\)_tbl_rev[037]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]pilot_tbl_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]tdi_tbl[24]0_ant[01]_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]chanest_tbl_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u8[ ]mcs_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]noise_var_tbl[01]\?_rev[037]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u8[ ]\(est\|adj\)_pwr_lut_core[01]_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]\(gainctrl\|iq\)_lut_core[01]_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]loft_lut_core[01]_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]ant_swctrl_tbl_rev3\(_[1-3]\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]mcs_tbl_rev3\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u16[ ]papd_comp_rfpwr_tbl_core[01]_rev3\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + defsnc '\(static[ ]\)\?const[ ]u32[ ]papd_\(comp_epsilon\|cal_scalars\)_tbl_core[01]_rev[37]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)' + blobname 'brcm[/]bcm43xx' 'drivers/\(staging\|net/wireless\)/brcm80211/sys/wl_mac80211\.c' + blobname '%s\(_hdr\)\?-%d\.fw' 'drivers/\(staging\|net/wireless\)/brcm80211/sys/wl_mac80211\.c' + defsnc 'static[ ]const[ ]u8[ ]crc8_table\[256\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(util/bcmutils\.c\|brcmutil/utils\.c\)' + defsnc 'static[ ]const[ ]u16[ ]crc16_table\[256\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(util/bcmutils\.c\|brcmutil/utils\.c\)' + defsnc 'static[ ]const[ ]u32[ ]crc32_table\[256\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(util/bcmutils\.c\|brcmutil/utils\.c\)' + defsnc 'static[ ]const[ ]pmu0_xtaltab0_t[ ]pmu0_xtaltab0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/util/hndpmu\.c' + defsnc 'static[ ]const[ ]pmu1_xtaltab0_t[ ]pmu1_xtaltab0\(_880\(_4329\)\?\|_1760\|_1440\|_960\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/util/hndpmu\.c' + defsnc 'static[ ]const[ ]s16[ ]log_table\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(util/qmath\.c\|brcmsmac/phy/phy_qmath\.c\)' + blobname 'ft[12]000\.img' drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c + blobname 'ft3000\.img' drivers/staging/ft1000/ft1000-usb/ft1000_usb.c + defsnc '[ ][ ][ ][ ]u8[ ]ConnectionMsg\[\][ ]=' drivers/staging/ft1000/ft1000-usb/ft1000_chdev.c + blobname 'fw_sst_0\(80a\|82f\)\.bin' drivers/staging/intel_sst/intel_sst_common.h + # This appends a .bin extension, but without loading the firmware + # above, it will never arise, so leave it alone for now. + accept '[ ]len[ ][+]=[ ]snprintf[(]buf[ ][+][ ]len[,][ ]sizeof[(]buf[)][ ]-[ ]len,[ ]["][.]bin["][)][;]' drivers/staging/intel_sst/intel_sst_dsp.c + defsnc '[ ]struct[ ]sc_reg_access[ ]\(sc_acces[,][ ]\)\?sc_access\[\][ ]=' 'drivers/staging/intel_sst/intelmid_v[012]_control\.c' + defsnc '[ ]BYTE[ ]data_ptr\[36\][ ]=' 'drivers/staging/keucr/\(ms\|s[dm]\)scsi\.c' + defsnc 'static[ ]BYTE[ ]ecctable\[256\][ ]=' drivers/staging/keucr/smilecc.c + defsnc 'static[ ]u8[ ]MAC_REG_TABLE\[\]\[2\][ ]=' drivers/staging/rtl8187se/r8185b_init.c + defsnc 'static[ ]u8[ ][ ]*ZEBRA_AGC\[\][ ]=' drivers/staging/rtl8187se/r8185b_init.c + defsnc 'static[ ]u32[ ]ZEBRA_RF_RX_GAIN_TABLE\[\][ ]=' drivers/staging/rtl8187se/r8185b_init.c + blob 'static[ ]const[ ]unsigned[ ]char[ ]f_array\[122328\][ ]=[ ][{]'"$sepx$blobpat*"',[\n][}][;]' drivers/staging/rtl8712/farray.h + blob 'static[ ]u32[ ]rtl871x_open_fw[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*f_array[^\n]*\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' drivers/staging/rtl8712/hal_init.c + defsnc 'static[ ]const[ ]long[ ]frequency_list\[\][ ]=' drivers/staging/rtl8712/rtl871x_ioctl_linux.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]Sbox1\[2\]\[256\][ ]=' drivers/staging/rtl8712/rtl871x_security.c + defsnc 'static[ ]const[ ]u8[ ]sbox_table\[256\][ ]=' drivers/staging/rtl8712/rtl871x_security.c + accept '[ ]119,[ ]62,[ ]6,[\n][ ]0,[ ]16,[ ]20,[ ]17,[ ]32,[ ]48,[ ]0,\([\n][ ][0-9]\+,\([ ][0-9]\+,\)*\)*[\n][ ]0,[ ]119' drivers/staging/speakup/speakupmap.h + defsnc 'static[ ]u32[ ]\(h_prescale\|v_gain\)\[64\][ ]=' drivers/staging/stradis/stradis.c + accept '[/][*][ ]*\([ 1-4][0-9][ ][ ]\)*\(5[0-6][ ][ ]\)*[*][/]' drivers/staging/vt6656/channel.c + blobname 'west[ ]bridge[ ]fw' drivers/staging/westbridge/astoria/device/cyasdevice.c + defsnc 'static[ ]const[ ]u8[ ]gsm_fcs8\[256\][ ]=' drivers/tty/n_gsm.c + defsnc '[ ]static[ ]const[ ]struct[ ]dispc_v_coef[ ]coef_v\(up\|down\)_3tap\[8\][ ]=' drivers/video/omap2/dss/dispc.c + blobname 'c[bt]fw_\(fc\|cna\)\.bin' drivers/scsi/bfa/bfad_im.h + + # New in 2.6.38 + blobname '%s%04x%s["][,][ ]["]fw_sst_["][,][ \n]*sst_drv_ctx->pci_id[,][ ]["]\.bin' drivers/staging/intel_sst/intel_sst_common.h + accept '[ ]*[*][ ]*0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1' 'arch/x86/crypto/aesni-intel_asm\.S\|net/l2tp/l2tp_ip6\.c' + defsnc 'static[ ]struct[ ]aead_testvec[ ]\(aes_gcm_rfc4106\)_\(enc\|dec\)_tv_template\[\][ ]=' 'crypto/testmgr.h' + blobname '\(sep[/]\)\?extapp\.image\.bin' drivers/staging/sep/sep_driver.c + blobname 'radeon[/]\(BARTS\|BTC\|TURKS\|CAICOS\|%s\)_\(pfp\|rlc\|[mc][ec]\)\.bin' 'drivers/gpu/drm/radeon/[ns]i\.c' + defsnc 'static[ ]const[ ]u32[ ]\(barts\|turks\|caicos\)_io_mc_regs\[BTC_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/ni.c + defsnc 'static[ ]int[ ]types\[0x80\][ ]=' drivers/gpu/drm/nouveau/nv50_vram.c + blobname '\(nouveau[/]\)\?fuc4\(09\|1a\)[cd]' drivers/gpu/drm/nouveau/nvc0_graph.c + defsnc '[ ][}][ ]v_table\[\][ ]=' drivers/gpu/drm/i915/i915_dma.c + defsnc '[}][ ]nec_8048_init_seq\[\][ ]=' drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c + defsnc 'static[ ]const[ ]int[ ]mc13892_sw1\?\[\][ ]=' drivers/regulator/mc13892-regulator.c + defsnc 'static[ ]const[ ]int[ ]dcdc[12]_voltages\[\][ ]=' drivers/regulator/tps6524x-regulator.c + defsnc '[ ]\(static[ ]const[ ]\)\?u8[ ]init_hash_seed\[\][ ]=' drivers/net/qlge/qlge_main.c + blobname 'vxge[/]X3fw\(-pxe\)\?\.ncf' drivers/net/vxge/vxge-main.c + defsnc '[ ][ ]\(static[ ]const[ ]\)\?int[ ]poly\[\]=' drivers/net/pcmcia/nmclan_cs.c + defsnc 'static[ ]\(const[ ]\)\?int[ ]fifo_map\[\]\[MAX_TX_FIFOS\][ ]=' drivers/net/s2io.h + defsnc 'static[ ]const[ ]struct[ ]efuse_map[ ]RTL8712_SDIO_EFUSE_TABLE\[\][ ]=' drivers/net/wireless/rtlwifi/efuse.c + defsnc 'static[ ]const[ ]u32[ ]ofdmswing_table\[OFDM_TABLE_SIZE\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/dm.c + defsnc 'static[ ]const[ ]u8[ ]cckswing_table_ch\(1ch13\|14\)\[CCK_TABLE_SIZE\]\[8\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/dm.c + blobname 'rtlwifi[/]rtl8192cfw\.bin' drivers/net/wireless/rtlwifi/rtl8192ce/sw.c + # This looks like pure data. + defsnc 'static[ ]u8[ ]reserved_page_packet\[TOTAL_RESERVED_PKT_LEN\][ ]=' 'drivers/net/wireless/rtlwifi/rtl8192[cd]e/fw.c' + defsnc 'u32[ ]RTL8192CE\(PHY_REG\|_\?RADIO[AB]\|MAC\|AGCTAB\)_\([21]T_\?ARRAY\|ARRAY_PG\)\[\(PHY_REG\|RADIO[AB]\|MAC\|AGCTAB\)_\([21]T_\?ARRAY_\?\|ARRAY_PG\)LENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/table.c + defsc 'static[ ]const[ ]struct[ ]ar9300_eeprom[ ]ar9300_[hx]11[236][ ]=' drivers/net/wireless/ath/ath9k/ar9003_eeprom.c + defsnc 'static[ ]const[ ]struct[ ]b43_nphy_channeltab_entry_rev3[ ]b43_nphy_channeltab_rev\([34568]\|7_9\)\[\][ ]=' drivers/net/wireless/b43/radio_2056.c + blobname '["]softing-4[.]6[/]["]' drivers/net/can/softing/softing_platform.h + blobname '\(softing-4[.]6[/]\)\?\(\(b\|ld\)card2\?\|can\(card\|sja\|crd2\)\)\.bin' drivers/net/can/softing/softing_cs.c + blobna 'which[ ]you[ ]can[ ]get[ ]at[\n][ ][ ][ ]http:[/][/][^\n]*[/]socketcan[/][\n][^-]*firmware[ ]version' drivers/net/can/softing/Kconfig + defsnc 'static[ ]struct[ ]regdata[ ]mb86a20s_init\[\][ ]=' drivers/media/dvb/frontends/mb86a20s.c + defsnc 'static[ ]struct[ ]regdata[ ]s921_init\[\][ ]=' drivers/media/dvb/frontends/s921.c + defsnc 'static[ ]const[ ]struct[ ]regval_list[ ]ov2640_init_regs\[\][ ]=' drivers/media/video/ov2640.c + defsnc 'static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]norm_7660\[\][ ]=' drivers/media/video/ov519.c + defsnc '[ ]static[ ]const[ ]struct[ ]ov_regvals[ ]bridge_ov7660\[2\]\[10\][ ]=' drivers/media/video/gspca/ov519.c + defsnc '[ ]static[ ]const[ ]u8[ ]fr_tb\[2\]\[6\]\[3\][ ]=' drivers/media/video/gspca/ov519.c + defsnc '[ ]static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]\(brit\|contrast\|colors\)_7660\[\]\[\(6\|7\|31\)\][ ]=' drivers/media/video/gspca/ov519.c + blobname 'radio-wl1273-fw\.bin' drivers/media/radio/radio-wl1273.c + defsnc '[}][ ]scrubrates\[\][ ]=' drivers/edac/amd64_edac.c + defsnc '[ ]static[ ]const[ ]uint8_t[ ]branch_table\[32\][ ]=' lib/xz/xz_dec_bcj.c + defsnc 'static[ ]const[ ]struct[ ]_pll_div[ ]codec_master_pll_div\[\][ ]=' sound/soc/codecs/alc5623.c + defsnc '[}][ ]coeff_div\[\][ ]=' sound/soc/codecs/wm8737.c + blobname 'rpm_firmware\(_rev11\)\?\.bin' sound/pci/rme9652/hdsp.c + blobname 'mwl8k[/]fmimage_8366_ap-["][ ][#]api[ ]["]\.fw' drivers/net/wireless/mwl8k.c + blobname 'rtl_nic[/]rtl8168d-[12]\.fw' drivers/net/r8169.c + # New in 2.6.38.4 + defsnc '[ ]static[ ]DEFINE_TEST_\(OK\|FAIL\)[(][^)]*[)][ ]=' lib/test-kstrtox.c + + # New in 2.6.39 + blobna 'printk[(]KERN_ERR[ ]["]r8712u:[ ]Install[^\n"]*firmware[\\]n["][)][;]' drivers/staging/rtl8712/hal_init.c + defsnc 'static[ ]const[ ]struct[ ]phy_reg[ ]exynos4_sataphy_\(cmu\|\(com\)\?lane\)\[\][ ]=' arch/arm/mach-exynos4/dev-ahci.c + defsnc 'static[ ]struct[ ]clk_pll_\(freq_\)\?table[ ]tegra_pll_[adpxm]_\(freq_\)\?table\[\][ ]=' arch/arm/mach-tegra/tegra2_clocks.c + initnc '\.irp[ ]idx' arch/x86/include/asm/entry_arch.h + initnc '\.irp[ ]idx' arch/x86/kernel/entry_64.S + defsnc 'static[ ]const[ ]u8[ ]types\[256\][ ]=' drivers/gpu/drm/nouveau/nvc0_vram.c + defsnc 'static[ ]__u8[ ]keytouch_fixed_rdesc\[\][ ]=' drivers/hid/hid-keytouch.c + blobname 'dib9090\.fw' drivers/media/dvb/dvb-usb/dib0700_devices.c + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(dw\(210[24]\|3101\)\|s6[3x]0\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\|size_of_priv\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dw2102.c + accept '[ ]\(p1100\|s660\)->firmware[ ]=' drivers/media/dvb/dvb-usb/dw2102.c + blobname 'dvb-usb-\(p1100\|s660\)\.fw' drivers/media/dvb/dvb-usb/dw2102.c + blobname 'dvb-usb-lme2510c\?-s0194\.fw' drivers/media/dvb/dvb-usb/lmedm04.c + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]technisat_usb2_devices[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\|identify_state\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/technisat-usb2.c + blobname 'dvb-usb-SkyStar_USB_HD_FW_v17_63\.HEX\.fw' drivers/media/dvb/dvb-usb/technisat-usb2.c + defsnc 'static[ ]const[ ]struct[ ]dib0090_pll[ ]dib0090_\(p1g_\)\?pll_table\[\][ ]=' drivers/media/dvb/frontends/dib0090.c + defsnc '[ ]static[ ]u8[ ]sine[ ]\?\[\][ ]=' drivers/media/dvb/frontends/dib7000p.c + defsnc '\(static[ ]const[ ]\)\?u32[ ]fe_info\[44\][ ]=' drivers/media/dvb/frontends/dib9000.c + blobname 'dvb-netup-altera-01\.fw' drivers/media/video/cx23885/cx23885-cards.c + # These are suspicious, but the regularity suggests data. + defsnc 'static[ ]const[ ]u8[ ]\(nw80[012]\|spacecam2\?\|cvideopro\|dlink\|ds3303\|kr651\|kritter\|mustek\|proscope\|twinkle\|dvcv6\)_start\(_\([12]\|q\?vga\)\)\?\[\][ ]=' drivers/media/video/gspca/nw80x.c + defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init_7\(67\|72\)x\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c + defsnc '[ ]static[ ]u8[ ]color_tb\[\]\[6\][ ]=' drivers/media/video/gspca/ov534.c + defsnc 'static[ ]const[ ]struct[ ]isprsz_coef[ ]filter_coefs[ ]=' drivers/media/video/omap3isp/ispresizer.c + defsnc 'static[ ]const[ ]struct[ ]ov9740_reg[ ]ov9740_defaults\[\][ ]=' drivers/media/video/ov9740.c + defsnc 'static[ ]int[ ]therm_tbl\[\][ ]=' drivers/mfd/twl4030-madc.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]nandv2_hw_eccoob_\(largepage\|4k\)[ ]=' drivers/mtd/nand/mxc_nand.c + defsnc 'static[ ]const[ ]u32[ ]ar9485\(\(C\|_c\)ommon_\(wo_xlna_\)\?rx_gain\)\?_1_[01]\(_\(radio\|baseband\|mac\)_core\)\?\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9485_1_[01]_\(mac\|baseband\)_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9485\(M\|_m\)odes_\(high\|low\|green\)\(est\)\?_\(power\|ob_db\)_tx_gain_1_[01]\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h + defsnc '\(static[ ]\)\?const[ ]u\(8\|16\|32\)[ ]b43_ntab_\(\(adjustpower\|estimatepowerlt\|gainctl\|iqlt\|loftlt\|noisevar1\?\|tdi[24]0a\)[01]\|channelest\|frame\(lookup\|struct\)\|mcs\|pilot\|tdtrn\|tmap\)\(_r3\)\?\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'struct[ ]nphy_gain_ctl_workaround_entry[ ]nphy_gain_ctl_workaround\[2\]\[3\][ ]=' drivers/net/wireless/b43/tables_nphy.c + blobname '\(ti-connectivity[/]\)\?wl1271-\(fw\(-2\|-ap\)\?\|nvs\)\.bin' drivers/net/wireless/wl12xx/wl1271.h + accept '#define\([ ]_\?IWL\(4965\|[156]000\(G2[AB]\)\?\|1[03]0\|5150\|6050\|20[03]\?0\)_MODULE_FIRMWARE[(]api[)]\)\+' 'drivers/net/iwlwifi/iwl-\([1256]000\|4965\)\.c' + blobname 'rtlwifi[/]rtl8192cufw\.bin' drivers/net/wireless/rtlwifi/rtl8192cu.sw + blobname 'rtlwifi[/]rtl8712u\.bin' drivers/staging/rtl8712/hal_init.c + defsnc 'u32[ ]\(RTL\|Rtl\)8192CU\(PHY_REG\|_\?\(RADIO\|Radio\)[AB]\|MAC\|AGCTAB\)_\([21]T\(_HP\)\?_\?\(ARRAY\|Array\)\|\(ARRAY\|Array\)_PG\)\(_HP\)\?\[RTL8192CU\(PHY_REG\|\(RADIO\|Radio\)[AB]\|MAC\|AGCTAB\)_\([21]T\(_HP\)\?_\?\(ARRAY\|Array\)_\?\|\(ARRAY\|Array\)_PG\)\(_HP\)\?\(LENGTH\|Length\)\][ ]=' drivers/net/wireless/rtlwifi/rtl8192cu/table.c + blobname 'rtl_nic[/]rtl8105e-1\.fw' drivers/net/r8169.c + defsnc 'static[ ]const[ ]\(A_INT32\|s32\)[ ]wmi_rateTable\[\]\[2\][ ]=' drivers/staging/ath6kl/wmi/wmi.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]\(stk1160\|saa7113\)config[ ]\([{][^}]*[}][ ]\)\?\(stk1160\|saa7113\)config\(PAL\|NTSC\)\?\[\(256\)\?\][ ]=' drivers/staging/easycap/easycap_low.c + defsnc 'static[ ]const[ ]ccktxbbgain_struct[ ]rtl8192_cck_txbbgain_\(ch14_\)\?table\[\][ ]=' drivers/staging/rtl8192e/r8192E_dm.c + defsnc '[ ]unsigned[ ]char[ ]data_ptr\[36\][ ]=' drivers/usb/storage/ene_ub6250.c + blobname 'ene-ub6250[/]sd_\(init[12]\|rdwr\)\.bin' drivers/usb/storage/ene_ub6250.c + defsnc 'static[ ]const[ ]struct[ ]hdmi_timings[ ]cea_vesa_timings\[OMAP_HDMI_TIMINGS_NB\][ ]=' drivers/video/omap2/dss/hdmi.c + defsnc 'static[ ]struct[ ]pll_config[ ]\(cle266\|k800\|cx700\|vx855\)_pll_config\[\][ ]=' drivers/video/via/hw.c + defsnc 'static[ ]char[ ]channel_map_unity_ss\[HDSPM_MAX_CHANNELS\][ ]=' sound/pci/rme9652/hdspm.c + defsnc 'static[ ]const[ ]u8[ ]log_volume_table\[128\][ ]=' sound/usb/6fire/control.c + defsnc 'static[ ]const[ ]struct[ ][{][^}]*[}][\n]init_data\[\][ ]=' drivers/usb/6fire/control.c + blobname '6fire[/]dmx6fire\(l2\|ap\|cf\)\.\(ihx\|bin\)' sound/usb/6fire/firmware.c + defsnc 'static[ ]const[ ]u8[ ]BIT_REVERSE_TABLE\[256\][ ]=' sound/usb/6fire/firmware.c + initnc '[/][*][\n][ ][*][ ]\(cfa_coef\|gamma\|luma_enhance\|noise_filter\)_table\.h[\n][ ][*]\([^\n]*[\n][ ][*]\)*[/]' 'drivers/media/video/omap3isp/\(cfa_coef\|gamma\|luma_enhance\|noise_filter\)_table\.h' + blobna 'rocess_sigma_firmwar' + defsnc 'int[ ]process_sigma_firmware[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*\(request\|maybe_reject\)_firmware' drivers/firmware/sigma.c + accept 'EXPORT_SYMBOL[(]process_sigma_firmware[)]' drivers/firmware/sigma.c + accept 'extern[ ]int[ ]process_sigma_firmware[(][^)]*[)][;]' include/linux/sigma.h + blobname 'maxtouch\.fw' drivers/input/touchscreen/atmel_mxt_ts.c + blobname 'fm\(c\|_[rt]x\)_ch8\(_[0-9a-f]*\.[0-9]*\.bts\)\?' drivers/media/radio/wl128x/fmdrv_common.h + blobname '%s_%x\.%d\.bts' drivers/media/radio/wl128x/fmdrv_common.c + blobname 'vntwusb\.fw' drivers/staging/vt6656/firmware.c + # New in 3.0. + accept 'resume[/]restore[,][ ]but[ ]they[ ]cannot[ ]do[ ]it[ ]by[ ]calling[ ]request_firmware[(][)]' Documentation/power/notifiers.txt + accept '[ ][ ][ ]interrupts[ ]=[ ]<\([\n][ ][ ][ ][ ]0xe[0-7][ ]0[ ]0[ ]0\)*>[;]' arch/powerpc/boot/dts/p1022ds.dts + accept '[ ][ ][ ][ ]gzip[ ]-n[ ]--force[ ]-9[ ]--stdout[ ]["][$]ofile\.bin["][ ]>[ ]["][$]odir[/]otheros\.bld["]' arch/powerpc/boot/wrapper + defsnc '\(uint32_t\|u32\)[ ]nva3_pcopy_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nva3_copy.fuc.h + defsnc '\(uint32_t\|u32\)[ ]nvc0_pcopy_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvc0_copy.fuc.h + accept '[ ]struct[ ]nvc0_graph_fuc[ ]fuc4\(09\|1a\)[cd]' drivers/gpu/drm/nouveau/nvc0_graph.h + defsnc 'static[ ]const[ ]u8[ ]sht15_crc8_table\[\][ ]=' drivers/hwmon/sht15.c + defsnc 'static[ ]u8[ ]stv0288_bsbe1_d01a_inittab\[\][ ]=' drivers/media/dvb/frontends/bsbe1-d01a.h + defsnc '[ ]struct[ ]reg_val_mask[ ]tab\[\][ ]=' 'drivers/media/dvb/frontends/\(cxd2820r_\(c\|t2\)\|af9033\)\.c' + blobname 'drxd-a2-1\.1\.fw' drivers/media/dvb/frontends/drxd_hard.c + blobname 'drxd-b1-1\.1\.fw' drivers/media/dvb/frontends/drxd_hard.c + blob '[/][*][ ]if[ ][(]\(reject\|request\)_firmware[(][&]state->fw[,][ ]["]drxd\.fw["][,][ ]state->dev[)]<0[)][ ][*][/]' + blobname 'drxd\.fw' drivers/media/dvb/frontends/drxd_hard.c + defsnc '[ ]static[ ]char[ ]init_values\[38\]\[3\][ ]=' drivers/media/video/usbvision/usbvision-core.c + blobna 'www\.elandigitalsys[^\n]*download' drivers/mmc/host/Kconfig + blobname 'vub_\(default\.bin\|%04X%04X\)' drivers/mmc/host/vub300.c + blobna 'snprintf[(]vub300->vub_name[ ][+][^\n]*[,][ ]["]\.bin["][)][;]' drivers/mmc/host/vub300.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]flexonenand_oob_128[ ]=' drivers/mtd/onenand/onenand_base.c + defsnc 'static[ ]const[ ]u32[ ]ar9340Modes_\(\(low\(est\)\?\|high\|mixed\)_ob_db\|high_power\|ub124\)_tx_gain_table_1p0\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9340_1p0_\(radio\|baseband\|mac\)_core\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9340_1p0_\(mac\|baseband\)_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9340Common_\(wo_xlna_\)\?rx_gain_table_1p0\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h + defsnc 'static[ ]u16[ ]mwifiex_data_rates\[MWIFIEX_SUPPORTED_RATES_EXT\][ ]=' drivers/net/wireless/mwifiex/cfp.c + accept '[ ]\.helper[ ][ ]=[ ]NULL[,][\n][ ]*\.firmware' drivers/bluetooth/btmrvl_sdio.c + blobname 'mrvl[/]sd8787_uapsta\(_w1\)\?\.bin' drivers/net/wireless/mwifiex/main.h + blobname 'sd8787\.bin' drivers/net/wireless/mwifiex/sdio.c + blobna 'Copy[ ]sd8787\.bin[ ]to[^.]*[.]' drivers/net/wireless/mwifiex/README + blobname 'rtlwifi[/]rtl8192sefw\.bin' drivers/net/wireless/rtlwifi/rtl8192se/sw.c + defsnc 'u32[ ]rtl8192sephy_reg_2t2rarray\[PHY_REG_2T2RARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192se/table.c + defsnc 'u32[ ]rtl8192sephy_changeto_1t[12]rarray\[PHY_CHANGETO_1T[12]RARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192se/table.c + defsnc 'u32[ ]rtl8192sephy_reg_array_pg\[PHY_REG_ARRAY_PGLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192se/table.c + defsnc 'u32[ ]rtl8192seradioa_1t_array\[RADIOA_1T_ARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192se/table.c + defsnc 'u32[ ]rtl8192semac_2t_array\[MAC_2T_ARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192se/table.c + defsnc 'u32[ ]rtl8192seagctab_array\[AGCTAB_ARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192se/table.c + accept 'Place[ ]isci_firmware\.bin[ ]in' drivers/scsi/isci/firmware/README + # This is not a code blob, it is just small data structures described in create_fw.[ch]. + accept 'static[ ]const[ ]char[ ]blob_name\[\][ ]=[ ]["]isci_firmware\.bin["]' drivers/scsi/isci/create_fw.h + accept '[ ][ ]orom[ ]=[ ]isci_request_firmware' drivers/scsi/isci/init.c + accept 'MODULE_FIRMWARE[(]ISCI_FW_NAME[)][;]' drivers/scsi/isci/init.c + accept 'struct[ ]isci_orom[ ][*]isci_request_firmware[(]' 'drivers/scsi/isci/probe_roms\.[ch]' + accept '[ ]if[ ][(]request_firmware[(][&]fw[,][ ]ISCI_FW_NAME[,]' drivers/scsi/isci/probe_roms.c + accept '#define[ ]ISCI_FW_NAME[ ][ ]["]isci[/]isci_firmware\.bin["]' drivers/scsi/isci/probe_roms.h + defsnc 'static[ ]struct[ ]pll_limit[ ]\(cle266\|k800\|cx700\|vx855\)_pll_limits\[\][ ]=' drivers/video/via/hw.c + accept '[ ][ ]-e[ ]["][$]tmp_dir[/]lib[/]modules[/][$]KERNELRELEASE[/]modules\.dep\.bin["]' scripts/depmod.sh + blobname 'wm8958_\(enh_eq\|mbc\(_vss\)\?\)\.wfw' sound/soc/codecs/wm8958-dsp2.c + blobname 'rtl_nic[/]rtl8168e-[12]\.fw' drivers/net/r8169.c + defsnc '[ ]static[ ]const[ ]struct[ ]ephy_info[ ]e_info_8168e\[\][ ]=' drivers/net/r8169.c + blobname 'ti-connectivity[/]wl128x-fw\(-ap\)\?\.bin' drivers/net/wireless/wl12xx/wl12xx.h + defsnc 'static[ ]const[ ]u8[ ]tg3_tso_header\[\][ ]=' drivers/net/tg3.c + blobname 'ath6k[/]AR6003[/]hw2\.1\.1[/]\(otp\|athwlan\|athtcmd_ram\|device\|data\.patch\|endpointping\|bdata\.\(SD3[12]\|WB31\|CUSTOM\)\)\.bin' drivers/staging/ath6kl/os/linux/include/ar6000_drv.h + accept '[ ]nvc0_graph_init_fuc[(]dev[,][ ]0x4\(09\|1a\)000[,][ ][&]priv->fuc4\(09\|1a\)c[,][ ][&]priv->fuc4\(09\|1a\)d[)][;]' drivers/gpu/drm/nouveau/nvc0_graph.c + accept '[ ][ ]*nvc0_graph_destroy_fw[(]&priv->fuc4\(09\|1a\)[cd][)][;]' drivers/gpu/drm/nouveau/nvc0_graph.c + accept '[ ][ ]*\(if[ ][(]\|[ ][ ][ ][ ]\)nvc0_graph_create_fw[(]dev[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]priv->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveau/nvc0_graph.c + blobname 'nouveau[/]\(nv%02x_\)\?%s' 'drivers/gpu/drm/nouveau/nv[ce]0_graph\.c' + blobname 'radeon[/]SUMO2\?_\(pfp\|me\)\.bin' drivers/gpu/drm/radeon/r600.c + blobname 'iwlwifi-\(105\|20[03]\?0\)-' drivers/net/iwlwifi/iwl-2000.c + blobname '__stringify[(]api[)][ ]["]\.ucode["]' 'drivers/net/iwlwifi/iwl-\(3945.h\|\(4965\|[1256]000\)\.c\)' + # New in 3.1 + blobname 'sdma-imx25\.bin' arch/arm/mach-imx/mm-imx25.c + blobname 'sdma-imx31-to[12]\.bin' arch/arm/mach-imx/mm-imx31.c + blobname 'sdma-imx35-to[12]\.bin' arch/arm/mach-imx/mm-imx35.c + blobname 'sdma-imx5[13]\.bin' arch/arm/mach-mx5/mm.c + blobname 'brcm[/]bcm43xx' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/mac80211_if\.c' + blobname '%s\(_hdr\)\?-%d\.fw' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/mac80211_if\.c' + blobname 'brcm[/]bcm4329-fullmac-4\.\(bin\|txt\)' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmfmac/bcmchip\.h' + blobname 'mrvl[/]sd8787_uapsta\.bin' drivers/net/wireless/mwifiex/sdio.h + defsnc 'static[ ]int[ ]omap3_batt_table\[\][ ]=' arch/arm/mach-omap2/twl-common.c + defsnc '[ ]static[ ]u8[ ]InitRegs\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd.c + defsnc 'static[ ]struct[ ]SMapI[ ]m_RF_Cal_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h + defsnc 'static[ ]struct[ ]SMap2[ ]m_\(Main\|Cal\)_PLL_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h + accept '[ ][ ][ ]For[ ]example,[ ]you[ ]might[ ]set[ ]CONFIG_EXTRA_FIRMWARE=["]whatever\.bin["]' drivers/base/Kconfig + accept '[ ][ ][ ]Then[ ]any[ ]request_firmware[(]\(["]whatever\.bin["]\)[)]' drivers/base/Kconfig + blobname 'dvb-fe-xc4000-1.4.fw' drivers/media/common/tuners/xc4000.c + defsnc 'static[ ]struct[ ]SMap2\?[ ]*m_\(GainTaper\|RF_Cal_DC_Over_DT\|CID_Target\)_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h + defsnc '[ ][}][ ]regs\[\][ ]=' drivers/media/video/em28xx/em28xx-dvb.c + defsnc 'static[ ]struct[ ]regval_list[ ]ov5642_default_regs_\(init\|finalise\)\[\][ ]=' drivers/media/video/ov5642.c + defsnc 'static[ ]const[ ]u8[ ]hdmiphy_conf\(27\(_027\)\?\|74\(_175\|_25\)\|148_5\)\[32\][ ]=' drivers/media/video/s5p-tv/hdmiphy_drv.c + defsnc 'static[ ]const[ ]u8[ ]filter_y_vert_tap4\[\][ ]=' drivers/media/video/s5p-tv/mixer_reg.c + defsnc '[ ]static[ ]const[ ]char[ ][*][ ]const[ ]vui_sar_idc\[\][ ]=' drivers/media/video/v4l2-ctrls.c + defsnc 'static[ ]const[ ]u32[ ]ar9331_\(1p[12]_\(baseband\|mac\)_postamble\|modes_\(low\(est\)\?\|high\)_\(ob_db\|power\)_tx_gain_1p[12]\)\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9331_\(1p[12]_\(radio\|baseband\|mac\)_core\|common_\(wo_xlna_\)\?rx_gain_1p[12]\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h + defsnc 'static[ ]const[ ]u\(16\|32\)[ ]b43_httab_0x\(1[2abcf]\(_0x\(1\?c\|[12]4\)0\)\?\|2[0-7]\)\[\][ ]=' drivers/net/wireless/b43/tables_phy_ht.c + defsnc 'static[ ]u32[ ]targetchnl_5g\[TARGET_CHNL_NUM_5G\][ ]=' drivers/net/wireless/rtlwifi/rtl8192de/phy.c + defsnc '[ ]u8[ ]channel_\(5g\|all\|info\)\[\(45\|59\)\][ ]=' drivers/net/wireless/rtlwifi/rtl8192de/phy.c + blobname 'rtlwifi[/]rtl8192defw[.]bin' drivers/net/wireless/rtlwifi/rtl8192de/sw.c + defsnc 'u32[ ]rtl8192de_\(phy_reg\|radio[ab]\|mac\|agctab\)_\(\(2t\(_int_pa\)\?\|[25]g\)\?array\|array_pg\)\[\(PHY_REG\|RADIO[AB]\|MAC\|AGCTAB\)_\(\(2T\(_INT_PA\)\?_\|[25]G_\)\?ARRAY\|ARRAY_PG_\)LENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192de/table.c + defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_basic[ ]chan_info_all\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_cmn\.c' + defsnc 'struct[ ]lcnphy_rx_iqcomp[ ]lcnphy_rx_iqcomp_table_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c' + defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_2064_lcnphy[ ]chan_info_2064_lcnphy\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c' + defsnc '\(static[ ]const[ ]\)\?struct[ ]lcnphy_radio_regs[ ]lcnphy_radio_regs_2064\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c' + defsnc '\(static[ ]const[ ]\)\?struct[ ]nphy_ipa_txrxgain[ ]nphy_ipa_rxcal_gaintbl_2GHz\(_rev7\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_nphy_2055[ ]chan_info_nphy_2055\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_nphy_radio205x[ ]chan_info_nphyrev\(3_2056\|4_2056_A1\|5_2056v5\|6_2056v6\|5n6_2056v7\|6_2056v\(8\|11\)\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_nphy_radio2057[ ]chan_info_nphyrev\(7_2057_rev4\|8_2057_rev[78]\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_nphy_radio2057_rev5[ \n]chan_info_nphyrev\(8_2057_rev5\|9_2057_rev5v1\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc '\(static[ ]\)\?\(const[ ]\)\?struct[ ]radio_\(20xx_\)\?regs[ \n]regs_\(2055\|\(SYN\|[TR]X\)_205\(6\(_A1\|_rev\([5678]\|11\)\)\?\)\|2057_rev\([4578]\|5v1\)\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc '[ ]struct[ ]nphy_txiqcal_ladder[ ]ladder_\(lo\|iq\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c' + defsnc '\(static[ ]\)\?const[ ]struct[ ]lcnphy_tx_gain_tbl_entry[ \n]dot11lcnphy_[25]GHz_\(extPA_\)\?gaintable_rev0\[128\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phytbl_lcn\.c' + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]raw_edid\[\][ ]=' drivers/staging/gma500/mrst_hdmi.c + defsnc 'static[ ]const[ ]u8[ ]net2272_test_packet\[\][ ]=' drivers/usb/gadget/net2272.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]seq_setting\[\][ ]=' drivers/video/backlight/ams369fg06.c + defsnc 'static[ ]u8[ ]adav80x_default_regs\[\][ ]=' sound/soc/codecs/adav80x.c + defsnc 'static[ ]const[ ]u8[ ]sta32x_regs\[STA32X_REGISTER_COUNT\][ ]=' sound/soc/codecs/sta32x.c + defsnc '[}][ ]mclk_ratios\[3\]\[7\][ ]=' sound/soc/codecs/sta32x.c + defsnc 'static[ ]const[ ]int[ ]vid_to_voltage\[32\][ ]=' tools/power/cpupower/debug/i386/dump_psb.c + blobname 'dvb-usb-terratec-h5-drxk\.fw' drivers/media/video/em28xx/em28xx-dvb.c + blobname 's5pc110-mfc\.fw' drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c + blobname 'adau1701\.bin' sound/soc/codecs/adau1701.c + accept '[ ]return[ ]process_sigma_firmware[(]codec->control_data[,][ ]ADAU1701_FIRMWARE[)]' sound/soc/codecs/adau1701.c + # Sources for these are in the corresponding .fuc files. + defsnc 'uint32_t[ ]nvc0_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvc0_grgpc.fuc.h + defsnc 'uint32_t[ ]nvc0_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvc0_grhub.fuc.h + accept '[ ][ ][ ]interrupts[ ]=[ ]<\([\n][ ]*0x[ef][0-9a-f][ ]0[ ]0[ ]0\)*>[;]' 'arch/powerpc/boot/dts/p\(2040\|3041\|4080\|5020\)si\.dtsi' + blobname 'dvb-netup-altera-04\.fw' drivers/media/video/cx23885/cx23885-cards.c + blobname 'rtl_nic[/]rtl8168e-3\.fw' drivers/net/r8169.c + defsnc '[ ]static[ ]const[ ]struct[ ]ephy_info[ ]e_info_8168e_1\[\][ ]=' drivers/net/r8169.c + blobname 'iwlwifi-135-' drivers/net/iwlwifi/iwl-2000.c + blobname 'c[bt]2\?fw\(_\(fc\|cna\)\)\?\.bin' drivers/scsi/bfa/bfad.c + blobname 'ene-ub6250[/]\(ms_\(init\|rdwr\)\|msp_rdwr\)\.bin' drivers/usb/storage/ene_ub6250.c + accept '[ ][ ]*dsp_code->pvt->firmware[ ]=[ ]' sound/pci/asihpi/hpidspcd.c + # New in 3.2 + blobname 'ath6k[/]AR600[0-9.]*[/]hw[0-9.]*[/][^/"]*\.\(bin\|z77\)' drivers/net/wireless/ath/ath6kl/core.h + accept 'userspace[,][ ]using[ ]the[ ]request_firmware[(][)][ ]function' Documentation/power/suspend-and-cpuhotplug.txt + defsnc 'static[ ]struct[ ]sh_keysc_info[ ]keysc_platdata[ ]=[ ]' arch/arm/mach-shmobile/board-kota2.c + defsnc 'static[ ]const[ ]u32[ ]rir_offset\[MAX_RIR_RANGES\]\[MAX_RIR_WAY\][ ]=' drivers/edac/sb_edac.c + defsnc '[ ]struct[ ]tda10071_reg_val_mask[ ]tab2\[\][ ]=' drivers/media/dvb/frontends/tda10071.c + defsnc 'static[ ]const[ ]u8[ ]\(ov965x\|ov971x\|ov562x\)_init\(_2\)\?\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c + defsnc 'static[ ]const[ ]u8[ ]DQT\[17\]\[130\][ ]=' drivers/media/video/gspca/topro.c + defsnc 'static[ ]const[ ]struct[ ]cmd[ ]tp6810_late_start\[\][ ]=' drivers/media/video/gspca/topro.c + defsnc '[ ]static[ ]const[ ]struct[ ]cmd[ ]sensor_init\[\][ ]=' drivers/media/video/gspca/topro.c + defsnc '[ ]static[ ]const[ ]u8[ ]gamma_tb\[NGAMMA\]\[3\]\[1024\][ ]=' drivers/media/video/gspca/topro.c + defsnc 'static[ ]struct[ ]s5k6aa_regval[ ]s5k6aa_analog_config\[\][ ]=' drivers/media/video/s5k6aa.c + defsnc 'static[ ]const[ ]u32[ ]\(ar5416Modes\(_91[06]0\)\?\|ar9280Modes\(_\(backoff_[12]3db\|original\)_rxgain\|_\(high_power\|original\)_tx_gain\)\?_9280_2\|ar9285Modes\(\(_\(high_power\|original\)_tx_gain\)\?_9285_1_2\|_XE2_0_\(normal\|high\)_power\)\|ar9287Modes\(_[tr]x_gain\)\?_9287_1_1\|ar9271Modes\(_\(normal\|high\)_power_tx_gain\)\?_9271\(_ANI_reg\)\?\)\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar\(5008\|9002\)_initvals\.h' + defsnc 'static[ ]const[ ]u32[ ]\(ar9\(462\|580\)_\([12]p0_\)\?\(\(baseband\|mac\|radio\)_core\(_emulation\)\?\|\(common_\)\?\(wo_xlna_\|mixed_\)\?rx_gain_table\(_ar9280\)\?\(_[12]p0\)*\)\|ar9200_ar9280_2p0_radio_core\(_1p0\)\?\)\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9\(462\|580\)_[12]p0_initvals\.h' + defsnc 'static[ ]const[ ]u32[ ]ar9\(462\|580\)_\([12]p0_\)\?\(\(tx_gain_table_\)\?\(baseband\|mac\|radio\)_postamble\(_emulation\)\?\|\(modes_\)\?\(high\|low\(est\)\?\|mixed\|green\)_\(ob_db\|power\)_tx_gain_table\(_[12]p0\)\?\)\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9\(462\|580\)_[12]p0_initvals\.h' + defsnc 'static[ ]const[ ]s32[ ]wmi_rate_tbl\[\]\[2\][ ]=' drivers/net/wireless/ath/ath6kl/wmi.c + defsnc '[ ]struct[ ]lcn_tx_iir_filter[ ]tx_iir_filters_\(cck\|ofdm\)\[\][ ]=' drivers/net/wireless/b43/phy_lcn.c + defsnc 'const[ ]u32[ ]b43_httab_0x1a_0xc0_late\[\][ ]=' drivers/net/wireless/b43/tables_phy_ht.c + defsnc 'static[ ]const[ ]u\(16\|32\)[ ]b43_lcntab_0x[01][0-9a-f]\[\][ ]=' drivers/net/wireless/b43/tables_phy_lcn.c + defsnc '[ ]b43_lcntab_tx_gain_tbl_2ghz_ext_pa_rev0\[B43_LCNTAB_TX_GAIN_SIZE\][ ]=' drivers/net/wireless/b43/tables_phy_lcn.c + defsnc 'const[ ]u16[ ]b43_lcntab_sw_ctl_4313_epa_rev0\[\][ ]=' drivers/net/wireless/b43/tables_phy_lcn.c + defsnc 'static[ ]const[ ]u16[ ]VCORE_VSEL_table\[\][ ]=' drivers/regulator/tps65023-regulator.c + defsnc 'static[ ]struct[ ]channel_list[ ]ChannelPlan\[\][ ]=' drivers/staging/rtl8192e/dot11d.c + defsnc 'u32[ ]Rtl8192PciE\(PHY_REG_1T2R\|Radio[AB]_\|AGCTAB_\)Array\[\(PHY_REG_1T2R\|Radio[AB]_\|AGCTAB_\)ArrayLengthPciE\][ ]=' drivers/staging/rtl8192e/r8192E_hwimg.c + defsnc 'static[ ]u8[ ]CCKSwingTable_\(Ch1_Ch13\|Ch14\)\[CCK_Table_length\]\[8\][ ]=' drivers/staging/rtl8192e/rtl_dm.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]XGINew_DDRDRAM_TYPE20\[12\]\[5\][ ]=' drivers/staging/xgifb/vb_init.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]XGINew_\(MDA\|[CEV]GA\)_DAC\[\][ ]=' drivers/staging/xgifb/vb_setmode.c + defsnc 'static[ ]const[ ]unsigned[ ]\(power\|emif[01]\)_pins\[\][ ]=' drivers/pinctrl/pinmux-u300.c + defsnc 'static[ ]const[ ]struct[ ]pll_div[ ]codec_\(master\|slave\)_pll_div\[\][ ]=' sound/soc/codecs/rt5631.c + accept '[ ]it913x_config\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/it913x.c + accept '[ ]\.download_firmware[ ]=[ ]it913x_download_firmware[,][\n][ ]\.firmware[ ]=[ ]["]' drivers/media/dvb/dvb-usb/it913x.c + blobname 'dvb-usb-it9137-01\.fw' drivers/media/dvb/dvb-usb/it913x.c + blobname '%s[/]bdata\.%s\.bin' drivers/net/wireless/ath/ath6kl/init.c + blobna 'Used[ ][(]for[ ]now[)][^*]*\([*]\+[^/*][^*]*\)*[*]*["]bdata\.bin["][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/net/wireless/ath/ath6kl/init.c + blobname 'mrvl[/]pcie8766_uapsta\.bin' 'drivers/net/wireless/mwifiex/pcie\.[ch]' + accept '#define[ ]FIRMWARE[ \t]*["]usbduxsigma_firmware\.bin["]' drivers/staging/comedi/drivers/usbduxsigma.c + accept 'MODULE_DESCRIPTION[(]["]Stirling[/]ITL[ ]USB-DUX[ ]SIGMA[^"]*["][)][;][\n]MODULE_LICENSE[(]["]GPL["][)][;][\n]MODULE_FIRMWARE[(]FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbduxsigma.c + blobname 'as102_data[12]_[sd]t\.hex' drivers/staging/media/as102/as102_fw.c + blob 'u8[ ]Rtl8192PciEFw\(Boot\|Main\|Data\)Array\[\(Boot\|Main\|Data\)ArrayLengthPciE\][ ]=[ ][{][^}]*[}][;]' drivers/staging/rtl8192e/r8192E_hwimg.c + blobna '\([&]\|sizeof[(]\)Rtl8192PciEFw\(Boot\|Main\|Data\)Array\(\[0\]\|[)]\)\(,[ \n]*\([&]\|sizeof[(]\)Rtl8192PciEFw\(Boot\|Main\|Data\)Array\(\[0\]\|[)]\)\)*' drivers/staging/rtl8192e/r8192E_firmware.c + blobname 'imx[/]sdma[/]sdma-imx5[13]\.bin' 'arch/arm/boot/dts/imx5[13]-\(babbage\|ard\|evk\|qsb\|smd\)\.dts' + blobname 'libertas[/]usb8388_olpc\.bin' drivers/net/wireless/libertas/if_usb.c + blobname 'rtlwifi[/]rtl8192cfwU\(_B\)\?\.bin' drivers/net/wireless/rtlwifi/rtl8192ce/sw.c + blobname 'ti-connectivity[/]wl12[78]x-fw-3\.bin' drivers/net/wireless/wl12xx/wl12xx.h + blobname 'pcxhr[/]%s' sound/pci/pcxhr/pcxhr_hwdep.c + blobname 'mrvl[/]sd8797_uapsta\.bin' drivers/net/wireless/mwifiex/sdio.h + blobname 's5p-mfc\.fw' drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c + blobname 'rtl_nic[/]rtl8168f-[12]\.fw' drivers/net/ethernet/realtek/r8169.c + accept '[ ]bp->firmware[ ]=[ ]NULL[;]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + + blobna '[/][*][\n][ ][*][ ]AMD[ ]microcode[ ]firmware[ ]naming[ ]convention[^*]*\([*]\+[^/*][^*]*\)*[*]*amd-ucode[/][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' arch/x86/kernel/microcode_amd.c + blobname 'amd-ucode[/]microcode_amd_fam\(%\.2x\|[0-9a-f]*\)h\.bin' arch/x86/kernel/microcode_amd.c + + # New in 3.3. + defsnc 'static[ ]const[ ]struct[ ]reg_mod_vals[ ]reg_mod_vals_tab\[\][ ]=' drivers/media/dvb/frontends/hd29l2_priv.h + defsnc 'static[ ]struct[ ]adctable[ ]tab[1-8]\[\][ ]=' drivers/media/dvb/frontends/it913x-fe-priv.h + defsnc 'static[ ]const[ ]struct[ ]af9013_coeff[ ]coeff_lut\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]qtbl_\(lu\|chro\)minance\[4\]\[64\][ ]=' drivers/media/video/s5p-jpeg/jpeg-core.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]hactblg0\[162\][ ]=' drivers/media/video/s5p-jpeg/jpeg-core.c + defsnc 'static[ ]const[ ]u16[ ]b43_ntab_antswctl2g_r3\[4\]\[32\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'struct[ ]nphy_gain_ctl_workaround_entry[ ]nphy_gain_ctl_\(workaround\[2\]\[4\]\|wa_phy6_radio11_ghz2\)[ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'static[ ]const[ ]u16[ ]da9052_chg_current_lim\[2\]\[DA9052_CHG_LIM_COLS\][ ]=' drivers/power/da9052-battery.c + defsnc 'static[ ]u32[ ]const[ ]vc_tbl\[3\]\[68\]\[2\][ ]=' drivers/power/da9052-battery.c + defsnc 'static[ ]const[ ]int[ ]PIO2_CHANNEL_BANK\[32\][ ]=' drivers/staging/vme/devices/vme_pio2.h + defsnc 'static[ ]const[ ]struct[ ]sirfsoc_baudrate_to_regv[ ]baudrate_to_regv\[\][ ]=' drivers/tty/serial/sirfsoc_uart.c + defsnc 'static[ ]const[ ]struct[ ]dispc_coef[ ]coef[35]_M\(1[123469]\|2[26]\|32\)\[8\][ ]=' drivers/video/omap2/dss/dispc_coefs.c + defsnc 'const[ ]unsigned[ ]char[ ]__clz_tab\[\][ ]=' lib/clz_tab.c + defsnc 'static[ ]struct[ ]cs42l73_mclk_div[ ]cs42l73_mclk_coeffs\[\][ ]=' sound/soc/codecs/cs42l73.c + defsnc 'static[ ]struct[ ]reg_default[ ]wm8995_reg_defaults\[\][ ]=' sound/soc/codecs/wm8995.c + defsnc 'static[ ]int[ ]_process_sigma_firmware[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*\(request\|maybe_reject\)_firmware' sound/soc/codecs/sigmadsp.c + defsnc 'int[ ]process_sigma_firmware\(_regmap\)\?[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*_process_sigma_firmware' sound/soc/codecs/sigmadsp.c + accept 'EXPORT_SYMBOL[(]process_sigma_firmware_regmap[)]' sound/soc/codecs/sigmadsp.c + accept 'extern[ ]int[ ]process_sigma_firmware_regmap[(][^)]*[)][;]' sound/soc/codecs/sigmadsp.h + accept '[ ]interrupts[ ]=[ ]<\([\n][ ]*0x[ef][0-9a-f][ ]0[ ]0[ ]0\)*>[;]' 'arch/powerpc/boot/dts/fsl/\(pq3\|qoriq\)-mpic\.dtsi' + # These appear to be identifiers within the device itself, + # used to get information from it. + accept '#define[ ]LANCER_\(FW_DUMP\|VPD_[PV]F\)_FILE[ ]*["][/]\(dbg[/]dump\.bin\|vpd[/]ntr_[pv]f\.vpd\)["]' drivers/net/ethernet/emulex/benet/be_cmds.h + defsnc 'static[ ]struct[ ]dib0090_wbd_slope[ ]dib7090e_wbd_table\[\][ ]=' drivers/media/dvb/dvb-usb/dib0700_devices.c + blobname 'dvb-usb-it9135-0[12]\.fw' drivers/media/dvb/dvb-usb/it913x.c + accept '[ ]*props->firmware[ ]=[ ]fw_it913\(5_v[12]\|7\)' drivers/media/dvb/dvb-usb/it913x.c + blobname 'dvb-usb-hauppauge-hvr930c-drxk\.fw' drivers/media/video/em28xx/em28xx-dvb.c + blobname 'brcm[/]brcmfmac\.\(bin\|txt\)' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + + # New in 3.4 + blobname 'dvb-fe-xc5000-1\.6\.114\.fw' drivers/media/common/tuners/xc5000.c + blobname 'dvb-fe-xc5000c-41\.024\.5\.fw' drivers/media/common/tuners/xc5000.c + accept '[ ]*nvidia,emc-registers[ ]=[ ]<[ ]\(0[ \n]*\)*>' Documentation/devicetree/bindings/arm/tegra/emc.txt + accept '[ ]*interrupts[ ]=[ ]<[ ]\(0[ ]1[345][0-9][ ]0x04[ \n]*\)*>[;]' Documentation/devicetree/bindings/dma/tegra20-apbdma.txt + accept '[ ]*nvidia,emc-registers[ ]=[ ]<[ ]\(0x[0-9a-f]*[ \n]*\)*>' arch/arm/boot/dts/tegra-seaboard.dts + accept '[ ]*interrupts[ ]=[ ]<[ ]\(0[ ]1[0-4][0-9][ ]0x04[ \n]*\)*>[;]' 'arch/arm/boot/dts/tegra[23]0\.dtsi' + defsnc 'static[ ]struct[ ]clk_pll_freq_table[ ]tegra_pll_[cu]_freq_table\[\][ ]=' arch/arm/mach-tegra/tegra30_clocks.c + defsnc '[ ]static[ ]const[ ]u8[ ]snum_init_[74]6\[\][ ]=' arch/powerpc/sysdev/qe_lib/qe.c + defsnc 'const[ ]u64[ ]camellia_sp\(10011110\|22000222\|03303033\|00444404\|02220222\|30333033\|44044404\|11101110\)\[256\][ ]=' arch/x86/crypto/camellia_glue.c + accept 'static[ ]int[ ]_request_firmware_load[(]struct[ ]firmware_priv[ ][*]fw_priv[,]' drivers/base/firmware_class.c + accept 'static[ ]void[ ]request_firmware_work_func[(]struct[ ]work_struct[ ][*]work[)]' drivers/base/firmware_class.c + accept '[ ]fw_priv[ ]=[ ]_request_firmware_prepare[(][&]fw[,]' drivers/base/firmware_class.c + accept '[ ][ ]ret[ ]=[ ]_request_firmware_load[(]fw_priv[,]' drivers/base/firmware_class.c + accept '[ ][ ]_request_firmware_cleanup[(][&]fw[)][;]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]u32[ ]\(tahiti\|pitcairn\|verde\)_io_mc_regs\[TAHITI_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/drm/radeon/si.c + defsnc 'static[ ]const[ ]char[ ]fake_edid_info\[\][ ]=' drivers/gpu/drm/exynos/exynos_drm_vidi.c + defsnc 'static[ ]const[ ]u8[ ]hdmiphy_v13_conf\(27\(_027\)\?\|74_\(175\|25\)\|148_5\)\[32\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c + defsnc 'static[ ]char[ ][*]generic_edid_name\[GENERIC_EDIDS\][ ]=' drivers/gpu/drm/drm_edid_load.c + defsnc 'static[ ]u8[ ]generic_edid\[GENERIC_EDIDS\]\[128\][ ]=' drivers/gpu/drm/drm_edid_load.c + defsnc 'static[ ]int[ ]edid_load[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*err[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ][&]pdev' drivers/gpu/drm/drm_edid_load.c + blobname 'dvb-usb-terratec-h7-\(drxk\|az6007\)\.fw' drivers/media/dvb/dvb-usb/az6007.c + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]az6007_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/gp8psk.c + blobname 'dvb-usb-lme2510c-rs2000\.fw' drivers/media/dvb/dvb-usb/lmedm04.c + defsnc '[ ]struct[ ]rtl2830_reg_val_mask[ ]tab\[\][ ]=' drivers/media/dvb/frontends/rtl2830.c + defsnc '[ ]static[ ]u8[ ]bw_params1\[3\]\[34\][ ]=' drivers/media/dvb/frontends/rtl2830.c + blobname 'dvb-demod-drxk-pctv\.fw' drivers/media/video/em28xx/em28xx-dvb.c + defsnc 'static[ ]const[ ]u8[ ]\(start\|page3\)_7302\[\][ ]=' drivers/media/video/gspca/pac7302.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]oob_\(2048\|4096\)_ecc[48][ ]=' drivers/mtd/nand/fsl_ifc_nand.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]fsmc_ecc4_\(256\|224\|128\|64\)_layout[ ]=' drivers/mtd/nand/fsmc_nand.c + defsnc '[ ]static[ ]const[ ]u8[ ]dhcp_\(pattern\|mask\)\[\][ ]=' drivers/net/wireless/ath/ath6kl/cfg80211.c + blobname 'fw-[23]\.bin' drivers/netwireless/ath/ath6kl/core.h + blobname '\(fw\.ram\|otp\|ath\(wlan\|tcmd_ram\)\|utf\|nullTestFlow\|data\.patch\|bdata\(\.SD31\)\?\)\.bin\(\.z77\)\?' drivers/net/wireless/ath/ath6kl/core.h + accept '[ ]hif_dev->firmware[ ]=[ ]fw[;]' drivers/net/wireless/ath/ath9k/hif_usb.c + defsnc 'static[ ]const[ ]u32[ ]b43_ntab_tx_gain_rev\(0_1_2\|3plus_2ghz\|[34]_5ghz\|5plus_5ghz\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'static[ ]const[ ]u32[ ]txpwrctrl_tx_gain_ipa\(\|_rev[56]\|_5g\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + blobname 'brcm[/]brcmfmac-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + blobname 'brcm[/]brcmfmac43236b\.bin' drivers/net/wireless/brcm80211/brcmfmac/usb.c + blobname 'ti-connectivity[/]wl12[78]x-fw-4-\([ms]r\|plt\)\.bin' drivers/net/wireless/wl12xx/wl12xx.h + blobname 'TINfcInit_%d\.%d\.%d\.%d\.bts' drivers/nfc/nfcwilink.c + defsnc 'static[ ]int[ ]ab8500_\(charger\|fg_lowbat\)_voltage_map\[\][ ]=' drivers/power/ab8500_charger.c + defsnc '[ ]static[ ]const[ ]u8[ ]parity\[\][ ]=' drivers/staging/sep/sep_crypto.c + defsnc 'static[ ]\(const[ ]\)\?struct[ ]SiS_MCLKData[ ]XGI\(340\|27\)New_MCLKData\[\][ ]=' drivers/staging/xgifb/vb_table.h + defsnc 'static[ ]\(const[ ]\)\?struct[ ]SiS_ModeResInfo_S[ ]XGI330_ModeResInfo\[\][ ]=' drivers/staging/xgifb/vb_table.h + defsnc 'static[ ]const[ ]u8[ ]dim_table\[101\][ ]=' drivers/video/backlight/ot200_bl.c + defsnc '[ ]static[ ]const[ ]unsigned[ ]char[ ]data_to_send\[\][ ]=' drivers/video/exynos/s6e8ax0.c + accept '[ ]ret[ ]=[ ]request_firmware\([(][&]firmware_p[,][ ]rproc->firmware[,][ ]dev[)]\|_nowait[(]THIS_MODULE[,][ ]FW_ACTION_HOTPLUG[,][\n][ ]*rproc->firmware[,][ ]dev[,][ ]GFP_KERNEL[,][\n][ ]*rproc[,][ ]rproc_fw_config_virtio[)]\)[;][\n][ ]if[ ][(]ret[ ]<[ ]0[)][ ][{][\n][ ][ ]dev_err[(]dev[,][ ]["]request_firmware\(_nowait\)\?[ ]failed' drivers/remoteproc/remoteproc_core.c + accept '[ ]rproc->firmware[ ][=][ ]firmware[;]' drivers/remoteproc/remoteproc_core.c + blobname 'ql\(2600\|8300\)_fw\.bin' drivers/scsi/qla2xxx/qla_os.c + defsnc 'static[ ]u8[ ]__attribute__[(][(]__aligned__[(]8[)][)][)][ ]test_buf\[\][ ]=' lib/crc32.c + defsnc '[}][ ]test\[\][ ]=' lib/crc32.c + defsnc 'static[ ]struct[ ]reg_default[ ]da7210_reg_defaults\[\][ ]=' sound/soc/codecs/da7210.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm2200_reva_patch\[\][ ]=' sound/soc/codecs/wm2200.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8753_reg_defaults\[\][ ]=' sound/soc/codecs/wm8753.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8978_reg_defaults\[\][ ]=' sound/soc/codecs/wm8978.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8988_reg_defaults\[\][ ]=' sound/soc/codecs/wm8988.c + + # New in 3.5: + accept '[ ]*linux,keymap[ ]=[ ][<][ ]\(0x[0-9a-f]*[ \n]*\)*>[;]' 'arch/arm/boot/dts/spear\(13[14]\|30\)0-evb\.dts' + accept '[ ]*nvidia,emc-registers[ ]=[ ]<\(0x[0-9a-f]*[ \n]*\)*>[;]' arch/arm/boot/dts/tegra-seaboard.dts + accept '[ ]*interrupts[ ]=[ ]<\(0[ ]1[0-4][0-9][ ]0x04[ \n]*\)*>[;]' 'arch/arm/boot/dts/tegra[23]0\.dtsi' + defsnc 'static[ ]u8[ ]zero_message_\(hash\|hmac\)_sha256\[SHA256_DIGEST_SIZE\][ ]=' drivers/crypto/ux500/hash/hash_core.c + defsnc 'static[ ]const[ ]struct[ ]ast_dramstruct[ ]ast[12][01]00_dram_table_data\[\][ ]=' drivers/gpu/drm/ast/ast_dram_tables.h + defsc 'static[ ]struct[ ]ast_vbios_stdtable[ ]vbios_stdtable\[\][ ]=' drivers/gpu/drm/ast/ast_tables.h + defsc 'static[ ]const[ ]struct[ ]minimode[ ]est3_modes\[\][ ]=' drivers/gpu/drm/drm_edid_modes.h + defsnc 'static[ ]const[ ]u8[ ]hdmiphy_conf74_176\[32\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c + defsnc 'static[ ]const[ ]struct[ ]wrpll_tmds_clock[ ]wrpll_tmds_clock_table\[\][ ]=' drivers/gpu/drm/i915/intel_ddi.c + blobname 'dvb-usb-af9035-02\.fw' drivers/media/dvb/dvb-usb/af9035.c + blobname 'dvb-usb-it9135-01\.fw' drivers/media/dvb/dvb-usb/af9035.c + defsnc 'static[ ]const[ ]struct[ ]coeff[ ]coeff_lut\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h + defsnc 'static[ ]const[ ]struct[ ]val_snr[ ]\(qpsk\|qam\(16\|64\)\)_snr_lut\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h + defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]\(ofsm_init\|tuner_init_\(tua9001\|fc0011\|mxl5007t\|tda18218\)\)\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h + defsnc '[ ]*static[ ]u8[ ]color_tb\[\]\[6\][ ]=' drivers/media/video/gspca/ov534.c + defsnc 'static[ ]const[ ]u16[ ]bridge_init\[\]\[2\][ ]=' drivers/media/video/gspca/sn9c20x.c + defsnc 'static[ ]const[ ]struct[ ]i2c_reg_u8[ ]\(soi968\|ov\(7670\|965[05]\)\|hv7131r\)_init\[\][ ]=' drivers/media/video/gspca/sn9c20x.c + defsnc 'static[ ]const[ ]struct[ ]i2c_reg_u16[ ]\(mt9v[01]1[12]\)_init\[\][ ]=' drivers/media/video/gspca/sn9c20x.c + defsnc 'static[ ]const[ ]struct[ ]hdmiphy_conf[ ]hdmiphy_conf_\(s5pv210\|exynos4[24]1[02]\)\[\][ ]=' drivers/media/video/s5p-tv/hdmiphy_drv.c + defsnc 'static[ ]const[ ]int32_t[ ]tbat_lookup\[255\][ ]=' drivers/mfd/da9052-core.c + defsnc 'static[ ]const[ ]struct[ ]atl1c_platform_patch[ ]plats\[\][ ]__devinitdata[ ]=' drivers/net/ethernet/atheros/atl1c/atl1c_main.c + defsnc '[ ][}][ ]hw_config\[\][ ]=' drivers/nfc/pn544_hci.c + defsnc 'static[ ]const[ ]unsigned[ ]\(rgmii\|smii_0_1_2\|nand_8bit\|mcif\|pci_sata\|clcd\|arm_trace\|miphy_dbg\|emi\)_pins\[\][ ]=' drivers/pinctrl/spear/pinctrl-spear1310.c + defsnc 'static[ ]const[ ]long[ ]chan_freq_list\[\]\[2\][ ]=' drivers/staging/wlags49_h2/wl_util.c + defsnc '[ ]static[ ]const[ ]unsigned[ ]char[ ]data_to_send_panel_reverse\[\][ ]=' drivers/video/exynos/s6e8ax0.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]__devinitconst[ ]SiS_DRAMType\[17\]\[5\][ ]=' drivers/video/sis/sis_main.c + defsnc 'static[ ]struct[ ]reg_default[ ]lm49453_reg_defs\[\][ ]=' sound/soc/codecs/lm49453.c + accept '-[ ]Replace[ ]hard-coded[ ]firmware[ ]paths[ ]with[ ]request_firmware' drivers/staging/gdm72xx/TODO + blobname '\([/]lib[/]firmware[/]\)\?\(gdm72xx[/]\)\?gdms\(krn\|rfs\)\.bin' drivers/staging/gdm72xx/sdio_boot.c + blobname '\([/]lib[/]firmware[/]\)\?gdm72xx[/]gdmuimg\.bin' drivers/staging/gdm72xx/usb_boot.c + blobname 'mrvl[/]usb8797_uapsta\.bin' 'drivers/net/wireless/mwifiex/usb\.[ch]' + # This is compiled and assembled out of actual sources as part of the build. + accept '[ ]\.incbin[ ]["]arch[/]x86[/]realmode[/]rm[/]realmode\.bin["]' arch/x86/realmode/rmpiggy.S + # Sources for these are in the corresponding .fuc files. + defsc 'uint32_t[ ]nv98_pcrypt_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nv98_crypt.fuc.h + accept '[ ]nve0_graph_init_fuc[(]dev[,][ ]0x4\(09\|1a\)000[,][ ][&]priv->fuc4\(09\|1a\)c[,][ ][&]priv->fuc4\(09\|1a\)d[)][;]' drivers/gpu/drm/nouveau/nve0_graph.c + accept '[ ][ ]*nve0_graph_destroy_fw[(]&priv->fuc4\(09\|1a\)[cd][)][;]' drivers/gpu/drm/nouveau/nve0_graph.c + accept '[ ][ ]*\(if[ ][(]\|[ ][ ][ ][ ]\)nve0_graph_create_fw[(]dev[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]priv->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveau/nve0_graph.c + accept '[ ]struct[ ]nve0_graph_fuc[ ]fuc4\(09\|1a\)[cd]' drivers/gpu/drm/nouveau/nve0_graph.h + accept '[ ]memset[(][&]fw[,][ ]0[,][ ]sizeof[(]struct[ ]mwifiex_fw_image[)][)][;][\n][ ]adapter->firmware[ ]=[ ]firmware[;]' drivers/net/wireless/mwifiex/main.c + # nouveau_vbios is a user-supplied parameter + accept '[ ][ ]snprintf[(]fname[,][ ]sizeof[(]fname[)][,][ ]["]nouveau[/]%s["][,][ ]nouveau_vbios[)][;][\n][ ][ ]ret[ ]=[ ]request_firmware[(]' drivers/gpu/drm/nouveau/nouveau_bios.c + accept '[ ][ ]\.download_firmware[ ]=[ ]af9035_download_firmware\(_it9135\)\?[,][\n][ ][ ]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/af9035.c + blobname 'rtl_nic[/]rtl8402-1\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'rtl_nic[/]rtl8411-1\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'bdata\(\.\(SD3[12]\|WB31\|CUSTOM\|DB132\)\)\?\.bin' drivers/net/wireless/ath/ath6kl/core.h + blobname 'mrvl[/]sd8786_uapsta\.bin' 'drivers/net/wireless/mwifiex/sdio\.[ch]' + accept '[ ][ ][*][ ]the[ ]isl3886[+]net2280' drivers/net/wireless/p54/p54usb.c + + # New in 3.6: + defsnc 'static[ ]unsigned[ ]char[ ]mcf_host_slot2sid\[32\][ ]=' arch/m68k/platform/coldfire/pci.c + defsnc 'static[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|256\|512\)_aes_cbc_enc_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]struct[ ]hash_testvec[ ]bfin_crc_tv_template\[\][ ]=' crypto/testmgr.h + defsnc '[ ]static[ ]u8[ ]bw_params\[3\]\[32\][ ]=' drivers/media/dvb/frontends/rtl2832.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm51\(02\|10\)_reva_patch\[\][ ]=' drivers/mfd/wm5102-tables.c + defsnc 'static[ ]const[ ]u32[ ]ar955x_1p0_\(radio\|baseband\|mac\)_postamble\[\]\[5\][ ]' drivers/net/wireless/ath/ath9k/ar955x_1p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar955x_1p0_\(\(radio\|mac\|baseband\)_core\|common_\(wo_xlna_\)\?rx_gain_table\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/955x_1p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar955x_1p0_modes_\(no_\)\?xpa_tx_gain_table\[\]\[9\][ ]=' drivers/net/wireless/ath/ath9k/955x_1p0_initvals.h + blobname 'ti-connectivity[/]wl12[78]x-fw-5-\([ms]r\|plt\)\.bin' drivers/net/wireless/wl12xx/main.c + blobname 'ti-connectivity[/]wl18xx-\(fw\|conf\)\.bin' drivers/net/wireless/wl18xx/main.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(ldo5\|buck1\)_voltage_map\[\][ ]=' drivers/regulator/lp3972.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(lp872x_ldo\|lp8720_ldo4\|lp8725_\(lilo\|buck\)\)_vtbl\[\][ ]=' drivers/regulator/lp872x.c + defsnc '\(static[ ]\)\?const[ ]int[ ]lp8788_dldo1239_vtbl\[\][ ]=' drivers/regulator/lp8788-ldo.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]mc13892_sw1\?\[\][ ]=' drivers/regulator/mc13892-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]VCORE_VSEL_table\[\][ ]=' drivers/regulator/tps65023-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]VDCDCx_VSEL_table\[\][ ]=' drivers/regulator/tps6507x-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]dcdc[12]_voltages\[\][ ]=' drivers/regulator/tps6524x-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]tps6586x_\(ldo4\|sm2\|dvm\)_voltages\[\][ ]=' drivers/regulator/tps6586x-regulator.c + defsnc 'static[ ]struct[ ]bcm_ddr_setting[ ]asT3\(LP\)\?B\?_DDRSetting\(160\|133\|100\|80\)MHz\[\][ ]\?=' drivers/staging/bcm/DDRInit.c + defsnc '[ ]*static[ ]const[ ]u8[ ]arp_req\[36\][ ]=' drivers/staging/csr/sme_sys.c + defsnc 'omap4430_adc_to_temp\[OMAP4430_ADC_END_VALUE[ ]-[ ]OMAP4430_ADC_START_VALUE[ ][+][ ]1\][ ]=' drivers/staging/oma-thermal/omap4-thermal.c + defsnc 'omap4460_adc_to_temp\[OMAP4460_ADC_END_VALUE[ ]-[ ]OMAP4460_ADC_START_VALUE[ ][+][ ]1\][ ]=' drivers/staging/oma-thermal/omap4-thermal.c + defsnc 'omap5430_adc_to_temp\[OMAP5430_ADC_END_VALUE[ ]-[ ]OMAP5430_ADC_START_VALUE[ ][+][ ]1\][ ]=' drivers/staging/oma-thermal/omap5-thermal.c + defsnc 'static[ ]struct[ ]vesa_mode[ ]vesa_mode_table\[\][ ]=' drivers/staging/sm7xxfb/sm7xxfb.c + defsnc 'static[ ]unsigned[ ]char[ ]rdesc\[\][ ]=' samples/uhid/uhid-example.c + defsnc 'static[ ]struct[ ]reg_default[ ]isabelle_reg_defs\[\][ ]=' sound/soc/codecs/isabelle.c + blobname 'dvb-usb-terratec-htc-stick-drxk\.fw' drivers/media/video/em28xx/em28xx-dvb.c + blobname 'rtl_nic[/]rtl8106e-1\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'rtl_nic[/]rtl8168g-1\.fw' drivers/net/ethernet/realtek/r8169.c + defsnc '[ ]static[ ]const[ ]u16[ ]mac_ocp_patch\[\][ ]=' in drivers/net/ethernet/realtek/r8169.c + blobname 'rt3290\.bin\(\.[\n][ ][ ][*][/]\)\?' drivers/net/wireless/rt2x00/rt2800pci.h + + # New in 3.7: + blobname 'imx[/]sdma[/]sdma-imx6q-to1\.bin' arch/arm/boot/dts/imx6q.dtsi + accept 'AES_T[ed]:\([\n]\.word[ ]0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)*[\n][@][ ]T[ed]4\[256\]\([\n]\.byte[ ]0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)*\([\n][@][ ]rcon\[\]\([\n]\.word[ ]0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)*\([,][ ]0\)*\)\?' arch/arm/crypto/aes-armv4.S + defsnc 'const[ ]u32[ ]cast5_s[1234]\[256\][ ]=' crypto/cast5_generic.c + defsnc 'const[ ]u32[ ]cast6_s[1234]\[256\][ ]=' crypto/cast6_generic.c + accept '[ ][*][ ]Once[ ]it[ ]returns[ ]successfully[,][ ]driver[ ]can[ ]use[ ]request_firmware' drivers/base/firmware_class.c + accept 'int[\n ]cache_firmware[(]const[ ]char[ ][*]fw_name[)][\n][{]\([\n]\+[^\n}][^\n]*\)*ret[ ]=[ ]request_firmware[(][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}][\n]' drivers/base/firmware_class.c + accept '[ ][*][ ]If[ ]one[ ]device[ ]called[ ]request_firmware' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]struct[ ]mV_pos[ ]__cpuinitconst[ ]\(vrm85\|mobilevrm\)_mV\[32\][ ]=' drivers/cpufreq/longhaul.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]__cpuinitconst[ ]mV_\(vrm85\|mobilevrm\)\[32\][ ]=' drivers/cpufreq/longhaul.h + # Sources for these are in the corresponding .fuc files. + defsnc 'static[ ]u32[ ]nva3_pcopy_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/copy/fuc/nva3.fuc.h + defsnc 'static[ ]u32[ ]nvc0_pcopy_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/copy/fuc/nvc0.fuc.h + defsnc 'static[ ]uint32_t[ ]nv98_pcrypt_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/crypt/fuc/nv98.fuc.h + defsnc 'uint32_t[ ]nve0_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc.h + defsnc 'uint32_t[ ]nve0_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h + defsnc 'nv04_graph_ctx_regs\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nv04.c + accept '[ ]*ret[ ]=[ ]request_firmware[(]&fw[,][ ]source[,][ ]&nv_device[(]bios[)]->pdev->dev[)][;]' drivers/gpu/drm/nouveau/core/subdev/bios/base.c + defsnc 'static[ ]u8[ ][*]edid_load[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*err[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ][&]pdev' drivers/gpu/drm/drm_edid_load.c + defsnc 'static[ ]const[ ]RegInitializer[ ]initData\[\][ ]__initconst[ ]=' drivers/ide/ali14xx.c + defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]tuner_init_fc2580\[\][ ]=' drivers/media/dvb-frontends/af9033_priv.h + defsnc '[ ]static[ ]const[ ]u8[ ]bw_params1\[3\]\[34\][ ]=' drivers/media/dvb-frontends/rtl2830.c + blobname 's5k4ecgx\.bin' drivers/media/i2c/s5k4ecgx.c + blobname 'v4l-coda\(dx6-imx27\|7541-imx53\)\.bin' drivers/media/platform/coda.c + blobname 's5p-mfc\(-v6\)\?\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c + defsnc 'static[ ]const[ ]struct[ ]e4000_lna_filter[ ]e400_lna_filter_lut\[\][ ]=' drivers/media/tuners/e4000_priv.h + defsnc 'static[ ]const[ ]struct[ ]e4000_if_filter[ ]e4000_if_filter_lut\[\][ ]=' drivers/media/tuners/e4000_priv.h + defsnc 'static[ ]const[ ]struct[ ]fc2580_reg_val[ ]fc2580_init_reg_vals\[\][ ]=' drivers/media/tuners/fc2580_priv.h + defsnc 'static[ ]const[ ]struct[ ]fc2580_freq_regs[ ]fc2580_freq_regs_lut\[\][ ]=' drivers/media/tuners/fc2580_priv.h + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_revb_patch\[\][ ]=' drivers/mfd/wm5110-tables.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]lpc32xx_nand_oob[ ]=' drivers/mtd/nand/lpc32xx_mlc.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]flctl_4secc_oob_64[ ]=' drivers/mtd/nand/sh_flctl.c + defsnc 'static[ ]const[ ]struct[ ]atl1c_platform_patch[ ]plats\[\][ ]__devinitconst[ ]=' drivers/net/ethernet/atheros/atl1c/atl1c_main.c + defsnc 'static[ ]const[ ]u32[ ]ar9565_1p0_\(\(mac\|baseband\|radio\)_core\|[Cc]ommon_\(wo_xlna_\)\?rx_gain_table\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9565_1p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9565_1p0_\(\(mac\|baseband\)_postamble\|[Mm]odes_\(low\(est\)\?\|high\)_\(ob_db\|power\)_tx_gain_table\)\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9565_1p0_initvals.h + defsnc 'static[ ]u16[ ]r2057_rev[4578]a\?_init\[[45][245]\]\[2\][ ]=' drivers/net/wireless/b43/radio_2057.c + defsnc '[ ]*tbl_rf_control_override_rev7_over[01]\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'static[ ]const[ ]unsigned[ ]pci_pins\[\][ ]=' drivers/pinctrl/spear/pinctrl-spear1310.c + defsnc 'static[ ]int[ ]array_soc\[\]\[2\][ ]=' drivers/power/88pm860x_battery.c + defsnc 'static[ ]const[ ]int[ ]mc13783_sw[12]x_val\[\][ ]=' drivers/regulator/mc13783-regulator.c + # remoteproc uses request_firmware, but it is generic and names + # no blobs of its own, so we change it to maybe_request_firmware. + accept '[ ]ret[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]FW_ACTION_HOTPLUG[,][\n][ ]*rproc->firmware[,][ ][&]rproc->dev[,][ ]GFP_KERNEL[,][\n][ ]*rproc[,][ ]rproc_fw_config_virtio[)][;][\n][ ]if[ ][(]ret[ ]<[ ]0[)][ ][{][\n][ ][ ]dev_err[(][&]rproc->dev[,][ ]["]request_firmware_nowait[ ]err' drivers/remoteproc/remoteproc_core.c + # This remoteproc client does name blobs, but we discard it + # with undefine_macro. + blob 'SPROC_MODEM_NAME[ ]["]-fw\.bin["]' drivers/remoteproc/ste_modem_rproc.c + accept '[ ]if[ ][(]request_firmware[(]&fw_entry,[ ]fname,[ ]&ioa_cfg->pdev->dev[)][)]' drivers/scsi/ipr.c + blobname 'daqboard2000_firmware\.bin' drivers/staging/comedi/drivers/daqboard2000.c + blobname 'me2600_firmware\.bin' drivers/staging/comedi/drivers/me_daq.c + blobname 'ni6534a\.bin' drivers/staging/comedi/drivers/ni_pcidio.c + blobname 'niscrb0[12]\.bin' drivers/staging/comedi/drivers/ni_pcidio.c + defsnc 'static[ ]const[ ]struct[ ]SiS_TVData[ ]XGI_\(St\|Ext\)\(PAL\|NTSC\|YPbPr\(525\|750\)[ip]\)Data\[\][ ]=' drivers/staging/xgifb/vb_table.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]XGI330_\(NTSC\|PAL\|HiTV\(Ext\|St[12]\|Text\)\|YPbPr\(525\|750\)[ip]\)Timing\[\][ ]=' drivers/staging/xgifb/vb_table.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]XGI330_\(HiTV\|Ren\(525\|750\)p\)Group3\(Data\|Simu\|Text\)\?\[\][ ]=' drivers/staging/xgifb/vb_table.h + accept 'static[ ]inline[ ]int[\n]\(maybe_\)\?reject_ihex_firmware\(_nowait\)\?[(][^{;]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' include/linux/firmware.h + defsnc '[/][*][ ]callback[ ]from[ ]request_firmware_nowait' sound/pci/hda/hda_intel.c + defsnc 'static[ ]int[ ]\(__devinit[ ]\)\?azx_probe[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*request_firmware[^\n]*' sound/pci/hda/hda_intel.c + defsnc 'static[ ]struct[ ]reg_default[ ]da9055_reg_defaults\[\][ ]=' sound/soc/codecs/da9055.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]sta32x_regs\[\][ ]=' sound/soc/codecs/sta32x.c + blobname 'wm0010\(_stage2\.bin\|\.dfw\)' sound/soc/codecs/wm0010.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5102_sysclk_reva_patch\[\][ ]=' sound/soc/codecs/wm5102.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8510_reg_defaults\[\][ ]=' sound/soc/codecs/wm8510.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8580_reg_defaults\[\][ ]=' sound/soc/codecs/wm8580.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8776_reg_defaults\[\][ ]=' sound/soc/codecs/wm8776.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8900_reg_defaults\[\][ ]=' sound/soc/codecs/wm8900.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8960_reg_defaults\[\][ ]=' sound/soc/codecs/wm8960.c + accept '[ ][ ]priv->firmware[ ]=[ ]true[;]' drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c + accept '[ ][ ]*\(if[ ][(]\|[ ][ ][ ][ ]\)nvc0_graph_ctor_fw[(]priv[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]priv->fuc4\(09\|1a\)[cd][)]' 'drivers/gpu/drm/nouveau/core/engine/graph/nv[ce]0\.c' + accept '[ ][ ]*nvc0_graph_dtor_fw[(]&priv->fuc4\(09\|1a\)[cd][)][;]' 'drivers/gpu/drm/nouveau/nv[ce]0\.c' + accept '[ ][ ]*nvc0_graph_init_fw[(]priv[,][ ]0x4\(09\|1a\)000[,][ ][&]priv->fuc4\(09\|1a\)c[,][ \n ]*[&]priv->fuc4\(09\|1a\)d[)][;]' 'drivers/gpu/drm/nouveau/core/engine/graph/nv[ce]0\.c' + blobname 'dvb-fe-xc5000c-4\.1\.30\.7\.fw' drivers/media/tuners/xc5000.c + accept '[ ]\.firmware[ ]=[ ]AF9015_FIRMWARE' drivers/media/usb/dvb-usb-v2/af9015.c + accept '[ ]\.firmware[ ]=[ ]AF9035_FIRMWARE' drivers/media/usb/dvb-usb-v2/af9035.c + accept '[ ]\.firmware[ ]*=[ ]AZ6007_FIRMWARE' drivers/media/usb/dvb-usb-v2/az6007.c + accept '[ ]\.firmware[ ]=[ ]EC168_FIRMWARE' drivers/media/usb/dvb-usb-v2/ec168.c + blobname 'brcm[/]brcmfmac43\(143\|242a\)\.bin' drivers/net/wireless/brcm80211/brcmfmac/usb.c + accept '[ ]priv->firmware[ ]=[ ]fw[;]' drivers/net/wireless/p54/p54pci.c + blobname 'c[bt]2\?fw-3\.1\.0\.0\.bin' drivers/scsi/bfa/bfad.c + blobname 'gdmuimg\.bin' drivers/staging/gdm72xx/usb_boot.c + blobname 'CMV4[pi]\.bin\(\.v2\)\?' drivers/usb/atm/ueagle-atm.c + blobname 'dvb-fe-tda10071\.fw' drivers/media/dvb/frontends/tda10071_priv.h + accept '[ ]st->it913x_config\.firmware[ ]=' drivers/media/usb/dvb-usb-v2/it913x.c + blobname 'ar3k[/]\(AthrBT_0x%08x\.dfu\|ramps_0x%08x_%d%s\)' drivers/bluetooth/ath3k.c + + # New in 3.8 + accept 'K_table:\([\n][ \t]*\.\(quad\|long\)[ \t]*0x[0-9a-f]*[,][ ]\?0x[0-9a-f]*\)*' arch/x86/crypto/crc32c-pcl-intel-asm_64.S + defsnc 'const[ ]u32[ ]cast_s[1234]\[256\][ ]=' crypto/cast_common.c + accept '[ ]request_firmware[ ]can[ ]be[ ]called[ ]safely' Documentation/firmware_class/README + defsnc 'static[ ]const[ ]int[ ]__initconst[ ]armada_370_xp_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]=' drivers/clk/mvebu/clk-core.c + defsnc 'static[ ]const[ ]int[ ]__initconst[ ]\(dove\|kirkwood\)_cpu_ddr_ratios\[16\]\[2\][ ]=' drivers/clk/mvebu/clk-core.c + defsnc 'static[ ]const[ ]int[ ]h_coef_8t\[GSC_COEF_RATIO\]\[GSC_COEF_ATTR\]\[GSC_COEF_H_8T\][ ]=' drivers/gpu/drm/exynos/exynos_drm_gsc.c + defsnc 'static[ ]const[ ]int[ ]v_coef_4t\[GSC_COEF_RATIO\]\[GSC_COEF_ATTR\]\[GSC_COEF_V_4T\][ ]=' drivers/gpu/drm/exynos/exynos_drm_gsc.c + defsnc 'static[ ]const[ ]struct[ ]atl1c_platform_patch[ ]plats\[\][ ]=' drivers/net/ethernet/atheros/atl1c/atl1c_main.c + defsnc 'u32[ ]RTL8723EPHY_REG_1TARRAY\[RTL8723E_PHY_REG_1TARRAY_LENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c + defsnc 'u32[ ]RTL8723EPHY_REG_ARRAY_PG\[RTL8723E_PHY_REG_ARRAY_PGLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c + defsnc 'u32[ ]RTL8723E_RADIOA_1TARRAY\[Rtl8723ERADIOA_1TARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c + defsnc 'u32[ ]RTL8723EMAC_ARRAY\[RTL8723E_MACARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c + defsnc 'u32[ ]RTL8723EAGCTAB_1TARRAY\[RTL8723E_AGCTAB_1TARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c + defsnc 'static[ ]struct[ ]abx500_v_to_cap[ ]cap_tbl\(_[AB]_thermistor\)\?\[\][ ]=' drivers/power/ab8500_bmdata.c + defsnc 'static[ ]u16[ ]rx51_temp_table2\[\][ ]=' drivers/power/rx51_battery.c + defsnc 'static[ ]const[ ]u32[ ]runnable_avg_yN_\(inv\|sum\)\[\][ ]=' kernel/sched/fair.c + defsnc '[ ]static[ ]const[ ]u32[ ]base\[4\]\[10\][ ]=' net/wireless/util.c + defsnc 'static[ ]unsigned[ ]short[ ]init[1234]\[128\][ ]=' sound/isa/sb/emu8000.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8750_reg_defaults\[\][ ]=' sound/soc/codecs/wm8750.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8770_reg_defaults\[\][ ]=' sound/soc/codecs/wm8770.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8971_reg_defaults\[\][ ]=' sound/soc/codecs/wm8971.c + blobname 'nouveau[/]nv%02x_fuc%03x[dc]\?' drivers/gpu/drm/nouveau/core/core/falcon.c + blobname 'ar5523\.bin' drivers/net/wireless/ath/ar5523/ar5523.h + blobname 'rtlwifi[/]rtl8723\(ae\)\?fw\(_B\)\?\.bin' drivers/net/wireless/rtlwifi/rtl8723ae/sw.c + blobname '%s-dsp%d\.\(wmfw\|bin\)' sound/soc/codecs/wm_adsp.c + blobname 'fw-4\.bin' drivers/net/wireless/ath/ath6kl/core.h + accept '[ ]hdsp->firmware[ ]=[ ]fw' sound/pci/rme9652/hdsp.c + + # ath9k firmware is now Free Software. + accept '[ ]err[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]1[,][ ]name[,][ ]sc->dev[,][ ]GFP_KERNEL[,][\n][ ]*[&]ec[,][ ]ath9k_eeprom_request_cb[)][;]' drivers/net/wireless/ath/ath9k/init.c + accept '[#]define[ ]FIRMWARE_AR7010_1_1[ ]*["]htc_7010\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[#]define[ ]FIRMWARE_AR9271[ ]*["]htc_9271\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept 'MODULE_FIRMWARE[(]FIRMWARE_AR7010_1_1[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept 'MODULE_FIRMWARE[(]FIRMWARE_AR9271[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[ ]ret[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]true[,][ ]hif_dev->fw_name[,][\n][ ]*[&]hif_dev->udev->dev[,][ ]GFP_KERNEL[,][\n][ ]*hif_dev[,][ ]ath9k_hif_usb_firmware_cb[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[ ]ret[ ]=[ ]request_firmware[(][&]hif_dev->firmware[,][ ]hif_dev->fw_name[,][\n][ ]*[&]hif_dev->udev->dev[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[ ][ ]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]hif_dev->fw_name[,][\n][ ]*[&]hif_dev->udev->dev[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + # as in 2.6.39 + accept '[#]define[ ]FIRMWARE_AR7010[ ]*["]ar7010\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[#]define[ ]FIRMWARE_AR7010_1_1[ ]*["]ar7010_1_1\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[#]define[ ]FIRMWARE_AR9271[ ]*["]ar9271\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept 'MODULE_FIRMWARE[(]FIRMWARE_AR7010[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + # as in 2.6.35 + accept '[ ]ATH9K_FW_USB_DEV[(]0x\(9271\|1006\)[,][ ]["]ar9271\.fw["][)][,]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[ ]dev_info[(][&]hif_dev->udev->dev[,][ ]["]ath9k_htc:[^\n"]*["][,][\n][ ]*["]ar9271\.fw["][,]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[ ]ret[ ]=[ ]request_firmware[(][&]hif_dev->firmware[,][ ]fw_name[,][ ][&]hif_dev->udev->dev[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + + # New in 3.9 + blobname 'imx[/]sdma[/]sdma-imx6q\.bin' arch/arm/boot/dts/imx6qdl.dtsi + accept '[ ]*nvidia,emc-registers[ ]=[ ]*<\(0x[0-9a-f]*[ \n]*\)*>[;]' arch/arm/boot/dts/tegra20-colibri-512.dtsi + blobname 'kernel[/]x86[/]microcode[/]GenuineIntel\.bin' arch/x86/kernel/microcode_intel_early.c + accept '[0-9][0-9]*[ ][0-3][ ][0-3][ ]0\([\n][0-9][0-9]*[ ][0-3][ ][0-3][ ]0\)*' Documentation/thermal/intel_powerclamp.txt + accept '[ ]return[ ]_request_firmware_load[(]fw_priv[,]' drivers/base/firmware_class.c + accept 'static[ ]int[\n]_request_firmware_prepare[(]struct[ ]firmware[ ][*][*]\?firmware_p' drivers/base/firmware_class.c + accept '[/][*][ ]called[ ]from[ ]request_firmware[(][)][ ]and[ ]request_firmware_work_func[(][)][ ][*][/]' drivers/base/firmware_class.c + accept '[ ]_request_firmware[(][&]fw[,][ ]fw_work->name' drivers/base/firmware_class.c + accept '[ ]put_device[(]fw_work->device[)][;][ ][/][*][ ]taken[ ]in[ ]request_firmware_nowait[(][)][ ][*][/]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]u16[ ]x[48]_vectors\[\][ ]=' drivers/edac/amd64_edac.c + defsnc 'static[ ]const[ ]struct[ ]hdmiphy_config[ ]hdmiphy_v14_configs\[\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c + defsnc 'static[ ]const[ ]u32[ ]oland_io_mc_regs\[TAHITI_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/si.c + defsnc 'static[ ]const[ ]u8[ ]sixaxis_rdesc_fixup2\?\[\][ ]=' drivers/hid/hid-sony.c + defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]tuner_init_fc0012\[\][ ]=' drivers/media/dvb-frontends/af9033_priv.h + defsnc '\(static[ ]\)\?struct[ ]linear_segments[ ]cnr_\(to_db\|\(64\|16\)qam\|qpsk\)_table\[\][ ]=' drivers/media/dvb-frontends/mb86a20s.c + blobname 'SlimISP_\(%\.2s\|..\)\.bin' drivers/media/i2c/s5c73m3/s5c73m3-core.c + defsc 'static[ ]const[ ]struct[ ]i2c_rv[ ]ov965x_init_regs\[\][ ]=' drivers/media/i2c/ov9650.c + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]vp7049_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/m920x.c + blobname 'dvb-usb-vp7049-0\.95\.fw' drivers/media/dvb/dvb-usb/m920x.c + # The blob name is just the chip name, so no point in deblobbing; + # more so considering the number of false positives this would + # bring about. + # blobname 'lp5521' drivers/leds/leds-lp5521.c + # blobname 'lp55231\?' drivers/leds/leds-lp5523.c + blobname 'lattice-ecp3\.bit' drivers/misc/lattice-ecp3-config.c + defsnc '[ ]*static[ ]const[ ]uint8_t[ ]rss_key\[UPT1_RSS_MAX_KEY_SIZE\][ ]=' drivers/net/vmxnet3/vmxnet3_drv.c + defsnc 'static[ ]const[ ]u32[ ]ar9300Modes_\(mixed_ob_db\|type5\)_tx_gain_table_2p2\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9340Modes_low_ob_db_and_spur_tx_gain_table_1p0\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9485Modes_green_spur_ob_db_tx_gain_1_1\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9580_1p0_type6_tx_gain_table\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9580_1p0_initvals.h + blobname 'iwlwifi-\(7260\|3160\)-' drivers/net/wireless/iwlwifi/pcie/7000.c + blobname 'mrvl[/]pcie8897_uapsta\.bin' drivers/net/wireless/mwifiex/pcie.h + accept 'static[ ]const[ ]struct[ ]mwifiex_pcie_device[ ]mwifiex_pcie\(8766\|8897\)[ ]=[ ][{][\n][ ]\.firmware[ ]*=' drivers/net/wireless/mwifiex/pcie.h + accept '[ ][ ]card->pcie\.firmware[ ]=' drivers/net/wireless/mwifiex/pcie.c + accept '[ ][ ]\.per_chan_pwr_limit_arr_11abg[ ]*=[ ][{][ 0xf,\n]*' drivers/net/wireless/ti/wl18xx/main.c + blobname 'ti-connectivity[/]wl18xx-fw-2\.bin' drivers/net/wireless/ti/wl18xx/main.c + blobname '%s-dsp%d-%s\.\(wmfw\|bin\)' sound/soc/codecs/wm_adsp.c + defsnc 'static[ ]const[ ]struct[ ]reg_addr[ ]\(idle_\)\?reg_addrs\[\][ ]=' drivers/net/ethernet/broadcom/bnx2x/bnx2x_dump.h + blobname '83xx_fw\.bin' drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]dump_num_registers\[NUM_CHIPS\]\[NUM_PRESETS\][ ]=' drivers/net/ethernet/broadcom/bnx2x/bnx2x_dump.h + defsnc 'static[ ]int[ ]pm2xxx_charger_voltage_map\[\][ ]=' drivers/power/pm2301_charger.c + accept '[ ][*][ ]comedi[ ]drivers\.[ ]The[ ]request_firmware[(][)][ ]hotplug' drivers/staging/comedi/comedi.h + blobname 'rp2\.fw' drivers/tty/serial/rp2.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]seq_\(w\|rgb\)_gamma\[\][ ]=' drivers/video/backlight/lms501kf03.c + defsnc '[#]include[ ][\n]*static[ ]u16[ ]init\[\][ ]=' drivers/video/mmp/panel/tpo_tj032md01bw.c + defsnc 'static[ ]struct[ ]tegra_clk_pll_freq_table[ ]pll_[mpadcu]_freq_table\[\][ ]=' 'drivers/clk/tegra/clk-tegra[23]0\.c' + blobname 'ctefx\.bin' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]unsigned[ ]int[ ]\(voice_focus\|mic_svm\|equalizer\)_vals_lookup\[\][ ]=' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]struct[ ]hda_verb[ ]ca0132_init_verbs0\[\][ ]=' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]const[ ]int[ ]dmic_comp\[6\]\[6\][ ]=' sound/soc/codecs/max98090.c + + # New in 3.10 + accept '[ \t]*edid[ ]=[ ]\[00[ ]FF[ 0-9A-F\n\t]*\]' arch/powerpc/boot/dts/ac14xx.dts + accept 'K256:[\n][\t]\.long[ ]0x428a2f98[,][0-9a-f0x,]*\([\n][\t]\.long[ ][0-9a-f0x,]*\)*' arch/x86/crypto/sha256-avx-asm.S + accept 'K256:[\n][\t]\.long[\t]0x428a2f98[,][0-9a-f0x,]*\([\n][\t]\.long[\t][0-9a-f0x,]*\)*' arch/x86/crypto/sha256-avx2-asm.S + accept 'K256:[\n][ ]*\.long[ ]0x428a2f98[,][0-9a-f0x,]*\([\n][ ]*\.long[ ][0-9a-f0x,]*\)*' arch/x86/crypto/sha256-ssse3-asm.S + accept 'K512:[\n][\t]\.quad[ ]0x428a2f98d728ae22[,][0-9a-f0x,]*\([\n][\t]\.quad[ ][0-9a-f0x,]*\)*' 'arch/x86/crypto/sha512-\(avx\|ssse3\)-asm\.S' + accept 'K512:[\n][\t]\.quad[\t]0x428a2f98d728ae22[,][0-9a-f0x,]*\([\n][\t]\.quad[\t][0-9a-f0x,]*\)*' 'arch/x86/crypto/sha512-avx2-asm.S' + defsnc 'static[ ]const[ ]uint32_t[ ]axi_clkgen_lock_table\[\][ ]=' drivers/clk/clk-axi-clkgen.c + defsnc 'static[ ]const[ ]int[ ]arizona_micd_levels\[\][ ]=' drivers/extcon/extcon-arizona.c + defsnc 'static[ ]const[ ]struct[ ]hdmiphy_config[ ]hdmiphy_v13_configs\[\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c + defsnc '[ ][}][ ]common_modes\[\][ ]=' drivers/gpu/drm/qxl/qxl_display.c + defsnc 'static[ ]const[ ]u32[ ]\(evergreen\|cedar\|supersumo\|wrestler\|barts\|turks\|caicos\)_golden_registers2\?\[\][ ]=' drivers/gpu/drm/radeon/evergreen.c + defsnc 'static[ ]const[ ]u32[ ]\(cypress\|redwood\|cedar\|juniper\)_mgcg_init\[\][ ]=' drivers/gpu/drm/radeon/evergreen.c + defsnc 'static[ ]const[ ]u32[ ]\(cayman\|dvst\|scrapper\)_golden_registers2\?\[\][ ]=' drivers/gpu/drm/radeon/ni.c + defsnc 'static[ ]const[ ]u32[ ]cayman_io_mc_regs\[BTC_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/si.c + defsnc 'static[ ]const[ ]u32[ ]\(r7xx\|rv7[1347]0\)_\(golden_registers\|mgcg_init\)\[\][ ]=' drivers/gpu/drm/radeon/rv770.c + defsnc 'static[ ]const[ ]u32[ ]\(tahiti\|pitcairn\|verde\|oland\|hainan\)_\(golden_registers\|mgcg_cgcg_init\)\[\][ ]=' drivers/gpu/drm/radeon/si.c + defsnc 'static[ ]\(const[ ]\)\?u32[ ]verde_pg_init\[\][ ]=' drivers/gpu/drm/radeon/si.c + defsnc 'static[ ]const[ ]u32[ ]hainan_io_mc_regs\[TAHITI_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/si.c + defsnc 'static[ ]const[ ]s16[ ]temp_lut\[\][ ]=' drivers/hwmon/via686a.c + defsnc 'static[ ]const[ ]u8[ ]via_lut\[\][ ]=' drivers/hwmon/via686a.c + defsnc 'static[ ]const[ ]uint64_t[ ]crc_table\[256\][ ]=' drivers/md/bcache/util.c + defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]ofsm_init_it9135_v[12]\[\][ ]=' drivers/media/dvb-frontends/af9033_priv.h + defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]tuner_init_it9135_\(38\|51\|52\|60\|61\|62\)\[\][ ]=' drivers/media/dvb-frontends/af9033_priv.h + defsc 'static[ ]struct[ ]regdata[ ]mb86a20s_init2\[\][ ]=' drivers/media/dvb-frontends/mb86a20s.c + defsnc 'static[ ]const[ ]u8[ ]channel_registers\[\][ ]=' drivers/media/i2c/tw2804.c + defsnc '[\t]static[ ]const[ ]struct[ ]si476x_property_range[ ]valid_ranges\[\][ ]=' drivers/mfd/si476x-prop.c + defsnc '[\t]static[ ]const[ ]unsigned[ ]int[ ]t[45]_reg_ranges\[\][ ]=' drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c + defsnc 'static[ ]const[ ]u16[ ]b43_ntab_antswctl_r3\[4\]\[32\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'static[ ]struct[ ]nphy_gain_ctl_workaround_entry[ ]nphy_gain_ctl_wa_phy6_radio11_ghz2[ ]=' drivers/net/wireless/b43/tables_nphy.c + defsc 'static[ ]struct[ ]nphy_gain_ctl_workaround_entry[ ]nphy_gain_ctl_workaround\[2\]\[4\][ ]=' drivers/net/wireless/b43/tables_nphy.c + defsnc 'static[ ]const[ ]u16[ ]b43_lcntab_sw_ctl_4313_epa_rev0\[\][ ]=' drivers/net/wireless/b43/tables_phy_lcn.c + defsc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_5592_xtal[24]0\[\][ ]=' drivers/net/wireless/rt2x00/rt2800lib.c + defsnc 'u32[ ]RTL8188EEPHY_REG_\(1TARRAY\|ARRAY_PG\)\[\][ ]=' drivers/net/wireless/rtlwifi/rtl8188ee/table.c + defsnc 'u32[ ]RTL8188EE_RADIOA_1TARRAY\[\][ ]=' drivers/net/wireless/rtlwifi/rtl8188ee/table.c + defsnc 'u32[ ]RTL8188EEMAC_1T_ARRAY\[\][ ]=' drivers/net/wireless/rtlwifi/rtl8188ee/table.c + defsnc 'u32[ ]RTL8188EEAGCTAB_1TARRAY\[\][ ]=' drivers/net/wireless/rtlwifi/rtl8188ee/table.c + defsc 'static[ ]const[ ]struct[ ]pinmux_cfg_reg[ ]pinmux_config_regs\[\][ ]=' 'drivers/pinctrl/sh-pfc/pfc-\(r8a77\(40\|79\)\|sh72\(03\|69\)\)\.c' + defsnc 'static[ ]const[ ]struct[ ]abx500_v_to_cap[ ]cap_tbl\(_[ab]_thermistor\)\?\[\][ ]=' drivers/power/ab8500_bmdata.c + defsnc 'static[ ]int[ ]ab8540_charge_\(output\|input\)_curr_map\[\][ ]=' drivers/power/ab8500_bmdata.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ldo_vaux56_ab8540_voltages\[\][ ]=' drivers/regulator/ab8500.c + accept '[\t]rproc->firmware[ ]=[ ]p[;]' drivers/remoteproc/remoteproc_core.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]jpeg_header\[\][ ]=' drivers/staging/media/solo6x10/solo6x10-jpeg.h + defsnc 'const[ ]unsigned[ ]char[ ]jpeg_dqt\[4\]\[DQT_LEN\][ ]=' drivers/staging/media/solo6x10/solo6x10-jpeg.h + defsnc 'static[ ]unsigned[ ]char[ ]vop_6010_\(ntsc\|pal\)_\(d1\|cif\)\[\][ ]=' drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c + defsnc 'u8[ ]\(sbox\|dot[23]\)_table\[256\][ ]=' drivers/staging/vt6656/aes_ccmp.c + defsnc 'static[ ]const[ ]u32[ ]s_adwCrc32Table\[256\][ ]=' drivers/staging/vt6656/tcrc.c + defsnc 'const[ ]u8[ ]TKIP_Sbox_\(Lower\|Upper\)\[256\][ ]=' drivers/staging/vt6656/tkip.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]tas5086_reg_defaults\[\][ ]=' sound/soc/codecs/tas5086.c + accept '[\t]\.firmware[\t]=[ ]' drivers/bluetooth/btmrvl_sdio.c + blobname 'mrvl[/]sd8688\(_helper\)\?\.bin' drivers/bluetooth/btmrvl_sdio.c + blobname 'mrvl[/]sd8897_uapsta\.bin' drivers/bluetooth/btmrvl_sdio.c + blobname '\(\(atsc\|tdmb\)_denver\|cmmb_\(ming_app\|venice_12mhz\)\|dvbh\?_rio\|fm_radio\(_rio\)\?\|isdbt_\(pele\|rio\)\)\.inp' drivers/media/common/siano/smscoreapi.h + blobname 'tigon[/]tg357766\.bin' drivers/net/ethernet/broadcom/tg3.c + blobname 'cxgb4[/]t5fw\.bin' drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c + blobname 'rtl_nic[/]rtl8106e-2\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'rtl_nic[/]rtl8168g-[23]\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'mwl8k[/]fmimage_8764_ap-["][ ][#]api[ ]["]\.fw' drivers/net/wireless/mwl8k.c + blobname 'go7007[/]go7007fw\.bin' drivers/staging/media/go7007/go7007-driver.c + blobname 'go7007[/]go7007tv\.bin' drivers/staging/media/go7007/go7007-fw.c + blobname 'go7007[/]\(s2250-[12]\|px-\(m\|tv\)402u\|lr192\|wis-startrek\)\.fw' drivers/staging/media/go7007/go7007-loader.c + blobname 'intel[/]ibt-hw-%x\.%x\(\.%x-fw-%x\.%x\.%x\.%x\.%x\)\?\.bseq' drivers/bluetooth/btusb.c + blobname 'radeon[/]\(RV710\|CYPRESS\|SUMO\|TAHITI\)_uvd\.bin' drivers/gpu/drm/radeon/radeon_uvd.c + blobname 'imspcu\.fw' drivers/input/misc/ims-pcu.c + blobname 'fimc_is_fw\.bin' drivers/media/platform/exynos4-is/fimc-is.h + blobname 'setfile\.bin' drivers/media/platform/exynos4-is/fimc-is.h + blobname 'rtlwifi[/]rtl8188efw\.bin' drivers/net/wireless/rtlwifi/rtl8188ee/sw.c + + # New in 3.11. + blobname 'imx[/]sdma[/]sdma-imx6sl\.bin' arch/arm/boot/dts/imx6sl.dtsi + initnc '[ ]linux,keymap[ ]=[ ]<' 'arch/arm/boot/dts/nspire-\(clp\|cx\|tp\)\.dts' + blobname '\(kernel[/]x86[/]microcode[/]\)\?AuthenticAMD\.bin' arch/x86/kernel/microcode_amd_early.c + initnc '[ ]*FMC:[ ]poor[ ]dump[ ]of[ ]sdb[ ]first[ ]level:' Documentation/fmc/parameters.txt + accept 'static[ ]int[\n ]cache_firmware[(]const[ ]char[ ][*]fw_name[)][\n][{]\([\n]\+[^\n}][^\n]*\)*ret[ ]=[ ]request_firmware[(][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}][\n]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]int[ ]__initconst[ ]a370_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]=' drivers/clk/mvebu/armada-370.c + defsnc 'static[ ]const[ ]int[ ]__initconst[ ]axp_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]=' drivers/clk/mvebu/armada-xp.c + defsnc 'static[ ]const[ ]struct[ ]mV_pos[ ]\(vrm85\|mobilevrm\)_mV\[32\][ ]=' drivers/cpufreq/longhaul.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]mV_\(vrm85\|mobilevrm\)\[32\][ ]=' drivers/cpufreq/longhaul.h + accept '[][ 0-9.]*fake-fmc-carrier:[ ]Mezzanine[ ]0:[ ]eeprom[ ]["]fdelay-eeprom\.bin["]' Documentation/fmc/fmc-fakedev.txt + accept '[][ 0-9.]*spec[ ][024:.]*[ ]got[ ]file[ ]["]fmc[/]spec-init\.bin["]' Documentation/fmc/fmc-write-eeprom.txt + defsnc 'static[ ]char[ ]ff_eeimg\[FF_MAX_MEZZANINES\]\[FF_EEPROM_SIZE\][ ]=' drivers/fmc/fmc-fakedev.c + accept '[ ]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]gw[,][ ][&]fmc->dev[)][;]' drivers/fmc/fmc-fakedev.c + accept '[ ][ ]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]ff_eeprom\[i\][,][ ][&]ff->dev[)][;]' drivers/fmc/fmc-fakedev.c + accept '[ ]if[ ][(][!]strcmp[(]last4[,][ ]["]\.bin["][)][)]' drivers/fmc/fmc-write-eeprom.c + accept '[ ]err[ ]=[ ]request_firmware[(][&]fw[,][ ]s[,][ ]dev[)][;]' drivers/fmc/fmc-write-eeprom.c + defsnc 'nvc0_grctx_init_\(icmd\|9097\|902d\|90c0\|unk40xx\|unk46xx\|unk78xx\|gpc_[01]\|tpc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c + defsnc 'nvc1_grctx_init_\(icmd\|9097\|gpc_0\|tpc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc1.c + defsnc 'nvc3_grctx_init_tpc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc3.c + defsnc 'nvc8_grctx_init_\(icmd\|tpc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc8.c + defsnc 'nvd7_grctx_init_\(unk40xx\|unk58xx\|gpc_0\|tpc\|unk\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd7.c + defsnc 'nvd9_grctx_init_\(icmd\|90c0\|unk40xx\|unk58xx\|gpc_0\|tpc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd9.c + defsnc 'nve4_grctx_init_\(icmd\|a097\|unk40xx\|unk46xx\|unk58xx\|unk64xx\|rop\|gpc_0\|tpc\|unk\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnve4.c + defsnc 'nvf0_grctx_init_\(unk40xx\|unk64xx\|unk88xx\|gpc_0\|tpc\|unk\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvf0.c + defsnc 'uint32_t[ ]nvd7_grgpc_code\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc.h + defsnc 'uint32_t[ ]nvf0_grgpc_code\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc.h + defsnc 'uint32_t[ ]nvd7_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h + defsnc 'uint32_t[ ]nvf0_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h + defsnc 'nvc0_graph_init_\(regs\|[gt]pc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c + defsnc 'nvc1_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc1.c + defsnc 'nvc3_graph_init_tpc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc3.c + defsnc 'nvc8_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc8.c + defsnc 'nvd7_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvd7.c + defsnc 'nvd9_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvd9.c + defsnc 'nve4_graph_init_\(regs\|[gt]pc\|unk\|unk88xx\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nve4.c + defsnc 'nvf0_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c + defsnc '[ ][}][ ]magic\[\][ ]=[ ][{][\n][ ][ ][{][ ]0x020520[,]' drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c + blobname 'nouveau[/]nv84_xuc%03x' drivers/gpu/drm/nouveau/core/engine/graph/xtensa.c + defsnc 'nv50_fb_memtype\[0x80\][ ]=' drivers/gpu/drm/nouveau/core/subdev/fb/nv50.c + defsnc 'static[ ]const[ ]u32[ ]\(barts\|caicos\|turks\)_\(\(cgcg_cgls\|sysls\)_\(default\|disable\|enable\)\|mgcg_default\)\[\][ ]=' drivers/gpu/drm/radeon/btc_dpm.c + defsnc 'u32[ ]btc_valid_sclk\[40\][ ]=' drivers/gpu/drm/radeon/btc_dpm.c + defsnc 'static[ ]const[ ]u32[ ]\(bonaire\|spectre\|kalindi\)_\(golden_registers\|mgcg_cgcg_init\)\[\][ ]=' drivers/gpu/drm/radeon/cik.c + defsnc 'static[ ]const[ ]u32[ ]bonaire_io_mc_regs\[BONAIRE_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/cik.c + blobname 'radeon[/]\(BONAIRE\|KAVERI\|KABINI\|%s\)_\(pfp\|[mc]ec\?\|rlc\|s\?mc\|sdma\)\.bin' drivers/gpu/drm/radeon/cik.c + defsnc 'static[ ]u32[ ]sumo_rlc_save_restore_register_list\[\][ ]=' drivers/gpu/drm/radeon/evergreen.c + defsnc 'static[ ]u32[ ]tn_rlc_save_restore_register_list\[\][ ]=' drivers/gpu/drm/radeon/ni.c + blobname 'radeon[/]\(BARTS\|BTC\|TURKS\|CAICOS\|%s\)_\(pfp\|m[ec]\|rlc\|smc\)\.bin' 'drivers/gpu/drm/radeon/[ns]i\.c' + defsnc 'static[ ]const[ ]struct[ ]ni_cac_weights[ ]cac_weights_cayman_\(xt\|pro\|le\)[ ]=' drivers/gpu/drm/radeon/ni_dpm.c + blobname 'radeon[/]\(R\([67]0\|V6[1237]\|S7[1378]\)[05]\|CEDAR\|REDWOOD\|JUNIPER\|CYPRESS\|SUMO2\?\|%s\)_\(pfp\|[mc]e\|rlc\|s\?mc\)\.bin' drivers/gpu/drm/radeon/r600.c + defsnc 'static[ ]const[ ]u32[ ]cayman_\(\(cgcg_cgls\|sysls\)_\(default\|disable\|enable\)\|mgcg_default\)\[\][ ]=' drivers/gpu/drm/radeon/ni_dpm.c + blobname 'radeon[/]BONAIRE_uvd\.bin' drivers/gpu/drm/radeon/radeon_uvd.c + blobname 'radeon[/]\(TAHITI\|PITCARIN\|VERDE\|OLAND\|HAINAN\|%s\)_\(pfp\|[mc]e\|rlc\|s\?mc\)\.bin' drivers/gpu/drm/radeon/si.c + defsnc 'static[ ]struct[ ]dll_speed_setting[ ]dll_speed_table\[16\][ ]=' drivers/gpu/drm/radeon/rv740_dpm.c + defsnc 'static[ ]const[ ]u8[ ]\(rv7[7314]0\|cedar\|redwood\|juniper\|cypress\|barts\|turks\|caicos\|cayman\)_smc_int_vectors\[\][ ]=' drivers/gpu/drm/radeon/rv770_smc.c + defsnc 'static[ ]const[ ]struct[ ]si_dte_data[ ]dte_data_\(tahiti\(_le\|_pro\)\?\|new_zealand\|aruba_pro\|malta\|pitcairn\|curacao_\(xt\|pro\)\|neptune_xt\|cape_verde\|venus_\(xtx\?\|pro\)\|oland\|mars_pro\|sun_xt\)[ ]=' drivers/gpu/drm/radeon/si_dpm.c + defsnc 'static[ ]const[ ]u32[ ]trinity_\(mgcg_shls_default\|sysls_\(default\|disable\|enable\)\|override_mgpg_sequences\)\[\][ ]=' drivers/gpu/drm/radeon/trinity_dpm.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]hex_table\[256\][ ]=' drivers/md/dm-switch.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5102_revb_patch\[\][ ]=' drivers/mfd/wm5102-tables.c + blobname 'c\(b\|t2\?\)fw-3\.2\.1\.0\.bin' 'drivers/\(net/ethernet/brocade/bna/cna\.h\|scsi/bfa/bfad\.c\)' + blobname 'rtl_nic[/]rtl8411-2\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'ath10k[/]QCA988X[/]hw[12]\.0' drivers/net/wireless/ath/ath10k/hw.h + blobname '\(ath10k[/]QCA988X[/]hw[12]\.0[/]\)\?\(firmware\|otp\|board\)\.bin' drivers/net/wireless/ath/ath10k/hw.h + defsnc 'static[ ]const[ ]u32[ ]ar9462_modes_mix_ob_db_tx_gain_table_2p0\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9462_2p0_5g_xlna_only_rxgain\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9462_2p1_\(\(mac\|baseband\|radio\)_core\|common_\(mixed_\|wo_xlna_\|5g_xlna_only_\)\?rx_gain\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p1_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9462_2p1_\(\(mac\|baseband\)_postamble\|modes_\(low\|high\|mix\)_ob_db_tx_gain\)\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p1_initvals.h + blobname '\(boot_cw1x60\|\(wsm\|sdd\)_\(cw1x60\|22\|20\|11\|10\)\)\.bin' drivers/net/wireless/cw1200/fwio.h + accept '[ ][*][ ]4\.[ ]save[ ]as[ ]["]iNVM_xxx\.bin["]' drivers/net/wireless/iwlwifi/mvm/nvm.c + accept 'static[ ]const[ ]struct[ ]mwifiex_sdio_device[ ]mwifiex_sdio_sd[^ ]*[ ]=[ ][{][\n][ ]*\.firmware[ ]=' drivers/net/wireless/mwifiex/sdio.h + blobname 'sdd_sagrad_1091_1098\.bin' 'drivers/net/wireless/cw1200/cw1200_sdio\.c\|include/linux/platform_data/net-cw1200\.h' + accept '[/][*][ ]An[ ]example[^*]*[\n][ ]*\.sdd_file[ ]=[ ]["]sdd_\(sagrad_1091_1098\|myplatform\)\.bin["][,]' include/linux/platform_data/net-cw1200.h + defsnc 'static[ ]unsigned[ ]const[ ]score_pins\[BYT_NGPIO_SCORE\][ ]=' drivers/pinctrl/pinctrl-baytrail.c + defsnc 'static[ ]unsigned[ ]const[ ]sus_pins\[BYT_NGPIO_SUS\][ ]=' drivers/pinctrl/pinctrl-baytrail.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]bsc_data32_pins\[\][ ]=' drivers/pinctrl/pinctrl-baytrail.c + blobname 'mt76\(50\|62\)\.bin' drivers/staging/btmtk_usb/btmtk_usb.c + accept '[ ]*data->firmware[ ]=[ ]firmware[;]' drivers/staging/btmtk_usb/btmtk_usb.c + accept '[ ]\[CODA_IMX\(27\|53\)\][ ]=[ ][{][\n][ ][ ]\.firmware[ ]*=' drivers/media/platform/coda.c + blobname 'exynos4_\(fimc_is_fw\|s5k6a3_setfile\)\?\.bin' drivers/media/platform/exynos4-is/fimc-is.h + accept '[ ]*ret[ ]=[ ]process_sigma_firmware[(]client[,][ ]ADAU1701_FIRMWARE[)][;]' sound/soc/codecs/adau1701.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5640_reg\[RT5640_VENDOR_ID2[ ][+][ ]1\][ ]=' sound/soc/codecs/rt5640.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ssm2518_reg_defaults\[\][ ]=' sound/soc/codecs/ssm2518.c + + # New in 3.12. + blobname 's5p-mfc-v7\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c + blobname 'ct2\?fw-3\.2\.1\.1\.bin' drivers/net/ethernet/brocade/bna/cna.h + blobname 'c[bt]2\?fw-3\.2\.1\.1\.bin' drivers/scsi/bfa/bfad.c + blobname '84xx_fw\.bin' drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c + accept '[ ]interrupts[ ]=[ ]<\([\n][ ]*0x\([ef]\|1[01]\)[0-9a-f][ ]0[ ]0[ ]0\)*>[;]' arch/powerpc/boot/dts/fsl/qoriq-mpic4\.3\.dtsi + defsnc '__visible[ ]const[ ]u64[ ]camellia_sp\(10011110\|22000222\|03303033\|00444404\|02220222\|30333033\|44044404\|11101110\)\[256\][ ]=' arch/x86/crypto/camellia_glue.c + defsnc '__visible[ ]const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]=' crypto/aes_generic.c + defsnc '__visible[ ]const[ ]u32[ ]cast_s[1234]\[256\][ ]=' crypto/cast_common.c + accept '[ ]*interrupts[ ]=[ ]<[ ]*\(0[ ]2[012][0-9][ ]4[ \n]*\)*>[;]' Documentation/devicetree/bindings/dma/shdma.txt + accept '[ ][ ]interrupts[ ]=[ ]<\([\n][ ]*0x\([ef]\|1[01]\)[0-9a-f][ ]0[ ]0[ ]0\)*>[;]' Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt + defsnc 'static[ ]const[ ]int[ ]a370_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]__initconst[ ]=' drivers/clk/mvebu/armada-370.c + defsnc 'static[ ]const[ ]int[ ]axp_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]__initconst[ ]=' drivers/clk/mvebu/armada-xp.c + defsnc 'static[ ]const[ ]int[ ]\(dove\|kirkwood\)_cpu_ddr_ratios\[16\]\[2\][ ]__initconst[ ]=' drivers/clk/mvebu/clk-core.c + defsnc 'static[ ]const[ ]u8[ ]zero_message_\(hash\|hmac\)_sha256\[SHA256_DIGEST_SIZE\][ ]=' drivers/crypto/ux500/hash/hash_core.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]a3xx_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a3xx_gpu.c + blobname 'a3[03]0_p\(m4\|fp\)\.fw' drivers/gpu/drm/msm/adreno/a3xx_gpu.c + defsnc 'static[ ]const[ ]struct[ ]ci_pt_defaults[ ]defaults_\(bonaire\|saturn\)_\(xt\|pro\)[ ]=' drivers/gpu/drm/radeon/ci_dpm.c + defsnc 'static[ ]const[ ]u32[ ]sumo_rlc_save_restore_register_list\[\][ ]=' drivers/gpu/drm/radeon/evergreen.c + defsnc 'static[ ]const[ ]struct[ ]kv_lcac_config_values[ ]cpl_local_cac_cfg_kv\[\][ ]=' drivers/gpu/drm/radeon/kv_dpm.c + defsnc 'static[ ]const[ ]u32[ ]tn_rlc_save_restore_register_list\[\][ ]=' drivers/gpu/drm/radeon/ni.c + defsnc 'static[ ]struct[ ]imx_i2c_clk_pair[ ]\(imx\|vf610\)_i2c_clk_div\[\][ ]=' drivers/i2c/busses/i2c-imx.c + defsnc 'static[ ]const[ ]u16[ ]apds9300_lux_ratio\[\][ ]=' drivers/iio/light/apds9300.c + accept '[ ]ar->firmware[ ]=[ ]\(NULL\|ath10k_fetch_fw_file\)' drivers/net/wireless/ath/ath10k/core.c + defsnc 'static[ ]const[ ]u16[ ]dot11lcn_sw_ctrl_tbl_4313_ipa_rev0_combo\[\][ ]=' drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_lcn.c + accept '[ ][ ]adapter->firmware[ ]=[ ]NULL' drivers/net/wireless/mwifiex/main.c + defsc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3053\[\][ ]=' drivers/net/wireless/rt2x00/rt2800lib.c + defsnc 'static[ ]const[ ]int[ ]bq24190_\(ccc_ichg\|cvc_vreg\)_values\[\][ ]=' drivers/power/bq24190_charger.c + blobname '[(]i\.e\.[ ]["]asfep\.bin["][)][ ][*][/]' drivers/staging/dgap/downlod.c + blobname '[(]["][/]etc[/]dgap[/]xrfep\.bin["][)][;][ ][*][/]' drivers/staging/dgap/downlod.c + blobname '["][/]lib[/]firmware[/]dgap[/]["]' drivers/staging/dgap/downld.c + blobname '\(fx\|cx\|cxp\|ibm\(cx\|en\)\|xr\|sx\|pci\)\(bios\|fep\|con\|host\)\.bin' drivers/staging/dgap/downld.c + defsnc 'static[ ]const[ ]struct[ ]msi3101_gain[ ]msi3101_gain_lut_\(120\|245\|1000\)\[\][ ]=' drivers/staging/media/msi3101/sdr-msi3101.c + defsnc 'static[ ]struct[ ]ch_freq[ ]ch_freq_map\[\][ ]=' drivers/staging/rtl8188eu/core/rtw_rf.c + defsnc 'static[ ]\(const\)\?[ ]\?u8[ ]sbox_table\[256\][ ]=' drivers/staging/rtl8188eu/core/rtw_security.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]Sbox1\[2\]\[256\][ ]=' drivers/staging/rtl8188eu/core/rtw_security.c + defsnc 'const[ ]u32[ ]T[ed]0\[256\][ ]=' drivers/staging/rtl8188eu/core/rtw_security.c + defsnc 'const[ ]u8[ ]Td4s\[256\][ ]=' drivers/staging/rtl8188eu/core/rtw_security.c + defsnc 'static[ ]u32[ ]array_\(agc_tab\|phy_reg\)_\(1t\|pg\)_8188e\[\][ ]=' drivers/staging/rtl8188eu/hal/HalHWImg8188E_BB.c + defsnc 'static[ ]u32[ ]array_MAC_REG_8188E\[\][ ]=' drivers/staging/rtl8188eu/hal/HalHWImg8188E_MAC.c + defsnc 'static[ ]u32[ ]Array_RadioA_1T_8188E\[\][ ]=' drivers/staging/rtl8188eu/hal/HalHWImg8188E_RF.c + defsnc '[ ]u8[ ]channel_all\[ODM_TARGET_CHNL_NUM_2G_5G\][ ]=' drivers/staging/rtl8188eu/hal/HalPhyRf.c + defsnc 'static[ ]const[ ]u16[ ]dB_Invert_Table\[8\]\[12\][ ]=' drivers/staging/rtl8188eu/hal/odm.c + blobname 'rtl8188E[/\\]*rtl8188efw\.bin' drivers/staging/rtl8188eu/include/rtl8188e_hal.h + defsnc 'static[ ]const[ ]unsigned[ ]long[ ]K\[64\][ ]=' drivers/staging/rtl8188eu/include/rtw_security.h + defsnc '[ ]static[ ]const[ ]struct[ ]msm_baud_map[ ]table\[\][ ]=' drivers/tty/serial/msm_serial.c + defsnc 'static[ ]u8[ ]hx8369_seq_gamma_curve_related\[\][ ]=' drivers/video/backlight/hx8357.c + defsnc 'static[ ]const[ ]wchar_t[ ]t2_\(0[012345]\|1[def]\|2[14cd]\|a[67]\|ff\)\[256\][ ]=' fs/cifs/winucase.c + accept '[ ]*\(\(el\)\?if[ ]\[[ ]-f\|cp[ ]-v[ ]--\)[ ]["][$][{]objtree[}][/]arch[/]mips[/]boot[/]\(compressed[/]\)\?vmlinux\.bin["]' scripts/package/buildtar + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]pcm1681_reg_defaults\[\][ ]=' sound/soc/codecs/pcm1681.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8997_sysclk_reva_patch\[\][ ]=' sound/soc/codecs/wm8997.c + blob '[\t]0xE1[,][ ]0x88[,][ ]0x10[,][ ]0x00[,][ ]0x0B[,][ ]0x00[,][ ]0x01[,][ ]0x00[,]\([\n][\t][0-9xA-F, ]*\)*' drivers/staging/rtl8188eu/hal/Hal8188EFWImg_CE.c + + # New in 3.13 + defsnc 'static[ ]const[ ]u32[ ]hawaii_\(golden_registers\|mgcg_cgcg_init\)\[\][ ]=' drivers/gpu/drm/radeon/cik.c + defsnc 'static[ ]const[ ]u32[ ]hawaii_io_mc_regs\[HAWAII_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/cik.c + blobname 'dvb-demod-drxk-01\.fw' drivers/media/video/em28xx/em28xx-dvb.c + blobname '\(ath10k[/]QCA988X[/]hw[12]\.0[/]\)\?firmware-2\.bin' drivers/net/wireless/ath/ath10k/hw.h + blobname 'brcm[/]brcmfmac43\(143\|241b[04]\|29\|3[045]\)-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + blobname 'iwlwifi-7265-' drivers/net/wireless/iwlwifi/pcie/7000.c + accept '[\t][\t]brightness-levels[ ][=][ ][<][0-9 \t\n]*[>][;]' arch/arm/boot/dts/imx28-tx28.dts + accept '[\t]echo[ ]["]mic[/]uos\.img["][ ]' Documentation/mic/mpssd/micctrl + accept '[\t]mdev->firmware[ ]=[ ]kmalloc' drivers/misc/mic/host/mic_sysfs.c + accept '[\t]rc[ ]=[ ]request_firmware[(][&]fw[,][ \t\n]*mdev->\(ramdisk\|firmware\)[,][ ]mdev->sdev->parent[)][;]' drivers/misc/mic/host/mic_x100.c + accept '[\t]*["]\(ramdisk\|firmware\)[ ]request_firmware[ ]failed' drivers/misc/mic/host/mic_x100.c + defsnc 'static[ ]const[ ]struct[ ]dsi_clock_table[ ]dsi_clk_tbl\[\][ ]=' drivers/gpu/drm/i915/intel_dsi_pll.c + defsnc 'uint32_t[ ]nv108_pwr_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h + defsnc 'uint32_t[ ]nva3_pwr_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h + defsnc 'uint32_t[ ]nvc0_pwr_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h + defsnc 'uint32_t[ ]nvd0_pwr_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h + defsnc 'static[ ]const[ ]struct[ ]ci_pt_defaults[ ]defaults_hawaii_\(xt\|pro\)[ ]=' drivers/gpu/drm/radeon/ci_dpm.c + accept '[\t]["]edid[/]\(1024x768\|1280x1024\|1600x1200\|1680x1050\|1920x1080\)\.bin["]' drivers/gpu/drm/drm_edid_load.c + defsnc 'static[ ]const[ ]u8[ ]generic_edid\[GENERIC_EDIDS\]\[128\][ ]=' drivers/gpu/drm/drm_edid_load.c + defsnc '[\t]unsigned[ ]char[ ]buf\[\][ ]=' drivers/hid/hid-sony.c + blobname 'dvb-fe-cx24117\.fw' drivers/media/dvb-frontends/cx24117.c + blobname 'vpdma-1b8\.bin' drivers/media/platform/ti-vpe/vpdma.c + defsnc 'static[ ]const[ ]u8[ ]ov361x_start_\(2048\|1600\|1024\|640\|320\|160\)\[\]\[2\][ ]=' drivers/media/usb/gspca/ov534_9.c + defsnc 'static[ ]const[ ]u8[ ]tuning_blk_pattern_[48]bit\[\][ ]=' drivers/mmc/host/dw_mmc.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]oob_8192_ecc[48][ ]=' drivers/mtd/nand/fsl_ifc_nand.c + defsnc '[\t]static[ ]u8[ ]PN9Data\[\][ ]=' drivers/net/wireless/ath/ath9k/main.c + blobname 'wlan[/]prima[/]WCNSS_qcom_wlan_nv\.bin' drivers/net/wireless/ath/wcn36xx/wcn36xx.h + defsnc 'static[ ]s32[ ]expected_tpt_\(siso\|mimo2\)_[248]0MHz\[4\]\[IWL_RATE_COUNT\][ ]=' drivers/net/wireless/iwlwifi/mvm/rs.c + blobname 'rtlwifi[/]rtl8188eufw\.bin' drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c + defsnc 'static[ ]unsigned[ ]char[ ]\(sbox\|dot[23]\)_table\[256\][ ]=' drivers/staging/vt6656/aes_ccmp.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]TKIP_Sbox_\(Lower\|Upper\)\[256\][ ]=' drivers/staging/vt6656/tkip.c + defsnc 'static[ ]u32[ ]\(al2230_txvga_data\|w89rf242_txvga_old_mapping\)\[\]\[2\][ ]=' drivers/staging/winbond/reg.c + defsnc '[}][ ]test2\[\][ ]=' lib/random32.c + defsnc 'static[ ]const[ ]struct[ ]hda_verb[ ]hp_bnb13_eq_verbs\[\][ ]=' sound/pci/hda/patch_sigmatel.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]aic3x_reg\[\][ ]=' sound/soc/codecs/tlv320aic3x.c + blobname 'radeon[/]HAWAII_\(pfp\|[mc]e\|me\?c\|rlc\|sdma\|smc\)\.bin' drivers/gpu/drm/radeon/cik.c + blobname 'ti-connectivity[/]wl1251-\(fw\|nvs\)\.bin' 'drivers/net/wireless/wl12\(51\|xx\)/wl1251.h' + + # New in 3.13.2 + blobname 'rtlwifi[/]rtl8192cufw_\([AB]\|TMSC\)\.bin' drivers/net/wireless/rtlwifi/rtl8192cu.sw + + # New in 3.14 + blobname 'dvb-usb-technisat-cablestar-hdci-drxk\.fw' drivers/media/usb/dvb-usb-v2/az6007.c + blobname 'ctfw-3\.2\.3\.0\.bin' drivers/net/ethernet/brocade/bna/cna.h + blobname 'ct2fw-3\.2\.3\.0\.bin' drivers/net/ethernet/brocade/bna/cna.h + blobname 'brcm[/]brcmfmac43362-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + blobname 'brcm[/]brcmfmac4339-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + blobname 'mrvl[/]usb8897_uapsta\.bin' drivers/net/wireless/mwifiex/usb.h + blobname 'cbfw-3\.2\.3\.0\.bin' drivers/scsi/bfa/bfad.c + blobname 'ctfw-3\.2\.3\.0\.bin' drivers/scsi/bfa/bfad.c + blobname 'ct2fw-3\.2\.3\.0\.bin' drivers/scsi/bfa/bfad.c + + # New in 3.14.6 + blobname 'radeon[/]\(%s\|BONAIRE\|HAWAII\|TAHITI\|PITCAIRN\|VERDE\|OLAND\|HAINAN\)_mc2\.bin' 'drivers/gpu/drm/radeon/\(cik\|si\)\.c' + + # New in 3.15 + defsnc '\(static[ ]\)\?const[ ]struct[ ]nvc0_graph_init[\n]nvc0_graph_init_\(main\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c + defsnc 'static[ ]const[ ]u32[ ]godavari_golden_registers\[\][ ]=' drivers/gpu/drm/radeon/cik.c + blobname 'brcm[/]brcmfmac4354-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + blobname '%s%s\.ucode' drivers/net/wireless/iwlwifi/iwl-drv.c + blobname 'ti-connectivity[/]wl18xx-fw-3\.bin' drivers/net/wireless/ti/wl18xx/main.c + blobname 'ql2700_fw\.bin' drivers/scsi/qla2xxx/qla_os.c + + # New in 3.16 + defsnc '[\t]*atmel[,]pll-clk-output-ranges[ ]=[ ]<' 'Documentation/devicetree/bindings/clock/at91-clock\.txt\|arch/arm/boot/dts/at91sam9x5\.dtsi' + blobname 'imx[/]sdma[/]sdma-imx25\.bin' arch/arm/boot/dts/imx25.dtsi + blobname 'imx[/]sdma[/]sdma-imx35\.bin' arch/arm/boot/dts/imx35.dtsi + blobname 'imx[/]sdma[/]sdma-imx50\.bin' arch/arm/boot/dts/imx50.dtsi + blobname 'sdma-imx53\.bin' arch/arm/boot/dts/imx53-tx53.dtsi + defsnc 'struct[ ]sock_filter[ ]code\[\][ ]=' Documentation/networking/filter.txt + initnc '\.L\(Forward\|Reverse\)_Sbox:[\n][\t]\.byte[\t]*' arch/arm64/crypto/aes-neon.S + initnc '\.Lsha2_rcon:[\n][\t]\.word[\t]*' arch/arm64/crypto/sha2-ce-core.S + defsnc 'static[ ]const[ ]u8[ ]sata_phy_config[12]\[\][ ]*=' arch/mips/netlogic/xlp/ahci-init-xlp2.c + accept '[ ]*interrupts[ ]=[ ]<108[ ]0\([\n][ ]*1[012][0-9][ ]0\)*>[;]' arch/powerpc/boot/dts/akebono.dts + defsnc '[\t]static[ ]int[ ]sysdiv_code_to_x2\[\][ ]=' arch/powerpc/platforms/512x/clock-commonclk.c + accept '[#][#][ ]*0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1' arch/x86/crypto/aesni-intel_avx-x86_64.S + defsc 'static[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|224\|256\|384\|512\)_\(aes\|des\|des3_ede\)_cbc_enc_tv_temp\[\][ ]=' crypto/testmgr.h + accept '#define[ \t]*ACPI_TABLE_FILE_SUFFIX[\t ]*["]\.dat["]' drivers/acpi/acpica/acapps.h + accept '[ ][*][ ]request_firmware\(_direct\)\?:[ ]-[ ]load[ ]firmware[ ]directly[ ]without[ ]usermode[ ]helper' drivers/base/firmware_class.c + accept '[ ][*][ ]This[ ]function[ ]works[ ]pretty[ ]much[ ]like[ ]request_firmware[(][)]' drivers/base/firmware_class.c + accept 'int[ ]request_firmware_direct[(]' 'drivers/base/firmware_class\.c\|include/linux/firmware\.h' + accept '[\t]ret[ ]=[ ]_request_firmware[(]firmware_p[,][ ]name[,][ ]device[,][ ]FW_OPT_UEVENT[)][;]' drivers/base/firmware_class.c + accept 'EXPORT_SYMBOL_GPL[(]request_firmware_direct[)][;]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]int[ ]armada_375_cpu_\(l2\|ddr\)_ratios\[32\]\[2\][ ]__initconst[ ]=[ ]' drivers/clk/mvebu/armada-375.c + defsnc 'static[ ]const[ ]int[ ]armada_38x_cpu_\(l2\|ddr\)_ratios\[32\]\[2\][ ]__initconst[ ]=[ ]' drivers/clk/mvebu/armada-38x.c + defsnc 'static[ ]struct[ ]cpufreq_frequency_table[ ]s3c64xx_freq_table\[\][ ]=' drivers/cpufreq/s3c64xx-cpufreq.c + defsnc 'static[ ]const[ ]u8[ ]ccp_sha\(1\|224\|256\)_zero\[CCP_SHA_CTXSIZE\][ ]=' drivers/crpto/ccp/ccp-ops.c + blobname 'ast_dp501_fw\.bin' drivers/gpu/drm/ast/ast_dp501.c + accept '[\t]["]edid[/]\(800x600\)\.bin["]' drivers/gpu/drm/drm_edid_load.c + defsnc 'static[ ]void[ ][*]edid_load[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*err[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ][&]pdev' drivers/gpu/drm/drm_edid_load.c + defsnc 'static[ ]const[ ]struct[ ]hdmiphy_config[ ]hdmiphy_5420_configs\[\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c + # These seem too sparse to be code. + defsnc 'static[ ]const[ ]u32[ ]gen6_null_state_batch\[\][ ]=' drivers/gpu/drm/i915/intel_renderstate_gen6.c + defsnc 'static[ ]const[ ]u32[ ]gen7_null_state_batch\[\][ ]=' drivers/gpu/drm/i915/intel_renderstate_gen7.c + defsnc 'static[ ]const[ ]u32[ ]gen8_null_state_batch\[\][ ]=' drivers/gpu/drm/i915/intel_renderstate_gen8.c + defsnc 'nv50_disp_\(mast_mthd_head\|\(sync\|ovly\)_mthd_base\)[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nv50.c + defsnc 'nv84_disp_\(mast_mthd_head\|\(sync\|ovly\)_mthd_base\)[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nv84.c + defsnc 'nva0_disp_ovly_mthd_base[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nva0.c + defsnc 'nvd0_disp_\(mast_mthd_head\|\(sync\|ovly\)_mthd_base\)[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c + defsnc 'nve0_disp_\(mast_mthd_head\|ovly_mthd_base\)[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nve0.c + defsnc 'gm107_grctx_init_\(\(icmd\|b097\|fe\|ds\|pd\|be\|setup\|tex\|mpc\|sm\|wwdx\)_0\|gpc_unk_2\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxgm107.c + defsnc 'nv108_grctx_init_\(icmd\|fe\|ds\|pd\|rstr2d\|be\|prop\|setup\|crstr\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnv108.c + defsnc 'nvc0_grctx_init_\(icmd\|9097\|902d\|90c0\|fe\|memfmt\|rstr2d\|prop\|setup\|crstr\|zcullr\|wwdx\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c + defsnc 'nvc1_grctx_init_\(icmd\|9097\|setup\|wwdx\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc1.c + defsnc 'nvc4_grctx_init_\(tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc4.c + defsnc 'nvc8_grctx_init_\(icmd\|setup\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc8.c + defsnc 'nvd7_grctx_init_\(ds\|pd\|setup\|tex\|wwdx\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd7.c + defsnc 'nvd9_grctx_init_\(icmd\|90c0\|fe\|ds\|prop\|setup\|crstr\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd9.c + defsnc 'nve4_grctx_init_\(icmd\|a097\|fe\|memfmt\|ds\|pd\|be\|setup\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnve4.c + defsnc 'nvf0_grctx_init_\(icmd\|a197\|fe\|pd\|be\|setup\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvf0.c + defsnc 'uint32_t[ ]gm107_grgpc_code\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5.h + defsnc 'uint32_t[ ]nv108_grgpc_code\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5.h + defsnc 'uint32_t[ ]gm107_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5.h + defsnc 'uint32_t[ ]nv108_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h + defsnc 'gm107_graph_init_\(main\|tpccs\|tex\|sm\|be\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/gm107.c + defsnc 'nv108_graph_init_\(main\|l1c\)_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nv108.c + defsnc 'nvc4_graph_init_sm_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc4.c + defsnc 'nvc8_graph_init_sm_0\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc8.c + defsnc 'nvd9_graph_init_\(gpc_unk_1\|sm_0\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvd9.c + defsnc 'nve4_graph_init_\(\(main\|l1c\|sm\|be\)_0\|gpc_unk_1\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nve4.c + defsnc 'nvf0_graph_init_\(\(l1c\|sm\)_0\|gpc_unk_1\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c + defsnc 'static[ ]u8[ ]const[ ]ld9040_gammas\[25\]\[22\][ ]=' drivers/gpu/drm/panel/panel-ld9040.c + defsnc 'static[ ]void[ ]s6e8aa0_panel_cond_set[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*s6e8aa0_dcs_write_seq_static[(]ctx[,][\n\t0x0-9a-f, ]*[)][;]' drivers/gpu/drm/panel/panel-s6e8aa0.c + defsnc 'static[ ]const[ ]s6e8aa0_gamma_table[ ]s6e8aa0_gamma_tables_v\(142\|96\|32\)\[GAMMA_LEVEL_NUM\][ ]=' drivers/gpu/drm/panel/panel-s6e8aa0.c + blobname 'radeon[/]BONAIRE_vce\.bin' drivers/gpu/drm/radeon/radeon_vce.c + defsnc '[\t]static[ ]const[ ]__u8[ ]sixaxis_leds\[10\]\[4\][ ]=' drivers/hid/hid-sony.c + defsnc '[\t]union[ ]sixaxis_output_report_01[ ]report[ ]=' drivers/hid/hid-sony.c + defsnc 'static[ ]int[ ]twl4030_therm_tbl\[\][ ]=' drivers/iio/adc/twl4030-madc.c + defsnc 'static[ ]struct[ ]linear_segments[ ]strength_to_db_table\[\][ ]=' drivers/media/dvb-frontends/dib8000.c + blobname 'dvb-fe-drxj-mc-1\.0\.8\.fw' drivers/media/dvb-frontends/drx39xyj/drxj.c + defsnc 'static[ ]const[ ]u16[ ]nicam_presc_table_val\[43\][ ]=' drivers/media/dvb-frontends/drx39xyj/drxj.c + accept '[\t][\t]*demod->firmware[ ]=[ ]\(fw\|NULL\)[;]' drivers/media/dvb-frontends/drx39xyj/drxj.c + blobname 'dvb-demod-m88ds3103\.fw' drivers/media/dvb-frontends/m88ds3103_priv.h + defsnc 'static[ ]const[ ]struct[ ]m88ds3103_reg_val[ ]m88ds3103_dvbs2\?_init_reg_vals\[\][ ]=' drivers/media/dvb-frontends/m88ds3103_priv.h + blobname 'dvb-demod-si2168-02\.fw' drivers/media/dvb-frontends/si2168_priv.h + blobname 's5k5baf-cfg\.bin' drivers/media/i2c/s5k5baf.c + defsnc 'static[ ]const[ ]u16[ ]scaler_[hv]s_coeffs\[1[35]\]\[SC_NUM_PHASES[ ][*][ ]2[ ][*][ ]SC_[HV]_NUM_TAPS\][ ]=' drivers/media/platform/ti-vpe/sc_coeff.h + defsnc 'static[ ]const[ ]struct[ ]si4713_start_seq_table[ ]start_seq\[\][ ]=' drivers/media/radio/si4713/radio-usb-si4713.c + defsnc 'static[ ]const[ ]struct[ ]e4000_if_gain[ ]e4000_if_gain_lut\[\][ ]=' drivers/media/tuners/e4000_priv.h + defsnc 'static[ ]const[ ]struct[ ]dtcs033_usb_requests[ ]dtcs033_start_reqs\[\][ ]=' drivers/media/usb/gspca/dtcs033.c + defsnc 'static[ ]struct[ ]idxdata[ ]tbl_\(\(middle\|end\)_hvflip\(_\(low\|big\)\)\?\|init_post_alt_\(low[123]\|big\|3B\)\)\[\][ ]=' drivers/media/usb/gspca/gl860/gl860-mi2020.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_revd_patch\[\][ ]=' drivers/mfd/wm5110-tables.c + defsnc 'static[ ]const[ ]u32[ ]tuning_block_128\[\][ ]=' drivers/mmc/host/sdhci-msm.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]hwecc4_2048[ ]=' drivers/mtd/nand/davinci_nand.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]ecc_layout_[24]KB_bch[48]bit[ ]=' drivers/mtd/nand/pxa3xx_nand.c + defsnc '[\t]static[ ]char[ ]packet\[\][ ]=' drivers/net/ethernet/intel/i40e/i40e_txrx.c + defsnc 'u8[ ]netvsc_hash_key\[HASH_KEYLEN\][ ]=' drivers/net/hyperv/rndis_filter.c + defsnc 'static[ ]const[ ]u32[ ]ar9300Modes_high_power_tx_gain_table_buffalo\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9003_buffalo_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9340_cus227_tx_gain_table_1p0\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9462_2p0_common_\(mixed_\)\?rx_gain\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]ar9462_2p0_modes_\(low\|mix\|high\)_ob_db_tx_gain\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca953x_1p[01]_\(\(mac\|baseband\|radio\)_core\|modes_\(no_\)\?xpa_tx_gain_table\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar953x_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca953x_1p0_\(baseband\|radio\)_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar953x_initvals.h + accept '[ ]err[ ]=[ ]request_firmware_nowait[(][^\n]*,[ ]CARL9170FW_NAME,' drivers/net/wireless/carl9170/usb.c + defsnc 'static[ ]const[ ]struct[ ]b43_nphy_channeltab_entry_rev3[ ]b43_nphy_channeltab_\(phy\|radio\)_rev\([34568]\|7_9\|11\)\[\][ ]=' drivers/net/wireless/b43/radio_2056.c + defsnc 'static[ ]const[ ]u32[ ]b43_ntab_noisevar_r3\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + blobname 'iwlwifi-8000C\?-' drivers/net/wireless/intel/iwlwifi/iwl-8000.c + blobname 'iwl_nvm_8000\.bin' drivers/net/wireless/iwlwifi/iwl-8000.c + defsnc 'static[ ]const[ ]u8[ ]iwl_nvm_channels_family_8000\[\][ ]=' drivers/net/wireless/iwlwifi/iwl-nvm-parse.c + defsnc 'static[ ]const[ ]u16[ ]expected_tpt_\(siso\|mimo2\)_[248]0MHz\[4\]\[IWL_RATE_COUNT\][ ]=' drivers/net/wireless/iwlwifi/mvm/rs.c + blobname 'rsi_91x\.fw' drivers/net/wireless/rsi/rsi_common.h + defsnc 'static[ ]const[ ]u32[ ]RF_GAIN_TABLE\[\][ ]=' drivers/net/wireless/rtl818x/rtl8180/rtl8225se.c + defsnc 'static[ ]const[ ]u8[ ]\(cck_ofdm_gain_settings\|rtl8225se_tx_power_cck\(_ch14\)\?\|ZEBRA_AGC\|OFDM_CONFIG\)\[\][ ]=' drivers/net/wireless/rtl818x/rtl8180/rtl8225se.c + defsnc '[\t]u16[ ]toshiba_smid1\[\][ ]=' drivers/net/wireless/rtlwifi/rtl8723be/hw.c + blobname 'rtlwifi[/]rtl8723befw\.bin' drivers/net/wireless/rtlwifi/rtl8723be/sw.c + defsnc 'u32[ ]RTL8723BE\(PHY_REG\|_RADIOA\|MAC\|AGCTAB\)_\(1T_\?ARRAY\|ARRAY_PG\)\[\][ ]=' drivers/net/wireless/rtlwfi/rtl8723be/table.c + defsnc 'static[ ]\(const[ ]unsigned[ ]\)\?int[ ]tps65864[03]_sm2_voltages\[\][ ]=' drivers/regulator/tps6586x-regulator.c + defsnc 'static[ ]const[ ]uint32_t[ ]ql27xx_fwdt_default_template\[\][ ]=' drivers/scsi/qla2xxx/qla_tmpl.c + blobname 'dgap[/]\(sx\|cxp\|pci\|xr\)\(bios\|fep\)\.bin' drivers/staging/dgap/dgap.c + accept '[\t][ ]*kernel[ ]firmware[ ]framework[,][ ]request_firmware[(][)]' drivers/staging/gs_fpgaboot/README + defsnc 'static[ ]u8[ ]ecctable\[256\][ ]=' drivers/staging/keucr/smilecc.c + defsnc '[\t]u8[ ]data_ptr\[36\][ ]=' drivers/staging/keucr/smscsi.c + # This is a default for the user-supplied fpga configuration; it + # is overridable with a module parameter. + accept 'static[ ]char[ \t]*[*]file[ ]=[ ]["]xlinx_fpga_firmware\.bit["][;]' drivers/staging/gs_fpgaboot/gs_fpgaboot.c + accept '[\t]pr_info[(]["]load[ ]fpgaimage[ ]%s[\\]n["][,][ ]file[)][;][\n]*[\t]err[ ]=[ ]request_firmware[(][&]fimage->fw_entry[,]' drivers/staging/gs_fpgaboot/gs_fpgaboot.c + blobname '\(ti1273\(_\(pre\)\?le\)\?\|bc[m4]fw\)\.bin' drivers/staging/nokia_h4p/nokia_fw.c + defsnc '[\t]u8[ ]channel5g\[CHANNEL_MAX_NUMBER_5G\][ ]=' drivers/staging/rtl8192ee/rtl8192ee/hw.c + blobname 'rtlwifi[/]rtl8192eefw\.bin' drivers/staging/rtl8192ee/rtl8192ee/sw.c + defsnc 'u32[ ]RTL8192EE_\(PHY_REG\|RADIO[AB]\|MAC\|AGC_TAB\)_ARRAY\(_PG\)\?\[\][ ]=' drivers/staging/rtl8192ee/rtl8192ee/table.c + defsnc '[\t]u8[ ]Channel_5G\[45\][ ]=' drivers/staging/rtl8723au/core/rtw_mlme_ext.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]Sbox1\[2\]\[256\]=' drivers/staging/rtl8723au/core/rtw_security.c + defsnc 'u32[ ]Rtl8723UPHY_REG_Array_PG\[Rtl8723UPHY_REG_Array_PGLength\][ ]=' drivers/staging/rtl8723au/hal/Hal8723UHWImg_CE.c + defsnc 'static[ ]u32[ ]Array_\(AGC_TAB\|PHY_REG\)_\(1T\|PG\)_8723A\[\][ ]=' drivers/staging/rtl8723au/hal/HalHWImg8723A_BB.c + defsnc 'static[ ]u32[ ]Array_MAC_REG_8723A\[\][ ]=' drivers/staging/rtl8723au/hal/HalHWImg8723A_MAC.c + defsnc 'static[ ]u32[ ]Array_RadioA_1T_8723A\[\][ ]=' drivers/staging/rtl8723au/hal/HalHWImg8723A_RF.c + blobname 'rtlwifi[/]rtl8723aufw_\(A\|B\(_NoBT\)\?\)\.bin' drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c + defsnc 'u8[ ]rtl88\(12\|21\)ae_delta_swing_table_idx_5g[ab]_[np]_txpwrtrack\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/staging/rtl8821ae/rtl8821ae/dm.c + defsnc 'static[ ]u8[ ]reserved_page_packet_8821\[TOTAL_RESERVED_PKT_LEN_8821\][ ]=' drivers/staging/rtl8821ae/rtl8821ae/fw.c + defsnc 'static[ ]u8[ ]reserved_page_packet_8812\[TOTAL_RESERVED_PKT_LEN_8812\][ ]=' drivers/staging/rtl8821ae/rtl8821ae/fw.c + defsnc '[\t]u8[ ]channel_5g\[CHANNEL_MAX_NUMBER_5G\][ ]=' 'drivers/staging/rtl8821ae/rtl8821ae/\(hw\|phy\)\.c' + defsnc '[\t]u8[ ]channel_all\[TARGET_CHNL_NUM_2G_5G_8812\][ ]=' drivers/staging/rtl8821ae/rtl8821ae/phy.c + blobname 'rtlwifi[/]rtl8821aefw\.bin' drivers/staging/rtl8821ae/rtl8821ae/sw.c + defsnc 'u32[ ]RTL88\(12\|21\)AE_\(\(PHY\|MAC\)_REG\|RADIO[AB]\|AGC_TAB\)_ARRAY\(_PG\)\?\[\][ ]=' drivers/staging/rtl8821ae/rtl8821ae/table.c + accept '#define[ ]CONFIG_PATH[\t]*["][/]etc[/]vntconfiguration[.]dat["]' drivers/staging/vt6656/device.h + defsnc 'static[ ]const[ ]u8[ ]TKIP_Sbox_\(Lower\|Upper\)\[256\][ ]=' drivers/staging/vt6656/tkip.c + blobname 'moxa[/]moxa-\(%04x\|[0-9a-f][0-9a-f][0-9a-f][0-9a-f]\)\.fw' drivers/usb/serial/mxuport.c + accept '#define[ \t]request_firmware_direct[ \t]request_firmware' include/linux/firmware.h + accept '[\t]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_direct[(]' include/linux/firmware.h + defsnc 'const[ ]u8[ ]crc7_be_syndrome_table\[256\][ ]=' lib/crc7.c + defsnc 'static[ ]struct[ ]bpf_test[ ]tests\[\][ ]=' lib/test_bpf.c + defsnc '[\t]static[ ]struct[ ]sock_filter[ ]ptp_filter\[\][ ]__initdata[ ]=' net/core/ptp_classifier.c + blobname 'adau1761\.bin' sound/soc/codecs/adau1761.c + accept '[\t][\t]ret[ ]=[ ]adau17x1_load_firmware[(]adau[,][ ]codec->dev[,][\n][\t ]*ADAU1761_FIRMWARE[)][;]' sound/soc/codecs/adau1761.c + blobname 'adau1[37]81\.bin' sound/soc/codecs/adau1781.c + accept '[\t][\t]firmware[ ]=[ ]ADAU1[37]81_FIRMWARE[;]\([\n][\n]*[\t][^\n]*\)*ret[ ]=[ ]adau17x1_load_firmware[(]adau[,][ ]codec->dev[,][ ]firmware[)][;]' sound/soc/codecs/adau1781.c + blobna 'adau17x1_load_firmware' sound/soc/codecs/adau17x1.c + accept 'int[ ]adau17x1_load_firmware[(]' 'sound/soc/codecs/adau17x1\.[ch]' + accept 'EXPORT_SYMBOL_GPL[(]adau17x1_load_firmware[)][;]' sound/soc/codecs/adau17x1.c + accept '[ ]*ret[ ]=[ ]process_sigma_firmware_regmap[(]dev[,][ ]adau->regmap[,][ ]firmware[)][;]' sound/soc/codecs/adau17x1.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]adau1977_reg_defaults\[\][ ]=' sound/soc/codecs/adau1977.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak4641_reg_defaults\[\][ ]=' sound/soc/codecs/ak4641.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak464[28]_reg\[\][ ]=' sound/soc/codecs/ak4642.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5640_reg\[\][ ]=' sound/soc/codecs/rt5640.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5645_reg\[\][ ]=' sound/soc/codecs/rt5645.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5651_reg\[\][ ]=' sound/soc/codecs/rt5651.c + defsnc 'int[ ]_process_sigma_firmware[(]' sound/soc/codecs/sigmadsp.c + accept 'EXPORT_SYMBOL_GPL[(]_process_sigma_firmware[)]' sound/soc/codecs/sigmadsp.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]sta350_regs\[\][ ]=' sound/soc/codecs/sta350.c + defsnc 'static[ ]const[ ]struct[ ]aic31xx_rate_divs[ ]aic31xx_divs\[\][ ]=' sound/soc/codecs/tlv320aic31xx.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_sysclk_revd_patch\[\][ ]=' sound/soc/codecs/wm5110.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8974_reg_defaults\[\][ ]=' sound/soc/codecs/wm8974.c + blobname 'intel[/]IntcSST[12]\.bin' sound/soc/intel/sst-acpi.c + blobname 'intel[/]fw_sst_0f28\.bin-i2s_master' sound/soc/intel/sst-acpi.c + defsnc 'static[ ]unsigned[ ]char[ ]bcd2000_init_sequence\[\][ ]=' sound/usb/bcd2000/bcd2000.c + blobna '[ ][*][ ]xxd[ ]-r[ ]-p[ ]mXTXXX[^\n]*maxtouch\.fw[\n][ \t]*[*][/]' drivers/input/touchscreen/atmel_mxt_ts.c + blobname 's5p-mfc-v8\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c + + # New in 3.17 + blobname 'radeon[/]\(%s\|kaveri\|KAVERI\)_mec2\.bin' drivers/gpu/drm/radeon/cik.c + blobname 'dvb-demod-si2168-\(\(a[23]\|b4\)0-01\|-02\)\.fw' drivers/media/dvb-frontends/si2168_priv.h + accept '[ ]\[CODA_IMX6\(Q\|DL\)\][ ]=[ ][{][\n][ ][ ]\.firmware[ ]*=' drivers/media/platform/coda.c + blobname 'v4l-coda960-imx6\(q\|dl\)\.bin' drivers/media/platform/coda.c + blobname 's5p-mfc-v6-v2\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c + blobname 'dvb-fe-xc4000-1\.4\(\.1\)\?\.fw' drivers/media/tuners/xc4000.c + blobname 'ti-connectivity[/]TIInit_\(\(%d\|[0-9]\+\)[.]\)\+bts' drivers/misc/ti-st/st_kim.c + blobname 'fw-5\.bin' drivers/net/wireless/ath/ath6kl/core.h + blobname 'brcm[/]brcmfmac43569\.bin' drivers/net/wireless/brcm80211/brcmfmac/usb.c + blobname '3826\.eeprom' drivers/net/wireless/p54/p54spi.c + defsnc 'static[ ]const[ ]u64[ ]sha512_k\[\][ ]=' arch/arm/crypto/sha512_neon_glue.c + accept 'K_table:\([\n][ \t]*\.\(quad\|long\)[ \t]*0x[0-9a-f]*[,][ ]\?0x[0-9a-f]*\)\*' arch/x86/crypto/crc32c-pcl-intel-asm_64.S + accept '\.L_s[12345678]:\([\n][ ]*\.quad[ ]*0x[0-9a-f]*[,][ ]0x[0-9a-f]*\)*' arch/x86/crypto/des3_ede-asm_64.S + defsnc '[\t]const[ ]unsigned[ ]char[ ][*]K[ ]=[ ][(]unsigned[ ]char[ ][*][)]' crypto/drbg.c + accept '[\t]ret[ ]=[ ]_request_firmware[(]firmware_p[,][ ]name[,][ ]device[,]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]uint64_t[ ]inst\[\][ ]=' drivers/crypto/qat/qat_common/qat_hal.c + defsnc 'gk110b_\(grctx\|graph\)_init_\(sm\|l1c\)_0\[\][ ]=' drivers/gpu/dm/nouveau/core/engine/graph/ctxgk110b.c + defsnc '[\t]const[ ]u16[ ]map\[\][ ]=' drivers/hwmon/asc7621.c + defsnc '[}][ ]samp_freq_table\[\][ ]=' drivers/iio/accel/kxcjk-1013.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]jpeg_dqt\[4\]\[DQT_LEN\][ ]=' drivers/media/pci/solo6x10/solo6x10-jpeg.h + defsnc 'static[ ]const[ ]u32[ ]qca953x_2p0_baseband_core\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar953x_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca953x_2p0_baseband_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar953x_initvals.h + defsnc 'static[ ]u16[ ]r2057_rev\(4\|5a\?\|[789]\|14\)_init\[\]\[2\][ ]=' drivers/net/wireless/b43/radio_2057.c + defsnc 'static[ ]const[ ]u32[ ]b43_ntab_\(\(tmap\|noisevar\)_r7\|tx_gain_\(epa\|ipa\(_2057\)\?\)_rev\([34569]\|14\)_\(hi_pwr_\)\?\(2g\|5g\)\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c + accept '[ ]ret[ ]=[ ]request_firmware[(][&]pm8001_ha->fw_image,' drivers/scsi/pm8001/pm8001_ctl.c + defsnc 'static[ ]unsigned[ ]char[ ]byVT3253InitTab_RFMD\[CB_VT3253_INIT_FOR_RFMD\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]unsigned[ ]char[ ]byVT3253B0_RFMD\[CB_VT3253B0_INIT_FOR_RFMD\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]unsigned[ ]char[ ]byVT3253B0_AGC4_RFMD2959\[CB_VT3253B0_AGC_FOR_RFMD2959\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]unsigned[ ]char[ ]byVT3253B0_AIROHA2230\[CB_VT3253B0_INIT_FOR_AIROHA2230\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]unsigned[ ]char[ ]byVT3253B0_UW2451\[CB_VT3253B0_INIT_FOR_UW2451\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]unsigned[ ]char[ ]byVT3253B0_AGC\[CB_VT3253B0_AGC\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]u8[ ]al2230_init_table\[CB_AL2230_INIT_SEQ\]\[3\][ ]=' drivers/staging/vt6656/rf.c + defsnc 'static[ ]u8[ ]\(al2230\|vt3226\)_channel_table[012]\[CB_MAX_CHANNEL_24G\]\[3\][ ]=' drivers/staging/vt6656/rf.c + defsnc 'static[ ]u8[ ]al7230_init_table\(_amode\)\?\[CB_AL7230_INIT_SEQ\]\[3\][ ]=' drivers/staging/vt6656/rf.c + defsnc 'static[ ]u8[ ]\(al7230\|vt3342\)_channel_table[012]\[CB_MAX_CHANNEL\]\[3\][ ]=' drivers/staging/vt6656/rf.c + defsnc 'static[ ]u8[ ]vt3226\(d0\)\?_init_table\[CB_VT3226_INIT_SEQ\]\[3\][ ]=' drivers/staging/vt6656/rf.c + defsnc 'static[ ]u8[ ]vt3342a0_init_table\[CB_VT3342_INIT_SEQ\]\[3\][ ]=' drivers/staging/vt6656/rf.c + defsnc 'static[ ]const[ ]u32[ ]al2230_power_table\[AL2230_PWR_IDX_LEN\][ ]=' drivers/staging/vt6656/rf.c + accept 'static[ ]inline[ ]int[ ]request_firmware_direct[(]const[ ]struct[ ]firmware[ ][*][*]fw[,]' include/linux/firmware.h + defsnc 'static[ ]u8[ ]const[ ]__aligned[(]8[)][ ]test_buf\[\][ ]__initconst[ ]=' lib/crc32.c + defsnc 'static[ ]struct[ ]crc_test[ ][{][^}]*[}][ ]const[ ]test\[\][ ]__initconst[ ]=' lib/crc32.c + accept '[\t]rc[ ]=[ ]request_firmware[(][&]test_firmware[,]' lib/test_firmware.c + defsnc 'static[ ]struct[ ]reg_default[ ]rt286_index_def\[\][ ]=' sound/soc/codecs/rt286.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt286_reg\[\][ ]=' sound/soc/codecs/rt286.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5670_reg\[\][ ]=' sound/soc/codecs/rt5670.c + accept 'FW=["][$]FWPATH[/]test-firmware\.bin["]' 'tools/testing/selftests/firmware/fw_\(filesystem\|userhelper\)\.sh' + blobname 'qat_895xcc\.bin' drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h + blobname 'dvb-demod-si2165\.fw' drivers/media/dvb-frontends/si2165_priv.h + blobname 'dvb-tuner-si2158-a20-01\.fw' drivers/media/tuners/si2157_priv.h + blobname 'brcm[/]brcmfmac43\(602\|5[46]\|570\)-pcie\.bin' drivers/net/wireless/brcm80211/brcmfmac/pcie.c + blobname 'r8a779x_usb3_v1\.dlmem' drivers/usb/host/xhci-rcar.c + blobname 'iwlwifi-3165-' drivers/net/wireless/iwlwifi/iwl-7000.c + + # New in 3.18. + accept '[\t ]*interrupts[ ]=[ ]<\([ \n\t]*0[ ][4567][0-9][ ]0xf04\)*>[;]' Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt + accept '[\t ]*<\([ \t\n]*[ 1-9][0-9 ][0-9]\)*>[;]' arch/arm/boot/dts/tegra124-nyan-big.dts + blobname 'keystone[/]qmss_pdsp_acc48_k2_le_1_0_0_8\.fw' Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt + defsnc 'static[ ]struct[ ]comp_testvec[ ]lz4\(hc\)\?_\(de\)\?comp_tv_template\[\][ ]=' crypto/testmgr.h + blobname 'mrvl[/]sd8887_uapsta\.bin' 'drivers/\(bluetooth/btmrvl_sdio\.c\|net/wireless/mwifiex/sdio.h\)' + blobname 'radeon[/]\(R600\|RS780\|RV770\)_uvd\.bin' drivers/gpu/drm/radeon/radeon_uvd.c + defsnc '[}][ ]wake_odr_data_rate_table\[\][ ]=' drivers/iio/accel/kxcjk-1013.c + defsnc 'static[ ]const[ ]struct[ ]linear_segments[ ]cnr_\(to_db\|\(64\|16\)qam\|qpsk\)_table\[\][ ]=' drivers/media/dvb-frontends/mb86a20s.c + defsnc 'static[ ]u8[ ]lgtdqcs001f_inittab\[\][ ]=' drivers/media/pci/mantis/mantis_vp1033.c + blobname 'go7007[/]go7007tv\.bin' drivers/media/pci/saa7134/saa7134-go7007.c + defsnc 'static[ ]const[ ]u8[ ]vivid_hdmi_edid\[256\][ ]=' drivers/media/platform/vivid/vivid-core.c + defsnc 'static[ ]const[ ]s8[ ]sin\[257\][ ]=' drivers/media/platform/vivid/vivid-tpg.c + defsnc 'static[ ]const[ ]struct[ ]shf[ ]shf_tab\[\][ ]=' drivers/media/tuners/mxl301rf.c + defsnc 'static[ ]const[ ]u8[ ]reg_initval\[QM1D1C0042_NUM_REGS\][ ]=' drivers/media/tuners/qm1d1c0042.c + accept '[\t]*priv->firmware[ ]=[ ]fw[;][\n][\t][}][ ]else[\n][\t]*fw[ ]=[ ]priv->firmware[;]' drivers/media/tuners/xc5000.c + blobname 'dvb-usb-it9303-01\.fw' drivers/media/usb/dvb-usb-v2/af9035.h + defsnc 'const[ ]u8[ ]tuning_blk_pattern_4bit\[MMC_TUNING_BLK_PATTERN_4BIT_SIZE\][ ]=' drivers/mmc/core/mmc.c + defsnc 'const[ ]u8[ ]tuning_blk_pattern_8bit\[MMC_TUNING_BLK_PATTERN_8BIT_SIZE\][ ]=' drivers/mmc/core/mmc.c + defsnc 'static[ ]const[ ]u16[ ]fm10k_crc_16b_table\[256\][ ]=' drivers/net/ethernet/intel/fm10k/fm10k_mbx.c + accept '[\t ]*[*][ ][ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0' drivers/net/ethernet/intel/fm10k/fm10k_mbx.h + blobname '83xx_post_fw\.bin' drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h + blobname 'rtl_nic[/]rtl\(8168h\|8107e\)-[12]\.fw' drivers/net/ethernet/realtek/r8169.c + blobname 'firmware-3\.bin' drivers/net/wireless/ath/ath10k/hw.h + blobname 'utf\.bin' drivers/net/wireless/ath/ath10k/testmode.c + accept '[ ][*][ ]wil_request_firmware[ ]-[ ]Request[ ]firmware' drivers/net/wireless/ath/wil6210/fw_inc.c + accept 'int[ ]wil_request_firmware[(]' 'drivers/net/wireless/ath/wil6210/\(fw_inc\.c\|wil6210\.h\)' + accept '[\t]*rc[ ]=[ ]wil_request_firmware[(]wil[,][ ]WIL_FW_NAME[)][;]' drivers/net/wireless/ath/wil6210/fw_inc.c + blobname 'wil6210\.fw' drivers/net/wireless/ath/wil6210/wil6210.h + blobna 'FW[ ]Version:[ ]%d_%d_%d' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c + blobna '\([,][\n \t]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)\+' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c + blobname 'iwlwifi-8000' drivers/net/wireless/iwlwifi/iwl-8000.c + blobname '["]-["][ ]__stringify[(]api[)][ ]["]\.ucode["]' drivers/net/wireless/iwlwifi/iwl-8000.c + blobname '%s%s-%s\.ucode' drivers/net/wireless/iwlwifi/iwl-drv.c + blobname 'rtlwifi[/]rtl8723efw\.bin' drivers/net/wireless/rtlwifi/rtl8723ae/sw.c + defsnc 'u32[ ]RTL8723E_RADIOA_1TARRAY\[RTL8723ERADIOA_1TARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c + defsnc '[\t]u8[ ]channel_all\[TARGET_CHNL_NUM_2G_5G\][ ]=' drivers/net/wireless/rtlwifi/rtl8723be/phy.c + blobname 'rtlwifi[/]rtl88\(21\|12\)aefw\(_wowlan\)\?\.bin' drivers/net/wireless/rtlwifi/rtl8821ae/sw.c + defsnc 'static[ ]u8[ ]rtl88\(12\|21\)ae_delta_swing_table_idx_5g[ba]_[np]\[\]\[DEL_SW_IDX_SZ\][ ]=' drivers/net/wireless/rtlwifi/rtl8821ae/dm.c + defsnc '[\t]u8[ ]channel_all\[ODM_TARGET_CHNL_NUM_2G_5G\][ ]=' drivers/staging/rtl8188eu/hal/phy.c + # Present before 3.18, but changes to reject_firmware shell + # function to make it match request_firmware only require us to + # recognize these as false positives. + accept 'static[ ]int[ ]lp55xx_request_firmware[(]' drivers/leds/leds-lp55xx-common.c + accept '[\t]*ret[ ]=[ ]lp55xx_request_firmware[(]' drivers/leds/leds-lp55xx-common.c + accept 'static[ ]int[ ]flexcop_fe_request_firmware[(]' drivers/media/common/b2c2/flexcop-fe-tuner.c + accept '[\t]\.request_firmware[ ]=[ ]flexcop_fe_request_firmware[,]' drivers/media/common/b2c2/flexcop-fe-tuner.c + accept '[\t]if[ ][(][(]ret[ ]=[ ]st->config->request_firmware[(]' drivers/media/dvb-frontends/bcm3510.c + accept '[\t][\t]ret[ ]=[ ]config->request_firmware[(]' drivers/media/dvb-frontends/or51211.c + accept '[\t]if[ ][(]state->config->request_firmware[(]' drivers/media/dvb-frontends/sp8870.c + accept '[\t][\t]ret[ ]=[ ]state->config->request_firmware[(]' drivers/media/dvb-frontends/sp887x.c + accept '[\t]int[ ][(][*]request_firmware[)][(]' drivers/media/dvb-frontends/sp887x.h + accept '[\t]ret[ ]=[ ]state->config->request_firmware[(]' drivers/media/dvb-frontends/tda1004x.c + accept '[\t]if[ ][(]state->config->request_firmware[ ]' drivers/media/dvb-frontends/tda1004x.c + accept '[\t][\t][\t]*ret[ ]=[ ]state->config->request_firmware[(]' drivers/media/dvb-frontends/tda1004x.c + accept 'static[ ]int[ ]alps_tdhd1_204_request_firmware[(]' drivers/media/dvb-frontends/tdhd1.h + accept '[\t]\.request_firmware[ ]=[ ]alps_tdhd1_204_request_firmware' drivers/media/dvb-frontends/tdhd1.h + accept 'static[ ]int[ ]microtune_mt7202dtf_request_firmware[(]' drivers/media/pci/bt8xx/dvb-bt8xx.c + accept '[\t]\.request_firmware[ ]=[ ]microtune_mt7202dtf_request_firmware[,]' drivers/media/pci/bt8xx/dvb-bt8xx.c + accept 'static[ ]int[ ]or51211_request_firmware[(]' drivers/media/pci/bt8xx/dvb-bt8xx.c + accept '[\t]\.request_firmware[ ]=[ ]or51211_request_firmware[,]' drivers/media/pci/bt8xx/dvb-bt8xx.c + accept 'static[ ]int[ ]pluto2_request_firmware[(]' drivers/media/pci/pluto2/pluto2.c + accept '[\t]\.request_firmware[ ]=[ ]pluto2_request_firmware[,]' drivers/media/pci/pluto2/pluto2.c + accept 'static[ ]int[ ]philips_tda1004x_request_firmware[(]' drivers/media/pci/saa7134/saa7134-dvb.c + accept '[\t]\.request_firmware[ ]=[ ]philips_tda1004x_request_firmware' drivers/media/pci/saa7134/saa7134-dvb.c + accept 'static[ ]int[ ]alps_tdlb7_request_firmware[(]' drivers/media/pci/ttpci/av7110.c + accept '[\t]\.request_firmware[ ]=[ ]alps_tdlb7_request_firmware[,]' drivers/media/pci/ttpci/av7110.c + accept 'static[ ]int[ ]philips_tu1216_request_firmware[(]' drivers/media/pci/ttpci/budget-av.c + accept '[\t]\.request_firmware[ ]=[ ]philips_tu1216_request_firmware[,]' drivers/media/pci/ttpci/budget-av.c + accept 'static[ ]int[ ]philips_tdm1316l_request_firmware[(]' drivers/media/pci/ttpci/budget-ci.c + accept '[\t]\.request_firmware[ ]=[ ]philips_tdm1316l_request_firmware[,]' drivers/media/pci/ttpci/budget-ci.c + accept 'static[ ]int[ ]alps_tdhd1_204_request_firmware[(]' drivers/media/pci/ttpci/budget.c + accept 'static[ ]int[ ]fimc_is_request_firmware[(]' drivers/media/platform/exynos4-is/fimc-is.c + accept '[\t]ret[ ]=[ ]fimc_is_request_firmware[(]' drivers/media/platform/exynos4-is/fimc-is.c + accept 'static[ ]int[ ]philips_tdm1316l_request_firmware[(]' drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c + accept '[\t]\.request_firmware[ ]=[ ]philips_tdm1316l_request_firmware[,]' drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c + accept '[\t][\t]pr_err[(]["][ ]request_firmware[ ]failed' drivers/misc/ti-st/st_kim.c + accept 'typhoon_request_firmware[(]' drivers/net/ethernet/3com/typhoon.c + accept '[\t]err[ ]=[ ]typhoon_request_firmware[(]' drivers/net/ethernet/3com/typhoon.c + accept '[\t][\t]goto[ ]request_firmware_exit[;]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + accept '[\t]BNX2X_ALLOC_AND_SET[(]init_data[,][ ]request_firmware_exit[,]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + accept 'request_firmware_exit:' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + accept 'static[ ]int[ ]bnx2_request_firmware[(]' drivers/net/ethernet/broadcom/bnx2.c + accept '[\t]rc[ ]=[ ]bnx2_request_firmware[(]' drivers/net/ethernet/broadcom/bnx2.c + accept 'static[ ]int[ ]tg3_request_firmware[(]' drivers/net/ethernet/broadcom/tg3.c + accept '[\t][\t]err[ ]=[ ]tg3_request_firmware[(]' drivers/net/ethernet/broadcom/tg3.c + accept 'static[ ]const[ ]struct[ ]firmware[ ][*]e100_request_firmware[(]' drivers/net/ethernet/intel/e100.c + accept '[\t]fw[ ]=[ ]e100_request_firmware[(]' drivers/net/ethernet/intel/e100.c + accept '[/][*][ ]Call[ ]this[]function[ ]from[ ]process[ ]context[,][ ]it[ ]will[ ]sleep[ ]in[ ]request_firmware[.]' drivers/net/wireless/ipw2x00/ipw2200.c + accept '[ ][*][ ]@request_firmware_complete:' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[\t][\t]lbs_deb_fw[(]["]request_firmware_nowait[ ]error' drivers/net/wireless/libertas/firmware.c + accept 'void[ ]netxen_request_firmware[(]' 'drivers/net/ethernet/qlogic/netxen/netxen_nic\(\.h\|_init\.c\)' + accept '[\t]netxen_request_firmware[(]' drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c + accept 'void[ ]qlcnic_request_firmware[(]' 'drivers/net/ethernet/qlogic/qlcnic/qlcnic\(\.h\|_init\.c\)' + accept '[\t][\t]qlcnic_request_firmware[(]' drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c + accept 'static[ ]void[ ]rtl_request_firmware[(]' drivers/net/ethernet/realtek/r8169.c + accept '[\t]rtl_request_firmware[(]' drivers/net/ethernet/realtek/r8169.c + accept 'static[ ]void[ ]b43_request_firmware[(]' drivers/net/wireless/b43/main.c + accept '[\t]INIT_WORK[(][&]wl->firmware_load[,][ ]b43_request_firmware[)]' drivers/net/wireless/b43/main.c + accept 'static[ ]void[ ]b43legacy_request_firmware[(]' drivers/net/wireless/b43legacy/main.c + accept '[\t]INIT_WORK[(][&]wl->firmware_load[,][ ]b43legacy_request_firmware[)]' drivers/net/wireless/b43legacy/main.c + accept 'il4965_request_firmware[(]' drivers/net/wireless/iwlegacy/4965-mac.c + accept '[\t]if[ ][(]il4965_request_firmware[(]' drivers/net/wireless/iwlegacy/4965-mac.c + accept '[\t]err[ ]=[ ]il4965_request_firmware[(]' drivers/net/wireless/iwlegacy/4965-mac.c + accept 'static[ ]int[ ]iwl_request_firmware[(]' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[\t]if[ ][(]iwl_request_firmware[(]' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[\t]ret[ ]=[ ]iwl_request_firmware[(]' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[ ][*][ ]@request_firmware_complete:' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[\t]struct[ ]completion[ ]request_firmware_complete[;]' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[\t]\(complete\|\(init\|wait_for\)_completion\)[(][&]drv->request_firmware_complete[)]' drivers/net/wireless/iwlwifi/iwl-drv.c + accept '[\t][ ][*][ ]Obtain[ ]NVM[ ]image[ ]via[ ]request_firmware[.]' drivers/net/wireless/iwlwifi/mvm/nvm.c + accept 'static[ ]int[ ]mwl8k_request_firmware[(]' drivers/net/wireless/mwl8k.c + accept '[\t]rc[ ]=[ ]mwl8k_request_firmware[(]' drivers/net/wireless/mwl8k.c + accept 'static[ ]int[ ]p54spi_request_firmware[(]' drivers/net/wireless/p54/p54spi.c + accept '[\t]ret[ ]=[ ]p54spi_request_firmware[(]' drivers/net/wireless/p54/p54spi.c + accept 'static[ ]int[ ]rt2x00lib_request_firmware[(]' drivers/net/wireless/rt2x00/rt2x00firmware.c + accept '[\t][\t]retval[ ]=[ ]rt2x00lib_request_firmware[(]' drivers/net/wireless/rt2x00/rt2x00firmware.c + accept '[\t][\t]*wl1271_error[(]["]request_firmware_nowait[ ]failed' drivers/net/wireless/ti/wlcore/main.c + accept '[\t][\t]nfc_err[(][&]drv->pdev->dev[,][ ]["]request_firmware[ ]failed' drivers/nfc/nfcwilink.c + accept '[\t][\t][\t]["]request_firmware[ ]returned' drivers/nfc/nfcwilink.c + accept '[\t][\t]dev_err[(][&]rproc->dev[,][ ]["]request_firmware_nowait[ ]err' drivers/remoteproc/remoteproc_core.c + accept '[\t][\t]dev_err[(]dev[,][ ]["]request_firmware[ ]failed' drivers/remoteproc/remoteproc_core.c + accept 'static[ ]int[ ]asd_request_firmware[(]' drivers/scsi/aic94xx/aic94xx_seq.c + accept '[\t]err[ ]=[ ]asd_request_firmware[(]' drivers/scsi/aic94xx/aic94xx_seq.c + accept '[\t]uint32_t[ ]cfg_request_firmware_upgrade[;]' drivers/scsi/lpfc/lpfc.h + accept '[ ][*][ ]lpfc_request_firmware_store[ ]-[ ]' drivers/scsi/lpfc/lpfc_attr.c + accept 'lpfc_request_firmware_upgrade_store[(]' drivers/scsi/lpfc/lpfc_attr.c + accept 'lpfc_param_show[(]request_firmware_upgrade[)]' drivers/scsi/lpfc/lpfc_attr.c + accept '[\t]rc[ ]=[ ]lpfc_sli4_request_firmware_update[(]' drivers/scsi/lpfc/lpfc_attr.c + accept '[ ][*][ ]lpfc_request_firmware_upgrade_init[ ]-[ ]' drivers/scsi/lpfc/lpfc_attr.c + accept 'lpfc_request_firmware_upgrade_init[(]' drivers/scsi/lpfc/lpfc_attr.c + accept '[\t][\t]phba->cfg_request_firmware_upgrade[ ]=' drivers/scsi/lpfc/lpfc_attr.c + accept '[\t][\t][ ]*lpfc_request_firmware_upgrade_\(show\|store\)[,)]' drivers/scsi/lpfc/lpfc_attr.c + accept '[\t]lpfc_request_firmware_upgrade_init[(]' drivers/scsi/lpfc/lpfc_attr.c + accept 'int[ ]lpfc_sli4_request_firmware_update[(]' drivers/scsi/lpfc/lpfc_crtn.h + accept '[ ][*][ ]@fw:[ ]pointer[ ]to[ ]firmware[ ]image[ ]returned[ ]from[ ]request_firmware[.]' drivers/scsi/lpfc/lpfc_init.c + accept '[ ][*][ ]lpfc_sli4_request_firmware_update[ ]-[ ]' drivers/scsi/lpfc/lpfc_init.c + accept 'lpfc_sli4_request_firmware_update[(]' drivers/scsi/lpfc/lpfc_init.c + accept '[\t]if[ ][(]phba->cfg_request_firmware_upgrade[)]' drivers/scsi/lpfc/lpfc_init.c + accept '[\t][\t]ret[ ]=[ ]lpfc_sli4_request_firmware_update[(]' drivers/scsi/lpfc/lpfc_init.c + accept '[ ][*][ ]qla1280_request_firmware' drivers/scsi/qla1280.c + accept 'qla1280_request_firmware[(]' drivers/scsi/qla1280.c + accept '[\t]fw[ ]=[ ]qla1280_request_firmware[(]' drivers/scsi/qla1280.c + accept 'extern[ ]struct[ ]fw_blob[ ][*]qla2x00_request_firmware[(]' drivers/scsi/qla2xxx/qla_gbl.h + accept '[\t]blob[ ]=[ ]qla2x00_request_firmware[(]' drivers/scsi/qla2xxx/qla_init.c + accept '[\t]blob[ ]=[ ]ha->hablob[ ]=[ ]qla2x00_request_firmware[(]' drivers/scsi/qla2xxx/qla_nx.c + accept 'qla2x00_request_firmware[(]' drivers/scsi/qla2xxx/qla_os.c + accept '[\t]-[ ]change[ ]firmware[ ]loading[ ]for[ ]usb[ ]driver[ ]to[ ]proper[ ]kernel[ ]method[ ][(]request_firmware[)]' drivers/staging/ft1000/TODO + accept '[\t][\t]pr_err[(]["]rtl8723au:[ ]request_firmware[ ]load' drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c + accept '[\t ]*[*][ ]We[ ]call[ ]request_firmware_nowait[ ]instead[ ]of[ \t\n*]*request_firmware[ ]so[ ]that' drivers/tty/serial/ucc_uart.c + accept '[\t][\t]dev_err[(][&]dev->dev[,][ ]["]%d[,][ ]request_firmware[ ]failed' sound/pci/asihpi/hpidspcd.c + accept 'static[ ]int[ ]snd_ymfpci_request_firmware[(]' sound/pci/ymfpci/ymfpci_main.c + accept '[\t]err[ ]=[ ]snd_ymfpci_request_firmware[(]' sound/pci/ymfpci/ymfpci_main.c + # New in 3.19 + blobname 'a420_p\(m4\|fp\)\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]a4xx_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a4xx_gpu.c + defsnc 'static[ ]const[ ]u32[ ]gen9_null_state_batch\[\][ ]=' drivers/gpu/drm/i915/intel_renderstate_gen9.c + defsnc 'nv50_disp_\(core_mthd_head\|base_mthd_base\)[ ]=[ ][{]\([\n][ \t]*\.\(mthd\|addr\)[ ]=[ ]0x00*\([04]0\|54\)0[,]\)*[\n][ \t]*\.data[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nv50.c + defsnc 'nv84_disp_\(core_mthd_head\|base_mthd_base\)[ ]=[ ][{]\([\n][ \t]*\.\(mthd\|addr\)[ ]=[ ]0x00*\([04]0\|54\)0[,]\)*[\n][ \t]*\.data[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nv84.c + defsnc 'nvd0_disp_\(core_mthd_head\|base_mthd_base\)[ ]=[ ][{]\([\n][ \t]*\.\(mthd\|addr\)[ ]=[ ]0x00*\(300\)\?[,]\)*[\n][ \t]*\.data[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c + defsnc 'nve0_disp_\(core_mthd_head\|base_mthd_base\)[ ]=[ ][{]\([\n][ \t]*\.\(mthd\|addr\)[ ]=[ ]0x00*300[,]\)*[\n][ \t]*\.data[ ]=' drivers/gpu/drm/nouveau/core/engine/disp/nve0.c + # This reads from user-supplied filenames. + accept 'shadow_fw_init[(]struct[ ]nouveau_bios[ ][*]bios[,][ ]const[ ]char[ ][*]name[)][\n][{][\n]\(\([^}\n][^\n]*\)\?[\n]\)*[\t]int[ ]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ]dev[)][;]' drivers/gpu/drm/nouveau/core/subdev/bios/shadow.c + defsnc 'static[ ]const[ ]u32[ ]coef_lut_\(a_legacy\|b\|[cdef]_[yc]_legacy\)\[NB_COEF\][ ]=' drivers/gpu/drm/sti/sti_hqvdp_lut.h + blobname 'hqvdp-stih407\.bin' drivers/gpu/drm/sti/sti_hqvdp.c + defsnc '[\t]static[ ]const[ ]union[ ]sixaxis_output_report_01[ ]default_report[ ]=' drivers/hid/hid-sony.c + blobname 'elan_i2c\.bin' drivers/input/mouse/elan_i2c_core.c + blobname 'elants_i2c\.bin' drivers/input/touchscreen/elants_i2c.c + defsnc '[}][ ]QAM256_mod_tab_zv_mode\[\][ ]=' drivers/media/dvb-frontends/au8522_dig.c + blobname 'dvb-demod-m88rs6000\.fw' drivers/media/dvb-frontends/m88ds3103_priv.h + defsnc 'static[ ]const[ ]struct[ ]m88ds3103_reg_val[ ]m88rs6000_dvbs2\?_init_reg_vals\[\][ ]=' drivers/media/dvb-frontends/m88ds3103_priv.h + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]\(luma\|chroma\)_ac_value\[162[ ][+][ ]2\][ ]=' drivers/media/platform/coda/coda-jpeg.c + defsnc 'static[ ]unsigned[ ]char[ ]\(luma\|chroma\)_q\[64\][ ]=' drivers/media/platform/coda/coda-jpeg.c + defsnc 'static[ ]const[ ]struct[ ]vin_coeff[ ]vin_coeff_set\[\][ ]=' drivers/media/platform/soc_camera/rcar_vin.c + defsnc 'const[ ]unsigned[ ]short[ ]tpg_\(rec709_to_linear\|linear_to_rec709\)\[255[ ][*][ ]16[ ][+][ ]1\][ ]=' drivers/media/platform/vivid/vivid-tpg-colors.c + defsnc '[\t]static[ ]const[ ]struct[ ]m88rs6000t_reg_val[ ]reg_vals\[\][ ]=' drivers/media/tuners/m88rs6000t.c + blobna '[/][*][ ]cal--\.bin[ ][*][/]' drivers/net/wireless/ath/ath10k/core.c + blobname 'cal-%s-%s\.bin' drivers/net/wireless/ath/ath10k/core.c + defsnc 'static[ ]const[ ]u32[ ]qca953x_2p0_\(common_wo_xlna_rx\|modes_\(no_\)\?xpa_tx\)_gain_table\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar953x_initvals.h + blobname 'mrvl[/]usb8766_uapsta\.bin' drivers/net/wireless/mwifiex/usb.h + defsc 'static[ ]const[ ]unsigned[ ]char[ ]opcode_ind_arr\[256\][ ]=' drivers/scsi/scsi_debug.c + defsnc 'static[ ]const[ ]struct[ ]quark_spi_rate[ ]quark_spi_rate_table\[\][ ]=' drivers/spi/spi-pxa2xx.c + blobname 'me4000_firmware\.bin' drivers/staging/comedi/drivers/me4000.c + defsnc '[\t]u8[ ]ConnectionMsg\[\][ ]=' drivers/staging/ft1000/ft1000-usb/ft1000_debug.c + accept '[\t]pr_info[(]["]load[ ]fpgaimage[ ]%s[\\]n["][,][ ]fw_file[)][;][\n]*[\t]err[ ]=[ ]request_firmware[(][&]fimage->fw_entry[,]' drivers/staging/gs_fpgaboot/gs_fpgaboot.c + blobname 'dvb-demod-mn88472-02\.fw' drivers/staging/media/mn88472/mn88472_priv.h + blobname 'dvb-demod-mn88473-01\.fw' drivers/staging/media/mn88473/mn88473_priv.h + accept '[\t][\t]goto[ ]err_request_firmware[;]' drivers/staging/media/mn88473/mn88473.c + accept 'err_request_firmware[:]' drivers/staging/media/mn88473/mn88473.c + blob 'The[ ]card[ ]requires[ ]firmware.*[\n]rm[ ]wd7296a\.sys' Documentation/scsi/wd719x.txt + blobname 'wd719x-\(wcs\|risc\)\.bin' drivers/scsi/wd719x.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]v2_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + defsnc 'static[ ]const[ ]u8[ ]debug_pk\[64\][ ]=' net/bluetooth/smp.c + defsnc 'static[ ]const[ ]u8[ ]debug_sk\[32\][ ]=' net/bluetooth/smp.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ad1980_reg_defaults\[\][ ]=' sound/soc/codecs/ad1980.c + blobname 'rt5677_dsp_fw[12]\.bin' sound/soc/codecs/rt5677.c + accept 'int[ ]sst_request_firmware_async[(]' sound/soc/intel/sst/sst.h + blobname 'intel[/]fw_sst_0f28\.bin-48kHz_i2s_master' sound/soc/intel/sst-acpi.c + blobname '\(intel[/]\)\?fw_sst_\(0f28\|22a8\)\.bin' sound/soc/intel/sst/sst_acpi.c + blobname '%s%04x%s["][,][ ]["]fw_sst_["][,][\n][ \t]*sst_drv_ctx->dev_id[,][ ]["]\.bin' sound/soc/intel/sst/sst_pci.c + accept '[\t]\?\(evsel\|machine\|thread\|comm\(_thread\)\?\|dso\|symbol\|branch_type\|sample\|[\t]call\(_path\)\?\)_file[ \t]*=[ ]open_output_file[(]["]\(evsel\|machine\|thread\|comm\(_thread\)\?\|dso\|symbol\|branch_type\|sample\|call\(_path\)\?\)_table\.bin["][)]' tools/perf/scripts/python/export-to-postgresql.py + # accept '\([*]\.\(bin\|elf\|fw\)\|\(setup\|wakeup\)\.\(bin\|elf\)\|vmlinux\.bin\.all\|tftpboot\.img\)[\n]' Documentation/dontdiff + # New in 4.0. + blobname 'intel[/]ibt-11-%u\.sfi' drivers/bluetooth/btusb.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf100_gr_init_\(main\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[ ][ ]*gf100_gr_init_fw[(]priv[,][ ]0x4\(09\|1a\)000[,][ ][&]priv->fuc4\(09\|1a\)c[,][ \n ]*[&]priv->fuc4\(09\|1a\)d[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[ ][ ]*gf100_gr_dtor_fw[(]&priv->fuc4\(09\|1a\)[cd][)][;]' drivers/gpu/drm/nouveua/nvkm/engine/gr/gf100.c + accept '[ ][ ]*\(if[ ][(]\|[ ][ ][ ][ ]\)gf100_gr_ctor_fw[(]priv[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]priv->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveua/nvkm/engine/gr/gf100.c + blobname 'firmware-4\.bin' drivers/net/wireless/ath/ath10k/hw.h + blobname 'brcm[/]brcmfmac43340-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c + blobname 'iwlwifi-7260-' drivers/net/wireless/iwlwifi/pcie/7000.c + blobname 'iwlwifi-8000' drivers/net/wireless/intel/iwlwifi/iwl-8000.c + blobname 'iwl_nvm_8000B\.bin' drivers/net/wireless/iwlwifi/iwl-8000.c + blobname 'mrvl[/]sd8801_uapsta\.bin' drivers/net/wireless/mwifiex/sdio.h + blobname 'mrvl[/]usb8801_uapsta\.bin' drivers/net/wireless/mwifiex/usb.h + blobname 'ti-connectivity[/]wl18xx-fw-4\.bin' drivers/net/wireless/ti/wl18xx/main.c + blobname 'intel[/]fw_sst_22a8\.bin' sound/soc/intel/sst_acpi.c + defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]z_div_table\[\][ ]=' drivers/clk/shmobile/clk-sh73a0.c + defsnc 'uint32_t[ ]gf100_pce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3.h + defsnc 'uint32_t[ ]gt215_pce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gt215.fuc3.h + defsnc '\(static[ ]\)\?const[ ]struct[ ]nv50_disp_mthd_list[\n]g84_disp_\(base\|core\|ovly\)_mthd_\(dac\|head\|base\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]nv50_disp_mthd_list[\n]gf110_disp_\(base\|core\|ovly\)_mthd_\(dac\|head\|base\|sor\|pior\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]nv50_disp_mthd_list[\n]gk104_disp_\(core\|ovly\)_mthd_\(head\|base\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]nv50_disp_mthd_list[\n]gt200_disp_ovly_mthd_base[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf100_grctx_init_\(icmd\|9097\|902d\|90c0\|fe\|memfmt\|rstr2d\|prop\|setup\|crstr\|zcullr\|wwdx\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf104_grctx_init_\(tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf104.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf108_grctx_init_\(icmd\|9097\|setup\|wwdx\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf108.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf110_grctx_init_\(icmd\|setup\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf110.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf117_grctx_init_\(ds\|pd\|setup\|tex\|wwdx\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf117.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf119_grctx_init_\(\(icmd\|90c0\|fe\|ds\|prop\|setup\|crstr\|tex\|sm\)_0\|gpc_unk_1\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf119.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk104_grctx_init_\(icmd\|a097\|fe\|memfmt\|ds\|pd\|be\|setup\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk104.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk110_grctx_init_\(icmd\|a197\|fe\|pd\|be\|setup\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk110.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk208_grctx_init_\(icmd\|fe\|ds\|pd\|rstr2d\|be\|prop\|setup\|crstr\|tex\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk208.c + defsnc 'uint32_t[ ]gf100_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf100.fuc3.h + defsnc 'uint32_t[ ]gf117_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf117.fuc3.h + defsnc 'uint32_t[ ]gk104_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk104.fuc3.h + defsnc 'uint32_t[ ]gk110_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk110.fuc3.h + defsnc 'uint32_t[ ]gk208_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk208.fuc5.h + defsnc 'uint32_t[ ]gf100_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf100.fuc3.h + defsnc 'uint32_t[ ]gf117_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf117.fuc3.h + defsnc 'uint32_t[ ]gk104_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk104.fuc3.h + defsnc 'uint32_t[ ]gk110_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk110.fuc3.h + defsnc 'uint32_t[ ]gk208_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk208.fuc5.h + accept '[ ]struct[ ]gf100_gr_fuc[ ]fuc4\(09\|1a\)[cd]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf104_gr_init_\(ds\|tex\|pe\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf104.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf110_gr_init_sm_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf110.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gf119_gr_init_\(\(pd\|ds\|prop\|gpm\|tex\|pe\|wwdx\|sm\)_0\|\(tpccs\|gpc_unk\|fe\)_1\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf119.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk104_gr_init_\(\(main\|ds\|sked\|cwd\|tpccs\|pe\|l1c\|sm\|be\)_0\|gpc_unk_1\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk110_gr_init_\(\(fe\|ds\|sked\|cwd\|tex\|l1c\|sm\)_0\|gpc_unk_1\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk110b_gr_init_\(l1c\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110b.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gk208_gr_init_\(\(main\|ds\|gpc_unk\|tex\|l1c\)_0\|setup_1\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gk208.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]gf100_gr_init[\n ]gm107_gr_init_\(\(main\|ds\|scc\|sked\|prop\|zcull\|tpccs\|tex\|pe\|l1c\|sm\|pes\|wwdx\|cbm\|be\)_0\|\(setup\|gpc_unk\|l1c\|sm\)_1\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/gm107.c + defsnc 'static[ ]u32[ \n]nv04_gr_ctx_regs\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nv04.c + defsnc 'static[ ]int[ \n]nv10_gr_ctx_regs\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nv10.c + defsnc 'uint32_t[ ]g98_psec_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/sec/fuc/g98.fuc0s.h + accept 'shadow_fw_init[(]struct[ ]nvkm_bios[ ][*]bios[,][ ]const[ ]char[ ][*]name[)][\n][{][\n]\(\([^}\n][^\n]*\)\?[\n]\)*[\t]int[ ]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ]dev[)][;]' drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c + defsnc 'uint32_t[ ]gf100_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h + defsnc 'uint32_t[ ]gf110_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf110.fuc4.h + defsnc 'uint32_t[ ]gk208_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h + defsnc 'uint32_t[ ]gt215_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h + defsnc 'static[ ]const[ ]struct[ ]dw_hdmi_mpll_config[ ]rockchip_mpll_cfg\[\][ ]=' drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c + defsnc '[}][ ]kmx61_\(samp_freq\|wake_up_odr\)_table\[\][ ]=' drivers/iio/imu/kmx61.c + defsnc 'static[ ]const[ ]u8[ ]jpeg_header\[\][ ]=' drivers/staging/media/solo6x10/solo6x10-jpeg.h + defsnc 'static[ ]const[ ]u8[ ]jpeg_dqt\[4\]\[DQT_LEN\][ ]=' drivers/media/pci/solo6x10/solo6x10-jpeg.h + defsnc 'static[ ]u8[ ]vop_6010_\(ntsc\|pal\)_\(d1\|cif\)\[\][ ]=' drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c + defsnc '[\t]static[ ]const[ ]struct[ ]rate_s[ ]rate_1\[\][ ]=' drivers/media/usb/gspca/ov534.c + defsnc 'static[ ]struct[ ]serdes_cfg[ ]cfg_phyb_10p3125g_\(156p25mhz_cmu1\|16bit_lane\|comlane\)\[\][ ]=' drivers/net/ethernet/ti/netcp_xgbepcsr.c + defsnc 'static[ ]const[ ]u32[ ]qca956x_1p0_\(baseband\|radio\)_core\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar956x_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca956x_1p0_\(baseband\|radio\)_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar956x_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca956x_1p0_modes_\(no_\)\?xpa_\(low_ob_db_\|green_\)\?tx_gain_table\[\]\[3\][ ]=' drivers/net/wireless/ath/ath9k/ar956x_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca956x_1p0_common_rx_gain_table\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar956x_initvals.h + defsnc 'static[ ]const[ ]u32[ ]qca956x_1p0_xlna_only\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar956x_initvals.h + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]smc0_nor_pins\[\][ ]=' drivers/pinctrl/pinctrl-zynq.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]gamma_correction_table\[\][ ]=' drivers/staging/fbtft/fb_agm1264k-fl.c + defsnc '[\t]write_reg[(]par[,][ ]0x2D[,]' drivers/staging/fbtft/fb_hx8353d.c + defsnc '[#]define[ ]DEFAULT_GAMMA' 'drivers/staging/fbtft/fb_ssd13[35]1\.c' + defsnc 'static[ ]struct[ ]fbtft_device_display[ ]displays\[\][ ]=' drivers/staging/fbtft/fbtft_device.c + defsnc 'struct[ ]ModeInit[ ]vgamode\[\][ ]=' drivers/staging/sm7xxfb/sm7xx.h + defsnc 'static[ ]const[ ]u8[ ]\(\(priv\|pub\)_[ab]\|dhkey\)_[123]\[\(32\|64\)\][ ]__initconst[ ]=' net/bluetooth/selftest.c + defsnc '[\t]const[ ]u8[ ][uvw]\[32\][ ]=' net/bluetooth/smp.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8995_reg_defaults\[\][ ]=' sound/soc/codecs/wm8995.c + + # CYAPA_FW_NAME, defined to this string, is not used anywhere, and + # firmware requests are issued with user-supplied names. So, + # deblob the unused name, but keep the request active. + blobname 'cyapa\.bin' drivers/input/mouse/cyapa.c + accept 'static[ ]int[ ]cyapa_firmware[(]struct[ ]cyapa[ ][*]cyapa[,][ ]const[ ]char[ ][*]fw_name[)][\n][{][\n]\(\([^}\n][^\n]*\)\?[\n]\)*[\t]error[ ]=[ ]request_firmware[(][&]fw[,][ ]fw_name[,][ ]dev[)][;]' drivers/input/mouse/cyapa.c + + # There are blob names here, but no apparent load mechanism. + blobname 'ssp_B2\.fw' drivers/iio/common/ssp_sensors/ssp_dev.c + blobname 'ssp_crashed\.fw' drivers/iio/common/ssp_sensors/ssp_dev.c + blobname 'thermostat_B2\.fw' drivers/iio/common/ssp_sensors/ssp_dev.c + + # New in 4.1. + defsnc 'uint8_t[ ]default_tx\[\][ ]=' Documentation/spi/spidev_test.c + accept '[#][ ]cat[ ][/]sys[/]kernel[/]debug[/]zsmalloc[/]zram0[/]classes[\n][\n][ ]class[^\n]*\([\n][ ][0-9. \t]*\)*' Documentation/vm/zsmalloc.txt + accept '[\t]*nvidia[,]emc-configuration[ ]=[ ][<][\n][\t]*\(0x[0-9a-f]*[\n][\t]*\)*[>][;]' 'arch/arm/boot/dts/tegra124-\(jetson-tk1\|nyan-\(big\|blaze\)\)-emc.dtsi' + initnc '\.Lsha256_rcon:[\n][\t]\.word[\t]*' arch/arm64/crypto/sha2-ce-core.S + accept 'K256:[\n]\.word[\t]0x428a2f98[,][0-9a-f0x,]*\([\n]\.word[\t][0-9a-f0x,]*\)*' 'arch/arm/crypto/sha256-\(armv4\.pl\|core\.S_shipped\)' + initnc 'PPC_AES_4K_DECTAB2:[\n][/][*][ ]decryption[ ]table[,][ ]same[ ]as[ ]crypto_il_tab[ ]in[ ]crypto[/]aes-generic\.c[ ][*][/]' arch/powerpc/crypto/aes-tab-4k.S + initnc 'PPC_SPE_SHA256_K:' arch/powerpc/crypto/sha256-spe-asm.S + defsnc 'static[ ]const[ ]u8[ ]initial_parm_block\[32\][ ]__initconst[ ]=' arch/s390/crypto/prng.c + defsnc '[\t]static[ ]const[ ]u8[ ]\(seed\|[VC]0\|random\)\[\][ ]__initconst[ ]=' arch/s390/crypto/prng.c + defsnc 'gm204_grctx_init_\(icmd\|b197\|fe\|ds\|pd\|be\|prop\|setup\|tex\|mpc\|sm\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm204.c + defsnc 'gm204_gr_init_\(main\|tpccs\|pe\|sm\|be\)_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm204.c + defsnc 'static[ ][ ]*\(const[ ]\)\?struct[ ]sensor_register[ ]ov2659_\(init_regs\|[us]\?xga\|[sq]\?vga\)\[\][ ]=' drivers/media/i2c/ov2659.c + defsnc 'static[ ]const[ ]struct[ ]pll_ctrl_reg[ ]ctrl1\[\][ ]=' drivers/media/i2c/ov2659.c + defsnc 'static[ ]const[ ]u16[ ]aic_lin_table\[ATH_AIC_MAX_AIC_LIN_TABLE\][ ]=' drivers/net/wireless/ath/ath9k/ar9003_aic.c + defsc 'static[ ]struct[ ]ModeInit[ ]vgamode\[\][ ]=' drivers/staging/sm7xxfb/sm7xx.h + defsnc 'static[ ]const[ ]s32[ ]sin_table\[\][ ]=' include/linux/fixp-arith.h + defsnc 'static[ ]int64_t[ ]__RH_LH_tbl\[128[*]2[+]2\][ ]=' net/ceph/crush/crush_ln_table.h + defsnc 'static[ ]int64_t[ ]__LL_tbl\[256\][ ]=' net/ceph/crush/crush_ln_table.h + blobname 'rtl_bt[/]rtl8723[ab]_fw\.bin' drivers/bluetooth/btusb.c + blobname 'rtl_bt[/]rtl8821a_fw\.bin' drivers/bluetooth/btusb.c + blobname 'rtl_bt[/]rtl8761a_fw\.bin' drivers/bluetooth/btusb.c + blobname 'brcm[/]\(%s\(-%4\.4x-%4\.4x\)\?[^ "\n]*\)\.hcd' drivers/bluetooth/btbcm.c + blobname 'cxgb4[/]aq1202_fw\.cld' drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c + accept 'static[ ]int[ ]set_flash[(]struct[ ]net_device[ ][*]netdev[,][ ]struct[ ]ethtool_flash[ ][*]ef[)][\n][{]\([\n]\+[^\n}][^\n]*\)*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]ef->data[,][ ]adap->pdev_dev[)][;]\([\n]\+[^\n}][^\n]*\)*[\n]\+[}][\n]' drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c + blobname 'brcm[/]\(%s\|.*\)-\(%04x\|[0-9a-f]*\)-\(%04x\|[0-9a-f]*\)\.hcd' drivers/bluetooth/btusb.c + blobname 'qca[/]\(rampatch\|nv\(ra\)\?m\)_usb_\(%08x\|[0-9a-f]*\)\.bin' drivers/bluetooth/btusb.c + blobname 'elants_i2c_\(%04x\|[0-9a-f]*\)\.bin' drivers/input/touchscreen/elants_i2c.c + blobname 'ct2\?fw-3\.2\.5\.1\.bin' drivers/net/ethernet/brocade/bna/cna.h + blobname 'brcm[/]brcmfmac43\(4\(30\|55\)\|54\)-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/sdio.c + blobname 'iwlwifi-7265D-' drivers/net/wireless/iwlwifi/iwl-7000.c + blobname '%s%c-%s\.ucode' drivers/net/wireless/iwlwifi/iwl-drv.c + blobname 'intel[/]IntcPP01\.bin' sound/soc/intel/haswell/sst-haswell-ipc.c + accept '[\t]*rc[ ]=[ ]wil_request_firmware[(]wil[,][ ]WIL_FW2\?_NAME[)][;]' drivers/net/wireless/ath/wil6210/main.c + blobname 'nvmData-8000[BC]' drivers/net/wireless/iwlwifi/iwl-8000.c + + # New in 4.2. + accept '[\t ]*interrupts[ ]=[ ]<\([ \n\t]*0x0[ ]0x1[0-9a-f][ ]0x4\)*>[;]' Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt + accept '[\t]*bool[ ]["]vmlinu[xz]\.bin["]' arch/mips/Kconfig + defsnc 'static[ ]struct[ ]hash_testvec[ ]\(ghash\|poly1305\|crc32\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]struct[ ]aead_testvec[ ]rfc7539\(esp\)\?_\(enc\|dec\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]struct[ ]cipher_testvec[ ]chacha20_enc_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]iproc_pll_vco_param[ ]mipipll_vco_params\[\][ ]=' drivers/clk/bcm/clk-cygnus.c + defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]ahb_div_table\[\][ ]=' drivers/clk/clk-stm32f4.c + defsnc '[\t]static[ ]u8[ ]padded_hash\[64\][ ]=' drivers/crypto/talitos.c + defsnc 'static[ ]const[ ]int[ ]stk3310_it_table\[\]\[2\][ ]=' drivers/iio/light/stk3310.c + defsnc 'static[ ]const[ ]u8[ ]drv2665_sine_wave_form\[\][ ]=' drivers/input/misc/drv2665.c + defsnc 'static[ ]const[ ]char[ ]ipr_bit\[\][ ]=' drivers/irqchip/irq-renesas-h8300h.c + defsnc 'static[ ]const[ ]struct[ ]multiplier[ ]multipliers\[\][ ]=' drivers/media/pci/cobalt/cobalt-cpld.c + defsnc 'static[ ]u8[ ]edid\[256\][ ]=' drivers/media/pci/cobalt/cobalt-driver.c + defsnc 'static[ ]const[ ]struct[ ]bdisp_filter_[hv]_spec[ ]bdisp_[hv]_spec\[\][ ]=' drivers/media/platform/sti/bdisp/bdisp-filter.h + defsnc '[\t]struct[ ]init_command[ ]genius_vcam_live_start_commands\[\][ ]=' drivers/media/usb/gspca/sn9c2028.c + defsnc '[\t]static[ ]const[ ]unsigned[ ]int[ ]t6_reg_ranges\[\][ ]=' drivers/net/ethernet/chelsio/cxgb4/t4_hw.c + defsnc 'static[ ]const[ ]struct[ ]mt76_reg_pair[ ]bbp_\(common\|chip\)_vals\[\][ ]=' drivers/net/wireless/mediatek/mt7601u/initvals.h + defsnc '[\t]static[ ]const[ ]u8[ ]freq_plan\[14\]\[FREQ_PLAN_REGS\][ ]=' drivers/net/wireless/mediatek/mt7601u/phy.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(lcd_vip_gpio\|visbus_dout\)_pins\[\][ ]=' drivers/pinctrl/sirf/pinctrl-atlas7.c + defsnc 'static[ ]const[ ]u32[ ]bq24257_vbat_map\[\][ ]=' drivers/power/bq24257_charger.c + defsnc 'static[ ]const[ ]int[ ]rt9455_\(voreg\|boost_voltage\)_values\[\][ ]=' drivers/power/rt9455_charger.c + defsnc '[\t]write_reg[(]par[,][ ]HX8357D_SETGAMMA[,][\n][\t][\t]' drivers/staging/fbtft/fb_hx8357d.c + defsnc '[}][ ]isl29018_scales\[4\]\[4\][ ]=' drivers/staging/iio/light/isl29018.c + defsnc 'const[ ]u32[ ]dm_tx_bb_gain\[TxBBGainTableLength\][ ]=' drivers/staging/rtl8192e/rtl8192e/rtl_dm.c + defsnc 'const[ ]u8[ ]dm_cck_tx_bb_gain\(_ch14\)\?\[CCKTxBBGainTableLength\]\[8\][ ]=' drivers/staging/rtl8192e/rtl8192e/rtl_dm.c + defsnc 'static[ ]const[ ]struct[ ]vesa_mode[ ]vesa_mode_table\[\][ ]=' drivers/staging/sm7xxfb/sm7xxfb.c + defsnc 'static[ ]const[ ]struct[ ]modeinit[ ]vgamode\[\][ ]=' drivers/staging/sm7xxfb/sm7xxfb.c + defsnc 'static[ ]const[ ]uint8_t[ ]crc7_syndrome_table\[256\][ ]=' drivers/staging/wilc1000/wilc_spi.c + defsnc 'static[ ]__s64[ ]__RH_LH_tbl\[128[*]2[+]2\][ ]=' net/ceph/crush/crush_ln_table.h + defsnc 'static[ ]__s64[ ]__LL_tbl\[256\][ ]=' net/ceph/crush/crush_ln_table.h + defsnc 'static[ ]const[ ]u8[ ]vol_quot_table\[\][ ]=' sound/soc/codecs/sgtl5000.c + blobname 'radeon[/]TAHITI_vce\.bin' drivers/gpu/drm/radeon/radeon_vce.c + blobname 'elan_i2c_["][ ]ETP_PRODUCT_ID_FORMAT_STRING[ ]["]\.bin' drivers/input/mouse/elan_i2c.h + # Is this too broad? + blobname '%s%s%s_%s%s' drivers/net/ethernet/cavium/liquidio/libquidio_main.c + accept '#define[ ]LIO_FW_NAME_SUFFIX[\t ]*["]\.bin["]' drivers/net/ethernet/cavium/liquidio/liquidio_image.h + blobname 'cxgb4[/]\(t6fw\|bcm8483\)\.bin' drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c + blobname 'board-%s-%s\.bin' drivers/net/wireless/ath/ath10k/core.c + accept '[\t][/][*][ ]Don.t[ ]trust[ ]error[ ]code[ ]from[ ]otp\.bin[ ][*][/]' drivers/net/wireless/ath/ath10k/core.h + blobname 'firmware-5\.bin' drivers/net/wireless/ath/ath10k/hw.h + blobname 'brcm[/]brcmfmac4358-pcie\.bin' drivers/net/wireless/brcm80211/brcmfmacpcie.c + blobname 'brcm[/]brcmfmac43241b5-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/sdio.c + # http://arago-project.org/git/projects/?p=am33x-cm3.git contains + # source code and the Texas Instruments, Inc Software License + # Agreeent even looks like a Free Software license, but there are + # provisions about trade secrets that might be contained in blobs + # therein. Furthermore, the license hasn't been reviewed by the + # FSF. So let's keep on assuming it's non-Free, until we get a + # definitive answer. + blobname 'am335x-pm-firmware\.elf' Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt + blobname 'rtl_bt[/]rtl\(8723[ab]\|8821a\|8761a\)_fw\.bin' drivers/bluetooth/btrtl.c + blobname 'radeon[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]\(tonga\|carrizo\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'radeon[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\)_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]\(tonga\|carrizo\)_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'radeon[/]\(bonaire\|hawaii\|%s\)_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c + blobname 'radeon[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\|%s\)_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/cik_sdma.c + accept '[\t][/][*][ ]request_firmware[ ][*][/]' drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h + blobname 'amdgpu[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\|%s\)_\(pfp\|me\|ce\|rlc\|mec2\?\|mc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c + blobname 'amdgpu[/]\(tonga\|topaz\|%s\)_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c + blobname 'amdgpu[/]topaz_smc\.bin' drivers/gpu/drm/amd/amdgpu/iceland_dpm.c + blobname 'amdgpu[/]\(topaz\|%s\)_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c + blobname 'amdgpu[/]\(tonga\|carrizo\|%s\)_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c + blobname 'amdgpu[/]tonga_smc\.bin' drivers/gpu/drm/amd/amdgpu/tonga_dpm.c + blobname 'i915[/]skl_dmc_ver1\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'wdt87xx_\(fw\|cfg\)\.bin' drivers/input/touchscreen/wdt87xx_i2c.c + blobname 'dvb-fe-cx24120-1\.20\.58\.2\.fw' drivers/media/dvb-frontends/cx24120.c + # FIXME: LIO_... drivers/net/ethernet/cavium/liquidio/lio_main.c + blobname 'mt7601u\.bin' drivers/net/wireless/media/tek/mt7601u/usb.h + accept '[\t ]*["]request_firmware_nowait[ ]error' drivers/net/wireless/mwifiex/main.c + blobname 'atmel[/]wilc1000\(_ap\|_p2p\)\?_fw\.bin' drivers/staging/wilc1000/Makefile + blobname 'wifi_firmware\(_ap\|_p2p_concurrency\)\?\.bin' drivers/staging/wilc1000/linux_wlan.c + blob 'This[ ]directory[ ]is[ ]_NOT_[ ]for[ ]adding[ ]arbitrary[ ]new[ ]firmware[ ]images.*git[ ]pull[ ]request[ ]to:[\n][^\n]*linux-firmware@kernel\.org[\n][^\n]*mailing[ ]lists\.' firmware/README.AddingFirmware + + # New in 4.2.1 and 4.1.8. + defsnc '[}][ ]common_modes\[\][ ]=' drivers/gpu/drm/qxl/qxl_display.c + + # New in 4.3. + accept '[\t]*operating-points[ ]=[ ]<[\n\t 0-9]*>[;]' arch/arm/boot/dts/exynos5250.dtsi + defsnc 'static[ ]struct[ ]aead_testvec[ ]aes_ccm_rfc4309_\(enc\|dec\)_tv_template\[\][ \t]=' crypt/testmgr.h + defsnc 'static[ ]const[ ]u8[ ]const_tab\[1024\][ ]=' drivers/crypt/qat/qat_common/adf_admin.c + defsnc '[\t]static[ ]const[ ]int[ ]even_dividers\[\][ ]=' drivers/gpu/drm/i915/intel_ddi.c + defsnc 'static[ ]const[ ]struct[ ]bxt_clk_div[ ]bxt_dp_clk_val\[\][ ]=' drivers/gpu/drm/i915/intel_ddi.c + defsnc 'uint32_t[ ]gf100_ce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3.h + defsnc 'uint32_t[ ]gt215_ce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf215.fuc3.h + defsnc 'gf119_disp_\(base\|core\|ovly\)_mthd_\(base\|head\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/basegf119.c + defsnc 'uint32_t[ ]g98_sec_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf98.fuc0s.h + defsnc 'uint32_t[ ]gf119_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf119.fuc4.h + defsnc '[\t]static[ ]const[ ]u16[ ]\(display_mode\|gamma\)_settings\[\][ ]=' drivers/gpu/drm/panel/panel-lg-lg4573.c + defsnc 'static[ ]const[ ]struct[ ]cxd2841er_cnr_data[ ]s2\?_cn_data\[\][ ]=' drivers/media/dvb-frontends/cxd2841er.c + defsnc 'static[ ]const[ ]struct[ ]dvb_pll_desc[ ]dvb_pll_\(unknown_1\|opera1\|samsung_dtos403ih102a\)[ ]=' drivers/media/dvb-frontends/dvb-pll.c + defsnc 'static[ ]const[ ]u8[ ]zigzag\[\][ ]=' drivers/media/platform/rcar_jpu.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]qtbl_\(lum\|chr\)\[JPU_MAX_QUALITY\]\[QTBL_SIZE\][ ]=' drivers/media/platform/rcar_jpu.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]hactbl_\(lum\|chr\)\[HACTBL_SIZE\][ ]=' drivers/media/platform/rcar_jpu.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]wm5102_rev[ab]_patch\[\][ ]=' drivers/mfd/wm5102-tables.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]wm5110_rev[abd]_patch\[\][ ]=' drivers/mfd/wm5110-tables.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8998_rev_a_patch\[\][ ]=' drivers/mfd/wm8998-tables.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]hwecc4_4096[ ]=' drivers/mtd/nand/davinci_nand.c + defsnc 'static[ ]const[ ]unsigned[ ]adinter_\(pins\|muxvals\)\[\][ ]=' drivers/pinctrl/uniphier/pinctrl-ph1-ld6b.c + defsnc '[\t]write_csr[(]dd[,][ ]DCC_CFG_SC_VL_TABLE_\(15_0\|31_16\)' drivers/staging/rdma/hfi1/chip.c + defsnc '\(static[ ]\)\?const[ ]u8[ ]pcie_\(serdes\|pcs\)_addrs\[2\]\[NUM_PCIE_SERDES\][ ]=' drivers/staging/rdma/hfi1/firmware.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak4643_reg\[\][ ]=' sound/soc/codecs/ak4642.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]da7210_reg_defaults\[\][ ]=' sound/soc/codecs/da7210.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]da9055_reg_defaults\[\][ ]=' sound/soc/codecs/da9055.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]isabelle_reg_defs\[\][ ]=' sound/soc/codecs/isabelle.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]lm49453_reg_defs\[\][ ]=' sound/soc/codecs/lm49453.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt286_index_def\[\][ ]=' sound/soc/codecs/rt286.c + defsnc 'static[ ]\(const[ ]\)\?struct[ ]reg_default[ ]rt298_\(index_def\|reg\)\[\][ ]=' sound/soc/codecs/rt298.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]wm2200_reva_patch\[\][ ]=' sound/soc/codecs/wm2200.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_sysclk_reve_patch\[\][ ]=' sound/soc/codecs/wm5110.c + blobname 'qat_mmp\.bin' drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h + blobname 'amdgpu[/]fiji_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]fiji_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]fiji_\(ce\|pfp\|me\(c2\?\)\?\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c + blobname 'amdgpu[/]fiji_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c + blobname 'amdgpu[/]fiji_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c + accept '[ ][ ]*gf100_gr_init_fw[(]gr[,][ ]0x4\(09\|1a\)000[,][ ][&]gr->fuc4\(09\|1a\)c[,][ \n ]*[&]gr->fuc4\(09\|1a\)d[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[ ][ ]*gf100_gr_dtor_fw[(]&gr->fuc4\(09\|1a\)[cd][)][;]' drivers/gpu/drm/nouveua/nvkm/engine/gr/gf100.c + accept '[ ][ ]*\(if[ ][(]\|[ ][ ][ ][ ]\)gf100_gr_ctor_fw[(]gr[,][ ]["]\(fecs\|gpccs\)_\(inst\|data\)["][,][ ][&]gr->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveua/nvkm/engine/gr/gf100.c + blobname 'nvidia[/]%s[/]%s\.bin' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[\t]gr->firmware[ ]=[ ]nvkm_boolopt' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + blobname 'mrvl[/]pcie8997_uapsta\.bin' drivers/net/wireless/mwifiex/pcie.h + accept 'static[ ]const[ ]struct[ ]mwifiex_pcie_device[ ]mwifiex_pcie8997[ ]=[ ][{][\n][ ]\.firmware[ ]*=' drivers/net/wireless/mwifiex/pcie.h + blobname 'mrvl[/]sd8997_uapsta\.bin' drivers/net/wireless/mwifiex/sdio.h + blobname 'mrvl[/]usb8997_uapsta\.bin' drivers/net/wireless/mwifiex/usb.h + blobname 'intel[/]ibt-11-5\.\(sfi\|ddc\)' drivers/bluetooth/btintel.c + blobname 'qca[/]\(rampatch\|nvm\)_%08x\.bin' drivers/bluetooth/btqca.c + blobname 'intel[/]ibt-11-%u\.sfi' drivers/bluetooth/hci_intel.c + blobname 'amdgpu[/]fiji_smc\.bin' drivers/gpu/drm/adm/amdgpu/fiji_dpm.c + blobname 'pti_memdma_h407\.elf' drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c + blobname 'sec_s3fwrn5_\(firmware\|rfreg\)\.bin' drivers/nfc/s3fwrn5/core.c + blobname 'hfi_dc8051\.bin' drivers/staging/rdma/hfi1/firmware.c + blobname 'hfi1_\(dc8051\|fabric\|sbus\|pcie\)\.fw' drivers/staging/rdma/hfi1/firmware.c + blobname 'hfi1_platform\.dat' drivers/staging/rdma/hfi1/firmware.c + blobname 'dsp_fw_release\.bin' sound/soc/intel/skylake/skl-sst.c + accept '[\t]*dev_err[(]fei->dev[,][ ]["]request_firmware_nowait[ ]err:' drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c + accept 'static[ ]int[ ]s3fwrn5_fw_request_firmware[(]struct[ ]s3fwrn5_fw_info' drivers/nfc/s3fwrn5/firmware.c + accept '[\t]ret[ ]=[ ]s3fwrn5_fw_request_firmware[(]fw_info[)][;]' drivers/nfc/s3fwrn5/firmware.c + + # New in 4.4. + blobna 'More[ ]description[ ]on[ ]the[ ]firmware.*make[ ]sure[ ]to[ ]copy[ ]firmware[\n]to[ ]file[ ]system[ ]before[ ]using[ ]these[ ]queue[ ]types[.]' Documentation/arm/keystone/knav-qmss.txt + accept '[\t ]*interrupts[ ]=[ ]<\([\n\t ]*\([0-9xa-f]*\|[/]\([*]\+[^*/][^*]*\)\+[*]\+[/]\)\)*>[;]' arch/arm64/boot/dts/hisilicon/hip05_hns.dtis + accept '[ ][ ][ ][ ]run_cmd[ ]dd[ ]if=["][$]ofile\.bin["][ ]of=["][$]ofile\.bin["]' arch/powerpc/boot/wrapper + accept '#define[ ]XCHAL_BYTE0_FORMAT_LENGTHS[ \t238,\\\n]*' arch/xtensa/variants/de212/include/variant/tie.h + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]wm8998_rev_a_patch\[\][ ]=' drivers/mfd/wm8998-tables.c + defsnc 'static[ ]struct[ ]nand_ecclayout[ ]vf610_nfc_ecc\(45\|60\)[ ]=' drivers/mtd/nand/vf610_nfc.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[31\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsnc 'static[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8723a_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + defsnc 'static[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl\(\(8723a_phy_1t\|8192cu_phy_2t\)_init\|8188ru_phy_1t_highpa\|8xxx_agc_\(standard\|highpa\)\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + defsnc 'static[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl\(\(8723au_radioa_1t\|8192cu_radio[ab]_[12]t\)_init\|8188ru_radioa_1t_highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + defsnc 'static[ ]const[ ]int[ ]base_to_fuse_addr_mappings\[\]\[2\][ ]=' drivers/nvmem/vf610-ocotp.c + defsnc 'static[ ]const[ ]u8[ ]crc7_syndrome_table\[256\][ ]=' drivers/staging/wilc1000/wilc_spi.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]v3_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + defsnc 'omap3[46]xx_adc_to_temp\[128\][ ]=' drivers/thermal/ti-soc-thermal/omap3-thermal-data.c + accept '[\t]*[ ][*][ ]*0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1' net/6lowpan/iphc.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak4613_reg\[\][ ]=' sound/soc/codecs/ak4613.c + accept '[ ]\.helper[ ]*=[ ]NULL[,][\n][ ]*\.firmware' drivers/bluetooth/btmrvl_sdio.c + blobname 'amdgpu[/]stoney_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]stoney_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'i915[/]bxt_dmc_ver1\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname '\(utf\|board\)\(-2\)\?\.bin' drivers/net/wireless/ath/ath10k/hw.h + blobname 'brcm[/]brcmfmac43\(50\|6[56]b\|71\)-pcie\.bin' drivers/net/wireless/brcm80211/brcmfmac/pcie.c + accept '[\t]g_linux_wlan->firmware[ ]=' drivers/staging/wilc1000/linux_wlan.c + accept '#define[ \t]*FILE_SUFFIX_BINARY_TABLE[\t ]*["]\.dat["]' drivers/acpi/acpica/acapps.h + blobname 'i915[/]skl_guc_ver4\.bin' drivers/gpu/drm/i915/intel_guc_loader.c + blobname 'bu21023\.bin' drivers/input/touchscreen/rohm_bu21023.c + # These are user-supplied. + accept '[\t]cdev->firmware[ ]=[ ]kmalloc' drivers/misc/mic/cosm/cosm_sysfs.c + accept '[\t]rc[ ]=[ ]request_firmware[(][&]fw[,][ ]mdev->cosm_dev->' drivers/misc/mic/host/mic_x100.c + accept '[\t]if[ ][(]bnxt_dir_type_is_executable[^\n]*[\n][\t]*return[ ]-EINVAL[;][\n][\n]*[\t]rc[ ]=[ ]request_firmware[(][&]' drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c + blobname 'qed[/]qed_init_values_zipped-["][ ]FW_FILE_VERSION[ ]["]\.bin' drivers/net/ethernet/qlogic/qed/qed_main.c + accept 'MODULE_FIRMWARE[(]HTC_7010_MODULE_FW[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept 'MODULE_FIRMWARE[(]HTC_9271_MODULE_FW[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '\(static[ ]int[ ]\|[\t]*ret[ ]=[ ]\)ath9k_hif_request_firmware[(]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '[\t ]*["]%s[/]htc_%s-%d\.%s\.0\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c + accept '#define[ ]HTC_\(9271\|7010\)_MODULE_FW[ \t]*HTC_FW_PATH[ ]["][/]htc_\(9271\|7010\)-["][ ][\\][\n][ \t]*__stringify[(]MAJOR_VERSION_REQ[)][ ][\\][\n][ \t]*["]\.["][ ]__stringify[(]FIRMWARE_MINOR_IDX_MAX[)][ ]["]\.0\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.h + blobname 'rtlwifi[/]rtl8723aufw_\(A\|B\|B_NoBT\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + blobname 'rtlwifi[/]rtl8192cufw_\(A\|B\|TMSC\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + blobname '\(otp\|ram\)\.bin' drivers/nfc/fdp/fdp.c + accept '\(static[ ]int[ ]\|[\t]r[ ]=[ ]\)fdp_nci_request_firmware[(]' drivers/nfc/fdp/fdp.c + accept '[\t][\t]lpfc_sli4_request_firmware_update[(]' drivers/scsi/lpfc/lpfc_init.c + blobname 'ks2_qmss_pdsp_acc48\.bin' drivers/soc/ti/knav_qmss_queue.c + blobname 'dfw_sst\.bin' sound/soc/intel/skylake/skl-topology.c + # This seems to be designed to load a user-supplied fpga + # configuration file, but there aren't any callers to this + # function in the kernel tree. Presumably users who program FPGAs + # are supposed to write their own drivers and call this function. + accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]image_name[,][ ]' drivers/fpga/fpga-mgr.c + blobname 'fpga_mgr_firmware_load' drivers/fpga/fpga-mgr.c + accept '[\t ]*\(int\|ret[ ]=\)[ ]fpga_mgr_firmware_load[(]' drivers/fpga/fpga-mgr.[ch] + accept '[ ][*][ ]fpga_mgr_firmware_load[ ]-' drivers/fpga/fpga-mgr.c + accept 'EXPORT_SYMBOL_GPL[(]fpga_mgr_firmware_load[)][;]' drivers/fpga/fpga-mgr.c + accept '[\t ]*CHIP_IS_E2[(]bp[)][ ][?][ ]["]everest2["][ ]:[ ]["]everest3["][/][*][(]DEBLOBBED[)][*][/][)][;]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + + # New in 4.5. + blobname 'qat_895xcc_mmp\.bin' drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h + # These could use some assembly comments, but they're so simple + # and regular that disassembly should suffice to make them transparent. + defsnc 'static[ ]const[ ]u32[ ][vs]gpr_init_compute_shader\[\][ ]=' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c + blobname 'brcmfmac43\(602\|50\(\|c2\)\|56\|570\|5[89]\|6[56]b\|71\)-pcie\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c + blobname 'brcmfmac43\(143\|241b[045]\|29\|3[0459]\|340\|362\|430\|455\|54\)-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'brcmfmac43\(143\|236b\|242a\|569\)\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c + blobname 'hfi1_\(dc8051\|fabric\|sbus\|pcie\)_d\.fw' drivers/staging/rdma/hfi1/firmware.c + blobname '%s%s%s["][,][\n \t]*["]intel[/]dsp_fw_["][,][ ]guid[,][ ]["]\.bin' sound/soc/intel/skylake/skl-sst.c + accept '[\t]*fsl[,]tmu-calibration[ ]=[ ][<][0-9a-fx \t\n]*>[;]' 'Documentation/devicetree/bindings/thermal/qoriq-thermal.txt\|arch/powerpc/boot/dts/fsl/t10\(23\|40\)si-post.dtsi' + defsnc 'const[ ]u8[ ]sha256_zero_message_hash\[SHA256_DIGEST_SIZE\][ ]=' crypto/sha256_generic.c + defsc 'static[ ]struct[ ]tegra_clk_pll_freq_table[ ]pll_e_freq_table\[\][ ]=' drivers/clk/tegra/clk-tegra210.c + blobname 'qat_c3xxx\(\|_mmp\)\.bin' drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h + blobname 'qat_c62x\(\|_mmp\)\.bin' drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.h + defsnc 'uint32_t[ ]fiji_clock_stretcher_ddt_table\[2\]\[4\]\[4\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c + defsnc 'uint32_t[ ]PP_ClockStretcherDDTTable\[2\]\[4\]\[4\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c + defsc 'struct[ ]SMU73_Discrete_GraphicsLevel[ ]avfs_graphics_level\[8\][ ]=' drivers/gpu/drm/amd/poewrplay/smumgr/fiji_smumgr.c + defsnc 'static[ ]const[ ]struct[ ]dphy_pll_testdin_map[ ]dptdin_map\[\][ ]=' drivers/gpu/drm/rockchip/dw-mipi-dsi.c + defsnc 'static[ ]const[ ]u16[ ]iproc_msi_reg_paxb\[NR_HW_IRQS\]\[IPROC_MSI_REG_SIZE\][ ]=' drivers/pci/host/pcie-iproc-msi.c + defsnc 'static[ ]const[ ]int[ ]pv88090_buck1_limits\[\][ ]=' drivers/regulator/pv88090-regulator.c + accept '[\t]wilc->firmware[ ]=' drivers/staging/wilc1000/linux_wlan.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]v[14]_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + defsnc 'static[ ]const[ ]u8[ ]degrade_factor\[CPU_LOAD_IDX_MAX\]\[DEGRADE_SHIFT[ ][+][ ]1\][ ]=' kernel/sched/fair.c + accept '[\t ]*rm[ ]-f[ ]["][/]boot[/]initramfs-[$]f\.img["]' scripts/prune-kernel + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5616_reg\[\][ ]=' sound/soc/codecs/rt5616.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5650_reg\[\][ ]=' sound/soc/codecs/rt5645.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5659_reg\[\][ ]=' sound/soc/codecs/rt5659.c + accept '[\t ]*["][ ]*-i[ ]--input[ \t]*input[ ]data[ ]from[ ]a[ ]file[ ][(]e\.g\.[ ][\\]["]test\.bin[\\]["]' tools/spi/spidev_test.c + accept '[\t ]*["][ ]*-o[ ]--output[ \t]*output[ ]data[ ]to[ ]a[ ]file[ ][(]e\.g\.[ ][\\]["]results\.bin[\\]["]' tools/spi/spidev_test.c + accept '[ ][*][ ]directly[ ]from[ ]probe[ ]or[ ]from[ ]request_firmware_\(no\)\?wait[ ]callback\.' drivers/input/touchscreen/goodix.c + accept '[ ][*][ ]request_firmware_wait[ ]callback' drivers/input/touchscreen/goodix.c + blobname 'goodix_\(%d\|[0-9]*\)_cfg\.bin' drivers/input/touchscreen/goodix.c + blobname 'adf7242_firmware\.bin' drivers/net/ieee802154/adf7242.c + blobna '[/][*][ ]get[ ]ADF7242[ ]addon[^*]*\([*]\+[^/*][^*]*\)*[*][*]*[/]' drivers/net/ieee802154/adf7242.c + blobname 'wlan[/]prima[/]WCNSS_qcom_wlan_nv\.bin' drivers/soc/qcom/wcnss_ctrl.c + blobname 'r8a779x_usb3_v[12]\.dlmem' drivers/usb/host/xhci-rcar.h + blobname 'moxa[/]moxa-\(%04x\|11[135][01]\|[0-9a-f]*\)\.fw' drivers/usb/serial/mxu11x0.c + blobname 'intel[/]dsp_fw_release\.bin' sound/soc/intel/skylake/skl.c + accept '[\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]1[,][ ]name[,][ ]dev[,][ ]GFP_KERNEL[,][\n][ \t]*NULL[,][ ]trigger_async_request_cb[)][;]' lib/test_firmware.c + blobname 'nvidia[/]gk\(100\|20a\)[/]\(\(fecs\|gpccs\)_\(data\|inst\)\|sw_\(\(bundle\|method\)_init\|\(\|non\)ctx\)\)\.bin' drivers/gpu/drm/nouveau/nouveau_platform.c + + # New in 4.6. + blobname 'atmel[/]wilc100[23]_firmware\.bin' drivers/staging/wilc1000/Makefile + accept '[\t]*dev->firmware[ ]=[ ]1[;]' drivers/media/platform/coda/coda-common.c + blobname 'vpu_fw_imx\(27_TO2\|53\|6[qd]\)\.bin' drivers/media/platform/coda/coda-common.c + blobname 'brcmfmac4366c-pcie\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c + defsnc 'static[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8723b_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + defsnc 'static[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8723b_phy_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + defsnc 'static[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_8723bu_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + defsnc 'static[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8723bu_radioa_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + blobname 'rtlwifi[/]rtl8723bu_\(bt\|nic\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + blobname 'rtlwifi[/]rtl8192eu_nic\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c + blobname 'intel[/]dsp_fw_bxtn\.bin' sound/soc/intel/skylake/skl.c + accept 'CONFIG_EXTRA_FIRMWARE=["][/][*][(]DEBLOBBED' Documentation/x86/early-microcode.txt + blob '[/]lib[/]firmware[/]\([\n][^\n][^\n]*\)*[\n][ ]*\.\.\.' Documentation/x86/'\(early-microcode\.txt\|microcode\.\(txt\|rst\)\)' + blobname 'https[:][/][/]01\.org[/]linuxgraphics[/]intel-[^"\n]*' drivers/gpu/drm/i915/intel_csr.c + accept '[\t ]*["]genroms[/]kvmvapic\.bin' Documentation/ABI/testing/sysfs-firmware-qemu_fw_cfg + accept '#define[ ]XCHAL_BYTE0_FORMAT_LENGTHS[ \t238,\\\n]*' arch/xtensa/variants/test_kc705_hifi/include/variant/tie.h + defsnc 'static[ ]const[ ]int[ ]supported_data_lane_swaps\[\]\[4\][ ]=' drivers/gpu/drm/msm/dsi/dsi_host.c + accept '[\t ]*\(if[ ][(]\)\?[(]ret[ ]=[ ]gf100_gr_ctor_fw[(]gr[,][ ]["]gr[/]\(fecs\|gpccs\)_\(data\|inst\)["][,][ ][&]gr->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.c + defsnc '[\t]static[ ]const[ ]u8[ ]sixaxis_leds\[10\]\[4\][ ]=' drivers/hid/hid-sony.c + defsnc 'static[ ]const[ ]struct[ ]afe440x_val_table[ ]afe4403_cap_table\[\][ ]=' drivers/iio/health/afe4403.c + defsnc 'static[ ]const[ ]u16[ ]sunxi_nfc_randomizer_\(page\|ecc\(512\|1024\)\)_seeds\[\][ ]=' drivers/mtd/nand/sunxi_nand.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[44\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsnc 'static[ ]const[ ]u32[ ]qca953x_1p1_modes_no_xpa_low_power_tx_gain_table\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar953x_initvals.h + defsnc '[\t]write_reg[(]par[,][ ]MIPI_DCS_WRITE_LUT[,]' drivers/staging/fbtft/fb_hx8353d.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]rk3\(\(2[28]\|36\)8\|399\)_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + accept 'echo[ ]["]new-kernel-pkg[ ]--remove[ ][$]KERNELRELEASE[ ]--rminitrd[ ]--initrdfile=[/]boot[/]initramfs-[$]KERNELRELEASE\.img["]' scripts/package/mkspec + defsnc '[}][ ]ni_div\[\][ ]=' sound/soc/codecs/max9867.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]max9867_reg\[\][ ]=' sound/soc/codecs/max9867.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt5514_i2c_patch\[\][ ]=' sound/soc/codecs/rt5514.c + defsnc '__thread[ ]vector[ ]int[ ]varray\[\][ ]=' 'tools/testing/selftests/poewrpc/math/vmx_\(preempt\|signal\)\.c' + defsnc 'vector[ ]int[ ]varray\[\][ ]=' tools/testing/selftests/poewrpc/math/vmx_syscall.c + blobname '%x-%\.6s-%\.8s-%d%s[^;]*-tplg\.bin' sound/soc/intel/skylake/skl-nhlt.c + blobname 'intel[/]ibt-hw-%x\.%x\.bddata' drivers/bluetooth/hci_ag6xx.c + blobname 'intel[/]ibt-hw-%x\.%x\.%x-fw-%x\.%x\.%x\.%x\.%x\.pbn' drivers/bluetooth/hci_ag6xx.c + blobname 'melfas_mip4\.fw' drivers/input/touchscreen/melfas_mip4.c + blobname 'iwlwifi-8000C-' drivers/net/wireless/intel/iwlwifi/iwl-8000.c + + # New in 4.7 + blobname 'amdgpu[/]polaris1[01]_smc\(_sk\)\?\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]polaris1[01]_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]polaris1[01]_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]polaris1[01]_\(ce\|pfp\|me\|mec\|mec2\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c + blobname 'amdgpu[/]polaris1[01]_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c + blobname 'amdgpu[/]polaris1[01]_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v_0.c + blobname 'i915[/]skl_guc_ver6\.bin' drivers/gpu/drm/i915/intel_guc_loader.c + accept '[\t]ar->normal_mode_fw\.fw_file\.firmware[ ]=[ ]NULL' drivers/net/wireless/ath/ath10k/core.c + blobname 'pre-cal-%s-%s\.bin' drivers/net/wireless/ath/ath10k/core.c + accept '[\t]fw_file->firmware[ ]=[ ]ath10k_fetch_fw_file' drivers/net/wireless/ath/ath10k/core.c + blobname 'brcmfmac4356-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'iwlwifi-9000\(-pu-[ab]0-\(jf\|lc\)-[ab]0-\|-\|\)' drivers/net/wireless/intel/iwlwifi/iwl-9000.c + blobname 'iwlwifi-9260-th-a0-\(jf\|lc\)-a0-' drivers/net/wireless/intel/iwlwifi/iwl-9000.c + blobname 'mrvl[/]pcie8897_uapsta_a0\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h + blobname 'mrvl[/]pcieuart8997_combo\(_v2\)\?\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h + blobname 'mrvl[/]pcieusb8997_combo\(_v2\)\?\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h + defsnc 'struct[ ]rtl8xxxu_reg8val[ ]rtl8xxxu_gen1_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c + blobname '%s%pUL%s["][,][\n \t]*["]intel[/]dsp_fw_["][,][ ]uuid_mod[,][ ]["]\.bin' sound/soc/intel/skylake/skl-sst.c + accept 'pm8994:[\n\t ,lvs0-9]*' Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt + defsnc '[\t]brightness-levels[ ]=[ ]<[0-9 \t\n]*>[;]' 'arch/arm/boot/dts/rk288-veyron-\(jaq\|minnie\).dts' + defsc 'static[ ]const[ ]struct[ ]i2s_pll_cfg[ ]i2s_pll_cfg_2[78]m\[\][ ]=' drivers/clk/axs10x/i2s_pll_clock.c + defsnc 'static[ ]const[ ]u8[ ]const_tab\[1024\][ ]__aligned[(]1024[)][ ]=' drivers/crypto/qat/qat_common/adf_admin.c + defsnc 'static[ ]const[ ]uint32_t[ ]fiji_clock_stretcher_ddt_table\[2\]\[4\]\[4\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c + defsnc 'static[ ]const[ ]uint32_t[ ]polaris10_clock_stretcher_ddt_table\[2\]\[4\]\[4\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c + defsc 'static[ ]const[ ]struct[ ]polaris10_pt_defaults[ ]polaris10_power_tune_data_set_array\[POWERTUNE_DEFAULT_SET_MAX\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_powertune.c + defsnc 'static[ ]const[ ]uint32_t[ ]PP_ClockStretcherDDTTable\[2\]\[4\]\[4\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c + defsc 'static[ ]const[ ]struct[ ]SMU73_Discrete_GraphicsLevel[ ]avfs_graphics_level\[8\][ ]=' drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c + defsc 'static[ ]const[ ]SMU74_Discrete_GraphicsLevel[ ]avfs_graphics_level_polaris10\[8\][ ]=' drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c + defsnc 'static[ ]const[ ]struct[ ]hdmiphy_config[ ]hdmiphy_5433_configs\[\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c + defsnc 'static[ ]const[ ]struct[ ]dsi_phy_range[ ]dphy_range_info\[\][ ]=' drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c + defsnc 'static[ ]const[ ]struct[ ]bmi160_odr[ ]bmi160_accel_odr\[\][ ]=' drivers/iio/imu/bmi160/bmi160_core.c + defsnc 'reg_initval\[QM1D1C0042_NUM_REG_ROWS\]\[QM1D1C0042_NUM_REGS\][ ]=' drivers/media/tuners/qm1d1c0042.c + accept '[\t ]*[*][ ]*24[ ]*16[ ]*8[ ]*0[\n][\t ]*[*][ ]\([ ][0-7]\)*' drivers/net/ethernet/intel/fm10k/fm10k_pf.c + accept '[\t]ar->testmode\.utf_mode_fw\.fw_file\.firmware[ ]=[ ]NULL' drivers/net/wireless/ath/ath10k/testmode.c + defsnc 'static[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8192e_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + defsc 'static[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8192eu_phy_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + defsnc 'static[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_8192eu_\(std\|highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + defsc 'static[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8192eu_radio[ab]_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]byt_score_pins_map\[BYT_NGPIO_SCORE\][ ]=' drivers/pinctrl/intel/pinctrl-baytrail.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]byt_sus_pins_map\[BYT_NGPIO_SUS\][ ]=' drivers/pinctrl/intel/pinctrl-baytrail.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]byVT3253InitTab_RFMD\[CB_VT3253_INIT_FOR_RFMD\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]byVT3253B0_RFMD\[CB_VT3253B0_INIT_FOR_RFMD\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + accept '[\t]*wilc->firmware[ ]=' drivers/staging/wilc1000/linux_wlan.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]max98371_reg\[\][ ]=' sound/soc/codecs/max98371.c + blobname 'rtlwifi[/]rtl8192cufw_\(TMSC\|[AB]\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c + blobname 'rtlwifi[/]rtl8192eu_nic\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + blobname 'rtlwifi[/]rtl8723aufw_\([AB]\|B_NoBT\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c + blobname 'rtlwifi[/]rtl8723bu_\(bt\|nic\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c + blobname 'nvidia[/]tegra\(124\|210\)[/]xusb\.bin' drivers/usb/host/xhci-tegra.c + accept '[\t]*ath10k_info[(]ar[,][ ]["][/][*][(]DEBLOBBED[)][*][/][ ]didn.t' drivers/net/wireless/ath/ath10k/testmode.c + accept 'static[ ]const[ ]struct[ ]tegra_xusb_soc[ ]tegra\(124\|210\)_soc[ ]=[ ][{][\n][\t][.]firmware[ ]=' drivers/usb/host/xhci-tegra.c + blobname 'i915[/]kbl_dmc_ver1\.bin' drivers/gpu/drm/i915/intel_csr.c + + # New in 4.8. + blobname 'intel[/]dsp_fw_kbl\.bin' sound/soc/intel/skylake/skl.c + blobname 'brcmfmac4365c-pcie\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c + blobname 'radeon[/]\(%s\|tahiti\|pitcairn\|verde\|oland\|hainan\)_\(pfp\|me\|ce\|mc\|rlc\|smc\|k_smc\)\.bin' drivers/gpu/drm/radeon/si.c + blobname 'radeon[/]\(%s\|bonaire\|hawaii\|kaveri\|kabini\|mullins\)_\(pfp\|me\|ce\|mec\|mec2\|mc\|rlc\|sdma\|smc\|k_smc\)\.bin' 'drivers/gpu/drm/radeon/ci\(k\|_dpm\).c' + blobname 'i915[/]skl_guc_ver6_1\.bin' drivers/gpu/drm/i915/intel_guc_loader.c + blobname 'i915[/]bxt_guc_ver8_7\.bin' drivers/gpu/drm/i915/intel_guc_loader.c + blobname 'i915[/]kbl_guc_ver9_14\.bin' drivers/gpu/drm/i915/intel_guc_loader.c + blobname 'i915[/]kbl_dmc_ver1_01\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'i915[/]skl_dmc_ver1_26\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'i915[/]bxt_dmc_ver1_07\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'intel[/]ibt-%u-%u\.sfi' drivers/bluetooth/btusb.c + accept '[\t]*ranges[ ]=[ ]<[ \t\n0-9xa-f]*>[;]' arch/arm/boot/dts/ep7209.dtsi + accept '[\t]*nvidia[,]emc-configuration[ ]=[ ]<[ \t\n0-9xa-f]*>[;]' arch/arm/boot/dts/tegra124-apalis-emc.dtsi + accept '[\t]*bool[ ]["]vmlinux\.bin[ ]or[ ]vmlinuz\.bin["]' arch/mips/Kconfig + accept 'K256_8:\([\n][ ]*\.octa[ ]*0x[0-9a-f]*\)*' arch/x86/crypto/sha256-mb/sha256_x8_avx2.S + accept 'K256:\([\n][ ]*\.int[ ]*0x[0-9a-f,x]*\)*' arch/x86/crypto/sha256-mb/sha256_x8_avx2.S + accept 'K512_4:\([\n][ ]*\.octa[ ]*0[x0-9a-f,\\\t\n]*\)*' arch/x86/crypto/sha256-mb/sha256_x8_avx2.S + accept '[ ][*][ ]request_firmware_into_buf[ ]-' drivers/base/firmware_class.c + accept 'request_firmware_into_buf[(]const[ ]struct[ ]firmware[ ]' drivers/base/firmware_class.c + accept 'EXPORT_SYMBOL[(]request_firmware_into_buf[)]' drivers/base/firmware_class.c + defsc 'static[ ]const[ ]int[ ]mma8452_hp_filter_cutoff\[4\]\[8\]\[4\]\[2\][ ]=' drivers/iio/accel/mma8452.c + defsnc '[\t]static[ ]const[ ]u8[ ]cmd\[7\]\[6\][ ]=' drivers/input/touchscreen/raydium_i2c_ts.c + defsnc '[\t]static[ ]const[ ]u8[ ]cmd\[5\]\[11\][ ]=' drivers/input/touchscreen/raydium_i2c_ts.c + blobname 'raydium\.fw' drivers/input/touchscreen/raydium_i2c_ts.c + blobname '\(silead[/]\)\?%s\.fw' drivers/input/touchscreen/silead.c + blobna 'snprintf[(]data->fw_name[,][ ]sizeof[(]data->fw_name[)][,][ \n\t]*["]\(silead[/]\)\?%s["][,][ ]str[)]' drivers/input/touchscreen/silead.c + blobname 'vpu_[pd]\.bin' drivers/media/platform/mtk-vpu/mtk_vpu.c + accept '[\t]if[ ][(]dir_type[ ]!=[ ]BNX_DIR_TYPE_UPDATE[ ][&][&][\n\t ]*bnxt_dir_type_is_executable[^\n]*[\n][\t]*return[ ]-EINVAL[;][\n][\n]*[\t]rc[ ]=[ ]request_firmware[(][&]' drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[46\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + blobname 'iwlwifi-Qu-a0-jf-b0-' drivers/net/wireless/intel/iwlwifi/iwl-a000.c + blobname 'ks7010sd\.rom' drivers/staging/ks7010/ks7010_sdio.h + defsnc 'static[ ]const[ ]u16[ ]expected_tpt_\(siso\|mimo2\)_160MHz\[4\]\[IWL_RATE_COUNT\][ ]=' drivers/net/wireless/intel/iwlwifi/mvm/rs.c + defsnc 'static[ ]const[ ]int[ ]adinter_muxvals\[\][ ]=' drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c + accept '\(static[ ]inline[ ]\)\?int[ ]request_firmware_into_buf[(]const[ ]struct[ ]firmware[ ]' include/linux/firmware.h + accept 'static[ ]inline[ ]int[ ]mod_firmware_load[(]const[ ]char[ ][*]fn[,]' sound/oss/sound_firmware.h + defsnc 'static[ ]const[ ]struct[ ]pll_macro_entry[ ]pll_predef_mclk\[\][ ]=' sound/soc/bcm/cygnus-ssp.c + defsnc 'static[ ]const[ ]struct[ ]_ssp_clk_coeff[ ]ssp_clk_coeff\[\][ ]=' sound/soc/bcm/cygnus-ssp.c + defsnc 'static[ ]const[ ]struct[ ]cs35l33_mclk_div[ ]cs35l33_mclk_coeffs\[\][ ]=' sound/soc/codecs/cs35l33.c + defsnc 'static[ ]struct[ ]reg_default[ ]max98504_reg_defaults\[\][ ]=' sound/soc/codecs/max98504.c + blobname 'rt5514_dsp_fw[12]\.bin' sound/soc/codecs/rt5514.h + blobname 'modem\.mdt' drivers/remoteproc/qcom_q6v5_pil.c + blobname 'mba\.b00' drivers/remoteproc/qcom_q6v5_pil.c + + # New in 4.9. + blobname 'rtl_bt[/]rtl\(8723b\|8821a\|8761a\|8822b\)_\(config\|fw\)\.bin' drivers/bluetooth/btrtl.c + blobname 'amdgpu[/]\(topaz\|tonga\)_k_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'i915[/]["][^"]*["]_guc_ver["][^"]*["]_["][^"]*["]\.bin' drivers/gpu/drm/i915/intel_guc_loader.c + blobname 'mrvl[/]pcie\(uart\|usb\)8997_combo_v4\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h + blobname 'mrvl[/]pcie8997_wlan_v4\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h + blobname 'mrvl[/]usbusb8997_combo_v4\.bin' drivers/net/wireless/marvell/mwifiex/usb.h + accept '[ ]*[/]Widths[ ]\[[0-9 ]*\]' Documentation/media/media_api_files/typical_media_device.pdf + accept '[ ]*:widths:[0-9 ]*' Documentation/media/uapi/v4l/subdev-formats.rst + defsc 'static[ ]const[ ]struct[ ]iceland_pt_defaults[ ]defaults_iceland\(xt\|pro\)\?[ ]=' drivers/gpu/drm/amd/powerplay/smumgr/iceland_smc.c + defsc 'static[ ]const[ ]struct[ ]tonga_pt_defaults[ ]tonga_power_tune_data_set_array\[POWERTUNE_DEFAULT_SET_MAX\][ ]=' drivers/gpu/drm/amd/poewrplay/smumgr/tonga_smc.c + defsnc 'static[ ]const[ ]uint32_t[ ]tonga_clock_stretcher_ddt_table\[2\]\[4\]\[4\][ ]=' drivers/gpu/drm/amd/powerplay/smumgr/tonga_smc.c + defsnc 'static[ ]const[ ]u16[ ]\(forward\|inverse\)_quantization_table\[QUANTIZATION_TABLE_LEN\][ ]=' drivers/media/pci/tw5864/tw5864-video.c + defsnc 'static[ ]const[ ]u16[ ]encoder_vlc_lookup_table\[VLC_LOOKUP_TABLE_LEN\][ ]=' drivers/media/pci/tw5864/tw5864-video.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(lambda_lookup_table\|intra4x4_lambda3\)\[\][ ]=' drivers/media/pci/tw5864/tw5864-video.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[47\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsnc 'static[ ]const[ ]u8[ ]netvsc_hash_key\[\][ ]=' drivers/net/hyperv/rndis_filter.c + defsc 'static[ ]const[ ]struct[ ]cs42l73_mclk_div[ ]cs42l73_mclk_coeffs\[\][ ]=' sound/soc/codecs/cs42l73.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5660_reg\[\][ ]=' sound/soc/codecs/rt5660.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt566[38]_reg\[\][ ]=' sound/soc/codecs/rt5663.c + defsnc '__thread[ ]vector[ ]int[ ]varray\[24\][ ]=' tools/testing/selftests/powerpc/math/vsx_preempt.c + defsnc 'vector[ ]int[ ]vms\[\][ ]=' tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vmx.c + defsnc 'vector[ ]int[ ]vss\[\][ ]=' tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vsx.c + blobname 'imx[/]sdma[/]sdma-imx7d\.bin' arch/arm/boot/dts/imx7s.dtsi + blobname 'gsl3675-gt90h\.fw' arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts + blobname 'gsl1680-inet86dz\.fw' arch/arm/boot/dts/sun8i-a23-inet86dz.dts + blobname 'gsl1680-polaroid-mid2407pxe03\.fw' arch/arm/boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts + blobname 'gsl3670-polaroid-mid2809pxe04\.fw' arch/arm/boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts + blobname 'gsl3675-ga10h\.fw' arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts + blobname 'mrvl[/]helper_uart_3000000\.bin' drivers/bluetooth/hci_mrvl.c + blobname 'mrvl[/]uart8897_bt\.bin' drivers/bluetooth/hci_mrvl.c + accept 'static[ ]int[ ]bnxt_flash_\(firmware\|package\)_from_file[(][ \t\na-z0-9_,*]*[)][\n][{][\n][\t]\([^\n]*[\n]\+[\t]\)*rc[ ]=[ ]request_firmware[(][&]fw' drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c + accept '[\t]*\(rc[ ]=[ ]\)\?wil_request_firmware[(]wil[,][ ]WIL_FW2\?_NAME[,][ ]\(true\|false\)[)][;]' drivers/net/wireless/ath/wil6210/main.c + blobname 'mwifiex_mfg\.bin' drivers/net/wireless/marvell/mwifiex/main.c + accept '[\t]*mwifiex_dbg[(]adapter[,][ ]ERROR[,][\n][\t ]*["]request_firmware[ ]error' drivers/net/wireless/marvell/mwifiex/main.c + blobname 'ti-connectivity[/]wl12[78]x-nvs\.bin' 'drivers/net/wireless/ti/wlcore/\(sdio\|spi\)\.c' + blobname 'ti-connectivity[/]wl18xx-conf\.bin' 'drivers/net/wireless/ti/wlcore/\(sdio\|spi\)\.c' + blobname 'ziirave_wdt\.fw' drivers/watchdog/wiirave_wdt.c + blobna '["]gmp_["]' drivers/staging/greybus/firmware.h + blobna '["]FW_NAME_PREFIX["]["]%08x_%08x_%08x_%08x_%s\.tftf["][\n][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/staging/greybus/firmware.h + blobname '\(gmp_\)\?%08x_%08x_%08x_%08x_s2l\.tftf' drivers/staging/greybus/bootrom.c + blobname '\(gmp_\)\?%08x_%08x_%08x_%08x_\(%s\|[^"]*\)\.tftf' drivers/staging/greybus/fw-download.c + # Long-needed b43 cleanup. These are actually cleaned up with + # custom code in deblob-. Only ucode5, b0g0initvals5 and + # b0g0bsinitvals5 are provided by openfwwf, and only b43 (not + # b43legacy) can use the openfwwf files, so anything else in b43 + # and b43legacy ought to be cleaned up. + accept '[\t]*filename[ ]=[ ]["]\(ucode\|b0g0\(bs\)\?initvals\)5["][;]' drivers/net/wireless/broadcom/b43.c + blobna '["]\(ucode\|[^ "\n]*initvals\)[0-9][^" .\n]*["]' 'drivers/net/wireless/broadcom/b43\(legacy\)\?\.c' + # We want to be more specific than deblob0- in the pcm + # matches, to avoid numerous false positives in sound pcm drivers. + blobna '["]pcm[45]["]' 'drivers/net/wireless/broadcom/b43\(legacy\)\?\.c' + blobna '[/][*][ ]What[ ]about[ ][^ \n]*initvals22[?][ ][*][/]' drivers/net/wireless/broadcom/b43.c + + # New in 4.9.2 and 4.8.17. + accept '[\t]*fwname[ ]=[ ]["]fuc4\(09\|1a\)[cd]["][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[\t]*snprintf[(]f[,][ ]sizeof[(]f[)][,][ ]["]nouveau[/]nv%02x_%s["][,][ ]device->chipset[,][ ]fwname[)][;][\n][\t]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]f[,][ ]device->dev[)][;][\n][\t]*if[ ][(]ret[)][ ][{][\n][\t]*snprintf[(]f[,][ ]sizeof[(]f[)][,][ ]["]nouveau[/]%s["][,][ ]fwname[)][;][\n][\t]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]f[,][ ]device->dev[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + + # New in 4.10-rc*. + accept '[ ]*d=["]m[ ]0[,]0[ ][^z\n]*z["]' Documentation/media/uapi/v4l/crop.svg + accept '[ ]*Kernel[ ]driver[ ]in[ ]use:[ ]serial\([\n][ ]*[0-3]0:[ 0-9a-f]*\)*' Documentation/media/v4l-drivers/ivtv.rst + accept 'tbl_shf_table:[\n]\([/][/][^\n]*[\n]\)*[\n]*\([\n][\t]\.byte[ \t0-9xa-f]*\)*' arch/arm/crypto/crct10dif-ce-core.S + accept '\.LK256:\([\n][ ]*\.long[ ]*0\(x[0-9a-f]*\([,]0x[0-9a-f]*\)*\)\?\)*[ \t]*[/][/][ ]*terminator' arch/arm64/crypto/sha256-core.S_shipped + accept '\.LK[$]BITS:\([\n]___[\n][$]code\.=<<___[ ]if[^\n]*\([\n][ ]*\.\(long\|quad\)[ ]*0\(x[0-9a-f]*\([,]0x[0-9a-f]*\)*\)\?\)*[ \t]*[/][/][ ]*terminator\)*' arch/arm64/crypto/sha512-armv8.pl + accept '\.LK512:\([\n][ ]*\.quad[ ]*0\(x[0-9a-f]*\([,]0x[0-9a-f]*\)*\)\?\)*[ \t]*[/][/][ ]*terminator' arch/arm64/crypto/sha512-core.S_shipped + accept '[ ][*][ ]Concurrent[ ]request_firmware[(][)][ ]for[ ]the[ ]same' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]struct[ ]rcar_gen2_cpg_pll_config[ ]cpg_pll_configs\[8\][ ]__initconst[ ]=' drivers/clk/renesas/r8a7745-cpg-mssr.c + defsnc 'static[ ]unsigned[ ]int[ ]eotf_33_linear_mapping\[OSD_EOTF_LUT_SIZE\][ ]=' drivers/gpu/drm/meson/meson_viu.c + defsnc 'static[ ]unsigned[ ]int[ ]oetf_41_linear_mapping\[OSD_OETF_LUT_SIZE\][ ]=' drivers/gpu/drm/meson/meson_viu.c + defsnc 'static[ ]unsigned[ ]int[ ]vpp_filter_coefs_4point_bspline\[\][ ]=' drivers/gpu/drm/meson/meson_vpp.c + defsnc 'static[ ]const[ ]u32[ ]a5xx_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a5xx_gpu.c + defsnc '[}][ ]a5xx_sequence_regs\[\][ ]=' drivers/gpu/drm/msm/adreno/a5dxx_power.c + defsnc 'static[ ]uint32_t[ ]gf100_ce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3.h + defsnc 'static[ ]uint32_t[ ]gt215_ce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf215.fuc3.h + defsnc 'static[ ]uint32_t[ ]gf100_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf100.fuc3.h + defsnc 'static[ ]uint32_t[ ]gf117_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf117.fuc3.h + defsnc 'static[ ]uint32_t[ ]gk104_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk104.fuc3.h + defsnc 'static[ ]uint32_t[ ]gk110_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk110.fuc3.h + defsnc 'static[ ]uint32_t[ ]gk208_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk208.fuc5.h + defsnc 'static[ ]uint32_t[ ]gm107_grgpc_code\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5.h + defsnc 'static[ ]uint32_t[ ]gf100_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf100.fuc3.h + defsnc 'static[ ]uint32_t[ ]gf117_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf117.fuc3.h + defsnc 'static[ ]uint32_t[ ]gk104_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk104.fuc3.h + defsnc 'static[ ]uint32_t[ ]gk110_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk110.fuc3.h + defsnc 'static[ ]uint32_t[ ]gk208_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk208.fuc5.h + defsnc 'static[ ]uint32_t[ ]gm107_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5.h + defsnc 'static[ ]uint32_t[ ]g98_psec_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/sec/fuc/g98.fuc0s.h + defsnc 'static[ ]uint32_t[ ]gf100_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h + defsnc 'static[ ]uint32_t[ ]gf119_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf119.fuc4.h + defsnc 'static[ ]uint32_t[ ]gk208_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h + defsnc 'static[ ]uint32_t[ ]gt215_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h + defsnc 'static[ ]uint32_t[ ]g98_sec_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf98.fuc0s.h + defsnc 'static[ ]const[ ]u16[ ]lmp91000_temp_lut\[\][ ]=' drivers/iio/potentiostat/lmp91000.c + defsnc 'static[ ]const[ ]u8[ ]fdp1_mdet\[\][ ]=' drivers/media/platform/rcar_fdp1.c + defsnc 'static[ ]struct[ ]cs35l34_mclk_div[ ]cs35l34_mclk_coeffs\[\][ ]=' sound/soc/codecs/cs35l34.c + defsnc 'static[ ]const[ ]struct[ ]cs42l42_pll_params[ ]pll_ratio_table\[\][ ]=' sound/soc/codecs/cs42l42.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5663_v2_reg\[\][ ]=' sound/soc/codecs/rt5663.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5665_reg\[\][ ]=' sound/soc/codecs/rt5665.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]stac9766_reg_defaults\[\][ ]=' sound/soc/codecs/stac9766.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm9705_reg_defaults\[\][ ]=' sound/soc/codecs/wm9705.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm9712_reg_defaults\[\][ ]=' sound/soc/codecs/wm9712.c + blobname 'fdma_\(%s_%d\|[^\." ,;_]*_[0-9][0-9]*\)\.elf' drivers/dma/st_fdma.c + blobname 'amdgpu[/]polaris12_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]polaris12_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]polaris12_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]polaris12_\(ce\|pfp\|me\|mec\|mec2\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c + blobname 'amdgpu[/]polaris12_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c + blobname 'amdgpu[/]polaris12_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c + blobname 'amdgpu[/]polaris12_smc\.bin' drivers/gpu/drm/amd/amdgpu/vi.c + blobname 'radeon[/]si58_mc\.bin' 'drivers/gpu/drm/amd/amdgpu/gmc_v6_0\.c\|drivers/gpu/drm/radeon/si\.c' + blobname 'a530_p\(m4\|fp\)\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'radeon[/]banks_k_2_smc\.bin' 'drivers/gpu/drm/amd/amdgpu/si_dpm\.c\|drivers/gpu/drm/radeon/si\.c' + blobname 'melfas_mip4_%04X\.fw' drivers/input/touchscreen/melfas_mip4.c + blobname 'cbfw-3\.2\.5\.1\.bin' drivers/scsi/bfa/bfad.c + blobname 'r8a779x_usb3_v3\.dlmem' drivers/usb/host/xhci-rcar.h + blob 'https\?:[/][/]linuxtv\.org[/][^" >]*firmware[/][^" \t\n>\\)]*' 'Documentation/media/v4l-drivers/ivtv\.rst\|drivers/media/pci/ttpci/av7110\.c\|firmware/WHENCE' + # The firmware file name is supplied by the user. + accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]fw_name[,]\([^\n]*[\n]\+[^\n}]\)*ret[ ]=[ ]rmi_firmware_update[(]data[,][ ]fw[)]' drivers/input/rmi4/rmi_f34.c + # This seems to be an example file name of something to be + # supplied by the user in the DTS file, not the name of an actual + # firmware file. + accept '[\t ]*firmware-name[ ]=[ ]["]zynq-gpio\.bin["][;]' Documentation/devicetree/bindings/fpga/fpga-region.txt + accept '[\t]if[ ][(]of_property_read_bool[(]np[,][ ]["]qca[,]no-eeprom["][)][)][ ][{][\n][\t]*[/][*][ ]ath9k-eeprom--\.bin[ ][*][/][\n][\t]*scnprintf[(]eeprom_name[,][ ]sizeof[(]eeprom_name[)][,][\n][\t ]*["]ath9k-eeprom-%s-%s\.bin["][,]' drivers/net/wireless/ath/ath9k/init.c + blobname 'iwlwifi-3168-' drivers/net/wireless/intel/iwlwifi/iwl-7000.c + blobname 'iwlwifi-8265-' drivers/net/wireless/intel/iwlwifi/iwl-8000.c + blobname 'iwlwifi-[0-9][^"\n\t ]*-' drivers/net/wireless/intel/iwlwifi/iwl-8000.c + blobname 'a530v3_gpmu\.fw2' drivers/gpu/drm/msm/adreno/adreno_device.c + + # New in 4.11. + blobname 'amdgpu[/]polaris1[01]_k_smc\.bin' drivers/gpu/drm/amdgpu/amdgpu_cgs.c + blobname 'i915[/]\(glk\|kbl\)_dmc_ver1_01\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'vpu[/]vpu_fw_imx\(27_TO2\|53\|6[qd]\)\.bin' drivers/media/platform/coda/coda-common.c + blobname '%s-%d\.bin' drivers/net/wireless/ath/ath10k/core.c + blobname 'wil6210_sparrow_plus\.fw' drivers/net/wireless/ath/wil6210/wil6210.h + blobname 'iwlwifi-Qu-a0-hr-a0-' drivers/net/wireless/intel/iwlwifi/iwl-a000.c + blobname 'intel[/]dsp_fw_glk\.bin' sound/soc/intel/skylake/skl.c + defsnc 'unsigned[ ]char[ ]__aligned[(]16[)][ ]bootlogo_bits\[\][ ]=' 'arch/m68k/68000/bootlogo\(-vz\)\?\.h' + defsnc 'static[ ]volatile[ ]const[ ]u8[ ]__cacheline_aligned[ ]__aesti_\(inv_\)\?sbox\[\][ ]=' crypto/aes_ti.c + defsc 'static[ ]const[ ]struct[ ]ast_vbios_stdtable[ ]vbios_stdtable\[\][ ]=' drivers/gpu/drm/ast/ast_tables.h + defsnc 'static[ ]const[ ]struct[ ]vadc_map_pt[ ]adcmap_100k_104ef_104fb\[\][ ]=' drivers/iio/adc/qcom-spmi-vadc.c + defsnc 'static[ ]const[ ]int[ ]srf08_sensitivity\[\][ ]=' drivers/iio/proximity/srf80.c + defsnc '[\t]static[ ]u8[ ]rss_key\[40\][ ]=' drivers/net/ethernet/aquantia/atlantic/aq_nic.c + defsnc '[\t]static[ ]u32[ ]\(itr_imr_\(rxr\|txt\)\(en\)\?\|rpo_lro_ldes_max\)_\(adr\|msk\|shift\)\[32\][ ]=' drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.c + defsnc 'static[ ]const[ ]u32[ ]hw_atl_utils_hw_mac_regs\[\][ ]=' drivers/net/ethernet/aquantia/atlantic/hw_tl/hw_atl_utils.c + defsnc 'static[ ]const[ ]u8[ ]netvsc_hash_key\[NETVSC_HASH_KEYLEN\][ ]=' drivers/net/hyperv/rndis_filter.c + defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3x_xtal20\[\][ ]=' drivers/net/wireless/ralink/rt2x00/rt2800lib.c + defsnc 'unsigned[ ]long[ ]long[ ]lpfc_enable_nvmet\[LPFC_NVMET_MAX_PORTS\][ ]=' drivers/scsi/lpfc/lpfc_attr.c + defsnc 'static[ ]const[ ]u64[ ]test_vectors_siphash\[64\][ ]=' lib/test_siphash.c + defsnc 'static[ ]const[ ]u32[ ]test_vectors_hsiphash\[64\][ ]=' lib/test_siphash.c + defsnc 'static[ ]yyconst[ ]YY_CHAR[ ]yy_ec\[256\][ ]=' scripts/dtc/dtc-lexer.lex.c_shipped + defsnc 'static[ ]yyconst[ ]YY_CHAR[ ]yy_meta\[48\][ ]=' scripts/dtc/dtc-lexer.lex.c_shipped + defsnc 'static[ ]yyconst[ ]flex_uint16_t[ ]yy_base\[180\][ ]=' scripts/dtc/dtc-lexer.lex.c_shipped + defsnc 'static[ ]yyconst[ ]flex_uint16_t[ ]yy_nxt\[449\][ ]=' scripts/dtc/dtc-lexer.lex.c_shipped + accept '0x1B[,][ ]0x5E[,][ ]0x78[,][ ]0x3D[,][ ]0x00[,][ ]0x00[,][ ]0x00[,][ ]0x18[,][ ][0x1-9A-F, \n]*' security/apparmor/nulldfa.in + defsnc '[\t]struct[ ]sock_filter[ ]bpf_filter\[\][ ]=' tools/testing/selftests/net/psock_lib.h + blobname 'cpt8x-mc-[as]e\.out' drivers/crypto/cavium/cpt/cptpf_main.c + blobname 'i915[/]["][ ]__stringify[(]platform[)][ ]["]_huc_ver["][ ]__stringify[(]major[)][ ]["]_["][ \\\n\t]*__stringify[(]minor[)][ ]["]_["][ ]__stringify[(]bld_num[)][ ]["]\.bin' drivers/gpu/drm/i915/intel_huc.c + accept '[ ][ ]*gf100_gr_init_fw[(]gr->fecs[,][ ][&]gr->fuc409c[,][ ][&]gr->fuc409d[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[ ][ ]*gf100_gr_init_fw[(]gr->gpccs[,][ ][&]gr->fuc41ac[,][ ][&]gr->fuc41ad[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + blobname 'rockchip[/]dptx\.bin' drivers/gpu/drm/rockchip/cdn-dp-core.c + accept 'static[ ]int[ ]cdn_dp_request_firmware[(]' drivers/gpu/drm/rockchip/cdn-dp-core.c + accept '[\t]ret[ ]=[ ]cdn_dp_request_firmware[(]dp[)]' drivers/gpu/drm/rockchip/cdn-cp-core.c + blobname 'netronome[/]nic_%s' drivers/net/ethernet/netronome/nfp/nfp_main.c + blobname 'spc[ ]-=[ ]snprintf[(][&]fw_name\[ARRAY_SIZE[(]fw_name[)][ ]-[ ]spc\][,][^;]*[)]' drivers/net/ethernet/netronome/nfp/nfp_main.c + blobname 'netronome[/]nic_AMDA00\(81-0001_\(1x40\|4x10\)\|96-0001_2x10\|97-0001_\(2x40\|4x10_1x40\|8x10\)\|99-0001_2x\(10\|25\)\)\.nffw' drivers/net/ethernet/netronome/nfp/nfp_main.c + accept '#define[ ]NFP_RESOURCE_NFP_NFFW[ \t]*["]nfp\.nffw["]' drivers/net/ethernet/netronome/nfp/nfp.h + accept '[\t]*\(rc[ ]=[ ]\)\?wil_request_firmware[(]wil[,][ ]\(wil->wil_fw_name\|WIL_BOARD_FILE_NAME\)[,][ ]\(true\|false\)[)][;]' drivers/net/wireless/ath/wil6210/main.c + blobname 'gsl3670-cube-iwork8-air\.fw' drivers/platform/x86/silead_dmi.c + blobname 'gsl3676-jumper-ezpad-mini3\.fw' drivers/platform/x86/silead_dmi.c + accept '[\t]*\(rc[ ]=[ ]\)\?request_firmware_nowait[(]THIS_MODULE[,][ ]FW_ACTION_NOHOTPLUG[,][ ]name[,]' lib/test_firmware.c + accept '[ ]*mechanism[ ]is[ ]available[ ]and[ ]for[ ]the[ ]request_firmware_nowait[(][)][ ]call' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*except[ ]request_firmware_direct[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*today[.][ ]The[ ]call[ ]request_firmware_nowait[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*argument[ ]to[ ]request_firmware_nowait[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*for[ ]request_firmware_nowait[(][)][ ]when[ ]uevent' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*supported[ ]for[ ]request_firmware_into_buf[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*For[ ]details[ ]of[ ]implementation[ ]refer[ ]to[ ]_request_firmware_load[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*Users[ ]of[ ]the[ ]request_firmware_nowait[(][)][ ]call' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*rely[ ]on[ ]the[ ]uevent[ ]flag[ ]which[ ]can[ ]be[ ]disabled[ ]by[ ]request_firmware_nowait[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*Although[ ]this[ ]can[ ]disable[ ]the[ ]firmware[ ]cache[ ]for[ ]request_firmware_nowait[(][)]' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ]*uses[ ]all[ ]synchronous[ ]call[ ]except[ ]:c:func:[`]request_firmware_into_buf[`]' Documentation/driver-api/firmware/firmware_cache.rst + accept '[ \t]*if[(]request_firmware[(][&]fw_entry[,][ ][$]FIRMWARE[,]' Documentation/driver-api/firmware/firmware_cache.rst + accept '[ ]*device[ ]\(if[ ]\)*the[ ]second[ ]argument[ ][(]uevent[)][ ]to[ ]request_firmware_nowait[(][)]' Documentation/driver-api/firmware/firmware_cache.rst + accept '[ ]*introduction[\n][ ]*core[\n][ ]*request_firmware[\n]' Documentation/driver-api/firmware/index.rst + accept '\([ ]*:functions:[ ]\)\?request_firmware\([ ]API\|\|_direct\|_into_buf\|_nowait\|\)[\n]' Documentation/driver-api/firmware/request_firmware.rst + accept 'informed[ ]through[ ]the[ ]callback[.][ ]request_firmware_nowait[(][)][ ]cannot' Documentation/driver-api/firmware/request_firmware.rst + accept 'firmware[.][ ]For[ ]example[ ]if[ ]you[ ]used[ ]request_firmware[(][)][ ]and[ ]it[ ]returns' Documentation/driver-api/firmware/request_firmware.rst + accept 'If[ ]something[ ]went[ ]wrong[ ]request_firmware[(][)][ ]returns[ ]non-zero' Documentation/driver-api/firmware/request_firmware.rst + accept 'resume[/]restore[,][ ]but[ ]they[ ]cannot[ ]do[ ]it[ ]by[ ]calling[ ]:c:func:[`]request_firmware[(][)][`]' Documentation/driver-api/pm/notifiers.rst + accept 'In[ ]this[ ]example[,][ ]the[ ][^\n]*["]ts\.out["]' tools/power/x86/turbostat/turbostat.8 + accept '[\t]if[ ][(][!]snd_card_proc_new[(]hdspm->card[,][ ]["]ports\.\(in\|out\)["][,]' sound/pci/rme9652/hdspm.c + accept '[ \t]*print[ ]["]cat[ ]["][ ]rd[ ]cfr\[j\][ ][ ]["][/]kvm-test-1-run\.sh\.out["]' tools/testing/selftests/rcutorture/bin/kvm.sh + # If this actually requests any firmware, it will do so using + # disabled request_firmware calls elsewhere, but it seems to me + # that this would just pin and unpin firmware that might have + # already been requested before. + accept 'static[ ]int[ ]smu7_request_firmware[(]' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c + accept '[\t]\.request_firmware[ ]=[ ]smu7_request_firmware[,]' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c + + # New in 4.12. + accept '[ ]*Bit\([ ]*[0-7]\)*' Documentation/input/devices/sentelic.rst + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]\(ghash\|hmac_sha\(224\|256\)\|aes_xcbc128\|poly1305\|crc32\|crc32c\|bfin_crc\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]\(\(des3_ede\|bf\)_cbc\|\(tf\|cast6\|aes\)_xts\|serpent\(_xts\)\?\|tnepres\|aes\(_cbc\|_ctr_rfc3686\)\?\|x\?tea\|anubis\(_cbc\)\?\|xeta\|camellia_\(cbc\|xts\)\|salsa20_stream\|chacha20\|cts_mode\)_\(enc\|dec\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|256\|512\|224\|384\)_\(aes\|des3\?\(_ede\)\?\)_cbc_enc_tv_temp\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]aead_testvec[ ]\(aes_\(gcm_rfc4106\|ccm_rfc4309\)\|rfc7539\(esp\)\?\)_\(enc\|dec\)_tv_template\[\][ \t]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]comp_testvec[ ]\(lzo\|lz4\(hc\)\?\)_\(de\)\?comp_tv_template\[\][ ]=' crypto/testmgr.h + defsnc '[}][ ]segments\[MALIDP_COEFFTAB_NUM_COEFFS\][ ]=' drivers/gpu/drm/arm/malidp_crtc.c + defsnc 'static[ ]const[ ]u16[ ]dp500_se_scaling_coeffs\[\]\[SE_N_SCALING_COEFFS\][ ]=' drivers/gpu/drm/arm/malidp_hw.c + defsnc 'static[ ]const[ ]u8[ ]gamma_tbl\[S6E3HA2_NUM_GAMMA_STEPS\]\[S6E3HA2_GAMMA_CMD_CNT\][ ]=' drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c + defsnc 'static[ ]const[ ]struct[ ]rcar_hdmi_phy_params[ ]rcar_hdmi_phy_params\[\][ ]=' drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c + defsnc 'static[ ]const[ ]int[ ]temp_map\[CPCAP_MAX_TEMP_LVL\]\[2\][ ]=' drivers/iio/adc/cpcap-adc.c + defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5645_\(global_init_setting\|setting_\(sxga\|1080p\|full\)\)\[\][ ]=' drivers/media/i2c/ov5645.c + defsnc 'static[ ]struct[ ]regval_list[ ]ov5647_640x480\[\][ ]=' drivers/media/i2c/ov5647.c + defsc 'static[ ]const[ ]u32[ ]isc_gamma_table\[GAMMA_MAX[ ][+][ ]1\]\[GAMMA_ENTRIES\][ ]=' drivers/media/platform/atmel/atmel-isc.c + defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_7620\[\][ ]=' drivers/net/wireless/ralink/rt2x00/rt2800lib.c + defsnc 'static[ ]const[ ]u8[ ]zero_buff\[\][ ]=' drivers/staging/ccree/ssi_cipher.c + oprepline '#define[ ]NIST_\(AES\([CG]CM\)\?\|SHA\|HMAC\)_\(SHA\)\?\(256\|512\|192\|128\|1\)_\(XTS_\|CMAC_\)\?\(KEY\|PLAIN\(_DATA\)\?\|CIPHER\|MD\|MSG\|ADATA\)' drivers/staging/ccree/ssi_fips_data.h + defsnc 'static[ ]struct[ ]atomisp_css_macc_table[ ]\(skin_\(low\|medium\|high\)\|blue\|green\)_macc_table[ ]=' drivers/staging/media/atomisp/pci/atomisp2/atomisp_tables.h + defsnc 'static[ ]struct[ ]atomisp_css_ctc_table[ ]vivid_ctc_table[ ]=' drivers/staging/media/atomisp/pci/atomisp2/atomisp_tables.h + defsnc '#define[ ]S_1W_\(6X6\|9X9\|7X7\)_MATRIX_DEFAULT[ ][(][(]s_1w_.x._matrix[)][\\]' drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_include/host/ref_vector_func_types.h + defsnc 'const[ ]struct[ ]ia_css_anr_config[ ]default_anr_config[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/anr/anr_1.0/ia_css_anr.host.c + defsnc 'const[ ]struct[ ]ia_css_anr_thres[ ]default_anr_thres[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/anr/anr_2/ia_css_anr2_table.host.c + defsnc 'default_ctc_table_data\[IA_CSS_VAMEM_[21]_CTC_TABLE_SIZE\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_table.host.c + defsnc 'default_gamma_table_data\[IA_CSS_VAMEM_[21]_GAMMA_TABLE_SIZE\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/gc/gc_1.0/ia_css_gc_table.host.c + defsnc 'default_gamma_table_data\[IA_CSS_VAMEM_[21]_RGB_GAMMA_TABLE_SIZE\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/gc/gc_2/ia_css_gc2_table.host.c + defsnc 'const[ ]struct[ ]ia_css_macc1_5_table[ ]default_macc1_5_table[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/macc/macc1_5/ia_css_macc1_5_table.host.c + defsnc 'const[ ]struct[ ]ia_css_macc_table[ ]default_macc2\?_table[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/macc/macc_1.0/ia_css_macc_table.host.c + defsc '#define[ ]DEFAULT_DVS_GRID_INFO[ ]' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/common/ia_css_sdis_common_types.h + defsnc 'const[ ]int16_t[ ]g_pyramid\[8\]\[8\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.c + defsnc 'static[ ]const[ ]int[ ]zoom_table\[4\]\[HRT_GDC_N\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css_params.c + defsnc '[\t]static[ ]\+u8[ ]sbox_table\[256\][ ]=' drivers/staging/rtl8723bs/core/rtw_security.c + defsnc 'static[ ]u32[ ]Array_MP_8723B_\(AGC_TAB\|PHY_REG\(_PG\)\?\)\[\][ ]=' drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.c + defsnc 'static[ ]u32[ ]Array_MP_8723B_MAC_REG\[\][ ]=' drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.c + defsnc 'static[ ]u32[ ]Array_MP_8723B_RadioA\[\][ ]=' drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c + defsnc 'static[ ]u8[ ]gDeltaSwingTableIdx_MP_5G[BA]_[NP]_TxPowerTrack_SDIO_8723B\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c + defsnc '[\t]u8[ ]channel5G\[CHANNEL_MAX_NUMBER_5G\][ ]=' drivers/staging/rtl8723bs/hal/hal_com_phycfg.c + defsc 'static[ ]struct[ ]cs35l35_sysclk_config[ ]cs35l35_clk_ctl\[\][ ]=' sound/soc/codecs/cs35l35.c + blobname 'amdgpu[/]vega10_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]vega10_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]vega10_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]vega10_\(ce\|pfp\|me\(c2\?\)\?\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + blobname 'amdgpu[/]\(vega10\|%s\)_\(sos\|asd\)\.bin' drivers/gpu/drm/amd/amdgpu/psp_v3_1.c + blobname 'amdgpu[/]vega10_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c + blobname 'amdgpu[/]vega10_smc\.bin' drivers/gpu/drm/amd/amdgpu/soc15.c + blobname 'i915[/]glk_dmc_ver1_04\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'https[:][/][/]01\.org[/]linuxgraphics[/]downloads[/][^"\n]*' drivers/gpu/drm/i915/intel_csr.c + blobname 'dvb-demod-si2168-d60-01\.fw' drivers/media/dvb-frontends/si2168_priv.h + blobname 'dvb-tuner-si2141-a10-01\.fw' drivers/media/tuners/si2157_priv.h + blobname 'firmware-6\.bin' drivers/net/wireless/ath/ath10k/hw.h + blobname '[/][*][ ]the[ ]firmware-6\.bin[ ]blob[ ][*][/]' drivers/net/wireless/ath/ath10k/hw.h + blobname 'iwlwifi-9260-th-b0-\(jf\|lc\)-b0-' drivers/net/wireless/intel/iwlwifi/iwl-9000.c + blobname 'iwlwifi-QuIcp-a0-hrcdb-a0-' drivers/net/wireless/intel/iwlwifi/iwl-a000.c + blobname 'git:[/][/]git\.kernel\.org[/][^"\n]*firmware\.git' drivers/net/wireless/intel/iwlwifi/iwl-drv.c + blobname 'rtlwifi[/]rtl8723befw_36\.bin' drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c + blobname 'rtlwifi[/]rtl8821aefw_29\.bin' drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c + blobname 'gsl1686-dexp-ursus-7w\.fw' drivers/platform/x86/silead_dmi.c + blobname 'gsl1686-surftab-wintron70-st70416-6\.fw' drivers/platform/x86/silead_dmi.c + blobname 'ti-connectivity[/]TIInit_\(\(%d\|[0-9]\+\)[.]\)\+bts' drivers/bluetooth/hci_ll.c + accept '[\t]*bt_dev_err[(]lldev->hu\.hdev[,][ ]["]request_firmware[ ]failed' drivers/bluetooth/hci_ll.c + blobname 'nokia[/]\(bcmfw\|ti1273\)\.bin' drivers/bluetooth/hci_nokia.c + accept '[\t ]*falcon->firmware\.\(bin_data\|firmware\)' drivers/gpu/drm/tegra/falcon.c + accept '[\t][/][*][ ]request_firmware[ ]prints' drivers/gpu/drm/tegra/falcon.c + accept 'static[ ]const[ ]struct[ ]vic_config[ ]vic_t\(124\|210\)_config[ ]=[ ][{][\n][ ]\.firmware[ ]*=[ ]' drivers/gpu/drm/tegra/vic.c + blobname 'nvidia[/]tegra124[/]vic03_ucode\.bin' drivers/gpu/drm/tegra/vic.c + blobname 'nvidia[/]tegra210[/]vic04_ucode\.bin' drivers/gpu/drm/tegra/vic.c + accept 'static[ ]int[ ]ap1302_request_firmware[(]' drivers/staging/media/atomisp/i2c/ap1302.c + accept '[\t ]*["]ap1302_request_firmware[ ]failed' drivers/staging/media/atomisp/i2c/ap1302.c + accept '[\t]ret[ ]=[ ]ap1302_request_firmware[(]' drivers/staging/media/atomisp/i2c/ap1302.c + blobname 'ap1302_fw\.bin' drivers/staging/media/atomisp/i2c/ap1302.c + blobname 'shisp_2401a0_\(legacy_\)\?v21\.bin' drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c + blobname 'shisp_2400b0_v21\.bin' drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c + accept '[\t]*isp->firmware[ ]=[ ]\(atomisp_load_firmware[(]\|NULL\)' 'drivers/staging/media/atomisp/pci/atomisp2/atomisp_\(fops\|v4l2\)\.c' + accept '[\t]stage_desc->firmware[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe/src/pipe_stagedesc.c + accept '[\t]stage->firmware[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/pipeline/src/pipeline.c + blobname 'rtlwifi[/]rtl8723bs_\(wowlan\|nic\)\.bin' drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c + blobname 'rtl8723b[/]FW_\(NIC\|WoWLAN\)\.bin' drivers/staging/rtl8723bs/include/rtl8723b_hal.h + + # New in 4.13 + accept '[ ]*This[ ]driver[ ]requires[ ]a[ ]patch[ ]for[ ]firmware_class\.c[^\n]*[\n][ ]*request_firmware_nowait[ ]function' Documentation/dell_rbu.txt + accept '[\t][ ]d=["]m[ ]0[,]0[ ]0[,]1895[ ]4118[,]0[ ][-0-9, LZm]*z["]' Documentation/media/uapi/v4l/crop.svg + defsnc 'static[ ]const[ ]struct[ ]akcipher_testvec[ ]pkcs1pad_rsa_tv_template\[\][ ]=' crypto/testmgr.h + accept '[\t]ret[ ]=[ ]_request_firmware_load[(]fw_priv[,][ ]opt_flags[,][ ]timeout[)][;]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]struct[ ]cpg_pll_config[ ]cpg_pll_configs\[8\][ ]__initconst[ ]=' drivers/clk/renesas/clk-rcar-gen2.c + blobname 'cnn55xx_se.fw' drivers/crypto/cavium/nitrox/nitrox_main.c + defsnc 'unsigned[ ]int[ ]dsgl_ent_len\[\][ ]=' drivers/crypto/chelsio/chcr_algo.h + blobname '\(ifpp\|ipue\)\.bin' drivers/crypto/inside-secure/safexcel.c + blobname 'amdgpu[/]\(%s\|vega10\|raven\)_gpu_info\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_device.c + blobname 'amdgpu[/]raven_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]raven_\(ce\|pfp\|me\(c2\?\)\?\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + blobname 'amdgpu[/]\(vega10\|raven\)_sdma1\?\.bin' drivers/gpu/drm/amdgpu/sdma_v4_0.c + defsnc 'const[ ]struct[ ]pctl_data[ ]pctl[01]_data\[\][ ]=' drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c + blobname 'i915[/]cnl_dmc_ver1_04\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc '[\t]static[ ]const[ ]int[ ]dividers\[\][ ]=' drivers/gpu/drm/i915/intel_dpll_mgr.c + defsnc 'const[ ]struct[ ]stm32h7_adc_ck_spec[ ]stm32h7_adc_ckmodes_spec\[\][ ]=' drivers/iio/adc/stm32-adc-core.c + defsnc 'static[ ]const[ ]u8[ ]full_fm_\(eu\|na\)_1p0\[\][ ]=' drivers/media/i2c/max2175.c + defsnc 'static[ ]const[ ]struct[ ]max2175_reg_map[ ]\(dab12\|fmeu1p2\|fmna[12]p0\)_map\[\][ ]=' drivers/media/i2c/max2175.c + defsnc 'static[ ]const[ ]u8[ ]adc_presets\[2\]\[23\][ ]=' drivers/media/i2c/max2175.c + defsnc 'static[ ]const[ ]struct[ ]ov13858_reg[ ]mode_\(4224x3136\|2112x\(1568\|1188\)\|1056x784\)_regs\[\][ ]=' drivers/media/i2c/ov13858.c + defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5640_\(init_\)\?setting_\(30\|15\)fps_\(VGA\(_640_480\)\?\|XGA_1024_768\|QVGA_320_240\|QCIF_176_144\|NTSC_720_480\|PAL_720_576\|720P_1280_720\|1080P_1920_1080\|QSXGA_2592_1944\)\[\][ ]=' drivers/media/i2c/ov5640.c + blobname 'qcom[/]venus-\(1\.8\|4\.2\)[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlx5_firmware_flash[(]mdev[,][ ]fw[)]' drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c + blobname 'mellanox[/]mlxsw_spectrum-\([0-9.]*\|["]\([ \t]*\|[\\][\n]\|__stringify[(]MLXSW_FWREV_\(MAJOR\|MINOR\|SUBMINOR\)[)]\|["].["]\)*["]\)\.mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + # This firmware file name is supplied by the user, + # but there's another in the same source file (above) that is hardcoded. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]firmware[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlxsw_sp_firmware_flash[(]mlxsw_sp[,][ ]firmware[)]' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[49\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsc 'static[ ]const[ ]u8[ ]iwl_ext_nvm_channels\[\][ ]=' drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c + blobname '\(rsi[/]\)\?rs9113_wlan_qspi\.rps' drivers/net/wireless/rsi/rsi_common.h + defsnc '[}][ ]hsfreq_map\[\][ ]=' drivers/staging/media/imx/imx6-mipi-csi2.c + defsnc 'static[ ]const[ ]u16[ ]avc_thr_db2reg\[97\][ ]=' sound/soc/codecs/sgtl5000.c + blob 'SD8688[ ]firmware[\n]=*[\n]*Images:[\n]*\(-[ ][/]lib[/]firmware[^\n]*[\n]*\)*The[ ]images[^:]*:[\n]*[^\n]*[/]linux-firmware[^\n]*' Documentation/btmrvl.txt + blobname '%s-%s-%d\.bin' drivers/net/wireless/ath/ath10k/core.c + blobname 'wil6210_\(sparrow_plus_\)\?ftm\.fw' drivers/net/wireless/ath/wil6210/wil6210.h + blobname 'brcmfmac43430a0-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'iwlwifi-9000-pu-a0-jf-b0-' drivers/net/wireless/intel/iwlwifi/cfg/9000.c + blobname 'iwlwifi-QuIcp-z0-hrcdb-a0-' drivers/net/wireless/intel/iwlwifi/iwl-a000.c + blobname 'qtn[/]fmac_qsr10g\.img' drivers/net/wireless/quantenna/qtnfmac/qtn_hw_ids.h + blobname 'gsl1680-\(gp-electronic-t701\|pipo-w2s\)\.fw' drivers/platform/x86/silead_dmi.c + blobname 'gsl3692-pov-mobii-wintab-p800w\.fw' drivers/platform/x86/silead_dmi.c + blobname 'gsl3670-itworks-tw891\.fw' drivers/platform/x86/silead_dmi.c + defsnc 'struct[ ]phm_fuses_default[ ]vega10_fuses_default\[\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/pp_overdriver.c + blobname 'a530_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c + accept '[\t]\(complete\|init_completion\|[\t]wait_for_completion\)[(][&]bus->request_firmware_complete[)]' drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c + accept '[\t]ret[ ]=[ ]reject_firmware_nowait[(][^)]*[,][ ]qtnf_firmware_load[)][;][\n][\t]*if[ ][(]ret[ ][<][ ]0[)][\n][\t]*pr_err[(]["]request_firmware_nowait[ ]error' drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c + blobname '\(adsp\|slpi\)\.mdt' drivers/remoteproc/qcom_adsp_pil.c + # Moved down to allow for longer match in non-NDA regexp engines. + # blobname 'wcnss\.mdt' drivers/remoteproc/qcom_wcnss.c + + # New in 4.14 (up to rc5). + blobname 'amdgpu[/]vega10_acg_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname '\(netronome[/]\)\?\(serial-\(%pMF-%02hhx-%02hhx\|[-0-9a-f]*\)\|pci-\(%s\|[0-9a-f:.]*\)\)\.nffw' drivers/net/ethernet/netronome/nfp/nfp_main.c + blobname 'brcmfmac4373-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'brcmfmac4373\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c + blobname 'iwlwifi-QuQnj-\([af]0-hr-a0\|a0-jf-b0\)-' drivers/net/wireless/intel/iwlwifi/cfg/a000.c + blobname 'rt5514_dsp_fw3\.bin' sound/soc/codecs/rt5514.h + blobname 'intel[/]dsp_fw_cnl\.bin' sound/soc/intel/skylake/skl.c + initnc '__aes_arm\(64\)\?_inverse_sbox:[\n][\t]\.byte[ \t]*' arch/arm/crypto/aes-cipher-core.S + defsnc 'static[ ]const[ ]struct[ ]hsdk_pll_cfg[ ]asdt_pll_cfg\[\][ ]=' drivers/clk/clk-hsdk-pll.c + defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]d1cpre_div_table\[\][ ]=' drivers/clk/clk-stm32h7.c + defsnc 'static[ ]const[ ]struct[ ]pctl_data[ ]pctl[01]_data\[\][ ]=' drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c + defsnc '[\t]static[ ]const[ ]u16[ ]map\[\][ ]=' drivers/hwmon/asc7621.c + defsc 'static[ ]const[ ]struct[ ]stm32h7_adc_ck_spec[ ]stm32h7_adc_ckmodes_spec\[\][ ]=' drivers/iio/adc/stm32-adc-core.c + defsnc 'static[ ]const[ ]int[ ]srf08_sensitivity_avail\[\][ ]=' drivers/iio/proximity/srf08.c + defsc 'static[ ]const[ ]struct[ ]slookup[ ]\(lnagain_\(nf\|iip3\)\|gain_\(rfagc\|channel_agc_\(nf\|iip3\)\)\)_lookup\[\][ ]=' drivers/media/dvb-frontends/stv6111.c + defsnc 'static[ ]const[ ]struct[ ]ov5670_reg[ ]mode_\(2592x1944\|1296x972\|648x486\|2560x1440\|1280x720\|640x360\)_regs\[\][ ]=' drivers/media/i2c/ov5670.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(gnd\|dram\|pci\|pflash\)_351[26]_pins\[\][ ]=' drivers/pinctrl/pinctrl-gemini.c + defsc 'static[ ]const[ ]unsigned[ ]int[ ]pflash_351[26]_pins_extended\[\][ ]=' drivers/pinctrl/pinctrl-gemini.c + defsnc 'static[ ]const[ ]u16[ ]db_invert_table\[12\]\[8\][ ]=' drivers/staging/rtlwifi/phydm/phydm.c + defsc 'u32[ ]cck_swing_table_ch1_ch14_8723d\[CCK_TABLE_SIZE_8723D\][ ]=' drivers/staging/rtlwifi/phydm/phydm_powertracking_ce.c + defsc 'u32[ ]cck_swing_table_ch1_ch14_8710b\[CCK_TABLE_SIZE_8710B\][ ]=' drivers/staging/rtlwifi/phydm/phydm_powertracking_ce.c + defsnc 'static[ ]u32[ ]array_mp_8822b_\(agc_tab\|phy_reg\(_pg\)\?\|mac_reg\|radio[ab]\)\[\][ ]=' drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_bb.c + defsnc 'static[ ]u8[ ]delta_swing_index_mp_5g[ba]_[np]_txpwrtrack_\(type[01246789]_\|type3_type5_\)\?8822b[\n\t ]*\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_rf.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]rk3328_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + defsnc 'static[ ]const[ ]BYTE[ ]LL_Code\[64\][ ]=' lib/zstd/compress.c + defsnc 'static[ ]const[ ]BYTE[ ]ML_Code\[128\][ ]=' lib/zstd/compress.c + defsc 'static[ ]const[ ]FSE_decode_t4[ ]LL_defaultDTable\[[(]1[ ][<][<][ ]LL_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsc 'static[ ]const[ ]FSE_decode_t4[ ]ML_defaultDTable\[[(]1[ ][<][<][ ]ML_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsc 'static[ ]const[ ]FSE_decode_t4[ ]OF_defaultDTable\[[(]1[ ][<][<][ ]OF_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsnc '[\t]static[ ]const[ ]U32[ ][LM]L_base\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsnc 'static[ ]const[ ]U32[ ][LM]L_bits\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/zstd_internal.h + defsnc 'static[ ]const[ ]S16[ ][LM]L_defaultNorm\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/zstd_internal.h + defsnc 'static[ ]const[ ]struct[ ]cs43130_pll_params[ ]pll_ratio_table\[\][ ]=' sound/soc/codecs/cs43130.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]pcm_ch_\(en\|dis\)_seq\[\][ ]=' sound/soc/codecs/cs43130.c + defsnc 'static[ ]const[ ]struct[ ]cs43130_clk_gen[ ]cs43130_\(16\|32\|48\|64\)_clk_gen\[\][ ]=' sound/soc/codecs/cs43130.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt274_\(index_def\|reg\)\[\][ ]=' sound/soc/codecs/rt274.c + accept '[\t]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_into_buf[(][&]xfw[,][ ]NONFREE_FIRMWARE' include/linux/firmware.h + accept '[\t]if[ ][(]is_nonfree_firmware[^\n]*[\n][\t][\t]return[ ]reject_firmware_into_buf[^\n]*[\n][\t]else[\n][\t][\t]return[ ]request_firmware_into_buf[(]firmware_p[,][ ]name[,]' include/linux/firmware.h + accept '[#]define[ ]TEST_FIRMWARE_NAME[\t]["]test-firmware\.bin["]' lib/test_firmware.c + accept '[ ][*][\t]request_firmware_direct[(][)][ ]will[ ]be[ ]used[ ]instead' lib/test_firmware.c + accept '[ ][*][\t]of[ ]the[ ]request_firmware[*][(][)][ ]calls[ ]used[ ]in[ ]their[ ]tests' lib/test_firmware.c + accept '[ ][*][\t]request_firmware_direct[(][)][,][ ]otherwise[ ]request_firmware[(][)]' lib/test_firmware.c + accept '[\t]*test_fw_config->req_firmware[ ]=[ ]\(test_fw_config->sync_direct[ ][?][\n][ \t]*request_firmware_direct[ ][:][\n][ \t]*\)\?request_firmware[;]' lib/test_firmware.c + accept '[\t][\t]req->name[ ]=[ ]test_fw_config->name[;][\n][\t][\t]req->fw[ ]=[ ]NULL[;][\n][\t][\t]req->idx[ ]=[ ]i[;][\n][\t][\t]init_completion[(][&]req->completion[)][;][\n][\t][\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]\([^);, \t\n]*[,][ \t\n]*\)*trigger_batched_cb[)][;]' lib/test_firmware.c + accept '[\t]release_firmware[(]test_firmware[)][;][\n][\t]test_firmware[ ]=[ ]NULL[;][\n][\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]1[,][ ]name[^)\n]*[\n][ \t]*NULL[,][ ]trigger_async_request_cb[)]' lib/test_firmware.c + accept '[#][ ]name:[ ]test-firmware\.bin' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]*test_\(batched_\)\?request_firmware\(_direct\|_nowait_\(uevent\|custom\)\)\?\(_nofile\)\?\([(][)]\|[ ][$]i\)' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]echo[ ]-n[ ]["]Batched[ ]request_firmware\(_direct\|_nowait\)\?[(]\(uevent=\(true\|false\)\)\?[)][ ]\(nofile[ ]\)\?try[ ]#[$]1:[ ]["]' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]\(config_set_name\|test_wait_and_cancel_custom_load\)[ ]nope-test-firmware\.bin' tools/testing/selftests/firmware/fw_filesystem.sh + blobname 'amdgpu[/]%s_asd\.bin' drivers/gpu/drm/amd/amdgpu/psp_v10_0.c + blobname 'lantiq[/]xrx[23]00_phy\(22f\|11g\)_a\(14\|2[21]\)\.bin' drivers/soc/lantiq/gphy.c + blobname 'rtlwifi[/]rtl8822befw\.bin' drivers/staging/rtlwifi/rtl8822be/sw.c + # This loads a file named by the user. + accept '[\t]const[ ]char[ ][*]name[ ]=[ ]i915\.vbt_firmware[;][\n][\t]int[ ]ret[;][\n][\n][\t]if[ ][(]!name[ ][|][|][ ][!][*]name[)][\n][\t][\t]return[ ]-ENOENT[;][\n][\n][\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,]' drivers/gpu/drm/i915/intel_opregion.c + # New in 4.14-rc6. + defsnc '[\t]static[ ]const[ ]struct[ ]nphy_txiqcal_ladder[ ]ladder_\(lo\|iq\)\[\][ ]=' drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c + # New in 4.14.3. When using python for deblobbing (default), this + # pattern appears too late. An earlier pattern that matches + # iwlwifi-9000 alone and starts with 'iwlwifi-9000\(' needed + # adjusting as well. + blobname 'iwlwifi-9000-pu-b0-jf-b0-' drivers/net/wireless/intel/iwlwifi/cfg/9000.c + + # New in 4.15 (up to rc6). + accept '[\t]*0[ ][ ][/][*]1\([ ][ ][23456]\)*[*][/]\([ ][ ][789]\)*\([\n][\t]*\([ ]*[1-9][0-9]*\)*\)*[\n][\t]*100' arch/arm/boot/dts/imx6q-pistachio.dts + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]table\[\][ ]=' arch/mips/math-emu/dp_sqrt.c + defsnc 'const[ ]u8[ ]sm3_zero_message_hash\[SM3_DIGEST_SIZE\][ ]=' crypto/sm3_generic.c + defsc 'static[ ]const[ ]struct[ ]hash_testvec[ ]sm3_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]rcar_gen3_cpg_pll_config[ ]cpg_pll_configs\[8\][ ]__initconst[ ]=' drivers/clk/renesas/r8a77970-cpg-mssr.c + defsnc 'unsigned[ ]int[ ]sgl_ent_len\[\][ ]=' drivers/crypto/chelsio/chcr_algo.h + defsc 'static[ ]const[ ]struct[ ]pte_setting[ ]pte_settings\[mi_tiling_count\]\[mi_bpp_count\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_4tap_16p_\(upscale\|117\|150\|183\)\[36\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_2tap_64p\[66\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_3tap_64p_\(upscale\|117\|150\|183\)\[99\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_4tap_64p_\(upscale\|117\|150\|183\)\[132\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_5tap_64p_\(upscale\|117\|150\|183\)\[165\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_6tap_64p_\(upscale\|117\|150\|183\)\[198\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_7tap_64p_\(upscale\|117\|150\|183\)\[231\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_8tap_64p_\(upscale\|117\|150\|183\)\[264\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]struct[ ]audio_clock_info[ ]audio_clock_info_table\[16\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c + defsnc 'static[ ]const[ ]struct[ ]audio_clock_info[ ]audio_clock_info_table_\(36\|48\)bpc\[14\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]dvmm_Hw_Setting_\(2DTiling\|Linear\)\[4\]\[9\][ ]=' drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c + defsnc 'static[ ]const[ ]struct[ ]phm_fuses_default[ ]vega10_fuses_default\[\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/pp_overdriver.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]soft_dummy_pp_table\[\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.c + accept 'static[ ]const[ ]PWR_DFY_Section[ ]pwr_virus_section[123456][ ]=[ ][{]\([\n][\t]\.dfy_\(cntl\|addr_\(hi\|lo\)\)[ ]=[ ]0x[0-9a-f]*[,]\)*[\n][\t]\.dfy_data[ ]=[ ][{]\([\n]\([ \t]0x[0-9a-f]*[,]\)*\)*[\n][\t][}][,][\n][\t]\.dfy_size[ ]=[ ][0-9]*[\n][}][;]' drivers/gpu/drm/amd/powerplay/inc/polaris10_pwrvirus.h + defsnc 'static[ ]const[ ]struct[ ]kx_odr_map[ ]samp_freq_table\[\][ ]=' drivers/iio/accel/kxcjk-1013.c + defsc 'static[ ]const[ ]struct[ ]reg_8[ ]imx274_\(mode\(1_3840x2160\|3_1920x1080\|5_1280x720\)_raw10\|start_2\)\[\][ ]=' drivers/media/i2c/imx274.c + defsnc '[\t]static[ ]const[ ]unsigned[ ]char[ ]\(y\|uv\)QuanTable51[18]\[\][ ]=' drivers/media/usb/gspca/ov519.c + defsnc 'static[ ]const[ ]u32[ ]t5_tp_mib_index_array\[9\]\[IREG_NUM_ELEM\][ ]=' drivers/net/ethernet/chelsio/cxgb4/cudbg_entity.h + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]rv1108_table\[\][ ]' drivers/thermal/rockchip_thermal.c + initnc '[/][*][ ]Seth[ ]Forshee.s[ ]regdb[ ]certificate[ ][*][/]' net/wireless/certs/sforshee.hex + initnc '\(Read\|Fill\)[ ]buffer[ ]content:' tools/testing/selftests/android/ion/README + blobname 'amdgpu[/]%s_\(pfp\|[mc]e\|mec2\?\)_2\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c + blobname 'nvidia[/]tegra186[/]vic04_ucode\.bin' drivers/gpu/drm/tegra/vic.c + accept 'static[ ]const[ ]struct[ ]vic_config[ ]vic_t186_config[ ]=[ ][{][\n][\t]\.firmware[ ]=[ ]NVIDIA_TEGRA_186_VIC_FIRMWARE[,]' drivers/gpu/drm/tegra/vic.c + blobname 'gsl3680-chuwi-hi8-pro\.fw' drivers/platform/x86/silead_dmi.c + blobname 'gsl1686-digma_citi_e200\.fw' drivers/platform/x86/silead_dmi.c + accept '[/][*][ ]code[ ]to[ ]directly[ ]load[ ]a[ ]firmware[ ]database[ ]through[ ]request_firmware[ ][*][/]' net/wireless/reg.c + accept '[\t]if[ ][(]request_firmware[(][&]sig[,][ ]["]regulatory\.db\.p7s["][,]' net/wireless/reg.c + accept '[\t]return[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]true[,][ ]["]regulatory\.db["][,]' net/wireless/reg.c + accept '[\t]err[ ]=[ ]request_firmware[(][&]fw[,][ ]["]regulatory\.db["][,]' net/wireless/reg.c + accept '[\t][ ][*][ ]the[ ]new[ ]path[,][ ]using[ ]request_firmware_direct[(][)]' drivers/gpu/drm/msm/adreno/adreno_gpu.h + accept '[\t][ ][*][ ]finally[ ]fall[ ]back[ ]to[ ]request_firmware[(][)]' drivers/gpu/drm/msm/adreno/adreno_gpu.h + blobname 'hideep_ts_\(%04x\|[0-9a-f]*\)\.bin' drivers/input/touchscreen/hideep.c + blobname 'dpfe\.bin' drivers/memory/brcmstb_dpfe.c + accept '[\t]err[ ]=[ ]request_firmware[(][&]clm[,][ ]clm_name[,][ ]dev[)][;]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c + accept '[\t]*DRM_DEBUG_DRIVER[(]["]%s[ ]fw[ ]request_firmware[ ]err=%d[\\]n["][,]' drivers/gpu/drm/i915/intel_uc_fw.c + + accept '\(The[ ]k\|K\)ernel[ ]can[ ]update[ ]microcode' Documentation/x86/microcode.txt + accept 'requires[ ]rebuilding[ ]the[ ]kernel[ ]each[ ]time[ ]updated[ ]microcode' Documentation/x86/microcode.txt + accept '[\t][ ][ ]If[ ]you[ ]say[ ]Y[ ]here[,][ ]you[ ]will[ ]be[ ]able[ ]to[ ]update[ ]the[ ]microcode' arch/x86/Kconfig + blobna '[,][ ]please[ ]upgrade[ ]microcode' arch/x86/events/intel/core.c + blobna 'please[ ]update[ ]microcode[ ]to[ ]version:[ ]0x%x[ ][(]or[ ]later[)]' arch/x86/kernel/apic/apic.c + accept '[ ][*][ \t]*This[ ]driver[ ]allows[ ]to[ ]upgrade[ ]microcode' arch/x86/kernel/cpu/microcode/'\(amd\|core\)\.c' + accept '[\t][ ][*][ ]operation[ ]-[ ]when[ ]the[ ]other[ ]hyperthread[ ]has[ ]updated[ ]the[ ]microcode' arch/x86/kernel/cpu/microcode/core.c + accept '[ ][*][ ]mc_bp_resume[ ]-[ ]Update[ ]boot[ ]CPU[ ]microcode[ ]during[ ]resume' arch/x86/kernel/cpu/microcode/core.c + blobna '[,][ ]update[ ]BIOS[ ]or[ ]microcode[ ]of[ ]the[ ]CPU[!]' drivers/hwmon/coretemp.c + accept '[ ][*][ ]ipr_update_ioa_ucode[ ]-[ ]Update[ ]IOA[\'"'"']s[ ]microcode' drivers/scsi/ipr.c + accept '[ ][*][ ]Initiate[ ]an[ ]adapter[ ]reset[ ]to[ ]update[ ]the[ ]IOA[\'"'"']s[ ]microcode' drivers/scsi/ipr.c + accept '[\t]*struct[ ]xenpf_microcode_update[ ]*microcode' include/xen/interface/platform.h + + # New in 4.16 + blobname 'board-2\.bin' Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt + accept '[ ]*microcode_update_cpu[(][)][ ]which[ ]would[ ]call[ ]microcode_init_cpu[(][)][ ]in[ ]this[ ]case' Documentation/power/suspend-and-cpuhotplug.txt + accept '[\t]\.irp[\t]b\([,][0-9]\)*\([,][1-3][0-9]\)*' arch/arm64/crypto/sha3-ce-core.S + accept '\.Lsha512_rcon:\([\n][\t]\.quad[\t]*[0-9a-fx, ]*\)*' arch/arm64/crypto/sha512-ce-core.S + accept '[ ][*][ ]only[ ]when[ ]microcode[ ]has[ ]been[ ]updated[.][ ]Caller[ ]holds[ ]microcode_mutex[ ]and[ ]CPU' arch/x86/kernel/cpu/common.c + accept '[ ][ ][ ]any[ ]request_firmware[(]\(["]whatever\.bin["]\)[)]' drivers/base/Kconfig + accept 'static[ ]int[ ]_request_firmware_load[(]struct[ ]fw_sysfs[ ][*]fw_sysfs[,]' drivers/base/firmware_class.c + accept '[\t]ret[ ]=[ ]_request_firmware_load[(]fw_sysfs[,][ ]opt_flags[,][ ]timeout[)][;]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]struct[ ]pll_freq_tbl[ ]a53pll_freq\[\][ ]=' drivers/clk/qcom/a53-pll.c + defsnc 'static[ ]unsigned[ ]int[ ]d\?sgl_ent_len\[\][ ]=' drivers/crypto/chelsio/chcr_algo.c + # FPGA configuration/programming files are named in Device Tree + # overlays supplied by users. + accept 'static[ ]int[ ]fpga_mgr_firmware_load[(]' drivers/fpga/fpga-mgr.c + accept '[\t]*return[ ]fpga_mgr_firmware_load[(]mgr[,][ ]info[,][ ]info->firmware_name[)]' drivers/fpga/fpga-mgr.c + # Nice, asm sources are in the same file, within #if 0/#endif! License is ok, too. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx8_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx8.asm + blobname 'i915[/]cnl_dmc_ver1_06\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'i915[/]kbl_dmc_ver1_04\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'i915[/]skl_dmc_ver1_27\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc 'static[ ]const[ ]u32[ ]lan2coefftab16\[240\][ ]=' drivers/gpu/drm/sun4i/sun8i_ui_scaler.c + defsnc 'static[ ]const[ ]u32[ ]\(lan3\|bicubic8\)coefftab32_\(left\|right\)\[480\][ ]=' drivers/gpu/drm/sun4i/sun8i_ui_scaler.c + defsnc 'static[ ]const[ ]u32[ ]\(lan2\|bicubic4\)coefftab32\[480\][ ]=' drivers/gpu/drm/sun4i/sun8i_ui_scaler.c + defsnc '[}][ ]zopt2201_scale_\(als\|uvb\)\[\][ ]=' drivers/iio/light/zopt2201.c + blobname 'raydium_\(%#04x\|[x0-9a-f]*\)\.fw' drivers/input/touchscreen/raydium_i2c_ts.c + defsnc '[\t]*static[ ]const[ ]u8[ ]bufs\[\][ ]=' drivers/media/dvb/dvb-usb/cxusb.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]ov7740_vga\[\][ ]=' drivers/media/i2c/ov7740.c + accept '[ ][*][ ]@fw_get_done[\t]*flag[ ]set[ ]when[ ]request_firmware[(][)][ ]is[ ]complete' drivers/media/platform/s5p-mfc/s5p_mfc_common.h + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[51\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsnc 'static[ ]const[ ]struct[ ]ath10k_mem_section[ ]qca6174_hw\(21\|30\)_register_sections\[\][ ]=' drivers/net/wireless/ath/ath10k/coredump.c + blobname 'mt7662\(_rom_patch\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt76x2.h + defsnc 'static[ ]const[ ]struct[ ]mtk_pin_field_calc[ ]mt7622_pin_\(mode\|sr\|smt\|pu\|pd\|e[48]\|[tr]dsel\)_range\[\][ ]=' drivers/pinctrl/mediatek/pinctrl-mt7622.c + blobname 'gsl\(3670-surftab-twin-10-1-st10432-8\|3676-onda-obook-20-plus\|1680-chuwi-hi8\|3676-chuwi-vi8\|1680-trekstor-primebook-c13\|1686-teclast_x98plus2\|1680-teclast-x3-plus\)\.fw' drivers/platform/x86/silead_dmi.c + defsnc 'static[ ]const[ ]struct[ ]xvcu_pll_cfg[ ]xvcu_pll_cfg\[\][ ]=' drivers/soc/xilinx/xlnx_vcu.c + defsnc 'u16[ ]const[ ]crc_ccitt_false_table\[256\][ ]=' lib/crc-ccitt.c + defsc 'static[ ]const[ ]struct[ ]aic32x4_rate_divs[ ]aic32x4_divs\[\][ ]=' sound/soc/codecs/tlv320aic32x4.c + defsnc 'static[ ]char[ ]const[ ][*][ ]const[ ]compressor_ratio_text\[\][ ]=' sound/soc/codecs/tscs42xx.c + defsnc '[\t]const[ ]u8[ ]norm_addrs\[\][ ]=' sound/soc/codecs/tscs42xx.c + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]nfp_nsp_write_flash[(]nsp[,][ ]fw[)]' drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c + accept '[\t]*\(rc[ ]=[ ]\)\?wil_request_firmware[(]wil[,][ \n\t]*\(wil->wil_fw_name\|WIL_BOARD_FILE_NAME\)[,][ \n\t]*\(true\|false\)[)][;]' drivers/net/wireless/ath/wil6210/main.c + accept '[\t]retval0[ ]=[ ]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_direct[(]' include/linux/firmware.h + accept '[\t]retval0[ ]=[ ]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_into_buf[(][&]xfw[,][ ]NONFREE_FIRMWARE' include/linux/firmware.h + + # New in 4.17 + defsnc 'static[ ]const[ ]u8[ ]sbox\[256\][ ]=' crypto/sm4_generic.c + defsnc 'static[ ]const[ ]u32[ ]ck\[\][ ]=' crypto/sm4_generic.c + defsc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]speck\(128\|64\)_\(xts_\)\?\(enc\|dec\)_tv_template\[\][ ]=' crypto/testmgr.h + accept '[ ][*][ ]request_firmware_into_buf[(][)][ ]or[ ]request_firmware_nowait[(][)][ ]with' drivers/base/firmware_loader/main.c + defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]mcu_div_table\[\][ ]=' drivers/clk/clk-stm32mp1.c + defsnc 'static[ ]const[ ]struct[ ]profile_mode_setting[ ]smu7_profiling\[6\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c + defsnc 'static[ ]const[ ]u32[ ]sun4i_frontend_vert_coef\[32\][ ]=' drivers/gpu/drm/sun4i/sun4i_frontend.c + defsnc 'static[ ]const[ ]u32[ ]sun4i_frontend_horz_coef\[64\][ ]=' drivers/gpu/drm/sun4i/sun4i_frontend.c + defsnc 'static[ ]const[ ]struct[ ]lv0104cs_mapping[ ]lv0104cs_calibscales\[\][ ]=' drivers/iio/light/lv0104cs.c + defsnc '[\t]static[ ]const[ ]u8[ ]rf_init1_cdata1\[40\][ ]=' drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd.c + defsnc '[\t]static[ ]const[ ]u8[ ]rf_init1_cdata3\[80\][ ]=' drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd.c + defsnc '[\t]static[ ]const[ ]u8[ ]rf_init1_cdata5\[50\][ ]=' drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd.c + defsnc 'static[ ]struct[ ]regval[ ]ov2685_1600x1200_regs\[\][ ]=' drivers/media/i2c/ov2685.c + defsnc 'static[ ]const[ ]struct[ ]regval[ ]ov5695_\(global\|2592x1944\|1920x1080\|1296x972\|1280x720\|640x480\)_regs\[\][ ]=' drivers/media/i2c/ov5695.c + defsnc 'u_short[ ]ebc_plain_map\[NR_KEYS\][ ]=' drivers/s390/char/defkeymap.c + defsnc 'static[ ]const[ ]int16_t[ ]g_pyramid\[8\]\[8\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.c + accept 'MODULE_FIRMWARE[(]["]aica_firmware\.bin["][)][;]' sound/sh/aica.c + accept '[\t]err[ ]=[ ]request_firmware[(][&]fw_entry[,][ ]["]aica_firmware\.bin["][,]' sound/sh/aica.c + defsnc '[\t]static[ ]const[ ]u8[ ]norm_addrs\[\][ ]=' sound/soc/codecs/tscs42xx.c + accept '[\t]FW=["][$]FWPATH[/]test-firmware\.bin["]' tools/testing/selftests/firmware/fw_lib.sh + accept '\([/][*][ ]0x1[ ]\[\^\\000\][*]\[\^[/]\\000\][/][/][&][ ][*][/][ ]\)\?0x1B[,][ ]0x5E[,][ ]0x78[,][ ]0x3D[,][ ]0x00[,][ ]0x00[,][ \n]0x00[,][ ]0x18[,][ ][0x1-9A-F, \n]*' 'security/apparmor/\(null\|stacksplit\)dfa.in' + blobname 'rtl_bt[/]rtl\(8723d\|8821c\)_\(config\|fw\)\.bin' drivers/bluetooth/btrtl.c + blobname 'amdgpu[/]vega12_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]vega12_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]vega12_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'i915[/]cnl_dmc_ver1_07\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc 'static[ ]const[ ]struct[ ]af9013_reg_mask_val[ ]demod_init_tab\[\][ ]=' drivers/media/dvb-frontends/af9013_priv.h + defsnc 'static[ ]const[ ]struct[ ]af9013_reg_mask_val[ ]tuner_init_tab_\(env77h11d5\|mt2060\(_2\)\?\|mxl500\(3d\|5\)\|qt1010\|mc44s803\|unknown\|tda18271\)\[\][ ]=' drivers/media/dvb-frontends/af9013_priv.h + blobname '\(vpu[/]\)\?vpu_fw_imx51\.bin' drivers/media/platform/coda/coda-common.c + blobname 'v4l-codahx4-imx51\.bin' drivers/media/platform/coda/coda-common.c + blobname 's5p-mfc-v10\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c + blobname 'example[ ]file[ ]wl1251-nvs\.bin[,][^*]*[*][/]' drivers/net/wireless/ti/wl1251/main.c + blobname '["]brcm[/]["]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h + blobname '\(brcm[/]\)\?brcmfmac43\(143\|241b[045]\|29\|3[0459]\|340\|362\|430\(a0\)\?\|455\|5[46]\|73\)-sdio\(\.bin\|\.txt\)\?' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname '\(brcm[/]\)\?brcmfmac43\(602\|50\(c2\)\?\|56\|570\|5[89]\|65[bc]\|66[bc]\|71\)-pcie\(\.bin\|\.txt\)\?' drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c + blobname '\(brcm[/]\)\?brcmfmac43\(143\|236b\|242a\|569\|73\)\(\.bin\|\.txt\)\?' drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c + accept '[\t]struct[ ]brcmf_fw_name[ ]fwnames\[\][ ]=[ ][{][\n][\t][\t][{][ ]["]\.bin["]' 'drivers/net/wireless/broadcom/brcm80211/brcmfmac/\(pcie\|sdio\|usb\)\.c' + # We require a semicolon after MODULE_FIRMWARE, which this + # in-macro occurrence does not have, so take the semicolon from + # the previous in-macro declaration. + blobname '\([;][ ]\\[\n]MODULE_FIRMWARE[(]BRCMF_FW_DEFAULT_PATH[^)]*[)]\)\+' drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h + + # Adjust for catching firmware_request + accept 'static[ ]int[ ]coda_firmware_request[(]' drivers/media/platform/code/coda-common.c + accept '[\t]*ret[ ]=[ ]coda_firmware_request[(]' drivers/media/platform/code/coda-common.c + accept '[\t]struct[ ]gb_bootrom_get_firmware_request[ ][*]firmware_request[;]' drivers/staging/greybus/bootrom.c + accept '[\t]*\(if[ ][(]op->request->payload_size[ ]!=[ ]\)\?sizeof[(][*]firmware_request[)]' drivers/staging/greybus/bootrom.c + accept '[\t]firmware_request[ ]=[ ]op->request->' drivers/staging/greybus/bootrom.c + accept '[\t]\(offset\|size\)[ ]=[ ]le32_to_cpu[(]firmware_request->' drivers/staging/greybus/bootrom.c + accept '[\t]struct[ ]gb_fw_download_\(find\|fetch\|release\)_firmware_request[ ][*]request[;]' drivers/staging/greybus/fw-download.c + + # New in 4.18 (-rc6) + blobname 'amdgpu[/]vega\(m\|20\)_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]vega\(m\|20\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]vega\(m\|20\)_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]vegam_\(ce\|pfp\|me\|mec\|mec2\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.C + blobname 'amdgpu[/]\(vega\(10\|12\|20\)\|raven\)_\(ce\|pfp\|me\|mec\|mec2\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.C + blobname 'amdgpu[/]vega\(10\|12\|20\)_\(sos\|asd\)\.bin' drivers/gpu/drm/amd/amdgpu/psp_v3_1.C + blobname 'amdgpu[/]vegam_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v3_0.C + blobname 'amdgpu[/]\(vega\(10\|12\|20\)\|raven\)_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v4_0.C + blobname 'amdgpu[/]vega\(m\|10\|10_acg12\|20\)_smc\.bin' drivers/gpu/drm/amd/amdgpu/smumgr.c + blobna 'https:[/][/]git\.kernel\.org[/][^"\n]*firmware\.git[/]tree[/]i915' drivers/gpu/drm/i915/intel_uc_fw.h + blobna 'You[ ]can[ ]use[ ][^"\n]*to[ ]get[ ]the[ ]firmware\.\?' drivers/media/usb/dvb-usb/dvb-usb-firmware.c + blob '[ ][*][ ]Firmware[ ]is:[\n][ ][*][ ]Derived[ ]from[ ]proprietary[^*]*\([*]\+[^/*][^*]*\)*notice[ ]is[ ]accompanying[ ]it\.[\n][ ][*][/]' drivers/net/tg3.c + blobname 'gsl\(3692-jumper-ezpad-6-pro\|3680-\(pov-mobii-wintab-p800w-v20\|onda-v891w-v1\)\)\.fw' drivers/platform/x86/silead_dmi.c + blobname 'ctefx-\(sbz\|r3di\)\.bin' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]float_\(vol_db\|zero_to_one\|xbass_xover\)_lookup\[\][ ]=' sound/pci/hda/patch_ca0132.c + blobna '[\t][/][*][\n][\t][ ][*][ ]Use[ ]default[ ]ctefx\.bin[ ]if[^*]*\([*]\+[^/*][^*]*\)*[*][/]' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]struct[ ]hda_verb[ ]sbz_init_verbs\[\][ ]=' sound/pci/hda/patch_ca0132.c + accept '\([ ]*:functions:[ ]\)\?firmware_request_\(nowarn\|cache\)\([(][)]\)\?' Documentation/driver-api/firmware/request_firmware.rst + accept 'this[ ]can[ ]be[ ]done[ ]with[ ]firmware_request_cache[(][)][ ]' Documentation/driver-api/firmware/request_firmware.rst + accept '[ ]*[.][.][.][\n][ ]*9[ ]*176[ ]*0[ ]*1[ ]*186[ 0-9\n]*' Documentation/vm/zsmalloc.rst + defsnc '\.Lmorus1280_\(const\|counter\):' arch/x86/crypto/morus1280-avx2-asm.S + defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]\(\(des3_ede\|bf\)_cbc\|tf_xts\|serpent\|tnepres\|serpent_xts\|speck128\|speck128_xts\|speck64_xts\|cast6_xts\|aes\|aes_cbc\|aes_xts\|aes_ctr_rfc3686\|tea\|xtea\|anubis\|anubis_cbc\|xeta\|camellia_cbc\|camellia_xts\|salsa20_stream\|chacha20\|cts_mode\)_tv_template\[\][ ]=' crypto/testmgr.h + accept '[\t ]*mechanism[ ]is[ ]request_firmware_direct[(][)][.]' drivers/base/firmware_loader/Kconfig + accept '[ ][*][ ]request_firmware[(][)][ ]-[ ]send[ ]firmware[ ]request' drivers/base/firmware_loader/main.c + accept 'request_firmware[(]const[ ]struct[ ]firmware[ ][*][*]firmware_p[,]' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]firmware_request_nowarn[(][)][ ]-[ ]request[ ]for[ ]an[ ]optional[ ]fw[ ]module' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]This[ ]function[ ]is[ ]similar[ ]in[ ]behaviour[ ]to[ ]request_firmware[(][)][,]' drivers/base/firmware_loader/main.c + accept 'int[ ]firmware_request_nowarn[(]const[ ]struct[ ]firmware[ ][*][*]firmware[,]' drivers/base/firmware_loader/main.c + accept '[\t]*ret[ ]=[ ]_request_firmware[(]firmware[,][ ]name[,][ ]device' drivers/base/firmware_loader/main.c + accept 'EXPORT_SYMBOL_GPL[(]firmware_request_\(nowarn\|cache\)[)]' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]request_firmware_direct[(][)][ ]-[ ]load[ ]firmware[ ]directly' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]firmware_request_cache[(][)][ ]-[ ]cache[ ]firmware[ ]for[ ]suspend' drivers/base/firmware_loader/main.c + accept 'int[ ]firmware_request_cache[(]struct[ ]device[ ][*]device[,]' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]request_firmware_into_buf[(][)][ ]-[ ]load[ ]firmware[ ]into[ ]a[ ]previously[ ]allocated[ ]buffer' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]request_firmware_nowait[(][)][ ]-[ ]asynchronous[ ]version[ ]of[ ]request_firmware' drivers/base/firmware_loader/main.c + accept '[ ][*][ \t]*Asynchronous[ ]variant[ ]of[ ]request_firmware[(][)][ ]for[ ]user[ ]contexts:' drivers/base/firmware_loader/main.c + accept 'int[\n]request_firmware_nowait[(][\n][\t]struct[ ]module[ ][*]module' drivers/base/firmware_loader/main.c + accept '[\t]INIT_WORK[(][&]fw_work->work[,][ ]request_firmware_work_func[)]' drivers/base/firmware_loader/main.c + defsnc 'static[ ]struct[ ]clk_div_table[ ]nand_div_table\[\][ ]=' drivers/clk/actions/owl-s900.c + defsc 'static[ ]struct[ ]clk_factor_table[ ]sd_factor_table\[\][ ]=' drivers/clk/actions/owl-s900.c + defsnc '[\t][}][ ]id\[\][ ]=' drivers/crypto/caam/ctrl.c + defsc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(ATHUB\|CLK\|DCE\|DF\|FUSE\|GC\|HDP\|MMHUB\|MP[01]\|NBIO\|OSSSYS\|SDMA[01]\|SMUIO\|THM\|UMC\|UVD\|VCE\|XDMA\|RSMU\)_BASE[ ]*=' drivers/gpu/drm/amd/include/vega20_ip_offset.h + defsc 'vegam_power_tune_data_set_array\[POWERTUNE_DEFAULT_SET_MAX\][ ]=' drivers/gpu/drm/amd/powerplay/smumgr/vegam_smumgr.c + defsnc 'gv100_disp_core_mthd_head[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/coregv100.c + defsnc 'gv100_disp_wndw_mthd_base[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/wndwgv100.c + defsc 'gf100_grctx_alpha_beta_map\[17\]\[32\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c + defsnc 'gv100_grctx_init_sw_veid_bundle_init_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgv100.c + defsnc 'static[ ]const[ ]struct[ ]dvb_pll_desc[ ]dvb_pll_tda665x_earth_pt1[ ]=' drivers/media/dvb-frontends/dvb-pll.c + defsnc 'static[ ]const[ ]struct[ ]imx258_reg[ ]mode_\(4208x3118\|2104_1560\|1048_780\)_regs\[\][ ]=' drivers/media/i2c/imx258.c + defsc 'static[ ]const[ ]struct[ ]reg_value[ ]ov7251_setting_vga_[369]0fps\[\][ ]=' drivers/media/i2c/ov7251.c + defsnc 'static[ ]const[ ]u8[ ]va1j5jf8007[st]_2[05]mhz_configs\[\]\[2\][ ]=' drivers/media/pci/pt1/pt1.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[59\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsnc 'static[ ]const[ ]int[ ]pfuze3000_sw1a\[\][ ]=' drivers/regulator/pfuze100-regulator.c + accept 'struct[ ]gb_\(fw_download_\(find\|fetch\|release\)\|bootrom_get\)_firmware_request[ ][{]' drivers/staging/greybus/greybus_protocols.h + accept 'int[ ]firmware_request_nowarn[(]const[ ]struct[ ]firmware[ ][*][*]fw' include/linux/firmware.h + accept 'static[ ]inline[ ]int[ ]firmware_request_nowarn[(]const[ ]struct[ ]firmware[ ][*][*]fw' include/linux/firmware.h + accept 'int[ ]firmware_request_cache[(]struct[ ]device[ ][*]device' include/linux/firmware.h + accept '[\t]retval[ ]=[ ]firmware_request_nowarn[(][&]xfw[,][ ]NONFREE_FIRMWARE[,]' include/linux/firmware.h + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1305_reg\[\][ ]=' sound/soc/codecs/rt1305.c + defsnc 'static[ ]char[ ]const[ ][*][ ]const[ ]comp_rat_txt\[\][ ]=' sound/soc/codecs/tscs454.c + accept '[ ]*[{]["]pid["]:21800[,]["]fd["]:5[,]["]prog_id["]:9[,]["]fd_type["]:["]uprobe["][,]["]filename["]:["][/]home[/]yhs[/]a\.out["][,]["]offset["]:1159[}]\]' tools/bpf/bpftool/Documentation/bpftool-perf.rst + accept '[#][ ]a[ ]file[ ]whose[ ]name[ ]is[ ]that[ ]of[ ]the[ ]specified[ ]litmus[ ]test[,][ ]but[ ]with[ ]["]\.out["]' tools/memory-model/scripts/checkalllitmus.sh + accept '[#][ ]with[ ]["]\.out["][ ]appended\.' tools/memory-model/scripts/checkalllitmus.sh + accept 'static[ ]struct[ ]bpf_test[ ]tests\[\][ ]=[ ][{][\n]\([^}][^\n]*[\n][\n]*\)*[}][;]' tools/testing/selftests/bpf/test_verifier.c + # Sources are in cwsr_trap_handler_gfx[89].asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx[89]_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + blobname 'amd[/]sev\.fw' drivers/crypto/ccp/psp-dev.c + blobname 'chipone[/]icn8505-\(%s\|[^.",)]*\)\.fw' drivers/input/touchscreen/chipone_icn8505.c + accept '[\t]*return[ ]firmware_request_cache[(]dev->dev[,][ ]MT7601U_FIRMWARE[)]' drivers/net/wireless/mediatek/mt7601u/mcu.c + + # New in 4.19-rc7. + accept '[\t]*reg[ ]=[ ][<]\(0x\(40\)\?[08][ ]0xd[02][01][0-9a-f]0000[ ]0x0[ ]0x10000[\n\t ]*\)*[>][;]' 'Documentation/devicetree/bindings/crypto/hisilicon,hip07-sec\.txt\|arch/arm64/boot/dts/hisilicon/hip07\.dtsi' + defsnc 'const[ ]u8[ ]sha384_zero_message_hash\[SHA384_DIGEST_SIZE\][ ]=' crypto/sha512_generic.c + defsnc 'const[ ]u8[ ]sha512_zero_message_hash\[SHA512_DIGEST_SIZE\][ ]=' crypto/sha512_generic.c + defsnc 'static[ ]const[ ]char[ ]vmac64_string1\[144\][ ]=' crypto/testmgr.h + defsc 'static[ ]struct[ ]clk_factor_table[ ]lcd_factor_table\[\][ ]=' drivers/clk/actions/owl-s700.c + defsnc 'static[ ]int[ ]avs_map\[\][ ]=' drivers/cpufreq/armada-37xx-cpufreq.c + defsnc 'static[ ]const[ ]u32[ ]a6xx_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a6xx_gpu.c + defsnc '[\t]static[ ]const[ ]uint32_t[ ]off_tbl\[QSEED3_FILTERS\]\[QSEED3_LUT_REGIONS\]\[2\][ ]=' drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c + defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov2680_setting_30fps_\(QUXGA_800_600\|UXGA_1600_1200\)\[\][ ]=' drivers/media/i2c/ov2680.c + defsnc 'static[ ]const[ ]uint8_t[ ]zigzag\[64\][ ]=' drivers/media/platform/vicodec/vicodec-codec.c + defsnc 'static[ ]const[ ]int[ ]quant_table\(_p\)\?\[\][ ]=' drivers/media/platform/vicodec/vicodec-codec.c + defsnc '[\t]static[ ]const[ ]u8[ ]demod_init\[\]\[2\][ ]=' drivers/media/usb/dvb-usb-v2/gl861.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l35_reva_16_patch\[\][ ]=' drivers/mfd/cs47l35-tables.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l85_rev[ac]_\(16\|32\)_patch\[\][ ]=' drivers/mfd/cs47l85-tables.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l90_reva_16_patch\[\][ ]=' drivers/mfd/cs47l90-tables.c + defsnc 'static[ ]const[ ]u16[ ]rtl8366rb_init_jam_\(ver_[0123]\|f5d8235\)\[\][ ]=' drivers/net/dsa/rtl8366rb.c + defsnc '[\t]static[ ]const[ ]int[ ]mt76x0_tx_pwr_ch_list\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt76x0/phy.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]madera_pin_single_group_pins\[\][ ]=' drivers/pinctrl/cirrus/pinctrl-madera-core.c + defsnc 'static[ ]const[ ]int[ ]adp5061_vmax\[36\][ ]=' drivers/power/supply/adp5061.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]sw2_sw4_val_tbl\[\][ ]=' drivers/regulator/cpcap-regulator.c + defsnc '[}][ ]segdist_codes\[\][ ]=' drivers/slimbus/stream.c + accept '#define[ ]PIOLED_GAMMA[\t]["]\([0234][ ]\|["][ ][\\][\n\t ]*["]\)*["]' drivers/staging/fbtft/fbtft_device.c + defsnc 'static[ ]const[ ]struct[ ]cp210x_rate[ ]cp210x_an205_table1\[\][ ]=' drivers/usb/serial/cp210x.c + defsnc 'static[ ]const[ ]u8[ ]\(precedence\|diffserv[843]\|besteffort\)\[\][ ]=' net/sched/sch_cake.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5682_reg\[\][ ]=' sound/soc/codecs/rt5682.c + defsnc 'static[ ]struct[ ]hda_verb[ ]ca0132_init_verbs1\[\][ ]=' sound/pci/hda/patch_ca0132.c + blobname 'imx[/]sdma[/]sdma-imx31\.bin' arch/arm/boot/dts/imx31.dtsi + blobname 'imx[/]sdma[/]sdma-imx6q\.bin' arch/arm/boot/dts/imx6sll.dtsi + blobname 'mediatek[/]mt7622pr2h\.bin' drivers/bluetooth/btmtkuart.c + blobname 'qca[/]crnv%02x\.bin' drivers/bluetooth/btqca.c + blobname 'rtl_bt[/]rtl8723[bd]s_fw\.bin' drivers/bluetooth/btrtl.c + blobname '%s\(-%s\)\?\.bin' drivers/bluetooth/btrtl.c + blobname 'cf-fsi-fw\.bin' drivers/fsi/fsi-master-ast-cf.c + blobname 'amdgpu[/]\(bonaire\|hawaii\)_\(k_\)\?smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\)_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c + blobname 'amdgpu[/]%s_smc\.bin' 'drivers/gpu/drm/amd/amdgpu/[cs]i_dpm\.c' + blobname 'amdgpu[/]si58_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c + blobname 'a630_\(sqe\.fw\|gmu\.bin\)' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'qcom[/]venus-5\.2[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c + blobname 'mellanox[/]mlxsw_spectrum-\(["][ ]__stringify[(]MLXSW_SP1_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'wil6436\(_ftm\)\?\.fw' drivers/net/wireless/ath/wil6210/wil6210.h + blobna '[/][*][ ]brcmfmac436\(02\|6b\)-pcie\.\(ap\.\)\?bin[ ]from[ ]linux-firmware\.git[ ]commit[ ][0-9a-f]*[ ][*][/]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c + blobname 'mediatek[/]mt7610u\.bin' drivers/net/wireless/mediatek/mt76/mt76x0/usb.h + blobname 'mediatek[/]mt7662u\(_rom_patch\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt76x2.h + blobname 'gsl3680-chuwi-vi10\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-connect-tablet9\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl3692-cube-knote-i1101\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-onda-v820w-32g\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl3676-onda-v891w-v3\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'keystone-dsp%d-fw' drivers/remoteproc/keystone_remoteproc.c + blobname 'mba\.mbn' drivers/remoteproc/qcom_q6v5_pil.c + blobname 'IPQ8074[/]q6_fw\.mdt' drivers/remoteproc/qcom_q6v5_wcss.c + blobname '%s-%s-%s\.bin' sound/soc/codecs/wm_adsp.c + accept '[\t]*rc[ ]=[ ]wil_request_firmware[(]wil[,][ ]board_file[,][ ]true[)][;]' drivers/net/wireless/ath/wil6210/main.c + blobna '[ ]\(Important[ ]Notes\|Obtaining[ ]and[ ]Creating\)[^\n]*\([\n]#\([\n]#\([\n]#[ ]*For[ ]the\)\?\)\?[ ][^\n]*\)\+' Documentation/sound/cards/multisound.sh + + # New in 4.20 up to -rc6. + initnc '\.Lcts_permute_table:' arch/arm64/crypto/aes-modes.S + defsnc '[\t]static[ ]const[ ]unsigned[ ]char[ ]default_colors\[\][ ]__initconst[ ]=' arch/powerpc/kernel/prom_init.c + defsc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]aes_lrw_tv_template\[\][ ]=' crypto/testmgr.h + blobname 'rtl_bt[/]rtl8822cu_fw\.bin' drivers/bluetooth/btrtl.c + blobname 'amdgpu[/]\(picasso\|raven2\)_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]\(vega20\|%s\)_sos\.bin' drivers/gpu/drm/amd/amdgpu/psp_v11_0.c + blobname 'amdgpu[/]raven_dmcu\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + blobname 'i915[/]icl_dmc_ver1_07\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc 'static[ ]const[ ]struct[ ]vadc_map_pt[ ]adcmap_100k_104ef_104fb_1875_vref\[\][ ]=' drivers/iio/adc/qcom-vadc-common.c + defsc 'static[ ]const[ ]struct[ ]reg_8[ ]imx274_start_1\[\][ ]=' drivers/media/i2c/imx274.c + defsnc 'static[ ]const[ ]struct[ ]imx319_reg[ ]\(imx319_global\|mode_\(3264x2448\|3280x2464\|1936x1096\|1920x1080\|1640x\(1232\|922\)\|1296x736\|1280x720\)\)_regs\[\][ ]=' drivers/media/i2c/imx319.c + defsnc 'static[ ]const[ ]struct[ ]imx355_reg[ ]\(imx355_global\|mode_\(326[48]x2448\|3280x2464\|19\(40\|36\)x1096\|192[40]x1080\|1640x\(1232\|922\)\|1\(300\|296\)x736\|128[40]x720\|820x616\)\)_regs\[\][ ]=' drivers/media/i2c/imx355.c + blobname 'lantiq[/]xrx200_phy\(22f\|11g\)_a\(14\|2[21]\)\.bin' drivers/net/dsa/lantiq_gswip.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[60\]' drivers/net/ethernet/qlogic/qed/qed_hsi.h + blobname 'mscc_vsc8584_revb_int8051_fb48\.bin' drivers/net/phy/mscc.c + blobname 'mscc_vsc8574_revb_int8051_29e8\.bin' drivers/net/phy/mscc.c + defsnc '[\t]const[ ]struct[ ]reg_val[ ]\(init_eee\|pre_init1\)\[\][ ]=' drivers/net/phy/mscc.c + defsnc '[\t][}][ ]chan_map\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c + blobname 'mediatek[/]mt76[15]0e\.bin' drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c + defsc 'static[ ]const[ ]struct[ ]pre_pll_config[ ]pre_pll_cfg_table\[\][ ]=' drivers/phy/rockchip/phy-rockhip-inno-hdmi.c + defsc 'static[ ]const[ ]struct[ ]post_pll_config[ ]post_pll_cfg_table\[\][ ]=' drivers/phy/rockchip/phy-rockhip-inno-hdmi.c + defsc 'static[ ]const[ ]struct[ ]phy_config[ ]rk3[23]28_phy_cfg\[\][ ]=' drivers/phy/rockchip/phy-rockhip-inno-hdmi.c + blobname 'gsl3676-onda-v80-plus-v3\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-trekstor-primebook-c11\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-trekstor-primetab-t13b\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'cdsp\.mdt' drivers/remoteproc/qcom_q6v5_pas.c + defsnc '[\t]unsigned[ ]char[ ]inq\[36\][ ]=' drivers/scsi/myrb.c + defsnc 'static[ ]const[ ]u8[ ]\(non_\)\?intra_quantization_matrix_default\[64\][ ]=' drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c + blobname 'ctefx-desktop\.bin' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]lpf[123]_default_tap\[\][ ]=' sound/soc/meson/axg-pdm.c + blobname 'eboard\.bin' 'drivers/net/wireless/ath/ath10k/\(hw\.h\|core\.c\)' + blobname 'iwlwifi-\(Qu\(Qnj\)\?-b0-hr-b0\|su-z0\|Qu-b0-jf-b0\)-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c + blobname 'modem\.b%02d' drivers/remoteproc/qcom_q6v5_mss.c + # New in 4.20-rc7. + blobname 'amdgpu[/]polaris1[01]_k2_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'amdgpu[/]polaris12_k_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + + # New in 5.0-rc5. + defsnc '__visible[ ]const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]__cacheline_aligned[ ]=' crypto/aes_generic.c + defsnc 'static[ ]const[ ]u8[ ]Tau\[64\][ ]=' crypto/streebog_generic.c + defsnc 'static[ ]const[ ]u8[ ]Pi\[256\][ ]=' crypto/streebog_generic.c + defsnc 'static[ ]const[ ]unsigned[ ]long[ ]long[ ]Ax\[8\]\[256\][ ]=' crypto/streebog_generic.c + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]hmac_streebog\(256\|512\)_tv_template\[\][ ]=' crypto/testmgr.h + defsc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]xchacha\(20\|12\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]profile_mode_setting[ ]smu7_profiling\[7\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c + defsnc 'static[ ]const[ ]uint32_t[ ]vpp_filter_coefs_bicubic\[\][ ]=' drivers/gpu/drm/meson/meson_vpp.c + defsc 'static[ ]const[ ]unsigned[ ]int[ ]a\(200\|220\|225\)_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a2xx_gpu.c + defsc 'static[ ]const[ ]u32[ ]a6xx_\(ps_cluster_rac\|vbif_registers\|gmu_[gc]x_registers\)\[\][ ]=' drivers/gpu/drm/msm/adreno/a6xx_gpu-state.h + defsc 'static[ ]const[ ]struct[ ]cmd_set[ ]qcom_2k_panel_magic_cmds\[\][ ]=' drivers/gpu/drm/panel/panel-truly-nt35597.c + defsnc 'static[ ]const[ ]struct[ ]dw_hdmi_mpll_config[ ]sun50i_h6_mpll_cfg\[\][ ]=' drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c + defsnc 'static[ ]const[ ]struct[ ]dw_hdmi_curr_ctrl[ ]sun50i_h6_cur_ctr\[\][ ]=' drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c + defsnc '[\t]mipi_dbi_command[(]mipi[,][ ]HX8357D_SETGAMMA[,]' drivers/gpu/drm/tinydrm/hx8357d.c + defsnc 'static[ ]const[ ]int[ ]rm3100_samp_rates\[RM3100_SAMP_NUM\]\[3\][ ]=' drivers/iio/magnetometer/rm3100-core.c + defsc 'static[ ]const[ ]struct[ ]reg_8[ ]mode_\(4096x2304\|1920x1080\|table_common\)\[\][ ]=' drivers/media/i2c/imx214.c + defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5640_setting_\(VGA_640_480\|XGA_1024_768\|QVGA_320_240\|QCIF_176_144\|NTSC_720_480\|PAL_720_576\|720P_1280_720\|1080P_1920_1080\|QSXGA_2592_1944\)\[\][ ]=' drivers/media/i2c/ov5640.c + defsnc 'static[ ]const[ ]u32[ ]aspeed_video_jpeg_quant\[ASPEED_VIDEO_JPEG_QUANT_SIZE\][ ]=' drivers/media/platform/aspeed-video.c + defsnc 'static[ ]const[ ]u32[ ]aspeed_video_jpeg_dct\[ASPEED_VIDEO_JPEG_NUM_QUALITIES\][\n\t ]*\[ASPEED_VIDEO_JPEG_DCT_SIZE\][ ]=' drivers/media/platform/aspeed-video.c + defsnc '[\t]static[ ]u8[ ]rss_key\[AQ_CFG_RSS_HASHKEY_SIZE\][ ]=' drivers/net/ethernet/aquantia/atlantic/aq_nic.c + defsnc 'static[ ]const[ ]u16[ ]mlxsw_sp_acl_bf_crc_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c + defsc '[\t]*ipu3_css_bds_configs\[IMGU_BDS_CONFIG_LEN\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]s16[ ]ipu3_css_gdc_lut\[4\]\[256\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]struct[ ]ipu3_uapi_bnr_static_config[ ]ipu3_css_bnr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]struct[ ]ipu3_uapi_gamma_corr_lut[ ]ipu3_css_gamma_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc '[\t]*ipu3_css_tcc_gain_pcwl_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]struct[ ]imgu_abi_anr_config[ ]ipu3_css_anr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]\(luma\|chroma\)_\(q\|ac\)_table\[\][ ]=' drivers/staging/media/rockchip/vpu/rockchip_vpu_jpeg.c + defsc 'static[ ]const[ ]unsigned[ ]char[ ]rockchip_vpu_jpeg_header\[JPEG_HEADER_SIZE\][ ]=' drivers/staging/media/rockchip/vpu/rockchip_vpu_jpeg.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]fontdata_ter16x32\[FONTDATAMAX\][ ]=' lib/fonts/font_ter16x32.c + accept '[\t][\t]\([{][ ]timeout\|["]tests[/]\|[!][ ]grep[ ]-Eq\)[^\n]*[ ]["]tests\/\$[{]testname[}]\.vg\.out["]' tools/lib/lockdep/run_tests.sh + blobname 'amdgpu[/]\(%s\|picasso\)_rlc\(_am4\)\?\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + blobname 'amdgpu[/]\(%s\|vega20\)_ta\.bin' drivers/gpu/drm/amd/amdgpu/psp_v11_0.c + blobname 'yamato_\(pm4\|pfp\)\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'leia_\(pm4\|pfp\)_470\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'nvidia[/]tegra194[/]vic\.bin' drivers/gpu/drm/tegra/vic.c + blobname 'qtn[/]\(fmac\|uboot\)_qsr1000\.img' drivers/net/wireless/quantenna/qtnfmac/qtn_hw_ids.h + accept '\(static[ ]inline[ ]void[ ]\|[\t]*\)pqi_request_firmware_feature[(]' drivers/scsi/smartpqi/smartpqi_init.c + blobname 'intel[/]ipu3-fw\.bin' drivers/staging/media/ipu3/ipu3-css-fw.h + blobname 'intel[/]dsp_fw_icl\.bin' sound/soc/intel/common/soc-acpi-intel-icl-match.c + # SOF stands for Sound Open Firmware, and it is Free Software. + # blobname '\(sof\|reef\)-icl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-icl-match.c + blobname 'iwl-dbg-tlv\.ini' drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c + accept '\(static[ ]int[ ]\|[\t]*\)brcmf_fw_request_firmware[(]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c + blobna 'snprintf[(]version[,][ ]ETHTOOL_FWVERS_LEN[,][ ]["][ ]storm[ ]%d\.%d\.%d\.%d["]\([,][ \t\n]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)\+[)]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c + # In case the command matched by the above is changed and it then + # fails to match, catch the snprintf format string, since the FW + # macros will be caught and dropped by other much earlier patterns. + blobname '[ ]storm[ ]%d\.%d\.%d\.%d' drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c + # These are probably older, we did not check for .ri and .tplg before. + # blobname 'intel[/]\(sof\|reef\)-apl\(\.ri\|-\(rt298\|da7219\|pcm512x\|wm8804\|tdf8532\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-bxt-match.c + # blobname 'intel[/]\(sof\|reef\)-byt\(\.ri\|-\(rt5670\|rt5640\|rt5651\|da7213\|rt5645\|max98090\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-byt-match.c + # blobname 'intel[/]\(sof\|reef\)-cht\(\.ri\|-\(rt5645\|rt5670\|max98090\|nau8824\|da7213\|es8316\|rt5640\|rt5651\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cht-match.c + # blobname 'intel[/]\(sof\|reef\)-cnl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cnl-match.c + # blobname 'intel[/]\(sof\|reef\)-glk\(\.ri\|-\(alc298\|da7219\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-glk-match.c + # blobname 'intel[/]\(sof\|reef\)-hda-generic\.tplg' sound/soc/intel/common/soc-acpi-intel-hda-match.c + # blobname 'intel[/]\(sof\|reef\)-hsw\(\.ri\|\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c + # blobname 'intel[/]\(sof\|reef\)-bdw\(\.ri\|-\(rt286\|rt5677\|rt5640\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c + accept '[\t][\t]pr_err[(]["]%s:[ ]request_firmware[ ]error' drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c + + # New in 5.0.7. + accept '[\t]*[/]bin[/]bash[ ]["]tests[/][$][{]testname[}]\.sh["][ ][<][ ]["]tests[/][$][{]testname[}]\.vg\.out["]' tools/lib/lockdep/run_tests.sh + + # New in 5.1-rc6. + initnc '.Lbyteshift_table:' 'arch/arm/crypto/crct10dif-\(ce-core\|pcl-asm_64\)\.S' + defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|256\|512\)_aes_cbc_tv_temp\[\][ ]=' crypto/testmgr.h + defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|224\|256\|384\|512\)_des_cbc_tv_temp\[\][ ]=' crypto/testmgr.h + defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|224\|256\|384\|512\)_des3_ede_cbc_tv_temp\[\][ ]=' crypto/testmgr.h + defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]\(aes_\(gcm_rfc4106\|ccm_rfc4309\)\|rfc7539\(\|esp\)\)_tv_template\[\][ ]=' crypto/testmgr.h + initnc '\t\.entries[ ]=' drivers/clk/tegra/clk-tegra124-dfll-fcpu.c + accept '[ ][ ]*gf100_gr_init_fw[(]gr->fecs\.falcon[,][ ][&]gr->fuc409c[,][ ][&]gr->fuc409d[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[ ][ ]*gf100_gr_init_fw[(]gr->gpccs\.falcon[,][ ][&]gr->fuc41ac[,][ ][&]gr->fuc41ad[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + defsnc 'static[ ]const[ ]struct[ ]kingdisplay_panel_cmd[ ]init_code\[\][ ]=' drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c + defsnc 'static[ ]const[ ]struct[ ]ov8856_reg[ ]mode_\(3280x2464\|1640x1232\)_regs\[\][ ]=' drivers/media/i2c/ov8856.c + defsnc 'static[ ]const[ ]u8[ ]hclge_hash_key\[\][ ]=' drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c + defsnc 'static[ ]const[ ]u8[ ]hclgevf_hash_key\[\][ ]=' drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c + defsnc 'static[ ]const[ ]u32[ ]max77651_sbb1_regulator_volt_table\[\][ ]=' drivers/regulator/max77650-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]pv88090_buck1_limits\[\][ ]=' drivers/regulator/pv88090-regulator.c + defsc '\t*imgu_css_bds_configs\[IMGU_BDS_CONFIG_LEN\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]s16[ ]imgu_css_gdc_lut\[4\]\[256\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsc 'const[ ]struct[ ]ipu3_uapi_bnr_static_config[ ]imgu_css_bnr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]struct[ ]ipu3_uapi_gamma_corr_lut[ ]imgu_css_gamma_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc '\t*imgu_css_tcc_gain_pcwl_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'const[ ]struct[ ]imgu_abi_anr_config[ ]imgu_css_anr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c + defsnc 'static[ ]struct[ ]channel_list[ ]channel_array\[\][ ]=' drivers/staging/rtl8192e/dot11d.c + accept '\t*sprintf[(]fname[,][ ]["]hbm\.%d\.out["]' samples/bpf/hbm.c + accept '\tsnd_card_ro_proc_new[(]hdspm-[>]card[,][ ]["]ports\.out["]' sound/pci/rme9652/hdspm.c + defsnc 'static[ ]const[ ]struct[ ]cs35l36_pll_config[ ]cs35l36_pll_sysclk\[\][ ]=' sound/soc/codecs/cs35l36.c + defsnc 'static[ ]const[ ]u8[ ]table_msbc_silence\[SCO_PACKET_180\][ ]=' sound/soc/mediatek/common/mtk-btcvsd.c + accept '[#][ ]that[ ]of[ ]the[ ]specified[ ]litmus[ ]test[,][ ]but[ ]with[ ]["]\.out["][ ]appended' tools/memory-model/scripts/checkalllitmus.sh + accept '\t\.data[ ]=[ ][{]\([\n\t ]*0\(\|x08\|x06\|x10\)*[,]\)*\([ ]0x\(bf\|48\|d6\|43\)[,]\)*[ ]0xd6[,]' tools/testing/selftests/bpf/verifier/ld_abs.c + blobname 'habanalabs[/]goya[/]goya-\(u-boot\.bin\|fit\.itb\)' drivers/misc/habanalabs/goya/goya.c + blobname 'mrvl[/]sd8977_uapsta\.bin' 'drivers/bluetooth/btmrvl_sdio\.c\|drivers/net/wireless/marvell/mwifiex/sdio\.h' + blobname 'mediatek[/]mt766[38]pr2h\.bin' drivers/bluetooth/btmtkuart.c + blobname 'mt76\(03\|28\)_e[12]\.bin' drivers/net/wireless/mediatek/mt76/mt7603/mt7603.h + blobname 'gsl3676-chuwi-hi8-air\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-chuwi-hi10-air\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl3692-pov-mobii-wintab-p1006w-v10\.fw' drivers/platform/x86/touchscreen_dmi.c + # blobname '\(sof\|reef\)-apl\(\.ri\|-\(rt298\|da7219\|pcm512x\|wm8804\|tdf8532\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-bxt-match.c + # blobname '\(sof\|reef\)-byt\(\.ri\|-\(rt5670\|rt5640\|rt5651\|da7213\|es8316\|rt5645\|max98090\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-byt-match.c + # blobname '\(sof\|reef\)-cht\(\.ri\|-\(rt5645\|rt5670\|rt5645\|max98090\|nau8824\|da7213\|es8316\|rt5640\|rt5651\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cht-match.c + # blobname '\(sof\|reef\)-cnl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cnl-match.c + # blobname '\(sof\|reef\)-glk\(\.ri\|-\(alc298\|da7219\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-glk-match.c + # blobname '\(sof\|reef\)-hda-generic\.tplg' sound/soc/intel/common/soc-acpi-intel-hda-match.c + # blobname '\(sof\|reef\)-hsw\(\.ri\|\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c + # blobname '\(sof\|reef\)-bdw\(\.ri\|-\(rt286\|rt5677\|rt5640\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c + # blobname '\(sof\|reef\)-icl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-icl-match.c + blobna '[/][*][ ]brcmfmac4366c-pcie\.\(ap\.\)\?bin[ ]from[ ]linux-firmware\.git[ ]commit[ ][0-9a-f]*[ ][*][/]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c + blobname 'iwlwifi-[^ ]*-[ab]0-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c + blobname 'iwlwifi-\(\(QuZ-a0-hr\|QuQnj-b0-jf\|so-a0-\(jf\|hr\)\)-b0\|\(cc\|\(so\|ty\)-a0-gf\)-a0\)-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c + + # New in 5.1.2, 5.0.16, 4.19.43, 4.14.119, and 4.9.176. + accept '[ ][ ]the[ ]CPUID[ ]to[ ]the[ ]guest[.][ ]If[ ]the[ ]host[ ]has[ ]updated[ ]microcode[ ]the[ ]protection' 'Documentation/\(admin-guide/\)\?hw-vuln/mds\.rst' + accept 'instruction[ ]in[ ]combination[ ]with[ ]a[ ]microcode[ ]update[.][ ]The[ ]microcode[ ]clears' Documentation/x86/mds.rst + accept '[ \t]*scenarios[ ]where[ ]the[ ]host[ ]has[ ]the[ ]updated[ ]microcode[ ]but' Documentation/x86/mds.rst + + # New in 5.2. + blobname 'nvidia[/]%s[/]%s\(-%d\)\?\.bin' drivers/gpu/drm/nouveau/nvkm/core/firmware.c + accept '\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\([\n]\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\)*' Documentation/packing.txt + blobname 'amd-ucode[/]microcode_amd[*]\.bin' Documentation/x86/microcode.rst + accept '[ ][ ]CONFIG_EXTRA_FIRMWARE=["][/][*][(]DEBLOBBED[)][*][/][ ][/][*][(]DEBLOBBED[)][*][/]["]' Documentation/x86/microcode.rst + blobname 'imx[/]sdma[/]sdma-imx7d\.bin' arch/arm64/boot/dts/freescale/imx8mq.dtsi + # Still very suspicious, but it doesn't look like code, and the + # license, if it can be trusted, makes it acceptable for magic + # data numbers. + defsc 'static[ ]uint32_t[ ]onyx_images\[\]\[PCXU_IMAGE_SIZE[/]sizeof[(]uint32_t[)]\][ ]__ro_after_init[ ]=' arch/parisc/kernel/perf_images.h + defsc 'static[ ]uint32_t[ ]cuda_images\[\]\[PCXW_IMAGE_SIZE[/]sizeof[(]uint32_t[)]\][ ]__ro_after_init[ ]=' arch/parisc/kernel/perf_images.h + defsc '[\t]struct[ ]prng_parm[ ]prng[ ]=' arch/s390/boot/kaslr.c + defsc '[\t]u8[ ][*]pg[,][ ]pblock\[80\][ ]=' arch/s390/crypto/prng.c + defsnc '__visible[ ]const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]____cacheline_aligned[ ]=' crypto/aes_generic.c + blobname 'mrvl[/]sd8987_uapsta\.bin' 'drivers/\(bluetooth/btmrvl_sdio\.c\|net/wireless/marvell/mwifiex/sdio\.h\)' + blobname 'mediatek[/]mt766[38]pr2h\.bin' drivers/bluetooth/btmtksdio.c + blobname 'amdgpu[/]%s_kicker_rlc\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + defsnc 'static[ ]struct[ ]profile_mode_setting[ ]smu7_profiling\[7\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c + blobname 'a630_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c + accept '[\t]dsi_generic_write_seq[(]dsi[,][ ]ST7703_CMD_SET\(GIP[12]\|GAMMA\)\([, \t\n]*0x[0-9A-F][0-9A-F]\)*[)][;]' drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c + blobname 'intel[/]%s' drivers/hid/intel-ish-hid/ishtp-fw-loader.c + defsnc 'const[ ]unsigned[ ]int[ ]wm831x_isinkv_values\[WM831X_ISINK_MAX_ISEL[ ][+][ ]1\][ ]=' drivers/mfd/wm831x-core.c + # File name is supplied through ethtool. + accept '[\t]*status[ ]=[ ]request_firmware[(][&]ddp_config[,][ ]profile_name[,]' drivers/net/ethernet/intel/i40e/i40e_ddp.c + defsnc 'static[ ]const[ ]u16[ ]iwl_\(ext\|uhb\)_nvm_channels\[\][ ]=' drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c + blobname 'brcmfmac43012-sdio' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'mt7615_\(cr4\|n9\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3853\[\][ ]=' drivers/net/wireless/ralink/rt2x00/rt2800lib.c + accept '[\t]fw->firmware[ ]=[ ]firmware[;]' drivers/net/wireless/realtek/rtw88/main.c + defsnc 'static[ ]const[ ]u32[ ]db_invert_table\[12\]\[8\][ ]=' drivers/net/wireless/realtek/rtw88/phy.c + blobname 'rtw88[/]rtw8822b_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8822b.c + defsnc 'static[ ]const[ ]u32[ ]rtw8822b_\(mac\|agc\|bb\(\|_pg_type[25]\)\|rf_[ab]\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc 'static[ ]const[ ]u8[ ]rtw8822b_txpwr_lmt_type[25]\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + blobname 'rtw88[/]rtw8822c_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8822c.c + defsnc 'static[ ]const[ ]u32[ ]rtw8822c_\(agc\|bb\(\|_pg_type0\)\|rf_[ab]\|array_mp_cal_init\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c_table.c + defsnc 'static[ ]const[ ]u8[ ]rtw8822c_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c_table.c + blobname 'gsl3692-jumper-ezpad-6-pro-b\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-myria-my8307\.fw' drivers/platform/x86/touchscreen_dmi.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]max77651_sbb1_regulator_volt_table\[\][ ]=' drivers/regulator/max77650-regulator.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]isink_cur\[\][ ]=' drivers/regulator/wm8350-regulator.c + blobname 'ql2800_fw\.bin' drivers/scsi/qla2xxx/qla_os.c + accept 'static[ ]const[ ]struct[ ]tegra_xusb_soc[ ]tegra186_soc[ ]=[ ][{][\n][\t][.]firmware[ ]=' drivers/usb/host/xhci-tegra.c + blobname 'nvidia[/]tegra186[/]xusb\.bin' drivers/usb/host/xhci-tegra.c + blobname 'ccg_\(boot\|primary\|secondary\)\.cyacd' drivers/usb/typec/ucsi/ucsi_ccg.c + defsnc 'static[ ]const[ ]struct[ ]utf8data[ ]utf8nfdi\(cf\|\)data\[\][ ]=' fs/unicode/utf8data.h_shipped + defsc 'static[ ]const[ ]unsigned[ ]char[ ]utf8data\[64256\][ ]=' fs/unicode/utf8data.h_shipped + accept '[\t]*\.sof_fw_filename[ ]=[ ]["]\(intel[/]\)\?\(sof\|reef\)-[^" ;]*\.ri["]' sound/soc/intel/common/soc-acpi-intel-'\(b[xy]t\|cht\|cnl\|icl\|glk\|hda\|hsw-bdw\|kbl\|skl\)-match\.c' + accept '[\t]*\.sof_tplg_filename[ ]=[ ]["]\(intel[/]\)\?\(sof\|reef\)-[^" ;]*\.tplg["]' sound/soc/intel/common/soc-acpi-intel-'\(b[xy]t\|cht\|cnl\|icl\|glk\|hda\|hsw-bdw\|kbl\|skl\)-match\.c' + accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n\t ]*["]%s-idisp\.tplg["][,][ ]split_ext[)]' sound/soc/sof/intel/hda.c + accept '[\t]ret[ ]=[ ]request_firmware[(][&]plat_data->fw[,][ ]fw_filename[,][ ]sdev->dev[)]' sound/soc/sof/loader.c + accept '[\t]*\.\(nocodec\|sof\)_fw_filename[ ]=[ ]["]\(sof\|reef\)-[^" ;]*\.ri["]' sound/soc/sof/'\(sof\|reef\)-\(acpi\|pci\)-dev\.c' + accept '[\t]*\.\(nocodec\|sof\)_tplg_filename[ ]=[ ]["]\(sof\|reef\)-[^" ;]*\.tplg["]' sound/soc/sof/'\(sof\|reef\)-\(acpi\|pci\)-dev\.c' + accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]file[,][ ]sdev->dev[)]' sound/soc/sof/topology.c + # blobname '\(sof\|reef\)-byt-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-byt-match.c + # blobname '\(sof\|reef\)-cht-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-cht-match.c + # blobname '\(sof\|reef\)-cml-rt5682\(-max98357a\)\?\.tplg' sound/soc/intel/common/soc-acpi-intel-cnl-match.c + # blobname '\(sof\|reef\)-glk-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-glk-match.c + # blobname '\(sof\|reef\)-icl-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-icl-match.c + # blobname '%s-idisp\.tplg' sound/soc/sof/intel/hda.c + # blobname '\(sof\|reef\)-\(hsw\|bdw\|byt\|cht\)\(\.ri\|\(-nocodec\)\?\.tplg\)' sound/soc/sof/'\(sof\|reef\)-acpi-dev\.c' + # blobname '\(sof\|reef\)-\(apl\|glk\|cnl\|icl\|skl\|kbl\)\(\.ri\|\(-nocodec\)\?\.tplg\)' sound/soc/sof/'\(sof\|reef\)-pci-dev\.c' + + # New in 5.2.1, 5.1.18, and 4.19.58. + accept '[ ][ ][ ]the[ ]latest[ ]updated[ ]microcode\.' Documentation/admin-guide/hw-vuln/spectre.rst + + # New in 5.2.3, 5.1.20, and 4.19.61. + defsnc 'static[ ]const[ ]u32[ ]runnable_avg_yN_inv\[\][ ]__maybe_unused[ ]=' kernel/sched/sched-pelt.h + + # New in 5.3. + accept 'int[ ]rtl_fw_request_firmware[(]' drivers/net/ethernet/realtek/r8169_firmware.c + accept '[\t]if[ ][(]rtl_fw_request_firmware[(]' drivers/net/ethernet/realtek/r8169_main.c + defsnc 'static[ ]const[ ]struct[ ]phy_reg[ ]rtl8168d_1_phy_reg_init_0\[\][ ]=' drivers/net/ethernet/realtek/r8169_main.c + defsnc '[ ][ ]const[ ]char[ ]parity\[256\][ ]=' Documentation/driver-api/mtd/nand_ecc.rst + defsc 'static[ ]const[ ]struct[ ]si5341_reg_default[ ]si5341_reg_defaults\[\][ ]=' drivers/clk/clk-si5341.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_\([56789]\|1[012]\)tap_16p_\(upscale\|117\|150\|183\)\[\(45\|54\|63\|72\|81\|9[09]\|108\)\][ ]=' drivers/gpu/drm/amd/display/dc/dcn20/dcn20_dwb_scl.c + defsnc 'const[ ]qp_table[ \t]\+qp_table_4\(2[02]\|44\)_\(8\|1[02]\)bpc_m\(in\|ax\)[ ]=' drivers/gpu/drm/amd/display/dc/dsc/qp_tables.h + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(DCN\|RSMU\|VCN\)_BASE[ \t]\+=' drivers/gpu/drm/amd/include/navi10_ip_offset.h + defsnc 'rdma_dim_prof\[RDMA_DIM_PARAMS_NUM_PROFILES\][ ]=' drivers/infiniband/core/cq.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]applespi_scancodes\[\][ ]=' drivers/input/keyboard/applespi.c + defsc 'const[ ]u32[ ]isc_gamma_table\[GAMMA_MAX[ ][+][ ]1\]\[GAMMA_ENTRIES\][ ]=' drivers/media/platform/atmel/atmel-isc.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l92_reva_\(16\|32\)_patch\[\][ ]=' drivers/mfd/cs47l92-tables.c + defsc 'static[ ]const[ ]unsigned[ ]char[ ]hantro_jpeg_header\[JPEG_HEADER_SIZE\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsnc 'static[ ]const[ ]u8[ ]zigzag\[64\][ ]=' drivers/staging/media/hantro/hantro_mpeg2.c + defsnc 'static[ ]u64[ ]intervals[0124]\[\][ ]__initdata[ ]=' kernel/irq/timings.c + defsnc 'static[ ]struct[ ]etab[ ]Tab\[\][ ]=' lib/reed_solomon/test_rslib.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1011_reg\[\][ ]=' sound/soc/codecs/rt1011.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1308_reg\[\][ ]=' sound/soc/codecs/rt1308.c + for n in ptwrite cbr mwait pwre exstop pwrx context_switches; do + defsnc "$n"'_file[ \t]*=[ ]open_output_file[(]["]'"$n"'_table\.bin["][)]' tools/perf/scripts/python/export-to-postgresql.py + done + blobname 'nvm_00440302\.bin' Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt + blobname 'crnv21\.bin' Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt + accept 'bpp\([ ]\+[0-9]\+x[0-9]\+\)*[\n][ =]*\([\n][ ]*[0-9]\+\([ ]*0x[0-9A-F]*\)*\)*' Documentation/fb/matroxfb.rst + accept '[ ][ ]pct[ ]confidence[ ]steady[ ]dynamic[ ][(]compensation[)]\([\n][ ]*[0-9]\([ ]\+[0123]\)\+\)\+[\n][ ]*[.]*\([\n][ ]*[34][0-9]\([ ]\+[0123]\)\+\)\+' Documentation/thermal/intel_powerclamp.rst + blobname 'amdgpu[/]navi10_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]%s_ta\.bin' drivers/gpu/drm/amd/amdgpu/psp_v11_0.c + blobname 'i915[/]\(["][ ][\\][\n][\t]__stringify[(]KEY##_GUC_FW_\(PREFIX\|MAJOR\|MINOR\|PATCH\)[)][ ]["][^"]*\)\+' drivers/gpu/drm/i915/intel_guc_fw.c + blobname 'a540_\(gpmu\.fw2\|zap\.mdt\)' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'dvb-tuner-si2157-a30-01\.fw' drivers/media/tuners/si2157_priv.h + accept 'static[ ]struct[ ]dvb_usb_device_properties[\n]cxusb_bluebird_\(lgh064f\|dee1601\|lgz201\|dtt7579\|nano2_needsfirmware\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/cxusb.c + blobname 'v4l-pvrusb2-160xxx-01\.fw' drivers/media/usb/pvrusb2/pvrusb2-devattr.c + blobname 'gsl1680-chuwi-hi10plus\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname '%s%pUL%s["][,][\n \t]*["]intel[/]dsp_fw_["][,][ ]guid[,][ ]["]\.bin' sound/soc/intel/skylake/skl-sst.c + blobname 'qcom[/]db845c[/]\(adsp\|cdsp\)\.mdt' arch/arm64/boot/dts/qcom/sdm845-db845c.dts + accept '[\t]rpi->firmware[ ]=[ ]' drivers/clk/bcm/clk-raspberrypi.c + blobname 'display_hdcp_srm\.bin' drivers/gpu/drm/drm_hdcp.c + accept '[ ][*][ ]SRM[ ]should[ ]be[ ]presented[ ]in[ ]the[ ]name[ ]of[ ]["][^"]*["]' drivers/gpu/drm/drm_hdcp.c + accept '[\t]s6e63m0_dcs_write_seq_static[(]ctx[,][ ]0xb[579]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-samsung-s6e63m0.c + # The link to "source" for this and other firmware files in + # LibreELEC meson-firmware is broken, but I tracked it down and + # it's just a binary blob encoded as an array initializer. + blobname 'meson[/]vdec[/]gxl_mpeg12\.bin' drivers/staging/media/meson/vdec/vdec_platform.c + accept '[\t]echo[ ]-n[ ]["]Batched[ ]request_firmware\(_direct\|_nowait\)\?[(]' tools/testing/selftests/firmware/fw_filesystem.sh + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]file_name[,]\([^\n]*[\n]\+[^\n}]\)*return[ ]mlx5_firmware_flash[(]dev[,][ ]fw[,]' drivers/net/ethernet/mellanox/mlx5/core/devlink.c + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlx5_firmware_flash[(]mdev[,][ ]fw[,]' drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c + # This firmware file name is supplied by the user, + # but there's another in the same source file (way above) that is hardcoded. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]firmware[,][ ]\(fw_filename\|file_name\)[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlxsw_sp_firmware_flash[(]mlxsw_sp[,][ ]firmware[,]' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'al5e\(_b\)\?\.fw' drivers/staging/media/allegro-dvt/allegro-core.c + # Sources are in cwsr_trap_handler_gfx10.asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx10_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + blobname 'amdgpu[/]%s_mes\.bin' drivers/gpu/drm/amd/amdgpu/mes_v10_1.c + accept 'static[ ]int[ ]allegro_firmware_request_nowait[(]' drivers/staging/media/allegro-dvt/allegro-core.c + accept '[\t]ret[ ]=[ ]allegro_firmware_request_nowait[(]' drivers/staging/media/allegro-dvt/allegro-core.c + + # New in 5.3.4 and 5.2.19 + defsnc '[\t]static[ ]const[ ]struct[ ]hda_alc298_mbxinit[ ]dac_init\[\][ ]=' sound/pci/hda/patch_realtek.c + blobname 'mediatek[/]mt7615_\(cr4\|n9\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + + # WIP: False positives of suspicious extensions followed by anything + # other than quotes. + accept '\(BIN\|IHEX\)[\t]:=[ ][$][(]patsubst[ ]%\.S[,][ ]%\.bin\(\.ihex\)\?' Documentation/EDID/Makefile + accept '[\t]@rm[ ]-f[ ][*]\.o[ ][*]\.bin\.ihex[ ][*]\.bin[ ]' Documentation/EDID/Makefile + accept '%\.bin\(\.nocrc\|\.ihex\)\?:[\t]%\.[op]' Documentation/EDID/Makefile + accept '%\.crc:[\t]%\.bin\.nocrc' Documentation/EDID/Makefile + accept '[ ]*[(]e\.g\.[ ]support[ ]for[ ]RAM[ ]disks[,][ ]initrd[,][ ]a\.out[,]' Documentation/admin-guide/initrd.rst + accept '[\t]*System\.out\.println' Documentation/admin-guide/java.rst + accept '[\t]*edid[/]1024x768\.bin[,][ ]edid[/]1280x1024\.bin[,]' Documentation/admin-guide/kernel-parameters.txt + accept '[\t]*edid[/]1680x1050\.bin[,][ ]or[ ]edid[/]1920x1080\.bin[,]' Documentation/admin-guide/kernel-parameters.txt + accept '[ ]*disk[ ]=[ ]\[[ ][\'"'"']file:[/]root[/]rhel5\.img[,]' Documentation/ia64/xen.rst + accept '[\t]*[$][(]obj[)][/]vmlinux\.bin\.gz:[ ][$][(]vmlinux\.bin\.all-y[)]' Documentation/kbuild/makefiles.rst + accept 'raw2pnm[ ]-x2560[ ]-y1920[ ]-fNV12[ ][/]tmp[/]frames\.out[ ][/]tmp[/]frames\.out\.ppm' Documentation/media/v4l-drivers/ipu3.rst + accept 'the[ ]file[ ]is[ ]6pack\.bin\.' Documentation/networking/6pack.txt + accept 'CMAGIC[ ]*0x0111[ ]*user[ ]*``include[/]linux[/]a\.out\.h``' 'Documentation/\(process\|translations/\(it_IT\|zh_CN\)\)/magic-number\.rst' + accept '[ ]*[#][ ]\(echo[ ][\'"'"']\|trigger[ ]info:[ ]\)[!]\?hist:\(name=foo:\)\?keys=\(skbaddr\|call_site\)\.hex:' Documentation/trace/histogram.rst + accept '#include[ ][<]\(linux\|uapi[/]asm\)[/]a\.out\.h[>]' 'arch/\(alpha/\(boot/tools/objstrip\.c\|include/asm/a\.out\.h\|kernel/binfmt_loader\.c\)\|x86/ia32/ia32_aout\.c\)' + accept 'targets[ ]:=[ ]vmlinux\.bin[ ]vmlinux\.bin\.gz[ ]' arch/arc/boot/Makefile + accept 'extra-y[ ][+]=[ ]vmlinux\.bin\.\(gz\|lzma\)' arch/arc/boot/Makefile + accept '[$][(]obj[)][/]\(vmlinuz\.bin\(\.gz\|\.lzma\)\?\|uImage\.\(bin\|gz\|lzma\)\):[ ]\([$][(]obj[)][/]\)\?vmlinux\(\.bin\(\.gz\|\.lzma\)\?\)\?[ ]' arch/arc/boot/Makefile + accept '[\t][ ][*][ ]using[ ]flashwriter_nand\.out[,][ ]but' arch/arm/mach-davinci/board-dm644x-evm.c + accept '[\t]fw[ ]=[ ]am200_board\.fw[;]' arch/arm/mach-pxa/am200epd.c + accept '[#][ ]Default[ ]to[ ]vmlinuxz.bin[,][ ]override' arch/c6x/Makefile + accept 'vmlinux\.bin:[ ]vmlinux' 'arch/\(c6x\|ia64\)/Makefile' + accept '[$][(]obj[)][/]vmlinux\.bin:' 'arch/\(c6x\|mips\|nios2\|parisc\|s390\|sh\|x86\)/boot/\(compressed/\)\?Makefile' + accept 'vmlinux\.srec[ ]vmlinux\.bin[ ]zImage[ ]uImage\.bin:[ ]vmlinux' arch/h8300/Makefile + accept '[$][(]obj[)][/]vmlinux\.srec[ ][$][(]obj[)][/]vmlinux\.bin:' arch/h8300/boot/Makefile + accept '[$][(]obj[)][/]uImage\.bin:[ ][$][(]obj[)][/]vmlinux\.bin' arch/h8300/boot/Makefile + accept 'targets[\t]*:=[ ]vmlinux[ ]vmlinux\.bin[ ]vmlinux\.bin\.gz' arch/h8300/boot/compressed/Makefile + accept '[$][(]obj[)][/]\(vmlinux\.bin\(\.[$][(]suffix-y[)]\)\?\|piggy\.o\):\([ ]\([$][(]obj[)][/]\)\?vmlinux\(\.scr\|\.bin\(\.[$][(]suffix-y[)]\)\?\)\?\)*' arch/h8300/boot/compressed/Makefile + accept 'PHONY[ ][+]=[ ]linux\.bin[ ]linux\.bin\.gz[ ]linux\.bin\.ub' arch/microblaze/Makefile + accept 'linux\.bin\.ub[ ]linux\.bin\.gz:[ ]linux\.bin' arch/microblaze/Makefile + accept 'linux\.bin:[ ]vmlinux' arch/microblaze/Makefile + accept 'linux\.bin[ ]linux\.bin\.gz[ ]linux\.bin\.ub:' arch/microblaze/Makefile + accept '[ ]*echo[ ][\'"'"'][ ]*linux.bin.\(gz\|ub\)' arch/microblaze/Makefile + accept 'targets[ ]:=[ ]linux\.bin[ ]linux\.bin\.gz[ ]linux\.bin\.ub' arch/microblaze/boot/Makefile + accept '[$][(]obj[)][/]linux\.bin\(\.ub\|\.gz\)\?:[ ]\([$][(]obj[)][/]\|vm\)\?linux\(\.bin\)\?[ ]' arch/microblaze/boot/Makefile + accept '[\t]*[ ]*DTB[)][ ]appended[ ]to[ ]raw[ ]vmlinux\.bin[ ]or[ ]vmlinuz\.bin\.' arch/mips/Kconfig + accept '[\t]*[ ]*to[ ]vmlinux\.bin\.' arch/mips/Kconfig + accept 'extra-y[ ][+]=[ ]vmlinux\.bin\.\(bz2\|gz\|lzma\|lzo\)' arch/mips/boot/Makefile + accept '[$][(]obj[)][/]\(vmlinux\|uImage\)\(\.\(bin\|bz2\|gz\|lzma\|lzo\)\)\+:[ ][$][(]obj[)][/]vmlinux\.bin[ ]' arch/mips/boot/Makefile + accept '[\t][$][(]call[ ]if_changed[,]cpp_its_S[,]\(gzip\|bzip2\|lzma\|lzo\)[,]vmlinux\.bin\.\(gz\|bz2\|lzma\|lzo\)[)]' arch/mips/boot/Makefile + accept '[$][(]obj[)][/]vmlinux\(.%\)\?\.itb:[ ][$][(]obj[])[/]vmlinux\(.%\)\?\.its[ ][$][(]obj[)][/]vmlinux\(.%\)\?\.bin[ ]' arch/mips/boot/Makefile + accept 'targets[ ][+]=[ ]vmlinux\.bin\.z' arch/mips/boot/compressed/Makefile + accept '[$][(]obj[)][/]vmlinux\.bin\.z:[ ][$][(]obj[)][/]vmlinux\.bin[ ]' arch/mips/boot/compressed/Makefile + accept 'OBJCOPYFLAGS_piggy\.o[ ]:=[ ]--add-section=\.image=[$][(]obj[)][/]vmlinux\.bin\.z[ ]' arch/mips/boot/compressed/Makefile + accept '[$][(]obj[)][/]piggy\.o:\([ ][$][(]obj[)][/]\(dummy\.o\|vmlinux\.bin\.z\)\)*' arch/mips/boot/compressed/Makefile + accept 'vmlinuz\.bin:[ ]vmlinuz' arch/mips/boot/compressed/Makefile + accept 'uzImage\.bin:[ ]vmlinuz\.bin[ ]' arch/mips/boot/compressed/Makefile + accept '[\t]return[ ]read_cmd\.s\.dat[;]' arch/mips/cavium-octeon/executive/octeon-model.c + accept '[\t]*\(\(if\|switch\)[ ][(]\|opcode[ ]=[ ]\)\(inst_mips16e\|inst\|mips16inst\)\.ri\.opcode' 'arch/mips/kernel/\(branch\|unaligned\)\.c' + accept '[\t]*reg[ ]=[ ]reg16to32\[mips16inst\.ri\.rx\]' arch/mips/kernel/unaligned.c + accept '[\t]*switch[ ][(]mips16inst\.ri\.imm[ ]' arch/mips/kernel/unaligned.c + accept 'rom\.bin:[\t][$][(]obj[)][/]rom\.bin' arch/mips/lasat/image/Makefile + accept '[$][(]obj[)][/]\(rom\|kImage\)\.bin:' arch/mips/lasat/image/Makefile + accept 'targets[ ][:+]=\([ ]vmlinux\(\.\(lds\|bin\(\.\(gz\|bz2\|xz\|lzma\|lzo\|lz4\)\)\?\)\)\?\)*' 'arch/\(parisc\|s390\)/boot/compressed/Makefile' + accept 'vmlinux\.bin\.all-y[ ]:=[ ][$][(]obj[)][/]vmlinuz\.bin' 'arch/\(parisc\|s390\)/boot/compressed/Makefile' + accept '[$][(]obj[)][/]vmlinux\.bin\.\(gz\|bz2\|lz4\|lzma\|lzo\|xz\):[ ][$][(]vmlinux\.bin\.all-y[)]' 'arch/\(parisc\|s390\|sh\|x86\)/boot/compressed/Makefile' + accept '[$][(]obj[)][/]piggy\.o:\([ ][$][(]obj[)][/]vmlinux\.\(scr\|bin\.[$][(]suffix-y[)]\)\)*' 'arch/\(parisc\|sh\)/boot/compressed/Makefile' + accept '[\t][/][*][ ]vmlinux\.bin\.gz[ ]is[ ]here[ ][*][/]' arch/parisc/boot/compressed/vmlinux.lds.S + accept 'zImage\.bin\.[*]' arch/powerpc/boot/.gitignore + accept '[$][(]obj[)][/]spu_%\.bin:[ ][$][(]src[)][/]spu_%' arch/powerpc/platforms/cell/spufs/Makefile + accept '[$][(]obj[)][/]info.bin:' arch/s390/boot/compressed/Makefile + accept 'vmlinux\.bin\.all-y[ ]:=[ ][$][(]obj[)][/]vmlinux.bin' 'arch/\(s390\|sh\|x86\)/boot/compressed/Makefile' + accept 'OBJCOPYFLAGS_piggy\.o[ ]:=[ ]-I[ ]binary[ ]-O[ ]elf64-s390[ ]-B[ ]s390:64-bit[ ]--rename-section[ ]\.data=\.vmlinux\.bin\.compressed' arch/s390/boot/compressed/Makefile + accept '[\t]*[*][(]\.vmlinux\.bin\.compressed[)]' arch/s390/boot/compressed/vmlinux.lds.S + accept 'extra-y[ ][+]=\([ ]\([\\][\n][\t][ ]*\)\?vmlinux\.bin\(\.\(bz2\|gz\|lzma\|lzo\|xz\)\)\?\)*' arch/sh/boot/Makefile + accept '[$][(]obj[)][/]\(vmlinux\|uImage\)\(\.\(bin\|bz2\|gz\|lzma\|xz\|lzo\)\)\+:[ ][$][(]obj[)][/]vmlinux\.bin\(\.\(bz2\|gz\|lzma\|xz\|lzo\)\)\?' arch/sh/boot/Makefile + accept 'vmlinux\.bin\.[*]' arch/sh/boot/compressed/.gitignore + accept 'targets[ \t]*[:+]=\([ ][\\\n\t ]*vmlinux\(\.\(bin\(\.\(gz\|bz2\|xz\|lzma\|lzo\|lz4\)\)\?\)\)\?\)*' 'arch/\(parisc\|s390\|x86\)/boot/compressed/Makefile' + accept '[$][(]obj[)][/]zeropage.bin:' arch/sh/boot/compressed/Makefile + accept '[$][(]obj[)][/]\(image\|tftpboot\).bin:' arch/sparc/boot/compressed/Makefile + accept '[\t]*fprintf[ ][(]stderr[,][ ]["]Not[ ]a\.out\.' arch/sparc/boot/piggyback.c + accept '[$][(]obj[)][/]setup\.elf:' arch/x86/boot/Makefile + accept '[$][(]obj[)][/]setup\.bin:[ ][$][(]obj[)][/]setup\.elf[ ]' arch/x86/boot/Makefile + accept 'image_cmdline[ ]=[ ]default[ ]linux[ ][$][(]FDARGS[)][ ][$][(]if[ ][$][(]FDINITRD[)][,]initrd=initrd\.img[,][)]' arch/x86/boot/Makefile + accept 'vmlinux\.bin\.all' arch/x86/boot/compressed/.gitignore + accept '[#][ \t]*vmlinux\.bin\.\(all\|[(]gz\|bz2\|lzma\|\.\.\.[)]\)' arch/x86/boot/compressed/Makefile + accept '[#][\t]compressed[ ]vmlinux\.bin\.all[ ][+][ ]u32[ ]size[ ]of[ ]vmlinux\.bin\.all' arch/x86/boot/compressed/Makefile + accept 'targets[ ][+]=[ ][$][(]patsubst[ ][$][(]obj[)][/]%[,]%[,][$][(]vmlinux-objs-y[)][)][ ]vmlinux\.bin\.all[ ]vmlinux\.relocs' arch/x86/boot/compressed/Makefile + accept 'vmlinux\.bin\.all-[$][(]CONFIG_X86_NEED_RELOCS[)][ ][+]=[ ][$][(]obj[)][/]vmlinux\.relocs' arch/x86/boot/compressed/Makefile + accept '[$][(]obj[)][/]piggy\.S:[ ][$][(]obj[)][/]vmlinux\.bin\.[$][(]suffix-y[)]' arch/x86/boot/compressed/Makefile + accept '[$][(]obj[)][/]\(rm[/]\)\?realmode\.\(elf\|bin\):\([ ][$][(]obj[)][/]realmode\.\(lsd\|elf\|relocs\)\)*' arch/x86/realmode/Makefile + accept 'vmlinux\.bin\.gz:[ ]vmlinux\.bin' arch/xtensa/boot/Makefile + accept 'boot-redboot:[ ]vmlinux\.bin\.gz' arch/xtensa/boot/Makefile + accept '[$][(]obj[)][/]uImage:[ ]vmlinux\.bin\.gz' arch/xtensa/boot/Makefile + accept '[$][(]obj[)][/]\.\.[/]Image\.elf:[ ][$][(]obj[)][/]Image\.o[ ][$][(]obj[)][/]boot\.lds' arch/xtensa/boot/boot-elf/Makefile + accept '[$][(]obj[)][/]zImage\.o:[ ]vmlinux\.bin\.gz' arch/xtensa/boot/boot-redboot/Makefile + accept '[\t]*--add-section[ ]image=vmlinux\.bin\.gz[ ]' arch/xtensa/boot/boot-redboot/Makefile + accept '[$][(]obj[)][/]zImage\.elf:[ ][$][(]obj[)][/]zImage\.o' arch/xtensa/boot/boot-redboot/Makefile + accept '[\t]*[(]unsigned[ ]long[)]op\.out[,][ ][(]long[)]op\.outlen[)][;]' drivers/crypto/nx/nx-842-pseries.c + accept '[\t]*adev->firmware\.ucode\[AMDGPU_UCODE_ID_\(UVD1\?\|VC[EN]1\?\)\]\.fw[ ]=[ ]adev->\(uvd\|vc[en]\)\.fw[;]' drivers/gpu/drm/amd/amdgpu/'\(uvd_v7_0\|vce_v[124]_[05]\)\.c' + accept '[\t]*\(err[ ]=[ ]\)intel_uc_fw_fetch[(][&]uc->[gh]uc\.fw[,]' drivers/gpu/drm/i915/gt/uc/intel_uc.c + accept '[\t]*intel_uc_fw_dump[(][&]dev_priv->gt\.uc\.[hg]uc\.fw[,]' drivers/gpu/drm/i915/i915_debugfs.c + accept '[\t]memcpy[(][&]error_uc->[gh]uc_fw[,][ ][&]uc->[gh]uc\.fw[,][ ]sizeof[(]uc->[gh]uc\.fw[)][)][;]' drivers/gpu/drm/i915/i915_gpu_error.c + accept '[\t]error_uc->[gh]uc_fw\.path[ ]=[ ]kstrdup[(]uc->[gh]uc\.fw\.path[,]' drivers/gpu/drm/i915/i915_gpu_error.c + accept '[\t]return[ ]le16_to_cpu[(]dp\.fw\.family_code[)]' drivers/hid/hid-led.c + accept '[\t]*cmd->tx_buf[ ]=[ ]i3c_xfers\[i\]\.data\.out[;]' drivers/i3c/master/dw-i3c-master.c + accept '[\t]*ccmd->tx_buf[ ]=[ ]xfers\[i\]\.data\.out[;]' drivers/i3c/master/i3c-master-cdns.c + accept '[\t]*cmd\.valid\.out\.\(tf\|hob\)[ ][|]\?=' drivers/ide/'ide-.*\.c' + accept '[\t]*if[ ][(]cmd->valid\.out\.tf[ ][&]' drivers/ide/ide-taskfile.c + accept '[\t]*tp_ops->tf_load[(]drive[,][ ][&]cmd->\(tf\|hob\)[,][ ]cmd->valid\.out\.\(tf\|hob\)[)][;]' drivers/ide/ide-taskfile.c + accept '[\t]err[ ]=[ ]mlx5_cmd_exec[(]dev->mdev[,][ ]cmd\.in[,][ ]cmd\.inlen[,][ ]cmd\.out[,]' drivers/infiniband/hw/mlx5/devx.c + accept '[\t]devx_obj_build_destroy_cmd[(]cmd\.in[,][ ]cmd\.out[,]' drivers/infiniband/hw/mlx5/devx.c + accept '[\t]mlx5_cmd_exec[(]obj->mdev[,][ ]obj->dinbox[,][ ]obj->dinlen[,][ ]cmd\.out[,][ ]sizeof[(]cmd\.out[)][)][;]' drivers/infiniband/hw/mlx5/devx.c + accept '[\t]\(bl\(oc\)\?k_count\|num_of_containers\)[ ]=[ ]f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]f34->v7.config_\(data\|size\)[ ]=[ ]f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]return[ ]rmi_f34v7_write_f34v7_blocks[(]f34[,][ ]f34->v7\.img\.guest_code\.data[,][\n\t ]*f34->v7\.img\.guest_code\.size' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]return[ ]rmi_f34v7_write_f34v7_blocks[(]f34[,][ ]f34->v7\.img\.\(guest_code\|ui_firmware\)\.data[,][\n\t ]*f34->v7\.img\.\(guest_code\|ui_firmware\)\.size' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]\(if[ ][(]\|[ ]*\)f34->v7\.phyaddr\.\(ui_firmware\|ui_config\|dp_config\|guest_code\)[ ]!=[ ]f34->v7\.img\.phyaddr\.\(ui_firmware\|ui_config\|dp_config\|guest_code\)[)]' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]*addr[ ]=[ ]get_unaligned_le32[(]f34->v7\.img\.bootloader\.data[ ]' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]*[ ]*f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]rmi_dbg[(]RMI_DEBUG_FN[,][ ][&]f34->fn->dev[,][ ]["]%s:[ ]f34->v7\.img\.checksum' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]*__func__[,][ ]f34->v7\.img\.checksum[)]' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]memset[(][&]f34->v7\.img[,][ ]0x00[,][ ]sizeof[(]f34->v7\.img[)][)][;]' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]if[ ][(][!]f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]rmi_f34v7_parse_partition_table[(]f34[,][ ]f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]*[&]f34->v7\.img\.blkcount[,][ ][&]f34->v7\.img\.phyaddr[)][;]' drivers/input/rmi4/rmi_f34v7.c + accept '[\t]*if[ ][(]f34->v7\.has_\(guest_code\|display_cfg\)[ ][&][&][ ]f34->v7\.img\.contains_\(guest_code\|display_cfg\)[)]' drivers/input/rmi4/rmi_f34v7.c + blobname 'picasso_rlc\(_am4\)\?\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + blobna '[/][*][\n][\t][ ][*][ ]For[ ]Picasso[^*]*\([*]\+[^/*][^*]*\)*picasso_rlc[^*]*\([*]\+[^/*][^*]*\)*[*][*]*[/]' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + # WIP: more to come here. + + # New in 5.3.11, 4.19.84 and 4.14.154. + accept 'CPUID[ ]to[ ]the[ ]guest[.][ ]If[ ]the[ ]host[ ]has[ ]updated[ ]microcode[ ]the[ ]protection' Documentation/admin-guide/hw-vuln/tsx_async_abort.rst + accept '[\t *]*-[ ]Updated[ ]microcode[ ]is[ ]present' arch/x86/kvm/x86.c + + # New in 5.4-rc*. + accept '[ ][ ]\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\([\n][ ][ ]\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\)*' Documentation/packing.txt + blobname 'linux-firmware\.git' Documentation/networking/device_drivers/netronome/nfp.rst + defsnc 'static[ ]u32[ ]vrate_adj_pct\[\][ ]=' block/blk-iocost.c + defsnc 'static[ ]const[ ]u32[ ]crypto_[fi]l_tab\[4\]\[256\][ ]____cacheline_aligned[ ]=' crypto/aes_generic.c + defsnc 'static[ ]const[ ]struct[ ]comp_testvec[ ]lzorle_\(de\)\?comp_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]essiv_aes_cbc_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]aead_testvec[ ]essiv_hmac_sha256_aes_cbc_tv_temp\[\][ ]=' crypto/testmgr.h + blobname 'cnn55xx_ae\.fw' drivers/crypto/cavium/nitrox/nitrox_main.c + blobname 'amdgpu[/]\(arcturus\|renoir\|navi1[24]\)_vcn\.bin' drivers/gpu/dmr/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]\(renoir\|%s\)_asd\.bin' drivers/gpu/drm/amd/amdgpu/psp_v12_0.c + blobname 'amdgpu[/]%s_sdma%d\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v4_0.C + defsnc '\(const[ ]uin32_t[\n]\)\?[ \t]*umc_v6_1_channel_idx_tbl\[UMC_V6_1_UMC_INSTANCE_NUM\]\[UMC_V6_1_CHANNEL_INSTANCE_NUM\][ ]=' drivers/gpu/drm/amd/amdgpu/umc_v6_1.c + # Sources are in cwsr_trap_handler_gfx9.asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_arcturus_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + defsnc 'static[ ]const[ ]struct[ ]abm_parameters[ ]abm_settings_config[01]\[abm_defines_max_level\][ ]=' drivres/gpu/drm/amd/display/modules/power/power_helpers.c + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(\(NBIF\|PCIE\)0\|SDMA[234567]\|DBGU_IO\)_BASE[ \t]*=' drivers/gpu/drm/amd/include/arct_ip_offset.h + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(DIO\|DMU\|DPCS\|HDA\|\(NBIF\|PCIE\)0\|SDMA\|USB0\|UVD0\)_BASE[ \t]*=' drivers/gpu/drm/amd/include/navi12_ip_offset.h + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(DIO\|DMU\|DPCS\|HDA\|\(NBIF\|PCIE\)0\|SDMA\|USB0\|UVD0\)_BASE[ \t]*=' drivers/gpu/drm/amd/include/navi14_ip_offset.h + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(ACP\|DBGU_IO0\|DIO\|DMU\|DPCS\|HDA\|IOHC0\|ISP\|L2IMU0\|\(NBIF\|PCIE\)0\|USB0\|UVD0\)_BASE[ \t]*=' drivers/gpu/drm/amd/include/renoir_ip_offset.h + blobname 'i915[/]tgl_dmc_ver2_04\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc '[\t][}][ ]init_data\[\][ ]=' drivers/gpu/drm/panel/panel-lg-lb035q02.c + defsnc '[\t][}][ ]nl8048_init_seq\[\][ ]=' drivers/gpu/drm/panel/panel-nec-nl8048hl11.c + defsnc 'static[ ]const[ ]struct[ ]cmd_set_entry[ ]manufacturer_cmd_set\[\][ ]=' drivers/gpu/drm/panel/panel-raydium-rm67191.c + defsnc 'static[ ]const[ ]char[ ]data_\(last_\)\?block_header\[DATA_BLOCK_HEADER_SIZE\][ ]=' drivers/gpu/drm/tiny/gm12u320.c + accept '[\t]mipi_dbi_command[(]dbi[,][ ]HX8357D_SETGAMMA\([,][\n][\t][\t][\t][ ]0x[0-9a-f][0-9a-fA-F]\)*[)][;]' drivers/gpu/drm/tiny/hx8357d.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]creative_sb0540_codes\[\][ ]=' drivers/hid/hid-creative-sb0540.c + defsnc 'static[ ]const[ ]struct[ ]ov5675_reg[ ]mode_\(2592x1944\|1296x972\)_regs\[\][ ]=' drivers/media/i2c/ov5675.c + blobname 'rtl_nic[/]rtl8125a-3\.fw' drivers/net/ethernet/realtek/r8169_main.c + defsnc '[\t]static[ ]const[ ]u16[ ]ical\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c + defsnc '[\t]static[ ]const[ ]u8[ ]channel_all\[TARGET_CHNL_NUM_2G_5G_8812\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8822b_txpwr_lmt_type[25]\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8822c_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c_table.c + blobname 'gsl1680-chuwi-surbook-mini\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl3680-irbis_tw90\.fw' drivers/platform/x86/touchscreen_dmi.c + defsnc 'static[ ]const[ ]u8[ ]aes_cipher_key_skeleton\[\][ ]=' drivers/s390/crypto/zcrypt_ccamisc.c + defsnc 'const[ ]u8[ ]uni_upcase\[NUM_UPCASE[ ]<<[ ]1\][ ]=' drivers/staging/exfat/exfat_upcase.c + defsnc 'static[ ]const[ ]u32[ ]h264_cabac_table\[\][ ]=' drivers/staging/media/hantro/hantro_h264.c + defsnc 'static[ ]const[ ]u32[ ]zig_zag_8x8\[\][ ]=' drivers/staging/media/hantro/hantro_h264.c + defsnc 'static[ ]volatile[ ]const[ ]u8[ ]__cacheline_aligned[ ]aes_\(inv_\)\?sbox\[\][ ]=' lib/crypto/aes.c + defsnc 'static[ ]const[ ]u16[ ]scarlett2_mixer_values\[173\][ ]=' sound/usb/mixer_scarlett_gen2.c + defsc 'vector[ ]int[ ]vsxs\[\][ ]=' tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vsx.c + defsnc '[\t]static[ ]const[ ]struct[ ]ephy_info[ ]e_info_8125_[12]\[\][ ]=' drivers/net/ethernet/realtek/r8169_main.c + defsnc '[\t]static[ ]const[ ]u32[ ]wl_rx_low_gain_o\(n\|ff\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b.c + accept '[ ][*][\t]request_firmware_into_buf[(][)]' lib/test_firmware.c + accept '[\t]*req->rc[ ]=[ ]request_firmware_into_buf[(][&]req->fw[,][\n]' lib/test_firmware.c + accept 'trap[ ]["]rm[ ]-f[ ][$]tmp_file\.o[ ][$]tmp_file[ ][$]tmp_file\.bin["]' scripts/tools-support-relr.sh + accept '[\t]*\(echo[ ]-n[ ]["]\)\?\(test_batched_\|Batched[ ]\)request_firmware_into_buf\(_nofile\)\?\([(][)]\|[ ]\)' tools/testing/selftests/firmware/fw_filesystem.sh + accept '#[ ]We[ ]need[ ]to[ ]load[ ]a[ ]different[ ]file[ ]to[ ]test[ ]request_firmware_into_buf' tools/testing/selftests/firmware/fw_lib.sh + accept '#[ ]To[ ]reproduce[ ]rename[ ]this[ ]to[ ]test-firmware\.bin' tools/testing/selftests/firmware/fw_lib.sh + # Since ar500X and ar92XX have Free firmware, I'm assuming this + # initialization data file is either Free Software or pure data. + accept '[\t]scnprintf[(]eeprom_name[,][ ]EEPROM_FILENAME_LEN[,][ ]["]ath9k-eeprom-pci-%s\.bin["]' drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c + accept '[\t]err[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]true[,][ ]eeprom_name[,]' drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c + blobname 'i915[/]["]\([ ][\\][\n][\t]__stringify[(]\(prefix\|major\|minor\|patch\)_[)][ ]\(\(name\|separator\)_\)\?\)*["]\.bin' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c + blobname 'intel[/]dsp_fw_%pUL\.bin' sound/soc/intel/skylake/skl-sst.c + accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n][\t ]*["]%s%s%s\.tplg["][,]' sound/soc/sof/intel/hda.c + blobname 'intel[/]ice[/]ddp[/]' drivers/net/ethernet/intel/ice/ice_main.c + blobname '["]ice\.pkg["]' drivers/net/ethernet/intel/ice/ice_main.c + blobname '\(intel[/]ice[/]ddp[/]\|%s\)\?ice\(-%02x%02x%02x%02x%02x%02x%02x%02x\|-[0-9A-F]*\)\?\.pkg' drivers/net/ethernet/intel/ice/ice_main.c + accept '[\t]*marvell[,]caldata-txpwrlimit-\(2g\|5g-sub[012]\)[ ]=[ ][/]bits[/][ ]8[ ]<\([\n ]0x[0-9a-f][0-9a-f]\)*>[;]' arch/arm/boot/dts/rk3288-veyron-jerry.dts + blobname 'amdgpu[/]%s_\(pfp\|[mc]e\|mec2\?\)%s\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c + blobname 'amdgpu[/]navi14_\(pfp\|[mc]e\|mec2\?\)_wks\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c + blob '6\.1\.[ ]Driver[ ]complains[^\n]*i2400m-fw[^\n]*[\n]--*\([\n][\n]*\([ ][ ][ ]\|[\t]i2400m_usb\)[^\n]*\)\+' Documentation/admin-guide/wimax/i2400m.rst + # This is not new, just a new catch. + blobname 'inside-secure[/]%s[/]%s' drivers/crypto/inside-secure/safexcel.c + + # New in 5.5-rc*. + initnc '\.Lpermute_table:' arch/arm64/crypto/ghash-ce-core.S + initnc 'SIGMA2\?:' arch/x86/crypto/blake2s-core.S + defsnc 'static[ ]const[ ]u8[ ]blake2b_sigma\[12\]\[16\][ ]=' crypto/blake2b_generic.c + defsc 'static[ ]const[ ]struct[ ]kpp_testvec[ ]curve25519_tv_template\[\][ ]=' crypto/testmgr.hpu + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]hmac_sm3_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]sm4_ctr_rfc3686_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]char[ ]blake2_ordered_sequence\[\][ ]=' + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]blake2b_\(256\|384\|512\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]blake2b_\(256\|384\|512\)_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]blakes2s_256_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]bm1880_div_table_[01234]\[\][ ]=' drivers/clk/clk-bm1880.c + blobname 'i915[/]icl_dmc_ver1_09\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc 'static[ ]const[ ]u8[ ]tegra1\(24\|32\|86\)_sor_\(voltage_swing\|pre_emphasis\|post_cursor\|tx_pu\)\[4\]\[4\]\[4\][ ]=' drivers/gpu/drm/tegra/sor.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]adux1020_def_conf\[\][ ]=' drivers/iio/light/adux1020.c + defsnc 'static[ ]const[ ]int[ ]adux1020_led_currents\[\]\[2\][ ]=' drivers/iio/light/adux1020.c + defsnc 'static[ ]const[ ]struct[ ]hi556_reg[ ]mipi_data_rate_874mbps\[\][ ]=' drivers/media/i2c/hi556.c + defsnc 'static[ ]const[ ]struct[ ]hi556_reg[ ]mode_\(2592x1944\|1296x972\)_regs\[\][ ]=' drivers/media/i2c/hi556.c + defsnc 'static[ ]const[ ]struct[ ]imx290_regval[ ]imx290_global_init_settings\[\][ ]=' drivers/media/i2c/imx290.c + defsc 'static[ ]const[ ]struct[ ]imx290_regval[ ]imx290_\(1080\|720\)p_settings\[\][ ]=' drivers/media/i2c/imx290.c + blobname 'rtl_nic[/]rtl8168fp-3\.fw' drivers/net/ethernet/realtek/r8169_main.c + blobname 'rtl_nic[/]rtl8153[ab]-[234]\.fw' drivers/net/usb/r8152.c + blobname 'iwl-debug-yoyo\.bin' drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c + defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8822b_bb_pg_type[235]\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8822b_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8822c_bb_pg_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc '[\t][}][ ]timings\[\][ ]=' drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sdm845_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sdm845.c + blobname 'gsl3692-jumper-ezpad-6-m4\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-schneider-sct101ctm\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'idtcm\.bin' drivers/ptp/ptp_clockmatrix.h + defsc 'static[ ]const[ ]u32[ ]asv_arm_table\[\]\[ASV_ARM_DVFS_NUM\]\[ASV_GROUPS_NUM[ ][+][ ]1\][ ]=' drivers/soc/samsung/exynos5422-asv.c + defsc 'static[ ]const[ ]u32[ ]asv_kfc_table\[\]\[ASV_KFC_DVFS_NUM\]\[ASV_GROUPS_NUM[ ][+][ ]1\][ ]=' drivers/soc/samsung/exynos5422-asv.c + defsnc 'static[ ]const[ ]u8[ ]blake2s_sigma\[10\]\[16\][ ]=' lib/crypto/blake2s-generic.c + defsnc 'static[ ]const[ ]u8[ ]blake2s_\(hmac_\)\?testvecs\[\]\[BLAKE2S_HASH_SIZE\][ ]__initconst[ ]=' lib/crypto/blake2s-selftest.c + defsnc 'static[ ]const[ ]u8[ ]x\?\(enc\|dec\)_\(\(in\|out\)put\|key\|assoc\)[0-9]*\[\][ ]__initconst[ ]=' lib/crypto/chacha20poly1305-selftest.c + accept '[ ][*][ ][ ][ ][ ][ ]3[ ]3[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0' net/tipc/crypto.h + defsnc '[\t]static[ ]const[ ]struct[ ]reg_val[ ]\(init_eee\|pre_init1\)\[\][ ]=' drivers/net/phy/mscc.c + defsnc 'static[ ]const[ ]u32[ ]rtw8822b_txscale_tbl[RTW_TXSCALE_SIZE][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc 'static[ ]const[ ]u8[ \n]rtw8822b_pwrtrk_5g[ba]_[np]\[RTW_PWR_TRK_5G_NUM\]\[RTW_PWR_TRK_TBL_SZ\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c + defsnc 'static[ ]const[ ]u8[ \n]rtw8822c_pwrtrk_5g[ba]_[np]\[RTW_PWR_TRK_5G_NUM\]\[RTW_PWR_TRK_TBL_SZ\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c.c + accept 'static[ ]const[ ]struct[ ]tegra_xusb_soc[ ]tegra194_soc[ ]=[ ][{][\n][\t][.]firmware[ ]=' drivers/usb/host/xhci-tegra.c + blobname 'nvidia[/]tegra194[/]xusb\.bin' drivers/usb/host/xhci-tegra.c + blobname 'rt5677_elf_vad\([ ]file[ ][*][/]\)\?' sound/soc/codecs/rt5677.c + blobname 'i915[/]["]\([ ][\\][\n][\t]__stringify[(]\(prefix\|major\|minor\|patch\)_[)][ ]\(\(name_\|["][.]["]\)\)\?\)*["]\.bin' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c + blobname 'mellanox[/]mlxsw_spectrum2-\(["][ ]__stringify[(]MLXSW_SP2_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + accept '[\t][ ][*][ ]per-cpu[ ]cpuinfo[ ]can[ ]be[ ]updated[ ]with[ ]right[ ]microcode' arch/x86/kernel/cpu/microcode/core.c + accept '\(static[ ]\)\?int[ ]bnxt_flash_\(firmware\|package\)_from_file[(][ \t\na-z0-9_,*]*[)][\n][{][\n]\([^}][^\n]*[\n]\+\)*[\t]rc[ ]=[ ]request_firmware[(][&]fw' drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c + accept 'static[ ]int[ ]rtl8152_request_firmware[(]' drivers/net/usb/r8152.c + accept '[\t]if[ ][(]rtl8152_request_firmware[(]' drivers/net/usb/r8152.c + accept '[\t][\t][/][*][ ]Delay[ ]execution[ ]in[ ]case[ ]request_firmware[(][)]' drivers/net/usb/r8152.c + blobname 'rtl_nic[/]rtl8153a-[234]\.fw' drivers/net/usb/r8152.c + blobname 'rtl_nic[/]rtl8153b-2\.fw' drivers/net/usb/r8152.c + accept '[\t][/][*][ ]Retry[ ]in[ ]case[ ]request_firmware[(]' drivers/net/usb/r8152.c + accept '[ ][*][ ]@context:[ ]pointer[ ]to[ ]firmware[ ]image[ ]returned[ ]from[ ]request_firmware\.' drivers/scsi/lpfc/lpfc_init.c + accept '[ ][*][ ]request_firmware[(][)][ ]allocate[ ]data[ ]using[ ]vmalloc[(]' drivers/staging/wfx/fwio.c + # This loads Platform Data Set pure data files. Preconfigured + # files, templates and tools to compress the configuration files + # to the binary format are available. + accept '[\t]ret[ ]=[ ]request_firmware[(]&pds,[ ]wdev->pdata\.file_pds,' drivers/staging/wfx/main.c +# .take5 rt5677.c + # ethtool-supplied firmware to flash the virtual device. + accept '[\t]if[ ][(]request_firmware[(]&fw[,][ ]efl->data[,][ ]&vdevice->pdev\.dev[)][)]' arch/um/drivers/vector_kern.c + + # Already present in 5.0, harmless as firmware is the first field. + accept 'static[ ]const[ ]struct[ ]vic_config[ ]vic_t194_config[ ]=[ ][{][\n][\t]\.firmware[ ]=[ ]NVIDIA_TEGRA_194_VIC_FIRMWARE[,]' drivers/gpu/drm/tegra/vic.c + + # New in 5.5.11 and 5.4.27. + blobname 'microchip[/]mscc_vsc8584_revb_int8051_fb48\.bin' drivers/net/phy/mscc.c + blobname 'microchip[/]mscc_vsc8574_revb_int8051_29e8\.bin' drivers/net/phy/mscc.c + + # New in 5.6-rc7. + initnc '[ ]*[(]gdb[)][ ]x[/]100x[ ][$]25[\n]' Documentation/virt/uml/user_mode_linux.rst + blobname 'amdgpu[/]renoir_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + accept '[\t][ ][*][ ]the[ ][/]lib[/]firmware[/]qcom[/]\.\.\.[ ]vs[ ][/]lib[/]firmware[/]\.\.\.[ ]case' drivers/gpu/drm/msm/adreno/adreno_gpu.c + accept '[\t]gr->firmware[ ]=[ ]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[\t]*snprintf[(]f[,][ ]sizeof[(]f[)][,][ ]["]nouveau[/]nv%02x_%s["][,][ ]device->chipset[,][ ]name[)][;][\n][\t]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]f[,][ ]device->dev[)][;][\n][\t]*if[ ][(]ret[)][ ][{][\n][\t]*snprintf[(]f[,][ ]sizeof[(]f[)][,][ ]["]nouveau[/]%s["][,][ ]name[)][;][\n][\t]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]f[,][ ]device->dev[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + accept '[ ]\(if[ ][(]\|[ ][ ][ ][ ]\)gf100_gr_load_fw[(]gr[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]gr->\(fecs\|gpccs\)' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c + defsnc 'static[ ]const[ ]struct[ ]panel_cmd[ ]boe_himax8279d\(8\|10\)p_on_cmds\[\][ ]=' drivers/gpu/drm/panel/panel-boe-himax8279d.c + defsnc 'static[ ]const[ ]struct[ ]ltk500hd1829_cmd[ ]init_code\[\][ ]=' drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c + accept '[\t]dsi_generic_write_seq[(]dsi[,][ ]XPP055C272_CMD_SET\(GIP[12]\|GAMMA\)\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c + defsc 'static[ ]const[ ]unsigned[ ]char[ ]\(luma\|chroma\)_ac\[16[ ][+][ ]162[ ][+][ ]2\]' drivers/media/platform/coda/coda-jpeg.c + defsnc 'static[ ]const[ ]u32[ ]ice_ptypes_\(ipv[46]\|udp\|tcp\|sctp\)_\(ofos\|il\)\[\][ ]=' drivers/net/ethernet/intel/ice/ice_flow.c + defsnc 'static[ ]const[ ]u32[ ]iro_arr\[\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsnc 'static[ ]const[ ]u8[ ]dscp_tid_map\[DSCP_TID_MAP_TBL_ENTRY_SIZE\][ ]=' drivers/net/wireless/ath/ath11k/hal_tx.c + blobname 'rtw88[/]rtw8822c_wow_fw\.bin' drivers/pinctrl/qcom/pinctrl-sc7180.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sc7180_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sc7180.c + blobname 'gsl1680-pipo-w11\.fw' drivers/platform/x86/touchscreen_dmi.c + defsnc 'static[ ]const[ ]struct[ ]hsfreq_range[ ]rk3399_mipidphy_hsfreq_ranges\[\][ ]=' drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c + accept 'static[ ]int[ ]tegra_xusb_request_firmware[(]' drivers/usb/host/xhci-tegra.c + accept '[\t]err[ ]=[ ]tegra_xusb_request_firmware[(]tegra[)]' drivers/usb/host/xhci-tegra.c + defsc 'static[ ]const[ ]struct[ ]curve25519_test_vector[ ]curve25519_test_vectors\[\][ ]__initconst[ ]=' lib/crypto/curve25519-selftest.c + defsc 'static[ ]const[ ]u8[ ]tas3004_treble_table\[\][ ]=' sound/aoa/codecs/tas-basstreble.h + defsnc 'static[ ]const[ ]char[ ]opl3_volume_table\[128\][ ]=' sound/drivers/opl3/opl3_midi.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]snd_opl4_volume_table\[128\][ ]=' sound/drivers/opl4/opl4_synth.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]init[1234]\[128\][ ]=' sound/isa/sb/emu8000.c + defsc 'static[ ]const[ ]unsigned[ ]short[ ]treble_parm\[12\]\[9\][ ]=' sound/isa/sb/emu8000.c + defsnc 'static[ ]const[ ]u16[ ]asEqCoefsZeros\[50\][ ]=' sound/pci/au88x0/au88x0_eqdata.c + defsnc 'static[ ]const[ ]u16[ ]asEqCoefsPipes\[64\][ ]=' sound/pci/au88x0/au88x0_eqdata.c + defsnc 'static[ ]const[ ]auxxEqCoeffSet_t[ ]asEqCoefsNormal[ ]=' sound/pci/au88x0/au88x0_eqdata.c + defsnc 'static[ ]const[ ]u16[ ]asEqOutStateZeros\[48\][ ]=' sound/pci/au88x0/au88x0_eqdata.c + defsnc 'static[ ]const[ ]u16[ ]eq_levels\[64\][ ]=' sound/pci/au88x0/au88x0_eqdata.c + defsnc '[\t]static[ ]const[ ]u32[ ]logMagTable\[128\][ ]=' sound/pci/emu10k1/io.c + defsnc '[\t]static[ ]const[ ]char[ ]logSlopeTable\[128\][ ]=' sound/pci/emu10k1/io.c + defsnc 'static[ ]const[ ]char[ ]coefficients\[NM_TOTAL_COEFF_COUNT[ ][*][ ]4\][ ]=' sound/pci/nm256/nm256_coef.c + defsnc 'static[ ]const[ ]char[ ]channel_map_unity_ss\[HDSPM_MAX_CHANNELS\][ ]=' sound/pci/rme9652/hdspm.c + defsnc 'static[ ]const[ ]short[ ]beep_wform\[256\][ ]=' sound/ppc/beep.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(master\|\(snapper_\)\?\(treble\|bass\|mixer\)\)_volume_table\[\][ ]=' sound/ppc/tumbler_volume.h + defsnc 'static[ ]const[ ]u8[ ]jz4770_codec_reg_defaults\[\][ ]=' sound/soc/codecs/jz4770.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1015_reg\[\][ ]=' sound/soc/codecs/rt1015.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1308_reg_defaults\[\][ ]=' sound/soc/codecs/rt1308-sdw.h + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt700_reg_defaults\[\][ ]=' sound/soc/codecs/rt700-sdw.h + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt711_reg_defaults\[\][ ]=' sound/soc/codecs/rt711-sdw.h + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt715_reg_defaults\[\][ ]=' sound/soc/codecs/rt715-sdw.h + defsnc 'static[ ]unsigned[ ]char[ ]\(in\|out\)put_clk_map_imx35\[ASRC_CLK_MAP_LEN\][ ]=' sound/soc/fsl/fsl_asrc.c + defsc 'static[ ]unsigned[ ]char[ ]\(in\|out\)put_clk_map_imx53\[ASRC_CLK_MAP_LEN\][ ]=' sound/soc/fsl/fsl_asrc.c + defsnc 'static[ ]unsigned[ ]char[ ]clk_map_imx8q\(m\|xp\)\[2\]\[ASRC_CLK_MAP_LEN\][ ]=' sound/soc/fsl/fsl_asrc.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]pan_volumes\[256\][ ]=' sound/synth/emux/emux_synth.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]\(voltab[12]\|expressiontab\)\[128\][ ]=' sound/synth/emux/emux_synth.c + defsnc 'static[ ]const[ ]int[ ]log_tbl\[129\][ ]=' sound/synth/emux/soundfont.c + defsnc 'static[ ]const[ ]short[ ]\(attack\|decay\)_time_tbl\[128\][ ]=' sound/synth/emux/soundfont.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]bcd2000_init_sequence\[\][ ]=' sound/usb/bcd2000/bcd2000.c + defsc 'static[ ]const[ ]struct[ ]s_c2[ ]SetRate48000\[\][ ]=' sound/usb/usx2y/usbusx2yaudio.c + accept '[\t]*\.default_fw_filename[ ]=[ ]["]\(sof\|reef\)-[^" ;]*\.ri["]' sound/soc/sof/'\(sof\|reef\)-\(acpi\|pci\)-dev\.c' + accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n][\t ]*["]%s-%s\.tplg["][,]' sound/soc/sof/intel/byt.c + accept '[\t]*dev_dbg[(]sdev->dev[,][ ]["]request_firmware[ ]%s[ ]successful' sound/soc/sof/loader.c + accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]file[,][ ]scomp->dev[)]' sound/soc/sof/topology.c + blobname '\(board-2\|bdwlan\|caldata\)\.bin' 'drivers/net/wireless/ath/ath11k/\(hw\|qmi\)\.h' + blobname 'board\.bin' ddrivers/net/wireless/ath/ath11k/core.c + blobname 'scp\.img' drivers/remoteproc/mtk_scp.c + blobname '%s[/]%08x-%04x-%04x-%02x%02x%02x%02x%02x%02x%02x%02x\.bin' drivers/tee/amdtee/core.c + blobname 'qcom[/]sdm845[/]\([ac]dsp\.mdt\|\(mba\|modem\)\.mbn\)' arch/arm64/boot/dts/qcom/sdm845-db845c.dts + blobname 'brcmfmac\(43456\|4359\)-sdio' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(voice_focus\|mic_svm\|equalizer\)_vals_lookup\[\][ ]=' sound/pci/hda/patch_ca0132.c + defsnc 'static[ ]const[ ]struct[ ]hda_verb[ ]ca0132_init_verbs[01]\[\][ ]=' sound/pci/hda/patch_ca0132.c + + # New variation in 5.6.6, 5.5.19, and 5.4.34. + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]file_name[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlx5_firmware_flash[(]' drivers/net/ethernet/mellanox/mlx5/core/devlink.c + + # New in 5.7-rc7. + accept '[\t ]*:\([ ]*[32][86420]0*\)\+\([\n][ ]*[32][86420]0*:\([ ]*[012345]\)*\)\+' Documentation/cpu-freq/cpufreq-stats.rst + accept '\(The[ ]\)\?firmware_request_platform[(][)][ ]function' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ][ ][ ]request_firmware[\n]' Documentation/driver-api/firmware/index.rst + accept '[ ][ ]firmware_request_platform[(][)][ ]is[ ]used' Documentation/driver-api/firmware/lookup-order.rst + accept '\([ ][ ][ ]:functions:[ ]\)\?firmware_request_platform' Documentation/driver-api/firmware/request_firmware.rst + accept '\(typical[ ]data[ ]at[ ]NVRAM[ ]address[ ]0x100[ ][(]53c810a[ ]NVRAM[)]\|device[ ]set[ ]up[ ][(]up[ ]to[ ]16[ ]devices[ ]-[ ]includes[ ]controller[)]\)::\([\n]\+[ ][ ][ ]\([ ][0-9a-f][0-9a-f]\)\+\([ ]-[ ]id[ ]\(0\|15\)\)\?\)*' Documentation/scsi/'\(ncr53c8xx\|sym53c8xx_2\)\.rst' + accept 'default[ ]nvram[ ]data::\([\n]\+[ ][ ][ ]\([ ]0x[0-9a-f][0-9a-f][0-9a-f][0-9a-f]\)\+\)*' Documentation/scsi/'\(ncr53c8xx\|sym53c8xx_2\)\.rst' + defsnc 'static[ ]const[ ]u64[ ]table_ladder\[\][ ]=' arch/x86/crypto/curve25519-x86_64.c + defsnc 'static[ ]unsigned[ ]icx_cha_msr_offsets\[\][ ]=' arch/x86/events/intel/uncore_snbep.c + accept '[ ][*][ ]firmware_request_platform[(][)][ ]-' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]This[ ]function[ ]is[ ]similar[ ]in[ ]behaviour[ ]to[ ]request_firmware[,]' drivers/base/firmware_loader/main.c + accept 'int[ ]firmware_request_platform[(]' drivers/base/firmware_loader/main.c + accept 'EXPORT_SYMBOL_GPL[(]firmware_request_platform[)]' drivers/base/firmware_loader/main.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_2tap_16p\[18\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_3tap_16p_\(upscale\|116\|149\|183\)\[27\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_4tap_16p_\(upscale\|116\|149\|183\)\[36\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_2tap_64p\[66\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_3tap_64p_\(upscale\|116\|149\|183\)\[99\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_4tap_64p_\(upscale\|116\|149\|183\)\[132\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_5tap_64p_\(upscale\|116\|149\|183\)\[165\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_6tap_64p_\(upscale\|116\|149\|183\)\[198\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_7tap_64p_\(upscale\|116\|149\|183\)\[231\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_8tap_64p_\(upscale\|116\|149\|183\)\[264\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + accept '#define[ ]NT35510_GAMMA_\(POS\|NEG\)_DEFAULT[ ]0x[0-9A-F][0-9A-F]\([,][ ]\([\\][\n][\t ]*\)\?0x[0-9A-F][0-9A-F]\)*' drivers/gpu/drm/panel/panel-novatek-nt35510.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad7124_reg_size\[\][ ]=' drivers/iio/adc/ad7124.c + defsnc 'static[ ]const[ ]u16[ ]gp2ap002_illuminance_table\[\][ ]=' drivers/iio/light/gp2ap002.c + defsnc 'static[ ]const[ ]struct[ ]imx219_reg[ ]mode_\(3280x2464\|1920_1080\|1640_1232\|640_480\)_regs\[\][ ]=' drivers/media/i2c/imx219.c + defsc 'static[ ]const[ ]u16[ ]mv88e6390_serdes_regs\[\][ ]=' drivers/net/dsa/mv88e6xxx/serdes.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]zigzag\[64\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsnc 'static[ ]const[ ]u32[ ]hw_reorder\[64\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsnc 'static[ ]const[ ]u8[ ]eos_sequence\[SZ_4K\][ ]=' drivers/staging/media/meson/vdec/codec_h264.c + defsnc 'static[ ]const[ ]struct[ ]v4l2_fract[ ]par_table\[\][ ]=' drivers/staging/media/meson/vdec/codec_h264.c + defsnc 'const[ ]u16[ ]vdec_hevc_parser_cmd\[\][ ]=' drivers/staging/media/meson/vdec/codec_hevc_common.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]uni_def_upcase\[EXFAT_NUM_UPCASE\][ ]=' fs/exfat/nls.c + accept 'int[ ]firmware_request_platform[(]const[ ]struct[ ]firmware[ ][*][*]fw' include/linux/firmware.h + accept 'static[ ]inline[ ]int[ ]firmware_request_platform[(]const[ ]struct[ ]firmware[ ][*][*]fw' include/linux/firmware.h + defsnc '[\t]static[ ]const[ ]u8[ ]test_data\[\][ ]=' lib/test_firmware.c + defsnc 'static[ ]const[ ]struct[ ]reg_table[ ]mt6660_setting_table\[\][ ]=' sound/soc/codecs/mt6660.c + accept '[\t]const[ ]char[ ][*]fw_name[ ]=[ ]["]test-firmware\.bin["]' tools/testing/selftests/firmware/fw_namespace.c + defsnc 'struct[ ]reuse_opts[ ]unreusable_opts\[12\][ ]=' tools/testing/selftests/net/reuseaddr_ports_exhausted.c + blob 'The[ ]card[ ]requires[ ]firmware.*[\n][\t]rm[ ]wd7296a\.sys' Documentation/scsi/wd719x.rst + blobname 'rtl_bt[/]rtl8822cs_fw\.bin' drivers/bluetooth/btrtl.c + # If this is code at all, it could use some assembly comments. + # Most of it is so regular that disassembly of the final irregular + # bits should suffice to make it all transparent. + defsnc 'static[ ]const[ ]u32[ ]vgpr_init_compute_shader_arcturus\[\][ ]=' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + defsnc '[\t]static[ ]const[ ]u8[ ]pre_computed_values\[\][ ]=' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + blobname 'i915[/]tgl_dmc_ver2_06\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'goodix_%s_cfg\.bin' drivers/input/touchscreen/goodix.c + blobname 'dvb-demod-m88ds3103b\.fw' drivers/media/dvb-frontends/m88ds3103_priv.h + blobname 'mediatek[/]mt8173[/]vpu_[pd]\.bin' drivers/media/platform/mtk-vpu/mtk_vpu.c + blobname 'qcom[/]venus-5\.4[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c + blobname 'brcmfmac4364-pcie' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'mediatek[/]mt7622_\(n9\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + blobname 'mediatek[/]mt7663\(pr2h\|_n9\)_v3\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + blobname 'silead[/]\(gsl3680-chuwi-hi8-pro\|gsl3670-cube-iwork8-air\|gsl3676-onda-v80-plus-v3\|gsl1680-pipo-w2s\)\.fw' drivers/platform/x86/touchscreen_dmi.c + accept '[\t]const[ ]char[ ][*]pathname[ ]=[ ]["][/]tmp[/]isst_cpu_topology\.dat["][;]' tools/power/x86/intel-speed-select/isst-config.c + + blobname 'iqs620a\.bin' Documentation/devicetree/bindings/mfd/iqs62x.yaml + blobname 'iqs620a_coil\.bin' Documentation/devicetree/bindings/mfd/iqs62x.yaml + blobname 'imx[/]sdma[/]sdma-imx7d\.bin' arch/arm64/boot/dts/freescale/imx8mp.dtsi + blobname 'qcom[/]sdm845[/]\([ac]dsp\.mdt\|\(mba\|modem\)\.mbn\)' arch/arm64/boot/dts/qcom/sdm845-mtp.dts + blobname 'cpt8x-mc\.tar' drivers/crypto/marvell/octeontx/otx_cptpf_ucode.h + blobname 'amdgpu[/]navi12_dmcu\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + blobname 'iqs62\(0a\|[1245]\)\.bin' drivers/mfd/iqs62x.c + blobname 'ipa_fws\.mdt' drivers/net/ipa/ipa_main.c + blobname 'microchip[/]mscc_vsc8584_revb_int8051_fb48.bin' drivers/net/phy/mscc/mscc.h + blobname 'microchip[/]mscc_vsc8574_revb_int8051_29e8.bin' drivers/net/phy/mscc/mscc.h + # This driver enables the user to update the non-Free BIOS, but it + # only issues a firmware request if specifically told to. It + # doesn't require any non-Free firmware to function, and it + # doesn't actually recommend users to perform updates, so I'm + # leaving it in. + accept '[\t]*pr_err[(]["]request_firmware_nowait[ ]failed' drivers/platform/x86/dell_rbu.c + blobname 'idt82p33xxx\.bin' drivers/ptp/ptp_idt82p33.h + blobname 'meson[/]vdec[/]\(gxbb_h264\|gxl_vp9\|gxl_h264\|gxm_h264\|g12a_vp9\|g12a_h264\|sm1_vp9_mmu\)\.bin' drivers/staging/media/meson/vdec/vdec_platform.c + accept '[\t]rc[ ]=[ ]firmware_request_platform[(][&]firmware[,][ ]' lib/test_firmware.c + accept '[ ]*device[ ]name[ ]with[ ]["]\.bin["][ ]as' Documentation/devicetree/bindings/mfd/iqs62x.yaml + # Moved down. + # blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + accept '[\t][\t]\.sha256[\t ]=[ ][{][ ]0x[0-9a-f][0-9a-f]\([,][ \t\n]*0x[0-9a-f][0-9a-f]\)*[ ][}][,]' drivers/platform/x86/touchscreen_dmi.c + # Sources added to 5.7.8, but they were available elsewhere before.. + defsnc 'static[ ]const[ ]u32[ ]ivb_clear_kernel\[\][ ]=' drivers/gpu/drm/i915/gt/ivb_clear_kernel.c + defsnc 'static[ ]const[ ]u32[ ]hsw_clear_kernel\[\][ ]=' drivers/gpu/drm/i915/gt/hsw_clear_kernel.c + + # New in 5.8-rc5. + blobname 'brcm[/]BCM%s\.hcd' drivers/bluetooth/btbcm.c + accept '[ ]Package[\t]Core[\t]CPU[\t]Bzy_MHz\([\n][ ]0[\t][\t]\([0-9]\|1[0-3]\)[\t]\([0-9]\|1[0-3]\)[\t][1-9][0-9]*\)*' Documentation/admin-guide/pm/intel-speed-select.rst + accept '[ \t]*cellwise[,]battery-profile[ ]=[ ][/]bits[/][ ]8[ ]<\([\n][ \t]*0x[0-9A-F][0-9A-F]\([ ]0x[0-9A-F][0-9A-F]\)*\)*[\n][ \t]*>[;]' Documentation/devicetree/bindings/power/supply/cw2015_battery.yaml + blobname 'imx[/]easrc[/]easrc-imx8mn\.bin' Documentation/devicetree/bindings/sound/fsl,easrc.yaml + defsnc '[ ]*struct[ ]sock_filter[ ]code\[\][ ]=' Documentation/networking/filter.rst + accept '[ ]*gzip[ ]-n[ ]--force[ ]-9[ ]--stdout[ ]["][$]ofile\.bin["]' arch/powerpc/boot/wrapper + accept '[ ][*][ ]*0[ ]-[ ]success[ ][(]no[ ]update[ ]done[ ]or[ ]microcode[ ]was[ ]updated[)]' arch/x86/kernel/cpu/microcode/core.c + blobname 'qca[/]htnv%02x\.bin' drivers/bluetooth/btqca.c + blobname 'rtl_bt[/]rtl8761b_fw\.bin' drivers/bluetooth/btrtl.c + defsnc '[}][ ]postdivs\[\][ ]=' drivers/clk/mmp/clk-audio.c + defsnc '[\t][}][ ]common_modes\[21\][ ]=' drivers/gpu/drm/amd/amdgpu/dce_virtual.c + defsc 'static[ ]const[ ]unsigned[ ]int[ ]a405_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a4xx_gpu.c + blobname 'a6[45]0_\(gmu\.bin\|zap\.mdt\|sqe\.fw\)' drivers/gpu/drm/msm/adreno/adreno_device.c + defsc 'static[ ]const[ ]struct[ ]ltk050h3146w_cmd[ ]page[13]_cmds\[\][ ]=' drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c + defsnc '[\t]dsi_dcs_write_seq[(]dsi[,][ ]0x' drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c + defsnc 'static[ ]const[ ]struct[ ]ov2740_reg[ ]mode_1932x1092_regs\[\][ ]=' drivers/media/i2c/ov2740.c + blobname 'habanalabs[/]gaudi[/]gaudi\(-boot\)\?-fit\.itb' drivers/misc/habanalabs/gaudi/gaudi.c + blobname 'habanalabs[/]gaudi[/]gaudi_tpc\.bin' drivers/misc/habanalabs/gaudi/gaudi.c + blobname 'habanalabs[/]goya[/]goya-boot-fit\.itb' drivers/misc/habanalabs/goya/goya.c + defsnc 'static[ ]const[ ]u8[ ]ice_fdir_\(tc\|ud\|sct\|\|i\)p\(v[46]\|[46]_tun\)_pkt\[\][ ]=' drivers/net/ethernet/intel/ice/ice_fdir.c + defsnc 'static[ ]const[ ]u32[ ]ice_ptypes_gre_of\[\][ ]=' drivers/net/ethernet/intel/ice/ice_flow.c + defsc 'static[ ]const[ ]struct[ ]ath10k_index_v\?ht_data_rate_type[ ]supported_v\?ht_mcs_rate_nss[12]\[\][ ]=' drivers/net/wireless/ath/ath10k/mac.c + defsnc '[\t]static[ ]const[ ]u16[ ]freq_list\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt7615/mcu.c + blobname 'mediatek[/]mt7663\(pr2h\|_n9\)_rebb\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + blobname 'mediatek[/]mt7915_\(w[am]\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h + defsnc 'static[ ]const[ ]u32[ ]rtw8723d_\(ofdm\|cck\)_swing_table\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d.c + blobname 'rtw88[/]rtw8723d_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8723d.c + defsnc 'static[ ]const[ ]u32[ ]rtw8723d_\(mac\|agc\|bb\|rf_a\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8723d_bb_pg\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8723d_txpwr_lmt\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8822c_txpwr_lmt_type5\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d_table.c + blobname 'gsl3680-mpman-mpwin895cl\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl3676-onda-v891-v5\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-techbite-arc-11-6\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-vinga-twizzle_j116\.fw' drivers/platform/x86/touchscreen_dmi.c + defsc 'static[ ]struct[ ]ov2680_reg[ ]const[ ]ov2680_\(global_setting\|\(Q\?CIF\|QVGA\|656x496\|800x600\|720p\|1296x976\|1456x1096\|1616x916\|1616x1082\)_30fps\)\[\][ ]=' drivers/staging/media/atomisp/i2c/ov2680.h + defsnc 'static[ ]struct[ ]ia_css_macc_table[ ]\(skin_\(low\|medium\|high\)\|blue\|green\)_macc_table[ ]=' drivers/staging/media/atomisp/pci/atomisp_tables.h + defsnc 'static[ ]struct[ ]ia_css_ctc_table[ ]vivid_ctc_table[ ]=' drivers/staging/media/atomisp/pci/atomisp_tables.h + blobname 'shisp_240\(0b\|1a\)0_v21\.bin' 'drivers/staging/media/atomisp/\(TODO\|atomisp_v4l2\.c\)' + blobname 'shisp_2401a0_legacy_v21\.bin' drivers/staging/media/atomisp/pci/atomisp_v4l2.c + defsnc 'static[ ]const[ ]s16[ ]g_pyramid\[8\]\[8\][ ]=' drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.c + defsc 'static[ ]const[ ]struct[ ]vnt_threshold[ ]\(al2230\|vt3\(226\|342\)\)_vnt_threshold\[\][ ]=' drivers/staging/vt6656/baseband.c + defsnc 'static[ ]const[ ]int[ ]k3_adc_to_temp\[\][ ]=' drivers/thermal/k3_bandgap.c + blobname 'renesas_usb_fw\.mem' drivers/usb/host/xhci-pci.c + defsnc 'static[ ]u8[ ]swap_bits_table\[\][ ]=' lib/bch.c + blobname 'dsm_param\(_%s_%s\)\?\.bin' sound/soc/codecs/max98390.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1016_reg\[\][ ]=' sound/soc/codecs/rt1016.c + defsnc 'const[ ]struct[ ]reg_default[ ]rt5682_reg\[RT5682_REG_NUM\][ ]=' sound/soc/codecs/rt5682.c + blobname 'zl38060\.fw' sound/soc/codecs/zl38060.c + blobname '%s-tplg\.bin' sound/soc/intel/skylake/skl-topology.c + defsnc 'static[ ]uint8_t[ ]default_tx\[\][ ]=' tools/spi/spidev_test.c + # This is not used at all, but watch out for future uses thereof. + # It is intended for use to load large register-set files rather + # than code. That ought to be acceptable, but let's make sure no + # unwanted use slips through. + blobna 'load_msr_list' drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c + accept 'int[ ]load_msr_list[(][^)]*[)][\n][{][\n][\t]*int[ ]ret[ ]=[ ]request_firmware[(]' drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c + accept '\(extern[ ]\)\?int[ ]load_msr_list[(][^)]*[)][;]' drivers/staging/media/atomisp/include/linux/libmsrlisthelper.h + blobname 'qca[/]crbtfw%02x\.tlv' drivers/bluetooth/btqca.c + blobname 'qca[/]htbtfw%02x\.tlv' drivers/bluetooth/btqca.c + blobname 'qca[/]%s' drivers/bluetooth/btqca.c + accept '[\t]quirks[ \t]*=[ ]XHCI_RENESAS_FW_QUIRK[,][\n][\t]\.firmware[ ]=' drivers/usb/host/xhci-pci.c + accept '[\t]*dev_err[(][&]pdev->dev[,][ ]["]request_firmware[ ]failed' drivers/usb/host/xhci-pci-renesas.c + accept 'EXPORT_SYMBOL_GPL[(]load_msr_list[)]' drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c + blobna 'for[ ]the[ ]WinTV[/]PVR[^:.]*firmware[^:.]*:[\n ][`][`]hcwamc\.rbf[^\n]*\([\n][^\n][^\n]*\)*' Documentation/admin-guide/media/bttv.rst + + # New in 5.8.2, 5.7.16, 5.4.59, and 4.19.140. + blobname 'mrvl[/]sdsd8977_combo_v2\.bin' 'drivers/\(bluetooth/btmrvl_sdio\.c\|net/wireless/marvell/mwifiex/sdio\.h\)' + blobname 'mrvl[/]sdsd8997_combo_v4\.bin' 'drivers/\(bluetooth/btmrvl_sdio\.c\|net/wireless/marvell/mwifiex/sdio\.h\)' + + # New in 5.9-rc6. + accept '[ ][ ]For[ ]pm\(8841\|8916\|8941\|8994\|8994\|a8084\|i8994\|i8998\|s405\)\([,][ \n][ ]*[slv0-9]*\)*' Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml + initnc '[ ][ ][ ][ ][$][ ]devlink[ ]region[ ]dump[ ]pci[/][^ ]*[ ]snapshot' Documentation/networking/devlink/ice.rst + blobname 'nvm_00440302_i2s_eu\.bin' arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi + initnc '[\t][\t]temperature-lookup-table[ ]=[ ]<' arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi + blobname 'nvm_00440302_i2s\.bin' arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi + defsnc 'static[ ]const[ ]u64[ ]inst\[\][ ]=' drivers/crypto/qat/qat_common/qat_hal.c + defsnc 'static[ ]u8[ ]mci_cbc_\(enc\|dec\)_\(no_iv_\)\?array\[3\]\[MODE_CONTROL_BYTES\][ ]=' drivers/crypto/sa2ul.c + defsnc 'static[ ]u8[ ]mci_ecb_\(enc\|dec\)_\(no_iv_\)\?array\[3\]\[27\][ ]=' drivers/crypto/sa2ul.c + blobname 'amdgpu[/]\(tahiti\|verde\|pitcairn\|oland\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]\(sienna_cichlid\|navy_flounder\)_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]\(sienna_cichlid\|navy_flounder\|%s\)_sdma\(%d\)\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c + # Sources are in cwsr_trap_handler_gfx10.asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_nv1x_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + blobname 'amdgpu[/]\(sienna_cichlid\|navy_flounder\|%s\)_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c + blobname 'i915[/]rkl_dmc_ver2_01\.bin' drivers/gpu/drm/i915/display/intel_csr.c + initnc '[\t]dsi_dcs_write_seq[(]dsi[,][ ]ST7703_CMD_SET\(GIP[12]\|GAMMA\)[,]' drivers/gpu/drm/panel/panel-sitronix-st7703.c + defsnc 'static[ ]const[ ]struct[ ]vadc_map_pt[ ]adcmap7_100k\[\][ ]=' drivers/iio/adc/qcom-vadc-common.c + defsc '[}][ ]ov10635_regs_wizard\[\][ ]=' drivers/media/i2c/rdacm20.c + accept '[\t][/][*][ ]get[ ]reference[ ]of[ ]pdev[ ]for[ ]request_firmware[ ][*][/]' drivers/misc/ti-st/st_kim.c + accept '[ ][*][ ]@path:[ ]the[ ]path[ ]of[ ]the[ ]firmware[ ]file[ ]to[ ]use[ ]via[ ]request_firmware' drivers/net/ethernet/intel/ice/ice_devlink.c + blobname 'mellanox[/]mlxsw_spectrum3-\(["][ ]__stringify[(]MLXSW_SP3_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'rtl_nic[/]rtl8125b-2\.fw' drivers/net/ethernet/realtek/r8169_main.c + defsnc 'static[ ]const[ ]u8[ ]rtl88\(12\|21\)ae_delta_swing_table_idx_5g[ba]_[np]\[\]\[DEL_SW_IDX_SZ\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c + defsnc 'static[ ]const[ ]u32[ ]rtw8821c_txscale_tbl\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c.c + defsnc 'static[ ]const[ ]u8[ ]rtw8821c_pwrtrk_5g[ba]_[np]\[\]\[RTW_PWR_TRK_TBL_SZ\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c.c + blobname 'rtw88[/]rtw8821c_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8821c.c + defsnc 'static[ ]const[ ]u32[ ]rtw8821c_\(mac\|agc\|bb\|rf_a\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8821c_bb_pg_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8821c_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c_table.c + defsnc 'static[ ]const[ ]struct[ ]xpsgtr_ssc[ ]ssc_lookup\[\][ ]=' drivers/phy/xilinx/phy-zynqmp.c + accept '[\t]*dev_err[(]dev[,][ ]["]request_firmware[ ]failed' drivers/remoteproc/remoteproc_core.c + defsnc 'const[ ]unsigned[ ]char[ ]\(IDX_ACTIVATE_\(READ\|WRITE\)\|\(CM\|ULP\)_\(ENABLE\|SETUP\)\|DM_ACT\|IPA_PDU_HEADER\)\[\][ ]=' drivers/s390/net/qeth_core_mpc.c + defsnc '[\t]static[ ]const[ ]u8[ ]sbox_table\[256\][ ]=' drivers/staging/rtl8723bs/core/rtw_security.c + defsnc '[\t]static[ ]const[ ]u8[ ]rx_hash_toeplitz_key\[\][ ]=' drivers/vdpa/mlx5/net/mlx5_vnet.c + defsnc 'static[ ]struct[ ]test_bitmap_cut[ ]test_cut\[\][ ]=' lib/test_bitmap.c + defsnc 'static[ ]__maybe_unused[ ]const[ ]a3d_Hrtf_t[ ]A3dHrir\(Impulse\|Ones\|SatTest\|DImpulse\)[ ]=' sound/pci/au88x0/au88x0_a3ddata.c + defsnc 'static[ ]__maybe_unused[ ]xtalk_dline_t[ ]const[ ]alXtalkDlineTest[ ]=' sound/pci/au88x0/au88x0_xtalk.c + accept '[\t]const[ ]char[ ][*]pathname[ ]=[ ]["][/]var[/]run[/]isst_cpu_topology\.dat["]' tools/power/x86/intel-speed-select/isst-config.c + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]file_name[,][\n\t ]*[&]priv->hwdev->hwif->pdev->dev[)]' drivers/net/ethernet/huawei/hinic/hinic_devlink.c + accept '[\t]err[ ]=[ ]ice_check_for_pending_update[(]pf[,][ ]component[,][ ]extack[)][;][\n][\t]if[ ][(]err[)][\n][\t][\t]return[ ]err[;][\n][\n][\t]err[ ]=[ ]request_firmware[(][&]fw[,][ ]path[,][ ]dev[)]' drivers/net/ethernet/intel/ice/ice_devlink.c + blobname 'atmel[/]wilc1000_wifi_firmware-\([0-9]\+\.bin\)\?' drivers/net/wireless/microchip/wilc1000/netdev.c + # We massage the file with undefine_macro before clean_blob. + blobname '[/][*][(]DEBLOBBED[)][*][/]["][ ][#]api[ ]["]\.bin' drivers/net/wireless/microchip/wilc1000/netdev.c + defsnc '[\t]static[ ]const[ ]struct[ ]ephy_info[ ]e_info_8125a_[12]\[\][ ]=' drivers/net/ethernet/realtek/r8169_main.c + + # New in 5.9 final. + blobname 'gsl1680-mpman-converter9.fw' drivers/platform/x86/touchscreen_dmi.c + defsc 'static[ ]struct[ ]font_data[ ]fontdata_ter16x32[ ]=' lib/fonts/font_ter16x32.c + + # New in 5.9.2 and 5.8.17. + accept '[\t][\t]\.driver_data[ ]=[ ]["]\(sof\|reef\)-[^" ;]*\.tplg["]' sound/soc/sof/'\(sof\|reef\)-pci-dev\.c' + + # New in 5.9.7 and 5.4.76. + defsc 'static[ ]const[ ]struct[ ]font_data[ ]fontdata_ter16x32[ ]=' lib/fonts/font_ter16x32.c + + # New in 5.9.9. + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8250_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8250.c + + # New in 5.10-rc. + defsc '\([/][*]\)\?static[ ]unsigned[ ]int[ ]\(No\)\?DbiPrbs7\[\][ ]=' drivers/gpu/drm/amd/pm/inc/smu_11_0_cdr_table.h + defsnc 'static[ ]const[ ]struct[ ]phy_settings[ ]vc5_hdmi_phy_settings\[\][ ]=' drivers/gpu/drm/vc4/vc4_hdmi_phy.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad9434_scale_table\[\]\[2\][ ]=' drivers/iio/adc/ad9467.c + defsc 'static[ ]const[ ]struct[ ]reg_default[ ]lp50\(24\|36\)_reg_defs\[\][ ]=' drivers/leds/leds-lp50xx.c + defsc 'static[ ]const[ ]struct[ ]SMap[I2 ]\?[ ]m_\(RF_Cal\|\(Main\|Cal\)_PLL\|GainTaper\|RF_Cal_DC_Over_DT\|CID_Target\)_Map\[\][ ]=' drivers/media/dvb-frontends/tda18271c2dd_maps.h + defsnc 'static[ ]const[ ]struct[ ]ov8856_reg[ ]mode_\(3264x2448\|1632x1224\)_regs\[\][ ]=' drivers/media/i2c/ov8856.c + defsc 'static[ ]const[ ]u32[ ]CRC_LUT\[256\][ ]=' drivers/media/test-drivers/vidtv/vidtv_psi.c + defsc 'static[ ]const[ ]u8[ ]reverse\[256\][ ]=' drivers/media/test-drivers/vidtv/vidtv_s302m.c + defsnc 'static[ ]const[ ]u8[ ]r8a779\(6\(5\|_es13\)\|90\)_calib_table\[2\]\[SDHI_CALIB_TABLE_MAX\][ ]=' drivers/mmc/host/renesas_sdhi_core.c + defsnc 'static[ ]const[ ]u16[ ]mcp251xfd_crc16_table\[\][ ]=' drivers/net/can/spi/mcp251xfd/mcp251xfd-crc16.c + defsnc 'static[ ]const[ ]u32[ ]ice_ipv[46]_\(ofos\|il\)_no_l4\[\][ ]=' drivers/net/ethernet/intel/ice/ice_flow.c + defsc 'static[ ]const[ ]struct[ ]ath10k_mem_section[ ]qca6174_hw30_sdio_register_sections\[\][ ]=' drivers/net/wireless/ath/ath10k/coredump.c + accept 'const[ ]struct[ ]firmware[ ][*]ath11k_core_firmware_request[(]' drivers/net/wireless/ath/ath11k/'core\.[ch]' + accept '[\t]*\(bd->fw\|fw_entry\|fw\)[ ]=[ ]ath11k_core_firmware_request[(]' drivers/net/wireless/ath/ath11k/qmi.c + blobname '\(amss\|m3\)\.bin' drivers/net/wireless/ath/ath11k/hw.h + blobname 'gsl1680-irbis-tw118\.fw' drivers/net/wireless/intel/iwlwifi/fw/pnvm.c + blobname 'gsl3680-predia-basic\.fw' drivers/net/wireless/intel/iwlwifi/fw/pnvm.c + accept '[\t]s->data_sz[ ][=][ ][0-9]*[;][\n][\t]s->data[ ]=[ ][(]void[ ][*][)]["]\([\\]\([0-7][0-7]*\|x[0-9a-f][0-9a-f]\|[\n]\)\)*["][;]' kernel/bpf/preload/iterators/iterators.skel.h + accept '[ ][*][ ]@file_offset:[ ]file[ ]offset[ ]to[ ]request[ ]when[ ]calling[ ]request_firmware_into_buf' lib/test_firmware.c + accept '[ ][*][ ]@partial:[ ]partial[ ]read[ ]opt[ ]when[ ]calling[ ]request_firmware_into_buf' lib/test_firmware.c + accept '[\t]*req->rc[ ]=[ ]request_\(partial_\|\)firmware_into_buf[\n][\t]*[(][&]req->fw[,][\n][\t]*[ ]req->name' lib/test_firmware.c + blobname 'qcom[/]sc7180-trogdor[/]modem[/]\(mba\|qdsp6sw\)\.mbn' arch/arm64/boot/dts/qcom/sc7180-trogdor-lte-sku.dtsi + blobname 'qcom[/]sc7180-trogdor[/]modem-nolte[/]\(mba\|qdsp6sw\)\.mbn' arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi + blobname 'qcom[/]sdm845[/][ac]dsp\.mdt' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + blobname 'qcom[/]sdm845[/]mba\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + blobname 'qcom[/]sdm845[/]modem\.mdt' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + accept '[ ][*][ ]request_partial_firmware_into_buf[(][)][ ]-[ ]load' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]This[ ]function[ ]works[ ]pretty[ ]much[ ]like[ ]request_firmware_into_buf[ ]except' drivers/base/firmware_loader/main.c + accept 'request_partial_firmware_into_buf[(]const[ ]struct[ ]firmware' drivers/base/firmware_loader/main.c + accept 'EXPORT_SYMBOL[(]request_partial_firmware_into_buf[)]' drivers/base/firmware_loader/main.c + accept '\(static[ ]inline[ ]\)\?int[ ]request_partial_firmware_into_buf\([(]const[ ]struct[ ]firmware\|[\n]\)' include/linux/firmware.h + accept '[\t]retval0[ ]=[ ]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_partial_firmware_into_buf[(][&]xfw[,][ ]NONFREE_FIRMWARE' include/linux/firmware.h + accept '[\t]if[ ][(]is_nonfree_firmware[^\n]*[\n][\t][\t]return[ ]reject_partial_firmware_into_buf[^\n]*[\n][\t]else[\n][\t][\t]return[ ]request_partial_firmware_into_buf[(]firmware_p[,][ ]name[,]' include/linux/firmware.h + accept 'test_request_partial_firmware_into_buf\(_nofile\)\?\([(][)]\|[ ][0-9]\)' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]echo[ ]-n[ ]["]Test[ ]request_partial_firmware_into_buf[(][)]' tools/testing/selftests/firmware/fw_filesystem.sh + blobname 'amdgpu[/]green_sardine_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]green_sardine_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c + blobname 'cadence[/]mhdp8546\.bin' drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.h + blobname 'i915[/]rkl_dmc_ver2_02\.bin' drivers/gpu/drm/i915/display/intel_csr.c + blobname 'i915[/]tgl_dmc_ver2_08\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'mrvl[/]prestera[/]mvsw_prestera_fw-v%u\.%u\.img' drivers/net/ethernet/marvell/prestera/prestera_pci.c + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]params->file_name' drivers/net/ethernet/huawei/hinic/hinic_devlink.c + accept '[\t]err[ ]=[ ]request_firmware[(][&]fw[,][ ]params->file_name[,][ ]dev[)]' drivers/net/ethernet/intel/ice/ice_devlink.c + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]params->file_name' drivers/net/ethernet/mellanox/mlx5/core/devlink.c + accept '[\t]err[ ]=[ ]request_firmware[(][&]fw[,][ ]fw_name[,][ ]ionic->dev[)]' drivers/net/ethernet/pensando/ionic/ionic_fw.c + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]firmware[,][ ]params->file_name' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'intel[/]ibt-%u-%u-%u\.sfi' drivers/bluetooth/hci_intel.c + blobname '[^ ]*[:][/][/][^ ]*linux-can[/]can-firmware' drivers/net/can/softing/Kconfig + blobna 'which[ ]you[ ]can[ ]get[ ]at[\n][ ][ ][ ]http[^\n]*[/]linux-can[/][\n][^-]*firmware[ ]version[^\n]*' drivers/net/can/softing/Kconfig + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ca0113_mmio_init_\(address\|data\)_ae5\[\][ ]=' sound/pci/hda/patch_ca0132.c + blobname 'qcom[/]LENOVO[/]81F1[/]qcdsp\(1v\)\?28998.mbn' arch/arm64/boot/dts/qcom/msm8998-lenovo-miix-630.dts + blobname 'qcom[/]sdm845[/]a630_zap\.mbn' arch/arm64/boot/dts/qcom/'sdm845-\(db845c\|mtp\|xiaomi-beryllium\)\.dts' + blobname 'qcom[/]LENOVO[/]81JL[/]qc\([ac]dsp\|dsp\(1v\)\?2\)850\.mbn' arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts + blobname 'qcom[/]LENOVO[/]81JL[/]qcdxkmsuc850\.mbn' 'Documentation/devicetree/bindings/display/msm/gpu.txt\|arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts' + blobname 'qcom[/]sm8250[/]\([ac]dsp\|slpi\).mbn' arch/arm64/boot/dts/qcom/sm8250-mtp.dts + + # New in 5.11-rc6. + initnc '[\t][\t]dlg,mem-array[ ]=[ ]<' Documentation/devicetree/bindings/input/dlg,da7280.txt + initnc '\.Lpermute:' arch/arm/crypto/chacha-neon-core.S + blobname 'qca[/]crnv%02xu\.bin' drivers/bluetooth/btqca.c + blobname 'rtl_bt[/]rtl8852au_fw\.bin' drivers/bluetooth/btrtl.c + blobname 'qca[/]nvm_usb_%08x_%04x\.bin' drivers/bluetooth/btusb.c + blobname 'amdgpu[/]%s_toc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + # Moved down, after %s_cap and %s.bin under 5.18-rc. + # blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + blobname 'amdgpu[/]vangogh_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]dimgrey_cavefish_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]vangogh_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c + blobname 'amdgpu[/]dimgrey_cavefish_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]VCN0_BASE[ ]=[ ]' drivers/gpu/drm/amd/include/dimgrey_cavefish_ip_offset.h + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(FCH\|MP2\|USB\)_BASE[ ]=[ ]' drivers/gpu/drm/amd/include/vangogh_ip_offset.h + defsnc 'static[ ]struct[ ]lt9611uxc_mode[ ]lt9611uxc_modes\[\][ ]=' drivers/gpu/drm/bridge/lontium-lt9611uxc.c + blobname 'i915[/]dg1_dmc_ver2_02\.bin' drivers/gpu/drm/i915/display/intel_csr.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]sx9310_pthresh_codes\[\][ ]=' drivers/iio/proximity/sx9310.c + defsc 'static[ ]const[ ]struct[ ]reg_8[ ]imx274_mode6_1280x540_raw10\[\][ ]=' drivers/media/i2c/imx274.c + defsnc 'static[ ]const[ ]struct[ ]ov02a10_reg[ ]ov02a10_1600x1200_regs\[\][ ]=' drivers/media/i2c/ov02a10.c + defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5640_setting_QQVGA_160_120\[\][ ]=' drivers/media/i2c/ov5640.c + defsnc 'static[ ]const[ ]struct[ ]ov9734_reg[ ]mode_1296x734_regs\[\][ ]=' drivers/media/i2c/ov9734.c + defsnc 'static[ ]const[ ]int[ ]pf8x00_sw7_voltages\[\][ ]=' drivers/regulator/pf8x00-regulator.c + defsc 'static[ ]const[ ]u8[ ]prob_table_init\[\][ ]=' drivers/staging/media/sunxi/cedrus/cedrus_vp8.c + defsnc 'static[ ]const[ ]u8[ ]k_mv_entropy_update_probs\[2\]\[V4L2_VP8_MV_PROB_CNT\][ ]=' drivers/staging/media/sunxi/cedrus/cedrus_vp8.c + defsnc 'static[ ]const[ ]u32[ ]SHA256_K\[\][ ]=' lib/crypto/sha256.c + accept '[\t]local[ ]mount_img=["][$][{]tmp_dir[}][/]test\.img' tools/testing/selftests/bpf/ima_setup.sh + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]sync_v2\[\][ ]=' tools/testing/selftests/net/timestamping.c + accept '[\t]if[ ][(][!]encl_load[(]["]test_encl\.elf["]' tools/testing/selftests/sgx/main.c + accept 'MZPKT_[A-Z0-9_]*=["][0-9a-f][0-9a-f]\(:\([\\][\n]\)\?[0-9a-f][0-9a-f]\)*["]' tools/testing/selftests/net/forwarding/bridge_mld.sh + accept 'CBPF_MPTCP_SUBOPTION_ADD_ADDR=["][0-9,\n\t ]*["]' tools/testing/selftests/net/mptcp/mptcp_join.sh + accept 'int[ ]s3fwrn5_fw_request_firmware[(]struct[ ]s3fwrn5_fw_info' drivers/nfc/s3fwrn5/'firmware\.[ch]' + accept '[\t]ret[ ]=[ ]request_firmware[(][&]params\.fw[,][ ]file_name[,][ ]devlink->dev[)]' net/core/devlink.c + defsnc 'static[ ]const[ ]struct[ ]coex_5g_afh_map[ ]afh_5g_8822b\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b.c + blobname 'ccs[/]ccs-\(sensor\|module\)-%4.4x-%4.4x-%4.4x\.fw' drivers/media/i2c/ccs/ccs-core.c + blobname 'lt9611uxc_fw\.bin' drivers/gpu/drm/bridge/lontium-lt9611uxc.c + blobname 'qat_4xxx\(\|_\(mmp\|sym\|asym\|admin\)\)\.bin' drivers/crypto/qat/qat_4xxx/adf_4xxx_hw_data.h + blobname 'qcom[/]sdx55m[/]\(sbl1\|edl\)\.mbn' drivers/bus/mhi/pci_generic.c + blobname 'qcom[/]sm8150[/]\([ac]dsp\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8150-hdk.dts + blobname 'qcom[/]sm8150[/]\([ac]dsp\|modem\|slpi\)\.mdt' arch/arm64/boot/dts/qcom/sm8150-mtp.dts + blobname 'imx[/]xcvr[/]xcvr-imx8mp\.bin' sound/soc/fsl/fsl_xcvr.c + + # New in 5.11.3. + accept '[\t]s6e63m0_dcs_write_seq_static[(]ctx[,][ ]MCS_[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-samsung-s6e63m0.c + + # New in 5.12-rc5. + blobname 'ice\.pkg' drivers/net/ethernet/intel/ice/ice_main.c + blob 'Dynamic[ ]Device[ ]Personalization[\n]-\+[\n]\([^\n]\+[\n][\n]\?\)*of[ ]the[ ]default[ ]DDP[ ]package[ ]file[ ][(]ice\.pkg[)]\.' Documentation/networking/device_drivers/ethernet/intel/ice.rst + initnc '[ \t]*[.]active_vlans[ ]=[ ][(]unsigned[ ]long[ ]\[64\][)]' Documentation/networking/device_drivers/qlogic/qlge.rst + accept '[ \t]*["]values["]:[ ]\[[ ]0\([,]0\)*[ ]\]' Documentation/networking/device_drivers/qlogic/qlge.rst + blobname 'qcom[/]sm8250[/][ac]dsp\.mbn' arch/arm64/boot/dts/qcom/qrb5165-rb5.dts + blobname 'qcom[/]sm8250[/]a650_zap\.mbn' arch/arm64/boot/dts/qcom/'qrb5165-rb5\|sm8250-mtp\.'dts + blobname 'qcom[/]sdm845[/]oneplus6[/]\([ac]dsp\|a630_zap\|mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi + blobname 'oneplus6[/]crnv21\.bin' arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi + blobname 'mediatek[/]BT_RAM_CODE_MT%04x_1_%x_hdr\.bin' drivers/bluetooth/btusb.c + blobname 'mrvl[/]cpt%02d[/]%s\.out' drivers/crypto/marvell/octeontx2/otx2_cptpf_ucode.c + blobname 'a5\(08\|12\)_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c + defsc 'static[ ]const[ ]struct[ ]khadas_ts050_panel_cmd[ ]init_code\[\][ ]=' drivers/gpu/drm/panel/panel-khadas-ts050.c + blobname 'dvb-demod-mxl692\.fw' drivers/media/dvb-frontends/mxl692.h + defsnc 'static[ ]const[ ]struct[ ]imx334_reg[ ]mode_3840x2160_regs\[\][ ]=' drivers/media/i2c/imx334.c + defsnc 'static[ ]struct[ ]regval_list[ ]ov5647_\(2592x1944\|1080p30\|2x2binned\|640x480\)_10bpp\[\][ ]=' drivers/media/i2c/ov5647.c + defsc 'static[ ]const[ ]struct[ ]ov8865_register_value[ ]ov8865_\(register_values_\(native\|binning\)\|init_sequence\)\[\][ ]=' drivers/media/i2c/ov8865.c + blobname 'v\(k\(_[ab]0\|\)\|p\)-boot[12]\.bin' drivers/misc/bcm-vk/bcm_vk_dev.c + defsc 'static[ ]const[ ]u8[ ]mv88e6xxx_lag_mask_table\[8\]\[8\][ ]=' drivers/net/dsa/mv88e6xxx/chip.c + defsnc 'static[ ]const[ ]struct[ ]rtl8366rb_jam_tbl_entry[ ]rtl8366rb_init_jam_\(ver_[0123]\|f5d8235\)\[\][ ]=' drivers/net/dsa/rtl8366rb.c + blobname 'mediatek[/]WIFI_RAM_CODE_MT7961_1\.bin' drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h + blobname 'mediatek[/]WIFI_MT7961_patch_mcu_1_2_hdr\.bin' drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h + defsnc 'static[ ]const[ ]u32[ ]rtw8821c_agc_btg_type2\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c_table.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sc8180x_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sc8180x.c + blobname 'gsl3680-jumper-ezpad-7\.fw' drivers/platform/x86/touchscreen_dmi.c + defsnc '\(static[ ]\)\?unsigned[ ]short[ ]\(plain\|shift\|altgr\|ctrl\|shift_ctrl\|alt\|ctrl_alt\)_map\[NR_KEYS\][ ]=' drivers/tty/vt/defkeymap.c_shipped + defsnc 'static[ ]const[ ]struct[ ]xr_txrx_clk_mask[ ]xr21v141x_txrx_clk_masks\[\][ ]=' drivers/usb/serial/xr_serial.c + defsc '[\t]static[ ]const[ ]u32[ ]base\[4\]\[12\][ ]=' net/wireless/util.c + defsnc 'static[ ]const[ ]struct[ ]comp_coeff_val[ ]comp_coeff_table\[HPH_MODE_MAX\]\[COMP_MAX_COEFF\][ ]=' sound/soc/codecs/lpass-rx-macro.c + accept 'ROOTFS_IMAGE=["]root\.img["]' tools/testing/selftests/bpf/vmtest.sh + accept '[\t]img_fd[ ]=[ ]openat[(]-EBADF[,][ ]["][/]mnt[/]C[/]ext4\.img["]' tools/testing/selftests/mount_setattr/mount_setattr_test.c + accept '[\t]ASSERT_EQ[(]system[(]["]mkfs\.ext4[ ]-q[ ][/]mnt[/]C[/]ext4\.img["][)]' tools/testing/selftests/mount_setattr/mount_setattr_test.c + accept '[\t]echo[ ]["][ ]---[ ]make[ ]\(clean\|allmodconfig\|\)["][ ][>]\+[ ]["][$]amcdir[/]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh + accept '[\t]make[ ]-j[$]MAKE_ALLOTED_CPUS[ ]\(clean[ ]\|allmodconfig[ ]\|\)[>][>][ ]["][$]amcdir[/]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh + + # New in 5.12.9, 5.10.42. + blobname '\(silead[/]\)\?gsl1680-chuwi-hi10-pro\.fw' drivers/platform/x86/touchscreen_dmi.c + + # New in 5.13-rc. + # Sources are in cwsr_trap_handler_gfx9.asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_aldebaran_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + defsnc '[\t]static[ ]const[ ]uint16_t[ ]prime_numbers\[\][ ]=' drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(\(IO\(AGR\|APIC\)\|L1IMU\(IOAGR\|PCIE\)\)0\|WAFL[01]\|XGMI[012]\)_BASE[ ]=' + defsnc '[\t]const[ ]struct[ ]reg_sequence[ ]seq\[\][ ]=' drivers/gpu/drm/bridge/lontium-lt8912b.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]jpeg_d[qh]t\[\][ ]=' drivers/media/platform/imx-jpeg/mxc-jpeg.c + accept '[ ][*][ ]@fw_get_done:[\t]flag[ ]set[ ]when[ ]request_firmware[(][)]' drivers/media/platform/s5p-mfc/s5p_mfc_common.h + defsnc 'static[ ]const[ ]u8[ ]ice_fdir_\(\(udp\|tcp\|icmp\|ipv\)4_gtpu4\|ipv[46]_\(l2tpv3\|\(nat_t_\)\?esp\|ah\|pfcp_\(session\|node\)\)\)_pkt\[\][ ]=' drivers/net/ethernet/intel/ice/ice_fdir.c + defsnc 'static[ ]const[ ]u32[ ]ice_ptypes_\(mac_ofos\|macvlan_il\|ipv[46]_ofos_all\|\(arp\|icmp\)_of\|ipv[46]_\(ofos\|il\)_no_l4\|icmp_\(of\|il\)\|mac_il\|gtpc\(_tid\)\?\|gtpu\|pppoe\|pfcp_\(node\|session\)\|l2tpv3\|\(nat_t_\)\?esp\|ah\|mac_non_ip_ofos\)\[\][ ]=' drivers/net/ethernet/intel/ice/ice_flow.c + defsnc '[\t]static[ ]const[ ]u8[ ]chan_list_5ghz\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sc7280_pdc_map\[\][ ]=' drivers/pinctrl/gcom/pinctrl-sc7280.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8350_pdc_map\[\][ ]=' drivers/pinctrl/gcom/pinctrl-sc8350.c + defsnc 'static[ ]const[ ]int[ ]bd7181x_wled_currents\[\][ ]=' drivers/regulator/bd71815-regulator.c + accept '[ ][*][ ]lpfc_request_firmware_upgrade_store[ ]-[ ]Request[ ]for[ ]Linux[ ]generic[ ]firmware[ ]upgrade' drivers/scsi/lpfc/lpfc_attr.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]by_vt3253_init_tab_rfmd\[CB_VT3253_INIT_FOR_RFMD\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + defsnc '[}][ ]test_div64_results\[SIZE_DIV64_DIVISORS\]\[SIZE_DIV64_DIVIDENDS\][ ]=' lib/math/test_div64.c + defsnc 'static[ ]const[ ]struct[ ]cs8409_i2c_param[ ]cs42l42_init_reg_seq\[\][ ]=' sound/pci/hda/patch_cirrus.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1019_reg\[\][ ]=' sound/soc/codecs/rt1019.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1316_reg_defaults\[\][ ]=' sound/soc/codecs/rt1316-sdw.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt1316_blind_write\[\][ ]=' sound/soc/codecs/rt1316-sdw.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt711_sdca_reg_defaults\[\][ ]=' sound/soc/codecs/rt711-sdca-sdw.h + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt715_reg_defaults_sdca\[\][ ]=' sound/soc/codecs/rt715-sdca-sdw.h + defsnc 'static[ ]const[ ]char[ ][*]mips_gpr_names\[32\][ ]=' tools/perf/arch/mips/util/dwarf-regs.c + accept '[\t]unlink[(]["][/]var[/]run[/]isst_cpu_topology\.dat["][)]' tools/power/x86/intel-speed-select/isst-config.c + defsnc 'const[ ]struct[ ]vm_guest_mode_params[ ]vm_guest_mode_params\[\][ ]=' tools/testing/selftests/kvm/lib/kvm_util.c + accept '[\t]rpipwm->firmware[ ]=[ ]firmware[;]' drivers/pwm/pwm-raspberrypi-poe.c + blobname 'qcom[/]sdm845[/][ac]dsp\.mbn' arch/arm64/boot/dts/qcom/sdm845-db845c.dts + blobname 'qcom[/]sm8350[/]\([ac]dsp\|modem\|slpi\|\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-'\(hdk\|mtp\)\.dts' + blobname 'qcom[/]sdx65m[/]xbl\.elf' drivers/bus/mhi/pci_generic.c + blobname 'qcom[/]sdx65m[/]edl\.mbn' drivers/bus/mhi/pci_generic.c + blobname 'qcom[/]prog_firehose_sdx24\.mbn' drivers/bus/mhi/pci_generic.c + blobname 'amdgpu[/]aldebaran_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]aldebaran_\(sos\|ta\)\.bin' drivers/gpu/drm/amd/amdgpu/psp_v13_0.c + blobname 'amdgpu[/]\(aldebaran\|%s\)_smc\.bin' drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c + blobname 'i915[/]adls_dmc_ver2_01\.bin' drivers/gpu/drm/i915/display/intel_csr.c + blobname 'qcom[/]vpu-1\.0[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c + blobname 'rtl_nic[/]rtl815\(3c-1\|6[ab]-2\)\.fw' drivers/net/usb/r8152.c + blobname '\(silead[/]\)\?gsl3692-teclast-tbook11\.fw' drivers/platform/x86/touchscreen_dmi.c + + # New in 5.13.2, 5.12.17, 5.10.50. + blobname 'amd[/]amd_sev_fam1[79]h_model[03]xh\.sbin' drivers/crypto/ccp/sev-dev.c + blobname 'gt912-glavey-tm800a550l.fw' drivers/platform/x86/touchscreen_dmi.c + + # New in 5.13.4, 5.12.19. + defsnc 'static[ ]unsigned[ ]char[ ]screen_bits\[\][ ]=' arch/m68k/68000/screen.h + # New in 5.13.4, 5.12.19, 5.10.52. + defsc '[\t]setrate_44100\[\][ ]=' sound/usb/usx2y/usbusx2yaudio.c + defsc 'static[ ]const[ ]struct[ ]s_c2[ ]setrate_48000\[\][ ]=' sound/usb/usx2y/usbusx2yaudio.c + + # New in 5.13.5 and 5.10.53. + blobna 'and[ ]booted[ ]am335x-pm-firmware\.elf\.[\n][ ][*][/]' Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt + + # New in 5.14-rc. + accept '[ ]*nvidia,emc-registers[ ]=[ ]*<\(0x[0-9a-f]*[ \n]*\)*>[;]' Documentation/devicetree/bindings/memory-controllers/nvidia,tegra20-emc.yaml + blobname 'msnv11\.bin' Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml + blobname 'qcom[/]sm8150[/]microsoft[/]\([ac]dsp\|modem\|slpi\)\.mdt' arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts + blobname 'qca[/]msbtfw%02x\.\(tlv\|mbn\)' drivers/bluetooth/btqca.c + blobname 'qca[/]msnv%02x\.bin' drivers/bluetooth/btqca.c + blobname 'rtl_bt[/]rtl8761bu_fw\.bin' drivers/bluetooth/btrtl.c + blobname 'amdgpu[/]\(beige_goby\|yellow_carp\)_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + defsnc 'static[ ]const[ ]u32[ ]\(vgpr\|sgpr\(112\|96\|64\)\)_init_compute_shader_aldebaran\[\][ ]=' drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.c + blobname 'amdgpu[/]\(beige_goby\|yellow_carp\)_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c + defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]PCIE_BASE[ ]=' drivers/gpu/drm/amd/include/yellow_carp_offset.h + blobname 'i915[/]["][ \t\\\n]*__stringify[(]platform[)][ ]["]_dmc_ver["][ \t\\\n]*__stringify[(]major[)][ ]["]_["][ \t\\\n]*__stringify[(]minor[)][ ]["]\.bin' drivers/gpu/drm/i915/display/intel_dmc.c + defsnc 'static[ ]const[ ]u8[ ]rc_range_\(min\|max\)qp444_8bpc\[DSC_NUM_BUF_RANGES\]\[RC_RANGE_QP444_8BPC_MAX_NUM_BPP\][ ]=' drivers/gpu/drm/i915/display/intel_qp_tables.c + defsnc 'static[ ]const[ ]u8[ ]rc_range_\(min\|max\)qp444_10bpc\[DSC_NUM_BUF_RANGES\]\[RC_RANGE_QP444_10BPC_MAX_NUM_BPP\][ ]=' drivers/gpu/drm/i915/display/intel_qp_tables.c + defsnc 'static[ ]const[ ]u8[ ]rc_range_\(min\|max\)qp444_12bpc\[DSC_NUM_BUF_RANGES\]\[RC_RANGE_QP444_12BPC_MAX_NUM_BPP\][ ]=' drivers/gpu/drm/i915/display/intel_qp_tables.c + blobname 'a660_sqe\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'a660_gmu\.bin' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'a660_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c + defsnc '[\t]static[ ]const[ ]unsigned[ ]int[ ]coeffs\[192\][ ]=' drivers/gpu/drm/tegra/hub.c + defsnc 'static[ ]const[ ]struct[ ]imx208_reg[ ]mode_\(1936x1096\|968_548\)_60fps_regs\[\][ ]=' drivers/media/i2c/imx208.c + defsnc 'static[ ]const[ ]struct[ ]ov8856_reg[ ]lane_[24]_mode_\(3280x2464\|1640x1232\)\[\][ ]=' drivers/media/i2c/ov8856.c + defsnc 'static[ ]const[ ]struct[ ]ov8856_reg[ ]lane_4_mode_\(3264x2448\|1632x1224\)\[\][ ]=' drivers/media/i2c/ov8856.c + defsc 'static[ ]const[ ]u32[ ]isc_sama\(5d2\|7g5\)_gamma_table\[\]\[GAMMA_ENTRIES\][ ]=' drivers/media/platform/atmel/atmel-sama5d2-isc.c + defsnc 'static[ ]const[ ]u8[ ]mpeg2_intra_quant_matrix\[64\][ ]=' drivers/media/v4l2-core/v4l2-ctrls-core.c + defsnc 'static[ ]u32[ ]sparx5_taxi_ports\[SPX5_DSM_CAL_TAXIS\]\[SPX5_DSM_CAL_MAX_DEVS_PER_TAXI\][ ]=' drivers/net/ethernet/microchip/sparx5/sparx5_calendar.c + defsnc '[\t]const[ ]u32[ ]taxi_dist\[SPX5_PORTS_ALL\][ ]=' drivers/net/ethernet/microchip/sparx5/sparx5_port.c + defsnc 'static[ ]const[ ]struct[ ]hsfreq_range[ ]rk1808_mipidphy_hsfreq_ranges\[\][ ]=' drivers/phy/rockchip/phy-rockchip-inno-csidphy.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]rk3568_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + defsnc 'static[ ]const[ ]u16[ ]scarlett2_mixer_values\[SCARLETT2_MIXER_VALUE_COUNT\][ ]=' sound/usb/mixer_scarlett_gen2.c + defsnc 'static[ ]const[ ]struct[ ]s_c2[ ]setrate_44100\[\][ ]=' sound/usb/usx2y/usbusx2yaudio.c + accept '[\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]FW_ACTION_NOUEVENT[,][ ]name[,][\n\t ]*dev[,][ ]GFP_KERNEL[,][ ]NULL[,][\n\t ]*trigger_async_request_cb[)][;]' lib/test_firmware.c + # kpu_profile is derived from a user-supplied parameter + accept '[\t]if[ ][(]!request_firmware[(][&]fw[,][ ]kpu_profile[,][ ]rvu->dev[)][)]' drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c + accept '\(static[ ]int[ ]\|[\t]*\)\?efct_request_firmware_update[(]\(struct[ ]efct[ ][*]\)\?efct[)][;]\?' drivers/scsi/elx/efct/efct_driver.c + blobname '%s\.grp' 'drivers/scsi/\(lpfc/lpfc_init\.c\|elx/efct/efct_driver\.c\)' + + # Blobs that we mistakenly retained up to 5.14-rc7-gnu. + # Thanks to Legimet for bringing them to our attention! + blob '\(static[ ]\)\?uint[ ]patch_2[0ef]00\[\][ ]\(__initdata[ ]\)\?=[ ][{][0-9xa-fA-F, \t\n]*[}][;]' 'arch/powerpc/\(sysdev\|platforms/8xx\)/micropatch\.c' + blobna 'cpm_write_patch[(]cp[,][ ]0[xef0]*[,][ ]patch_2[0ef]00[,][ ]sizeof[(]patch_2[0ef]00[)][)][;]' 'arch/powerpc/\(sysdev\|platforms/8xx\)/micropatch\.c' + blob 'static[ ]const[ ]u16[ ]vs6624_p1\[\][ ]=[ ][{][0-9xa-fA-F, \t\n]*[}][;]' 'drivers/media/\(video\|i2c\)/vs6624\.c' + blobna 'vs6624_writeregs[(]sd[,][ ]vs6624_p1[)][;]' 'drivers/media/\(video\|i2c\)/vs6624\.c' + + # Here's some inducement of non-Free stuff that we clean up better now. + blobname 'GenuineIntel\.bin' 'Documentation/x86/microcode\.\(rst\|txt\)' + blobna 'cat[ ][/]lib[/]firmware[/]\(amd\|intel\)-ucode[/][^ ]*[ ][>][^\n]*' 'Documentation/x86/microcode\.\(rst\|txt\)' + blobna 'cp[ ]\.\.[/]microcode\.bin[ ][^\n]*' Documentation/x86/early_microcodetxt + blobname '[/]lib[/]firmware[/][{]intel-ucode[,]amd-ucode[}]' 'Documentation/x86/microcode\.\(rst\|txt\)' + blobname 'microcode_amd_fam15h\.bin' 'Documentation/x86/microcode\.\(rst\|txt\)' + + # Present in 4.19, matches a later-added firmware extension pattern. + accept '[\t]if[ ][(]!strcmp[(]last4[,][ ]["]\.tlv["][)][)]' drivers/fmc/fmc-write-eeprom.c + # Present in 4.14, matches a later-added firmware loader interface. + accept '[\t][\t]ret[ ]=[ ]load_msr_list[(]client[,]' drivers/staging/media/atomisp/i2c/imx/imx.c + # Present in 4.9 and 4.4, matches a later-added firmware loader interface. + accept '[\t]*\(return[ ]\)\?coda_firmware_request[(]' drivers/media/platform/code/coda-common.c + # Present in 4.9 and 4.4, harmless occurrence of update.*microcode. + accept '[ ][*][ ]Returns[:][ ]The[ ]updated[ ]number[ ]@num_saved[ ]of[ ]saved[ ]microcode[ ]patches\.' arch/x86/kernel/cpu/microcode/intel.c + # Present in 4.9, links to Free Software. + accept 'ARM[ ]assembly[ ]source[ ]code[ ]available[ ]at[ ]https[:][/][/]linuxtv\.org[/]downloads[/]firmware[/]Boot\.S' firmware/WHENCE + + # New in 5.14.11, 5.10.72. + blobname '\(silead[/]\)\?gsl1680-chuwi-hi\(10plus\|book\)\.fw' drivers/platform/x86/touchscreen_dmi.c + + # New in 5.15-rc. + blobname 'achc\.bin' 'Documentation/ABI/testing/sysfs-driver-ge-achc\|drivers/misc/gehc-achc\.c' + blobname 'qcom[/]sdm845[/]oneplus6[/]ipa_fws\.mbn' arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi + defsnc 'static[ ]__amode31_data[ ]u32[ ]__ctl_duald_amode31\[32\][ ]__aligned[(]128[)][ ]=' arch/s390/kernel/setup.c + defsnc '[\t]umc_v6_7_channel_idx_tbl_\(second\|first\)\[UMC_V6_7_UMC_INSTANCE_NUM\]\[UMC_V6_7_CHANNEL_INSTANCE_NUM\][ ]=' drivers/gpu/drm/amd/amdgpu/umc_v6_7.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]ej030na_init_sequence\[\][ ]=' drivers/gpu/drm/panel/panel-innolux-ej030na.c + defsnc '[\t]static[ ]const[ ]int[ ]voltages\[\][ ]=' drivers/hid/hid-logitech-hidpp.c + defsnc 'static[ ]const[ ]struct[ ]imx335_reg[ ]mode_2592x1940_regs\[\][ ]=' drivers/media/i2c/imx335.c + defsnc 'static[ ]const[ ]struct[ ]imx412_reg[ ]mode_4056x3040_regs\[\][ ]=' drivers/media/i2c/imx412.c + defsnc 'static[ ]const[ ]struct[ ]ov9282_reg[ ]mode_1280x720_regs\[\][ ]=' drivers/media/i2c/ov9282.c + defsnc 'static[ ]const[ ]u8[ ]channel_all\[59\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c + defsnc 'static[ ]const[ ]struct[ ]ab8500_v_to_cap[ ]cap_tbl\(_[ab]_thermistor\)\?\[\][ ]=' drivers/power/supply/ab8500_bmdata.c + blobname 'rtlwifi\([/]\|[\\][\\]\)rtl8188eufw\.bin' drivers/staging/r8188eu/hal/rtl8188e_hal_init.c + defsnc 'static[ ]char[ ]NEGOTIATE_GSS_HEADER\[AUTH_GSS_LENGTH\][ ]=' fs/ksmbd/auth.c + defsnc 'const[ ]u8[ ]s_default_security\[\][ ]__aligned[(]8[)][ ]=' fs/ntfs3/fsntfs.c + accept '[ ]*[*][ ][ ][ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0' fs/ntfs3/ntfs.h + defsnc 'static[ ]const[ ]u32[ ]__cacheline_aligned[ ]ck\[32\][ ]=' lib/crypto/sm4.c + defsnc 'static[ ]const[ ]u8[ ]__cacheline_aligned[ ]sbox\[256\][ ]=' lib/crypto/sm4.c + defsnc 'static[ ]const[ ]char[ ]large_mask\[\][ ]__initconst[ ]=' lib/test_bitmap.c + defsnc 'static[ ]const[ ]struct[ ]cs8409_i2c_param[ ]dolphin_c[01]_init_reg_seq\[\][ ]=' sound/pci/hda/patch_cs8409-tables.c + defsnc 'const[ ]__u8[ ]nci_rf_activate_ntf\[\][ ]=' tools/testing/selftests/nci/nci_dev.c + blobname 'brcmfmac43\(430b0\|752\)-sdio' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + # Catch other names likely to appear in BRCMF_FW*_DEF strings in these files. + blobna 'brcmfmac43[^";) \t\n]*\(-sdio\|-pcie\)\?' drivers/net/wireless/broadcom/brcm80211/brcmfmac/'\(sdio\|pcie\|usb\)\.c' + + # New in 5.15.3-gnu and 5.14.19-gnu. + blobna '[/][*][ ]linux-firmware\.git[ ]hash[ ][0-9a-f]*[ ][*][/]' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + + # New in 5.15.3-gnu. + defsnc 'static[ ]const[ ]u32[ ]____cacheline_aligned[ ]ck\[32\][ ]=' lib/crypto/sm4.c + defsnc 'static[ ]const[ ]u8[ ]____cacheline_aligned[ ]sbox\[256\][ ]=' lib/crypto/sm4.c + + # New in 5.16-rc. + blobname 'imx[/]dsp[/]hifi4\.bin' Documentation/devicetree/bindings/dsp/fsl,dsp.yaml + accept '[ ]*\[[ ]\(0x[1248]0*[ \n,]*\)*\]' Documentation/devicetree/bindings/leds/register-bit-led.yaml + accept '[ ]*\[0[,][ ]\(\(1[6789]\|2[012]\)[02468]0[, \n]*\)*\]' Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml + blobname 'qcom[/]apq8016[/]\(\(mba\|modem\|wcnss\)\.mbn\|WCNSS_qcom_wlan_nv_sbc\.bin\)' arch/arm64/boot/dts/qcom/apq8016-sbc.dts + blobname 'qcom[/]msm8996[/]gemini[/]\(adsp\|a530_zap\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts + blobname 'qcom[/]msm8996[/]scorpio[/]\(adsp\|a530_zap\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-scorpio.dts + blobname 'qcom[/]sa8155p[/][ac]dsp\.mdt' arch/arm64/boot/dts/qcom/sa8155p-adp.dts + accept '[ ][*][ ]firmware_request_builtin\(_buf\)\?[(][)][ ]-[ ]load[ ]builtin[ ]firmware' drivers/base/firmware_loader/builtin/main.c + accept 'bool[ ]firmware_request_builtin[(]' drivers/base/firmware_loader/builtin/main.c + accept 'EXPORT_SYMBOL_NS_GPL[(]firmware_request_builtin[,]' drivers/base/firmware_loader/builtin/main.c + accept '[ ][*][\t]callers[ ]such[ ]as[ ]request_firmware_into_buf[(]' drivers/base/firmware_loader/builtin/main.c + accept '[ ][*][\t]request_partial_firmware_into_buf[(]' drivers/base/firmware_loader/builtin/main.c + accept 'bool[ ]firmware_request_builtin_buf[(][^)]*[)][\n][{][\n][\t]if[ ][(]!firmware_request_builtin[(]' drivers/base/firmware_loader/builtin/main.c + accept '\(static[ ]inline[ ]\)\?bool[ ]firmware_request_builtin_buf[(]' drivers/base/firmware_loader/firmware.h + accept '[\t]if[ ][(]firmware_request_builtin_buf[(][^)]*[)][)][ ][{][\n][\t][\t]dev_dbg[(]device[,][ ]["]using[ ]built-in[ ]' drivers/base/firmware_loader/main.c + accept '[\t]if[ ][(]firmware_request_builtin[(][^)]*[)][)][\n][\t][\t]return[ ]0[;][\n][\n][\t]fw_priv[ ]=[ ]lookup_fw_priv[(]' drivers/base/firmware_loader/main.c + accept '[\t]retval[ ]=[ ]firmware_request_builtin[(][&]xfw[,][ ]NONFREE_FIRMWARE[)]' include/linux/firmware.h + blobname 'amdgpu[/]ip_discovery\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c + defsc 'static[ ]const[ ]u16[ ]amdgpu_unsupported_pciidlist\[\][ ]=' drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c + defsnc '[\t]mipi_dbi_command[(]dbi[,][ ]S6D27A1_PANELCTL[,]' drivers/gpu/drm/panel/panel-samsung-s6d27a1.c + defsc 'static[ ]const[ ]struct[ ]joycon_rumble_freq_data[ ]joycon_rumble_frequencies\[\][ ]=' drivers/hid/hid-nintendo.c + defsc 'static[ ]const[ ]struct[ ]joycon_rumble_amp_data[ ]joycon_rumble_amplitudes\[\][ ]=' drivers/hid/hid-nintendo.c + blobname 'goodix[/]%s' drivers/input/touchscreen/goodix_fwupload.c + blobname 'ilitek[/]ili251x.bin' drivers/input/touchscreen/ili210x.c + # These register initializers cover large contiguous regions. + # ~180b and ~512b respectively. It's not inconceivable that they + # contain some code, but it doesn't quite feel like code to me, so + # I'm tentatively leaving it in. + defsc 'static[ ]const[ ]struct[ ]hi846_reg[ ]hi846_init_[24]lane\[\][ ]' drivers/media/i2c/hi846.c + defsnc 'static[ ]const[ ]struct[ ]ov13b10_reg[ ]mipi_data_rate_1120mbps\[\][ ]=' drivers/media/i2c/ov13b10.c + defsnc 'static[ ]const[ ]struct[ ]ov13b10_reg[ ]mode_\(4208x3120\|4160x\(3120\|2340\)\|2104x1560\|2080x1170\)_regs\[\][ ]=' drivers/media/i2c/ov13b10.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]jpeg_image_red\[\][ ]=' drivers/media/platform/imx-jpeg/mxc-jpeg.c + blobname 'qcom[/]venus-4\.4[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c + blobname 'qcom[/]vpu-2\.0[/]venus\.mbn' drivers/media/platform/qcom/venus/core.c + defsnc 'static[ ]const[ ]struct[ ]rtl8365mb_jam_tbl_entry[ ]rtl8365mb_init_jam_8365mb_vc\[\][ ]=' drivers/net/dsa/rtl8365mb.c + defsc 'static[ ]const[ ]u8[ ]dummy_\(vlan_\)\?\(tcp\|udp\)_ipv6_packet\[\][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c + blobname 'cal-%s-%s\.bin' drivers/net/wireless/ath/ath11k/qmi.c + blobna '[/][*][ ]cal--\.bin[ ][*][/]' drivers/net/wireless/ath/ath11k/qmi.c + accept '[\t]*return[ ]1[;][ ][/][*][ ]not[ ]present[,][ ]try[ ]firmware_request[ ]' drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c + defsnc '[\t]static[ ]const[ ]u8[ ]chan_list_6ghz\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c + blobname 'mediatek[/]WIFI_\(RAM_CODE_MT7922_1\|MT7922_patch_mcu_1_1_hdr\)\.bin' drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h + defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ][ ]*rtw8852a_pmac_ht20_mcs7_tbl\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852a.c + blobname 'rtw89[/]rtw8852a_fw\.bin' drivers/net/wireless/realtek/rtw89/rtw8852a.c + defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852a_phy_\(bb\|radio[ab]\|nctl\)_regs\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852a_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8852a_txpwr_byrate\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852a_table.c + defsnc 'static[ ]const[ ]u8[ ]_txpwr_track_delta_swingidx_5g[ba]_[np]\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852a_table.c + # This names various coredump section names that resemble file + # names, such as eeprom.bin, bootcore_trace.bin, AFAICT extracted + # from the modem. + defsnc 'static[ ]struct[ ]iosm_coredump_file_info[ ]list\[IOSM_NOF_CD_REGION\][ ]=' drivers/net/wwan/iosm/iosm_ipc_devlink.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm6350_pdc_map\[\]' drivers/pinctrl/qcom/pinctrl-sm6350.c + defsnc 'static[ ]const[ ]char[ ]*[*][ ]const[ ]omen_thermal_profile_boards\[\][ ]=' drivers/platform/x86/hp-wmi.c + defsnc 'static[ ]const[ ]int[ ]mlxplat_modular_channels\[\][ ]=' drivers/platform/x86/mlx-platform.c + blobname 'gsl3680-viglen-connect-10\.fw' drivers/platform/x86/touchscreen_dmi.c + accept '\(static[ ]inline[ ]\)\?bool[ ]firmware_request_builtin[(]' include/linux/firmware.h + accept '#define[ ]_MAP_0_32_ASCII_SEG14_NON_PRINTABLE[\t]*[\\][\n][\t]\(0[,]\)*' include/uapi/linux/map_to_14segment.h + defsnc '[\t]struct[ ]some_bytes[ ]\(control\|middle\|three\|five\|overlap\(_expected\)\?\|complete\|after\|startat\)[ ]=' lib/memcpy_kunit.c + defsnc '[ \t]*static[ ]const[ ]\(unsigned\|U32\)[ ]DeBruijnClz\[32\][ ]=' lib/zstd/common/'\(bitstream\)zstd_internal\)\.h' + defsnc 'static[ ]const[ ]unsigned[ ]BIT_mask\[\][ ]=' lib/zstd/common/bitstream.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]LL_bits\[MaxLL[+]1\][ ]=' lib/zstd/common/zstd_internal.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]S16[ ]LL_defaultNorm\[MaxLL[+]1\][ ]=' lib/zstd/common/zstd_internal.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]ML_bits\[MaxML[+]1\][ ]=' lib/zstd/common/zstd_internal.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]S16[ ]ML_defaultNorm\[MaxML[+]1\][ ]=' lib/zstd/common/zstd_internal.h + defsnc '[ \t]*static[ ]const[ ]BYTE[ ]LL_Code\[64\][ ]=' lib/zstd/compress/zstd_compress_internal.h + defsnc '[ \t]*static[ ]const[ ]BYTE[ ]ML_Code\[128\][ ]=' lib/zstd/compress/zstd_compress_internal.h + defsnc '[ \t]*static[ ]const[ ]int[ ]DeBruijnBytePos\[\(64\|32\)\][ ]=' lib/zstd/common/zstd_compress_internal.h + defsnc '[ \t]*static[ ]unsigned[ ]const[ ]kInverseProbabilityLog256\[256\][ ]=' lib/zstd/common/zstd_compress_sequences.c + defsnc 'static[ ]U64[ ]ZSTD_ldm_gearTab\[256\][ ]=' lib/zstd/compress/zstd_ldm_geartab.h + defsc 'static[ ]const[ ]ZSTD_seqSymbol[ ]\(LL\|OF\|ML\)_defaultDTable\[[^]]*\][ ]=' lib/zstd/decompress/zstd_decompress_block.c + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]LL_base\[MaxLL[+]1\][ ]=' lib/zstd/common/zstd_decompress_internal.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]OF_\(base\|bits\)\[MaxOff[+]1\][ ]=' lib/zstd/common/zstd_decompress_internal.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]ML_base\[MaxML[+]1\][ ]=' lib/zstd/common/zstd_decompress_internal.h + defsnc 'static[ ]const[ ]struct[ ]cs35l41_pll_sysclk_config[ ]cs35l41_pll_sysclk\[\][ ]=' sound/soc/codecs/cs35l41.c + defsnc 'static[ ]const[ ]struct[ ]cs35l41_fs_mon_config[ ]cs35l41_fs_mon\[\][ ]=' sound/soc/codecs/cs35l41.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5682s_reg\[\][ ]=' sound/soc/codecs/rt5682s.c + accept 'static[ ]int[ ]wm_adsp_request_firmware_files\?[(]' sound/soc/codecs/wm_adsp.c + accept '[\t]*\(ret[ ]=[ ]\)\?wm_adsp_request_firmware_files\?[(]' sound/soc/codecs/wm_adsp.c + blobname 'qcom[/]%s[/]%s-tplg\.bin' sound/soc/qcom/qdsp6/topology.c + blobname '%s-%s-%s\.%s' sound/soc/codecs/wm_adsp.c + + # New in 5.16.3, 5.15.17, 5.10.94, 5.4.174, 4.19.226, 4.14.263. + accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(p1100\|s660\|p7500\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\|size_of_priv\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/usb/dvb-usb/dw2102.c + + # New in 5.16.4, 5.15.18, 5.10.95. + blob '#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)\(_V15\)\?[ ]*[0-9]\+\([\n]#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)\(_V15\)\?[ ]*[0-9]\+\)*' 'drivers/net/\(bnx2x[/]\)\?bnx2x_hsi\.h' + blob '#define[ ]FW_FILE_VERSION\(_V15\)\?\([ ]*[\\][\n][ ]__stringify[(]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\(_V15\)\?[)]\([ ]["][.]["]\)\?\)\+' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-["][ ]FW_FILE_VERSION\(_V15\)\?[ ]["]\.fw' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-\([0-9.%d]*\.fw\)\?' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + blobna '\([,][\n \t]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)\+' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c + accept '[\t][\t][\t]goto[ ]request_firmware_exit[;]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + blobna 'bp->fw_\(major\|minor\|eng\|rev\)[ ]=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?[;]\([\n][\t]*bp->fw_\(major\|minor\|eng\|rev\)[ ]=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?[;]\)*' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c + blobna '\([,][\n \t]*bp->fw_\(major\|minor\|rev\)\)\+' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c + + # New in 5.16.11, 5.15.25, 5.10.102. + blobname 'gsl1680-rwc-nanote-p8\.fw' drivers/platform/x86/touchscreen_dmi.c + + # New in 5.17-rc. + accept '[ ]*Index\([ ]*\(CPU\|IRQ\|Thr\)-[0-9]*\)*\([\n]\([ ]*[0-9]*\)*\)*' Documentation/tools/rtla/rtla-osnoise-hist.rst + accept '[\t]*nvidia[,]emc-configuration[ ]=[ ]*<[ \t\n0-9xa-f]*>[;]' 'arch/arm/boot/dts/tegra30-\(asus-tf\(201\|300tg\?\|700t\)\|pegatron-chagall\)\.dts' + blobname 'qcom[/]sdm845[/]oneplus6[/]venus\.mbn' 'arch/arm64/boot/dts/qcom/sdm845-oneplus-\(common.dtsi\|beryllium\.dts\)' + blobname 'mediatek[/]BT_RAM_CODE_MT7961_1_2_hdr\.bin' drivers/bluetooth/btmtk.h + blobname 'qca[/]nvm_usb_%08x\(%s\(_%04x\)\?\)\?\.bin' drivers/bluetooth/btusb.c + defsc 'static[ ]const[ ]struct[ ]rcar_gen4_cpg_pll_config[ ]cpg_pll_configs\[4\][ ]=' drivers/clk/renesas/r8a779a0-cpg-mssr.c + blobname 'qat_4xxx_dc\.bin' drivers/crypto/qat/qat_4xxx/adf_4xxx_hw_data.h + blobname 'a506_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c + defsnc 'static[ ]const[ ]u32[ ]hsfreqrange_table\[\]\[2\][ ]=' drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c + blobname 'nvidia[/]tegra\(210\|186\|194\)[/]nvdec\.bin' drivers/gpu/drm/tegra/nvdec.c + accept 'static[ ]const[ ]struct[ ]nvdec_config[ ]nvdec_t\(210\|186\|194\)_config[ ]=[ ][{][\n][ ]\.firmware[ ]*=[ ]' drivers/gpu/drm/tegra/nvdec.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad74413r_debounce_map\[AD74413R_DIN_DEBOUNCE_LEN\][ ]=' drivers/iio/addac/ad74413r.c + blobname 'dvb_driver_si2141_rom6[01]\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2146_rom11\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2147_rom50\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2148_rom3[23]\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2157_rom50\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2178_rom50\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2158_rom51\.fw' drivers/media/tuners/si2157_priv.h + blobname 'dvb_driver_si2177_rom50\.fw' drivers/media/tuners/si2157_priv.h + defsc 'const[ ]struct[ ]v4l2_vp9_frame_context[ ]v4l2_vp9_default_probs[ ]=' drivers/media/v4l2-core/v4l2-vp9.c + defsnc 'static[ ]const[ ]u8[ ]hclge_comm_hash_key\[\][ ]=' drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.c + defsnc 'static[ ]const[ ]u16[ ]mlxsw_sp2_acl_bf_crc16_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c + defsnc 'static[ ]const[ ]u16[ ]mlxsw_sp4_acl_bf_crc10_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c + defsnc 'static[ ]const[ ]u8[ ]mlxsw_sp4_acl_bf_crc6_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c + blobname 'regdb\.bin' drivers/net/wireless/ath/ath11k/hw.h + blobname 'mediatek[/]mt7915_eeprom\(_dbdc\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sdx65_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sdx65.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8450_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8450.c + blobname 'gsl1680-chuwi-hi8\.fw' drivers/platform/x86/x86-android-tablets.c + blobname 'gt912-tm800a550l\.fw' drivers/platform/x86/x86-android-tablets.c + defsnc 'static[ ]const[ ]u32[ ]bq25890_tspct_tbl\[\][ ]=' drivers/power/supply/bq25890_charger.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak4375_reg_defaults\[\][ ]=' sound/soc/codecs/ak4375.c + defsc 'static[ ]const[ ]struct[ ]reg_default[ ]adc3xxx_defaults\[\][ ]=' sound/soc/codecs/tlv320adc3xxx.c + # sof-rn.ri is built out of CONFIG_RENOIR from sof/ project's sources. + accept '[\t]\([\t]\.\|\.default_\)fw_filename[ \t]=[ ]["]sof-rn\.ri["][,]' sound/soc/amd/acp-config.c + accept '[\t]\.nocodec_tplg_filename[ \t]=[ ]["]sof-acp\.tplg["][,]' sound/soc/sof/amd/pci-rn.c + blobna 'For[ ]both[ ]Cherrytrail[ ][(]CHT[)][ ]and[ ]Baytrail[ ][(]BHT[)][ ]the[ ]driver[\n]requires[^\n]*\([\n][^\n]\+\)*\([\n][\n][- ][^\n]*\)*' drivers/staging/media/atomisp/TODO + blobname 'qcom[/]apq8096[/]adsp\.mbn' arch/arm64/boot/dts/qcom/apq8096-db820c.dts + blobname 'qcom[/]sdm845[/]beryllium[/]venus\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + blobname 'qcom[/]sm7225[/]fairphone4[/]\(adsp\|cdsp\|modem\)\.mdt' arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts + blobname 'qcom[/]sm8350[/]microsoft[/]\(adsp\|cdsp\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dts + blobname 'qcom[/]\(adsp\|cdsp\|ipa_fws\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi + + # New in 5.17. + blobna 'if[ ][(]loaded_fw_\(major\|minor\|eng\|rev\)[ ]\(!=\|<\)[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?\([ ][|][|][\n][\t ]*loaded_fw_\(major\|minor\|eng\|rev\)[ ]\(!=\|<\)[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?\)*[)]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c + + # New in 5.17.4 and 5.15.35. + accept '[ ][*][ ]enabled[ ]with[ ]updated[ ]microcode[.]' arch/x86/kernel/cpu/tsx.c + + # New in 5.17.6, 5.15.38, 5.10.114, 5.4.192. + accept '[ ][*][ ]microcode_bsp_resume[ ]-[ ]Update[ ]boot[ ]CPU[ ]microcode[ ]during[ ]resume' arch/x86/kernel/cpu/microcode/core.c + + # New in 5.18-rc. + defsnc 'static[ ]const[ ]u8[ ]irq_prio_[hdl]\[256\][ ]=' arch/arm/mach-rpc/irq.c + blobname 'qcom[/]sdm845[/]axolotl[/]\([ac]dsp\|a630_zap\|ipa_fws\|mba\|modem\|venus\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts + blobname 'qcom[/]samsung[/]w737[/]qc\([ac]dsp\|dsp\(1v\)\?2\|vss\)850\.mbn' arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts + blobname 'qcom[/]samsung[/]w737[/]ipa_fws\.elf' arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts + blobname 'qcom[/]sm8450[/]\([ac]dsp\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-qrd.dts + initnc '__nsau_data[:]' arch/xtensa/lib/modsi3.S + blobname 'rtl_bt[/]rtl8852bu_fw\.bin' drivers/bluetooth/btrtl.c + blobname 'amdgpu[/]%s_cap\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + blobname 'amdgpu[/]vcn_3_1_2\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]%s\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c + blobname 'amdgpu[/]dcn_3_1_[56]_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + blobname '%s\.bin' drivers/gpu/drm/tiny/panel-mipi-dbi.c + defsnc 'static[ ]unsigned[ ]char[ ]blackwidow_init\[RAZER_BLACKWIDOW_TRANSFER_BUF_SIZE\][ ]=' drivers/hid/hid-razer.c + defsnc '[\t]static[ ]const[ ]u8[ ]sine\[\][ ]=' drivers/media/dvb-frontends/dib7000p.c + defsnc 'static[ ]const[ ]struct[ ]hi847_reg[ ]mipi_data_rate_lane_4\[\][ ]=' drivers/media/i2c/hi847.c + defsnc 'static[ ]const[ ]struct[ ]hi847_reg[ ]mode_\(3264x2448\|1632x1224\)_regs\[\][ ]=' drivers/media/i2c/hi847.c + defsnc 'static[ ]const[ ]struct[ ]og01a1b_reg[ ]mode_1280x1024_regs\[\][ ]=' drivers/media/i2c/og01a1b.c + defsc 'static[ ]const[ ]struct[ ]ov08d10_reg[ ]lane_2_mode_\(3280x2460\|3264x2448\|1632x1224\)\[\][ ]=' drivers/media/i2c/ov08d10.c + accept '[\t]dev_dbg[(]core->dev[,][ ]["]request_firmware[ ]' drivers/media/platform/amphion/vpu_core.c + blobname 'vpu[/]vpu_fw_imx8_\(enc\|dec\)\.bin' drivers/media/platform/amphion/vpu_core.c + defsc 'static[ ]const[ ]u8[ ]dummy_\(\(gre\|udp_tun\|ipv[46]_gtpu\)_ipv[46]_\(tcp\|udp\)\|ipv6_gtp\)_packet\[\][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c + blobname 'mediatek[/]mt79[18]6_\(w[am]\|rom_patch\|eeprom\)\(_mt797[56]\(_dual\|_dbdc\)\?\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h + blobname 'mellanox[/]mlxsw_spectrum[23]\?-\(["][ ]__stringify[(]MLXSW_SP[123]\?_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'rtw89[/]rtw8852c_fw\.bin' drivers/net/wireless/realtek/rtw89/rtw8852c.c + defsnc 'static[ ]const[ ]struct[ ]cdns_dphy_rx_band[ ]bands\[\][ ]=' drivers/phy/cadence/cdns-dphy-rx.c + defsnc 'static[ ]struct[ ]gbe_phy_init_data_fix[ ]gbe_phy_init_fix\[\][ ]=' drivers/phy/marvell/phy-mvebu-a3700-comphy.c + defsnc 'static[ ]const[ ]struct[ ]wpcm450_bank[ ]wpcm450_banks\[WPCM450_NUM_BANKS\][ ]=' drivers/pinctrl/nuvoton/pinctrl-wpcm450.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]qcm2290_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-qcm2290.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sc8280xp_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sc8280xp.c + defsc 'static[ ]const[ ]unsigned[ ]int[ ]bsc_data_pins\[\][ ]=' drivers/pinctrl/renesas/pfc-r8a7740.c + blobname 'wpss\.mdt' drivers/remoteproc/qcom_q6v5_adsp.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]zigzag\[\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsnc 'static[ ]const[ ]u32[ ]hw_reorder\[\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsc 'static[ ]const[ ]unsigned[ ]char[ ]hantro_jpeg_header\[\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsnc '[\t]opts\.\(data\|insns\)[ ]=[ ][(]void[ ][*][)]["]' kernel/bpf/preload/iterators/iterators.lskel.h + defsnc '[\t]skel->rodata[ ]=[ ]skel_prep_map_data[(][(]void[ ][*][)]["]' kernel/bpf/preload/iterators/iterators.lskel.h + defsnc 'static[ ]const[ ]u32[ ]____cacheline_aligned[ ]K\[64\][ ]=' lib/crypto/sm3.c + blobname 'tas5805m_dsp_%s\.bin' sound/soc/codecs/tas5805m.c + accept '[\t]*if[ ][(][!]wm_adsp_request_firmware_files\?[(]' sound/soc/codecs/wm_adsp.c + accept 'int[ ]avs_request_firmware[(]' sound/soc/intel/avs/avs.h + blobname 'dsp_basefw\.bin' sound/soc/intel/avs/loader.c + blobname '%s[/]%s[/]dsp_mod_%pUL\.bin' sound/soc/intel/avs/loader.c + accept '[\t]*ret[ ]=[ ]avs_request_firmware[(]' sound/soc/intel/avs/loader.c + accept '\(int[ ]\|[ ][*][ ]\)avs_request_firmware[(]' sound/soc/intel/avs/utils.c + accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n][\t ]*["]%s%s["][,][\n][\t ]*sof_pdata->tplg_filename[,][\n][\t ]*["]\.tplg["]' sound/soc/sof/intel/hda.c + blobname '%s\.sec' drivers/staging/wfx/fwio.c + blobname '%s%s-%s-%s\(-%s\)*\.%s' sound/soc/codecs/wm_adsp.c + + # New in 5.18.3, 5.17.14, 5.15.46, 5.10.121. + accept 'MODULE_FIRMWARE[(]["]regulatory\.db\(\.p7s\)\?["][)][;]' net/wireless/reg.c + + # New in 5.18.5, 5.15.48, 5.10.123, 5.4.199, 4.19.248, 4.14.284, 4.9.319. + accept 'combination[ ]with[ ]a[ ]microcode[ ]update[.][ ]The[ ]microcode[ ]clears' Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst + + # New in 5.19-rc. + # I'm not sure the following pattern matches actual blob names, in + # two senses: it's not clear they're software, and maybe they're + # just examples. I'm tentatively cleaing them up. + blobname 'am\(335\|43\)x-evm-scale-data\.bin' Documentation/devicetree/bindings/soc/ti/wkup-m3-ipc.yaml + blobname 'am335x-bone-scale-data\.bin' arch/arm/boot/dts/am335x-bone-common.dtsi + blobname 'am335x-evm-scale-data\.bin' arch/arm/boot/dts/'am335x-evm\(\|sk\)\.dts' + blobname 'am43x-evm-scale-data\.bin' arch/arm/boot/dts/'am43\(7x-\(gp\|sk\)\|x-epos\)-evm\.dts' + blobname 'qcom[/]apq8096[/]\(mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/apq8096-db802c.dts + blobname 'qcom[/]msm8996[/]gemini[/]\(mba\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts + blobname 'qcom[/]msm8996[/]scorpio[/]\(mba\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-scorpio.dts + blobname 'qcom[/]sdm845[/]beryllium[/]\([ac]dsp\|a630_zap\|mba\|modem\|ipa_fws\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + blobname 'qcom[/]sm8450[/]\([ac]dsp\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-hdk.dts + defsnc 'static[ ]const[ ]__initconst[ ]u8[ ]certs_selftest_\(keys\|1_\(data\|pkcs7\)\)\[\][ ]=' crypto/asymmetric_keys/selftest.c + blobname 'rtl_bt[/]rtl8852cu_fw\.bin' drivers/bluetooth/btrtl.c + blobname 'amdgpu[/]vcn_4_0_[04]\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]\(%s\|gc_11_0_[012]\)_imu\.bin' drivers/gpu/drm/amd/amdgpu/imu_v11_0.c + blobname 'amdgpu[/]\(%s\|gc_11_0_[012]\)_mes1\?\.bin' drivers/gpu/drm/amd/amdgpu/mes_v11_0.c + blobname 'amdgpu[/]\(%s\|sdma_6_0_[012]\)\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c + # The asm source for this is drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm, there is no _gfx11.asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx11_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + defsnc '[\t]static[ ]const[ ]u8[ ]even_dividers\[\][ ]=' drivers/gpu/drm/i915/display/intel_dpll_mgr.c + defsnc 'static[ ]const[ ]struct[ ]nv3052c_reg[ ]nv3052c_panel_regs\[\][ ]=' drivers/gpu/drm/panel/panel-newvision-nv3052c.c + defsc 'ICE_DECLARE_PKT_TEMPLATE[(]\(\(gre\|udp_tun\|\(vlan_\)\?\(tcp\|udp\)\|ipv[46]_gtpu\)_ipv[46]\(_\(tcp\|udp\)\)\?\|ipv6_gtp\)[)][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c + blobname 'mellanox[/]lc_ini_bundle_%u_%u\.bin' drivers/net/ethernet/mellanox/mlxsw/core_linecards.c + blobname 'mellanox[/]lc_ini_bundle_\(["][ \\\n\t]*__stringify[(]MLXSW_SP\?_FWREV_\(SUB\)\?MINOR[)][ ]["][_.]\)*bin' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'mrvl[/]sdiouart8997_combo_v4\.bin' drivers/net/wireless/marvell/mwifiex/sdio.h + blobname 'plfxlc[/]lifi-x[cl]\?\.bin' drivers/net/wireless/purelifi/plfxlc/firmware.c + accept '[\t][\t]dev_err[(][&]intf->dev[,][ ]["][Rr]equest_firmware[ ]' drivers/net/wireless/purelifi/plfxlc/firmware.c + defsnc 'static[ ]const[ ]s8[ ]_txpwr_track_delta_swingidx_[56]g[ba]_[np]\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/net/wireless/realtek/rtw89/'rtw8852[ac]_table\.c' + defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852c_phy_bb_reg\(s\|_gain\)\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852c_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852c_phy_\(radio[ab]\|nctl\)_regs\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852c_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8852c_txpwr_byrate\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852c_table.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8150_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8150.c + # It's not clear whether this contains code, but it's presumed proprietary, so tentatively disable it. + blobname 'intel[/]ifs[/]%02x-%02x-%02x\.scan' drivers/platform/x86/intel/ifs/load.c + defsnc 'static[ ]const[ ]int[ ]sm5703_buck_voltagemap\[\][ ]=' drivers/regulator/sm5703-regulator.c + blobname 'intel[/]irci_irci_ecr-master_20161208_0213_20170112_1500\.bin' drivers/staging/media/ipu3/ipu3-css-fw.h + defsnc '[\t]static[ ]u8[ ]p\[\]\[2\][ ]=' drivers/tty/serial/8250/8250_pci.c + defsnc '[}][ ]cs35l45_pll_refclk_freq\[\][ ]=' sound/soc/codecs/cs35l45-tables.c + defsnc 'static[ ]const[ ]char[ ][*][ ]const[ ]max98396_thermal_thresh_text\[\][ ]=' sound/soc/codecs/max98396.c + # Topology files are presumed not code, but since we block the + # loading of actual firmware by this driver, there's no harm in + # being conservative and blocking them too. These don't seem to + # be built out of SOF. + blobname '\(rt286\|nau8825\|ssm4567\|max98357a\|rt298\|max98373\|da7219\|tdf8532\|i2s-test\|dmic\|hda-%08x\)-tplg\.bin' sound/soc/intel/avs/board_selection.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-rn\.ri["]' sound/soc/sof/amd/pci-rn.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-imx8x\?\.ri["]' sound/soc/sof/imx/imx8.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-imx8m\.ri["]' sound/soc/sof/imx/imx8m.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-bdw\.ri["]' sound/soc/sof/intel/bdw.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(byt\|cht\)\.ri["]' sound/soc/sof/intel/'\(byt\|pci-tng\)\.c' + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(apl\|glk\)\.ri["]' sound/soc/sof/intel/pci-apl.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(cnl\|cfl\|cml\)\.ri["]' sound/soc/sof/intel/pci-cnl.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(icl\|jsl\)\.ri["]' sound/soc/sof/intel/pci-icl.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(tgl\(-h\)\?\|ehl\|adl\(-s\)\?\)\.ri["]' sound/soc/sof/intel/pci-tgl.c + # This is a new naming convention for the sof-*.ri files. SOF + # zephyr build scripts will output either name depending on the + # selected naming convention. + accept '[\t][\t]\[SOF_INTEL_IPC4\][ ]=[ ]["]dsp_basefw\.bin["]' sound/soc/sof/intel/'pci-\(apl\|cnl\|icl\|tgl\)\.c' + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-mt8186\.ri["]' sound/soc/sof/mediatek/mt8186/mt8186.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-mt8195\.ri["]' sound/soc/sof/mediatek/mt8195/mt8195.c + accept '\([ ]*\|[$][(]OUTPUT[)]\)test-libbpf-bpf_object__next_program\.bin' tools/build/feature/Makefile + accept '[\t][\t]test_batched_request_firmware\(\|_into_buf\|_direct\)[$]suffix' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t][\t]test_request_firmware_nowait_\(uevent\|custom\)[$]suffix' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]\?test_request_firmware_compressed' tools/testing/selftests/firmware/fw_filesystem.sh + + # New in 5.19.4, 5.15.63. + accept '[\t]if[ ][(]!request_firmware_direct[(][&]fw[,][ ]kpu_profile[,][ ]rvu->dev[)][)]' drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c + + # New in 6.0-rc. + blobname 'amdgpu[/]vcn_4_0_2\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]dcn_3_\(1_4\|2_[01]\)_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + blobname 'a619_gmu\.bin' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'a615_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c + blobname 'nvidia[/]tegra234[/]vic\.bin' drivers/gpu/drm/tegra/vic.c + accept '[ ]\.firmware[ ]=[ ]NVIDIA_TEGRA_234_VIC_FIRMWARE' drivers/gpu/drm/tegra/vic.c + blobname 'netronome[/]serial-%pMF-%02x-%02x\.nffw' drivers/net/ethernet/netronome/nfp/nfp_main.c + initnc '[ ]*[$][ ]cat[ ]count' Documentation/admin-guide/mm/shrinker_debugfs.rst + defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]aria_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]polyval_tv_template\[\][ ]=' crypto/testmgr.h + defsnc '[\t]static[ ]const[ ]u8[ ]f_subtile_map\[\][ ]=' drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c + defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5640_\(init_setting\|setting_low_res\)\[\][ ]=' drivers/media/i2c/ov5640.c + defsnc 'static[ ]const[ ]u32[ ]can327_bitrate_const\[\][ ]=' drivers/net/can/can327.c + defsc 'ICE_DECLARE_PKT_TEMPLATE[(]pppoe_ipv6_\(tcp\|udp\)[)][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]msm8909_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-msm8909.c + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm6375_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm6375.c + defsnc 'static[ ]const[ ]u32[ ]sp_resets\[\][ ]=' drivers/reset/reset-sunplus.c + defsc 'static[ ]unsigned[ ]short[ ]translations\[\]\[E_TABSZ\][ ]=' drivers/tty/vt/consolemap.c + defsnc 'static[ ]const[ ]u32[ ]x[12]\[256\][ ]=' include/crypto/aria.h + # Built out of the rembrandt_config in SOF sources. + accept '[\t][\t]\.fw_filename[ ]=[ ]["]sof-rmb\.ri["][,]' sound/soc/amd/acp-config.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]src_iir_coeff_\(32\|4[48]\|96\)_to_\(16\|32\|44\)\[\][ ]=' sound/soc/mediatek/mt8186/mt8186-dai-src.c + defsnc 'static[ ]const[ ]int[ ]mt8186_sgen_mode_idx\[\][ ]=' sound/soc/mediatek/mt8186/mt8186-misc-control.c + accept '[\t ]*jq[ ]-e[ ]-r[ ]["]\.\[\]\[\]\.versions\.running\.fw["][)]' tools/testing/selftests/drivers/net/mlxsw/devlink_linecard.sh + accept 'IMG_PATH=["][$][{]TMP_DIR[}][/]fat\.img["]' tools/testing/selftests/filesystems/fat/run_fat_tests.sh + defsnc '\(static[ ]\)\?const[ ]struct[ ]nvkm_disp_mthd_list[ \n]g84_disp_\(\(ovly\|base\)_mthd_base\|core_mthd_head\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.c + defsnc 'static[ ]const[ ]struct[ ]nvkm_disp_mthd_list[ \n]gk104_disp_\(ovly_mthd_base\|core_mthd_head\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.c + defsnc 'static[ ]const[ ]struct[ ]nvkm_disp_mthd_list[ \n]gt200_disp_ovly_mthd_base[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.c + blobname 'mediatek[/]mt8192[/]scp\.img' arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi + blobname 'qcom[/]msm8996[/]natrium[/]\(adsp\|a530_zap\|mba\|modem\|slpi\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-natrium.dts + blobname 'qcom[/]sa8540p[/]\(adsp\|cdsp1\?\)\.mbn' arch/arm64/boot/dts/qcom/sa8295p-adp.dts + blobname 'qcom[/]sc7280-herobrine[/]modem[/]\(mba\|qdsp6sw\)\.mbn' arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi + blobname 'ath11k[/]WCN6750[/]hw1\.0[/]wpss\.mdt' arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi + blobname 'qcom[/]sc8280xp[/]qc[ac]dsp8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-'\(crd\|lenovo-thinkpad-x13s\)\.dts' + blobname 'qcom[/]ifc6560[/]adsp\.mbn' arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts + blobname 'qcom[/]sdm845[/]judyln[/]\([ac]dsp\|a630_zap\|mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts + blobname 'qcom[/]sdm845[/]judyp[/]\([ac]dsp\|a630_zap\|mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-lg-judyp.dts + blobname 'qcom[/]sdm845[/]polaris[/]\(cdsp\|a630_zap\|ipa_fws\|mba\|modem\|venus\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts + blobname 'polaris[/]crnv21\.bin' arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts + blobname 'habanalabs[/]gaudi2[/]gaudi2-\(boot-\|\)fit\.itb' drivers/misc/habanalabs/gaudi2/gaudi2P.h + accept '\(static[ ]int[ ]\|[\t][\t]*\(ret\(urn\|[ ]=\)[ ]\|\)\)cs35l41_request_firmware_file\(\|s\(\|_spkid\)\)[(]' sound/pci/hda/cs35l41_hda.c + defsnc '[\t]unsigned[ ]char[ ]modified_gray_code\[\][ ]=' arch/arm/mach-at91/pm.c + + # New in 6.0. + blobname 'qcom[/]sc8280xp[/]LENOVO[/]21BX[/]qc[ac]dsp8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts + + # New in 6.0.7. + accept '[\t][\t]\[SOF_INTEL_IPC4\][ ]=[ ]["]sof-mtl\.ri["]' sound/soc/sof/intel/pci-mtl.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(adl-n\|rpl\(-s\)\?\)\.ri["]' sound/soc/sof/intel/pci-tgl.c + + # New in 6.0.9, 5.15.79, and 5.10.155. Also 5.4.225 and 4.19.267. + accept '[\t]err[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]true[,][ ]["]regulatory\.db["][,]' net/wireless/reg.c + + # New in 6.1-rc. + blobname 'mediatek[/]mt8195[/]scp\.img' arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi + blobname 'qcom[/]sc7280-herobrine[/]modem[/]\(mba\|qdsp6sw\)\.mbn' arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi + blobname 'qcom[/]\([ac]dsp\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx223.dts + accept '#define[ ]__DEFINE_ASM_GPR_NUMS[\t]*[\\][\n]["][\t]\.irp[\t]num\(,[0-9]\)*\(,[123][0-9]\)*[\\]n["]\([ \t]*[\\][\n]["][^"\n]*["]\)*' arch/riscv/include/asm/gpr-num.h + accept '[\t]\.irp[\t]num\(,[0-9]\)*\(,[123][0-9]\)*' arch/riscv/include/asm/gpr-num.h + blobname 'amdgpu[/]\(%s\|aldebaran\)_sjt_mec2\?\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + # The following is not new, it was just moved down to allow for + # new patterns to match despite being prefixed by it, when using + # non-NDA regexp engines. + # blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + blobname 'i915[/]["]\([ ][\\][\n][\t]__stringify[(]\(prefix\|major\|minor\|patch\)_[)]\([ ]\(name_\|["][.]["]\)\)\?\)*[ ]["]\.bin' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c + defsc 'static[ ]struct[ ]convert_xrgb8888_case[ ]convert_xrgb8888_cases\[\][ ]=' drivers/gpu/drm/tests/drm_format_helper_test.c + # bno055-caldata files are calibration data that can be saved from + # and restored into the device. See Documentation/iio/bno055.rst. + accept '#define[ ]BNO055_FW_\(UID_FMT\|GENERIC_NAME\)[ ]["]bno055-caldata\(-%[*]phN\)\?\.dat["]' drivers/iio/imu/bno055/bno055.c + accept '[\t][\t]\?ret[ ]=[ ]request_firmware[(][&]caldata[,][ ]\(fw_name_buf\|BNO055_FW_GENERIC_NAME\)[,][ ]dev[)][;]' drivers/iio/imu/bno055/bno055.c + defsc 'ICE_DECLARE_PKT_TEMPLATE[(]ipv6_l2tpv3[)][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c + blobname 'rtw89[/]rtw8852b_fw\.bin' drivers/net/wireless/realtek/rtw89/rtw8852b.c + defsnc 'struct[ ]inno_mipi_dphy_timing[ ]inno_mipi_dphy_timing_table_max_\(1\|2_5\)ghz\[\][ ]=' drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c + blobname 'gsl1680-rca-cambio-w101-v2\.fw' drivers/platform/x86/touchscreen_dmi.c + defsnc 'static[ ]const[ ]struct[ ]tegra194_cbb_aperture[ ]tegra194_\(cbbcentral\|bpmp\|aon\|sce\)noc_apert\(ure\)\?_lookup\[\][ ]=' drivers/soc/tegra/cbb/tegra194-cbb.c + defsnc '[\t]unsigned[ ]long[ ]range\[\][ ]=' lib/test_maple_tree.c + defsnc 'static[ ]const[ ]struct[ ]_coeff_div[ ]coeff_div\[\][ ]=' sound/soc/codecs/es8326.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-rmb\.ri["]' sound/soc/sof/amd/pci-rmb.c + accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-imx8ulp\.ri["]' sound/soc/sof/amd/pci-imx8ulp.c + defsnc '[\t]unsigned[ ]long[ ]set\[\][ ]=' tools/testing/radix-tree/maple.c + accept '[\t]@echo[ ]["]The[ ]output[ ]file[ ]is[ ][\\]["]run\.out[\\]["]\.' tools/testing/selftests/nolibc/Makefile + accept '[\t][$][(]Q[)]\(qemu-system\|grep\)[^\n]*[$][(]CURDIR[)][/]run\.out' tools/testing/selftests/nolibc/Makefile + blobna '%s[ ]firmware[ ]%s[ ]\([(]%d\.%d[)][ ]\)\?is[ ]recommended[,][ ]but[ ]only[ ]%s[ ]\([(]%d\.%d[)][ ]\)\?was[ ]found' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c + blobna 'Consider[ ]updating[ ]your[ ]linux-firmware[ ]pkg[ ]or[ ]downloading[ ]from[ ]%s' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c + + # New in 6.1.2. + initnc '\.LKtable[:]' arch/arm64/crypto/sm3-neon-core.S + + # New in 6.1.9, 5.15.91, 5.10.166. + blobname 'gsl1680-csl-panther-tab-hd\.fw' drivers/platform/x86/touchscreen_dmi.c + + # New in 6.2-rc. + blobname 'intel[/]ifs_%d[/]%02x-%02x-%02x-%02x\.scan' drivers/platform/x86/intel/ifs/load.c + blobname 'qcom[/]sc7180-trogdor[/]modem[/]modem\.mdt' Documentation/devicetree/bindings/net/qcom,ipa.yaml + blobname 'stm32g0-ucsi.mp135f-dk\.fw' arch/arm/boot/dts/stm32mp135f-dk.dts + blobname 'qcom[/]msm8996[/]oneplus3[/]\(adsp\|a530_zap\|mba\|modem\|slpi\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-oneplus3.dts + blobname 'qcom[/]msm8996[/]oneplus3t[/]\(adsp\|a530_zap\|mba\|modem\|slpi\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-oneplus3t.dts + blobname 'qcom[/]msm8998[/]LENOVO[/]81F1[/]qcdsp\(1v\)\?28998\.mbn' arch/arm64/boot/dts/qcom/msm8998-lenovo-miix-630.dts + blobname 'qcom[/]sa8540p[/]cdsp1\?\.mbn' arch/arm64/boot/dts/qcom/sa8540p-ride.dts + blobname 'qcom[/]sda660[/]adsp\.mbn' arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts + blobname 'qcom[/]sdm850[/]samsung[/]w737[/]\(qc\(adsp\|cdsp\|dsp\(1v\)\?2\|vss\)850\.mbn\|ipa_fws\.elf\)' arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts + blobname 'qcom[/]Sony[/]murray[/][ac]dsp.mbn' arch/arm64/boot/dts/qcom/sm6375-sony-xperia-murray-pdx225.dts + blobname 'qcom[/]sm8350[/]Sony[/]sagami[/]\(adsp\|cdsp\|ipa_fws\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi + blobname 'qcom[/]sm8350[/]Sony[/]nagara[/]\(adsp\|cdsp\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi + defsnc 'static[ ]const[ ]u8[ ]nops\[\][ ]=' arch/x86/kernel/callthunks.c + defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]sm4_[cx]ts_tv_template\[\][ ]=' crypto/testmgr.h + defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]sm4_xcbc128_tv_template\[\][ ]=' crypto/testmgr.h + blobname 'brcm[/]brcmbt%04x%s-%s-%s\.%s' drivers/bluetooth/hci_bcm4377.c + defsnc 'static[ ]const[ ]qp_table[ ][ ]*qp_table_4[24][024]_\(8\|1[02]\)bpc_m\(in\|ax\)[ ]=' drivers/gpu/drm/amd/display/dc/dml/dsc/qp_tables.h + defsnc 'static[ ]const[ ]struct[ ]abm_parameters[ ]abm_settings_config2\[abm_defines_max_level\][ ]=' drivers/gpu/drm/amd/display/modules/power/power_helpers.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad74115_debounce_tbl\[\][ ]=' drivers/iio/addac/ad74115.c + defsnc 'static[ ]const[ ]struct[ ]ov08x40_reg[ ]mipi_data_rate_800mbps\[\][ ]=' drivers/media/i2c/ov08x40.c + defsnc 'static[ ]const[ ]struct[ ]ov08x40_reg[ ]mode_\(3856x2416\|1928x1208\)_regs\[\][ ]=' drivers/media/i2c/ov08x40.c + defsnc 'static[ ]const[ ]struct[ ]regval[ ]ov4689_2688x1520_regs\[\][ ]=' drivers/media/i2c/ov4689.c + defsnc 'static[ ]const[ ]struct[ ]ov9282_reg[ ]\(common\|mode_\(1280x800\|640x400\)\)_regs\[\][ ]=' drivers/media/i2c/ov9282.c + # A new binary blob disguised as source code! + blob 'static[ ]const[ ]u8[ ]patch_array\[\][ ]=[ ][{]'"$sepx$blobpat*$sepx"'[}][;]' drivers/media/i2c/st-vgxy61.c + blobna 'ret[ ]=[ ]vgxy61_write_array[(]sensor[,][ ]VGXY61_REG_FWPATCH_START_ADDR[,][\n][\t ]*sizeof[(]patch_array[)][,][ ]patch_array[)][;][\n][\t]if[ ][(]ret[)][\n][\t]*return[ ]ret[;]' drivers/media/i2c/st-vgxy61.c + blobname 'patch_array' drivers/media/i2c/st-vgxy61.c + blobname 'mrvl[/]prestera[/]mvsw_prestera_fw_arm64-v%u\.%u\.img' drivers/net/ethernet/marvell/prestera/prestera_pci.c + blobname 'mediatek[/]mt7986_wo_[01]\.bin' drivers/net/ethernet/mediatek/mtk_wed_wo.h + blobname 'mediatek[/]mt7996[/]mt7996_\(w[am]\|rom_patch\|eeprom\)\.bin' drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8188f_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8188fu_phy_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8188f_agc_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8188fu_\(cut_b_\)\?radioa_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c + blobname 'rtlwifi[/]rtl8188fufw\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c + accept '[\t]rtwdev->fw\.firmware[ ]=[ ]firmware[;]' drivers/net/wireless/realtek/rtw89/core.c + accept '[\t][\t]fw->firmware[ ]=[ ]NULL[;]' drivers/net/wireless/realtek/rtw89/fw.c + defsnc 'static[ ]const[ ]struct[ ]rtw89_reg3_def[ ]rtw8852b_\(set\|restore\)_nondbcc_path01\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c + defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852b_phy_\(bb\|radio[ab]\|nctl\)_reg\(s\|_gain\)\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8852b_txpwr_byrate\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b_table.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]gpio_pins\[\][ ]=' drivers/pinctrl/pinctrl-loongson2.c + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U8[ ][LM]L_bits\[Max[LM]L[+]1\][ ]=' lib/zstd/common/zstd_internal.h + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U64[ ]ZSTD_ldm_gearTab\[256\][ ]=' lib/zstd/compress/zstd_ldm_geartab.h + defsnc '[ ]*[{][ ]*unsigned[ ]const[ ]base\(LL\|OFC\)freqs\[Max\(LL\|Off\)[+]1\][ ]=' lib/zstd/compress/zstd_opt.c + defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U8[ ]OF_bits\[MaxOff[+]1\][ ]=' lib/zstd/decompress/zstd_decompress_internal.h + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt1318_blind_write\[\][ ]=' sound/soc/codecs/rt1318-sdw.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1318_reg_defaults\[\][ ]=' sound/soc/codecs/rt1318-sdw.c + # Topology files are presumed not code, but since we block the + # loading of actual firmware by this driver, there's no harm in + # being conservative and blocking them too. These don't seem to + # be built out of SOF. + blobname 'max98927-tplg\.bin' sound/soc/intel/avs/board_selection.c + defsc 'static[ ]const[ ]u8[ ]__maybe_unused[ ]dell_0\(a5d\|b00\)_bq_params\[\][ ]=' sound/soc/intel/boards/sof_sdw_amp_coeff_tables.h + accept '[\t]ret[ ]=[ ]request_firmware[(][&]sdev->basefw\.fw[,][ ]fw_filename[,][ ]sdev->dev[)]' sound/soc/sof/loader.c + # Uhh, these *seem* intended to load Free firmware modules, though + # it could conceivably be used to load nonfree modules. As usual + # for SOF, the difference between Free, Tivoized and otherwise + # nonFree is not something we can tell. But since there is Free + # stuff that can be loaded with it, it stays. + accept '[\t]fw_filename[ ]=[ ]kasprintf[(]GFP_KERNEL[,][ ]["]%s[/]%pUL\.bin["][,][\n][\t ]*sdev->pdata->fw_lib_prefix[,][ ]uuid[)][;]' sound/soc/sof/ipc4-loader.c + accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw_lib->sof_fw\.fw[,][ ]fw_filename[,][ ]sdev->dev[)]' sound/soc/sof/ipc4-loader.c + accept '[\t]out=["][$]tmpdir[/]perf\.out["]' tools/perf/tests/shell/test_task_analyzer.sh + accept '[\t]*echo[ ]["][ ]---[ ]make[ ]\(clean\|allmodconfig\)\?["][ ][|][ ]tee[ ]\(-a[ ]\)\?[$]amcdir[/]log[ ][>]*[ ]["][$]amcdir[/]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh + accept '[\t][\t]make[ ]-j[$]MAKE_ALLOTED_CPUS[ ]\(allmodconfig[ ]\)\?[>][>][ ]["][$]amcdir[/]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh + accept '[\t]*echo[ ]["][ ]---[ ]Summary:[ ]Exit[ ]code[ ][$]retcode[ ]from[ ][$]buildphase[,][ ]see[ ]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh + blobname 'qcom[/]sdm630[/]Sony[/]nile[/]adsp\.mdt' arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile.dtsi + blobname 'axolotl[/]crnv21\.bin' arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8192cu_radio[ab]_[12]t_\(init\|highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8192e_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8192eu\?_phy_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_8192eu_\(std\|highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8192eu_radio[ab]_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8723au_radioa_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8723b_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8723b_phy_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_8723bu_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c + defsc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8723bu_radioa_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8723a_phy_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8192cu_phy_2t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_\(standard\|highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c + defsnc 'static[ ]const[ ]struct[ ]rtw89_reg3_def[ ]rtw8852b_pmac_ht20_mcs7_tbl\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b.c + blobna 'wcnss\.mdt[ ]is[ ]not[ ]relocatable[^*]*[*][/]' arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts + blobname 'wcnss\.mdt' drivers/remoteproc/qcom_wcnss.c + defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8188ru_\(phy\|radioa\)_1t_highpa_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c + defsnc '\(static[ ]\)\?const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8xxxu_gen1_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c + defsnc 'static[ ]const[ ]struct[ ]drm_edid[ ][*]edid_load[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*err[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ]connector' drivers/gpu/drm/drm_edid_load.c + + # New in 6.2.3. + blobname 'qcom[/]sm8450[/]Sony[/]nagara[/]\(adsp\|cdsp\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi + blobname 'brcmfmac89459-pcie' drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c + + # New in 6.2.7, 6.1.20, 5.15.103, 5.10.175, 5.4.237, 4.19.278, 4.14.310. + accept '[\t][ ][*][ ]updated[ ]microcode[ ]at[ ]the[ ]time' arch/x86/kernel/cpu/amd.c + + # New in 6.3-rc, 6.2.12. + blobname 'qcom[/]sa8540p[/]cdsp0\.mbn' arch/arm64/boot/dts/qcom/sa8540p-ride.dts + + # New in 6.2.16, 6.1.29. + accept '[ ][*][ ]This[ ]is[ ]a[ ]helper[ ]that[ ]will[ ]use[ ]request_firmware[ ]' drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c + blobname 'amdgpu[/]%s_mes%s\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c + # The following is not new, it was just moved down to allow for + # new patterns to match despite being prefixed by it, when using + # non-NDA regexp engines. + blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + # New in 6.3.3, 6.2.16, 6.1.29, 5.15.112, 5.10.180, 5.4.243, 4.19.283. + blobname 'gsl1680-dexp-ursus-kx210i\.fw' drivers/platform/x86/touchscreen_dmi.c + + # Trisquel 6.2 backport addition. + blobname 'qcom[/]sm6375[/]Sony[/]murray[/][ac]dsp\.mbn' arch/arm64/boot/dts/qcom/sm6375-sony-xperia-murray-pdx225.dts + + ;; + + */*freedo*.patch | */*logo*.patch) + accept 'P[13]\([\n]#[^\n]*\)*[\n]*\([\n][0-9 ]*\)\+' drivers/video/logo/logo_libre_clut224.ppm + ;; + + */*firmware-Drop-WARN-from-usermodehelper*.patch) + accept '_request_firmware[+]0x' + accept '\[<[0-9a-f]*>\][ ]_\?request_firmware[+]' + accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]_request_firmware[(]const[ ]struct[ ]firmware' + ;; + + */deblob-check-testsuite/*) + accept 'accept[(][^)]*[)]' + blobname 'blob[(][^)]*[)]' + blobname 'blobeol[^\n]*[\n]' + ;; + esac + + # Non-specific patterns come after the patch-specific ones so that, + # when using non-NDA left-to-right regexps (python, perl), the + # patterns above can override matches of those below. + + blob "$blobseq" + # We leave out the initial and final letters of request_firmware so + # that deblobbing turns them into r/*DEBLOBBED*/e, a syntax error. + blobna 'equest_firmwar' + blobna 'equest_partial_firmwar' + blobna 'equest_ihex_firmwar' + blobna 'irmware_reques' # catch _nowarn; also caches _cache, but that's ok. + # Catch request_firmare misdeblobbed by the above. + blobname 'r[/][*][(]DEBLOBBED[)][*][/]e' + blobname 'f[/][*][(]DEBLOBBED[)][*][/]t' + blobna '[Uu]p\(date\|grade\)[^\n]*[Mm]icrocode' + blobna 'MODULE_FIRMWARE[ ]*[(][^\n;]*[)][ ]*[;]\([ \n]*MODULE_FIRMWARE[ ]*[(][^\n;]*[)][ ]*[;]\)*' + blobna 'DEFAULT_FIRMWARE' + blobna '\([.]\|->\)firmware[ \n]*=[^=]' + blobna 'mod_firmware_load' # sound/ + blobname '[.]\(\(fw\|bin\)[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\|tftf\|out\|nffw\|mdt\|mfa2\?\|ri\|tplg\|itb\|cyacd\|mbn\|tlv\|sfi\|grp\)[\\]\?["]' + # WIP ends with [\\]\?[][}{)(><,;:.!?% \t\n"`\'"'"']' + # Catch misdeblobbed fw extension. + blobname '["]\([^" \t\n/]*[/][/]*\)*[*][(]DEBLOBBED[)][*][/][^"\\]' + # Ideally we'd whitelist URLs that don't recommend non-Free + # Software, but there are just too many URLs in Linux, and most are + # fine, so we just blacklist when we find undesirable URLs. + # Please report if you find any inappropriate URL in Linux-libre + # deblobbed documentation, sources or run-time log messages. + # blobna '\(f\|ht\)tp:[/]\([/]\+[^/ \n ]\+\)\+' +} + +# Regular expression that matches a literal constant. +constx="[0-9][0-9a-fA-FxX]*" +# Regular expression that matches a separator between consecutive +# literal constants. +sepx="\\([ \\n]*\\(\\([ \\n]\\|[,:{}LlUu\"\'\\\\][,:{} \\nLlUu\"\'\\\\]*\\)[xX\$]\\?\\|[.][a-zA-Z][a-zA-Z0-9]*[ ][ ]*[\$]\\?\\)\\)" + +# Regular expression that matches a continuation of a blob, after an +# initial constant. *, \+ and \? can be safely appended to it without +# \(\)s. +blobcont="\\($sepx$constx\\)" + +# Regular expression that matches the initial constant of a blob plus +# its continuation. *, \+ and \? can be safely appended to it without +# \(\)s. +blobpat="$constx$blobcont" + +# Regular expression that matches a blob with at least the number of +# constants specified as sensitivity. +blobseq="$blobpat\\{$sens,\\}" + +# Regular expression that matches the beginning of the pattern or a +# line break. It must be \(\)ed, such that it can be named in +# replacement patterns. +bol="\\(^\\|[\\n]\\)" + +# Regular expression that matches the end of the pattern or a line +# break. It must be \(\)ed, such that it can be named in replacement +# patterns. +eol="\\([\\n]\\|\$\\)" + +# Regular expression that matches a C-style comment. +comment="\\([/][*][^*]*\\([*]\\+[^*/][^*]*\\)*[*]\\+[/]\\|[/][/][^\\n]*[\\n]\\)" + +# Regular expression that matches comments typically used in assembly. +asmcomment="\\($comment\\|[;#][^\\n]*[\\n]\\)" + +# Regular expression that matches a braced initializer containing at +# least one blob. +initblob="[^\\n=]*=\\([ \\n\\\\]\\|$comment\\)*[{]\\([^;/]\\|[/][^/*]\\|$comment\\)*$blobseq\\([^;/]\\|[/][^/*]\\|$comment\\)*[}]\\?\\([ \\n\\\\]*\\|$comment\\)[;]\\?" + +# Regular expression that matches a C (possibly multi-line) #define +# that contains a blob. +defineblob='[ ]*#[ ]*define[ ][^\n]*\([\\][\n][^\n]*\)*'"$blobseq"'\([^\n]*\\[\n]\)*' + +# Regular expression that matches an assembly label followed by a blob +# without any intervening label. +asmblob="[a-zA-Z_.][^\\n:;#/ ]*:\\([^:{}/]\\|[/][^/*]\\|$asmcomment\\)*$blobseq\\([^:]*\\|$asmcomment\\)*" + +# Set up the sed script that will go through the (processed) input, +# looking for sequences of blobs and printing whatever was requested. +# It accepts 3 arguments. + +# $1 is the action in case blobs were found in the input. + +# $2 is the action in case no blobs were found, not even false positives. + +# $3 is the action in case false positives were located. + +# $4 is the action for every complete input pattern. + +set_sed_main () { + falsepos=`${SED-sed} -n 's,^[+]\^*,,p' < "$regex_name" | + ${SED-sed} -n -e 's,[$]$,\\\\([\\\\n]\\\\|$\\\\),' \ + -e '1h; 1!H; ${g;s,[\n],\\\\|,g;s,^\(..*\)$,\\\\(\1\\\\),;p;}'` + blobs=`${SED-sed} -n 's,^[-],,p' < "$regex_name" | + ${SED-sed} -n -e 's,[$]$,\\\\([\\\\n]\\\\|$\\\\),' \ + -e '1h; 1!H; ${g;s,[\n],\\\\|,g;s,^\(..*\)$,\\\\(\1\\\\),;p;}'` + + # Regular expression that matches one or more blobs without + # intervening line breaks. + sblobctx="\\(\\([^\\n]\\|[/][*](DEBLOB-\\nBED)[*][/]\\)*$blobs\\)\\+" + + # Regular expression that matches the context for a long blob match. + lblobctx="\\($initblob\\|$defineblob\\|$asmblob\\|$sblobctx\\)" + + if test "X$falsepos" != X; then + check_false_positives="$v:???falsepos +/$bol$falsepos/!b blob +$v:+++falsepos +h +s/$bol$falsepos/\\1;\/**\/;/g +# See if, after removing all matches, we end up without any blobs. +$v:???blobs +/$blobs/!{ + g + b falsepos +} +g +" + else + falsepos="$.^" + check_false_positives= + fi + + $echo "#! /bin/sed -nf + +/^$/N +/^[\\n]\\?;[/][*]\\(end .*\\)\\?[*][/];$/{ + $4 + d +} +# /^;[/][*]begin /!{ +# : internal_error +# $v:internal_error +# s,.*,Internal error at\\n&[\\n]/*(DEBLOB-\\nERROR)*/,; +# q 2 +# } +$v:reading file in +h +n +: read_more +/^;[/][*]end [^\\n]*[*][/];$/! { + H + n + b read_more +} +H +g +$4 +$v:read all +s/^\\(;[/][*]begin [^\\n]*[\\n]\\)*// +s/\\($bol[\n]\?;[/][*]\\(end [^\\n]*\\)\\?[*][/];\\)*$// +$v:???!blobs +/$blobs/!b clean +$check_false_positives +# Fall through. +: blob +$v:blob +$1 +d +: clean +$v:clean +$2 +d +: falsepos +$v:falsepos +$3 +d + +: print_matches +$v:print_matches +/^$falsepos/! { + $v:delete unmatching lines + h + s/[\\n]$falsepos.*// + : print_matches_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_matches_nomatch_loop + } + x + b print_matches_delete_to_eol +} +h +s/^\\($falsepos[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to match +/$blobs/ { + i\\ +::: $file ::: + p +} +g +s/^\\($falsepos[^\\n]*\\)// +: print_matches_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_matches + +: print_marked_matches +$v:print_marked_matches +/^$falsepos/! { + h + s/[\\n]$falsepos.*// + : print_marked_matches_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_marked_matches_nomatch_loop + } + x + b print_marked_matches_delete_to_eol +} +h +s/^\\($falsepos[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to match +/$blobs/{ + i\\ +::: $file ::: + # s/{\\($sepx\\)\\?$blobseq\\($sepx\\)\\?}[ ]*;/{\/*(DEBLOBBED)*\/};/g + s/$blobs/\/*(DEBLOBBED)*\//g + p +} +g +s/^\\($falsepos[^\\n]*\\)// +: print_marked_matches_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_marked_matches + +: print_blobs +$v:print_blobs +/^$falsepos/ { + $v:delete false positive + # This is tricky. We don't want to print the false positive. + /^$falsepos[^\\n]*$blobs/ { + $v:delete false positive immediately followed by blob + s/^\\($falsepos\\)/\\1\/*(DEBLOB-\\nBED)*\// + h + s/^\\($falsepos\\).*/\\1/ + $v:matched false positive + : print_blobs_match_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_blobs_match_loop + } + G + b print_blobs_delete_to_eol + } + /^$falsepos[/][*](DEBLOB-\\nBED)[*][/]/! { + s/^$falsepos// + b print_blobs_delete_to_eol + } +} +/^\([^\\n]\|[/][*](DEBLOB-\\nBED)[*][/]\)*$blobs/! { + $v:delete non-blob header + h + s/[\\n]\\($falsepos\\|[^\\n]*$blobs\\).*// + $v:matched non-blob header + : print_blobs_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_blobs_nomatch_loop + } + x + b print_blobs_delete_to_eol +} +i\\ +::: $file ::: +: print_blobs_output_false_positive +/[^\\n]*[/][*](DEBLOB-[\\n]BED)[*][/]/ { + P + s,^[^\\n]*[\\n],, + b print_blobs_output_false_positive +} +h +s/\\($blobs\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +p +g +s/\\(\\($blobs[^\\n]*\\)\\+\\)// +: print_blobs_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_blobs + +: print_marked_blobs +$v:print_marked_blobs +/^$falsepos/ { + $v:delete false positive + # This is tricky. We don't want to print the false positive. + /^$falsepos[^\\n]*$blobs/ { + $v:delete false positive immediately followed by blob + s/^\\($falsepos\\)/\\1\/*(DEBLOB-\\nBED)*\// + h + s/^\\($falsepos\\).*/\\1/ + $v:matched false positive + : print_marked_blobs_match_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_marked_blobs_match_loop + } + G + b print_marked_blobs_delete_to_eol + } + /^$falsepos[/][*](DEBLOB-\\nBED)[*][/]/! { + s/^falsepos// + b print_marked_blobs_delete_to_eol + } +} +/^\([^\\n]\|[/][*](DEBLOB-\\nBED)[*][/]\)*$blobs/! { + $v:delete non-blob header + h + s/[\\n]\\($falsepos\\|[^\\n]*$blobs\\).*// + $v:matched non-blob header + : print_marked_blobs_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_marked_blobs_nomatch_loop + } + x + b print_marked_blobs_delete_to_eol +} +i\\ +::: $file ::: +: print_marked_blobs_output_false_positive +/[^\\n]*[/][*](DEBLOB-[\\n]BED)[*][/]/ { + P + s,^[^\\n]*[\\n],, + b print_marked_blobs_output_false_positive +} +h +s/\\($blobs\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +# s/{\\($sepx\\)\\?$blobseq\\($sepx\\)\\?}[ ]*;/{\/*(DEBLOBBED)*\/};/g +s/$blobs/\/*(DEBLOBBED)*\//g +p +g +s/\\(\\($blobs[^\\n]*\\)\\+\\)// +: print_marked_blobs_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_marked_blobs + +: print_cblobs +$v:print_cblobs +/^$falsepos/ { + $v:delete false positive + # This is tricky. We don't want to print the false positive. + /^$falsepos[^\\n]*$blobs/ { + $v:delete false positive immediately followed by blob + s/^\\($falsepos\\)/\\1\/*(DEBLOB-\\nBED)*\// + h + s/^\\($falsepos\\).*/\\1/ + $v:matched false positive + : print_cblobs_match_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_cblobs_match_loop + } + G + b print_cblobs_delete_to_eol + } + /^$falsepos[/][*](DEBLOB-\\nBED)[*][/]/! { + s/^$falsepos// + b print_cblobs_delete_to_eol + } +} +/^$lblobctx/! { + $v:delete non-blob header + h + s/[\\n]\\($falsepos\\|$lblobctx\\).*// + $v:matched non-blob header + : print_cblobs_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_cblobs_nomatch_loop + } + x + b print_cblobs_delete_to_eol +} +i\\ +::: $file ::: +: print_cblobs_output_false_positive +/[^\\n]*[/][*](DEBLOB-[\\n]BED)[*][/]/ { + P + s,^[^\\n]*[\\n],, + b print_cblobs_output_false_positive +} +h +s/^\\($lblobctx\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +p +g +s/^\\($lblobctx[^\\n]*\\($blobs[^\\n]*\\)*\\)// +: print_cblobs_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_cblobs + +: print_marked_cblobs +$v:print_marked_cblobs +/^$falsepos/ { + $v:delete false positive + # This is tricky. We don't want to print the false positive. + /^$falsepos[^\\n]*$blobs/ { + $v:delete false positive immediately followed by blob + s/^\\($falsepos\\)/\\1\/*(DEBLOB-\\nBED)*\// + h + s/^\\($falsepos\\).*/\\1/ + $v:matched false positive + : print_marked_cblobs_match_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_marked_cblobs_match_loop + } + G + b print_marked_cblobs_delete_to_eol + } + /^$falsepos[/][*](DEBLOB-\\nBED)[*][/]/! { + s/^$falsepos// + b print_marked_cblobs_delete_to_eol + } +} +/^$lblobctx/! { + $v:delete non-blob header + h + s/[\\n]\\($falsepos\\|$lblobctx\\).*// + $v:matched non-blob header + : print_marked_cblobs_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_marked_cblobs_nomatch_loop + } + x + b print_marked_cblobs_delete_to_eol +} +i\\ +::: $file ::: +: print_marked_cblobs_output_false_positive +/[^\\n]*[/][*](DEBLOB-[\\n]BED)[*][/]/ { + P + s,^[^\\n]*[\\n],, + b print_marked_cblobs_output_false_positive +} +h +s/^\\($lblobctx\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +# s/{\\($sepx\\)\\?$blobseq\\($sepx\\)\\?}[ ]*;/{\/*(DEBLOBBED)*\/};/g +s/$blobs/\/*(DEBLOBBED)*\//g +p +g +s/^\\($lblobctx[^\\n]*\\($blobs[^\\n]*\\)*\\)// +: print_marked_cblobs_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_marked_cblobs + +: print_both +$v:print_both +/^\\($falsepos\\|[^\\n]*$blobs\\)/! { + $v:delete non-blob header + h + s/[\\n]\\($falsepos\\|[^\\n]*$blobs\\).*// + $v:matched non-blob header + : print_both_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b print_both_nomatch_loop + } + x + b print_both_delete_to_eol +} +h +i\\ +::: $file ::: +s/^\\(\\($falsepos\\|[^\\n]*$blobs\\)\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +p +g +s/^\\(\\($falsepos[^\\n]*\\|[^\\n]*$blobs[^\\n]*\\)\\($blobs[^\\n]*\\)*\\)// +: print_both_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b print_both + +: list_matches +$v:list_matches +/^$falsepos/! { + $v:print unmatching lines + h + s/[\\n]$falsepos.*// + p + : list_matches_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b list_matches_nomatch_loop + } + x + b list_matches_delete_to_eol +} +h +s/^\\($falsepos[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to match +/$blobs/{ + # s/{\\($sepx\\)\\?$blobseq\\($sepx\\)\\?}[ ]*;/{\/*(DEBLOBBED)*\/};/g + s/$blobs/\/*(DEBLOBBED)*\//g +} +p +g +s/^\\($falsepos[^\\n]*\\)// +: list_matches_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b list_matches + +: list_blobs +$v:list_blobs +/^$falsepos/ { + $v:print false positive + # This is tricky. We don't want to deblob the false positive. + /^$falsepos[^\\n]*$blobs/ { + $v:print false positive immediately followed by blob + s/^\\($falsepos\\)/\\1\/*(DEBLOB-\\nBED)*\// + h + s/^\\($falsepos\\).*/\\1\\n/ + : list_blobs_match_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + P + s/^[^\\n]*[\\n]// + x + b list_blobs_match_loop + } + G + b list_blobs_delete_to_eol + } + h + s/^\\($falsepos[^\\n]*\\)[\\n].*/\\1/ + p + g + s/^\\($falsepos[^\\n]*\\)// + b list_blobs_delete_to_eol +} +/^[^\\n]*$blobs/! { + $v:print non-blob header + h + s/[\\n]\\($falsepos\\|[^\\n]*$blobs\\).*// + p + : list_blobs_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b list_blobs_nomatch_loop + } + x + b list_blobs_delete_to_eol +} +h +s/\\($blobs\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +# s/{\\($sepx\\)\\?$blobseq\\($sepx\\)\\?}[ ]*;/{\/*(DEBLOBBED)*\/};/g +s/$blobs/\/*(DEBLOBBED)*\//g +p +g +s/\\(\\($blobs[^\\n]*\\)\\+\\)// +: list_blobs_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b list_blobs + +: list_both +$v:list_both +/^\\($falsepos\\|[^\\n]*$blobs\\)/! { + $v:print non-blob header + h + s/[\\n]\\($falsepos\\|[^\\n]*$blobs\\).*// + p + : list_both_nomatch_loop + /[\\n]/ { + s/^[^\\n]*[\\n]// + x + s/^[^\\n]*[\\n]// + x + b list_both_nomatch_loop + } + x + b list_both_delete_to_eol +} +h +s/^\\(\\($falsepos\\|[^\\n]*$blobs\\)\\([^\\n]*$blobs\\)*[^\\n]*\\)\\([\\n].*\\)\\?$/\\1/ +$v:narrowed to blob +# s/{\\($sepx\\)\\?$blobseq\\($sepx\\)\\?}[ ]*;/{\/*(DEBLOBBED)*\/};/g +s/$blobs/\/*(DEBLOBBED)*\//g +p +g +s/^\\(\\($falsepos[^\\n]*\\|[^\\n]*$blobs[^\\n]*\\)\\($blobs[^\\n]*\\)*\\)// +: list_both_delete_to_eol +$v:delete to eol +s/^[^\\n]*// +/^$/d +s/^[\\n]// +b list_both + +" > "$scriptname" + + scriptcmd='${SED-sed} -n -f "$scriptname"' + + case $vp in + [01]) xv= ;; + 2) xv='# ';; + esac + + sedunbreak=' +: restart +/[/][*](DEBLOB-$/ { + N + /[/][*](DEBLOB-[\n]ERROR)[*][/]/{q 1;}'" +$xv"'s,[/][*](DEBLOB-[\n]BED)[*][/],, + b restart +} +p +' + scriptcmd2='${SED-sed} -n -e "$sedunbreak"' +} + +set_flex_main () { + adjust_rx=' +s,\\\([{(|)}?+]\),\1,g +s,^\([-+]\)\(\^\?\)\(.*\)\(\$\?\)$,\2(?s:\3)\4\1,g +s,[+]$, { falsepos (); }, +s,[-]$, { blob (); }, +' + + echo '%%' > "$scriptname" + ${SED-sed} "$adjust_rx" < "$regex_name" >> "$scriptname" + echo '\n|. { unmatched (); } +%% +int falsepos () {} +int blob () {} +int unmatched () {} +' >> "$scriptname" + + scriptcmd=false +} + +set_python_main () { + adjust_rx=' +s,\\(,\\(?:,g; +s,\\\([{(|)}?+]\),\1,g; +' + + cat >> "$scriptname" <> "$scriptname" + fi + + ${SED-sed} -n 's,^[+],,p' < "$regex_name" | + ${SED-sed} -n -e "$adjust_rx" -e 's,\^,,' \ + -e '1h; 1!H; $ { g; s,[\n],|,g; '"\ +s,^\\(.*\\)\$,falsepos = r'(?P\\1)',;\ +"' p;}' >> "$scriptname" + + ${SED-sed} -n 's,^[-],,p' < "$regex_name" | + ${SED-sed} -n -e "$adjust_rx" \ + -e '1h; 1!H; $ { g; s,[\n],|,g; '"\ +s,^\\(.*\\)\$,blob = r'(?P\\1)',;\ +"' p;}' >> "$scriptname" + + $echo "\\($initblob\\|$defineblob\\|$asmblob\\)" | + ${SED-sed} -e "$adjust_rx" \ + -e "s,^\\(.*\\)\$,cblob = r'(?P\\1)'," >> "$scriptname" + + cat >> "$scriptname" <<\EOF + +if no_falsepos or falsepos is None: + falsepos = r'(?!)' + +rx = '^%s|%s' % (falsepos, blob) + +if with_context: + rx += '|^' + cblob + +rxc = re.compile('(?<=.)(?:%s)' % rx, re.M | re.S) + +filenames = None + +s = '\n' + +for line in sys.stdin: + # Read into s all lines between begin and end. An empty line, without + # even the '\n', flags the end of the input. + if line[:3] == ';/*' and line[-4:] == '*/;\n': + if line[3:9] == 'begin ': + nextfilenames = (line[9:-4], filenames) + if s == '\n': + filenames = nextfilenames + del nextfilenames + continue + elif line[3:7] == 'end ': + #if print_blob and not print_nomatch: + # from time import time + # sys.stderr.write('%i %i %s\n' % (time(), len(s), filenames[0])) + assert line[7:-4] == filenames[0] + nextfilenames = filenames[1] + else: + assert filenames != None + s += line + continue + else: + assert filenames != None + s += line + continue + + if verbose: + print('looking for matches') + sfilenames = filenames + while filenames != None: + if filenames[1] is None: + print(filenames[0]) + else: + print(filenames[0] + ' within') + filenames = filenames[1] + filenames = sfilenames + + if s[-1] == '\n': + s = s[:-1] + + pp = 1 + p = pend = 0 + match = rxc.search (s, p) + while match != None: + firstmatch = match + blobs = falses = 0 + while 1: + if verbose: + print('found match') + what = match.lastgroup + + if what == 'cblob': + if verbose: print('match is a blob context') + pend = s.find ('\n', match.end()) + 1 + if pend == 0: + pend = len(s) + p = match.start() + 1 + blob_p = 2 + else: + blob_p = what == 'blob' + assert blob_p or what == 'falsepos' + + if blob_p: + if verbose: print('match is a blob') + blobs += 1 + else: + if verbose: print('match is a false positive') + falses += 1 + + if blob_p and replace_blob or not blob_p and replace_falsepos: + s = s[:match.start(what)] + replacement + s[match.end(what):] + p = match.start(what) + len(replacement) + if pend > match.start(what): + pend += p - match.end(what) + else: + p = match.end(what) + + if p > pend: + pend = s.find ('\n', p) + 1 + if (pend == 0): + pend = len(s) + + match = rxc.search (s, p) + if match is None or match.start () >= pend or \ + (blob_p and not print_blob and not falses) or \ + (not blob_p and not print_falsepos and not blobs): + break + + if print_nomatch: + sys.stdout.write (s[pp:firstmatch.start() + 1]) + pp = firstmatch.start() + 1 + else: + pp = s.rfind ('\n', 0, firstmatch.start () + 1) + 1 + + if print_blob and blobs or print_falsepos and falses: + if not print_nomatch: + sfilenames = filenames + while filenames != None: + print('::: ' + filenames[0] + ' :::') + filenames = filenames[1] + filenames = sfilenames + sys.stdout.write (s[pp:pend]) + pp = pend + + if list_blob and blobs or list_falsepos and falses: + while filenames != None: + if filenames[1] is None: + print(filenames[0]) + else: + print (filenames[0] + ' within') + filenames = filenames[1] + exit (1) + + if print_nomatch: + sys.stdout.write(s[pp:]) + + if verbose: + print('no further matches') + + s = '\n' + filenames = nextfilenames + del nextfilenames + +assert filenames is None + +exit (0) +EOF + + scriptcmd="${PYTHON-python} "'"$scriptname"' +} + +set_perl_main () { + adjust_rx=' +s,\\(,\\(?:,g; +s,\\\([{(|)}?+]\),\1,g; +' + + # Add $ before arguments + set `echo "$@" | sed 's,\(^\|= *\),&$,g'` + + cat >> "$scriptname" <<\EOF +#! /usr/bin/perl + +use strict; +use warnings; + +# Should we replace blobs and false positives with replacement? +my $replace_blob = 0; +my $replace_falsepos = 0; +my $replacement = '/*(DEBLOBBED)*/'; + +# Should we print lines containing blobs, false positives, and neither? +my $print_blob = 0; +my $with_context = 0; +my $print_falsepos = 0; +my $print_nomatch = 0; + +# Should we print the input stack and exit if we find blobs or false positives? +my $list_blob = 0; +my $list_falsepos = 0; + +# Should we forget everything we know about false positives? +my $falsepos; +my $no_falsepos = 0; + +EOF + + cat >> "$scriptname" <\\1)'ms;,;\ +"' p;}' >> "$scriptname" + + ${SED-sed} -n 's,^[-],,p' < "$regex_name" | + ${SED-sed} -n -e "$adjust_rx" \ + -e '1h; 1!H; $ { g; s,[\n],|,g; '"\ +s,^\\(.*\\)\$,my \$blob = qr'(?\\1)'ms;,;\ +"' p;}' >> "$scriptname" + + $echo "\\($initblob\\|$defineblob\\|$asmblob\\)" | + ${SED-sed} -e "$adjust_rx" \ + -e "s,^\\(.*\\)\$,my \$cblob = qr'(?\\1)'ms if \$with_context;," >> "$scriptname" + + cat >> "$scriptname" <<\EOF + +$falsepos = qr/(?(?!))/ if $no_falsepos || ! defined $falsepos; + +my $rx = qr/^$falsepos|$blob/ms; + +$rx = qr/$rx|^$cblob/ms if $with_context; + +my @filenames; +my $nfilenames = 0; +my $nextnfilenames; + +my $s = ''; + +while () { + # Read into s all lines between begin and end. An empty line, without + # even the '\n', flags the end of the input. + if (m:^[;][/][*](begin|end) (.*)[*][/][;]$:) { + if ($1 eq 'begin') { + print "entering $2\n" if $verbose; + $filenames[$nfilenames] = $2; + $nextnfilenames = $nfilenames + 1; + if ($s eq '') { + $nfilenames = $nextnfilenames; + next; + } + } else { + $nextnfilenames = $nfilenames - 1; + print "processing $filenames[$nextnfilenames]\n" if $verbose; + } + } else { + $s .= $_; + next; + } + + if ($verbose) { + print "looking for matches in\n"; + for (my $i = $nfilenames; --$i > 0; ) { + print $filenames[$i], " within\n"; + } + print $filenames[0], "\n"; + } + + $s =~ s/[\n]$//; + + my $pp = my $p = 0; + + my $matchfound = substr ($s, $p) =~ /$rx/o; + while ($matchfound) { + print "found first match\n" if $verbose; + my $firstmatchstart = $-[0] + $p; + my $blobs = my $falses = 0; + my $matchstart = $-[0] + $p; + my $pend = -1; + my $blob_p; + do {{ + my $matchend = $+[0] + $p; + print "found match $matchstart..$matchend\n" if $verbose; + print "$&" if $verbose > 1; + + if (defined $+{'cblob'}) { + print "match is a blob context\n" if ($verbose); + $pend = index ($s, "\n", $matchend) + 1; + $pend = length $s if !$pend; + } + + if (defined $+{'falsepos'}) { + print "match is a false positive\n" if ($verbose); + # $matchend -= $+[0] - $+[1]; + $blob_p = 0; + $falses++; + } elsif (defined $+{'blob'}) { + $blob_p = 1; + $blobs++; + print "match is a blob at $matchstart\n" if ($verbose); + } else { + $blob_p = 2; + $p = $matchstart; + print "searching up to $pend\n" if $verbose; + next; + } + + if ($blob_p ? $replace_blob : $replace_falsepos) { + substr ($s, $matchstart, $matchend - $matchstart, + $replacement); + $p = $matchstart + length $replacement; + $pend += $p - $matchend if $pend >= $matchstart; + } else { + $p = $matchend; + } + + $pend = index ($s, "\n", $p) + 1 if $p >= $pend; + $pend = length $s if !$pend; + print "searching up to $pend\n" if $verbose; + $p--; + }} while (($matchfound = (substr ($s, $p) =~ /(?<=.)$rx/mso)) + && ($matchstart = $-[0] + $p) < $pend + && !($blob_p + ? (!$print_blob && !$falses) + : (!$print_falsepos && !$blobs))); + + print "last match before $pend\n" if $verbose; + + if ($print_nomatch) { + print substr ($s, $pp, $firstmatchstart - $pp); + $pp = $firstmatchstart; + } elsif (($print_blob || $print_falsepos) && $firstmatchstart > 0) { + $pp = rindex ($s, "\n", $firstmatchstart - 1) + 1; + } + + if (($print_blob && $blobs) || ($print_falsepos && $falses)) { + if (!$print_nomatch) { + for (my $i = $nfilenames; $i-- > 0;) { + print "::: ", $filenames[$i], " :::\n"; + } + } + + print substr ($s, $pp, $pend - $pp); + $pp = $pend; + } + + if (($list_blob && $blobs) || ($list_falsepos && $falses)) { + for (my $i = $nfilenames; --$i > 0;) { + print $filenames[$i], " within "; + } + print $filenames[0], "\n"; + exit (1); + } + } + + print substr ($s, $pp) if $print_nomatch; + + print "no further matches\n" if $verbose; + + $s = ''; + $nfilenames = $nextnfilenames; +} + +exit (0); +EOF + + scriptcmd="${PERL-perl} "'"$scriptname"' +} + +set_awk_main () { + adjust_rx=' +s,[$]$,([\\n]|$),; +s,\[^\],[^\\],g; +s,\\\([{(|)}?+]\),\1,g; +' + + case " = $@ = " in + *" = no_falsepos = "*) falsepos='$.^';; + *) falsepos=` + ${SED-sed} -n 's,^[+],,p' < "$regex_name" | + ${SED-sed} -n -e "$adjust_rx" -e 's,\^,,' \ + -e '1h; 1!H; $ { g; s,[\n],|,g; p;}' + ` + case $falsepos in "") falsepos='$.^';; esac;; + esac + + blob=` + ${SED-sed} -n 's,^[-],,p' < "$regex_name" | + ${SED-sed} -n -e "$adjust_rx" \ + -e '1h; 1!H; $ { g; s,[\n],|,g; p;}'` + + case " = $@ = " in + *" = with_context = "*) cblob=` + $echo "\\($initblob\\|$defineblob\\|$asmblob\\)" | + ${SED-sed} -e "$adjust_rx" + `;; + *) cblob='$.^';; + esac + + xrs= nrs="# " eor="RT" eormatch='RT ~ ' eornl='[\n]' eornlsz=1 + # Uncomment the line below to disable the use of a regular + # expression for the awk Record Separator, a GNU awk extension. + # Using this extension appears to save a lot of memory for long + # deblob-check runs. + # xrs="# " nrs= eor='$0' eormatch='' eornl= eornlsz=0 + + cat >> "$scriptname" < 0;) + print filenames[i] " within"; + print filenames[0] + } + + s = substr (s, 1, length (s) - 1) + + pp = 2; + p = pend = 1; + if (verbose > 1) print "searching starting at", substr (s, p, 10) + matchfound = match (substr (s, p), + /[\n]($falsepos)|[\n]($cblob)|.($blob)/); + while (matchfound) { + blobs = falses = 0; + firstmatchstart = RSTART + p; + for (;;) { + matchstart = RSTART + p - 1; + matchlen = RLENGTH; + if (verbose) { + print "found match", matchstart, matchlen; + if (verbose > 1) + print substr (s, matchstart + 1, matchlen - 1); + } + + if (match (substr (s, matchstart, matchlen), /^[\n]($falsepos)/) == 1) { + matchlen = RLENGTH; + if (verbose) print "match is a false positive of length", matchlen; + blob_p = 0; + falses++; + } else if (match (substr (s, matchstart, matchlen), /^.($blob)/) == 1) { + matchlen = RLENGTH; + if (verbose) print "match is a blob of length", matchlen; + blob_p = 1; + blobs++; + } else if (match (substr (s, matchstart, matchlen), /^[\n]($cblob)$/) == 1) { + if (verbose) print "match is a blob context"; + pend = index (substr (s, matchstart + matchlen), "\n"); + if (pend) + pend += matchstart + matchlen; + else + pend = length (s); + p = matchstart + 1; + blob_p = 2; + if (verbose > 1) print "range is:", substr (s, p, pend - p); + } + + if (blob_p < 2) { + if (blob_p ? replace_blob : replace_falsepos) { + s = substr (s, 1, matchstart) \\ + replacement \\ + substr (s, matchstart + matchlen); + p = matchstart + length (replacement) - 1; + pend += (p + 1 - matchstart - matchlen); + } else + p = matchstart + matchlen - 1; + + if (p >= pend) { + i = index (substr (s, p + 1), "\n"); + if (i) + pend = p + 1 + i; + else + pend = length (s) + } + } + + if (verbose) print "search until", pend; + + if (!(matchfound = match (substr (s, p), + /[\n]($falsepos)|[\n]($cblob)|.($blob)/)) || + p + RSTART >= pend || + (blob_p ? + (!print_blob && !falses) : + (!print_falsepos && !blobs))) + break; + } + + if (print_nomatch) + printf "%s", substr (s, pp, firstmatchstart - pp); + else if (print_blob || print_falsepos) { + lastline = substr (s, pp, firstmatchstart - pp); + sub (/.*[\n]/, "", lastline); + if (verbose) print "lastline: " lastline "\\\\n" + firstmatchstart -= length (lastline); + } + pp = firstmatchstart; + + if (verbose) print "match set range:", pp, pend + + if ((print_blob && blobs) || (print_falsepos && falses)) { + if (!print_nomatch) + for (i = nfilenames; i-- > 0;) + print "::: " filenames[i] " :::"; + printf "%s", substr (s, pp, pend - pp); + pp = pend; + } + + if ((list_blob && blobs) || (list_falsepos && falses)) { + for (i = nfilenames; --i > 0;) + print filenames[i] " within"; + print filenames[0]; + exit (1); + } + } + + if (print_nomatch) + printf "%s", substr (s, pp) + + if (verbose) + print "no further matches"; + + s = "\n"; + nfilenames = nextnfilenames; + next; +} +EOF + + scriptcmd="${AWK-gawk} --re-interval -f "'"$scriptname"' +} + +set_flex_main () { + adjust_rx=' +s,\\\([{(|)}?+]\),\1,g +s,^\([-+]\)\(\^\?\)\(.*\)\(\$\?\)$,\2(?s:\3)\4\1,g +s,[+]$, { falsepos (); }, +s,[-]$, { blob (); }, +' + + echo '%%' > "$scriptname" + ${SED-sed} "$adjust_rx" < "$regex_name" >> "$scriptname" + echo '\n|. { unmatched (); } +%% +int falsepos () {} +int blob () {} +int unmatched () {} +' >> "$scriptname" + + scriptcmd=false +} + +set_save_script_input_main () { + savename=`mktemp -t deblob-check-input-XXXXXX` + scriptcmd="{ echo saving input in $savename && cat > $savename && echo done; }" +} + +# Process an input file named in $1 and run it through the blob +# recognizer. Functions set_except and set_sed_cmd provide additional +# arguments on a per-file and per-action basis. + +check () { + case "$#" in 1) ;; *) echo ICE >&2; exit 1;; esac + + input=$1 + + # Add $1 to falsepos. Its usage makes it implicitly anchored to the + # beginning of the line. $2, if present, will some day narrow the + # falsepos matches to files that match it. + addx () { + $echo "+^$1" >> $regex_name + } + + # Add $1 to falseneg. Unlike addx, it is NOT implicitly anchored to + # the beginning of the line. $2, if present, will some day narrow + # the falseneg matches to files that match it. + badx () { + $echo "-$1" >> $regex_name + } + + # Look for a multi-line definition starting with a line that matches + # $1 (implicitly anchored to the beginning of the line), and ending + # at the first ';'. $2 may optionally name the files in which this + # match is to be disregarded as a potential blob. + initnc () { + addx "$1[^;]*[;]\\?" $2 + } + + # Same as initnc, but require the terminating semicolon. + defsnc () { + addx "$1[^;]*[;]" $2 + } + + # Look for a multi-line definition starting with a line that matches + # $1 (implicitly anchored to the beginning of the line), and ending + # at the first ';' that's not within comments. + initc () { + addx "$1\\([^;/]\\+\\($comment\\|[/][^/*;]\\)\\+\\)*[^;/]*[;]\\?" $2 + } + + # Same as initc, but require the terminating semicolon. + defsc () { + addx "$1\\([^;/]\\+\\($comment\\|[/][^/*;]\\)\\+\\)*[^;/]*[;]" $2 + } + + # Accept as a non-blob an expression $1 that would have otherwise + # triggered blob detection. The expression must end in a way that + # would trigger the blob detection machinery. + accept () { + addx "$1" $2 + } + + # Match up to the end a comment started in $1. + ocomment () { + addx "$1[/]*\\([*]*[^*/][/]*\\)*[*]\+[/]" $2 + } + + # Match $1 followed by backslash-terminated lines and a last + # non-backslash-terminated line. + oprepline () { + addx "$1\\([^\\\\\\n]*[\\\\][\\n]\\)*[^\\\\\\n]*$" $2 + } + + # Match $1 in $2 as a blob. Not anchored. + blobna () { + badx "$1" $2 + } + + # Match $1 as a blob anywhere. $2 is just for documentation purposes. + blobname () { + badx "$1" $2 + } + + # Match $1 in $2 as a blob. The expectation is a match in the + # beginning of line, but we don't do anchoring of blob patterns ATM. + blob () { + badx "$1" $2 + } + + regex_name=`mktemp -t deblob-check-regex-XXXXXX` + tempfiles="$regex_name" + + set_except "$input" + + # Check that all regular expressions match our requirements. + ${SED-sed} -n ' +s,^\(-\^\?\|[+]\^\),, +h +s,[$]$,, +s,\([^\\]\|^\)\(\(\\\\\)*\)\(\[^\?[]]\?[^]]\+\]\([*]\|\\[+?]\)\?\(\\\\\)*\)\+,\1\2,g +/\([^\\]\|^\)\(\\\\\)*\([{(|)}?+^$"'"'"'; ]\)\|^$/{ + g + i\ +BAD regular expression: + p + q 1 +}' $regex_name >&2 || exit 1 + + scriptname=`mktemp -t deblob-check-script-XXXXXX` + tempfiles="$tempfiles $scriptname" + + scriptcmd=false + scriptcmd2= + + $set_cmd "$input" + + for f in $tempfiles; do + case $f in "$scriptname") ;; + *) rm -f "$f" ;; + esac + done + tempfiles="$scriptname" + + # Choose the input source... + case $input in + -) in= ;; + *) in='< "$input"' ;; + esac + + set fnord # shifted out below + + # Decompress as needed... + case $input in + *.bz2) cmd='bunzip2' ;; + *.xz) cmd='unxz' ;; + *.lz) cmd='lzip -d' ;; + *.gz | *.tgz) cmd='gunzip' ;; + *) cmd= ;; + esac + if test -n "$cmd"; then + set "$@" "$cmd" + fi + + # Extract or otherwise munge... + case /$input in + *.tar*) + tarwrap=`mktemp -t deblob-check-tarwrap-XXXXXX` + tempfiles="$tempfiles $tarwrap" + + cat >> $tarwrap <&2; fi && +\$echo ";/*begin \$1*/;" && +cat && +echo && +\$echo ";/*end \$1*/;" +EOF + chmod +x $tarwrap + cmd="tar -xf - --to-command='$tarwrap \"\$TAR_FILENAME\"'" + ;; + *.patch | *.patch.*z* | */patch-* | *.diff | *.diff.*z*) + if $reverse_patch; then + s=- r=+ + else + s=+ r=- + fi + sedpatch=" + /^[$r]/b testlastline; + # /^[*!]/ { + # s,^,context diffs are not properly supported\\n,; + # W /dev/stderr + # d; + # } + /^\\(@@ \\|$s$s$s \\|[^$s @]\\|$\\)/ { + x; + /^@@ /{ + s,^,;/*end ,; + s,\\([\\n]\\|$\\),*/;&,; + i\\ +;/**/; + + P; + s,^[^\\n]*\\([\\n]\\|$\\),,; + } + x; + } + /^\\($s$s$s \\|[^$s @]\\|$\\)/ { + x; + /^$s$s$s /{ + s,^$s$s$s,;/*end,; + s,\\([\\n]\\|$\\),*/;&,; + i\\ + + P; + s,^[^\\n]*\\([\\n]\\|$\\),,; + } + x; + } + /^$s$s$s / { + H; + x; + s,^[\\n],,; + s,^\\(.*\\)[\\n]\\([^\\n]*\\)$,\\2\\n\\1,; + x; + s,^$s$s$s \\(.*\\)$,;/*begin \\1*/;,; + p; + d; + } + /^@@ / { + H; + x; + s,^[\\n],,; + s,^\\(.*\\)[\\n]\\([^\\n]*\\)$,\\2\\n\\1,; + x; + # A number of patterns for patches depend on the ;/*@@ lines for + # context. + s,^.*$,;/*begin &*/;\\n;/*&*/;,; + p; + d; + } + s,^[ !$s],, + p; + :testlastline + $ { + x; + /^@@ /{ + s,^,;/*end ,; + s,\\([\\n]\\|$\\),*/;&,; + i\\ +;/**/; + + P; + s,^[^\\n]*\\([\\n]\\|$\\),,; + } + /^$s$s$s /{ + s,^$s$s$s,;/*end,; + s,\\([\\n]\\|$\\),*/;&,; + i\\ + + P; + s,^[^\\n]*\\([\\n]\\|$\\),,; + } + x; + } + d;" + cmd='${SED-sed} "$sedpatch"' + ;; + *) + cmd='cat' + ;; + esac + cmd="{ echo \";/*begin $input*/;\"; $cmd; echo; echo \";/*end $input*/;\"; }" + set "$@" "$cmd" + + case $input in + *.tar*) + cmd="{ cat; cat > /dev/null; }" + set "$@" "$cmd" + ;; + esac + + # Then run through the selected action. + set "$@" "$scriptcmd" + + case $scriptcmd2 in "" | cat) ;; + *) set "$@" "$scriptcmd2" + esac + + # test $# = 1 || set "$@" "cat" + + shift # fnord goes out here + + pipe= + for cmd + do + if test -z "$pipe"; then + pipe="$cmd $in" + else + pipe="$pipe | $cmd" + fi + done + + eval "$pipe" + status=$? + + $rm $tempfiles + tempfiles= + + (exit $status) +} + +# If no input given, use stdin. +case $# in +0) + test -t 0 && echo reading from standard input >&2 + set fnord - + shift + ;; +esac + +# The lines below commented out out #list: can be used to get a list +# of matching inputs. ATM this is useless, so we just use a shell +# boolean. + +#list: n=$# +pass=: + +tempfiles= +trap "status=$?; test -z \"$tempfiles\" || rm -f $tempfiles; (exit $status); exit" 0 1 2 15 + +process_arg= + +# Go through each of the input files in the command line. +for file +do + case $process_arg in + "") ;; + --implied-prefix | --prefix | -i) + prefix=$file + case $prefix in + /*/) ;; + */) prefix=/$prefix ;; + /*) prefix=$prefix/ ;; + *) prefix=/$prefix/ ;; + esac + process_arg= + continue + ;; + *) + echo Internal error with process_arg=$process_arg >&2 + exit 1 + ;; + esac + + case $sawdashdash$file in + --implied-prefix | --prefix | -i) + process_arg=$file + continue + ;; + esac + + # If we print anything whatsoever (even a blank line) while + # processing it, we've failed. + if check "$file"; then + : + else + pass=false + #list: set fnord "$@" "$file" + #list: shift + fi +done + +case $process_arg in +"") ;; +*) + echo Missing argument to $process_arg >&2 + exit 1 + ;; +esac + +#list: shift $n + +#list: exec test $# = 0 +$pass +exit diff --git a/helpers/DATA/linux-hwe-6.14/004-enable_blobless_activation_radeon.patch b/helpers/DATA/linux-hwe-6.2/enable_blobless_activation_radeon.patch similarity index 55% rename from helpers/DATA/linux-hwe-6.14/004-enable_blobless_activation_radeon.patch rename to helpers/DATA/linux-hwe-6.2/enable_blobless_activation_radeon.patch index 2f08298..ba0f092 100644 --- a/helpers/DATA/linux-hwe-6.14/004-enable_blobless_activation_radeon.patch +++ b/helpers/DATA/linux-hwe-6.2/enable_blobless_activation_radeon.patch @@ -1,8 +1,8 @@ Based on https://libreplanet.org/wiki/Group:Hardware/research/gpu/radeon -diff -ru a/drivers/gpu/drm/radeon/btc_dpm.c b/drivers/gpu/drm/radeon/btc_dpm.c ---- a/drivers/gpu/drm/radeon/btc_dpm.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/btc_dpm.c 2023-02-13 15:50:41.218608376 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/btc_dpm.c source/drivers/gpu/drm/radeon/btc_dpm.c +--- source.orig/drivers/gpu/drm/radeon/btc_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/btc_dpm.c 2023-02-13 15:50:41.218608376 -0500 @@ -2437,7 +2437,6 @@ ret = rv770_upload_firmware(rdev); if (ret) { @@ -11,9 +11,9 @@ diff -ru a/drivers/gpu/drm/radeon/btc_dpm.c b/drivers/gpu/drm/radeon/btc_dpm.c } ret = cypress_get_table_locations(rdev); if (ret) { -diff -ru a/drivers/gpu/drm/radeon/ci_dpm.c b/drivers/gpu/drm/radeon/ci_dpm.c ---- a/drivers/gpu/drm/radeon/ci_dpm.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/ci_dpm.c 2023-02-13 15:53:38.591724496 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/ci_dpm.c source/drivers/gpu/drm/radeon/ci_dpm.c +--- source.orig/drivers/gpu/drm/radeon/ci_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/ci_dpm.c 2023-02-13 15:53:38.591724496 -0500 @@ -5157,7 +5157,6 @@ ret = ci_upload_firmware(rdev); if (ret) { @@ -22,9 +22,9 @@ diff -ru a/drivers/gpu/drm/radeon/ci_dpm.c b/drivers/gpu/drm/radeon/ci_dpm.c } ret = ci_process_firmware_header(rdev); if (ret) { -diff -ru a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c ---- a/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:21:35.174999782 -0500 -+++ b/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:47:37.149601121 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/cik.c source/drivers/gpu/drm/radeon/cik.c +--- source.orig/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:21:35.174999782 -0500 ++++ source/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:47:37.149601121 -0500 @@ -8285,7 +8285,6 @@ r = ci_mc_load_microcode(rdev); if (r) { @@ -57,9 +57,9 @@ diff -ru a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c } return 0; -diff -ru a/drivers/gpu/drm/radeon/cypress_dpm.c b/drivers/gpu/drm/radeon/cypress_dpm.c ---- a/drivers/gpu/drm/radeon/cypress_dpm.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/cypress_dpm.c 2023-02-13 15:50:25.130869935 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/cypress_dpm.c source/drivers/gpu/drm/radeon/cypress_dpm.c +--- source.orig/drivers/gpu/drm/radeon/cypress_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/cypress_dpm.c 2023-02-13 15:50:25.130869935 -0500 @@ -1862,7 +1862,6 @@ ret = rv770_upload_firmware(rdev); if (ret) { @@ -68,9 +68,9 @@ diff -ru a/drivers/gpu/drm/radeon/cypress_dpm.c b/drivers/gpu/drm/radeon/cypress } ret = cypress_get_table_locations(rdev); -diff -ru a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c ---- a/drivers/gpu/drm/radeon/evergreen.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/evergreen.c 2023-02-13 15:47:50.457384749 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/evergreen.c source/drivers/gpu/drm/radeon/evergreen.c +--- source.orig/drivers/gpu/drm/radeon/evergreen.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/evergreen.c 2023-02-13 15:47:50.457384749 -0500 @@ -5018,7 +5018,6 @@ r = ni_mc_load_microcode(rdev); if (r) { @@ -103,9 +103,9 @@ diff -ru a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen } } -diff -ru a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c ---- a/drivers/gpu/drm/radeon/ni.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/ni.c 2023-02-13 15:46:45.402442454 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/ni.c source/drivers/gpu/drm/radeon/ni.c +--- source.orig/drivers/gpu/drm/radeon/ni.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/ni.c 2023-02-13 15:46:45.402442454 -0500 @@ -2163,7 +2163,6 @@ r = ni_mc_load_microcode(rdev); if (r) { @@ -138,9 +138,9 @@ diff -ru a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c } return 0; -diff -ru a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c ---- a/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:21:35.174999782 -0500 -+++ b/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:49:15.548001277 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/r100.c source/drivers/gpu/drm/radeon/r100.c +--- source.orig/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:21:35.174999782 -0500 ++++ source/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:49:15.548001277 -0500 @@ -1134,7 +1134,6 @@ r = r100_cp_init_microcode(rdev); if (r) { @@ -149,9 +149,9 @@ diff -ru a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c } } -diff -ru a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c ---- a/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:21:35.174999782 -0500 -+++ b/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:46:07.291062125 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/r600.c source/drivers/gpu/drm/radeon/r600.c +--- source.orig/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:21:35.174999782 -0500 ++++ source/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:46:07.291062125 -0500 @@ -3299,7 +3299,6 @@ r = r600_init_microcode(rdev); if (r) { @@ -160,9 +160,9 @@ diff -ru a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c } } -diff -ru a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c ---- a/drivers/gpu/drm/radeon/rv770.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/rv770.c 2023-02-13 15:26:54.385808292 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/rv770.c source/drivers/gpu/drm/radeon/rv770.c +--- source.orig/drivers/gpu/drm/radeon/rv770.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/rv770.c 2023-02-13 15:26:54.385808292 -0500 @@ -1966,7 +1966,6 @@ r = r600_init_microcode(rdev); if (r) { @@ -171,9 +171,9 @@ diff -ru a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c } } -diff -ru a/drivers/gpu/drm/radeon/rv770_dpm.c b/drivers/gpu/drm/radeon/rv770_dpm.c ---- a/drivers/gpu/drm/radeon/rv770_dpm.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/rv770_dpm.c 2023-02-13 15:50:13.591057564 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/rv770_dpm.c source/drivers/gpu/drm/radeon/rv770_dpm.c +--- source.orig/drivers/gpu/drm/radeon/rv770_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/rv770_dpm.c 2023-02-13 15:50:13.591057564 -0500 @@ -1948,12 +1948,10 @@ ret = rv770_upload_firmware(rdev); if (ret) { @@ -187,9 +187,9 @@ diff -ru a/drivers/gpu/drm/radeon/rv770_dpm.c b/drivers/gpu/drm/radeon/rv770_dpm } rv770_program_response_times(rdev); -diff -ru a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c ---- a/drivers/gpu/drm/radeon/si.c 2023-02-13 15:21:35.178999717 -0500 -+++ b/drivers/gpu/drm/radeon/si.c 2023-02-13 15:47:00.042204445 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/si.c source/drivers/gpu/drm/radeon/si.c +--- source.orig/drivers/gpu/drm/radeon/si.c 2023-02-13 15:21:35.178999717 -0500 ++++ source/drivers/gpu/drm/radeon/si.c 2023-02-13 15:47:00.042204445 -0500 @@ -6619,7 +6619,6 @@ r = si_mc_load_microcode(rdev); if (r) { @@ -214,9 +214,9 @@ diff -ru a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c } return 0; -diff -ru a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c ---- a/drivers/gpu/drm/radeon/si_dpm.c 2021-10-31 16:53:10.000000000 -0400 -+++ b/drivers/gpu/drm/radeon/si_dpm.c 2023-02-13 15:53:00.844338238 -0500 +diff -ru source.orig/drivers/gpu/drm/radeon/si_dpm.c source/drivers/gpu/drm/radeon/si_dpm.c +--- source.orig/drivers/gpu/drm/radeon/si_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/si_dpm.c 2023-02-13 15:53:00.844338238 -0500 @@ -6366,7 +6366,6 @@ ret = si_upload_firmware(rdev); if (ret) { diff --git a/helpers/DATA/linux-hwe-6.14/tbr/001-revert_iwlwifi_clear_firmware1.patch b/helpers/DATA/linux-hwe-6.2/revert_iwlwifi_clear_firmware1.patch similarity index 100% rename from helpers/DATA/linux-hwe-6.14/tbr/001-revert_iwlwifi_clear_firmware1.patch rename to helpers/DATA/linux-hwe-6.2/revert_iwlwifi_clear_firmware1.patch diff --git a/helpers/DATA/linux-hwe-6.11/002-revert_iwlwifi_clear_firmware2.patch b/helpers/DATA/linux-hwe-6.2/revert_iwlwifi_clear_firmware2.patch similarity index 56% rename from helpers/DATA/linux-hwe-6.11/002-revert_iwlwifi_clear_firmware2.patch rename to helpers/DATA/linux-hwe-6.2/revert_iwlwifi_clear_firmware2.patch index 2597a66..22879b6 100644 --- a/helpers/DATA/linux-hwe-6.11/002-revert_iwlwifi_clear_firmware2.patch +++ b/helpers/DATA/linux-hwe-6.2/revert_iwlwifi_clear_firmware2.patch @@ -20,32 +20,14 @@ reverts https://lore.kernel.org/all/iwlwifi.20211210110539.1f742f0eb58a.I1315f22 fw->ucode_capa.max_probe_length = IWL_DEFAULT_MAX_PROBE_LENGTH; fw->ucode_capa.standard_phy_calibration_size = -# this is change is related to patch "001" need review. -#@@ -1699,7 +1695,6 @@ -# op->name, err); -# #endif -# } -#- failure = false; -# goto free; -# -# try_again: - -diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -index 81d06847..9d13e812 100644 ---- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -@@ -1717,7 +1717,6 @@ static void iwl_req_fw_callback(const struct firmware *ucode_raw, void *context) - - complete(&drv->request_firmware_complete); - +@@ -1699,7 +1695,6 @@ + op->name, err); + #endif + } - failure = false; goto free; try_again: -diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -index 81d06847..9d13e812 100644 ---- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c @@ -1715,9 +1710,6 @@ complete(&drv->request_firmware_complete); device_release_driver(drv->trans->dev); diff --git a/helpers/DATA/linux-hwe-6.14/003-revert_iwlwifi_clear_firmware3.patch b/helpers/DATA/linux-hwe-6.2/revert_iwlwifi_clear_firmware3.patch similarity index 100% rename from helpers/DATA/linux-hwe-6.14/003-revert_iwlwifi_clear_firmware3.patch rename to helpers/DATA/linux-hwe-6.2/revert_iwlwifi_clear_firmware3.patch diff --git a/helpers/DATA/linux-hwe-6.14/000-silent-accept-firmware.patch b/helpers/DATA/linux-hwe-6.2/silent-accept-firmware.patch similarity index 70% rename from helpers/DATA/linux-hwe-6.14/000-silent-accept-firmware.patch rename to helpers/DATA/linux-hwe-6.2/silent-accept-firmware.patch index 2e0b52c..ff65563 100644 --- a/helpers/DATA/linux-hwe-6.14/000-silent-accept-firmware.patch +++ b/helpers/DATA/linux-hwe-6.2/silent-accept-firmware.patch @@ -74,22 +74,21 @@ diff --color -Nru a/drivers/base/firmware_loader/fallback.c b/drivers/base/firmw diff --color -Nru a/drivers/base/firmware_loader/main.c b/drivers/base/firmware_loader/main.c --- a/drivers/base/firmware_loader/main.c 2022-07-31 16:03:01.000000000 -0500 +++ b/drivers/base/firmware_loader/main.c 2023-03-09 11:53:09.989441841 -0600 -@@ -554,12 +554,11 @@ fw_get_filesystem_firmware(struct device *device, struct fw_priv *fw_priv, - if (!(fw_priv->opt_flags & FW_OPT_NO_WARN)) { - if (rc != -ENOENT) - dev_warn(device, -- "loading %s failed with error %d\n", -- path, rc); -+ "loading failed with error %d\n", -+ rc); - else - dev_dbg(device, -- "loading %s failed for no such file or directory.\n", -- path); -+ "loading failed for no such file or directory.\n"); - } +@@ -542,11 +542,10 @@ + READING_FIRMWARE); + if (rc < 0) { + if (rc != -ENOENT) +- dev_warn(device, "loading %s failed with error %d\n", +- path, rc); ++ dev_warn(device, "loading failed with error %d\n", ++ rc); + else +- dev_dbg(device, "loading %s failed for no such file or directory.\n", +- path); ++ dev_dbg(device, "loading failed for no such file or directory.\n"); continue; } + size = rc; @@ -565,8 +564,7 @@ continue; } @@ -123,26 +122,33 @@ diff --color -Nru a/drivers/base/firmware_loader/main.c b/drivers/base/firmware_ diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c 2022-07-31 16:03:01.000000000 -0500 +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c 2023-03-09 19:28:13.650922651 -0600 -@@ -413,7 +413,7 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device, +@@ -419,7 +419,7 @@ - err = amdgpu_ucode_request(adev, &adev->pm.fw, fw_name); + err = amdgpu_ucode_validate(adev->pm.fw); if (err) { - DRM_ERROR("Failed to load firmware \"%s\"", fw_name); + DRM_ERROR("Failed to load firmware\n"); - amdgpu_ucode_release(&adev->pm.fw); + release_firmware(adev->pm.fw); + adev->pm.fw = NULL; return err; - } -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b//drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -index 2f600a31..62128e06 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -@@ -2387,8 +2387,7 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev) - "amdgpu/%s_gpu_info.bin", chip_name); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 2023-03-09 19:29:28.335287765 -0600 +@@ -2002,15 +2002,13 @@ + err = request_firmware(&adev->firmware.gpu_info_fw, fw_name, adev->dev); if (err) { dev_err(adev->dev, -- "Failed to get gpu_info firmware \"%s_gpu_info.bin\"\n", -- chip_name); -+ "Failed to get gpu_info firmware\n"); +- "Failed to load gpu_info firmware \"%s\"\n", +- fw_name); ++ "Failed to load gpu_info firmware\n"); + goto out; + } + err = amdgpu_ucode_validate(adev->firmware.gpu_info_fw); + if (err) { + dev_err(adev->dev, +- "Failed to validate gpu_info firmware \"%s\"\n", +- fw_name); ++ "Failed to validate gpu_info firmware\n"); goto out; } @@ -163,294 +169,306 @@ diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/am diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c 2023-03-09 11:48:45.000000000 -0600 +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c 2023-03-09 19:35:41.949114270 -0600 -@@ -715,8 +715,7 @@ psp_cmd_submit_buf(struct psp_context *psp, +@@ -627,8 +627,7 @@ + */ if (!skip_unsupport && (psp->cmd_buf_mem->resp.status || !timeout) && !ras_intr) { if (ucode) - dev_warn(psp->adev->dev, -- "failed to load ucode %s(0x%X) ", -- amdgpu_ucode_name(ucode->ucode_id), ucode->ucode_id); -+ "failed to load ucode"); - if (psp_err_warn(psp)) - dev_warn( - psp->adev->dev, +- DRM_WARN("failed to load ucode %s(0x%X) ", +- amdgpu_ucode_name(ucode->ucode_id), ucode->ucode_id); ++ DRM_WARN("failed to load ucode"); + DRM_WARN("psp gfx command %s(0x%X) failed and response status is (0x%X)\n", + psp_gfx_cmd_name(psp->cmd_buf_mem->cmd_id), psp->cmd_buf_mem->cmd_id, + psp->cmd_buf_mem->resp.status); diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c 2022-07-31 16:03:01.000000000 -0500 +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c 2023-03-09 19:38:05.801817530 -0600 -@@ -262,8 +262,7 @@ int amdgpu_uvd_sw_init(struct amdgpu_device *adev) +@@ -262,15 +262,13 @@ - r = amdgpu_ucode_request(adev, &adev->uvd.fw, fw_name); + r = request_firmware(&adev->uvd.fw, fw_name, adev->dev); + if (r) { +- dev_err(adev->dev, "amdgpu_uvd: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_uvd: Can't load firmware\n"); + return r; + } + + r = amdgpu_ucode_validate(adev->uvd.fw); if (r) { - dev_err(adev->dev, "amdgpu_uvd: Can't validate firmware \"%s\"\n", - fw_name); + dev_err(adev->dev, "amdgpu_uvd: Can't validate firmware\n"); - amdgpu_ucode_release(&adev->uvd.fw); + release_firmware(adev->uvd.fw); + adev->uvd.fw = NULL; return r; - } diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c 2022-07-31 16:03:01.000000000 -0500 +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c 2023-03-09 19:40:03.778394288 -0600 -@@ -160,8 +160,7 @@ int amdgpu_vce_sw_init(struct amdgpu_device *adev, unsigned long size) +@@ -160,15 +160,13 @@ - r = amdgpu_ucode_request(adev, &adev->vce.fw, fw_name); + r = request_firmware(&adev->vce.fw, fw_name, adev->dev); + if (r) { +- dev_err(adev->dev, "amdgpu_vce: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_vce: Can't load firmware\n"); + return r; + } + + r = amdgpu_ucode_validate(adev->vce.fw); if (r) { - dev_err(adev->dev, "amdgpu_vce: Can't validate firmware \"%s\"\n", - fw_name); + dev_err(adev->dev, "amdgpu_vce: Can't validate firmware\n"); - amdgpu_ucode_release(&adev->vce.fw); + release_firmware(adev->vce.fw); + adev->vce.fw = NULL; + return r; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c 2023-03-09 19:41:58.842956810 -0600 +@@ -200,15 +200,13 @@ + + r = request_firmware(&adev->vcn.fw, fw_name, adev->dev); + if (r) { +- dev_err(adev->dev, "amdgpu_vcn: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_vcn: Can't load firmware\n"); return r; } -#removed at v6.5 --ark74 -#diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c -#@@ -200,15 +200,13 @@ -# -# r = request_firmware(&adev->vcn.fw, fw_name, adev->dev); -# if (r) { -#- dev_err(adev->dev, "amdgpu_vcn: Can't load firmware \"%s\"\n", -#- fw_name); -#+ dev_err(adev->dev, "amdgpu_vcn: Can't load firmware\n"); -# return r; -# } -# -# r = amdgpu_ucode_validate(adev->vcn.fw); -# if (r) { -#- dev_err(adev->dev, "amdgpu_vcn: Can't validate firmware \"%s\"\n", -#- fw_name); -#+ dev_err(adev->dev, "amdgpu_vcn: Can't validate firmware\n"); -# release_firmware(adev->vcn.fw); -# adev->vcn.fw = NULL; -# return r; -diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -index 952737de..71717602 100644 ---- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -+++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -@@ -142,8 +142,7 @@ static int cik_sdma_init_microcode(struct amdgpu_device *adev) + + r = amdgpu_ucode_validate(adev->vcn.fw); + if (r) { +- dev_err(adev->dev, "amdgpu_vcn: Can't validate firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_vcn: Can't validate firmware\n"); + release_firmware(adev->vcn.fw); + adev->vcn.fw = NULL; + return r; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +--- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c 2023-03-09 19:44:48.183784675 -0600 +@@ -144,7 +144,7 @@ } out: if (err) { -- pr_err("cik_sdma: Failed to load firmware \"%s_sdma%s.bin\"\n", -- chip_name, i == 0 ? "" : "1"); +- pr_err("cik_sdma: Failed to load firmware \"%s\"\n", fw_name); + pr_err("cik_sdma: Failed to load firmware\n"); - for (i = 0; i < adev->sdma.num_instances; i++) - amdgpu_ucode_release(&adev->sdma.instance[i].fw); - } -# Dropped on 6.8 --ark74 -#diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c -#index 49d34c7..376ccc3 100644 -#--- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c -#+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c -#@@ -4011,8 +4011,7 @@ static int gfx_v10_0_init_microcode(struct amdgpu_device *adev) -# goto out; -# if (err) -# dev_dbg(adev->dev, -#- "gfx10: amdgpu_ucode_request() failed \"%s\"\n", -#- fw_name); -#+ "gfx10: amdgpu_ucode_request() failed \n"); -# rlc_hdr = (const struct rlc_firmware_header_v2_0 *)adev->gfx.rlc_fw->data; -# version_major = le16_to_cpu(rlc_hdr->header.header_version_major); -# version_minor = le16_to_cpu(rlc_hdr->header.header_version_minor); -diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c -index 564f0b93..713aa8d7 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c -@@ -370,7 +370,7 @@ static int gfx_v6_0_init_microcode(struct amdgpu_device *adev) - + for (i = 0; i < adev->sdma.num_instances; i++) { + release_firmware(adev->sdma.instance[i].fw); + adev->sdma.instance[i].fw = NULL; +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +index 49d34c7..376ccc3 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +@@ -4104,8 +4104,7 @@ static int gfx_v10_0_init_microcode(struct amdgpu_device *adev) out: - if (err) { -- pr_err("gfx6: Failed to load firmware %s gfx firmware\n", chip_name); -+ pr_err("gfx6: Failed to load firmware\n"); - amdgpu_ucode_release(&adev->gfx.pfp_fw); - amdgpu_ucode_release(&adev->gfx.me_fw); - amdgpu_ucode_release(&adev->gfx.ce_fw); -diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -index d8458913..eee1b496 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -@@ -964,7 +964,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) - "amdgpu/%s_rlc.bin", chip_name); - out: - if (err) { -- pr_err("gfx7: Failed to load firmware %s gfx firmware\n", chip_name); -+ pr_err("gfx7: Failed to load firmware\n"); - gfx_v7_0_free_microcode(adev); - } - return err; -diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -index 618972c4..ed58005f 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -@@ -1193,7 +1193,7 @@ static int gfx_v8_0_init_microcode(struct amdgpu_device *adev) - - out: - if (err) { -- dev_err(adev->dev, "gfx8: Failed to load firmware %s gfx firmware\n", chip_name); -+ dev_err(adev->dev, "gfx8: Failed to load firmware\n"); - amdgpu_ucode_release(&adev->gfx.pfp_fw); - amdgpu_ucode_release(&adev->gfx.me_fw); - amdgpu_ucode_release(&adev->gfx.ce_fw); -#removed at v6.5 --ark74 -#diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c -#@@ -1334,8 +1334,7 @@ -# out: -# if (err) { -# dev_err(adev->dev, -#- "gfx9: Failed to init firmware \"%s\"\n", -#- fw_name); -#+ "gfx9: Failed to load firmware\n"); -# release_firmware(adev->gfx.pfp_fw); -# adev->gfx.pfp_fw = NULL; -# release_firmware(adev->gfx.me_fw); -#@@ -1469,8 +1468,7 @@ -# out: -# if (err) { -# dev_err(adev->dev, -#- "gfx9: Failed to init firmware \"%s\"\n", -#- fw_name); -#+ "gfx9: Failed to load firmware\n"); -# release_firmware(adev->gfx.rlc_fw); -# adev->gfx.rlc_fw = NULL; -# } -#@@ -1572,8 +1570,7 @@ -# gfx_v9_0_check_fw_write_wait(adev); -# if (err) { -# dev_err(adev->dev, -#- "gfx9: Failed to init firmware \"%s\"\n", -#- fw_name); -#+ "gfx9: Failed to load firmware\n"); -# release_firmware(adev->gfx.mec_fw); -# adev->gfx.mec_fw = NULL; -# release_firmware(adev->gfx.mec2_fw); -diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c -index d3672566..ba454ac0 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c -@@ -129,8 +129,7 @@ static int gmc_v6_0_init_microcode(struct amdgpu_device *adev) - err = amdgpu_ucode_request(adev, &adev->gmc.fw, "amdgpu/%s_mc.bin", chip_name); if (err) { dev_err(adev->dev, -- "si_mc: Failed to load firmware \"%s_mc.bin\"\n", -- chip_name); +- "gfx10: Failed to init firmware \"%s\"\n", +- fw_name); ++ "gfx10: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c 2023-03-09 19:48:18.700813841 -0600 +@@ -381,7 +381,7 @@ + + out: + if (err) { +- pr_err("gfx6: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("gfx6: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c 2023-03-09 19:49:39.717209910 -0600 +@@ -976,7 +976,7 @@ + + out: + if (err) { +- pr_err("gfx7: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("gfx7: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c 2023-03-09 19:52:22.738006878 -0600 +@@ -1217,8 +1217,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "gfx8: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx8: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c 2023-03-09 19:57:30.143509707 -0600 +@@ -1334,8 +1334,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "gfx9: Failed to init firmware \"%s\"\n", +- fw_name); ++ "gfx9: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +@@ -1469,8 +1468,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "gfx9: Failed to init firmware \"%s\"\n", +- fw_name); ++ "gfx9: Failed to load firmware\n"); + release_firmware(adev->gfx.rlc_fw); + adev->gfx.rlc_fw = NULL; + } +@@ -1572,8 +1570,7 @@ + gfx_v9_0_check_fw_write_wait(adev); + if (err) { + dev_err(adev->dev, +- "gfx9: Failed to init firmware \"%s\"\n", +- fw_name); ++ "gfx9: Failed to load firmware\n"); + release_firmware(adev->gfx.mec_fw); + adev->gfx.mec_fw = NULL; + release_firmware(adev->gfx.mec2_fw); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c 2023-03-09 19:58:54.279921029 -0600 +@@ -140,8 +140,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "si_mc: Failed to load firmware \"%s\"\n", +- fw_name); + "si_mc: Failed to load firmware\n"); - amdgpu_ucode_release(&adev->gmc.fw); + release_firmware(adev->gmc.fw); + adev->gmc.fw = NULL; } - return err; -diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c -index 994432fb..bd7022ee 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c -@@ -154,7 +154,7 @@ static int gmc_v7_0_init_microcode(struct amdgpu_device *adev) +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c 2023-03-09 20:00:00.496244744 -0600 +@@ -163,7 +163,7 @@ - err = amdgpu_ucode_request(adev, &adev->gmc.fw, "amdgpu/%s_mc.bin", chip_name); + out: if (err) { -- pr_err("cik_mc: Failed to load firmware \"%s_mc.bin\"\n", chip_name); +- pr_err("cik_mc: Failed to load firmware \"%s\"\n", fw_name); + pr_err("cik_mc: Failed to load firmware\n"); - amdgpu_ucode_release(&adev->gmc.fw); + release_firmware(adev->gmc.fw); + adev->gmc.fw = NULL; } - return err; -diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c -index 86488c05..68ba2bee 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c -@@ -256,7 +256,7 @@ static int gmc_v8_0_init_microcode(struct amdgpu_device *adev) +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c 2023-03-09 20:01:46.768764284 -0600 +@@ -271,7 +271,7 @@ - err = amdgpu_ucode_request(adev, &adev->gmc.fw, "amdgpu/%s_mc.bin", chip_name); + out: if (err) { -- pr_err("mc: Failed to load firmware \"%s_mc.bin\"\n", chip_name); +- pr_err("mc: Failed to load firmware \"%s\"\n", fw_name); + pr_err("mc: Failed to load firmware\n"); - amdgpu_ucode_release(&adev->gmc.fw); + release_firmware(adev->gmc.fw); + adev->gmc.fw = NULL; } +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c +--- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c 2023-03-09 20:04:55.509686991 -0600 +@@ -75,8 +75,7 @@ + release_firmware(adev->psp.ta_fw); + adev->psp.ta_fw = NULL; + dev_info(adev->dev, +- "psp v10.0: Failed to load firmware \"%s\"\n", +- fw_name); ++ "psp v10.0: Failed to load firmware\n"); + } else { + err = amdgpu_ucode_validate(adev->psp.ta_fw); + if (err) +@@ -119,8 +118,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "psp v10.0: Failed to load firmware \"%s\"\n", +- fw_name); ++ "psp v10.0: Failed to load firmware\n"); + } + return err; -#removed at v6.5 --ark74 -#diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c -#@@ -75,8 +75,7 @@ -# release_firmware(adev->psp.ta_fw); -# adev->psp.ta_fw = NULL; -# dev_info(adev->dev, -#- "psp v10.0: Failed to load firmware \"%s\"\n", -#- fw_name); -#+ "psp v10.0: Failed to load firmware\n"); -# } else { -# err = amdgpu_ucode_validate(adev->psp.ta_fw); -# if (err) -#@@ -119,8 +118,7 @@ -# out: -# if (err) { -# dev_err(adev->dev, -#- "psp v10.0: Failed to load firmware \"%s\"\n", -#- fw_name); -#+ "psp v10.0: Failed to load firmware\n"); -# } -# -# return err; -#diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c -#@@ -146,7 +146,7 @@ -# release_firmware(adev->psp.ta_fw); -# adev->psp.ta_fw = NULL; -# dev_info(adev->dev, -#- "psp v11.0: Failed to load firmware \"%s\"\n", fw_name); -#+ "psp v11.0: Failed to load firmware\n"); -# } else { -# err = amdgpu_ucode_validate(adev->psp.ta_fw); -# if (err) -#@@ -185,7 +185,7 @@ -# release_firmware(adev->psp.ta_fw); -# adev->psp.ta_fw = NULL; -# dev_info(adev->dev, -#- "psp v11.0: Failed to load firmware \"%s\"\n", fw_name); -#+ "psp v11.0: Failed to load firmware\n"); -# } else { -# err = amdgpu_ucode_validate(adev->psp.ta_fw); -# if (err) -#diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c -#@@ -75,8 +75,7 @@ -# release_firmware(adev->psp.ta_fw); -# adev->psp.ta_fw = NULL; -# dev_info(adev->dev, -#- "psp v12.0: Failed to load firmware \"%s\"\n", -#- fw_name); -#+ "psp v12.0: Failed to load firmware\n"); -# } else { -# err = amdgpu_ucode_validate(adev->psp.ta_fw); -# if (err) -#@@ -120,8 +119,7 @@ -# adev->psp.ta_fw = NULL; -# if (err) { -# dev_err(adev->dev, -#- "psp v12.0: Failed to load firmware \"%s\"\n", -#- fw_name); -#+ "psp v12.0: Failed to load firmware\n"); -# } -# -# return err; -diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -index 72539252..bb264cdf 100644 ---- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -@@ -169,8 +169,7 @@ static int sdma_v2_4_init_microcode(struct amdgpu_device *adev) +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c +--- a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c 2023-03-09 20:09:20.270981343 -0600 +@@ -146,7 +146,7 @@ + release_firmware(adev->psp.ta_fw); + adev->psp.ta_fw = NULL; + dev_info(adev->dev, +- "psp v11.0: Failed to load firmware \"%s\"\n", fw_name); ++ "psp v11.0: Failed to load firmware\n"); + } else { + err = amdgpu_ucode_validate(adev->psp.ta_fw); + if (err) +@@ -185,7 +185,7 @@ + release_firmware(adev->psp.ta_fw); + adev->psp.ta_fw = NULL; + dev_info(adev->dev, +- "psp v11.0: Failed to load firmware \"%s\"\n", fw_name); ++ "psp v11.0: Failed to load firmware\n"); + } else { + err = amdgpu_ucode_validate(adev->psp.ta_fw); + if (err) +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c +--- a/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c 2023-03-09 20:15:18.748733852 -0600 +@@ -75,8 +75,7 @@ + release_firmware(adev->psp.ta_fw); + adev->psp.ta_fw = NULL; + dev_info(adev->dev, +- "psp v12.0: Failed to load firmware \"%s\"\n", +- fw_name); ++ "psp v12.0: Failed to load firmware\n"); + } else { + err = amdgpu_ucode_validate(adev->psp.ta_fw); + if (err) +@@ -120,8 +119,7 @@ + adev->psp.ta_fw = NULL; + if (err) { + dev_err(adev->dev, +- "psp v12.0: Failed to load firmware \"%s\"\n", +- fw_name); ++ "psp v12.0: Failed to load firmware\n"); + } + + return err; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c 2023-03-09 20:16:41.561138701 -0600 +@@ -175,7 +175,7 @@ out: if (err) { -- pr_err("sdma_v2_4: Failed to load firmware \"%s_sdma%s.bin\"\n", -- chip_name, i == 0 ? "" : "1"); +- pr_err("sdma_v2_4: Failed to load firmware \"%s\"\n", fw_name); + pr_err("sdma_v2_4: Failed to load firmware\n"); - for (i = 0; i < adev->sdma.num_instances; i++) - amdgpu_ucode_release(&adev->sdma.instance[i].fw); - } -diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -index aa637541..9345559b 100644 ---- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -@@ -327,8 +327,7 @@ static int sdma_v3_0_init_microcode(struct amdgpu_device *adev) + for (i = 0; i < adev->sdma.num_instances; i++) { + release_firmware(adev->sdma.instance[i].fw); + adev->sdma.instance[i].fw = NULL; +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c 2023-03-09 20:17:54.125493450 -0600 +@@ -331,7 +331,7 @@ } out: if (err) { -- pr_err("sdma_v3_0: Failed to load firmware \"%s_sdma%s.bin\"\n", -- chip_name, i == 0 ? "" : "1"); +- pr_err("sdma_v3_0: Failed to load firmware \"%s\"\n", fw_name); + pr_err("sdma_v3_0: Failed to load firmware\n"); - for (i = 0; i < adev->sdma.num_instances; i++) - amdgpu_ucode_release(&adev->sdma.instance[i].fw); - } -#removed at v6.2 --ark74 + for (i = 0; i < adev->sdma.num_instances; i++) { + release_firmware(adev->sdma.instance[i].fw); + adev->sdma.instance[i].fw = NULL; #diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +#--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c 2022-07-31 16:03:01.000000000 -0500 +#+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c 2023-03-09 20:18:38.785711783 -0600 #@@ -704,7 +704,7 @@ # # out: @@ -461,6 +479,8 @@ index aa637541..9345559b 100644 # } # return err; #diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c +#--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c 2022-07-31 16:03:01.000000000 -0500 +#+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c 2023-03-09 20:21:16.870484620 -0600 #@@ -297,7 +297,7 @@ # } # out: @@ -471,6 +491,8 @@ index aa637541..9345559b 100644 # release_firmware(adev->sdma.instance[i].fw); # adev->sdma.instance[i].fw = NULL; #diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c +#--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c 2022-07-31 16:03:01.000000000 -0500 +#+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c 2023-03-09 20:23:00.390990706 -0600 #@@ -201,7 +201,7 @@ # # out: @@ -480,71 +502,74 @@ index aa637541..9345559b 100644 # sdma_v5_2_destroy_inst_ctx(adev); # } # return err; -diff --git a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c -index a1baa13a..d585f664 100644 ---- a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c -+++ b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c -@@ -7709,8 +7709,8 @@ static int si_dpm_init_microcode(struct amdgpu_device *adev) +diff --color -Nru a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c +--- a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c 2023-03-09 11:53:09.993441860 -0600 +@@ -7721,8 +7721,8 @@ - err = amdgpu_ucode_request(adev, &adev->pm.fw, "amdgpu/%s_smc.bin", chip_name); + out: if (err) { -- DRM_ERROR("si_smc: Failed to load firmware. err = %d\"%s_smc.bin\"\n", -- err, chip_name); +- DRM_ERROR("si_smc: Failed to load firmware. err = %d\"%s\"\n", +- err, fw_name); + DRM_ERROR("si_smc: Failed to load firmware. err = %d\n", + err); - amdgpu_ucode_release(&adev->pm.fw); + release_firmware(adev->pm.fw); + adev->pm.fw = NULL; } - return err; diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c -index d1c7e829..7679ec15 100644 +index 5d9ef26..116fa00 100644 --- a/drivers/gpu/drm/drm_edid_load.c +++ b/drivers/gpu/drm/drm_edid_load.c -@@ -32,18 +32,17 @@ static const struct drm_edid *edid_load(struct drm_connector *connector, const c - err = request_firmware(&fw, name, connector->dev->dev); - if (err) { - drm_err(connector->dev, -- "[CONNECTOR:%d:%s] Requesting EDID firmware \"%s\" failed (err=%d)\n", -- connector->base.id, connector->name, -- name, err); -+ "Requesting EDID firmware failed (err=%d)\n", -+ err); - return ERR_PTR(err); +@@ -177,9 +177,8 @@ static const struct drm_edid *edid_load(struct drm_connector *connector, const c + err = request_firmware(&fw, name, connector->dev->dev); + if (err) { + drm_err(connector->dev, +- "[CONNECTOR:%d:%s] Requesting EDID firmware \"%s\" failed (err=%d)\n", +- connector->base.id, connector->name, +- name, err); ++ "Requesting EDID firmware failed (err=%d)\n", ++ err); + return ERR_PTR(err); + } + +@@ -187,13 +186,13 @@ static const struct drm_edid *edid_load(struct drm_connector *connector, const c + fwsize = fw->size; } -- drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] Loaded external firmware EDID \"%s\"\n", -- connector->base.id, connector->name, name); -+ drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] Loaded external firmware EDID\n", -+ connector->base.id, connector->name); +- drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] Loaded %s firmware EDID \"%s\"\n", ++ drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] Loaded %s firmware EDID\n", + connector->base.id, connector->name, +- builtin >= 0 ? "built-in" : "external", name); ++ builtin >= 0 ? "built-in" : "external"); - drm_edid = drm_edid_alloc(fw->data, fw->size); + drm_edid = drm_edid_alloc(fwdata, fwsize); if (!drm_edid_valid(drm_edid)) { - drm_err(connector->dev, "Invalid firmware EDID \"%s\"\n", name); -+ drm_err(connector->dev, "Invalid firmware EDID\n"); ++ drm_err(connector->dev, "Invalid firmware EDID \n"); drm_edid_free(drm_edid); drm_edid = ERR_PTR(-EINVAL); } -#removed at 6.5 --ark74 -#diff --color -Nru a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c -#--- a/drivers/gpu/drm/r128/r128_cce.c 2022-07-31 16:03:01.000000000 -0500 -#+++ b/drivers/gpu/drm/r128/r128_cce.c 2023-03-09 16:40:53.689839779 -0600 -#@@ -162,14 +162,13 @@ -# rc = request_firmware(&fw, FIRMWARE_NAME, &pdev->dev); -# platform_device_unregister(pdev); -# if (rc) { -#- pr_err("r128_cce: Failed to load firmware \"%s\"\n", -#- FIRMWARE_NAME); -#+ pr_err("r128_cce: Failed to load firmware\n"); -# return rc; -# } -# -# if (fw->size != 256 * 8) { -#- pr_err("r128_cce: Bogus length %zu in firmware \"%s\"\n", -#- fw->size, FIRMWARE_NAME); -#+ pr_err("r128_cce: Bogus length %zu in firmware\n", -#+ fw->size); -# rc = -EINVAL; -# goto out_release; -# } +diff --color -Nru a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c +--- a/drivers/gpu/drm/r128/r128_cce.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/r128/r128_cce.c 2023-03-09 16:40:53.689839779 -0600 +@@ -162,14 +162,13 @@ + rc = request_firmware(&fw, FIRMWARE_NAME, &pdev->dev); + platform_device_unregister(pdev); + if (rc) { +- pr_err("r128_cce: Failed to load firmware \"%s\"\n", +- FIRMWARE_NAME); ++ pr_err("r128_cce: Failed to load firmware\n"); + return rc; + } + + if (fw->size != 256 * 8) { +- pr_err("r128_cce: Bogus length %zu in firmware \"%s\"\n", +- fw->size, FIRMWARE_NAME); ++ pr_err("r128_cce: Bogus length %zu in firmware\n", ++ fw->size); + rc = -EINVAL; + goto out_release; + } diff --color -Nru a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c --- a/drivers/gpu/drm/radeon/cik.c 2022-07-31 16:03:01.000000000 -0500 +++ b/drivers/gpu/drm/radeon/cik.c 2023-03-09 18:09:31.511837288 -0600 @@ -743,68 +768,57 @@ diff --color -Nru a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c release_firmware(rdev->pfp_fw); rdev->pfp_fw = NULL; release_firmware(rdev->me_fw); -diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c -index b63b6b4e..3dc76b8d 100644 ---- a/drivers/gpu/drm/radeon/r100.c -+++ b/drivers/gpu/drm/radeon/r100.c -@@ -1021,7 +1021,7 @@ static int r100_cp_init_microcode(struct radeon_device *rdev) - case CHIP_RV200: - case CHIP_RS100: - case CHIP_RS200: +diff --color -Nru a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c +--- a/drivers/gpu/drm/radeon/r100.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/radeon/r100.c 2023-03-09 11:53:09.993441860 -0600 +@@ -1017,13 +1017,13 @@ + if ((rdev->family == CHIP_R100) || (rdev->family == CHIP_RV100) || + (rdev->family == CHIP_RV200) || (rdev->family == CHIP_RS100) || + (rdev->family == CHIP_RS200)) { - DRM_INFO("Loading R100 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_R100; - break; - -@@ -1029,7 +1029,7 @@ static int r100_cp_init_microcode(struct radeon_device *rdev) - case CHIP_RV250: - case CHIP_RV280: - case CHIP_RS300: + } else if ((rdev->family == CHIP_R200) || + (rdev->family == CHIP_RV250) || + (rdev->family == CHIP_RV280) || + (rdev->family == CHIP_RS300)) { - DRM_INFO("Loading R200 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_R200; - break; - -@@ -1039,25 +1039,25 @@ static int r100_cp_init_microcode(struct radeon_device *rdev) - case CHIP_RV380: - case CHIP_RS400: - case CHIP_RS480: + } else if ((rdev->family == CHIP_R300) || + (rdev->family == CHIP_R350) || +@@ -1031,19 +1031,19 @@ + (rdev->family == CHIP_RV380) || + (rdev->family == CHIP_RS400) || + (rdev->family == CHIP_RS480)) { - DRM_INFO("Loading R300 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_R300; - break; - - case CHIP_R420: - case CHIP_R423: - case CHIP_RV410: + } else if ((rdev->family == CHIP_R420) || + (rdev->family == CHIP_R423) || + (rdev->family == CHIP_RV410)) { - DRM_INFO("Loading R400 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_R420; - break; - - case CHIP_RS690: - case CHIP_RS740: + } else if ((rdev->family == CHIP_RS690) || + (rdev->family == CHIP_RS740)) { - DRM_INFO("Loading RS690/RS740 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_RS690; - break; - - case CHIP_RS600: + } else if (rdev->family == CHIP_RS600) { - DRM_INFO("Loading RS600 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_RS600; - break; - -@@ -1067,7 +1067,7 @@ static int r100_cp_init_microcode(struct radeon_device *rdev) - case CHIP_R580: - case CHIP_RV560: - case CHIP_RV570: + } else if ((rdev->family == CHIP_RV515) || + (rdev->family == CHIP_R520) || +@@ -1051,16 +1051,16 @@ + (rdev->family == CHIP_R580) || + (rdev->family == CHIP_RV560) || + (rdev->family == CHIP_RV570)) { - DRM_INFO("Loading R500 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_R520; - break; - -@@ -1078,10 +1078,10 @@ static int r100_cp_init_microcode(struct radeon_device *rdev) + } err = request_firmware(&rdev->me_fw, fw_name, rdev->dev); if (err) { @@ -1268,19 +1282,6 @@ diff --color -Nru a/drivers/net/wireless/intel/iwlegacy/4965-mac.c b/drivers/net /* Make sure that we got at least the API version number */ if (ucode_raw->size < 4) { -diff --git a/drivers/net/wireless/intel/iwlegacy/common.c b/drivers/net/wireless/intel/iwlegacy/common.c -index 96002121..1a60743b 100644 ---- a/drivers/net/wireless/intel/iwlegacy/common.c -+++ b/drivers/net/wireless/intel/iwlegacy/common.c -@@ -4149,7 +4149,7 @@ il_irq_handle_error(struct il_priv *il) - /* Cancel currently queued command. */ - clear_bit(S_HCMD_ACTIVE, &il->status); - -- IL_ERR("Loaded firmware version: %s\n", il->hw->wiphy->fw_version); -+ IL_ERR("Loaded firmware\n"); - - il->ops->dump_nic_error_log(il); - if (il->ops->dump_fh) diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/dvm/main.c b/drivers/net/wireless/intel/iwlwifi/dvm/main.c --- a/drivers/net/wireless/intel/iwlwifi/dvm/main.c 2022-07-31 16:03:01.000000000 -0500 +++ b/drivers/net/wireless/intel/iwlwifi/dvm/main.c 2023-03-09 11:53:09.997441880 -0600 @@ -1290,9 +1291,9 @@ diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/dvm/main.c b/drivers/net/ if (!hw) { - pr_err("%s: Cannot allocate network device\n", trans->name); + pr_err("Cannot allocate network device\n"); - err = -ENOMEM; goto out; } + @@ -1376,8 +1376,7 @@ /*********************** * 2. Read REV register @@ -1303,29 +1304,38 @@ diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/dvm/main.c b/drivers/net/ if (iwl_trans_start_hw(priv->trans)) goto out_free_hw; -@@ -1947,8 +1947,7 @@ static void iwl_nic_error(struct iwl_op_mode *op_mode, bool sync) - { - struct iwl_priv *priv = IWL_OP_MODE_GET_DVM(op_mode); +diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +--- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2023-03-09 11:53:09.997441880 -0600 +@@ -184,27 +184,13 @@ -- IWL_ERR(priv, "Loaded firmware version: %s\n", -- priv->fw->fw_version); -+ IWL_ERR(priv, "Loaded firmware version\n"); + if (drv->fw_index < cfg->ucode_api_min) { + IWL_ERR(drv, "no suitable firmware found!\n"); +- +- if (cfg->ucode_api_min == cfg->ucode_api_max) { +- IWL_ERR(drv, "%s%d is required\n", cfg->fw_name_pre, +- cfg->ucode_api_max); +- } else { +- IWL_ERR(drv, "minimum version required: %s%d\n", +- cfg->fw_name_pre, cfg->ucode_api_min); +- IWL_ERR(drv, "maximum version supported: %s%d\n", +- cfg->fw_name_pre, cfg->ucode_api_max); +- } +- +- IWL_ERR(drv, +- "check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git\n"); + return -ENOENT; + } - iwl_dump_nic_error_log(priv); - iwl_dump_nic_event_log(priv, false, NULL); -diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dump.c b/drivers/net/wireless/intel/iwlwifi/fw/dump.c -index 5876f917..472c617d 100644 ---- a/drivers/net/wireless/intel/iwlwifi/fw/dump.c -+++ b/drivers/net/wireless/intel/iwlwifi/fw/dump.c -@@ -229,7 +229,7 @@ static void iwl_fwrt_dump_lmac_error_log(struct iwl_fw_runtime *fwrt, u8 lmac_nu + snprintf(drv->firmware_name, sizeof(drv->firmware_name), "%s%s.ucode", + cfg->fw_name_pre, tag); - /* Do not change this output - scripts rely on it */ +- IWL_DEBUG_FW_INFO(drv, "attempting to load firmware '%s'\n", +- drv->firmware_name); ++ IWL_DEBUG_FW_INFO(drv, "attempting to load firmware\n"); -- IWL_ERR(fwrt, "Loaded firmware version: %s\n", fwrt->fw->fw_version); -+ IWL_ERR(fwrt, "Loaded firmware version\n"); - - IWL_ERR(fwrt, "0x%08X | %-28s\n", table.error_id, - iwl_fw_lookup_assert_desc(table.error_id)); + return request_firmware_nowait(THIS_MODULE, 1, drv->firmware_name, + drv->trans->dev, diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c --- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c 2022-07-31 16:03:01.000000000 -0500 +++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c 2023-03-09 11:53:09.997441880 -0600 @@ -1345,34 +1355,34 @@ diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers if (fw_entry->size > MAX_NVM_FILE_LEN) { IWL_ERR(trans, "NVM file too large\n"); -diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c -index b9daaffd..d8118eb0 100644 ---- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c -+++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c -@@ -867,7 +867,7 @@ static int iwl_mvm_start_get_nvm(struct iwl_mvm *mvm) - rtnl_unlock(); +diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +--- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c 2023-03-09 11:53:09.997441880 -0600 +@@ -1285,8 +1285,7 @@ + goto out_free; + } - if (ret) -- IWL_ERR(mvm, "Failed to run INIT ucode: %d\n", ret); -+ IWL_ERR(mvm, "Failed to run INIT ucode\n"); +- IWL_INFO(mvm, "Detected %s, REV=0x%X\n", +- mvm->trans->name, mvm->trans->hw_rev); ++ IWL_INFO(mvm, "Detected, REV=0x%X\n", mvm->trans->hw_rev); - /* no longer need this regardless of failure or not */ - mvm->fw_product_reset = false; -#diff --color -Nru a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c -#--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2023-03-09 11:48:45.000000000 -0600 -#+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2023-03-09 11:53:09.997441880 -0600 -#@@ -2073,9 +2073,9 @@ -# int ret = 0; -# u16 signature; -# -#- dev_info(dev, "%s: Loading firmware %s\n", DRIVER_NAME, fw_name); -#+ dev_info(dev, "%s: Loading firmware\n", DRIVER_NAME); -# if (request_firmware(&fw, fw_name, &priv->udev->dev)) { -#- dev_warn(dev, "request_firmware(%s) failed\n", fw_name); -#+ dev_warn(dev, "request_firmware failed\n"); -# ret = -EAGAIN; -# goto exit; -# } + if (iwlwifi_mod_params.nvm_file) + mvm->nvm_file_name = iwlwifi_mod_params.nvm_file; +diff --color -Nru a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2023-03-09 11:53:09.997441880 -0600 +@@ -2073,9 +2073,9 @@ + int ret = 0; + u16 signature; + +- dev_info(dev, "%s: Loading firmware %s\n", DRIVER_NAME, fw_name); ++ dev_info(dev, "%s: Loading firmware\n", DRIVER_NAME); + if (request_firmware(&fw, fw_name, &priv->udev->dev)) { +- dev_warn(dev, "request_firmware(%s) failed\n", fw_name); ++ dev_warn(dev, "request_firmware failed\n"); + ret = -EAGAIN; + goto exit; + } diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c --- a/drivers/net/wireless/realtek/rtlwifi/core.c 2022-07-31 16:03:01.000000000 -0500 +++ b/drivers/net/wireless/realtek/rtlwifi/core.c 2023-03-09 11:53:09.997441880 -0600 @@ -1410,14 +1420,13 @@ diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c b/driver err = request_firmware_nowait(THIS_MODULE, 1, fw_name, rtlpriv->io.dev, GFP_KERNEL, hw, rtl_fw_cb); -diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c -index c9b9e2bc..9b84e6d5 100644 ---- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c -+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c -@@ -53,7 +53,7 @@ static int rtl92cu_init_sw_vars(struct ieee80211_hw *hw) - } else { - fw_name = "rtlwifi/rtl8192cufw_TMSC.bin"; +diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c +--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c 2023-03-09 11:53:09.997441880 -0600 +@@ -55,7 +55,7 @@ } + /* provide name of alternative file */ + rtlpriv->cfg->alt_fw_name = "rtlwifi/rtl8192cufw.bin"; - pr_info("Loading firmware %s\n", fw_name); + pr_info("Loading firmware\n"); rtlpriv->max_fw_size = 0x4000; @@ -1513,50 +1522,48 @@ diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c b/driver err = request_firmware_nowait(THIS_MODULE, 1, wowlan_fw_name, rtlpriv->io.dev, GFP_KERNEL, hw, -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c -index f50578e9..88fdd87f 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c -@@ -306,9 +306,9 @@ static int amdgpu_discovery_read_binary_from_file(struct amdgpu_device *adev, - r = firmware_request_nowarn(&fw, fw_name, adev->dev); +diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 2023-03-13 07:14:05.000000000 +0000 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 2023-03-13 07:46:23.778827386 +0000 +@@ -223,8 +223,7 @@ + + r = request_firmware(&fw, fw_name, adev->dev); if (r) { - if (amdgpu_discovery == 2) -- dev_err(adev->dev, "can't load firmware \"%s\"\n", fw_name); -+ dev_err(adev->dev, "can't load firmware\n"); - else -- drm_info(&adev->ddev, "Optional firmware \"%s\" was not found\n", fw_name); -+ drm_info(&adev->ddev, "Optional firmware was not found\n"); +- dev_err(adev->dev, "can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "can't load firmware\n"); return r; } -#removed since v6.5 --ark74 -#diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c -#@@ -821,8 +821,7 @@ -# out: -# if (err) { -# dev_err(adev->dev, -#- "gfx11: Failed to init firmware \"%s\"\n", -#- fw_name); -#+ "gfx11: Failed to load firmware\n"); -# release_firmware(adev->gfx.pfp_fw); -# adev->gfx.pfp_fw = NULL; -# release_firmware(adev->gfx.me_fw); -diff --git a/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c b/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c -index 6c189188..c0f1a3b6 100644 ---- a/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c -@@ -74,8 +74,7 @@ static int imu_v11_0_init_microcode(struct amdgpu_device *adev) +diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c2023-03-13 07:14:05.000000000 +0000 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c 2023-03-13 07:43:14.487511703 +0000 +@@ -821,8 +821,7 @@ out: if (err) { dev_err(adev->dev, -- "gfx11: Failed to load firmware \"%s_imu.bin\"\n", -- ucode_prefix); +- "gfx11: Failed to init firmware \"%s\"\n", +- fw_name); + "gfx11: Failed to load firmware\n"); - amdgpu_ucode_release(&adev->gfx.imu_fw); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c b/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c +--- a/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c2022-07-31 21:03:01.000000000 +0000 ++++ b/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c 2023-03-13 07:45:31.295016045 +0000 +@@ -71,8 +71,7 @@ + out: + if (err) { + dev_err(adev->dev, +- "gfx11: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx11: Failed to load firmware\n"); + release_firmware(adev->gfx.imu_fw); } -#removed since v6.2 --ark74 #diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c +#--- a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c 2023-03-13 07:14:05.000000000 +0000 +#+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c 2023-03-13 07:44:37.099211678 +0000 #@@ -162,7 +162,7 @@ # # out: @@ -1640,21 +1647,16 @@ index 88262d3..93b3826 100644 return ret; } -@@ -501,11 +501,10 @@ static int ath3k_probe(struct usb_interface *intf, +@@ -504,8 +504,7 @@ static int ath3k_probe(struct usb_interface *intf, ret = request_firmware(&firmware, ATH3K_FIRMWARE, &udev->dev); if (ret < 0) { if (ret == -ENOENT) - BT_ERR("Firmware file \"%s\" not found", -- ATH3K_FIRMWARE); +- ATH3K_FIRMWARE); + BT_ERR("Firmware file not found"); else -- BT_ERR("Firmware file \"%s\" request failed (err=%d)", -- ATH3K_FIRMWARE, ret); -+ BT_ERR("Firmware file request failed (err=%d)", -+ ret); - return ret; - } - + BT_ERR("Firmware file \"%s\" request failed (err=%d)", + ATH3K_FIRMWARE, ret); diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c index d8fe39e..f9c6a53 100644 --- a/drivers/bluetooth/btbcm.c @@ -1833,68 +1835,49 @@ index 78afb9a..f9d2740 100644 /* Save the DDC file name for later */ switch (ver.hw_variant) { -#updated at 6.14 --ark74 diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c -index 221d3abd..fdfa1752 100644 +index a171d42..b2fb944 100644 --- a/drivers/gpu/drm/i915/display/intel_dmc.c +++ b/drivers/gpu/drm/i915/display/intel_dmc.c -@@ -1040,27 +1040,21 @@ static void dmc_load_work_fn(struct work_struct *work) - - if (err) { - drm_notice(display->drm, -- "Failed to load DMC firmware %s (%pe). Disabling runtime power management.\n", -- dmc->fw_path, ERR_PTR(err)); -- drm_notice(display->drm, "DMC firmware homepage: %s", -- INTEL_DMC_FIRMWARE_URL); -+ "Failed to load DMC firmware %s (%pe). Disabling runtime power management.\n"); - return; +@@ -696,11 +696,8 @@ static void dmc_load_work_fn(struct work_struct *work) + DMC_VERSION_MINOR(dmc->version)); + } else { + drm_notice(&dev_priv->drm, +- "Failed to load DMC firmware %s." +- " Disabling runtime power management.\n", +- dmc->fw_path); +- drm_notice(&dev_priv->drm, "DMC firmware homepage: %s", +- INTEL_UC_FIRMWARE_URL); ++ "Failed to load DMC firmware." ++ " Disabling runtime power management.\n"); } - err = parse_dmc_fw(dmc, fw); - if (err) { - drm_notice(display->drm, -- "Failed to parse DMC firmware %s (%pe). Disabling runtime power management.\n", -- dmc->fw_path, ERR_PTR(err)); -+ "Failed to parse DMC firmware %s (%pe). Disabling runtime power management.\n"); - goto out; - } - - intel_dmc_load_program(display); - intel_dmc_runtime_pm_put(display); - -- drm_info(display->drm, "Finished loading DMC firmware %s (v%u.%u)\n", -- dmc->fw_path, DMC_VERSION_MAJOR(dmc->version), -- DMC_VERSION_MINOR(dmc->version)); -+ drm_info(display->drm, "Finished loading DMC firmware\n"); - - out: release_firmware(fw); -#removed at 6.11 --ark74 -#diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c -#index f31e8c3..a4188d6 100644 -#--- a/drivers/gpu/drm/i915/display/intel_opregion.c -#+++ b/drivers/gpu/drm/i915/display/intel_opregion.c -#@@ -846,8 +846,8 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv) -# ret = request_firmware(&fw, name, dev_priv->drm.dev); -# if (ret) { -# drm_err(&dev_priv->drm, -#- "Requesting VBT firmware \"%s\" failed (%d)\n", -#- name, ret); -#+ "Requesting VBT firmware failed (%d)\n", -#+ ret); -# return ret; -# } -# -#@@ -863,8 +863,7 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv) -# ret = -ENOMEM; -# } -# } else { -#- drm_dbg_kms(&dev_priv->drm, "Invalid VBT firmware \"%s\"\n", -#- name); -#+ drm_dbg_kms(&dev_priv->drm, "Invalid VBT firmware\n"); -# ret = -EINVAL; -# } -# +diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c +index f31e8c3..a4188d6 100644 +--- a/drivers/gpu/drm/i915/display/intel_opregion.c ++++ b/drivers/gpu/drm/i915/display/intel_opregion.c +@@ -846,8 +846,8 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv) + ret = request_firmware(&fw, name, dev_priv->drm.dev); + if (ret) { + drm_err(&dev_priv->drm, +- "Requesting VBT firmware \"%s\" failed (%d)\n", +- name, ret); ++ "Requesting VBT firmware failed (%d)\n", ++ ret); + return ret; + } + +@@ -863,8 +863,7 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv) + ret = -ENOMEM; + } + } else { +- drm_dbg_kms(&dev_priv->drm, "Invalid VBT firmware \"%s\"\n", +- name); ++ drm_dbg_kms(&dev_priv->drm, "Invalid VBT firmware\n"); + ret = -EINVAL; + } + diff --git a/drivers/gpu/drm/i915/gvt/firmware.c b/drivers/gpu/drm/i915/gvt/firmware.c index 54fe442..1079138 100644 --- a/drivers/gpu/drm/i915/gvt/firmware.c @@ -1919,6 +1902,62 @@ index 54fe442..1079138 100644 ret = request_firmware(&fw, path, gvt->gt->i915->drm.dev); kfree(path); +diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +index 2bcdd19..2cdb9f5 100644 +--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c ++++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +@@ -423,7 +423,7 @@ void intel_uc_fw_init_early(struct intel_uc_fw *uc_fw, + + intel_uc_fw_change_status(uc_fw, uc_fw->file_selected.path ? *uc_fw->file_selected.path ? + INTEL_UC_FIRMWARE_SELECTED : +- INTEL_UC_FIRMWARE_DISABLED : ++ INTEL_UC_FIRMWARE_DISABLED : + INTEL_UC_FIRMWARE_NOT_SUPPORTED); + } + +@@ -657,15 +657,8 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw) + memcpy(&uc_fw->file_wanted, &file_ideal, sizeof(uc_fw->file_wanted)); + + drm_notice(&i915->drm, +- "%s firmware %s (%d.%d) is recommended, but only %s (%d.%d) was found\n", +- intel_uc_fw_type_repr(uc_fw->type), +- uc_fw->file_wanted.path, +- uc_fw->file_wanted.major_ver, uc_fw->file_wanted.minor_ver, +- uc_fw->file_selected.path, +- uc_fw->file_selected.major_ver, uc_fw->file_selected.minor_ver); +- drm_info(&i915->drm, +- "Consider updating your linux-firmware pkg or downloading from %s\n", +- INTEL_UC_FIRMWARE_URL); ++ "%s firmware is recommended, but was not found\n", ++ intel_uc_fw_type_repr(uc_fw->type)); + } + + if (HAS_LMEM(i915)) { +@@ -693,10 +686,8 @@ fail: + INTEL_UC_FIRMWARE_MISSING : + INTEL_UC_FIRMWARE_ERROR); + +- i915_probe_error(i915, "%s firmware %s: fetch failed with error %d\n", +- intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path, err); +- drm_info(&i915->drm, "%s firmware(s) can be downloaded from %s\n", +- intel_uc_fw_type_repr(uc_fw->type), INTEL_UC_FIRMWARE_URL); ++ i915_probe_error(i915, "%s firmware: fetch failed with error %d\n", ++ intel_uc_fw_type_repr(uc_fw->type), err); + + release_firmware(fw); /* OK even if fw is NULL */ + return err; +@@ -850,9 +841,8 @@ int intel_uc_fw_upload(struct intel_uc_fw *uc_fw, u32 dst_offset, u32 dma_flags) + return 0; + + fail: +- i915_probe_error(gt->i915, "Failed to load %s firmware %s (%d)\n", +- intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path, +- err); ++ i915_probe_error(gt->i915, "Failed to load %s firmware (%d)\n", ++ intel_uc_fw_type_repr(uc_fw->type), err); + intel_uc_fw_change_status(uc_fw, INTEL_UC_FIRMWARE_LOAD_FAIL); + return err; + } diff --git a/drivers/bluetooth/hci_bcm4377.c b/drivers/bluetooth/hci_bcm4377.c index 19ad0e7..93029ca 100644 --- a/drivers/bluetooth/hci_bcm4377.c @@ -1942,84 +1981,3 @@ index 19ad0e7..93029ca 100644 return NULL; } -diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c -index 944725e6..544fa201 100644 ---- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c -+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c -@@ -864,18 +864,7 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw) - /* Preserve the version that was really wanted */ - memcpy(&uc_fw->file_wanted, &file_ideal, sizeof(uc_fw->file_wanted)); - -- UNEXPECTED(gt, "%s firmware %s (%d.%d.%d) is recommended, but only %s (%d.%d.%d) was found\n", -- intel_uc_fw_type_repr(uc_fw->type), -- uc_fw->file_wanted.path, -- uc_fw->file_wanted.ver.major, -- uc_fw->file_wanted.ver.minor, -- uc_fw->file_wanted.ver.patch, -- uc_fw->file_selected.path, -- uc_fw->file_selected.ver.major, -- uc_fw->file_selected.ver.minor, -- uc_fw->file_selected.ver.patch); -- gt_info(gt, "Consider updating your linux-firmware pkg or downloading from %s\n", -- INTEL_UC_FIRMWARE_URL); -+ UNEXPECTED(gt, "%s firmware is recommended, but not was found\n"); - } - - if (HAS_LMEM(i915)) { -@@ -903,10 +892,8 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw) - INTEL_UC_FIRMWARE_MISSING : - INTEL_UC_FIRMWARE_ERROR); - -- gt_probe_error(gt, "%s firmware %s: fetch failed %pe\n", -- intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path, ERR_PTR(err)); -- gt_info(gt, "%s firmware(s) can be downloaded from %s\n", -- intel_uc_fw_type_repr(uc_fw->type), INTEL_UC_FIRMWARE_URL); -+ gt_probe_error(gt, "%s firmware: fetch failed %pe\n", -+ intel_uc_fw_type_repr(uc_fw->type), ERR_PTR(err)); - - release_firmware(fw); /* OK even if fw is NULL */ - return err; -@@ -1041,8 +1028,8 @@ int intel_uc_fw_mark_load_failed(struct intel_uc_fw *uc_fw, int err) - - GEM_BUG_ON(!intel_uc_fw_is_loadable(uc_fw)); - -- gt_probe_error(gt, "Failed to load %s firmware %s %pe\n", -- intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path, ERR_PTR(err)); -+ gt_probe_error(gt, "Failed to load %s firmware %pe\n", -+ intel_uc_fw_type_repr(uc_fw->type), ERR_PTR(err)); - intel_uc_fw_change_status(uc_fw, INTEL_UC_FIRMWARE_LOAD_FAIL); - - return err; -diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -index bd4c4174..9beeb2e6 100644 ---- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -@@ -239,27 +239,13 @@ static int iwl_request_firmware(struct iwl_drv *drv, bool first) - - if (drv->fw_index < cfg->ucode_api_min) { - IWL_ERR(drv, "no suitable firmware found!\n"); -- -- if (cfg->ucode_api_min == cfg->ucode_api_max) { -- IWL_ERR(drv, "%s-%d is required\n", fw_name_pre, -- cfg->ucode_api_max); -- } else { -- IWL_ERR(drv, "minimum version required: %s-%d\n", -- fw_name_pre, cfg->ucode_api_min); -- IWL_ERR(drv, "maximum version supported: %s-%d\n", -- fw_name_pre, cfg->ucode_api_max); -- } -- -- IWL_ERR(drv, -- "check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git\n"); - return -ENOENT; - } - - snprintf(drv->firmware_name, sizeof(drv->firmware_name), "%s-%d.ucode", - fw_name_pre, drv->fw_index); - -- IWL_DEBUG_FW_INFO(drv, "attempting to load firmware '%s'\n", -- drv->firmware_name); -+ IWL_DEBUG_FW_INFO(drv, "attempting to load firmware\n"); - - return request_firmware_nowait(THIS_MODULE, 1, drv->firmware_name, - drv->trans->dev, diff --git a/helpers/DATA/linux-hwe-6.5/check.sh b/helpers/DATA/linux-hwe-6.5/check.sh new file mode 100644 index 0000000..ea1f2c7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/check.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +files=`find -type f` +while read -r line +do + ./deblob-check $line +done <<< "$files" diff --git a/helpers/DATA/linux-hwe-6.11/deblob-6.11 b/helpers/DATA/linux-hwe-6.5/deblob-6.5 similarity index 91% rename from helpers/DATA/linux-hwe-6.11/deblob-6.11 rename to helpers/DATA/linux-hwe-6.5/deblob-6.5 index d6f50c4..1318aa2 100644 --- a/helpers/DATA/linux-hwe-6.11/deblob-6.11 +++ b/helpers/DATA/linux-hwe-6.5/deblob-6.5 @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 2008-2024 Alexandre Oliva +# Copyright (C) 2008-2023 Alexandre Oliva # Copyright (C) 2008 Jeff Moe # Copyright (C) 2009 Rubén Rodríguez # @@ -48,7 +48,7 @@ # For each kver release, start extra with an empty string, then count # from 1 if changes are needed that require rebuilding the tarball. -kver=6.11 extra= +kver=6.5 extra= case $1 in --force) @@ -185,7 +185,7 @@ reject_firmware () { filetest $1 || return 0 clean_sed "$2"' s,\(^\|[^>.0-9a-zA-Z_$]\)\(request\(_ihex\|\(_partial\)\)\?_firmware\|firmware_request_platform\)\(_nowait\|_direct\|_into_buf\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1reject\4_firmware\5\6,g -s,\(^\|[^>.0-9a-zA-Z_$]\)firmware_request_\(\(nowait_\)\?nowarn\|builtin\)\($\|[^-.0-9a-zA-Z_$),; ]\),\1firmware_reject_\2\4,g +s,\(^\|[^>.0-9a-zA-Z_$]\)firmware_request_\(nowarn\|builtin\)\($\|[^-.0-9a-zA-Z_$),; ]\),\1firmware_reject_\2\3,g ' "$1" 'disabled non-Free firmware-loading machinery' } @@ -194,7 +194,6 @@ maybe_reject_firmware () { filetest $1 || return 0 clean_sed "$2"' s,\(^\|[^>.0-9a-zA-Z_$]\)request_\(ihex_\|partial_\)\?firmware\(_nowait\|_direct\|_into_buf\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1maybe_reject_\2firmware\3\4,g -s,\(^\|[^>.0-9a-zA-Z_$]\)firmware_request_\(\(nowait_\)\?nowarn\|builtin\)\($\|[^-.0-9a-zA-Z_$),; ]\),\1maybe_firmware_reject_\2\4,g ' "$1" 'retain Free firmware-loading machinery, disabling non-Free one' } @@ -295,6 +294,8 @@ for f in \ \ drivers/net/wan/wanxlfw.inc_shipped \ drivers/net/wan/wanxlfw.S \ + drivers/net/wireless/atmel/atmel.c \ + drivers/net/wireless/atmel/atmel.c \ drivers/scsi/aic7xxx/aic79xx_seq.h_shipped \ drivers/scsi/aic7xxx/aic79xx.seq \ drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped \ @@ -310,9 +311,6 @@ for f in \ kernel/bpf/preload/iterators/iterators.bpf.c \ kernel/bpf/preload/iterators/iterators.lskel-big-endian.h \ kernel/bpf/preload/iterators/iterators.bpf.c \ -\ - tools/testing/selftests/tc-testing/action-ebpf \ - tools/testing/selftests/tc-testing/action.c \ ; do filetest $f || : done @@ -402,56 +400,44 @@ clean_sed ' s,Linux kernel,GNU Linux-libre, ' scripts/package/mkdebian 'kernel name' +clean_sed ' +s,https://www\..*linux/kernel$,https://linux-libre.fsfla.org/, +' scripts/package/mkdebian 'sources' + clean_sed ' s,https\?://www\.kernel\.org/,https://linux-libre.fsfla.org/, ' scripts/package/mkdebian 'home page' -clean_sed ' -s,upstream ,, -' scripts/package/debian/copyright 'nothing is upstream of itself' - -clean_sed ' -s,\(the \)*Linux kernel,GNU Linux-libre, -' scripts/package/debian/copyright 'kernel name' - -clean_sed ' -s,Linux archive,GNU Linux-libre archive, -' scripts/package/debian/copyright 'archive' - -clean_sed ' -s,https://www\..*linux/kernel$,https://linux-libre.fsfla.org/, -' scripts/package/debian/copyright 'sources' - clean_sed ' s,git://git\..*torvalds/linux\.git,/*(DEBLOBBED)*/, -' scripts/package/debian/copyright 'upstream development repo' +' scripts/package/mkdebian 'upstream development repo' # The tarball name and its expansion do not include -libre. # We could change KERNELPATH and keep this, but what else would break? # Enabling this would require the other commented-out mkspec bits below. # clean_sed ' # s,Name: kernel,&-libre, -# ' scripts/package/kernel.spec 'package name' +# ' scripts/package/mkspec 'package name' clean_sed ' s,The Linux,The GNU Linux-libre, -' scripts/package/kernel.spec 'package summary' +' scripts/package/mkspec 'package summary' clean_sed ' s,Linux kernel,GNU Linux-libre, -' scripts/package/kernel.spec 'kernel name' +' scripts/package/mkspec 'kernel name' clean_sed ' s,https\?://www\.kernel\.org,https://linux-libre.fsfla.org, -' scripts/package/kernel.spec 'home page' +' scripts/package/mkspec 'home page' # clean_sed ' # s,\(%description\) -n kernel-,\1 , -# ' scripts/package/kernel.spec '-libre subpackages' +# ' scripts/package/mkspec '-libre subpackages' # clean_sed ' # /Provides: kernel-/{p;s,kernel-,&libre-,;} -# ' scripts/package/kernel.spec '-libre provides' +# ' scripts/package/mkspec '-libre provides' # As with rpms, we leave the package name as kernel. clean_sed ' @@ -467,7 +453,7 @@ s,Linux kernel,GNU Linux-libre, # These are warned about, but -Werror turns them into errors. clean_sed ' s, -Werror$, -Werror -Wno-error=format-extra-args -Wno-error=comment -Wno-error=unused-function -Wno-error=unused-variable, -' scripts/Makefile.extrawarn 'avoid compile failures at /*(DEBLOBBED)*/ warnings' +' Makefile 'avoid compile failures at /*(DEBLOBBED)*/ warnings' # Add reject_firmware and maybe_reject_firmware grep -q _LINUX_LIBRE_FIRMWARE_H include/linux/firmware.h || @@ -548,32 +534,7 @@ reject_firmware_direct(const struct firmware **fw,\ return retval;\ }\ static inline int\ -firmware_reject_nowait_nowarn(struct module *module,\ - const char *name, struct device *device,\ - gfp_t gfp, void *context,\ - void (*cont)(const struct firmware *fw,\ - void *context))\ -{\ - /* We assume NONFREE_FIRMWARE will not be found; how could it? */\ - return firmware_request_nowait_nowarn(module, NONFREE_FIRMWARE,\ - device, gfp, context, cont);\ -}\ -static inline int\ -maybe_firmware_reject_nowait_nowarn(struct module *module,\ - const char *name, struct device *device,\ - gfp_t gfp, void *context,\ - void (*cont)(const struct firmware *fw,\ - void *context))\ -{\ - if (is_nonfree_firmware(name))\ - return firmware_reject_nowait_nowarn(module, name, device,\ - gfp, context, cont);\ - else\ - return firmware_request_nowait_nowarn(module, name, device,\ - gfp, context, cont);\ -}\ -static inline int\ -reject_firmware_nowait(struct module *module, bool uevent,\ +reject_firmware_nowait(struct module *module, int uevent,\ const char *name, struct device *device,\ gfp_t gfp, void *context,\ void (*cont)(const struct firmware *fw,\ @@ -585,7 +546,7 @@ reject_firmware_nowait(struct module *module, bool uevent,\ device, gfp, context, cont);\ }\ static inline int\ -maybe_reject_firmware_nowait(struct module *module, bool uevent,\ +maybe_reject_firmware_nowait(struct module *module, int uevent,\ const char *name, struct device *device,\ gfp_t gfp, void *context,\ void (*cont)(const struct firmware *fw,\ @@ -679,12 +640,22 @@ s,\(timeout = \)\(firmware_loading_timeout()\),\1is_nonfree_firmware(name) ? 1 : # x86 -announce MICROCODE - "CPU microcode loading support" -reject_firmware arch/x86/kernel/cpu/microcode/intel.c +announce MICROCODE_AMD - "AMD microcode patch loading support" reject_firmware arch/x86/kernel/cpu/microcode/amd.c -clean_blob arch/x86/kernel/cpu/microcode/intel.c clean_blob arch/x86/kernel/cpu/microcode/amd.c -clean_blob arch/x86/kernel/cpu/amd.c +if grep -q -i zenbleed.*microcode arch/x86/kernel/cpu/amd.c; then + clean_blob arch/x86/kernel/cpu/amd.c +fi +clean_kconfig arch/x86/Kconfig MICROCODE_AMD +clean_mk CONFIG_MICROCODE_AMD arch/x86/kernel/cpu/microcode/Makefile + +announce MICROCODE_INTEL - "Intel microcode patch loading support" +reject_firmware arch/x86/kernel/cpu/microcode/intel.c +clean_blob arch/x86/kernel/cpu/microcode/intel.c +clean_kconfig arch/x86/Kconfig MICROCODE_INTEL +clean_mk CONFIG_MICROCODE_INTEL arch/x86/kernel/cpu/microcode/Makefile + +announce MICROCODE - "CPU microcode loading support" clean_blob Documentation/arch/x86/microcode.rst clean_kconfig arch/x86/Kconfig MICROCODE clean_mk CONFIG_MICROCODE arch/x86/kernel/cpu/Makefile @@ -832,12 +803,6 @@ clean_blob drivers/crypto/intel/qat/qat_4xxx/adf_drv.c clean_kconfig drivers/crypto/intel/qat/Kconfig CRYPTO_DEV_QAT_4XXX clean_mk CONFIG_CRYPTO_DEV_QAT_4XXX drivers/crypto/intel/qat/Makefile -announce CRYPTO_DEV_QAT_420XX - "Support for Intel(R) QAT_420XX" -clean_blob drivers/crypto/intel/qat/qat_420xx/adf_420xx_hw_data.h -clean_blob drivers/crypto/intel/qat/qat_420xx/adf_drv.c -clean_kconfig drivers/crypto/intel/qat/Kconfig CRYPTO_DEV_QAT_420XX -clean_mk CONFIG_CRYPTO_DEV_QAT_420XX drivers/crypto/intel/qat/Makefile - announce AMDTEE - "AMD's Trusted Execution Environment (TEE)" reject_firmware drivers/tee/amdtee/core.c clean_blob drivers/tee/amdtee/core.c @@ -875,24 +840,18 @@ clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c -if grep -q request_firmware drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c; then - reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c -fi clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c -clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c clean_blob drivers/gpu/drm/amd/amdgpu/imu_v11_0.c -clean_blob drivers/gpu/drm/amd/amdgpu/imu_v12_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/mes_v10_1.c clean_blob drivers/gpu/drm/amd/amdgpu/mes_v11_0.c -clean_blob drivers/gpu/drm/amd/amdgpu/mes_v12_0.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v3_1.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v10_0.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v11_0.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v12_0.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v13_0.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v13_0_4.c -clean_blob drivers/gpu/drm/amd/amdgpu/psp_v14_0.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c @@ -900,25 +859,20 @@ clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c -clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_device.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c clean_blob drivers/gpu/drm/amd/pm/powerplay/smumgr/smumgr.c clean_blob drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c clean_blob drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c -clean_blob drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c -clean_blob drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c clean_blob drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c -clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c -clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c -clean_blob drivers/gpu/drm/amd/amdgpu/vpe_v6_1.c clean_kconfig drivers/gpu/drm/amd/amdgpu/Kconfig DRM_AMDGPU clean_mk CONFIG_DRM_AMDGPU drivers/gpu/drm/amd/amdgpu/Makefile @@ -929,11 +883,6 @@ clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c clean_kconfig drivers/gpu/drm/amd/amdgpu/Kconfig DRM_AMDGPU_CIK clean_mk CONFIG_DRM_AMDGPU_CIK drivers/gpu/drm/amd/amdgpu/Makefile -announce DRM_AMD_ISP - "Enable AMD Image Signal Processor IP support" -clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_isp.c -clean_kconfig drivers/gpu/drm/amd/amdgpu/Kconfig DRM_AMD_ISP -clean_mk CONFIG_DRM_AMD_ISP drivers/gpu/drm/amd/amdgpu/Makefile - announce DRM_AMDGPU_SI - "Enable amdgpu support for SI parts" clean_blob drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c @@ -955,31 +904,17 @@ clean_kconfig drivers/gpu/drm/bridge/cadence/Kconfig DRM_CDNS_MHDP8546 clean_mk CONFIG_DRM_CDNS_MHDP8546 drivers/gpu/drm/bridge/cadence/Makefile announce DRM_I915 - "Intel 8xx/9xx/G3x/G4x/HD Graphics" -reject_firmware drivers/gpu/drm/i915/display/intel_bios.c reject_firmware drivers/gpu/drm/i915/display/intel_dmc.c clean_blob drivers/gpu/drm/i915/display/intel_dmc.c +reject_firmware drivers/gpu/drm/i915/display/intel_opregion.c reject_firmware drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c clean_sed '/uc_fw->file_selected\.path = blob->path/ i\ - /* If the compiler unifies string literals, as expected,\ - do not bother with strcmp. */\ - else if ((char const *)NONFREE_FIRMWARE == (char const *)NONFREE_FIRMWARE\ - ? blob->path == (char const *)NONFREE_FIRMWARE\ - : !strcmp (blob->path, NONFREE_FIRMWARE))\ - /* Never select an entry we would refuse to load.\ - If we find nothing, loading is disabled but the card\ - initialization proceeds as if the user had disabled\ - firmware, but if we found something that failed to load,\ - initialization would fail. */\ + else if (uc_fw->file_wanted.path == blob->path)\ + /* Avoid retrying forever when neighbor\ + entries point to the same path. */\ continue;\ -' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 'disable non-Free firmware' -clean_sed '/Versionless file names must be unique/ i\ - /* If the compiler unifies string literals, as expected,\ - do not bother with strcmp. */\ - if ((char const *)NONFREE_FIRMWARE == (char const *)NONFREE_FIRMWARE\ - ? fw_blobs[i].blob.path != (char const *)NONFREE_FIRMWARE\ - : strcmp (fw_blobs[i].blob.path, NONFREE_FIRMWARE)) -' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 'avoid validation fails' +' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 'avoid infinite loop' clean_blob drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c clean_blob drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h clean_kconfig drivers/gpu/drm/i915/Kconfig DRM_I915 @@ -1031,7 +966,6 @@ clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/fb/ga102.c clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp102.c clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/fb/gv100.c clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/fb/tu102.c -clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c clean_kconfig drivers/gpu/drm/nouveau/Kconfig DRM_NOUVEAU @@ -1039,13 +973,8 @@ clean_mk CONFIG_DRM_NOUVEAU drivers/gpu/drm/Makefile announce DRM_MSM - "MSM DRM" reject_firmware drivers/gpu/drm/msm/adreno/adreno_gpu.c -clean_blob drivers/gpu/drm/msm/adreno/a2xx_catalog.c -clean_blob drivers/gpu/drm/msm/adreno/a3xx_catalog.c -clean_blob drivers/gpu/drm/msm/adreno/a4xx_catalog.c -clean_blob drivers/gpu/drm/msm/adreno/a5xx_catalog.c -clean_blob drivers/gpu/drm/msm/adreno/a6xx_catalog.c +clean_blob drivers/gpu/drm/msm/adreno/adreno_device.c clean_blob drivers/gpu/drm/msm/adreno/a6xx_gpu.c -clean_blob drivers/gpu/drm/msm/registers/adreno/adreno_pm4.xml clean_kconfig drivers/gpu/drm/msm/Kconfig DRM_MSM clean_mk CONFIG_DRM_MSM drivers/gpu/drm/msm/Makefile @@ -1055,19 +984,6 @@ clean_blob drivers/gpu/drm/tiny/panel-mipi-dbi.c clean_kconfig drivers/gpu/drm/tiny/Kconfig DRM_PANEL_MIPI_DBI clean_mk CONFIG_DRM_PANEL_MIPI_DBI drivers/gpu/drm/tiny/Makefile -announce DRM_PANTHOR - "Panthor (DRM support for ARM Mali CSF-based GPUs)" -reject_firmware drivers/gpu/drm/panthor/panthor_fw.c -clean_blob drivers/gpu/drm/panthor/panthor_fw.c -clean_kconfig drivers/gpu/drm/panthor/Kconfig DRM_PANTHOR -clean_mk CONFIG_DRM_PANTHOR drivers/gpu/drm/panthor/Makefile - -announce DRM_POWERVR - "Imagination Technologies PowerVR (Series 6 and later) & IMG Graphics" -reject_firmware drivers/gpu/drm/imagination/pvr_device.c -clean_blob drivers/gpu/drm/imagination/pvr_device.c -clean_blob drivers/gpu/drm/imagination/pvr_drv.c -clean_kconfig drivers/gpu/drm/imagination/Kconfig DRM_POWERVR -clean_mk CONFIG_DRM_POWERVR drivers/gpu/drm/imagination/Makefile - announce DRM_RADEON - "ATI Radeon" reject_firmware drivers/gpu/drm/radeon/r100.c clean_blob drivers/gpu/drm/radeon/r100.c @@ -1128,13 +1044,6 @@ clean_blob drivers/gpu/drm/tegra/vic.c clean_kconfig drivers/gpu/drm/tegra/Kconfig DRM_TEGRA clean_mk CONFIG_DRM_TEGRA drivers/gpu/drm/tegra/Makefile -announce DRM_XE - "Intel Xe Graphics" -reject_firmware drivers/gpu/drm/xe/xe_uc_fw.c -clean_blob drivers/gpu/drm/xe/xe_uc_fw.c -clean_blob drivers/gpu/drm/xe/xe_uc_fw.h -clean_kconfig drivers/gpu/drm/xe/Kconfig DRM_XE -clean_mk CONFIG_DRM_XE drivers/gpu/drm/xe/Makefile - ####### # dma # ####### @@ -1614,6 +1523,7 @@ clean_mk CONFIG_VIDEO_AMPHION_VPU drivers/media/platform/amphion/Makefile announce VIDEO_ATOMISP - "Intel Atom Image Signal Processor Driver" reject_firmware drivers/staging/media/atomisp/pci/atomisp_v4l2.c clean_blob drivers/staging/media/atomisp/pci/atomisp_v4l2.c +clean_blob drivers/staging/media/atomisp/TODO clean_kconfig drivers/staging/media/atomisp/Kconfig VIDEO_ATOMISP clean_mk CONFIG_VIDEO_ATOMISP drivers/staging/media/atomisp/Makefile @@ -1631,16 +1541,10 @@ clean_kconfig drivers/media/i2c/ccs/Kconfig VIDEO_CCS clean_mk CONFIG_VIDEO_CCS drivers/media/i2c/ccs/Makefile announce VIDEO_CODA - "Chips&Media Coda multi-standard codec IP" -reject_firmware drivers/media/platform/chips-media/coda/coda-common.c -clean_blob drivers/media/platform/chips-media/coda/coda-common.c -clean_kconfig drivers/media/platform/chips-media/coda/Kconfig VIDEO_CODA -clean_mk CONFIG_VIDEO_CODA drivers/media/platform/chips-media/coda/Makefile - -announce VIDEO_WAVE_VPU - "Chips&Media Wave Codec Driver" -reject_firmware drivers/media/platform/chips-media/wave5/wave5-vpu.c -clean_blob drivers/media/platform/chips-media/wave5/wave5-vpu.c -clean_kconfig drivers/media/platform/chips-media/wave5/Kconfig VIDEO_WAVE_VPU -clean_mk CONFIG_VIDEO_WAVE_VPU drivers/media/platform/chips-media/wave5/Makefile +reject_firmware drivers/media/platform/chips-media/coda-common.c +clean_blob drivers/media/platform/chips-media/coda-common.c +clean_kconfig drivers/media/platform/chips-media/Kconfig VIDEO_CODA +clean_mk CONFIG_VIDEO_CODA drivers/media/platform/chips-media/Makefile announce VIDEO_CX18 - "Conexant cx23418 MPEG encoder support" reject_firmware drivers/media/pci/cx18/cx18-av-firmware.c @@ -1693,16 +1597,9 @@ clean_mk CONFIG_VIDEO_EXYNOS4_FIMC_IS drivers/media/platform/samsung/exynos4-is/ announce VIDEO_IPU3_IMGU - "Intel ipu3-imgu driver" reject_firmware drivers/staging/media/ipu3/ipu3-css-fw.c clean_blob drivers/staging/media/ipu3/ipu3-css-fw.h -clean_blob drivers/staging/media/ipu3/ipu3.c clean_kconfig drivers/staging/media/ipu3/Kconfig VIDEO_IPU3_IMGU clean_mk CONFIG_VIDEO_IPU3_IMGU drivers/staging/media/ipu3/Makefile -announce VIDEO_INTEL_IPU6 - "Intel IPU6 driver" -reject_firmware drivers/media/pci/intel/ipu6/ipu6.c -clean_blob drivers/media/pci/intel/ipu6/ipu6.h -clean_kconfig drivers/media/pci/intel/ipu6/Kconfig VIDEO_INTEL_IPU6 -clean_mk CONFIG_VIDEO_INTEL_IPU6 drivers/media/pci/intel/ipu6/Makefile - announce VIDEO_IVTV - "Conexant cx23416/cx23415 MPEG encoder/decoder support" reject_firmware drivers/media/pci/ivtv/ivtv-firmware.c clean_blob drivers/media/pci/ivtv/ivtv-firmware.c @@ -1781,9 +1678,9 @@ clean_kconfig drivers/media/platform/samsung/s5p-mfc/Kconfig VIDEO_SAMSUNG_S5P_M clean_mk CONFIG_VIDEO_SAMSUNG_S5P_MFC drivers/media/platform/samsung/s5p-mfc/Makefile announce VIDEO_STXY61 - "ST VGX:Y61 sensor support" -clean_blob drivers/media/i2c/vgxy61.c -clean_kconfig drivers/media/i2c/Kconfig VIDEO_VGXY61 -clean_mk CONFIG_VIDEO_VGXY61 drivers/media/i2c/Makefile +clean_blob drivers/media/i2c/st-vgxy61.c +clean_kconfig drivers/media/i2c/Kconfig VIDEO_ST_VGXY61 +clean_mk CONFIG_VIDEO_ST_VGXY61 drivers/media/i2c/Makefile announce USB_S2255 - "USB Sensoray 2255 video capture device" reject_firmware drivers/media/usb/s2255/s2255drv.c @@ -1998,29 +1895,6 @@ clean_blob drivers/net/ethernet/tehuti/tehuti.c clean_kconfig drivers/net/ethernet/tehuti/Kconfig TEHUTI clean_mk CONFIG_TEHUTI drivers/net/ethernet/tehuti/Makefile -announce TEHUTI_TN40 - "Tehuti Networks TN40xx 10G Ethernet adapters" -reject_firmware drivers/net/ethernet/tehuti/tn40.c -clean_blob drivers/net/ethernet/tehuti/tn40.c -clean_kconfig drivers/net/ethernet/tehuti/Kconfig TEHUTI_TN40 -clean_mk CONFIG_TEHUTI_TN40 drivers/net/ethernet/tehuti/Makefile - -announce TI_ICSSG_PRUETH - "TI Gigabit PRU Ethernet driver" -clean_blob Documentation/devicetree/bindings/net/ti,icssg-prueth.yaml -clean_blob arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi -clean_blob arch/arm64/boot/dts/ti/k3-am65-iot2050-common-pg1.dtsi -clean_blob arch/arm64/boot/dts/ti/k3-am654-icssg2.dtso -clean_blob arch/arm64/boot/dts/ti/k3-am654-idk.dtso -clean_blob arch/arm64/boot/dts/ti/k3-am642-evm.dts -clean_blob arch/arm64/boot/dts/ti/k3-am642-sr-som.dtsi -clean_blob drivers/net/ethernet/ti/icssg/icssg_prueth.c -clean_kconfig drivers/net/ethernet/ti/Kconfig TI_ICSSG_PRUETH -clean_mk CONFIG_TI_ICSSG_PRUETH drivers/net/ethernet/ti/Makefile - -announce TI_ICSSG_PRUETH_SR1 - "TI Gigabit PRU SR1.0 Ethernet driver" -clean_blob drivers/net/ethernet/ti/icssg/icssg_prueth_sr1.c -clean_kconfig drivers/net/ethernet/ti/Kconfig TI_ICSSG_PRUETH_SR1 -clean_mk CONFIG_TI_ICSSG_PRUETH_SR1 drivers/net/ethernet/ti/Makefile - announce TIGON3 - "Broadcom Tigon3" reject_firmware drivers/net/ethernet/broadcom/tg3.c clean_blob drivers/net/ethernet/broadcom/tg3.c @@ -2033,6 +1907,23 @@ clean_blob drivers/net/ethernet/3com/typhoon.c clean_kconfig drivers/net/ethernet/3com/Kconfig TYPHOON clean_mk CONFIG_TYPHOON drivers/net/ethernet/3com/Makefile +# appletalk + +announce COPS - "COPS LocalTalk PC" +clean_sed ' +/sizeof(\(ff\|lt\)drv_code)/{ + i\ + printk(KERN_INFO "%s: Missing Free firmware.\\n", dev->name);\ + return; +} +/\(ff\|lt\)drv_code/d; +' drivers/net/appletalk/cops.c 'report missing Free firmware' +clean_blob drivers/net/appletalk/cops.c +clean_file drivers/net/appletalk/cops_ffdrv.h +clean_file drivers/net/appletalk/cops_ltdrv.h +clean_kconfig drivers/net/appletalk/Kconfig COPS +clean_mk CONFIG_COPS drivers/net/appletalk/Makefile + # hamradio announce YAM - "YAM driver for AX.25" @@ -2095,6 +1986,12 @@ clean_mk CONFIG_USB_RTL8152 drivers/net/usb/Makefile # wireless +announce ATMEL "Atmel at76c50x chipset 802.11b support" +reject_firmware drivers/net/wireless/atmel/atmel.c +clean_blob drivers/net/wireless/atmel/atmel.c +clean_kconfig drivers/net/wireless/atmel/Kconfig ATMEL +clean_mk CONFIG_ATMEL drivers/net/wireless/atmel/Makefile + announce AT76C50X_USB - "Atmel at76c503/at76c505/at76c505a USB cards" reject_firmware drivers/net/wireless/atmel/at76c50x-usb.c clean_blob drivers/net/wireless/atmel/at76c50x-usb.c @@ -2158,6 +2055,18 @@ clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC_PCIE clean_mk CONFIG_BRCMFMAC_PCIE drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile +announce HERMES - "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)" +reject_firmware drivers/net/wireless/intersil/orinoco/fw.c +clean_blob drivers/net/wireless/intersil/orinoco/fw.c +clean_kconfig drivers/net/wireless/intersil/orinoco/Kconfig HERMES +clean_mk CONFIG_HERMES drivers/net/wireless/intersil/orinoco/Makefile + +announce ORINOCO_USB - "Agere Orinoco USB support" +reject_firmware drivers/net/wireless/intersil/orinoco/orinoco_usb.c +clean_blob drivers/net/wireless/intersil/orinoco/orinoco_usb.c +clean_kconfig drivers/net/wireless/intersil/orinoco/Kconfig ORINOCO_USB +clean_mk CONFIG_ORINOCO_USB drivers/net/wireless/intersil/orinoco/Makefile + announce IPW2100 - "Intel PRO/Wireless 2100 Network Connection" reject_firmware drivers/net/wireless/intel/ipw2x00/ipw2100.c clean_blob drivers/net/wireless/intel/ipw2x00/ipw2100.c @@ -2224,6 +2133,11 @@ reject_firmware drivers/net/wireless/marvell/libertas/firmware.c clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS clean_mk CONFIG_LIBERTAS drivers/net/wireless/marvell/libertas/Makefile +announce LIBERTAS_CS - "Marvell Libertas 8385 CompactFlash 802.11b/g cards" +clean_blob drivers/net/wireless/marvell/libertas/if_cs.c +clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS_CS +clean_mk CONFIG_LIBERTAS_CS drivers/net/wireless/marvell/libertas/Makefile + announce LIBERTAS_SDIO - "Marvell Libertas 8385 and 8686 SDIO 802.11b/g cards" clean_blob drivers/net/wireless/marvell/libertas/if_sdio.c clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS_SDIO @@ -2321,19 +2235,15 @@ clean_blob drivers/net/wireless/mediatek/mt76/mt7915/pci.c clean_kconfig drivers/net/wireless/mediatek/mt76/mt7915/Kconfig MT7915E clean_mk CONFIG_MT7915E drivers/net/wireless/mediatek/mt76/mt7915/Makefile -announce MT798X_WMAC - "MT7986 (SoC) WMAC support" +announce MT7986_WMAC - "MT7986 (SoC) WMAC support" clean_blob drivers/net/wireless/mediatek/mt76/mt7915/soc.c -clean_kconfig drivers/net/wireless/mediatek/mt76/mt7915/Kconfig MT798X_WMAC -clean_mk CONFIG_MT798X_WMAC drivers/net/wireless/mediatek/mt76/mt7915/Makefile - -announce MT792x_LIB - "MediaTek MT792x common support" -reject_firmware drivers/net/wireless/mediatek/mt76/mt792x_core.c -clean_blob drivers/net/wireless/mediatek/mt76/mt792x.h -clean_kconfig drivers/net/wireless/mediatek/mt76/Kconfig MT792x_LIB -clean_mk CONFIG_MT792x_LIB drivers/net/wireless/mediatek/mt76/Makefile +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7915/Kconfig MT7986_WMAC +clean_mk CONFIG_MT7986_WMAC drivers/net/wireless/mediatek/mt76/mt7915/Makefile announce MT7921_COMMON - "MediaTek MT7921 support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt7921/init.c reject_firmware drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h clean_kconfig drivers/net/wireless/mediatek/mt76/mt7921/Kconfig MT7921_COMMON clean_mk CONFIG_MT7921_COMMON drivers/net/wireless/mediatek/mt76/mt7921/Makefile @@ -2352,21 +2262,6 @@ clean_blob drivers/net/wireless/mediatek/mt76/mt7921/usb.c clean_kconfig drivers/net/wireless/mediatek/mt76/mt7921/Kconfig MT7921U clean_mk CONFIG_MT7921U drivers/net/wireless/mediatek/mt76/mt7921/Makefile -announce MT7925_COMMON - "MediaTek MT7925 support" -reject_firmware drivers/net/wireless/mediatek/mt76/mt7925/mcu.c -clean_kconfig drivers/net/wireless/mediatek/mt76/mt7925/Kconfig MT7925_COMMON -clean_mk CONFIG_MT7925_COMMON drivers/net/wireless/mediatek/mt76/mt7925/Makefile - -announce MT7925E - "MediaTek MT7925E (PCIe) support" -clean_blob drivers/net/wireless/mediatek/mt76/mt7925/pci.c -clean_kconfig drivers/net/wireless/mediatek/mt76/mt7925/Kconfig MT7925E -clean_mk CONFIG_MT7925E drivers/net/wireless/mediatek/mt76/mt7925/Makefile - -announce MT7925U - "MediaTek MT7925U (USB) support" -clean_blob drivers/net/wireless/mediatek/mt76/mt7925/usb.c -clean_kconfig drivers/net/wireless/mediatek/mt76/mt7925/Kconfig MT7925U -clean_mk CONFIG_MT7925U drivers/net/wireless/mediatek/mt76/mt7925/Makefile - announce MT7996E - "MediaTek MT7996 (PCIe) support" reject_firmware drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c reject_firmware drivers/net/wireless/mediatek/mt76/mt7996/mcu.c @@ -2390,7 +2285,6 @@ clean_mk CONFIG_MWIFIEX_SDIO drivers/net/wireless/marvell/mwifiex/Makefile announce MWIFIEX_PCIE - "Marvell WiFi-Ex Driver for PCI 8766" clean_blob drivers/net/wireless/marvell/mwifiex/pcie.h -clean_blob drivers/net/wireless/marvell/mwifiex/pcie.c clean_kconfig drivers/net/wireless/marvell/mwifiex/Kconfig MWIFIEX_PCIE clean_mk CONFIG_MWIFIEX_PCIE drivers/net/wireless/marvell/mwifiex/Makefile @@ -2460,7 +2354,6 @@ clean_mk CONFIG_ATH10K_PCI drivers/net/wireless/ath/ath10k/Makefile announce ATH11K - "Qualcomm Technologies 802.11ax chipset support" reject_firmware drivers/net/wireless/ath/ath11k/core.c -clean_blob drivers/net/wireless/ath/ath11k/fw.h clean_blob drivers/net/wireless/ath/ath11k/hw.h clean_blob drivers/net/wireless/ath/ath11k/core.c clean_blob drivers/net/wireless/ath/ath11k/qmi.c @@ -2475,7 +2368,6 @@ clean_mk CONFIG_ATH11K_PCI drivers/net/wireless/ath/ath11k/Makefile announce ATH12K - "Qualcomm Technologies Wi-Fi 7 support (ath12k)" reject_firmware drivers/net/wireless/ath/ath12k/core.c -clean_blob drivers/net/wireless/ath/ath12k/fw.h clean_blob drivers/net/wireless/ath/ath12k/core.c clean_blob drivers/net/wireless/ath/ath12k/hw.h clean_blob drivers/net/wireless/ath/ath12k/qmi.c @@ -2501,6 +2393,12 @@ clean_blob drivers/net/wireless/st/cw1200/cw1200_sdio.c clean_kconfig drivers/net/wireless/st/cw1200/Kconfig CW1200_WLAN_SDIO clean_mk CONFIG_CW1200_WLAN_SDIO drivers/net/wireless/st/cw1200/Makefile +announce PRISM2_USB - "Prism2.5/3 USB driver" +reject_firmware drivers/staging/wlan-ng/prism2fw.c +clean_blob drivers/staging/wlan-ng/prism2fw.c +clean_kconfig drivers/staging/wlan-ng/Kconfig PRISM2_USB +clean_mk CONFIG_PRISM2_USB drivers/staging/wlan-ng/Makefile + announce P54_PCI - "Prism54 PCI support" reject_firmware drivers/net/wireless/intersil/p54/p54pci.c clean_blob drivers/net/wireless/intersil/p54/p54pci.c @@ -2587,16 +2485,16 @@ clean_kconfig drivers/net/wireless/ralink/rt2x00/Kconfig RT2800USB clean_mk CONFIG_RT2800USB drivers/net/wireless/ralink/rt2x00/Makefile announce RTL8XXXU - "RTL8723AU/RTL8188[CR]U/RTL819[12]CU (mac80211) support" -reject_firmware drivers/net/wireless/realtek/rtl8xxxu/core.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/core.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8188e.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8188f.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8192c.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8192e.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8192f.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8710b.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8723a.c -clean_blob drivers/net/wireless/realtek/rtl8xxxu/8723b.c +reject_firmware drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192f.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8710b.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c clean_kconfig drivers/net/wireless/realtek/rtl8xxxu/Kconfig RTL8XXXU clean_mk CONFIG_RTL8XXXU drivers/net/wireless/realtek/rtl8xxxu/Makefile @@ -2629,12 +2527,6 @@ clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192DE clean_mk CONFIG_RTL8192DE drivers/net/wireless/realtek/rtlwifi/rtl8192de/Makefile -announce RTL8192DU - "Realtek RTL8192DU USB Wireless Network Adapter" -reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c -clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c -clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192DU -clean_mk CONFIG_RTL8192DU drivers/net/wireless/realtek/rtlwifi/rtl8192du/Makefile - announce RTL8192SE - "Realtek RTL8192SE/RTL8191SE PCIe Wireless Network Adapter" reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c @@ -2654,6 +2546,12 @@ clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192EE clean_mk CONFIG_RTL8192EE drivers/net/wireless/realtek/rtlwifi/Makefile +announce RTL8192U - "RealTek RTL8192U Wireless LAN NIC driver" +reject_firmware drivers/staging/rtl8192u/r819xU_firmware.c +clean_blob drivers/staging/rtl8192u/r819xU_firmware.c +clean_kconfig drivers/staging/rtl8192u/Kconfig RTL8192U +clean_mk CONFIG_RTL8192U drivers/staging/rtl8192u/Makefile + announce R8712U - "RealTek RTL8712U (RTL8192SU) Wireless LAN NIC driver" reject_firmware drivers/staging/rtl8712/hal_init.c clean_blob drivers/staging/rtl8712/hal_init.c @@ -2708,11 +2606,6 @@ clean_blob drivers/net/wireless/realtek/rtw88/rtw8822c.c clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8822CE clean_mk CONFIG_RTW88_8822CE drivers/net/wireless/realtek/rtw88/Makefile -announce RTW88_8703B - "Realtek 8703B PCI wireless network adaptar" -clean_blob drivers/net/wireless/realtek/rtw88/rtw8703b.c -clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8703B -clean_mk CONFIG_RTW88_8703B drivers/net/wireless/realtek/rtw88/Makefile - announce RTW88_8723DE - "Realtek 8723DE PCI wireless network adaptar" clean_blob drivers/net/wireless/realtek/rtw88/rtw8723d.c clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8723DE @@ -2746,14 +2639,6 @@ clean_blob drivers/net/wireless/realtek/rtw89/rtw8852c.c clean_kconfig drivers/net/wireless/realtek/rtw89/Kconfig RTW89_8852C clean_mk CONFIG_RTW89_8852C drivers/net/wireless/realtek/rtw89/Makefile -announce RTW89_8922A - "Realtek 802.11be wireless chips support" -clean_blob drivers/net/wireless/realtek/rtw89/rtw8922a.c -# This driver is not yet wired in AFAICT. -if grep -q 8922A drivers/net/wireless/realtek/rtw89/Kconfig; then - clean_kconfig drivers/net/wireless/realtek/rtw89/Kconfig RTW89_8922A - clean_mk CONFIG_RTW89_8922A drivers/net/wireless/realtek/rtw89/Makefile -fi - announce VT6656 - "VIA Technologies VT6656 support" reject_firmware drivers/staging/vt6656/main_usb.c clean_blob drivers/staging/vt6656/device.h @@ -2794,6 +2679,12 @@ clean_blob drivers/net/wireless/ti/wlcore/spi.c clean_kconfig drivers/net/wireless/ti/wlcore/Kconfig WLCORE_SPI clean_mk CONFIG_WLCORE_SPI drivers/net/wireless/ti/wlcore/Makefile +announce USB_ZD1201 - "USB ZD1201 based Wireless device support" +reject_firmware drivers/net/wireless/zydas/zd1201.c +clean_blob drivers/net/wireless/zydas/zd1201.c +clean_kconfig drivers/net/wireless/zydas/Kconfig USB_ZD1201 +clean_mk CONFIG_USB_ZD1201 drivers/net/wireless/zydas/Makefile + announce WCN36XX - "Qualcomm Atheros WCN3660/3680 support" reject_firmware drivers/net/wireless/ath/wcn36xx/smd.c clean_blob drivers/net/wireless/ath/wcn36xx/wcn36xx.h @@ -2836,14 +2727,6 @@ clean_blob drivers/net/ieee802154/adf7242.c clean_kconfig drivers/net/ieee802154/Kconfig IEEE802154_ADF7242 clean_mk CONFIG_IEEE802154_ADF7242 drivers/net/ieee802154/Makefile -# power sourcing equipment - -announce PSE_TPS23881 - "TPS23881 PSE controller" -reject_firmware drivers/net/pse-pd/tps23881.c -clean_blob drivers/net/pse-pd/tps23881.c -clean_kconfig drivers/net/pse-pd/Kconfig PSE_TPS23881 -clean_mk CONFIG_PSE_TPS23881 drivers/net/pse-pd/Makefile - # bluetooth announce BT_ATH3K - "Atheros firmware download driver" @@ -2951,7 +2834,6 @@ clean_mk CONFIG_BT_MTKUART drivers/bluetooth/Makefile announce BT_NXPUART - "NXP protocol support" reject_firmware drivers/bluetooth/btnxpuart.c clean_blob drivers/bluetooth/btnxpuart.c -clean_blob Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml clean_kconfig drivers/bluetooth/Kconfig BT_NXPUART clean_mk CONFIG_BT_NXPUART drivers/bluetooth/Makefile @@ -2968,14 +2850,6 @@ clean_blob drivers/bluetooth/btrtl.c clean_kconfig drivers/bluetooth/Kconfig BT_RTL clean_mk CONFIG_BT_RTL drivers/bluetooth/Makefile -# misc - -announce INTEL_MEI_VSC_HW - "Intel visual sensing controller device transport driver" -reject_firmware drivers/misc/mei/vsc-fw-loader.c -clean_blob drivers/misc/mei/vsc-fw-loader.c -clean_kconfig drivers/misc/mei/Kconfig INTEL_MEI_VSC_HW -clean_mk CONFIG_INTEL_MEI_VSC_HW drivers/misc/mei/Makefile - announce TI_ST - "Texas Instruments shared transport line discipline" reject_firmware drivers/misc/ti-st/st_kim.c clean_blob drivers/misc/ti-st/st_kim.c @@ -3034,18 +2908,6 @@ clean_blob drivers/net/phy/mscc/mscc.h clean_kconfig drivers/net/phy/Kconfig MICROSEMI_PHY clean_mk CONFIG_MICROSEMI_PHY drivers/net/phy/mscc/Makefile -announce AQUANTIA_PHY - "Aquantia PHYs" -reject_firmware drivers/net/phy/aquantia/aquantia_firmware.c -clean_blob Documentation/devicetree/bindings/net/marvell,aquantia.yaml -clean_kconfig drivers/net/phy/aquantia/Kconfig AQUANTIA_PHY -clean_mk CONFIG_AQUANTIA_PHY drivers/net/phy/aquantia/Makefile - -announce AIR_EN8811H_PHY - "Airoha EN8811H 2.5 Gigabit PHY" -reject_firmware drivers/net/phy/air_en8811h.c -clean_blob drivers/net/phy/air_en8811h.c -clean_kconfig drivers/net/phy/Kconfig AIR_EN8811H_PHY -clean_mk CONFIG_AIR_EN8811H_PHY drivers/net/phy/Makefile - ######## # ISDN # ######## @@ -3216,13 +3078,6 @@ clean_mk CONFIG_INPUT_IMS_PCU drivers/input/misc/Makefile # Data acquisition # #################### -announce INTEL_ISH_HID - "Intel Integrated Sensor Hub" -reject_firmware Documentation/hid/intel-ish-hid.rst -reject_firmware drivers/hid/intel-ish-hid/ishtp/loader.c -clean_blob drivers/hid/intel-ish-hid/ipc/pci-ish.c -clean_kconfig drivers/hid/intel-ish-hid/Kconfig INTEL_ISH_HID -clean_mk CONFIG_INTEL_ISH_HID drivers/hid/intel-ish-hid/Makefile - announce INTEL_ISH_FIRMWARE_DOWNLOADER - "Host Firmware Load feature for Intel ISH" reject_firmware drivers/hid/intel-ish-hid/ishtp-fw-loader.c clean_blob drivers/hid/intel-ish-hid/ishtp-fw-loader.c @@ -3266,6 +3121,7 @@ clean_blob drivers/iio/common/ssp_sensors/ssp_dev.c # clean_kconfig drivers/iio/common/ssp_sensors/Kconfig IIO_SSP_SENSORHUB # clean_mk CONFIG_IIO_SSP_SENSORHUB drivers/iio/common/ssp_sensors/Makefile + ####### # MMC # ####### @@ -3351,9 +3207,9 @@ announce SCSI_QLA_FC - "QLogic QLA2XXX Fibre Channel Support" reject_firmware drivers/scsi/qla2xxx/qla_os.c clean_sed ' /^config SCSI_QLA_FC$/,/^config /{ - /^ By default, firmware/i\ - /*(DEBLOBBED)*/ - /^ By default, firmware/,/linux-firmware tree/d + /^ By default, firmware/i\ + /*(DEBLOBBED)*/ + /^ By default, firmware/,/linux-firmware tree/d }' drivers/scsi/qla2xxx/Kconfig 'removed firmware notes' clean_blob drivers/scsi/qla2xxx/qla_os.c clean_kconfig drivers/scsi/qla2xxx/Kconfig SCSI_QLA_FC @@ -3499,11 +3355,6 @@ clean_blob arch/arm/boot/dts/st/stm32mp135f-dk.dts clean_kconfig drivers/usb/typec/ucsi/Kconfig UCSI_STM32G0 clean_mk CONFIG_UCSI_STM32G0 drivers/usb/typec/ucsi/Makefile -announce TYPEC_TPS6598X - "TI TPS6598x USB Power Delivery controller driver" -reject_firmware drivers/usb/typec/tipd/core.c -clean_blob Documentation/devicetree/bindings/usb/ti,tps6598x.yaml -clean_kconfig drivers/usb/typec/tipd/Kconfig TYPEC_TPS6598X -clean_mk CONFIG_TYPEC_TPS6598X drivers/usb/typec/tipd/Makefile ################ # Programmable # @@ -3538,8 +3389,6 @@ clean_kconfig drivers/accel/ivpu/Kconfig DRM_ACCEL_IVPU clean_mk CONFIG_DRM_ACCEL_IVPU drivers/accel/ivpu/Makefile announce DRM_ACCEL_QAIC - "Qualcomm Cloud AI accelerators" -reject_firmware drivers/accel/qaic/sahara.c -clean_blob drivers/accel/qaic/sahara.c clean_blob drivers/accel/qaic/mhi_controller.c clean_kconfig drivers/accel/qaic/Kconfig DRM_ACCEL_QAIC clean_mk CONFIG_DRM_ACCEL_QAIC drivers/accel/qaic/Makefile @@ -3645,19 +3494,6 @@ clean_blob Documentation/devicetree/bindings/mfd/iqs62x.yaml clean_kconfig drivers/mfd/Kconfig MFD_IQS62X clean_mk CONFIG_MFD_IQS62X drivers/mfd/Makefile -announce MFD_CS42L43 - "Cirrus Logic CS42L43" -reject_firmware drivers/mfd/cs42l43.c -clean_blob drivers/mfd/cs42l43.c -clean_kconfig drivers/mfd/Kconfig MFD_CS42L43 -clean_mk CONFIG_MFD_CS42L43 drivers/mfd/Makefile - -announce MFD_CS40L50_CORE - "Cirrus Logic CS40L50 core" -reject_firmware drivers/mfd/cs40l50-core.c -clean_blob drivers/mfd/cs40l50-core.c -clean_blob include/linux/mfd/cs40l50.h -clean_kconfig drivers/mfd/Kconfig MFD_CS40L50_CORE -clean_mk CONFIG_MFD_CS40L50_CORE drivers/mfd/Makefile - ####### # PTP # ####### @@ -3676,11 +3512,7 @@ clean_blob drivers/ptp/ptp_idt82p33.h clean_kconfig drivers/ptp/Kconfig PTP_1588_CLOCK_IDT82P33 clean_mk CONFIG_PTP_1588_CLOCK_IDT82P33 drivers/ptp/Makefile -announce PTP_1588_CLOCK_FC3W - "RENESAS FemtoClock3 Wireless as PTP clock" -reject_firmware drivers/ptp/ptp_fc3.c -clean_blob drivers/ptp/ptp_fc3.h -clean_kconfig drivers/ptp/Kconfig PTP_1588_CLOCK_FC3W -clean_mk CONFIG_PTP_1588_CLOCK_FC3W drivers/ptp/Makefile + ######### # Sound # @@ -3838,8 +3670,8 @@ clean_mk CONFIG_SND_RIPTIDE sound/pci/riptide/Makefile # This is ok, patch filenames are supplied as module parameters, and # they are text files with patch instructions. #announce SND_HDA_PATCH_LOADER - "Support initialization patch loading for HD-audio" -#reject_firmware sound/soc/codecs/hdac_hda.c -#clean_kconfig sound/pci/hda/Kconfig SND_HDA_PATCH_LOADER +#reject_firmware sound/pci/hda/hda_hwdep.c +#clean_kconfig sound/pci/hda/Kconfig 'SND_HDA_PATCH_LOADER' announce SND_HDA_CODEC_CA0132_DSP - "Support new DSP code for CA0132 codec" reject_firmware sound/pci/hda/patch_ca0132.c @@ -3858,12 +3690,6 @@ clean_blob sound/pci/hda/cs35l41_hda.c clean_kconfig sound/pci/hda/Kconfig SND_HDA_SCODEC_CS35L41 clean_mk CONFIG_SND_HDA_SCODEC_CS35L41 sound/pci/hda/Makefile -announce SND_HDA_SCODEC_CS35L56 - "CS35L56 HD-audio side codec support" -reject_firmware sound/pci/hda/cs35l56_hda.c -clean_blob sound/pci/hda/cs35l56_hda.c -clean_kconfig sound/pci/hda/Kconfig SND_HDA_SCODEC_CS35L56 -clean_mk CONFIG_SND_HDA_SCODEC_CS35L56 sound/pci/hda/Makefile - announce SND_HDSP - "RME Hammerfall DSP Audio" reject_firmware sound/pci/rme9652/hdsp.c clean_blob sound/pci/rme9652/hdsp.c @@ -3910,36 +3736,12 @@ clean_blob sound/soc/codecs/adau1781.c clean_kconfig sound/soc/codecs/Kconfig SND_SOC_ADAU1781 clean_mk CONFIG_SND_SOC_ADAU1781 sound/soc/codecs/Makefile -announce SND_SOC_AW87390 - "Soc Audio for awinic aw87390" -reject_firmware sound/soc/codecs/aw87390.c -clean_blob sound/soc/codecs/aw87390.h -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_AW87390 -clean_mk CONFIG_SND_SOC_AW87390 sound/soc/codecs/Makefile - -announce SND_SOC_AW88261 - "Soc Audio for awinic aw88261" -reject_firmware sound/soc/codecs/aw88261.c -clean_blob sound/soc/codecs/aw88261.h -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_AW88261 -clean_mk CONFIG_SND_SOC_AW88261 sound/soc/codecs/Makefile - announce SND_SOC_AW88395 - "Soc Audio for awinic aw88395" reject_firmware sound/soc/codecs/aw88395/aw88395.c clean_blob sound/soc/codecs/aw88395/aw88395_device.h clean_kconfig sound/soc/codecs/Kconfig SND_SOC_AW88395 clean_mk CONFIG_SND_SOC_AW88395 sound/soc/codecs/Makefile -announce SND_SOC_AW88399 - "Soc Audio for awinic aw88399" -reject_firmware sound/soc/codecs/aw88399.c -clean_blob sound/soc/codecs/aw88399.h -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_AW88399 -clean_mk CONFIG_SND_SOC_AW88399 sound/soc/codecs/Makefile - -announce SND_SOC_PCM6240 - "Texas Instruments PCM6240 Family Audio chips based on I2C" -reject_firmware sound/soc/codecs/pcm6240.c -clean_blob sound/soc/codecs/pcm6240.c -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_PCM6240 -clean_mk CONFIG_SND_SOC_PCM6240 sound/soc/codecs/Makefile - announce SND_SOC_PEB2466 - "Infineon PEB2466 quad PCM codec" # The firmware name is obtained by of_property_read_string. # It's conceivable that the loaded firmware files are pure data. @@ -3966,11 +3768,6 @@ clean_blob sound/soc/codecs/max98390.c clean_kconfig sound/soc/codecs/Kconfig SND_SOC_MAX98390 clean_mk CONFIG_SND_SOC_MAX98390 sound/soc/codecs/Makefile -announce SND_SOC_RT1320_SDW - "Realtek RT1320 Codec - SDW" -clean_blob sound/soc/codecs/rt1320-sdw.c -clean_kconfig sound/soc/codecs/Kconfig SND_SOC_RT1320_SDW -clean_mk CONFIG_SND_SOC_RT1320_SDW sound/soc/codecs/Makefile - announce SND_SOC_RT5677 - "RT5677 SoC" reject_firmware sound/soc/codecs/rt5677.c clean_blob sound/soc/codecs/rt5677.h @@ -4000,7 +3797,6 @@ reject_firmware sound/soc/intel/avs/topology.c reject_firmware sound/soc/intel/avs/utils.c clean_blob sound/soc/intel/avs/board_selection.c clean_blob sound/soc/intel/avs/loader.c -clean_blob sound/soc/intel/avs/pcm.c clean_kconfig sound/soc/intel/Kconfig SND_SOC_INTEL_AVS clean_mk CONFIG_SND_SOC_INTEL_AVS sound/soc/intel/avs/Makefile @@ -4136,16 +3932,6 @@ clean_mk CONFIG_FSI_MASTER_AST_CF drivers/fsi/Makefile # Bus # ####### -# PCIE - -announce PCIE_RCAR_GEN4 - "Renesas R-Car Gen4 PCIe controller (r8a779g0 V4H)" -reject_firmware drivers/pci/controller/dwc/pcie-rcar-gen4.c -clean_blob drivers/pci/controller/dwc/pcie-rcar-gen4.c -clean_kconfig drivers/pci/controller/dwc/Kconfig PCIE_RCAR_GEN4 -clean_mk CONFIG_PCIE_RCAR_GEN4 drivers/pci/controller/dwc/Makefile - -# I2C - # This takes firmware names from devicetree files, too likely to be # binary blobs offered by a hardware. announce I2C_SLAVE_EEPROM - "I2C eeprom slave driver" @@ -4153,8 +3939,6 @@ reject_firmware drivers/i2c/i2c-slave-eeprom.c clean_kconfig drivers/i2c/Kconfig I2C_SLAVE_EEPROM clean_mk CONFIG_I2C_SLAVE_EEPROM drivers/i2c/Makefile -# MHI - announce MHI_BUS - "Modem Host Interface (MHI) bus" reject_firmware drivers/bus/mhi/host/boot.c clean_kconfig drivers/bus/mhi/host/Kconfig MHI_BUS @@ -4188,7 +3972,6 @@ clean_mk CONFIG_GREYBUS_BOOTROM drivers/staging/greybus/Makefile announce ARCH_QCOM - "Qualcomm Support" clean_blob arch/arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts -clean_blob arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts clean_blob arch/arm64/boot/dts/qcom/msm8998-lenovo-miix-630.dts clean_blob arch/arm64/boot/dts/qcom/msm8996pro-xiaomi-natrium.dts clean_blob arch/arm64/boot/dts/qcom/msm8996-oneplus3.dts @@ -4224,19 +4007,14 @@ clean_blob Documentation/devicetree/bindings/display/msm/gpu.yaml clean_blob arch/arm64/boot/dts/qcom/sm8250-mtp.dts clean_blob arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi clean_blob arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi -clean_blob arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts clean_blob arch/arm64/boot/dts/qcom/qrb4210-rb2.dts clean_blob arch/arm64/boot/dts/qcom/qrb5165-rb5.dts clean_blob arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi clean_blob arch/arm64/boot/dts/qcom/sm8350-hdk.dts clean_blob arch/arm64/boot/dts/qcom/sm8350-mtp.dts -clean_blob arch/arm64/boot/dts/qcom/sm8550-hdk.dts clean_blob arch/arm64/boot/dts/qcom/sm8550-mtp.dts clean_blob arch/arm64/boot/dts/qcom/sm8550-qrd.dts -clean_blob arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts -clean_blob arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts clean_blob arch/arm64/boot/dts/qcom/apq8016-sbc.dts -clean_blob arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dts clean_blob arch/arm64/boot/dts/qcom/apq8096-db820c.dts clean_blob arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts clean_blob arch/arm64/boot/dts/qcom/msm8996pro-xiaomi-scorpio.dts @@ -4249,19 +4027,6 @@ clean_blob arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi clean_blob arch/arm64/boot/dts/qcom/sm8450-hdk.dts clean_blob arch/arm64/boot/dts/qcom/sm8450-qrd.dts clean_blob arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi -clean_blob arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts -clean_blob arch/arm64/boot/dts/qcom/qcm6490-idp.dts -clean_blob arch/arm64/boot/dts/qcom/qcm6490-shift-otter.dts -clean_blob arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts -clean_blob arch/arm64/boot/dts/qcom/qcs8550-aim300-aiot.dts -clean_blob arch/arm64/boot/dts/qcom/qrb2210-rb1.dts -clean_blob arch/arm64/boot/dts/qcom/sm8650-hdk.dts -clean_blob arch/arm64/boot/dts/qcom/sm8650-mtp.dts -clean_blob arch/arm64/boot/dts/qcom/sm8650-qrd.dts -clean_blob arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts -clean_blob arch/arm64/boot/dts/qcom/x1e80100-crd.dts -clean_blob arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts -clean_blob arch/arm64/boot/dts/qcom/x1e80100-qcp.dts clean_kconfig arch/arm/mach-qcom/Kconfig ARCH_QCOM clean_mk CONFIG_ARCH_QCOM arch/arm64/boot/dts/qcom/Makefile @@ -4273,6 +4038,7 @@ clean_mk CONFIG_QCOM_MDT_LOADER drivers/soc/qcom/Makefile announce QCOM_WCNSS_CTRL - "Qualcomm WCNSS control driver" reject_firmware drivers/soc/qcom/wcnss_ctrl.c clean_blob drivers/soc/qcom/wcnss_ctrl.c +clean_blob arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts clean_kconfig drivers/soc/qcom/Kconfig QCOM_WCNSS_CTRL clean_mk CONFIG_QCOM_WCNSS_CTRL drivers/soc/qcom/Makefile @@ -4294,9 +4060,7 @@ clean_blob arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi clean_blob arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi clean_blob arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi clean_blob arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi -clean_blob arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi clean_blob arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi -clean_blob arch/arm64/boot/dts/mediatek/mt8395-kontron-3-5-sbc-i1200.dts clean_kconfig arch/arm/mach-mediatek/Kconfig ARCH_MEDIATEK clean_mk CONFIG_ARCH_MEDIATEK arch/arm64/boot/dts/mediatek/Makefile diff --git a/helpers/DATA/linux-hwe-6.14/deblob-check b/helpers/DATA/linux-hwe-6.5/deblob-check similarity index 86% rename from helpers/DATA/linux-hwe-6.14/deblob-check rename to helpers/DATA/linux-hwe-6.5/deblob-check index cd49a61..d851362 100644 --- a/helpers/DATA/linux-hwe-6.14/deblob-check +++ b/helpers/DATA/linux-hwe-6.5/deblob-check @@ -1,17 +1,16 @@ #! /bin/sh -# deblob-check version 2025-03-18 r19742 -# modified with 2025-04-21 r19754 -# modified with 2025-04-25 r19761 -# modified with 2025-05-18 r19784 -# modified with 2025-05-19 r10793 (partial) +# deblob-check version 2023-08-19 r19387 +# modified with 2023-09-13 r19402 +# modified with 2023-09-13 r19403 +# modified with 2023-10-23 r19416 (partial) # Inspired in gNewSense's find-firmware script. # Written by Alexandre Oliva # Check http://www.fsfla.org/svn/fsfla/software/linux-libre for newer # versions. -# Copyright 2008-2025 Alexandre Oliva +# Copyright 2008-2023 Alexandre Oliva # # This program is part of GNU Linux-libre, a GNU project that # publishes scripts to clean up Linux so as to make it suitable for @@ -28,7 +27,9 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see . +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 +# USA # usage: deblob-check [-S] [-v] [-v] [-s S] [--reverse-patch] \ @@ -3332,11 +3333,11 @@ set_except () { # New in 3.10 accept '[ \t]*edid[ ]=[ ]\[00[ ]FF[ 0-9A-F\n\t]*\]' arch/powerpc/boot/dts/ac14xx.dts - accept 'K256:[\n][\t]\.long[ ]0x428a2f98[,][0-9a-f0x,]*\([\n][\t]\.long[ ][0-9a-f0x,]*\)\+' arch/x86/crypto/sha256-avx-asm.S - accept 'K256:[\n][\t]\.long[\t]0x428a2f98[,][0-9a-f0x,]*\([\n][\t]\.long[\t][0-9a-f0x,]*\)\+' arch/x86/crypto/sha256-avx2-asm.S - accept 'K256:[\n][ ]*\.long[ ]0x428a2f98[,][0-9a-f0x,]*\([\n][ ]*\.long[ ][0-9a-f0x,]*\)\+' arch/x86/crypto/sha256-ssse3-asm.S - accept 'K512:[\n][\t]\.quad[ ]0x428a2f98d728ae22[,][0-9a-f0x,]*\([\n][\t]\.quad[ ][0-9a-f0x,]*\)\+' 'arch/x86/crypto/sha512-\(avx\|ssse3\)-asm\.S' - accept 'K512:[\n][\t]\.quad[\t]0x428a2f98d728ae22[,][0-9a-f0x,]*\([\n][\t]\.quad[\t][0-9a-f0x,]*\)\+' 'arch/x86/crypto/sha512-avx2-asm.S' + accept 'K256:[\n][\t]\.long[ ]0x428a2f98[,][0-9a-f0x,]*\([\n][\t]\.long[ ][0-9a-f0x,]*\)*' arch/x86/crypto/sha256-avx-asm.S + accept 'K256:[\n][\t]\.long[\t]0x428a2f98[,][0-9a-f0x,]*\([\n][\t]\.long[\t][0-9a-f0x,]*\)*' arch/x86/crypto/sha256-avx2-asm.S + accept 'K256:[\n][ ]*\.long[ ]0x428a2f98[,][0-9a-f0x,]*\([\n][ ]*\.long[ ][0-9a-f0x,]*\)*' arch/x86/crypto/sha256-ssse3-asm.S + accept 'K512:[\n][\t]\.quad[ ]0x428a2f98d728ae22[,][0-9a-f0x,]*\([\n][\t]\.quad[ ][0-9a-f0x,]*\)*' 'arch/x86/crypto/sha512-\(avx\|ssse3\)-asm\.S' + accept 'K512:[\n][\t]\.quad[\t]0x428a2f98d728ae22[,][0-9a-f0x,]*\([\n][\t]\.quad[\t][0-9a-f0x,]*\)*' 'arch/x86/crypto/sha512-avx2-asm.S' defsnc 'static[ ]const[ ]uint32_t[ ]axi_clkgen_lock_table\[\][ ]=' drivers/clk/clk-axi-clkgen.c defsnc 'static[ ]const[ ]int[ ]arizona_micd_levels\[\][ ]=' drivers/extcon/extcon-arizona.c defsnc 'static[ ]const[ ]struct[ ]hdmiphy_config[ ]hdmiphy_v13_configs\[\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c @@ -4117,7 +4118,7 @@ set_except () { accept '[#][ ]cat[ ][/]sys[/]kernel[/]debug[/]zsmalloc[/]zram0[/]classes[\n][\n][ ]class[^\n]*\([\n][ ][0-9. \t]*\)*' Documentation/vm/zsmalloc.txt accept '[\t]*nvidia[,]emc-configuration[ ]=[ ][<][\n][\t]*\(0x[0-9a-f]*[\n][\t]*\)*[>][;]' 'arch/arm/boot/dts/tegra124-\(jetson-tk1\|nyan-\(big\|blaze\)\)-emc.dtsi' initnc '\.Lsha256_rcon:[\n][\t]\.word[\t]*' arch/arm64/crypto/sha2-ce-core.S - accept 'K256:[\n]\.word[\t]0x428a2f98[,][0-9a-f0x,]*\([\n]\.word[\t][0-9a-f0x,]*\)\+' 'arch/arm/crypto/sha256-\(armv4\.pl\|core\.S_shipped\)' + accept 'K256:[\n]\.word[\t]0x428a2f98[,][0-9a-f0x,]*\([\n]\.word[\t][0-9a-f0x,]*\)*' 'arch/arm/crypto/sha256-\(armv4\.pl\|core\.S_shipped\)' initnc 'PPC_AES_4K_DECTAB2:[\n][/][*][ ]decryption[ ]table[,][ ]same[ ]as[ ]crypto_il_tab[ ]in[ ]crypto[/]aes-generic\.c[ ][*][/]' arch/powerpc/crypto/aes-tab-4k.S initnc 'PPC_SPE_SHA256_K:' arch/powerpc/crypto/sha256-spe-asm.S defsnc 'static[ ]const[ ]u8[ ]initial_parm_block\[32\][ ]__initconst[ ]=' arch/s390/crypto/prng.c @@ -4493,9 +4494,9 @@ set_except () { accept '[\t]*ranges[ ]=[ ]<[ \t\n0-9xa-f]*>[;]' arch/arm/boot/dts/ep7209.dtsi accept '[\t]*nvidia[,]emc-configuration[ ]=[ ]<[ \t\n0-9xa-f]*>[;]' arch/arm/boot/dts/tegra124-apalis-emc.dtsi accept '[\t]*bool[ ]["]vmlinux\.bin[ ]or[ ]vmlinuz\.bin["]' arch/mips/Kconfig - accept 'K256_8:\([\n][ ]*\.octa[ ]*0x[0-9a-f]*\)\+' arch/x86/crypto/sha256-mb/sha256_x8_avx2.S - accept 'K256:\([\n][ ]*\.int[ ]*0x[0-9a-f,x]*\)\+' arch/x86/crypto/sha256-mb/sha256_x8_avx2.S - accept 'K512_4:\([\n][ ]*\.octa[ ]*0[x0-9a-f,\\\t\n]*\)\+' arch/x86/crypto/sha256-mb/sha256_x8_avx2.S + accept 'K256_8:\([\n][ ]*\.octa[ ]*0x[0-9a-f]*\)*' arch/x86/crypto/sha256-mb/sha256_x8_avx2.S + accept 'K256:\([\n][ ]*\.int[ ]*0x[0-9a-f,x]*\)*' arch/x86/crypto/sha256-mb/sha256_x8_avx2.S + accept 'K512_4:\([\n][ ]*\.octa[ ]*0[x0-9a-f,\\\t\n]*\)*' arch/x86/crypto/sha256-mb/sha256_x8_avx2.S accept '[ ][*][ ]request_firmware_into_buf[ ]-' drivers/base/firmware_class.c accept 'request_firmware_into_buf[(]const[ ]struct[ ]firmware[ ]' drivers/base/firmware_class.c accept 'EXPORT_SYMBOL[(]request_firmware_into_buf[)]' drivers/base/firmware_class.c @@ -5968,8 +5969,7 @@ set_except () { accept '\(extern[ ]\)\?int[ ]load_msr_list[(][^)]*[)][;]' drivers/staging/media/atomisp/include/linux/libmsrlisthelper.h blobname 'qca[/]crbtfw%02x\.tlv' drivers/bluetooth/btqca.c blobname 'qca[/]htbtfw%02x\.tlv' drivers/bluetooth/btqca.c - # Moved down. - # blobname 'qca[/]%s' drivers/bluetooth/btqca.c + blobname 'qca[/]%s' drivers/bluetooth/btqca.c accept '[\t]quirks[ \t]*=[ ]XHCI_RENESAS_FW_QUIRK[,][\n][\t]\.firmware[ ]=' drivers/usb/host/xhci-pci.c accept '[\t]*dev_err[(][&]pdev->dev[,][ ]["]request_firmware[ ]failed' drivers/usb/host/xhci-pci-renesas.c accept 'EXPORT_SYMBOL_GPL[(]load_msr_list[)]' drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c @@ -6738,7 +6738,6 @@ set_except () { defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U64[ ]ZSTD_ldm_gearTab\[256\][ ]=' lib/zstd/compress/zstd_ldm_geartab.h defsnc '[ ]*[{][ ]*unsigned[ ]const[ ]base\(LL\|OFC\)freqs\[Max\(LL\|Off\)[+]1\][ ]=' lib/zstd/compress/zstd_opt.c defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U8[ ]OF_bits\[MaxOff[+]1\][ ]=' lib/zstd/decompress/zstd_decompress_internal.h - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1318_reg\[\][ ]=' sound/soc/codecs/rt1318.c defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt1318_blind_write\[\][ ]=' sound/soc/codecs/rt1318-sdw.c defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1318_reg_defaults\[\][ ]=' sound/soc/codecs/rt1318-sdw.c # Topology files are presumed not code, but since we block the @@ -6824,7 +6823,7 @@ set_except () { # The following is not new, it was just moved down to allow for # new patterns to match despite being prefixed by it, when using # non-NDA regexp engines. - # blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c accept '[ ][*][ ]This[ ]is[ ]a[ ]helper[ ]that[ ]will[ ]use[ ]request_firmware[ ]' drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]HX8394_CMD_[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx8394.c accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]0xc8[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c @@ -6861,7 +6860,7 @@ set_except () { accept '[\t][\t]*dev_err[(]adsp->dev[,][ ]["]request_firmware[ ]failed' drivers/remoteproc/qcom_q6v5_pas.c accept 'static[ ]int[ ]aw88395_request_firmware_file[(]struct[ ]aw88395[ ][*]aw88395[)]' sound/soc/codecs/aw88395/aw88395.c accept '[\t]ret[ ]=[ ]aw88395_request_firmware_file[(]aw88395[)]' sound/soc/codecs/aw88395/aw88395.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->pm\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/'\(amdgpu/amdgpu_cgs\|pm/\(legacy-dpm/si_dpm\|swsmu/smu1[13]/smu_v1[13]_0\)\)\.c' + accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->pm\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/'\(amdgpu/amdgpu_cgs\|pm/\(legacy-dpm/si_dpm\)swsmu/smu1[13]/smu_v1[13]_0\)\)\.c' accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->firmware\.gpu_info_fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_device.c accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->mes\.fw\[pipe\][,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->psp\.\(asd\|toc\|sos\|ta\|cap\)_fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c @@ -6980,10 +6979,6 @@ set_except () { defsnc 'static[ ]char[ ]data_synd\[\][ ]=' drivers/edac/npcm_edac.c blobname 'amdgpu[/]vcn_4_0_3\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c blobname 'amdgpu[/]%s_\(rlc\|mec\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c - # The following is not new, it was just moved down to allow for - # new patterns to match despite being prefixed by it, when using - # non-NDA regexp engines. - # blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c defsnc 'static[ ]const[ ]struct[ ]dm_bl_data_point[ ]custom_backlight_curve0\[\][ ]=' drivers/gpu/drm/amd/display/modules/power/power_helpers.c defsnc 'static[ ]unsigned[ ]short[ ]meson_encl_gamma_table\[256\][ ]=' drivers/gpu/drm/meson/meson_venc.c blobname 'a6[19]0_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c @@ -7007,9 +7002,9 @@ set_except () { blobname 'iwlwifi-\(so\|ma\)-a0-hr-b0' drivers/net/wireless/intel/iwlwifi/cfg/ax210.c blobname 'iwlwifi-\(so\|ty\|ma\)-[ab]0-\(jf\|hr\|gf4\?\|mr\)-[ab]0' drivers/net/wireless/intel/iwlwifi/cfg/ax210.c blobname 'iwlwifi-\(bz\|gl\)-[abc]0-\(hr\|gf4\?\|fm4\?\)-[abc]0' drivers/net/wireless/intel/iwlwifi/cfg/bz.c - # blobname 'iwlwifi-\(sc\)-[ab]0-\(fm\|hr\|gf4\?\|wh\)-[abc]0' drivers/net/wireless/intel/iwlwifi/cfg/sc.c + blobname 'iwlwifi-\(sc\)-[ab]0-\(fm\|hr\|gf4\?\|wh\)-[abc]0' drivers/net/wireless/intel/iwlwifi/cfg/sc.c # Moved from way above, so that the above matches first. - # blobname 'iwlwifi-[^ ]*-[ab]0-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c + blobname 'iwlwifi-[^ ]*-[ab]0-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c blobname '%s-%d\.ucode' drivers/net/wireless/intel/iwlwifi/iwl-drv.c defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8192f_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192f.c defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8192fu\?_\(phy_init\|agc\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192f.c @@ -7060,997 +7055,12 @@ set_except () { defsnc 'static[ ]const[ ]u16[ ]expected_results\[\][ ]=' lib/checksum_kunit.c defsnc 'static[ ]const[ ]u32[ ]init_sums_no_overflow\[\][ ]=' lib/checksum_kunit.c - # New in 6.6-rc. - blobname 'ti-pruss[/]am65x-\(sr2-\)\?\(pru\|rtu\|txpru\)[01]-prueth-fw\.elf' 'Documentation/devicetree/bindings/net/ti,icssg-prueth\.yaml\|drivers/net/ethernet/ti/icssg/icssg_prueth\.c' - accept '[ ]*R:[ ]52[ ]05[ ]01[ ][0-9a-f ]*' Documentation/hid/hidintro.rst - accept 'Consider[ ]the[ ]following[ ]HID[ ]report[ ]descriptor::[\n 0-9A-F]*' Documentation/hid/hidintro.rst - accept '[ ]*hid:[ ]\[[\n 0-9a-fx,]*' Documentation/hid/hidintro.rst - accept '[ ]*Report[ ]Descriptor:[\n][ ]*5[ ]1[ ][0-9a-f ]*' Documentation/hid/hidintro.rst - blobname 'qcom[/]qrb4210[/]a610_zap\.mbn' arch/arm64/boot/dts/qcom/qrb4210-rb2.dts - blobname 'qcom[/]sm6115[/]LENOVO[/]J606F[/]a610_zap\.mbn' arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts - blob '[/][*][ ]TODO:[ ]Remove[^*\n]*[ ]generation[ ]based[ ]FW[ ]names[ ][*][/]' drivers/accel/ivpu/ivpu_fw.c - blobname '\(intel[/]vpu[/]\)\?vpu_\(37\|40\)xx\(_v0\.0\)\?\.bin' drivers/accel/ivpu/ivpu_fw.c - blobname 'mediatek[/]mt7925[/]BT_RAM_CODE_MT7925_1_1_hdr\.bin' drivers/bluetooth/btmtk.h - blobname 'nxp[/]uart\(iw624\|aw693\)_bt\.bin\(\.se\)\?' drivers/bluetooth/btnxpuart.c - blobname 'qca[/]\(ap\|hmt\)btfw%02x\.tlv' drivers/bluetooth/btqca.c - blobname 'qca[/]\(ap\|hmt\)nv%02x\.bin' drivers/bluetooth/btqca.c - blobname 'mediatek[/]mt%04x[/]BT_RAM_CODE_MT%04x_1_%x_hdr\.bin' drivers/bluetooth/btusb.c - blobname 'qcom[/]prog_firehose_sdx6x\.elf' drivers/bus/mhi/host/pci_generic.c - defsnc 'static[ ]const[ ]u8[ ]i2cr_cfam\[\][ ]=' drivers/fsi/fsi-master-i2cr.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]0xd[8f][^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-visionox-r66451.c - defsnc 'static[ ]const[ ]u8[ ]iqs7211_gesture_angle\[\][ ]=' drivers/input/touchscreen/iqs7211.c - blobname 'qcom[/]vpu-1\.0[/]venus\.mbn' drivers/media/platform/qcom/venus/core.c - blobname 'cs42l43\.bin' drivers/mfd/cs42l43.c - defsnc 'static[ ]const[ ]u8[ ]ice_dflt_vsi_rcp\[ICE_RECIPE_LEN\][ ]=' drivers/net/ethernet/intel/ice/ice_lag.c - blobname 'mediatek[/]mt7981_\(w[am]\|rom_patch\|eeprom_mt7976_dbdc\)\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h - blobname 'mediatek[/]mt7996[/]mt7996_dsp\.bin' drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h + # New in 6.6-rc, 6.5.9, 6.1.60, 5.15.137, 5.10.199. blobname 'gsl1680-\(bush-bush-windows-tablet\|positivo-c4128b\)\.fw' drivers/platform/x86/otuchscreen_dmi.c - defsnc 'static[ ]const[ ]unsigned[ ]char[ ]vt3253b0_rfmd\[CB_VT3253B0_INIT_FOR_RFMD\]\[2\][ ]=' drivers/staging/vt6655/baseband.c - defsnc 'static[ ]struct[ ]tsens_legacy_calibration_format[ ]tsens_\(8974\(_backup\)\?\|qcs404\)_nvmem[ ]=' drivers/thermal/qcom/tsens-v0_1.c - accept 'static[ ]int[ ]cs35l56_hda_request_firmware_file[(]struct' sound/pci/hda/cs35l56_hda.c - blobname '%scs35l56%s-%02x-dsp1-misc\(-%s\)*\.%s' sound/pci/hda/cs35l56_hda.c - accept 'static[ ]void[ ]cs35l56_hda_request_firmware_files[(]struct' sound/pci/hda/cs35l56_hda.c - accept '[\t]*\(if[ ][(][!]\|ret[ ]=[ ]\)cs35l56_hda_request_firmware_file[(]cs35l56[,][ ]wmfw_firmware[,]' sound/pci/hda/cs35l56_hda.c - accept '[\t]*cs35l56_hda_request_firmware_file[(]cs35l56[,]' sound/pci/hda/cs35l56_hda.c - accept '[\t]*cs35l56_hda_request_firmware_files[(]cs35l56[,][ ][&]wmfw_firmware[,]' sound/pci/hda/cs35l56_hda.c - # This appears to be data. - accept '[\t]scnprintf[(]tas_priv->coef_binaryname[,][ ]64[,][ ]["]TAS2XXX%04X\.bin["]' sound/pci/hda/tas2781_hda_i2c.c - accept '[\t][\t]\.fw_filename[ ]=[ ]["]sof-vangogh\.ri["]' sound/soc/amd/acp-config.c - blobname 'aw88261_acf\.bin' sound/soc/codecs/aw88261.h - accept 'static[ ]int[ ]aw88261_request_firmware_file[(]struct' sound/soc/codecs/aw88261.c - accept '[\t]ret[ ]=[ ]aw88261_request_firmware_file[(]aw88261[)]' sound/soc/codecs/aw88261.c - accept '[\t]*["]aw88261_request_firmware_file[ ]failed' sound/soc/codecs/aw88261.c - defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt1017_blind_write\[\][ ]=' sound/soc/codecs/rt1017-sdca-sdw.c - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1017_sdca_reg_defaults\[\][ ]=' sound/soc/codecs/rt1017-sdca-sdw.h - blobname 'rt5663-tplg\.bin' sound/soc/intel/avs/board_selection.c - blobname 'es8336-tplg\.bin' sound/soc/intel/avs/board_selection.c - blobname 'hda-%08x-tplg\.bin' sound/soc/intel/avs/pcm.c - blobname 'hda-8086-generic-tplg\.bin' sound/soc/intel/avs/pcm.c - blobname 'hda-generic-tplg\.bin' sound/soc/intel/avs/pcm.c - accept '[\t]ret[ ]=[ ]request_firmware[(][&]\(sdev->basefw\.fw\|adata->fw_dbin\)[,][ ]adata->fw_\(code\|data\)_bin' sound/soc/sof/amd/acp-loader.c - accept '[\t][\t]adata->fw_\(code\|data\)_bin[ ]=[ ]kasprintf[(]GFP_KERNEL[,][ ]["]%s[/]sof-%s-\(code\|data\)\.bin["]' sound/soc/sof/amd/acp.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-vangogh\.ri["]' sound/soc/sof/amd/pci-vangogh.c - accept '[\t][\t]\[SOF_INTEL_IPC4\][ ]=[ ]["]sof-lnl\.ri["]' sound/soc/sof/intel/pci-lnl.c - defsnc 'static[ ]uint8_t[ ]frag\(_[01]\|6_[012]\)\[\][ ]=' tools/testing/selftests/bpf/ip_check_defrag_frags.h - accept '[\t][$][(]Q[)]\.[/]\(no\)\?libc-test[ ][>][ ]["][$][(]CURDIR[)][/]run\.out["]' tools/testing/selftests/nolibc/Makefile - accept '[\t][\t]echo[ ]["][ ]---[ ]Summary:[ ]Exit[ ]code[ ][$]retcode[ ]from[ ][$]flavor[,][ ]see[ ]Make\.out' tools/testing/selftests/rcutorture/bin/torture.sh - # New in 6.7-rc. - accept '[\t ]*expose[ ]the[ ]CPUID[ ]to[ ]the[ ]guest\.[ ]If[ ]the[ ]host[ ]has[ ]updated[ ]microcode[ ]the' 'Documentation/admin-guide/hw-vuln/\(mds\|processor_mmio_stale_data\|tsx_async_abort\).rst' - blobname 'tps25750\.bin' Documentation/devicetree/bindings/usb/ti,tps6598x.yaml - blobname 'qcom[/]qcm6490[/]fairphone5[/]ipa_fws\.mdt' arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts - blobname 'qcom[/]qcm2290[/]\(adsp\|modem\)\.mbn' arch/arm64/boot/dts/qcom/qrb2210-rb1.dts - blobname 'ti-pruss[/]am65x-sr2-\(pru\|\(\|tx\)rtu\)[01]-prueth-fw\.elf' 'arch/arm64/boot/dts/ti/k3-am654-\(icssg2\|idk\).dtso' - defsnc '[\t]const[ ]unsigned[ ]int[ ]\(presorted_event\|event_index\)_table\[\][ ]=' arch/powerpc/perf/power6-pmu.c - blobname 'amd-ucode[/]microcode_amd_fam%02hhxh\.bin' arch/x86/kernel/cpu/microcode/amd.c - accept '[ ]\*[ ]thread[ ]completed[ ]the[ ]update\.[ ]See[ ]microcode_nmi_handler[(][)][ ]for[ ]details\.' arch/x86/kernel/cpu/microcode/core.c - accept '[ ]\*[ ]while[ ]the[ ]primary[ ]thread[ ]updates[ ]the[ ]microcode\.[ ]Instrumentation[ ]can[ ]end' arch/x86/kernel/cpu/microcode/core.c - accept '[ ]\*[ ]*NMI[ ]hits[ ]while[ ]the[ ]primary[ ]thread[ ]updates[ ]the[ ]microcode[ ]the[ ]resulting' arch/x86/kernel/cpu/microcode/core.c - blobname 'amdgpu[/]umsch_mm_4_0_0\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c - accept '[\t]r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->umsch_mm\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c - blobname 'amdgpu[/]vcn_4_0_5\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - accept '[\t]ret[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vpe\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c - defsnc '[\t]*\[UMC_V12_0_CHANNEL_INSTANCE_NUM\][ ]=' drivers/gpu/drm/amd/amdgpu/umc_v12_0.c - blobname 'amdgpu[/]vpe_6_1_0\.bin' drivers/gpu/drm/amd/amdgpu/vpe_v6_1.c - blobname 'amdgpu[/]dcn_3_5_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - defsnc 'static[ ]const[ ]unsigned[ ]long[ ]long[ ]pq_numerator\[MAX_HW_POINTS[ ][+][ ]1\][ ]=' drivers/gpu/drm/amd/display/modules/color/color_gamma.c - blobname 'amdgpu[/]smu_13_0_6\.bin' drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c - accept '[\t]ret[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->pm\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c - blobname 'amdgpu[/]smu_14_0_2\.bin' drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c - defsnc 'static[ ]const[ ]struct[ ]dphy_pll_vco_prop[ ]vco_prop_map\[\][ ]=' drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c - defsnc 'static[ ]const[ ]struct[ ]dphy_pll_hsfreqrange[ ]hsfreqrange_map\[\][ ]=' drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c - blobname '#define[ ]NVKM_GSP_FIRMWARE[(]chip[)][ \t]*\\[\n]MODULE_FIRMWARE[ ]*[(][^\n;]*#chip[^\n;]*[)][ ]*\?\([;][ \t]*\\[\n]MODULE_FIRMWARE[ ]*[(][^\n;]*#chip[^\n;]*[)][ ]*\)*' drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c - blobna 'NVKM_GSP_FIRMWARE[ ]*[(][^\n;]*[)][ ]*[;]\([ \n]*NVKM_GSP_FIRMWARE[ ]*[(][^\n;]*[)][ ]*[;]\)*' - blobname 'a660_zap\.mbn' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'a730_sqe\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'gmu_gen70000\.bin' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'a730_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'a740_sqe\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'gmu_gen70200\.bin' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'a740_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'nvidia[/]["]#chip["][/]gsp[/]\(boot\(er_\(\|un\)load\|loader\)\|gsp\)-535\.113\.01\.bin' drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]\(0xd3[,][ ]0x00[,][ ]0x00[,][ ]0x07\|0xd5[,][ ]0x19[,][ ]0x19[,][ ]0x18\|0xd6[,][ ]0x18[,][ ]0x18[,][ ]0x19\|0xe0[,][ ]0x00[,][ ]0x03[,][ ]0x09\)[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c - defsnc 'static[ ]const[ ]enum[ ]led_brightness[ ]joycon_player_led_patterns\[JC_NUM_LED_PATTERNS\]\[JC_NUM_LEDS\][ ]=' drivers/hid/hid-nintendo.c - defsnc 'static[ ]const[ ]struct[ ]hi556_reg[ ]mode_1296x722_regs\[\][ ]=' drivers/media/i2c/hi556.c - defsnc 'static[ ]const[ ]struct[ ]ov13b10_reg[ ]mode_1364x768_120fps_regs\[\][ ]=' drivers/media/i2c/ov13b10.c - defsnc 'static[ ]const[ ]u16[ ]cmt_vals_out\[\]\[15\][ ]=' drivers/media/pci/mgb4/mgb4_cmt.c - defsnc 'static[ ]const[ ]u32[ ]cmt_freq\[\][ ]=' drivers/media/pci/mgb4/mgb4_cmt.c - defsnc 'static[ ]const[ ]struct[ ]mgb4_i2c_kv[ ]gmsl_i2c\[\][ ]=' drivers/media/pci/mgb4/mgb4_vin.c - blobname 'qcom[/]venus-\(1\.8\|[45]\.2\|5\.4\)[/]venus\.mbn' drivers/media/platform/qcom/venus/core.c - defsnc 'static[ ]const[ ]u8[ ]ice_lport_rcp\[ICE_RECIPE_LEN\][ ]=' drivers/net/ethernet/intel/ice/ice_lag.c - blobname 'mediatek[/]mt7988_wo_[01]\.bin' drivers/net/ethernet/mediatek/mtk_wed_wo.h - accept 'static[ ]int[ ]ath11k_fw_request_firmware_api_n[(]' drivers/net/wireless/ath/ath11k/fw.c - accept '[\t]ab->fw\.fw[ ]=[ ]ath11k_core_firmware_request[(]ab[,][ ]name[)]' drivers/net/wireless/ath/ath11k/fw.c - accept '[\t]ret[ ]=[ ]ath11k_fw_request_firmware_api_n[(]ab[,][ ]ATH11K_FW_API2_FILE[)]' drivers/net/wireless/ath/ath11k/fw.c - blobname 'firmware-2\.bin' drivers/net/wireless/ath/ath11k/fw.h - accept '[ ]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]hif_dev->fw_name[,][\n][ ]*[&]hif_dev->udev->dev[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c - blobname 'mediatek[/]mt7925[/]WIFI_RAM_CODE_MT7925_1_1\.bin' drivers/net/wireless/mediatek/mt76/mt792x.h - blobname 'mediatek[/]mt7925[/]WIFI_MT7925_PATCH_MCU_1_1_hdr\.bin' drivers/net/wireless/mediatek/mt76/mt792x.h - defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8851b_txpwr_byrate_type2\[\][ ]' drivers/net/wireless/realtek/rtw89/rtw8851b_table.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]msm8226_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-msm8226.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]msm8996_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-msm8996.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]msm8x74_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-msm8x74.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sdm660_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sdm660.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm6115_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm6115.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm6125_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm6125.c - defsnc 'unsigned[ ]char[ ]vt3253b0_agc4_rfmd2959\[CB_VT3253B0_AGC_FOR_RFMD2959\]\[2\][ ]=' drivers/staging/vt6655/baseband.c - defsc 'unsigned[ ]char[ ]vt3253b0_airoha2230\[CB_VT3253B0_INIT_FOR_AIROHA2230\]\[2\][ ]=' drivers/staging/vt6655/baseband.c - defsc 'static[ ]unsigned[ ]char[ ]vt3253b0_uw2451\[CB_VT3253B0_INIT_FOR_UW2451\]\[2\][ ]=' drivers/staging/vt6655/baseband.c - defsnc 'static[ ]unsigned[ ]char[ ]vt3253b0_agc\[CB_VT3253B0_AGC\]\[2\][ ]=' drivers/staging/vt6655/baseband.c - accept '[/][*][ ]Chen-Yu[ ]Tsai[\'"'"']s[ ]regdb[ ]certificate[ ][*][/][\n0-9a-fx, ]*' net/wireless/certs/wens.hex - accept '[\t]*\.fw_filename[ ]=[ ]["]sof-acp_6_3\.ri["]' sound/soc/amd/acp-config.c - accept 'static[ ]int[ ]aw87390_request_firmware_file[(]struct' sound/soc/codecs/aw87390.c - accept '[\t]ret[ ]=[ ]aw87390_request_firmware_file[(]aw87390[)]' sound/soc/codecs/aw87390.c - accept '[\t]*["]aw87390_request_firmware_file[ ]failed' sound/soc/codecs/aw87390.c - blobname 'aw87390_acf\.bin' sound/soc/codecs/aw87390.h - accept 'static[ ]int[ ]aw88399_request_firmware_file[(]struct' sound/soc/codecs/aw88399.c - accept '[\t]ret[ ]=[ ]aw88399_request_firmware_file[(]aw88399[)]' sound/soc/codecs/aw88399.c - accept '[\t]*["]aw88399_request_firmware_file[ ]failed' sound/soc/codecs/aw88399.c - blobname 'aw88399_acf\.bin' sound/soc/codecs/aw88399.h - blobname 'rt5514-tplg\.bin' sound/soc/intel/avs/board_selection.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-acp_6_3\.ri["]' sound/soc/sof/amd/pci-acp63.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-rmb\.ri["]' sound/soc/sof/amd/pci-rmb.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-rn\.ri["]' sound/soc/sof/amd/pci-rn.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-vangogh\.ri["]' sound/soc/sof/amd/pci-vangogh.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-imx8\(x\|\)\.ri["]' sound/soc/sof/imx/pci-imx8.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-imx8m\.ri["]' sound/soc/sof/imx/pci-imx8m.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-imx8ulp\.ri["]' sound/soc/sof/imx/pci-imx8ulp.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-bdw\.ri["]' sound/soc/sof/intel/bdw.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-\(byt\|cht\)\.ri["]' sound/soc/sof/intel/byt.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-\(apl\|glk\)\.ri["]' sound/soc/sof/intel/pci-apl.c - accept '[\t][\t]\[SOF_IPC_TYPE_4\][ ]=[ ]["]dsp_basefw\.bin["]' 'sound/soc/sof/intel/pci-\(apl\|cnl\|icl\|skl\|tgl\)\.c' - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-c[nfm]l\.ri["]' sound/soc/sof/intel/pci-cnl.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-\(ic\|js\)l\.ri["]' sound/soc/sof/intel/pci-icl.c - accept '[\t][\t]\[SOF_IPC_TYPE_4\][ ]=[ ]["]sof-lnl\.ri["]' sound/soc/sof/intel/pci-lnl.c - accept '[\t][\t]\[SOF_IPC_TYPE_4\][ ]=[ ]["]sof-\(mt\|ar\)l\.ri["]' sound/soc/sof/intel/pci-mtl.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-\(tgl\(\|-h\)\|ehl\|adl\(-s\|\|-n\)\|rpl\(-s\|\)\)\.ri["]' sound/soc/sof/intel/pci-tgl.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-byt\.ri["]' sound/soc/sof/intel/pci-tng.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-mt818[68]\.ri["]' sound/soc/sof/mediatek/mt8186/mt8186.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-mt8195\.ri["]' sound/soc/sof/mediatek/mt8186/mt8195.c - # Same as in sound/pci/hda/hda_intel.c since v3.7, previously in hda_hwdep.c only. The patch is a text file supplied by users through a kernel parameter. - accept '#ifdef[ ]CONFIG_SND_HDA_PATCH_LOADER[\n][\t]if[ ][(]loadable_patch\[hda_pvt->dev_index\][^\n{]*[{]\([\n]\([\t][^}][^\n]*\)\?\)*[\n][\t]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]loadable_patch\[hda_pvt->dev_index\][,][\n\t ]*[&]hdev->dev[)][;]\([\n]\([\t][^}][^\n]*\)\?\)*[\n][\t]*ret[ ]=[ ]snd_hda_load_patch[(]' sound/soc/codecs/hdac_hda.c - accept 'static[ ]void[ ]update_ucode_pointer[(]struct[ ]microcode_intel' arch/x86/kernel/cpu/microcode/intel.c - accept '[\t]*pr_info[(]["]Unsafe[ ]microcode[ ]update:[ ]Microcode[ ]header' arch/x86/kernel/cpu/microcode/intel.c - blobname 'qca[/]hpnv%02x%s\.\(bin\|%x\)' drivers/bluetooth/btqca.c - blobna '[/][*][ ]No[ ]m3[ ]file[ ]in[ ]firmware-N\.bin[ ]so[ ]try[ ]to[ ]request[ ]old[\n\t *]*separate[ ]m3\.bin\.[\n\t *]*[*][/]' drivers/net/wireless/ath/ath11k/qmi.c - accept '[\t]\.quirks[ \t]*=[ ]XHCI_RENESAS_FW_QUIRK[,][\n][\t]\.firmware[ ]=' drivers/usb/host/xhci-pci.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8188ru_radioa_1t_highpa_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c - defsnc 'static[ ]const[ ]u32[ ]rtw8822b_txscale_tbl\[RTW_TXSCALE_SIZE\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b.c + # Trisquel changes for HWE 6.5 + blobname 'qcom[/]prog_firehose_sdx6x\.elf' drivers/bus/mhi/host/pci_generic.c - # New in 6.7.2. - accept '[\t][\t]\[SOF_IPC_TYPE_4\][ ]=[ ]["]sof-arl-s\.ri["]' sound/soc/sof/intel/pci-mtl.c - - # New in 6.7.7, 6.6.19, 6.1.80, and 5.15.150. - blobname '\(silead[/]\)\?gsl3692-teclast-x16-plus\.fw' drivers/platform/x86/touchscreen_dmi.c - - # New in 6.8-rc. - blobname 'AQR-G4_v5\.4\.C-AQR_CIG_WF-1945_0x8_ID44776_VER1630\.cld' Documentation/devicetree/bindings/net/marvell,aquantia.yaml - blobname 'qcom[/]msm8926[/]memul[/]adsp\.mbn' arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts - blobname 'qcom[/]qcm6490[/]fairphone5[/][ac]dsp\.mbn' arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts - blobname 'qcom[/]qcm6490[/]fairphone5[/]\(modem\|wpss\)\.mbn' arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts - blobname 'qcom[/]qrb4210[/]modem\.mbn' arch/arm64/boot/dts/qcom/qrb4210-rb2.dts - blobname 'qcom[/]sc7180[/]acer[/]aspire1[/]qcadsp7180\.mbn' arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts - blobname 'qcom[/]sm6375[/]Sony[/]murray[/]modem\.mbn' arch/arm64/boot/dts/qcom/sm6375-sony-xperia-murray-pdx225.dts - blobname 'qcom[/]sm8250[/]xiaomi[/]pipa[/]\([ac]dsp\|a650_zap\|slpi\|venus\)\.mbn' arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts - blobname 'qcom[/]sm8450[/]a730_zap\.mbn' arch/arm64/boot/dts/qcom/sm8450-hdk.dts - blobname 'qcom[/]sm8550[/]a740_zap\.mbn' arch/arm64/boot/dts/qcom/sm8550-mtp.dts - blobname 'qcom[/]sm8550[/]\(ipa_fws\|a740_zap\)\.mbn' arch/arm64/boot/dts/qcom/sm8550-qrd.dts - blobname 'qcom[/]sm8650[/]\([ac]dsp\|modem\)\(_dtb\|\)\.mbn' arch/arm64/boot/dts/qcom/'sm8650-\(mtp\|qrd\)\.dts' - blobname 'qcom[/]sm8650[/]ipa_fws\.mbn' arch/arm64/boot/dts/qcom/sm8650-qrd.dts - blobname 'ti-pruss[/]am65x-sr2-\(pru\|rtu\|txpru\)[01]-prueth-fw\.elf' arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi - defsnc 'static[ ]u64[ ]icx_cha_msr_offsets\[\][ ]' arch/x86/events/intel/uncore_snbep.c - blobname 'qcom[/]sdx75m[/]xbl\.elf' drivers/bus/mhi/pci_generic.c - blobname 'qcom[/]sdx75m[/]edl\.mbn' drivers/bus/mhi/pci_generic.c - defsnc 'static[ ]const[ ]u32[ ]fixed_ll_sym\[286\][ ]=' drivers/crypto/intel/iaa/iaa_crypto_comp_fixed.c - defsnc 'static[ ]const[ ]u32[ ]fixed_d_sym\[30\][ ]=' drivers/crypto/intel/iaa/iaa_crypto_comp_fixed.c - blobname 'qat_420xx\(\|_mmp\|_sym\|_dc\|_asym\|_admin\)\.bin' drivers/crypto/intel/qat/qat_420xx/adf_420xx_hw_data.h - blobname 'amdgpu[/]gc_11_0_0_rlc_1\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c - blobname '%s_%d\.%d\.%d\.%d_v%d\.fw' drivers/gpu/drm/imagination/pvr_device.c - accept '[ ][*][ ]pvr_request_firmware[(][)][ ]-[ ]Load[ ]firmware' drivers/gpu/drm/imagination/pvr_device.c - accept '[ ][*][ ][ ][*][ ]Any[ ]error[ ]returned[ ]by[ ]request_firmware[(][)]\.' drivers/gpu/drm/imagination/pvr_device.c - accept 'pvr_request_firmware[(]struct[ ]pvr_device[ ][*]pvr_dev[)]' drivers/gpu/drm/imagination/pvr_device.c - accept '[\t]pvr_dev->fw_dev\.firmware[ ]=[ ]fw[;]' drivers/gpu/drm/imagination/pvr_device.c - accept '[ ][*][ ][ ][*][ ]Any[ ]error[ ]returned[ ]by[ ]pvr_request_firmware[(][)]\.' drivers/gpu/drm/imagination/pvr_device.c - accept '[\t]err[ ]=[ ]pvr_request_firmware[(]pvr_dev[)][;]' drivers/gpu/drm/imagination/pvr_device.c - defsc 'static[ ]const[ ]struct[ ]nv3052c_reg[ ]\(ltk035c5444t\|fs035vg158\)_panel_regs\[\][ ]=' drivers/gpu/drm/panel/panel-newvision-nv3052c.c - blobname 'https:[/][/]git\.kernel\.org[/][^"\n]*firmware\.git' drivers/gpu/drm/xe/compat-i915-headers/intel_uc_fw.h - blobna 'Consider[ ]updating[ ]your[ ]linux-firware[ ]pkg[ ]or[ ]downloading[ ]from[ ]%s' drivers/gpu/drm/xe/xe_uc_fw.c - blobname '__stringify[(]dir__[)]' drivers/gpu/drm/xe/xe_uc_fw.c - blobname '[/]["][ ]__stringify[(]shortname__[)][ ]["]_["][ ]__stringify[(]uc__[)][ ]version__[ ]["]\.bin' drivers/gpu/drm/xe/xe_uc_fw.c - defsnc 'static[ ]const[ ]struct[ ]ov2740_reg[ ]mode_1932x1092_regs_360mhz\[\][ ]=' drivers/media/i2c/ov2740.c - defsc 'static[ ]const[ ]struct[ ]ov2740_reg[ ]mode_1932x1092_regs_180mhz\[\][ ]=' drivers/media/i2c/ov2740.c - blobname 'cnm[/]wave521c_k3_codec_fw\.bin' drivers/media/platform/chips-media/wave5/wave5-vpu.c - accept '[\t][\t]dev_err[(]dev[,][ ]["]request_firmware[,][ ]fail' drivers/media/platform/chips-media/wave5/wave5-vpu.c - blobname 's5p-mfc-v12\.fw' drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c - blobname '["]intel[/]vsc[/]["]' drivers/misc/mei/vsc-fw-loader.c - blobname 'ivsc_\(fw\|pkg_%s_0\|skucfg_%s_0_1\)\.bin' drivers/misc/mei/vsc-fw-loader.c - blobname 'mediatek[/]mt7996[/]mt7992_\(w[am]\|dsp\|rom_patch\|eeprom\)\.bin' drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h - blobname 'rtw89[/]rtw8922a_fw' drivers/net/wireless/realtek/rtw89/rtw8922a.c - # This defines RTW8851B_MODULE_FIRMWARE, only used in MODULE_FIRMWARE. - # It will cause an error if MODULE_FIRMWARE remains, or if it gets used elsewhere, - # so flag any such uses so that corrective action can be taken. - blobna 'RTW8922A_FW_BASENAME[ ]["]\.bin["]' drivers/net/wireless/realtek/rtw89/rtw8922a.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm4450_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm4450.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8650_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8650.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]x1e80100_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-x1e80100.c - accept 'static[ ]int[ ]tps_request_firmware[(]' drivers/usb/typec/tipd/core.c - accept '[\t]ret[ ]=[ ]tps_request_firmware[(]tps[,][ ][&]fw[)]' drivers/usb/typec/tipd/core.c - defsnc 'static[ ]const[ ]u16[ ]expected_\(csum_ipv6_magic\|fast_csum\)\[\][ ]=' lib/checksum_kunit.c - defsnc 'static[ ]const[ ]__sum16[ ]expected_\(csum_ipv6_magic\|fast_csum\)\[\][ ]=' lib/checksum_kunit.c - accept '[\t]if[ ][!][ ]do_compile[ ]["][$][(]get_header_tree[ ]["][$]base_ref["][)][/]include["][ ]["][$]base_header["][ ]["][$][{]base_header[}]\.bin["]' scripts/check-uapi.sh - accept '[\t]if[ ][!][ ]do_compile[ ]["][$][(]get_header_tree[ ]["][$]past_ref["][)][/]include["][ ]["][$]past_header["][ ]["][$][{]past_header[}]\.bin["]' scripts/check-uapi.sh - accept '[\t][\t]["][$][{]past_header[}]\.bin["][ ]["][$][{]base_header[}]\.bin["][ ]' scripts/check-uapi.sh - accept '[\t]cs35l56_hda_request_firmware_files[(]cs35l56[,][ ]preloaded_fw_ver[,]' sound/pci/hda/cs35l56_hda.c - defsnc 'static[ ]const[ ]struct[ ]_coeff_div[ ]coeff_div_v[03]\[\][ ]=' sound/soc/codecs/es8326.c - accept 'static[ ]int[ ]sof_test_\(firmware\|topology\)_file[(][ \t\na-z_,*]*[)][\n][{][\n]\([^}][^\n]*[\n]\+\)*[\t]ret[ ]=[ ]firmware_request_nowarn[(][&]fw[,][ ]\(fw\|tplg\)_filename[,][ ]dev[)]' sound/soc/sof/fw-file-profile.c - accept '[\t][\t]\[SOF_IPC_TYPE_4\][ ]=[ ]["]sof-\(tgl\(-h\)\?\|ehl\|adl\(-s\|-n\)\?\|rpl\(-s\)\?\)\.ri["]' sound/soc/sof/intel/pci-tgl.c - defsc 'static[ ]struct[ ]subtest_case[ ]crafted_cases\[\][ ]=' tools/testing/selftests/bpf/prog_tests/reg_bounds.c - accept '[\t][$][(]Q[)]qemu-[$][(]QEMU_ARCH_USER[)][ ][.][/]nolibc-test[ ][>][ ]["][$][(]CURDIR[)][/]run\.out["]' tools/testing/selftests/nolibc/Makefile - - # New in 6.8.2, 6.7.11, 6.6.23, 6.1.83. - accept '[\t]ret[ ]=[ ]request_firmware[(][&]\(sdev->basefw\.fw\|adata->fw_dbin\)[,][ ]fw_filename[,][ ]sdev->dev[)]' sound/soc/sof/amd/acp-loader.c - accept '[\t][\t][\t]*adata->fw_\(code\|data\)_bin[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ \n\t]*GFP_KERNEL[,][ \n\t]*["]\(%s[/]\)\?sof-%s-\(code\|data\)\.bin["]' sound/soc/sof/amd/acp.c - - # New in 6.8.6, 6.6.27, 6.1.86 - blobname 'mediatek[/]BT_RAM_CODE_MT7922_1_1_hdr\.bin' drivers/bluetooth/btmtk.h - blobname 'rt\(274\|5682\|1308\)-tplg\.bin' sound/soc/intel/avs/board_selection.c - blobname 'iwlwifi-sc2f\?-a0-\(fm-c0\|wh-a0\)' drivers/net/wireless/intel/iwlwifi/cfg/sc.c - # Moved from way above, so that the above matches first. - blobname 'iwlwifi-\(sc\)-[ab]0-\(fm\|hr\|gf4\?\|wh\)-[abc]0' drivers/net/wireless/intel/iwlwifi/cfg/sc.c - # Moved down. - # blobname 'iwlwifi-[^ ]*-[ab]0-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c - - # New in 6.9-rc - accept '[ ]*to[ ]run[ ]with[ ]the[ ]latest[ ]updated[ ]microcode\.' Documentation/admin-guide/hw-vuln/spectre.rst - # These seem to be example file names to be supplied by the user - # in DTS files, not the name of actual firmware files. - accept '[\t ]*firmware-name[ ]=[ ]["]zynq-gpio\(-partial\)\?\.bin["][;]' Documentation/devicetree/bindings/fpga/fpga-region.txt - blobname 'mediatek[/]mt8186[/]scp\.img' arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi - blobname 'qcom[/]qcm6490[/]fairphone5[/]venus\.mbn' arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts - blobname 'qcom[/]sa8295p[/]a690_zap\.mbn' arch/arm64/boot/dts/qcom/sa8295p-adp.dts - blobname 'qcom[/]sm7225[/]fairphone4[/]\([ac]dsp\|a615_zap\|ipa_fws\|modem\)\.mbn' arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts - blobname 'qcom[/]sm8550[/]\(ipa_fws\|a740_zap\|\([ac]dsp\|modem\)\(_dtb\)\?\)\.mbn' arch/arm64/boot/dts/qcom/sm8550-hdk.dts - blobname 'qcom[/]x1e80100[/][ac]dsp\(_dtb\)\?\.mbn' arch/arm64/boot/dts/qcom/x1e80100-'\(crd\|qcp\)'.dts - blobname 'ti-pruss[/]am64x-sr2-\(\(\|tx\)pru\|rtu\)[01]-prueth-fw\.elf' arch/arm64/boot/dts/ti/k3-am642-evm.dts - blobname 'ti-pruss[/]am65x-sr2-\(\(\|tx\)pru\|rtu\)[01]-prueth-fw\.elf' arch/arm64/boot/dts/ti/k3-am642-sr-som.dtsi - accept 'K256:\([\n][ ]*\.word[ ]*0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)\+' arch/riscv/crypto/sha256-riscv64-zvknha_or_zvknhb-zvkb.S - accept 'K512:\([\n][ ]*\.dword[ ]*0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)\+' arch/riscv/crypto/sha512-riscv64-zvknhb-zvkb.S - blobname 'mediatek[/]BT_RAM_CODE_MT%04x_1a_%x_hdr\.bin' drivers/bluetooth/btusb.c - blobname 'amdgpu[/]vcn_\(4_0_6\(_1\)\?\|5_0_0\)\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - blobname 'amdgpu[/]%s_%d\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - accept '[\t][\t]r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vcn\.fw\[i\][,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - blobname 'amdgpu[/]dcn_3_5_1_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - defsnc 'template<>[ ]constexpr[ ]inline[ ]uint16_t[ ]\(CMD\|RP_BLIT\)_REGS\[\][ ]=' drivers/gpu/drm/msm/adreno/a6xx.xml.h - blobname 'a615_zap\.\(mbn\|mdt\)' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname '\(a702\|gen70900\)_sqe\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname '\(a702\|gen70900\)_zap\.mbn' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'gmu_gen70900\.bin' drivers/gpu/drm/msm/adreno/adreno_device.c - defsnc 'static[ ]const[ ]u32[ ]gen7_[02]_0_\(gpu\(cc\)\?\|gmu\(gx\)\?\|noncontext_pipe_b[rv]\|rb_r\(ac\|bp\)_cluster_ps_pipe_br\|sp_cluster_sp_[pv]s_pipe_b[rv]_\(hlsq_state\|sp_top\|usptp\)\|rscc\|cpr\)_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/adreno_gen7_0_0_snapshot.h - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]0xB9[,][ ]0x7C[,][ ]0x65[,][ ]0x55[,][ ]0x49[,][ ]0x46[,][ ]0x36[,][\n][^ ,\t\n)]*\([, \t\n]*0x[0-9A-F][0-9A-F]\)*[)][;]' drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]HX83112A_SETDGCLUT[,][\n][ \t]*0xff[,][ ]0xfe[,][ ]0xfb[,][ ]0xf8[,][ ]0xf4[,][ ]0xf1[,][ ]0xed[,][ ]0xe6[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx83112a.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]HX83112A_SETGIP0[,][\n][ \t]*0x80[,][ ]0x00[,][ ]0x00[,][ ]0x00[,][ ]0x00[,][ ]0x01[,][ ]0x00[,][ ]0x08[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx83112a.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]HX83112A_SETGIP[12][,][\n][ \t]*0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx83112a.c - defsc 'static[ ]const[ ]struct[ ]ltk500hd1829_cmd[ ]ltk\(101b4029w\|500hd1829\)_init\[\][ ]=' drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c - defsnc 'static[ ]const[ ]struct[ ]imx335_reg[ ]mipi_data_rate_\(1188\|891\)Mbps\[\][ ]=' drivers/media/i2c/imx335.c - blobna 'ret[ ]=[ ]vgxy61_write_array[(]sensor[,][ ]VGXY61_REG_FWPATCH_START_ADDR[,][\n][\t ]*sizeof[(]patch_array[)][,][ ]patch_array[)][;][\n][\t]cci_write[(]sensor->regmap[,][ ]VGXY61_REG_STBY[,][ ]0x10[,][ ][&]ret[)][;][\n][\t]if[ ][(]ret[)][\n][\t]*return[ ]ret[;]' drivers/media/i2c/st-vgxy61.c - blobname 'rtl_nic[/]rtl8126a-2\.fw' drivers/net/ethernet/realtek/r8169_main.c - accept 'static[ ]int[ ]ath12k_fw_request_firmware_api_n[(]' drivers/net/wireless/ath/ath12k/fw.c - accept '[\t]ab->fw\.fw[ ]=[ ]ath12k_core_firmware_request[(]ab[,][ ]name[)]' drivers/net/wireless/ath/ath12k/fw.c - accept '[\t]ret[ ]=[ ]ath12k_fw_request_firmware_api_n[(]ab[,][ ]ATH12K_FW_API2_FILE[)]' drivers/net/wireless/ath/ath12k/fw.c - blobname 'firmware-2\.bin' drivers/net/wireless/ath/ath12k/fw.h - defsnc 'static[ ]const[ ]struct[ ]ropll_config[ ]ropll_tmds_cfg\[\][ ]=' drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c - blobname 'idtfc3\.bin' drivers/ptp/ptp_fc3.h - defsnc 'static[ ]const[ ]u16[ ]phy_to_log_coh_st_map_mi300\[\][ ]=' drivers/ras/amd/atl/demormalize.c - defsnc 'static[ ]const[ ]u16[ ]umc_coh_st_map\[32\][ ]=' drivers/ras/amd/atl/umc.c - accept '[ ]*const[ ]ALL_ASCII_CHARS:[ ][&][\'"'"']static[ ]str[ ]=[ \t\n]*["][^"\n\\]*\([\\]["\n\\][^"\n\\]*\)*["][;]' rust/kernel/str.rs - defsnc 'uint\(64\|32\)_t[ ]random_addresses\[\][ ]=' tools/testing/selftests/riscv/mm/mmap_test.h - - # New in 6.10-rc. - blobname 'qcom[/]qcm6490[/]\([ac]dsp\|modem\|wpss\)\.mbn' arch/arm64/boot/dts/qcom/qcm6490-idp.dts - blobname 'qcom[/]qcs6490[/]\([ac]dsp\|wpss\)\.mbn' arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts - blobname 'qcom[/]qcs6490[/]modem\.mdt' arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts - blobname 'qcom[/]sc8180x[/]LENOVO[/]82AK[/]qcdxkmsuc8180\.mbn' arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts - blobname 'qcom[/]sm8150[/]modem\.mbn' arch/arm64/boot/dts/qcom/sm8150-hdk.dts - blobname 'qcom[/]sm8650[/]gen70900_zap\.mbn' arch/arm64/boot/dts/qcom/sm8650-qrd.dts - blobname 'qcom[/]sm8550[/]Sony[/]yodo[/][ac]dsp\(_dtb\)\?\.mbn' arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts - blobname 'ti-pruss[/]am65x-\(pru\|rtu\|txpru\)[01]-prueth-fw\.elf' 'arch/arm64/boot/dts/ti/k3-am65-iot2050-common\.dtsi\|drivers/net/ethernet/ti/icssg/icssg_prueth_sr1\.c\)' - defsnc 'static[ ]const[ ]u8[ ]certs_selftest_\(ecdsa\|rsa\)_\(keys\|data\|sig\)\[\][ ]__initconst[ ]=' crypto/asymmetric_keys/selftest_ecdsa.c - blobname 'qcom[/]aic100[/]fw[0-9]*\.bin' drivers/accel/qaic/sahara.c - blobname 'qca[/]%snv%02x\.\(bin\|b%\(02\)\?x\)' drivers/bluetooth/btqca.c - # Moved down. - # blobname 'qca[/]%s' drivers/bluetooth/btqca.c - defsnc 'static[ ]const[ ]u32[ ]gen7_9_0_\(gpu\|gmu\(\|gx\)\|dbgc\|non_context_pipe_b[rv]\|rb_pipe_br_cluster_ps_\(rac\|rbp\)\|sp_pipe_b[rv]_cluster_sp_[vp]s_\(hlsq_state\|sp_top\|usptp\)\|cpr\|gpucc\|isense\|rscc\)_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/adreno_gen7_9_0_snapshot.h - defsc 'static[ ]const[ ]struct[ ]khadas_ts050_panel_cmd[ ]ts050\(v2\)\?_init_code\[\][ ]=' drivers/gpu/drm/panel/panel-khadas-ts050.c - accept '[\t]mipi_dsi_dcs_write_seq[(]ctx->link[,][ ]0xb5[,][\n][ \t]*0x75[,][ ]0x60[,][ ]0x2d[,][ ]0x5d[,][ ]0x80[,][ ]0x00[,][ ]0x0a[,][ ]0x0b[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-lg-sw43408.c - blobname '\(arm[/]mali[/]arch10\.8[/]\)\?mali_csffw\.bin' drivers/gpu/drm/panthor/panthor_fw.c - defsnc 'static[ ]const[ ]__u16[ ]angle_offsets_\(horizontal\|vertical\)_1[46]\[128\][ ]=' drivers/hid/bpf/progs/XPPen__ArtistPro16Gen2.bpf.c - blobname 'intel[/]ish[/]ish_lnlm\.bin' drivers/hid/intel-ish-hid/ipc/pci-ish.c - defsnc 'static[ ]const[ ]int[ ]micro_ohm_rsense\[\][ ]=' drivers/hwmon/pmbus/xdp710.c - defsnc 'static[ ]const[ ]struct[ ]dwc_dphy_freq_range[ ]freqranges\[DPHY_FREQ_RANGE_NUM\][ ]=' drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c - defsc 'static[ ]const[ ]struct[ ]phy_reg[ ]\(common_init\|x[124]_port[0123]_config\)_regs\[\][ ]=' drivers/media/pci/intel/ipu6/ipu6-isys-mcd-phy.c - defsnc 'static[ ]struct[ ]ipu6_psys_internal_pdata[ ]psys_ipdata[ ]=' drivers/media/pci/intel/ipu6/ipu6.c - blobname 'intel[/]ipu[/]ipu6\(se\|ep\(mtl\|adln\)\?\)\?_fw\.bin' drivers/media/pci/intel/ipu6/ipu6.h - defsc 'ICE_DECLARE_PKT_TEMPLATE[(]pfcp_session_ipv6[)][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c - blobname 'airoha[/]EthMD32\.\(dm\|DSP\)\.bin' drivers/net/phy/air_en8811h.c - blobname 'ti[/]tps23881[/]tps23881-\(parity\|sram\)-14\.bin' drivers/net/pse-pd/tps23881.c - defsc '[\t]static[ ]const[ ]u16[ ]freq_list_v2\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt7915/mcu.c - blobname 'mediatek[/]WIFI_RAM_CODE_MT7961_1a\.bin' drivers/net/wireless/mediatek/mt76/mt792x.h - blobname 'mediatek[/]WIFI_MT7961_patch_mcu_1a_2_hdr\.bin' drivers/net/wireless/mediatek/mt76/mt792x.h - defsnc '[\t]static[ ]const[ ]u8[ ]channel_all\[TARGET_CHNL_NUM_2G_5G\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8192cu_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/8192c.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8723au_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/8723a.c - blobname 'rtw88[/]rtw8703b_\(wow_\)\?fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8703b.c - defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8703b_bb_pg\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c - defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8703b_txpwr_lmt\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c - defsnc 'static[ ]const[ ]u32[ ]rtw8703b_\(mac\|agc\|bb\|rf_a\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c - defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rk_udphy_\(2[46]m_refclk_cfg\|init_sequence\)\[\][ ]=' drivers/phy/rockchip/phy-rockchip-usbdp.c - blobname 'gsl1680-globalspace-solt-ivw116\.fw' drivers/platform/x86/touchscreen_dmi.c - blobname 'E\.WSA116_8\.E1\.042\.bin' drivers/platform/x86/touchscreen_dmi.c - blobname 'intel[/]ipu[/]irci_irci_ecr-master_20161208_0213_20170112_1500\.bin' drivers/staging/media/ipu3/ipu3-css-fw.h - blobname '%s\(-i2c-%d-%udev\)\?\.bin' sound/soc/codecs/pcm6240.c - blobname 'cirrus[/]\(%s-\)*%s\.%s' sound/pci/hda/cs35l41_hda.c - - # New in 6.10.3, 6.6.44. - blobname 'qcom[/]sdm850[/]LENOVO[/]81JL[/]ipa_fws\.elf' arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts - - # New in 6.11-rc. - blobname 'mediatek[/]mt8195[/]scp\.img' arch/arm64/boot/dts/mediatek/mt8395-kontron-3-5-sbc-i1200.dts - blobname 'qcom[/]apq8016[/]wcnss\.mbn' arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dts - blobname 'qcom[/]apq8016[/]WCNSS_qcom_wlan_nv_sbc\.bin' arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dts - blobname 'qcom[/]qcm6490[/]fairphone5[/]ipa_fws\.mbn' arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts - blobname 'qcom[/]qcm6490[/]SHIFT[/]otter[/]\(a660_zap\|ipa_fws\|[ac]dsp\|modem\|wpss\)\.mbn' arch/arm64/boot/dts/qcom/qcm6490-shift-otter.dts - blobname 'qcom[/]qcs8550[/][ac]dsp\(_dtb\)\?\.mbn' arch/arm64/boot/dts/qcom/qcs8550-aim300-aiot.dts - blobname 'qcom[/]qcm2290[/]a702_zap\.mbn' arch/arm64/boot/dts/qcom/qrb2210-rb1.dts - blobname 'qcom[/]sm8550[/]\([ac]dsp\|modem\)\(_dtb\)\?\.mdt' arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts - blobname 'qcom[/]sm8650[/]\(ipa_fws\|gen70900_zap\|\([ac]dsp\|modem\)\(_dtb\)\?\)\.mbn' arch/arm64/boot/dts/qcom/sm8650-hdk.dts - blobname 'qcom[/]x1e80100[/]ASUSTeK[/]vivobook-s15[/]qc[ac]dsp8380\.mbn' arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts - blobname 'qcom[/]x1e80100[/]ASUSTeK[/]vivobook-s15[/][ac]dsp_dtbs\.elf' arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts - blobname 'qcom[/]x1e80100[/]gen70500_zap\.mbn' arch/arm64/boot/dts/qcom/x1e80100-'\(crd\|qcp\)\.dts' - blobname 'qcom[/]x1e80100[/]LENOVO[/]83ED[/]qc\(dxkmsuc\|[ac]dsp\)8380\.mbn' arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts - blobname 'qcom[/]x1e80100[/]LENOVO[/]83ED[/][ac]dsp_dtbs\.elf' arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts - accept '\.irp[ ]i[, 0-9\\\n\t]*' arch/x86/crypto/aes-gcm-avx10-x86_64.S - accept 'static[ ]int[ ]_request_firmware_nowait[(]' drivers/base/firmware_loader/main.c - accept '[ ][*][ ]firmware_request_nowait_nowarn[(][)][ ]-[ ]async[ ]version[ ]of[ ]request_firmware_nowarn' drivers/base/firmware_loader/main.c - accept '[ ][*][ ]Similar[ ]in[ ]function[ ]to[ ]request_firmware_nowait[(]' drivers/base/firmware_loader/main.c - accept 'int[ ]firmware_request_nowait_nowarn[(]' drivers/base/firmware_loader/main.c - accept '[\t]return[ ]_request_firmware_nowait[(]' drivers/base/firmware_loader/main.c - blobname 'uartuart8987_bt_v0\.bin' 'Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt\.yaml\|drivers/bluetooth/btnxpuart\.c\)' - blobname 'uart8987_bt_v0\.bin' drivers/bluetooth/btnxpuart.c - blobname 'uartuart8987_bt\.bin' drivers/bluetooth/btnxpuart.c - blobname 'uart\(uart\)\?8997_bt_v4\.bin' drivers/bluetooth/btnxpuart.c - blobname 'uart\(uart\)\?9098_bt_v1\.bin' drivers/bluetooth/btnxpuart.c - blobname 'uartiw416_bt_v0\.bin' drivers/bluetooth/btnxpuart.c - blobname 'uartspi_n61x_v1\.bin\.se' drivers/bluetooth/btnxpuart.c - blobname 'uartspi_iw610_v0\.bin\(\.se\)\?' drivers/bluetooth/btnxpuart.c - blobname 'uartiw624_bt\.bin\(\.se\)\?' drivers/bluetooth/btnxpuart.c - blobname 'uartaw693_bt\(_v1\)\?\.bin\(\.se\)\?' drivers/bluetooth/btnxpuart.c - blobname 'helper_uart_3000000\.bin' drivers/bluetooth/btnxpuart.c - accept '[\t]if[ ][(]!nxp_request_firmware[(]' drivers/bluetooth/btnxpuart.c - blobname 'nxp[/]%s' drivers/bluetooth/btnxpuart.c - blobname 'fox[/]sdx72m[/]edl\.mbn' drivers/bus/mhi/host/pci_generic.c - defsnc '[\t]static[ ]const[ ]int[ ]postdiv1_2\[\]\[3\][ ]=' drivers/clk/sophgo/clk-sg2042-pll.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->firmware\.gpu_info_fw[,]' drivers/gpu/drm/amd/amdgpu/amdgpu_device.c - blobname '\(amdgpu[/]\)\?%s_gpu_info\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_device.c - accept '[\t]r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->isp\.fw[,]' drivers/gpu/drm/amd/amdgpu/amdgpu_isp.c - blobname 'amdgpu[/]%s\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_isp.c - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->mes\.fw\[pipe\][,]' drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c - blobname 'amdgpu[/]%s_uni_mes\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->psp\.\(asd\|toc\|sos\|ta\|cap\)_fw[,]' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - accept '[\t]*ret[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]usbc_pd_fw[,]' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - accept '[\t]err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->\(psp\.toc\|gfx\.\(pfp\|mec\?\|rlc\)\)_fw[,]' drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c - blobname 'amdgpu[/]%s_\(toc\|pfp\|mec\?\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c - accept '[\t]err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->gfx\.imu_fw\[i\][,]' drivers/gpu/drm/amd/amdgpu/imu_v12_0.c - blobname 'amdgpu[/]%s_imu\.bin' drivers/gpu/drm/amd/amdgpu/imu_v12_0.c - # The following is not new, it was just moved down to allow for - # new patterns to match despite being prefixed by it, when using - # non-NDA regexp engines. - blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->sdma\.instance\[\(instance\|i\)\]\.fw[,]' drivers/gpu/drm/amd/amdgpu/'\(\(amdgpu\|cik\)_sdma\|sdma_v[0-9_]*\)\.c' - blobname '%s_sdma%s\.bin' drivers/gpu/drm/amd/amdgpu/cik_sdma.c - accept '[\t][\t]r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vcn\.fw\[i\][,]' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - accept '[\t]ret[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vpe\.fw[,]' drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->gfx\.\(pfp\|me\|ce\|rlc\|mec2\?\)_fw' drivers/gpu/drm/amd/amdgpu/gfx_v*_0.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->gmc\.fw[,]' drivers/gpu/drm/amd/amdgpu/gmc_v*_0.c - blobname '%s_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v*_0.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->gfx\.imu_fw[,]' drivers/gpu/drm/amd/amdgpu/imu_v*_0.c - blobname '%s_imu\.bin' drivers/gpu/drm/amd/amdgpu/imu_v*_0.c - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->dm\.\(fw_dmcu\|dmub_fw\)' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c - accept '[\t]ret[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->pm\.fw[,]' drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v*.c - accept '[\t][\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vcn\.fw\[i\][,]' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - accept '[\t]*\(err\|ret\)[ ]*=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->pm\.fw[,]' drivers/gpu/drm/amd/'\(amdgpu/amdgpu_cgs\|pm/\(legacy-dpm/si_dpm\|swsmu/smu1[13]/smu_v1[13]_0\)\)\.c' - blobname '%s_smc\.bin' drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c - # The asm source for this is drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm, there is no _gfx12.asm. - defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx12_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h - blobname 'amdgpu[/]dcn_4_0_1_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - defsnc 'static[ ]const[ ]uint32_t[ ]filter_isharp_1D_lut_\(0\|0p5x\|1p0x\|1p5x\|2p0x\)\[32\][ ]=' drivers/gpu/drm/amd/display/dc/spl/dc_spl_isharp_filters.c - defsnc 'static[ ]const[ ]uint16_t[ ]filter_isharp_\(wide_6\|bs_4\)tap_64p\[198\][ ]=' drivers/gpu/drm/amd/display/dc/spl/dc_spl_isharp_filters.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(][&]dsi_ctx[,][ ]HX83102_\(SET\|UNKNOWN\)[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx83102.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(]ctx->link[,][ ]0xb5[,][\n][ \t]*0x75[,][ ]0x60[,][ ]0x2d[,][ ]0x5d[,][ ]0x80[,][ ]0x00[,][ ]0x0a[,][ ]0x0b[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-lg-sw43408.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(][&]ctx[,][ ]0x\(b[54]\|d[356]\|e0\)\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-lincolntech-lcd197.c - defsc 'static[ ]const[ ]struct[ ]nv3052c_reg[ ]wl_355608_a8_panel_regs\[\][ ]=' drivers/gpu/drm/panel/panel-newvision-nv3052c.c - accept '[\t]mipi_dsi_\(dcs\|generic\)_write_seq_multi[(]dsi_ctx[,][ ]ST7703_CMD[^ ,\t\n)]*\([, \t\n]*0x[0-9a-fA-F][0-9a-fA-F]\)*[)][;]' drivers/gpu/drm/panel/panel-sitronix-st7703.c - defsnc 'static[ ]const[ ]unsigned[ ]char[ ]test_edid_\(dvi_1080p\|hdmi_1080p\(\|_rgb_max_\(200\|340\)mhz\|_rgb_yuv_dc_max_\(200\|340\)mhz\)\)\[\][ ]=' drivers/gpu/drm/tests/drm_kunit_edid.h - accept '[ ][*][ ]R:[ ]93[ ]05[ ]0d[ ]09[ 0-9a-f]*' drivers/hid/bpf/progs/Huion__'\(Dial-2\|Inspiroy-2-S\)'.bpf.c - blobname 'intel[/]ipu[/]shisp_240\(1a\|0b\)0_v21\.bin' drivers/staging/media/atomisp/pci/atomisp_v4l2.c - blobname 'intel[/]ipu[/]shisp_2401a0_legacy_v21\.bin' drivers/staging/media/atomisp/pci/atomisp_v4l2.c - blobname 'qcom[/]venus-4\.4[/]venus\.mbn' drivers/media/platform/qcom/venus/core.c - defsnc 'const[ ]u8[ ]v4l2_jpeg_\(ref_table_\(luma\|chroma\)_qt\|zigzag_scan_index\)\[V4L2_JPEG_PIXELS_IN_BLOCK\][ ]=' drivers/media/v4l2-core/v4l2-jpeg.c - defsnc 'const[ ]u8[ ]v4l2_jpeg_ref_table_\(luma\|chroma\)_ac_ht\[V4L2_JPEG_REF_HT_AC_LEN\][ ]=' drivers/media/v4l2-core/v4l2-jpeg.c - blobname 'cs40l50\.\(bin\|wmfw\)' 'drivers/mfd/cs40l50-core\.c\|include/linux/mfd/cs40l50\.h\)' - blobname 'tehuti[/]bdx\.bin' drivers/net/ethernet/tehuti/tn40.c - defsnc '[}][ ]tn40_txd_sizes\[\][ ]=' drivers/net/ethernet/tehuti/tn40.c - blobname 'ti-pruss[/]am65x-sr2-\(pru\|rtu\|txpru\)[01]-prusw-fw\.elf' drivers/net/ethernet/ti/icssg/icssg_prueth.c - defsnc 'static[ ]const[ ]u32[ ]targetchnl_5g\[TARGET_CHNL_NUM_5G\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c - blobname 'rtlwifi[/]rtl8192dufw\.bin' drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c - defsnc 'const[ ]u32[ ]rtl8192du_phy_reg_2tarray\[PHY_REG_2T_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_phy_reg_array_pg\[PHY_REG_ARRAY_PG_LENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_radioa_2tarray\[RADIOA_2T_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_radiob_2tarray\[RADIOB_2T_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_radioa_2t_int_paarray\[RADIOA_2T_INT_PA_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_radiob_2t_int_paarray\[RADIOB_2T_INT_PA_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_mac_2tarray\[MAC_2T_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_agctab_array\[AGCTAB_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_agctab_5garray\[AGCTAB_5G_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_agctab_2garray\[AGCTAB_2G_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'static[ ]const[ ]struct[ ]rtw89_reg3_def[ ]rtw8852bx_pmac_ht20_mcs7_tbl\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b_common.c - blobname 'rcar_gen4_pcie\.bin' drivers/pci/controller/dwc/pcie-rcar-gen4.c - defsnc 'static[ ]const[ ]struct[ ]stf_dphy_config[ ]reg_configs\[\][ ]=' drivers/phy/starfive/phy-jh7110-dphy-tx.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sdm670_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sdm670.c - defsnc 'static[ ]const[ ]struct[ ]segdist_code[ ]segdist_codes\[\][ ]=' drivers/slimbus/stream.c - # This loads user-named files. - accept '[\t][\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]firmware_file[,][ ][&]slave->dev[)]' drivers/soundwire/debugfs.c - accept '[\t]ret[ ]=[ ]tps_request_firmware[(]tps[,][ ][&]fw[,][ ][&]firmware_name[)]' drivers/usb/typec/tipd/core.c - accept '\(static[ ]inline[ ]\)\?int[ ]firmware_request_nowait_nowarn[(]' include/linux/firmware.h - # ethtool-supplied filenames. - accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw_update->fw[,][\n\t ]*file_name[,][ ][&]dev->dev[)]' net/ethtool/module.c - accept '[/][/][/][ ]One[ ]of[ ]the[ ]following:[ ][`]bindings::request_firmware[`][,][ ][`]bindings::firmware_request_nowarn[`],[\n][/][/][/][ ][`]bindings::firmware_request_platform[`][,][ ][`]bindings::request_firmware_direct[`]\.' rust/kernel/firmware.rs - accept '[ ]*Self[(]bindings::request_firmware\(_nowarn\)\?[)]' rust/kernel/firmware.rs - accept '[/][/][/][ ]let[ ]fw[ ]=[ ]Firmware::request[(]c_str![(]["]path[/]to[/]firmware\.bin["][)][,][ ][&]dev[)][?][;]' rust/kernel/firmware.rs - accept '[ ]*[/][/][/][ ]Send[ ]a[ ]firmware[ ]request[ ]and[ ]wait[ ]for[ ]it\.[ ]See[ ]also[ ][`]bindings::request_firmware[`]\.' rust/kernel/firmware.rs - accept '[ ]*[/][/][/][ ]Send[ ]a[ ]request[ ]for[ ]an[ ]optional[ ]firmware[ ]module\.[ ]See[ ]also[\n/ ]*[`]bindings::request_firmware_nowarn[`]\.' rust/kernel/firmware.rs - accept '[/][/][/][ ]*firmware:[ ]\[["]my_device_firmware1\.bin["][,][ ]["]my_device_firmware2\.bin["]\][,]' rust/macros/lib.rs - accept '[ ]*["]firmware["][ ]=>[ ]info\.firmware[ ]=[ ]Some[(]expect_string_array[(]it[)][)][,]' rust/macros/module.rs - defsnc '[\t]static[ ]const[ ]struct[ ]alc298_samsung_coeff_fixup_desc[ ]fixups[12]\[\][ ]=' sound/pci/hda/samsung_helper.c - # These look somewhat suspicious, but not implausible as configuration data. The contributor captured them as opaque data. I'm tentatively allowing them, hoping there isn't code lurking in them. - defsnc '[\t]static[ ]const[ ]struct[ ]alc298_samsung_coeff_seq_desc[ ]amp_\(0x3[89cd]\|seq[12]\)\[\][ ]=' sound/pci/hda/samsung_helper.c - defsnc 'static[ ]const[ ]struct[ ]es8311_mclk_coeff[ ]es8311_mclk_coeffs\[\][ ]=' sound/soc/codecs/es8311.c - defsnc 'static[ ]struct[ ]reg_sequence[ ]init_list\[\][ ]=' sound/soc/codecs/rt1318.c - defsnc 'static[ ]struct[ ]reg_default[ ]rt1318_reg\[\][ ]=' sound/soc/codecs/rt1318.c - defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt1320_blind_write\[\][ ]=' sound/soc/codecs/rt1320-sdw.c - blobname '%s-%sRCA%d\.bin' sound/soc/codecs/tas2781-comlib.c - accept 'PTP_1588_\(L2\|IPV4\|IPV6\)_[^=\n"]*=["][ \\\n0-9a-f:]*["]' tools/testing/selftests/net/forwarding/local_termination.sh - blobname '%s-%s_coef\.bin' sound/soc/codecs/tas2781-i2c.c - blobname '%s-%s_cal_0x%02x\.bin' sound/soc/codecs/tas2781-i2c.c - accept 'What:[ ][ ][/]sys[/]bus[/]platform[/]drivers[/]zynqmp_fpga_manager[/]firmware:zynqmp-firmware:' Documentation/ABI/testing/sysfs-driver-zynqmp-fpga - accept '[ ]The[ ]PCC[ ]driver[ ]will[ ]load[ ]on[ ]any[ ]system[ ]where[ ]the[ ]platform[ ]firmware:' Documentation/admin-guide/pm/cpufreq_drivers.rst - accept 'The[ ]RISC-V[ ]kernel[ ]expects[ ]the[ ]following[ ]of[ ]bootloaders[ ]and[ ]platform[ ]firmware:' Documentation/arch/riscv/boot.rst - accept '[ ][ ]*zynqmp_firmware:[ ]zynqmp-firmware[ ][{]' Documentation/devicetree/bindings/'clock/xlnx,versal-clk\|crypto/xlnx,zynqmp-aes\|xilinx/xlnx,zynqmp-firmware\|fpga/xlnx,zynqmp-pcap-fpga\|pinctrl/xlnx,zynqmp-pinctrl\)\.yaml' - accept '[ ]-[ ]firmware:[ ]Reference[ ]to[ ]RPi[\'"'"']s[ ]firmware[ ]device[ ]node' Documentation/devicetree/bindings/input/touchscreen/raspberrypi,firmware-ts.txt - accept 'firmware:[ ]firmware-rpi' Documentation/devicetree/bindings/input/touchscreen/raspberrypi,firmware-ts.txt - accept '[ ][ ]video-firmware:' Documentation/devicetree/bindings/media/qcom,venus-common.yaml - accept '[ ][ ]wifi-firmware:' Documentation/devicetree/bindings/net/wireless/qcom,'ath1[01]k\.yaml' - accept '-[ ]ti[,]pm-firmware:[ ]Name[ ]of[ ]firmware[ ]file' Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt - accept '-[ ]firmware:[ ][ ]Reference[ ]to[ ]the[ ]RPi[ ]firmware[ ]device[ ]node.' Documentation/devicetree/bindings/soc/bcm/raspberrypi,bcm2835-power.txt - accept '[ ][ ]fsl[,]firmware:' Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-firmware.yaml - accept '[ ][ ]One[ ]member[ ]is[ ]the[ ]H1[ ]built[ ]into[ ]Chromebooks[ ]and[ ]running[ ]Cr50[ ]firmware:' Documentation/devicetree/bindings/tpm/google,cr50.yaml - accept 'able[ ]to[ ]make[ ]use[ ]of[ ]built-in[ ]firmware:' Documentation/driver-api/firmware/built-in-fw.rst - accept '[ ][ ][ ]magic[ ]prefix[ ]for[ ]Silead[ ]firmware:[ ]F0[ ]00[ ]00[ ]00[ ]02[ ]00[ ]00[ ]00[,][ ]this[ ]gives[ ]you' Documentation/driver-api/firmware/fallback-mechanisms.rst - accept 'firmware:' Documentation/leds/leds-lp55xx.rst - accept '[ ][ ][ ][ ][#][ ]Run[ ]reload[ ]command[ ]to[ ]activate[ ]firmware:' Documentation/networking/devlink/devlink-reload.rst - accept '[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]firmware:[ ]0\.01-522' Documentation/scsi/smartpqi.rst - accept '[ ][ ]firmware:[ ]firmware[ ][{]' arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi - accept '[ ][ ]zynqmp_firmware:[ ]zynqmp-firmware[ ][{]' arch/arm64/boot/dts/xilinx/zynqmp.dtsi - accept '[ ]pr_info[(]["]Firmware:' arch/mips/loongson64/env.c - accept '[ ][ ]prom_printf[(]["]Max[ ]number[ ]of[ ]cores[ ]passed[ ]to[ ]firmware:' arch/powerpc/kernel/prom_init.c - accept '[ ][ ][/][*][ ]Broken[ ]firmware:' arch/powerpc/kernel/rtasd.c - accept '[ ][ ][ ]pr_err[(]FW_BUG[ ]["]CPU%4u:[ ]APIC[ ]ID[ ]mismatch.[ ]Firmware:' arch/x86/kernel/cpu/topology_common.c - accept '[ ][ ]ivpu_err[(]vdev[,][ ]["]Failed[ ]to[ ]\(start\|boot\)[ ]the[ ]firmware:' drivers/accel/ivpu/ivpu_drv.c - accept '[ ]ivpu_err[(]vdev[,][ ]["]Failed[ ]to[ ]request[ ]firmware:' drivers/accel/ivpu/ivpu_fw.c - accept '[ ]ivpu_info[(]vdev[,][ ]["]Firmware:[ ]%s[,][ ]version:[ ]%s["][,][ ]fw->name[,]' drivers/accel/ivpu/ivpu_fw.c - accept 'firmware[ ][ ]:=[ ][$][(]addsuffix[ ]\.gen\.o[,][ ][$][(]CONFIG_EXTRA_FIRMWARE[)][)]' drivers/base/firmware_loader/builtin/Makefile - accept '[ ][ ]*dev_\(dbg\|err\)[(]\(f_dev\|device\)[,][ ]["]firmware:' drivers/base/firmware_loader/fallback.c - accept '[ ][*][ ]@firmware:[ ]pointer[ ]to[ ]firmware[ ]image' drivers/base/firmware_loader/main.c - accept 'EXPORT_SYMBOL_GPL[(]firmware_request_nowait_nowarn[)][;]' drivers/base/firmware_loader/main.c - accept '[ ]bt_dev_info[(]hdev[,][ ]["]Found[ ]device[ ]firmware:' drivers/bluetooth/'\(btintel\|hci_intel\)\.c' - accept '[ ][ ]bt_dev_\(info\|dbg\)[(]hdev[,][ ]["]Request[ ]Firmware:' drivers/bluetooth/btnxpuart.c - accept '[ ]dev_dbg[(][&]bcm4377->pdev->dev[,][ ]["]Trying[ ]to[ ]load[ ]firmware:' drivers/bluetooth/hci_bcm4377.c - accept '[ ][ ]dev_err[(]dev[,][ ]["]Error[ ]loading[ ]firmware:' drivers/bus/mhi/host/boot.c - accept '[ ][ ][ ]communicating[ ]with[ ]the[ ]firmware:' drivers/char/hw_random/Kconfig - accept '[ ]unsigned[ ]int[ ]uses_firmware:1[;]' drivers/comedi/drivers/ni_pcidio.c - accept '[ ][ ]dev_dbg[(]dev[,][ ]["]Failed[ ]to[ ]update[ ]SEV[ ]firmware:' drivers/crypto/ccp/sev-dev.c - accept 'err_firmware:' drivers/dma/imx-sdma.c - accept '[ ][ ][ ]dev_err[(][&]cxlmd->dev[,][ ]["]Error[ ]activating[ ]firmware:' drivers/cxl/core/memdev.c - accept '[ ]cs_dsp_info[(]dsp[,][ ]["]Firmware:' drivers/firmware/cirrus/cs_dsp.c - accept '[ ][*][ ]@wmfw_firmware:[ ]the[ ]firmware[ ]to[ ]be[ ]sent' drivers/firmware/cirrus/cs_dsp.c - accept '[ ][*][ ]@coeff_firmware:[ ]the[ ]coefficient[ ]data[ ]to[ ]be[ ]sent' drivers/firmware/cirrus/cs_dsp.c - accept '[ ]dev_info[(][&]pdev->dev[,][ ]["]firmware:' drivers/firmware/tegra/bpmp.c - accept '[ ][ ][/][*][ ]atom_firmware:' drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c - accept '[ ]drm_printf[(]p[,][ ]["]GSC[ ]firmware:' drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c - accept '[ ][ ][*][ ]We[\'"'"']ve[ ]failed[ ]to[ ]load[ ]the[ ]firmware[ ]:' drivers/gpu/drm/i915/gt/uc/intel_uc.c - accept '[ ][ ]gt_warn[(]gt[,][ ]["]%s[ ]firmware:' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c - accept '[ ]drm_printf[(]p[,][ ]["]%s[ ]firmware:' drivers/gpu/drm/'i915/gt/uc/intel_uc_fw\|xe/xe_uc_fw\)\.c' - accept '\(invalid\|expose\)_firmware:' drivers/gpu/drm/i915/gvt/firmware.c - accept '[ ]gvt_dbg_core[(]["]Invalid[ ]firmware:' drivers/gpu/drm/i915/gvt/firmware.c - accept 'out_free_firmware:' drivers/gpu/drm/i915/gvt/kvmgt.c - accept '[ ][/][*][*][ ]@firmware:[ ]Handle[ ]to[ ]the[ ]firmware[ ]loaded[ ]into[ ]the[ ]device\.[ ][*][/]' drivers/gpu/drm/imagination/pvr_fw.h - blobname 'gen70500_sqe\.fw' drivers/gpu/drm/msm/adreno/a6xx_catalog.c - blobname 'gen70500_gmu\.bin' drivers/gpu/drm/msm/adreno/a6xx_catalog.c - accept '[ ][/][*][ ]firmware:[ ][*][/]' drivers/gpu/drm/msm/adreno/adreno_gpu.h - accept '[ ]nvkm_debug[(]subdev[,][ ]["]firmware:' drivers/gpu/drm/nouveau/nvkm/engine/falcon.c - accept '[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]["]failed[ ]to[ ]request[ ]firmware:' drivers/gpu/drm/rockchip/cdn-dp-core.c - accept '[ ][*][ ]@slow_firmware:' drivers/gpu/drm/xe/xe_heci_gsc.c - accept '[ ][*][ ]@work_firmware:[ ]firmware[ ]upgrade[ ]work[ ]queue' drivers/iio/common/ssp_sensors/ssp.h - accept '[ ][ ]dev_err[(]dev[,][ ]["]Failed[ ]to[ ]parse[ ]firmware:' drivers/input/keyboard/qt1050.c - accept '[ ][ ]dev_err[(]dev[,][ ]["]failed[ ]to[ ]request[ ]firmware:' drivers/input/mouse/elan_i2c_core.c - accept '[ ][ ][ ]["]Elan[ ]Touchpad:[ ]Module[ ]ID:[ ]0x%04x[,][ ]Firmware:' drivers/input/mouse/elan_i2c_core.c - accept '[ ][ ][ ][ ][ ][ ][ ]["]%s[ ]TrackPoint[ ]firmware:' drivers/input/mouse/trackpoint.c - accept '[ ][ ]dev_err[(]dev[,][ ]["]Failed[ ]to[ ]upload[ ]firmware:' drivers/input/touchscreen/chipone_icn8505.c - accept '[ ][ ]dev_err[(][&]client->dev[,][ ]["]failed[ ]to[ ]request[ ]firmware:' drivers/input/touchscreen/elants_i2c.c - accept '[ ][ ][ ]["]Failed[ ]to[ ]flash[ ]firmware:' drivers/input/touchscreen/melfas_mip4.c - accept '[ ][ ][ ]["]failed[ ]to[ ]switch[ ]to[ ]main[ ]fw[ ]after[ ]writing[ ]firmware:' drivers/input/touchscreen/raydium_i2c_ts.c - accept '[ ][ ]dev_err[(]dev[,][ ]["]failed[ ]to[ ]load[ ]firmware:' drivers/input/touchscreen/rohm_bu21023.c - accept '[ ][ ][*][ ]Here[ ]is[ ]the[ ]DSDT[ ]device[ ]node[ ]used[ ]for[ ]mbigen[ ]in[ ]firmware:' drivers/irqchip/irq-mbigen.c - accept '[ ]printk[(]KERN_INFO[ ]["]PMU[ ]driver[ ]v%d[ ]initialized[ ]for[ ]%s[,][ ]firmware:' drivers/macintosh/via-pmu.c - accept 'err_release_firmware:' drivers/media/dvb-frontends/'\(af9013\|m88ds3103\|mn88472\|mn88473\|mxl692\|si2168\|tda10071\)\.c' - accept '[ ]deb_info[(]["]got[ ]firmware:' drivers/media/dvb-frontends/bcm3510.c - accept 'out_media_entity_stop_streaming_firmware:' drivers/media/pci/intel/ipu6/ipu6-isys-video.c - accept '[ ][ ][ ][ ]["]failed[ ]to[ ]\(load\|request\|copy\)[ ]firmware:' drivers/media/platform/allegro-dvt/allegro-core.c - accept '[ ]dev_info[(]dev[,][ ]["]loaded[ ]firmware:' drivers/media/platform/samsung/exynos4-is/fimc-is.c - accept '[ ][ ][ ][ ][ ][ ][ ][ ][ ]["]%s[ ][ ]firmware:' drivers/media/platform/st/sti/delta/delta-mjpeg-dec.c - accept '[ ][ ]["]%s[ ][ ]firmware:' drivers/media/platform/st/sti/delta/delta-mjpeg-dec.c - accept '[ ]dev_info[(]fei->dev[,][ ]["]Loading[ ]firmware:' drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c - accept '[ ][*][ ]@dont_load_firmware:' drivers/media/tuners/si2157.h - accept '[ ]unsigned[ ]int[ ]dont_load_firmware:1[;]' drivers/media/tuners/si2157.h - accept '[ ]dprintk[(]1[,][ ]["]Loading[ ]Firmware:' drivers/media/tuners/xc4000.c - accept '[ ]pr_info[(]["]%s:[ ]firmware:' drivers/media/usb/as102/as102_fw.c - accept '[ ][ ][ ][/][*][ ]special[ ]thing[ ]in[ ]the[ ]current[ ]firmware:' drivers/media/usb/dvb-usb/dib0700_core.c - accept '[ ][*][ ]@firmware:[ ]name[ ]of[ ]the[ ]firmware[ ]file[ ]to[ ]be[ ]loaded' drivers/media/usb/dvb-usb-v2/dvb_usb.h - accept '[ ][*][ ]@download_firmware:[ ]called[ ]to[ ]download[ ]the[ ]firmware' drivers/media/usb/dvb-usb-v2/dvb_usb.h - accept '[ ][*][ ]@firmware:[ ]name[ ]of[ ]the[ ]firmware[ ]file\.' drivers/media/usb/dvb-usb/dvb-usb.h - accept '[ ][*][ ]@download_firmware:[ ]called[ ]to[ ]download[ ]the[ ]firmware' drivers/media/usb/dvb-usb/dvb-usb.h - accept '[ ]unsigned[ ]int[ ]mts_firmware:1[;]' drivers/media/usb/em28xx/em28xx.h - accept '[ ]unsigned[ ]int[ ]flag_skip_cx23416_firmware:1[;]' drivers/media/usb/pvrusb2/pvrusb2-devattr.h - accept '[ ][ ][ ]trace_firmware[(]["]Located[ ]%s[ ]firmware:' drivers/media/usb/pvrusb2/pvrusb2-hdw.c - accept '[ ][ ][ ][ ][ ][ ][ ]["]reject_firmware:' drivers/media/usb/pvrusb2/pvrusb2-hdw.c - accept '[ ][ ]dev_dbg[(]dev[,][ ]["]specified[ ]in[ ]firmware:' drivers/media/v4l2-core/v4l2-common.c - accept 'static[ ]void[ ]cs40l50_request_firmware[(]const[ ]struct[ ]firmware[ ][*]fw[,][ ]void[ ][*]context[)]' drivers/mfd/cs40l50-core.c - accept '[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]dev[,][ ]GFP_KERNEL[,][ ]cs40l50[,][ ]cs40l50_request_firmware[)][;]' drivers/mfd/cs40l50-core.c - accept '[ ][ ]*dev_err[(]cs42l43->dev[,][ ]["]Failed[ ]to[ ]\(disable\|update\|request\)[ ]firmware:' drivers/mfd/cs42l43.c - accept '[ ][ ]*dev_err[(][&]client->dev[,][ ]["]Failed[ ]to[ ]\(parse\|request\)[ ]firmware:' drivers/mfd/iqs62x.c - accept '[ ]pr_info[(]["]PRCMU[ ]firmware:' drivers/mfd/db8500-prcmu.c - accept '[ ][ ]dev_err[(][&]spi->dev[,][ ]["]\(Could[ ]not[ ]get\|Failed[ ]to[ ]flash\)[ ]firmware:' drivers/misc/gehc-achc.c - accept '[ ][ ]\(return[ ]dev_err_probe[(]dev[,][ ]ret\|dev_err[(]dev\)[,][ ]["]failed[ ]to[ ]load[ ]firmware:' drivers/net/dsa/lantiq_gswip.c - accept '[ ][ ][ ]["]invalid[ ]number[ ]of[ ]sections[ ]in[ ]firmware:' drivers/net/ethernet/alacritech/slicoss.c - accept '[ ][*][ ]@part_number_firmware:[ ]Firmware[ ]version' drivers/mfd/rave-sp.c - accept '[ ][ ]["]Unsupported[ ]version[ ]of[ ]the[ ]firmware:' drivers/mfd/si476x-i2c.c - accept '[ ][*][ ]firmware:' drivers/mtd/devices/ms02-nv.h - accept '[ ][ ][ ]that[ ]run[ ]essentially[ ]the[ ]same[ ]firmware:' drivers/net/can/usb/Kconfig - accept '[/][*][ ]CANtact[ ]Pro[ ]original[ ]firmware:' drivers/net/can/usb/gs_usb.c - accept '[ ][ ][ ][ ]["]firmware:' drivers/net/can/usb/usb_8dev.c - accept '[ ][ ]printk[(]KERN_INFO[ ]["][ ][ ]Tigon[ ]I[I ][ ][(]Rev\.[ ]%i[)][,][ ]Firmware:' drivers/net/ethernet/alteon/acenic.c - accept 'err_release_mips_firmware[:]' drivers/net/ethernet/broadcom/bnx2.c - accept '[ ][ ][/][*][ ]*instruction[ ]to[ ]firmware:' drivers/net/ethernet/cavium/liquidio/lio_ethtool.c - accept '[ ][ ]\(dev_err[(]dev[,][ ]\|[ ]\)["]could[ ]not[ ]upgrade[ ]firmware:' drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c - accept '[ ]FW_CAPS16[ ]=[ ]1[,][ ][/][*][ ]old[ ]Firmware:' drivers/net/ethernet/chelsio/cxgb4'\(/cxgb4\|vf/t4vf_common\)\.h' - accept '[ ]FW_CAPS32[ ]=[ ]2[,][ ][/][*][ ]new[ ]Firmware:' drivers/net/ethernet/chelsio/cxgb4'\(/cxgb4\|vf/t4vf_common\)\.h' - accept '[ ][*][ ]Reads[/]writes[ ]an[ ]\[almost\][ ]arbitrary[ ]memory[ ]region[ ]in[ ]the[ ]firmware:' drivers/net/ethernet/chelsio/cxgb4/t4_hw.c - accept '[ ][ ][ ][ ]["]failed[ ]to[ ]install[ ]firmware:' drivers/net/ethernet/chelsio/cxgb4/t4_hw.c - accept '[ ][ ]dev_err[(]adap->pdev_dev[,][ ]["]Cannot[ ]find[ ]a[ ]usable[ ]firmware:[ ]["]' drivers/net/ethernet/chelsio/cxgb4/t4_hw.c - accept '[ ]dev_dbg[(]dev[,][ ]["]Sending[ ]component[ ]table[ ]to[ ]firmware:\\n["][)][;]' drivers/net/ethernet/intel/ice/ice_fw_update.c - accept '[ ][*][ ]@firmware:[ ]firmware[ ]structure[ ]when[ ]firmware[ ]requested' drivers/net/ethernet/intel/ice/ice_main.c - accept '[ ][*][ ]@firmware:[ ]\(double[ ]\)\?pointer[ ]to[ ]firmware[ ]struct' drivers/net/ethernet/intel/ice/ice_main.c - accept '[ ][ ][ ]dev_err[(]fw->dev\.dev[,][ ]["]failed[ ]to[ ]request[ ]previous[ ]firmware:' drivers/net/ethernet/marvell/prestera/prestera_pci.c - accept '[ ]dev_info[(][&]pdev->dev[,][ ]["]Control[ ]plane[ ]versions[ ]host:[ ]%llx[,][ ]firmware:' drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_net.c - accept '[ ][ ]dev_info[(]rvu->dev[,][ ]["]Loading[ ]KPU[ ]profile[ ]from[ ]firmware:' drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c - accept 'abort_with_firmware[:]' drivers/net/ethernet/myricom/myri10ge/myri10ge.c - accept '[ ][ ]dev_warn[(][&]pf->pdev->dev[,][ ]["]Couldn[\'"'"']t[ ]unload[ ]firmware:' drivers/net/ethernet/netronome/nfp/nfp_main.c - accept '[ ][ ][ ]["]DMA[ ]mask[ ]of[ ]loaded[ ]firmware:' drivers/net/ethernet/netronome/nfp/nfp_net_common.c - accept '[ ][ ][ ][ ]["]Firmware:' drivers/net/ieee802154/atusb.c - accept '[ ][ ]dev_info[(][&]usb_dev->dev[,][ ]["]Firmware:' drivers/net/ieee802154/atusb.c - accept '[ ][*][ ]Firmware:[ ]ben-wpan[/]atusb[/]fw[/]include[/]atusb[/]atusb\.h' drivers/net/ieee802154/atusb.h - accept 'out_release_firmware:' drivers/net/ipa/ipa_main.c - accept '[ ][/][*][ ]SKB[ ]contents[ ]for[ ]current[ ]firmware:' drivers/net/usb/ax88179_178a.c - accept '[ ][ ]ath10k_err[(]ar[,][ ]["]failed[ ]to[ ]\(ping\|fetch[ ]UTF\)[ ]firmware:' drivers/net/wireless/ath/ath10k/testmode.c - accept '[ ][ ]ath10k_err[(]ar[,][ ]["]failed[ ]to[ ]\(unmap\|initialize\)[ ]firmware:' drivers/net/wireless/ath/ath10k/snoc.c - accept '[ ][ ]ath11k_err[(]ab[,][ ]["]failed[ ]to[ ]unmap[ ]firmware:' drivers/net/wireless/ath/ath11k/ahb.c - accept '[ ][ ]ath11k_err[(]ab[,][ ]["]failed[ ]to[ ]\(start\|pre[ ]init\)[ ]firmware:' drivers/net/wireless/ath/ath11k/core.c - accept '[ ][ ]*ath11k_err[(]ab[,][ ]["]failed[ ]to[ ]\(load[ ]m3\|start\)[ ]firmware:' drivers/net/wireless/ath/ath11k/qmi.c - accept '[ ][ ]ath11k_warn[(]ar->ab[,][ ]["]invalid[ ]nss[ ]ratio[ ]received[ ]from[ ]firmware:' drivers/net/wireless/ath/ath11k/mac.c - accept '[ ][ ]ath12k_err[(]ab[,][ ]["]failed[ ]to[ ]start[ ]firmware:' drivers/net/wireless/ath/ath12k/core.c - accept '[ ][ ]ath12k_err[(]ab[,][ ]["]failed[ ]to[ ]load[ ]m3[ ]firmware:' drivers/net/wireless/ath/ath12k/qmi.c - accept '[ ][ ]ath6kl_err[(]["]Failed[ ]to[ ]write[ ]firmware:' drivers/net/wireless/ath/ath6kl/init.c - accept '[ ]brcmf_info[(]["]Firmware:' drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c - accept '[ ][ ]IPW_DEBUG_ERROR[(]["]%s:[ ]Error[ ]loading[ ]firmware:' drivers/net/wireless/intel/ipw2x00/ipw2100.c - accept '[ ][ ]*IPW_ERROR[(]["]Unable[ ]to[ ]load[ ]\(boot[ ]\)\?firmware:' drivers/net/wireless/intel/ipw2x00/ipw2200.c - accept '[ ][*][ ]The[ ]length[ ]of[ ]this[ ]event[ ]is[ ]hard-coded[ ]in[ ]the[ ]firmware:' drivers/net/wireless/intel/iwlwifi/fw/api/time-event.h - accept '[ ][ ]IWL_ERR[(]mvm[,][ ]["]Failed[ ]to[ ]start[ ]WoWLAN[ ]firmware:' drivers/net/wireless/intel/iwlwifi/mvm/fw.c - accept '[ ][ ][/][*][ ]Failed[ ]to[ ]find[ ]firmware:' drivers/net/wireless/marvell/libertas/firmware.c - accept 'err_stop_firmware:' drivers/net/wireless/marvell/mwl8k.c - accept '[ ][ ]dev_err[(]device[,][ ]["]failed[ ]to[ ]early[ ]request[ ]firmware:' drivers/net/wireless/realtek/rtw89/fw.c - accept '[ ]seq_printf[(]seq[,][ ]["]Firmware:' drivers/net/wireless/st/cw1200/debug.c - accept '[ ][ ]wl1251_error[(]["]could[ ]not[ ]get[ ]firmware:' drivers/net/wireless/ti/wl1251/main.c - accept '[ ][ ]["]VID:%04x[ ]model:%\.[*]s[ ]firmware:' drivers/nvme/host/nvme.h - accept '[ ][ ]["]VID:DID[ ]%04x:%04x[ ]model:%\.[*]s[ ]firmware:' drivers/nvme/host/pci.c - accept '[ ][ ][ ]dev_err[(]dev[,][ ]["]failed[ ]to[ ]set[ ]firmware:' drivers/remoteproc/pru_rproc.c - accept '[ ][*][ ]@firmware:[ ]name[ ]of[ ]firmware[ ]file' drivers/remoteproc/remoteproc_core.c - accept 'release_\(dtb_\)\?firmware:' drivers/remoteproc/qcom_q6v5_pas.c - accept '[ ][ ][ ][ ]["]failed[ ]to[ ]install[ ]firmware:' drivers/scsi/csiostor/csio_hw.c - accept '[ ][ ]csio_err[(]hw[,][ ]["]Cannot[ ]find[ ]a[ ]usable[ ]firmware:[ ]["]' drivers/scsi/csiostor/csio_hw.c - accept '[ ]FW_CAPS16[ ][ ][ ][ ][ ][ ][ ]=[ ]1[,][ ][ ][ ][ ][/][*][ ]old[ ]Firmware:' drivers/scsi/csiostor/csio_hw.h - accept '[ ]FW_CAPS32[ ][ ][ ][ ][ ][ ][ ]=[ ]2[,][ ][ ][ ][ ][/][*][ ]new[ ]Firmware:' drivers/scsi/csiostor/csio_hw.h - accept '[ ][*][ ]Reads[/]writes[ ]an[ ]\[almost\][ ]arbitrary[ ]memory[ ]region[ ]in[ ]the[ ]firmware:' drivers/scsi/csiostor/csio_hw_t5.c - accept '[ ][*][ ]login[ ]through[ ]the[ ]HBA[ ]firmware:' drivers/scsi/lpfc/lpfc_els.c - accept '[ ][*][ ]@ir_firmware:[ ]IR[ ]firmware[ ]present' drivers/scsi/mpt3sas/mpt3sas_base.h - accept '[ ][ ]["]Option[ ]to[ ]specify[ ]location[ ]from[ ]which[ ]to[ ]load[ ]ISP[ ]firmware:' drivers/scsi/qla2xxx/qla_os.c - accept '[ ][ ]printk[(]KERN_\(INFO\|ERR\)[ ]["]qe-firmware:\([ ]firmware\)\?' drivers/soc/fsl/qe/qe.c - accept '[ ][ ][ ]["]qe-firmware:[ ]firmware' drivers/soc/fsl/qe/qe.c - accept '[ ]print_npe[(]KERN_DEBUG[,][ ]npe[,][ ]["]firmware:' drivers/soc/ixp4xx/ixp4xx-npe.c - accept '[ ][*][ ]@firmware:[ ]name[ ]of[ ]the[ ]firmware[,]' drivers/soc/qcom/mdt_loader.c - accept '[ ][ ]dev_err[(][&]pdev->dev[,][ ]["]Register[ ]notifier[ ]version[ ]error\.[ ]Expected[ ]Firmware:' drivers/soc/xilinx/xlnx_event_manager.c - accept '[ ][ ]printf[(]["]Failed[ ]to[ ]load[ ]\(interface\|backend\)[ ]firmware:' drivers/staging/greybus/Documentation/firmware/firmware.c - accept '[ ][ ][*][ ]Release[ ]firmware:' drivers/staging/greybus/bootrom.c - accept '[ ][ ][ ]["]failed[ ]to[ ]load[ ]backend[ ]firmware:' drivers/staging/greybus/fw-management.c - accept '[ ]release_firmware:' drivers/staging/ks7010/ks7010_sdio.c - accept 'error_\(unload\|release\)_firmware:' drivers/staging/media/atomisp/pci/atomisp_v4l2.c - accept '[ ][ ]case[ ]ia_css_isp_firmware:' drivers/staging/media/atomisp/pci/atomisp_compat_css20.c - accept '[ ][ ]case[ ]ia_css_\(isp\|sp\|bootloader\|acc\)_firmware:' drivers/staging/media/atomisp/pci/sh_css_firmware.c - accept '[ ]case[ ]ia_css_\(sp\|acc\|isp\)_firmware:' drivers/staging/media/atomisp/pci/sh_css_sp.c - accept 'bad_firmware:' drivers/staging/media/ipu3/ipu3-css.c - accept '[ ][*][ ]@load_extended_firmware:[ ]optional[ ]call[ ]to[ ]load[ ]additional[ ]firmware[ ]bits' drivers/staging/media/meson/vdec/vdec.h - accept 'release_firmware:' drivers/'media/pci/intel/ipu6/ipu6-isys\|input/touchscreen/atmel_mxt_ts\|staging/media/meson/vdec/vdec_\(1\|hevc\)\)\.c' - accept '[ ]netdev_dbg[(]dev[,][ ]["]Download[ ]Firmware:' drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c - accept '[ ][ ][ ][ ]["]Could[ ]not[ ]download[ ]firmware:' drivers/staging/vt6656/main_usb.c - accept '[ ][ ][ ]printk[(]KERN_WARNING[ ]["]MOXA[ ]firmware:' drivers/tty/moxa.c - accept '[ ]usb_dbg[(]usbatm[,][ ]["]cxacru_find_firmware:' drivers/usb/atm/cxacru.c - accept '[ ][ ][*][ ]Start[ ]to[ ]upload[ ]firmware[ ]:' drivers/usb/atm/ueagle-atm.c - accept '[ ][ ]dev_err[(]tegra->dev[,][ ]["]failed[ ]to[ ]request[ ]firmware:' drivers/usb/host/xhci-tegra.c - accept '[ ][ ][ ][ ]["]failed[ ]to[ ]request[ ]firmware:' drivers/usb/host/xhci-tegra.c - accept '[ ][ ]dev_err[(][&]pdev->dev[,][ ]["]failed[ ]to[ ]load[ ]firmware:' drivers/usb/host/xhci-tegra.c - accept 'free_firmware:' drivers/usb/host/xhci-tegra.c - accept '[ ][ ]dev_err[(]tegra->dev[,][ ]["]failed[ ]to[ ]load[ ]firmware:[ ]%d\\n["][,][ ]err[)][;]' drivers/usb/host/xhci-tegra.c - accept '[ ][ ]dev_err[(][&]dev->dev[,]["]%s[ ]-[ ]error[ ]loading[ ]firmware:[ ]error[ ]=[ ]%d\\n["][,]' drivers/usb/misc/emi'\(26\|62\)\.c' - accept 'check_firmware:' drivers/usb/serial/ti_usb_3410_5052.c - accept 'no_firmware:' drivers/usb/serial/whiteheat.c - accept 'out_release_firmware:' drivers/usb/typec/ucsi/ucsi_ccg.c - accept '[ ]pr_info[(]["]Found[ ]card[ ]at[ ]port[ ]0x%04x[ ][(]Firmware:' drivers/watchdog/pcwd_pci.c - accept '[ ]pr_info[(]["]Found[ ]card[ ][(]Firmware:' drivers/watchdog/pcwd_usb.c - accept '[ ][ ][ ]["]Failed[ ]to[ ]verify[ ]firmware:' drivers/watchdog/ziirave_wdt.c - accept 'release_firmware:' drivers/watchdog/ziirave_wdt.c - accept '[ ][ ]*return[ ]firmware_request_nowait_nowarn[(]module[,][ ]\(NONFREE_FIRMWARE\|name[,][ ]device\)[,]' include/linux/firmware.h - accept '[ ][*][ ]@slow_firmware:[ ]The[ ]device[ ]has[ ]slow[ ]underlying[ ]firmware\.' include/linux/mei_aux.h - accept '[ ][*][ ]@firmware:[ ]name[ ]of[ ]firmware[ ]file[ ]to[ ]be[ ]loaded' include/linux/remoteproc.h - accept '[/][*][ ]Advertise[ ]to[ ]the[ ]NIC[ ]firmware:' include/net/mana/gdma.h - accept '[ ][*][ ]@req_firmware:' lib/test_firmware.c - accept '[ ][ ][*][ ]with[ ]TheFirmware:' net/ax25/ax25_ds_subr.c - accept 'err_release_firmware:' net/ethtool/module.c - accept '[ ][ ][ ][ ][ ][ ][ ][ ]Self[(]bindings::firmware_request_nowarn[)]' rust/kernel/firmware.rs - accept '[/][/][/][ ]#[ ]use[ ]kernel::[{]c_str[,][ ]device::Device[,][ ]firmware::Firmware[}][;]' rust/kernel/firmware.rs - accept '[ ][ ][ ][ ][/][/][/][ ]`bindings::firmware_request_nowarn`\.' rust/kernel/firmware.rs - accept '[ ][ ][ ][ ][ ][ ][ ][ ][/][/][ ]`bindings::firmware::data`[ ]has[ ]a[ ]size[ ]of[ ]`bindings::firmware::size`[ ]bytes\.' rust/kernel/firmware.rs - accept '[ ][ ][ ][ ]firmware:[ ]Option>[,]' rust/macros/module.rs - accept '[ ][ ][ ][ ]kernel-with-firmware:[ ]false' scripts/package/snapcraft.template - accept '[ ][ ]pr_err[(]["]Error[ ]reading[ ]\(db\|dbx\|trustedcadb\|moduledb\)[ ]from[ ]firmware:' security/integrity/platform_certs/load_powerpc.c - accept '[ ]snd_iprintf[(]buffer[,][ ]["]Xilinx[ ]Firmware:' sound/drivers/vx/vx_core.c - accept '[ ][ ]on[ ]BridgeCo[ ]DM1000[/]DM1100[/]DM1500[ ]with[ ]BeBoB[ ]firmware:' sound/firewire/Kconfig - accept '[ ]snd_iprintf[(]buffer[,][ ]["][ ][ ]firmware:' sound/isa/opti9xx/miro.c - accept '[ ]dev_dbg[(]cs35l41->dev[,][ ]["]Loading[ ]WMFW[ ]Firmware:' sound/pci/hda/cs35l41_hda.c - accept '[ ][ ]dev_dbg[(]cs35l56->base\.dev[,][ ]["]Loaded[ ]WMFW[ ]Firmware:' sound/pci/hda/cs35l56_hda.c - accept '[ ][ ][ ]dev_err[(]component->dev[,][ ]["]Failed[ ]to[ ]attach[ ]firmware:' sound/soc/codecs/adau17x1.c - accept '[ ][ ]dev_err[(]sigmadsp->dev[,][ ]["]Failed[ ]to[ ]load[ ]firmware:' sound/soc/codecs/sigmadsp.c - accept '[ ][ ][ ]["]Failed[ ]to[ ]load[ ]firmware:[ ]Invalid[ ]version[ ]%d\.[ ]Supported[ ]firmware[ ]versions' sound/soc/codecs/sigmadsp.c - accept '[ ][/][*][ ]how[ ]to[ ]get[ ]this[ ]firmware:' sound/soc/codecs/zl38060.c - accept 'err_firmware:' sound/soc/fsl/fsl_xcvr.c - accept '[ ][ ][ ]["]Firmware:' sound/soc/sof/ipc3-loader.c - accept '[ ][ ][ ]["]Firmware:' sound/soc/sof/ipc3.c - accept '[ ][ ][ ]*["]unable[ ]to[ ]upload[ ]fpga[ ]firmware:' sound/usb/6fire/firmware.c - - # New in 6.11.2, 6.10.13, 6.6.54, 6.1.113, 5.15.168, 5.10.227, - # 5.4.285, 4.19.323. - accept '[ ][*][ ]It[ ]must[ ]not[ ]contain[ ]any[ ]["]\.\.["][ ]path[ ]components[ ]-[ ]["]foo[/]bar\.\.bin["][ ]is[\n][ ][*][ ]allowed[,][ ]but[ ]["]foo[/]\.\.[/]bar\.bin["][ ]is[ ]not\.' drivers/base/firmware_loader/main.c - # New in 6.11.2. - blobname 'qcom[/]sdx55m[/]foxconn[/]prog_firehose_sdx55\.mbn' drivers/bus/mhi/host/pci_generic.c - blobname 'qcom[/]sdx72m[/]foxconn[/]edl\.mbn' drivers/bus/mhi/host/pci_generic.c - - # New in 6.11.3, 6.10.14, 6.6.55, 6.1.113, 5.15.168, 5.10.227. - blobname 'gsl1680-rwc-nanote-next\.fw' drivers/platform/x86/touchscreen_dmi.c - defsnc 'alc298_samsung_v2_amp_desc_tbl\[\][ ]=' sound/pci/hda/patch_realtek.c - - # New in 6.11.4, 6.6.57, 6.1.113, 5.15.168, 5.10.227, 5.4.285. - defsc 'static[ ]const[ ]unsigned[ ]char[ ]utf8data\[64080\][ ]=' fs/unicode/utf8data.c_shipped - - # New in 6.11.7. - blobname 'mediatek[/]mt7988[/]mt7988_wo_[01]\.bin' drivers/net/ethernet/mediatek/mtk_wed_wo.h - - # New in 6.12-rc. - blobname 'amlogic[/]aml_w155s2_bt_uart\.bin' Documentation/devicetree/bindings/net/bluetooth/amlogic,w155s2-bt.yaml - blobname 'fsl_qe_ucode_qmc_8321_11\.bin' Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-ucc-qmc.yaml - blobname 'ish_lnlm\.bin' Documentation/hid/intel-ish-hid.rst - accept '[ ][ ][ ]]*[/]>' Documentation/userspace-api/media/v4l/mt2110t.svg - accept '[ ][ ][ ]]*[/]>' Documentation/userspace-api/media/v4l/mt2110t.svg - blobname 'qcom[/]sa8775p[/]\(adsp\|\(c\|gp\)dsp[01]\)\.mbn' arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi - blobname 'qcom[/]sdx75[/]modem\(_dtb\)\?\.mbn' arch/arm64/boot/dts/qcom/sdx75-idp.dts - blobname 'qcom[/]sm6115[/]Fxtec[/]QX1050[/]\(a610_zap\|[ac]dsp\|modem\)\.mbn' arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts - blobname 'qcom[/]x1e80100[/]LENOVO[/]21N1[/]\(qc\(dxkmsuc\|[ac]dsp\)8380\.mbn\|[ac]dsp_dtbs\.elf\)' arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts - blobname 'qcom[/]x1e80100[/]microsoft[/]\(qcdxkmsuc8380\|Romulus[/]\(qc[ac]dsp8380\|[ac]dsp_dtb\)\)\.mbn' arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi - accept '[\t][\t]cellwise[,]battery-profile[ ]=[ ][/]bits[/][ ]8[\n][\t ]*<[0-9A-Fx \n\t]*>[;]' arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts - blobname 'ti-pruss[/]am65x-sr2-\(pru\|rtu\|txpru\)[01]-pru\(eth\|hsr\)-fw\.elf' 'arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts\|drivers/net/ethernet/ti/icssg/icssg_prueth.c' - blobname 'ti-pruss[/]am64x-sr2-\(pru\|rtu\|txpru\)[01]-prueth-fw\.elf' arch/arm64/boot/dts/ti/k3-am642-tqma64xxl-mbax4xxl.dts - defsnc 'static[ ]const[ ]u32[ ]vrate_adj_pct\[\][ ]=' block/blk-iocost.c - blobname 'qcom[/]sdx65m[/]foxconn[/]prog_firehose_lite\.elf' drivers/bus/mhi/host/pci_generic.c - blobname 'qcom[/]sdx24m[/]foxconn[/]prog_firehose_sdx24\.mbn' drivers/bus/mhi/host/pci_generic.c - # Sources in gfx_v9_4_3_cleaner_shader.asm - defsnc 'static[ ]const[ ]u32[ ]gfx_9_4_3_cleaner_shader_hex\[\][ ]=[ ][{]' drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3_cleaner_shader.h - defsnc 'static[ ]const[ ]uint32_t[ ]filter_isharp_1D_lut_\([01]\(p5x\)\?\|[123]p0x\)\[ISHARP_LUT_TABLE_SIZE\][ ]=[ ][{]' drivers/gpu/drm/amd/display/dc/spl/dc_spl_isharp_filters.c - defsnc 'static[ ]const[ ]uint16_t[ ]filter_isharp_bs_4tap_in_6_64p\[198\][ ]=[ ][{]' drivers/gpu/drm/amd/display/dc/spl/dc_spl_isharp_filters.c - defsnc 'static[ ]const[ ]uint16_t[ ]filter_isharp_bs_4tap_64p\[132\][ ]=[ ][{]' drivers/gpu/drm/amd/display/dc/spl/dc_spl_isharp_filters.c - defsnc 'static[ ]const[ ]uint16_t[ ]filter_isharp_bs_3tap_64p\[99\][ ]=[ ][{]' drivers/gpu/drm/amd/display/dc/spl/dc_spl_isharp_filters.c - defsnc 'struct[ ]isharp_1D_lut_pregen[ ]filter_isharp_1D_lut_pregen\[NUM_SHARPNESS_SETUPS\][ ]=[ ][{]' drivers/gpu/drm/amd/display/dc/spl/dc_spl_isharp_filters.c - defsnc 'static[ ]const[ ]uint16_t[ ]easf_filter_3tap_64p_ratio_\(0_[3456789]\|1_0\)0\[99\][ ]=[ ][{]' drivers/gpu/drm/amd/display/dc/spl/dc_spl_scl_easf_filters.c - defsnc 'static[ ]const[ ]uint16_t[ ]easf_filter_4tap_64p_ratio_\(0_[3456789]\|1_0\)0\[132\][ ]=[ ][{]' drivers/gpu/drm/amd/display/dc/spl/dc_spl_scl_easf_filters.c - defsnc 'static[ ]const[ ]uint16_t[ ]easf_filter_6tap_64p_ratio_\(0_[3456789]\|1_0\)0\[198\][ ]=[ ][{]' drivers/gpu/drm/amd/display/dc/spl/dc_spl_scl_easf_filters.c - defsnc 'const[ ]VERSION_INFORMATION[:][ ]\[u32[;][ ]34\][ ]=' drivers/gpu/drm/drm_panic_qr.rs - defsnc 'const[ ]\(EXP\|LOG\)_TABLE[:][ ]\[u8[;][ ]256\][ ]=' drivers/gpu/drm/drm_panic_qr.rs - blobname 'a621_gmu\.bin' drivers/gpu/drm/msm/adreno/a6xx_catalog.c - blobname 'a620_zap\.mbn' drivers/gpu/drm/msm/adreno/a6xx_catalog.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(][&]dsi_ctx[,][ ]0xb9[,][ ]0x7c\([, \t\n]*0x[0-9a-fA-F][0-9a-fA-F]\)*[)][;]' drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(][&]dsi_ctx[,][ ]0x70[,][ ]0x12\([, \t\n]*0x[0-9a-fA-F][0-9a-fA-F]\)*[)][;]' drivers/gpu/drm/panel/panel-visionox-vtdr6130.c - defsnc 'static[ ]const[ ]__u8[ ]keytouch_fixed_rdesc\[\][ ]=[ ][{]' drivers/hid/hid-keytouch.c - blobname 'intel[/]ish[/]ish_\(["][ ]gen[ ]["]\|[*]\)\.bin' drivers/hid/intel-ish-hid/ipc/pci-ish.c - blobname 'intel[/]ish[/]ish_%s\(_%08x\)*\.bin' drivers/hid/intel-ish-hid/ishtp/loader.c - accept '[\t]*dev_\(dbg\|info\)[(]dev[,][ ]["][^"]*load[ ]firmware:[ ]%s' drivers/hid/intel-ish-hid/ishtp/loader.c - defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad9643_scale_table\[\]\[2\][ ]=' drivers/iio/adc/ad9467.c - defsnc 'static[ ]const[ ]unsigned[ ]int[ ]aw96103_reg_default\[\][ ]=' drivers/iio/proximity/aw96103.c - blobname 'aw96103_0\.bin' drivers/iio/proximity/aw96103.c - defsnc 'static[ ]const[ ]unsigned[ ]int[ ]hx9023s_samp_freq_table\[\][ ]=' drivers/iio/proximity/hx9023s.c - defsnc 'static[ ]const[ ]u8[ ]hdmi_edid\(_4k_[36]00\)\?\[256\][ ]=' drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c - # These don't appear to be filenames. - accept '[ ]ret[ ]=[ ]extron_send_and_wait_len[(]port->extron[,][ ]port[,][ ]["]W[+]UF256[,]in\.bin["][,]' drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c - accept '[ ]ret[ ]=[ ]extron_send_and_wait[(]port->extron[,][ ]port[,][ ]["]WI1[,]in\.binEDID["][,]' drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c - blobname 'rtl_nic[/]rtl8126a-3\.fw' drivers/net/ethernet/realtek/r8169_main.c - defsnc '[ ]int[ ]pri_thread_map\[8\]\[8\][ ]=' drivers/net/ethernet/ti/cpsw_ale.c - accept 'use[ ]kernel::firmware::Firmware[;]' drivers/net/phy/qt2025.rs - accept '[ ]*firmware[:][ ]\[' drivers/net/phy/qt2025.rs - blobname 'qt2025-2\.0\.3\.3\.fw' drivers/net/phy/qt2025.rs - # Ideally we would change this to reject. - accept '[ ]*let[ ]fw[ ]=[ ]Firmware::request[(]' drivers/net/phy/qt2025.rs - blobname 'rtw89[/]rtw8852bt_fw\(\.bin\)\?' drivers/net/wireless/realtek/rtw89/rtw8852bt.c - blobname '\(adsp\|\(c\|gp\)dsp[01]\)\.mbn' drivers/remoteproc/qcom_q6v5_pas.c - blobname 'renesas_usb_fw\.mem' drivers/usb/host/xhci-pci-renesas.c - defsc 'static[ ]test_params[ ]test_values\[\][ ]=[ ][{]' lib/math/test_mul_u64_u64_div_u64.c - accept '[ ][ ]\.fw_filename[ ]=[ ]["]sof-acp_7_0\.ri["][,]' sound/soc/amd/acp-config.c - defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]init_list\[\][ ]=' sound/soc/codecs/rt1318.c - blobname 'tlv320dac3100-coeffs\.bin' sound/soc/codecs/tlv320aic31xx.c - defsnc '[ ]static[ ]const[ ]u32[ ]IIR_COEF_\(44p1\|48\)_TO_32\[42\][ ]=' sound/soc/mediatek/mt8365/mt8365-dai-i2s.c - defsnc '[ ]static[ ]const[ ]u32[ ]IIR_COEF_\(\(32\|44p1\|48\|96\)_TO_16\|96_TO_44p1\)\[48\][ ]=' sound/soc/mediatek/mt8365/mt8365-dai-i2s.c - accept '[ ][ ]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-acp_7_0\.ri["][,]' sound/soc/sof/amd/pci-acp70.c - accept '[ ][ ]\[SOF_IPC_TYPE_4\][ ]=[ ]["]sof-ptl\.ri["][,]' sound/soc/sof/intel/pci-ptl.c - accept 'dmesg[ ]>[ ]["][$][{]LOG_DIR[}][/]dmesg\.out["]' tools/testing/selftests/net/rds/run.sh - # This is not new, but now we accept '_' as part of numbers. - defsnc 'static[ ]const[ ]unsigned[ ]char[ ][*]const[ ]page_uni2charset\[256\][ ]=' fs/nls/nls_cp\*.c - blobname '["]-["][ ]__stringify[(]RTW8852C_FW_FORMAT_MAX[)][ ]["]\.bin["]' drivers/net/wireless/realtek/rtw89/rtw8852c.c - blobname '["]-["][ ]__stringify[(]RTW8922A_FW_FORMAT_MAX[)][ ]["]\.bin["]' drivers/net/wireless/realtek/rtw89/rtw8922a.c - defsnc 'static[ ]const[ ]u32[ ]rtw8922a_digital_pwr_comp_val\[\]\[DIGITAL_PWR_COMP_REG_NUM\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8922a.c - blobname 'vx[/]%s' sound/drivers/vx/vx_hwdep.c - defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt1320_vc_blind_write\[\][ ]=' sound/soc/codecs/rt1320-sdw.c - blobna '[{][ ]0x[0-9a-f]*[,][ ]0x[0-9a-f][0-9a-f][ ][}][,]\(\([\n][\t][{][ ]0x[0-9a-f]*[,][ ]0x[0-9a-f][0-9a-f][ ][}][,]\)*[\n][\t][{][ ]SDW_SDCA_CTL[(]FUNC_NUM_AMP[,][ ]RT1320_SDCA_ENT_PDE23[,][ ]RT1320_SDCA_CTL_REQ_POWER_STATE[,][ ]0[)][,][ ]0x[0-9a-f][0-9a-f][ ][}][,]\)\+' sound/soc/codecs/rt1320-sdw.c - accept '[\t]r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->umsch_mm\.fw[,][ ]["]%s["][,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->uvd\.fw[,][ ]["]%s["][,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vce\.fw[,][ ]["]%s["][,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c - - # New in 6.12.2, 6.11.11. - blobname 'qcom[/]qcs6490[/]modem\.mbn' arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts - - # New in 6.12.5. - # Sources in gfx_v9_4_2_cleaner_shader.asm - defsnc 'static[ ]const[ ]u32[ ]gfx_9_4_2_cleaner_shader_hex\[\][ ]=' drivers/gpu/drm/amd/amdgpu/gfx_v9_0_cleaner_shader.h - - # New in 6.13-rc. - blobname 'qcom[/]msm8998[/]LENOVO[/]81F1[/]qc\(adsp\|slpi\)8998\.mbn' arch/arm64/boot/dts/qcom/msm8998-lenovo-miix-630.dts - blobname 'qcom[/]sc8280xp[/]MICROSOFT[/]SurfacePro9[/]qc\(dxkmsuc\|[ac]dsp\)8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts - blobname 'qcom[/]sda660[/]\(a512_zap\|mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts - blobname 'qcom[/]sm7325[/]nothing[/]spacewar[/]\(a660_zap\|ipa_fws\|[ac]dsp\|modem\|wpss\|vpu20_1v\)\.mbn' arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts - blobname 'qcom[/]x1e80100[/]dell[/]xps13-9345[/]qc\(dxkmsuc\|[ac]dsp\)8380\.mbn' arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts - blobname 'qcom[/]x1e80100[/]dell[/]xps13-9345[/][ac]dsp_dtbs\.elf' arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts - initnc '\.L0[:][\t]\.long[\t][\t]0xddc0152b[,][ ]' arch/arm64/lib/crc32.S - initnc '\.L1[:][\t]\.long[\t][\t]0xaf449247[,][ ]' arch/arm64/lib/crc32.S - blobname '\(intel[/]vpu[/]\)\?vpu_50xx\(_v0\.0\)\?\.bin' drivers/accel/ivpu/ivpu_fw.c - blobname 'uart\(8987\|iw416\)_bt\.bin' drivers/bluetooth/btnxpuart.c - blobname 'uartspi_iw610\.bin\(\.se\)\?' drivers/bluetooth/btnxpuart.c - # Sources in gfx_v11_0_3_cleaner_shader.asm. - defsnc 'static[ ]const[ ]u32[ ]gfx_11_0_3_cleaner_shader_hex\[\][ ]=' drivers/gpu/drm/amd/amdgpu/gfx_v11_0_cleaner_shader.h - blobname 'a663_gmu\.bin' drivers/gpu/drm/msm/adreno/a6xx_catalog.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(][&]dsi_ctx[,][ ]HX83112A_SETDGCLUT[,][\n][ \t]*0xff[,][ ]0xfe[,][ ]0xfb[,][ ]0xf8[,][ ]0xf4[,][ ]0xf1[,][ ]0xed[,][ ]0xe6[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx83112a.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(][&]dsi_ctx[,][ ]HX83112A_SETGIP0[,][\n][ \t]*0x80[,][ ]0x00[,][ ]0x00[,][ ]0x00[,][ ]0x00[,][ ]0x01[,][ ]0x00[,][ ]0x08[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx83112a.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(][&]dsi_ctx[,][ ]HX83112A_SETGIP[12][,][\n][ \t]*0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx83112a.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(]dsi_ctx[,][ ]\(0xd3[,][ ]0x00[,][ ]0x00[,][ ]0x07\|0xd5[,][ ]0x19[,][ ]0x19[,][ ]0x18\|0xd6[,][ ]0x18[,][ ]0x18[,][ ]0x19\|0xe0[,][ ]0x00[,][ ]0x03[,][ ]0x09\|0xc8[,][ ]0x7f[,][ ]0x72\)[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(][&]ctx[,][ ]0xca\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-samsung-s6e3ha8.c - defsc 'static[ ]const[ ]u8[ ]s6e88a0_ams427ap24_gamma\[NUM_STEPS_CANDELA\]\[VAR_LEN_GAMMA\][ ]=' drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c - accept '[ ]drm_printf[(]p[,][ ]["]GuC[ ]firmware:' drivers/gpu/drm/xe/xe_uc_fw.c - defsnc 'static[ ]struct[ ]imx_i2c_clk_pair[ ]s32g2_i2c_clk_div\[\][ ]=' drivers/i2c/busses/i2c-imx.c - # This might be pure data, but how could we tell? Drop it. - blobname 'bmi2[67]0-init-data\.fw' drivers/iio/imu/bmi270/bmi270_core.c - accept '[\t]error[ ]=[ ]request_firmware[(][&]fw[,][ ]fw_name[,]\([^\n]*[\n]\+[^\n}]\)*error[ ]=[ ]rmi_firmware_update[(]data[,][ ]fw[)]' drivers/input/rmi4/rmi_f34.c - defsnc '[\t]static[ ]const[ ]u16[ ]hsfreqrange_table\[\]\[2\][ ]=' drivers/media/platform/raspberrypi/rp1-cfe/dphy.c - defsnc 'lan969x_taxi_ports\[LAN969X_DSM_CAL_TAXIS\]\[LAN969X_DSM_CAL_DEVS_PER_TAXI\][ ]=' drivers/net/ethernet/microchip/sparx5/lan969x/lan969x_calendar.c - blobname 'rtl_nic[/]rtl8125d-1\.fw' drivers/net/ethernet/realtek/r8169_main.c - defsnc '[\t]static[ ]const[ ]u16[ ]toshiba_smid1\[\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c - blobname 'rtw88[/]rtw8812a_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8812a.c - defsnc 'static[ ]const[ ]u32[ ]rtw8812a_\(mac\|agc\(_diff_[lh]b\)\?\|bb\|rf_[ab]\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8812a_table.c - defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8812a_\(bb_pg\(_rfe3\)\?\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8812a_table.c - defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8812a_txpwr_lmt\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8812a_table.c - defsnc 'static[ ]const[ ]u8[ ]rtw8812a_pwrtrk_\(rfe3_\)\?5g[ba]_[np]\[\]\[RTW_PWR_TRK_TBL_SZ\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8812a_table.c - blobname 'rtw88[/]rtw8821a_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8821a.c - defsnc 'static[ ]const[ ]u32[ ]rtw8821a_\(mac\|agc\|bb\|rf_[ab]\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821a_table.c - defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8821a_bb_pg\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821a_table.c - defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8821a_txpwr_lmt\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821a_table.c - defsnc 'static[ ]const[ ]u8[ ]rtw8821a_pwrtrk_5g[ba]_[np]\[\]\[RTW_PWR_TRK_TBL_SZ\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821a_table.c - defsnc 'static[ ]const[ ]u32[ ]rtw8821a_\(mac\|agc\|bb\|rf_[ab]\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821a_table.c - defsnc 'static[ ]const[ ]u32[ ]rtw88xxa_txscale_tbl\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw88xxa.c - defsnc 'static[ ]const[ ]struct[ ]clk_impedance[ ]imp_lookup\[\][ ]=' drivers/phy/st/phy-stm32-combophy.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]qcs615_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-qcs615.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]qcs8300_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-qcs8300.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sar2130p_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sar2130p.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8750_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8750.c - blobname 'gsl1680-sary-tab-3\.fw' drivers/platform/x86/touchscreen_dmi.c - defsnc 'static[ ]const[ ]struct[ ]dvfsrc_opp[ ]dvfsrc_opp_mt8195_lp4\[\][ ]=' drivers/soc/mediatek/mtk-dvfsrc.c - defsnc '[}][ ]test_div64_results\[SIZE_DIV64_DIVIDENDS\]\[SIZE_DIV64_DIVISORS\][ ]=' lib/math/test_div64.c - # These still appears to be data. - accept '[\t][\t]snprintf[(]tas_priv->coef_binaryname[,][\n][\t ]*sizeof[(]tas_priv->coef_binaryname[)][,][\n][\t ]*["]TAS2XXX%04X\(%d\)\?\.bin["]' sound/pci/hda/tas2781_hda_i2c.c - accept 'static[ ]int[ ]aw88081_request_firmware_file[(]struct' sound/soc/codecs/aw88081.c - accept '[\t]ret[ ]=[ ]aw88081_request_firmware_file[(]aw88081[)]' sound/soc/codecs/aw88081.c - accept '[\t]*["]aw88081_request_firmware_file[ ]failed' sound/soc/codecs/aw88081.c - blobname 'aw88081_acf\.bin' sound/soc/codecs/aw88081.h - defsnc 'static[ ]const[ ]struct[ ]cs42l84_pll_params[ ]pll_ratio_table\[\][ ]=' sound/soc/codecs/cs42l84.c - blobname 'eq_8835\.bin' sound/soc/codecs/ntp8835.c - blobname 'eq_8918\.bin' sound/soc/codecs/ntp8918.c - accept '[\t][\t]dev_err[(]dev[,][ ]["]Failed[ ]to[ ]load[ ]firmware:' sound/soc/codecs/ntpfw.c - accept '[\t][\t]dev_warn[(]dev[,][ ]["]request_firmware[ ]' sound/soc/codecs/ntpfw.c - blobname 'realtek[/]rt1320[/]rt1320-patch-code-v\(ab\|c\)\.bin' sound/soc/codecs/rt1320-sdw.h - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt721_sdca_\(reg\|mbq\)_defaults\[\][ ]=' sound/soc/codecs/rt721-sdca-sdw.h - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]sma1307_reg_def\[\][ ]=' sound/soc/codecs/sma1307.c - defsnc 'struct[ ]testcase[ ]push_tests\[NUM_PUSH_TESTS\][ ]=' tools/testing/selftests/bpf/prog_tests/test_csum_diff.c - defsnc 'struct[ ]testcase[ ]pull_tests\[NUM_PULL_TESTS\][ ]=' tools/testing/selftests/bpf/prog_tests/test_csum_diff.c - # A pattern for acenic.c's ace_clear matches this; preempty it. - accept '[\t]board->interface->interface_clear[(]board[,][ ]0[)][;]' drivers/staging/gpib/common/iblib.c - # Author confirmed it's pure data. - accept 'static[ ]const[ ]char[ ][*]setting_file[ ]=[ ]["]sma1307_setting\.bin["][;]' sound/soc/codecs/sma1307.c - accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]file[,][ ]sma1307->dev[)][;]' sound/soc/codecs/sma1307.c - blobname 'qcom[/]qcm6490[/]a660_zap\.mbn' arm64/boot/dts/qcom/qcm6490-idp.dts - blobname 'qcom[/]qcs6490[/]a660_zap\.mbn' arm64/boot/dts/qcom/qcs6490-rb3gen2.dts - accept '[\t]ivpu_info[(]vdev[,][ ]["]Firmware[:][ ]%s' drivers/accel/ivpu/ivpu_fw.c - blobname 'atmel[/]wilc3000_wifi_firmware-\([0-9]\+\.bin\)\?' drivers/net/wireless/microchip/wilc1000/netdev.c - # New in 6.13. - blobname 'https:[/][/]git[^"\n]*firmware\.git' Documentation/sound/codecs/cs35l56.rst - accept '[ ]*\[[ ]9\.[0-9]*\][ ]cs35l56[^\n]*:[ ]DSP1:[ ]Firmware[:]' Documentation/sound/codecs/cs35l56.rst - blobname 'cirrus[/]cs35l56-[^-"\n ]*-dsp1-misc[^"\n .]*\(\.\(wmfw\|bin\)\)\?' Documentation/sound/codecs/cs35l56.rst - blob 'Firmware[\n][=]\+[\n][\n]The[ ]amplifier.*internal[ ]speakers\.' Documentation/sound/codecs/cs35l56.rst - - # New in 6.13.2, 6.12.13. - blobname 'qcom[/]x1e80100[/]microsoft[/]Romulus[/][ac]dsp_dtbs\.elf' arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi - - # New in 6.13.3, 6.12.14. - blobname 'iwlwifi-[db]r-a0-pe\(tc\)\?-a0' drivers/net/wireless/intel/iwlwifi/cfg/dr.c - blobname 'iwlwifi-[^ ]*-[ab]0-' 'drivers/net/wireless/intel/iwlwifi/cfg/[^/]*\.c' - - # New in 6.13.5, 6.12.17, 6.6.80. - accept '[\t]*snprintf[(]fwname[ ][+][ ][(]suffix[ ]-[ ]filename[)][,][\n\t ]*sizeof[(]fwname[)][ ]-[ ][(]suffix[ ]-[ ]filename[)][,][ ]["]\.bin["]' drivers/bluetooth/btqca.c - blobname 'qca[/]%s\(%02x\)\?%s\.\(bin\|%s%02x\)' drivers/bluetooth/btqca.c - blobname 'qca[/]%s' drivers/bluetooth/btqca.c - - # New in 6.13.6, 6.12.18, 6.6.81. These are hashes of known - # microcode releases, for accident-avoidance purposes. - # Non-matching microcode versions could be loaded with a kernel - # option, if we allowed them to be loaded at all. Since we don't, - # these are not useful for us, but there's no need to remove them. - defsnc 'static[ ]const[ ]struct[ ]patch_digest[ ]phashes\[\][ ]=' arch/x86/kernel/cpu/microcode/amd_shas.c - - # New in 6.14-rc. - blobname 'qcom[/]sc7180-trogdor[/]modem[/]modem\.mbn' Documentation/devicetree/bindings/net/qcom,ipa.yaml - accept '[ ][ ]firmware[:][\n][ ][ ][ ][ ][$]ref:[ ][/]schemas[/]types\.yaml' Documentation/devicetree/bindings/power/raspberrypi,bcm2835-power.yaml - accept 'domain[ ][ ][ ][0-9 ]*' Documentation/scheduler/sched-stats.rst - accept '[\t]firmware[:][ ]firmware[ ][{]' arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts - blobname 'qcom[/]qcs8300[/]\(adsp\|\(c\|gp\)dsp0\)\.mbn' arch/arm64/boot/dts/qcom/qcs8300-ride.dts - blobname 'qcom[/]sar2130p[/]\(a620_zap\|adsp\)\.mbn' arch/arm64/boot/dts/qcom/sar2130p-qar2130p.dts - blobname 'qcom[/]sc8280xp[/]HUAWEI[/]gaokun3[/]qc\([ac]dsp\|dxkmsuc\)8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dts - blobname 'qcom[/]sc8280xp[/]microsoft[/]blackrock[/]qc\(dxkmsuc\|[ac]dsp\)8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts - blobname 'qcom[/]sdm670[/]sargo[/]a615_zap\.mbn' arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts - blobname 'qcom[/]sm8350[/]ipa_fws\.mbn' arch/arm64/boot/dts/qcom/sm8350-hdk.dts - blobname 'qcom[/]x1e80100[/]Thundercomm[/]DEVKIT[/]qc\(dxkmsuc\|[ac]dsp\)8380\.mbn' arch/arm64/boot/dts/qcom/x1e001de-devkit.dts - blobname 'qcom[/]x1e80100[/]Thundercomm[/]DEVKIT[/][ac]dsp_dtbs\.elf' arch/arm64/boot/dts/qcom/x1e001de-devkit.dts - blobname 'qcom[/]x1e80100[/]ASUSTeK[/]vivobook-s15[/]qcdxkmsuc8380\.mbn' arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts - blobname 'qcom[/]x1e80100[/]hp[/]omnibook-x14[/]qc\(dxkmsuc\|[ac]dsp\)8380\.mbn' arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts - blobname 'qcom[/]x1e80100[/]hp[/]omnibook-x14[/][ac]dsp_dtbs\.elf' arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts - accept '[\t][\t]XDNA_ERR[(]xdna[,][ ]["]failed[ ]to[ ]request_firmware[ ]%s' drivers/accel/amdxdna/aie2_pci.c - # These don't seem to pertain to any actual firmware file. - defsnc '[\t]static[ ]const[ ]u8[ ]\(word_offsets\|offset_words\)\[\][ ]=' drivers/firmware/cirrus/test/cs_dsp_test_bin\.c - accept '[ ][*][ ]7ac1102b227b[ ][(]["]firmware[:][ ]cs_dsp[:]' drivers/firmware/cirrus/test/cs_dsp_test_control_parse.c - defsnc '[\t]static[ ]const[ ]unsigned[ ]int[ ]random_offsets\[\][ ]=' drivers/firmware/cirrus/test/cs_dsp_test_wmfw.c - accept '[\t ]*[*][ ]The[ ]amdgpu_ucode_request[(][)][ ]should[ ]be[ ]paired' drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c - blobname 'amdgpu[/]vcn_5_0_1\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - # Sources in gfx_v10_3_0_cleaner_shader.asm. - defsnc 'static[ ]const[ ]u32[ ]gfx_10_3_0_cleaner_shader_hex\[\][ ]=' drivers/gpu/drm/amd/amdgpu/gfx_v10_0_cleaner_shader.h - # Sources in cwsr_trap_handler_gfx9.asm. - defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx9_5_0_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h - defsnc 'static[ ]const[ ]unsigned[ ]char[ ]test_edid_hdmi_1080p_rgb_max_100mhz\[\][ ]=' drivers/gpu/drm/tests/drm_kunit_edid.h - blobname 'hx9023s\.bin' drivers/iio/proximity/hx9023s.c - blobname 'rtl_nic[/]rtl8125\(d\|bp\)-2\.fw' drivers/net/ethernet/realtek/r8169_main.c - blobname 'mediatek[/]mt7996[/]mt7996_\(w[am]\|rom_patch\)_233\.bin' drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h - blobname 'mediatek[/]mt7996[/]mt7992_\(w[am]\|dsp\|rom_patch\)_23\.bin' drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h - blobname 'mediatek[/]mt7996[/]mt7996_eeprom_\(2i5i6i\|233\(_2i5i6i\)\?\)\.bin' drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h - blobname 'mediatek[/]mt7996[/]mt7992_eeprom_\(2i5[ie]\|23\(_2i5i\)\?\)\.bin' drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h - defsnc 'static[ ]const[ ]u16[ ]t10_dif_crc_table\[256\][ ]=' lib/crc-t10dif.c - accept '[ ]*ABCDEFGHIJKLMNOPQRSTUVWXYZ\[[\\][\\]\]\^_[`]abcdefghijklmnopqrstuvwxyz[{][|][}][~]\([\\]\([\n][ \t]*[\\]\)\?[\\]x[789][0-9a-f]\)*' rust/kernel/str.rs - defsnc 'static[ ]const[ ]uint32_t[ ]crctab32\[\][ ]=' scripts/genksyms/genksyms.c - blobname '\(%sRCA%d\|TAS2XXX%08X-%01d\)\.bin' sound/pci/hda/tas2781_hda_spi.c - accept '[ \t]*["][/]tmp[/][$][{]\(listener_ns\|ns3\)[}]\.out["][ ]["][/]tmp[/][$][{]\(connector_ns\|ns1\)[}]\.out["]' tools/testing/selftests/net/mptcp/'mptcp_\(connect\|join\|sockopt\|simult_flows\)\.sh' - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->umsch_mm\.fw[,][ ]AMDGPU_UCODE_REQUIRED[,][\n][\t]*[ ]*["]%s["][,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->uvd\.fw[,][ ]AMDGPU_UCODE_REQUIRED[,][ ]["]%s["][,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vce\.fw[,][ ]AMDGPU_UCODE_REQUIRED[,][ ]["]%s["][,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c - accept '[\t][\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vcn\.inst\[i\]\.fw[,]' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - accept '[\t ]*["]logging[ ]buffers[ ]migrated[ ]to[ ][/]sys[/]kernel[/]debug[/]nouveau[/]%s' gpu/drm/nouveau/nvkm/subdev/gsp/r535.c - blobna '\(MODULE_FIRMWARE[(]pfx[ ]["][-]["][ ]__stringify[(]api[)][ ]["]\.ucode["][)][;][\t][\\][\n][\t]\)\?MODULE_FIRMWARE[(]pfx[ ]["]\.pnvm["][)]' drivers/net/wireless/intel/iwlwifi/iwl-config.h - - # New in 6.14.3, 6.13.12, 6.12.24. - blobname 'qca[/]c[rm]nv%02x%s\.bin' drivers/bluetooth/btqca.c - blobname 'qca[/]cmbtfw%02x\.tlv' drivers/bluetooth/btqca.c - - # These are not new, but we're cleaning them up starting from - # 6.14.4, 6.12.25, 6.6.88, 6.1.135. - # SOF binary distributions contain some tivoized files, signed - # with a secret key that some hardware relies on to reject - # modified versions. That's Tivoization, and it renders the - # program nonfree in that context, and that context happens to be - # the primary context the program aims for, so we consider it - # nonfree. Other programs in there, and their source code, are - # free software, but a single nonfree program in a set is enough - # to render the set nonfree, and for GNU FSDG-compliant distros to - # avoid linking to the set. - blobna 'https\?[:][/][/][^ \t\n]*[/]thesofproject[/]sof-bin[/]releases' Documentation/sound/codecs/cs35l56.rst - blobna 'https\?[:][/][/][^ \t\n]*[/]thesofproject[/]sof-bin[/]\?' sound/soc/sof/'\(fw-file-profile\|loader\)\.c' - blobna 'Check[ ]if[ ]you[ ]have[ ][\'"'"']sof-firmware[\'"'"'][ ]package[ ]installed' sound/soc/sof/fw-file-profile.c - blobna 'thesofproject[/]sof-bin' sound/soc/sof/'\(fw-file-profile\|loader\)\.c' - blobna 'sof-firmware' sound/soc/sof/fw-file-profile.c - accept '[\t]dev_info[(]dev[,][ ]["][/][*][(]DEBLOBBED[)][*][/][.][\\]n["][)][;]' sound/soc/sof/fw-file-profile.c - - # New in 6.14.7, 6.12.29, 6.6.91, 6.1.139. - blobna 'This[ ]is[^\n]*IPU[ ]2025\.1[ ]microcode[,][ ]which[\n][^\n]*Alternatively[ ]microcode[ ]can[ ]be[\n][^\n]*repository[ ]\[[#]f1\]_\.' Documentation/admin-guide/hw-vuln/indirect-target-selection.rst - blobna 'Microcode[ ]repository[ ]-[ ]http[^\n]*[/]Intel-Linux-Processor-Microcode-[^\n/ ]*-Files' Documentation/admin-guide/hw-vuln/indirect-target-selection.rst - - # New in 6.15-rc, 6.14.9, 6.12.31. - # The variable name is very suspicious, but the short sequence of - # nearly-sorted small numbers doesn't seem to be executable code. - defsnc '[\t]unsigned[ ]char[ ]modified_fix_code\[\][ ]=' arch/arm/mach-at91/pm.c - blobname 'tehuti[/]aqr105-tn40xx\.cld' drivers/net/ethernet/tehuti/tn40_mdio.c - defsnc 'const[ ]struct[ ]rtw89_fw_blacklist[ ]rtw89_fw_blacklist_default[ ]=' drivers/net/wireless/realtek/rtw89/fw.c - # Sources in gfx_v10_1_10_cleaner_shader.asm. - defsnc 'static[ ]const[ ]u32[ ]gfx_10_1_10_cleaner_shader_hex\[\][ ]=' drivers/gpu/drm/amd/amdgpu/gfx_v10_0_cleaner_shader.h - - #Trisquel changes - # New in 6.15.4, 6.12.35. - blobname '\(intel[/]vpu[/]\)\?vpu_\(37\|[45]0\)xx_v1\.bin' drivers/accel/ivpu/ivpu_fw.c - - # New in 6.15.5. - blobname 'amdgpu[/]%s_sos_kicker\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - blobname 'amdgpu[/]%s_ta_kicker\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - blobname 'amdgpu[/]%s_rlc_kicker\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c - blobname 'amdgpu[/]%s_imu_kicker\.bin' drivers/gpu/drm/amd/amdgpu/imu_v11_0.c - blobname 'amdgpu[/]%s_kicker\.bin' drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c - # The following is not new, it was just moved down to allow for - # new patterns to match despite being prefixed by it, when using - # non-NDA regexp engines. - blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - - # New in 6.16.1 and 6.15.10. - accept '[\t]pas->firmware[ ]=' drivers/remoteproc/qcom_q6v5_pas.c - accept '[\t ]*dev_err[(]pas->dev[,][ ]["]request_firmware[ ]failed' drivers/remoteproc/qcom_q6v5_pas.c - blobname 'imx[/]xcvr[/]xcvr-imx95\.bin' sound/soc/fsl/fsl_xcvr.c - - # New in 6.16-rc. - blobname 'qcom[/]sc8280xp[/]LENOVO[/]21BX[/]qcslpi8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts - blobname 'qcom[/]sc8280xp[/]LENOVO[/]21BX[/]qcvss8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts - # EOT - - # Add new patterns above. ;; */*freedo*.patch | */*logo*.patch) @@ -8081,7 +7091,6 @@ set_except () { blobna 'equest_partial_firmwar' blobna 'equest_ihex_firmwar' blobna 'irmware_reques' # catch _nowarn; also caches _cache, but that's ok. - blobna 'irmware[ ]*:' # rust fw loading bindings, and module fw specs. blobna 'ucode_reques' # catch amdgpu_ucode_request. # Catch request_firmare misdeblobbed by the above. blobname 'r[/][*][(]DEBLOBBED[)][*][/]e' @@ -8091,7 +7100,7 @@ set_except () { blobna 'DEFAULT_FIRMWARE' blobna '\([.]\|->\)firmware[ \n]*=[^=]' blobna 'mod_firmware_load' # sound/ - blobname '[.]\(\(fw\|bin\)[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\|tftf\|out\|nffw\|mdt\|mfa2\?\|ri\|tplg\|itb\|cyacd\|mbn\|tlv\|sfi\|grp\|bin\.se\|wmfw\)[\\]\?["]' + blobname '[.]\(\(fw\|bin\)[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\|tftf\|out\|nffw\|mdt\|mfa2\?\|ri\|tplg\|itb\|cyacd\|mbn\|tlv\|sfi\|grp\|bin\.se\)[\\]\?["]' # WIP ends with [\\]\?[][}{)(><,;:.!?% \t\n"`\'"'"']' # Catch misdeblobbed fw extension. blobname '["]\([^" \t\n/]*[/][/]*\)*[*][(]DEBLOBBED[)][*][/][^"\\]' @@ -8104,7 +7113,7 @@ set_except () { } # Regular expression that matches a literal constant. -constx="[0-9][0-9a-fA-FxX_]*" +constx="[0-9][0-9a-fA-FxX]*" # Regular expression that matches a separator between consecutive # literal constants. sepx="\\([ \\n]*\\(\\([ \\n]\\|[,:{}LlUu\"\'\\\\][,:{} \\nLlUu\"\'\\\\]*\\)[xX\$]\\?\\|[.][a-zA-Z][a-zA-Z0-9]*[ ][ ]*[\$]\\?\\)\\)" diff --git a/helpers/DATA/linux-hwe-6.5/enable_blobless_activation_radeon.patch b/helpers/DATA/linux-hwe-6.5/enable_blobless_activation_radeon.patch new file mode 100644 index 0000000..ba0f092 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/enable_blobless_activation_radeon.patch @@ -0,0 +1,227 @@ +Based on https://libreplanet.org/wiki/Group:Hardware/research/gpu/radeon + +diff -ru source.orig/drivers/gpu/drm/radeon/btc_dpm.c source/drivers/gpu/drm/radeon/btc_dpm.c +--- source.orig/drivers/gpu/drm/radeon/btc_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/btc_dpm.c 2023-02-13 15:50:41.218608376 -0500 +@@ -2437,7 +2437,6 @@ + ret = rv770_upload_firmware(rdev); + if (ret) { + DRM_ERROR("rv770_upload_firmware failed\n"); +- return ret; + } + ret = cypress_get_table_locations(rdev); + if (ret) { +diff -ru source.orig/drivers/gpu/drm/radeon/ci_dpm.c source/drivers/gpu/drm/radeon/ci_dpm.c +--- source.orig/drivers/gpu/drm/radeon/ci_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/ci_dpm.c 2023-02-13 15:53:38.591724496 -0500 +@@ -5157,7 +5157,6 @@ + ret = ci_upload_firmware(rdev); + if (ret) { + DRM_ERROR("ci_upload_firmware failed\n"); +- return ret; + } + ret = ci_process_firmware_header(rdev); + if (ret) { +diff -ru source.orig/drivers/gpu/drm/radeon/cik.c source/drivers/gpu/drm/radeon/cik.c +--- source.orig/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:21:35.174999782 -0500 ++++ source/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:47:37.149601121 -0500 +@@ -8285,7 +8285,6 @@ + r = ci_mc_load_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load MC firmware!\n"); +- return r; + } + } + +@@ -8591,7 +8590,6 @@ + r = cik_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + } else { +@@ -8601,7 +8599,6 @@ + r = cik_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + } +@@ -8668,7 +8665,6 @@ + */ + if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) { + DRM_ERROR("radeon: MC ucode required for NI+.\n"); +- return -EINVAL; + } + + return 0; +diff -ru source.orig/drivers/gpu/drm/radeon/cypress_dpm.c source/drivers/gpu/drm/radeon/cypress_dpm.c +--- source.orig/drivers/gpu/drm/radeon/cypress_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/cypress_dpm.c 2023-02-13 15:50:25.130869935 -0500 +@@ -1862,7 +1862,6 @@ + ret = rv770_upload_firmware(rdev); + if (ret) { + DRM_ERROR("rv770_upload_firmware failed\n"); +- return ret; + } + + ret = cypress_get_table_locations(rdev); +diff -ru source.orig/drivers/gpu/drm/radeon/evergreen.c source/drivers/gpu/drm/radeon/evergreen.c +--- source.orig/drivers/gpu/drm/radeon/evergreen.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/evergreen.c 2023-02-13 15:47:50.457384749 -0500 +@@ -5018,7 +5018,6 @@ + r = ni_mc_load_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load MC firmware!\n"); +- return r; + } + } + +@@ -5235,7 +5234,6 @@ + r = ni_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + } else { +@@ -5243,7 +5241,6 @@ + r = r600_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + } +@@ -5289,7 +5286,6 @@ + if (ASIC_IS_DCE5(rdev)) { + if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) { + DRM_ERROR("radeon: MC ucode required for NI+.\n"); +- return -EINVAL; + } + } + +diff -ru source.orig/drivers/gpu/drm/radeon/ni.c source/drivers/gpu/drm/radeon/ni.c +--- source.orig/drivers/gpu/drm/radeon/ni.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/ni.c 2023-02-13 15:46:45.402442454 -0500 +@@ -2163,7 +2163,6 @@ + r = ni_mc_load_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load MC firmware!\n"); +- return r; + } + } + +@@ -2390,7 +2389,6 @@ + r = ni_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + } else { +@@ -2398,7 +2396,6 @@ + r = ni_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + } +@@ -2453,7 +2450,6 @@ + */ + if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) { + DRM_ERROR("radeon: MC ucode required for NI+.\n"); +- return -EINVAL; + } + + return 0; +diff -ru source.orig/drivers/gpu/drm/radeon/r100.c source/drivers/gpu/drm/radeon/r100.c +--- source.orig/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:21:35.174999782 -0500 ++++ source/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:49:15.548001277 -0500 +@@ -1134,7 +1134,6 @@ + r = r100_cp_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + +diff -ru source.orig/drivers/gpu/drm/radeon/r600.c source/drivers/gpu/drm/radeon/r600.c +--- source.orig/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:21:35.174999782 -0500 ++++ source/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:46:07.291062125 -0500 +@@ -3299,7 +3299,6 @@ + r = r600_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + +diff -ru source.orig/drivers/gpu/drm/radeon/rv770.c source/drivers/gpu/drm/radeon/rv770.c +--- source.orig/drivers/gpu/drm/radeon/rv770.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/rv770.c 2023-02-13 15:26:54.385808292 -0500 +@@ -1966,7 +1966,6 @@ + r = r600_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + +diff -ru source.orig/drivers/gpu/drm/radeon/rv770_dpm.c source/drivers/gpu/drm/radeon/rv770_dpm.c +--- source.orig/drivers/gpu/drm/radeon/rv770_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/rv770_dpm.c 2023-02-13 15:50:13.591057564 -0500 +@@ -1948,12 +1948,10 @@ + ret = rv770_upload_firmware(rdev); + if (ret) { + DRM_ERROR("rv770_upload_firmware failed\n"); +- return ret; + } + ret = rv770_init_smc_table(rdev, boot_ps); + if (ret) { + DRM_ERROR("rv770_init_smc_table failed\n"); +- return ret; + } + + rv770_program_response_times(rdev); +diff -ru source.orig/drivers/gpu/drm/radeon/si.c source/drivers/gpu/drm/radeon/si.c +--- source.orig/drivers/gpu/drm/radeon/si.c 2023-02-13 15:21:35.178999717 -0500 ++++ source/drivers/gpu/drm/radeon/si.c 2023-02-13 15:47:00.042204445 -0500 +@@ -6619,7 +6619,6 @@ + r = si_mc_load_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load MC firmware!\n"); +- return r; + } + } + +@@ -6867,7 +6866,6 @@ + r = si_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + +@@ -6926,7 +6924,6 @@ + */ + if (!rdev->mc_fw) { + DRM_ERROR("radeon: MC ucode required for NI+.\n"); +- return -EINVAL; + } + + return 0; +diff -ru source.orig/drivers/gpu/drm/radeon/si_dpm.c source/drivers/gpu/drm/radeon/si_dpm.c +--- source.orig/drivers/gpu/drm/radeon/si_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/si_dpm.c 2023-02-13 15:53:00.844338238 -0500 +@@ -6366,7 +6366,6 @@ + ret = si_upload_firmware(rdev); + if (ret) { + DRM_ERROR("si_upload_firmware failed\n"); +- return ret; + } + ret = si_process_firmware_header(rdev); + if (ret) { diff --git a/helpers/DATA/linux/001-revert_iwlwifi_clear_firmware1.patch b/helpers/DATA/linux-hwe-6.5/revert_iwlwifi_clear_firmware1.patch similarity index 100% rename from helpers/DATA/linux/001-revert_iwlwifi_clear_firmware1.patch rename to helpers/DATA/linux-hwe-6.5/revert_iwlwifi_clear_firmware1.patch diff --git a/helpers/DATA/linux-hwe-6.5/revert_iwlwifi_clear_firmware2.patch b/helpers/DATA/linux-hwe-6.5/revert_iwlwifi_clear_firmware2.patch new file mode 100644 index 0000000..22879b6 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/revert_iwlwifi_clear_firmware2.patch @@ -0,0 +1,40 @@ +reverts https://lore.kernel.org/all/iwlwifi.20211210110539.1f742f0eb58a.I1315f22f6aa632d94ae2069f85e1bca5e734dce0@changeid/ + +--- b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c ++++ a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +@@ -130,9 +130,6 @@ + + for (i = 0; i < IWL_UCODE_TYPE_MAX; i++) + iwl_free_fw_img(drv, drv->fw.img + i); +- +- /* clear the data for the aborted load case */ +- memset(&drv->fw, 0, sizeof(drv->fw)); + } + + static int iwl_alloc_fw_desc(struct iwl_drv *drv, struct fw_desc *desc, +@@ -1429,7 +1426,6 @@ + int i; + bool load_module = false; + bool usniffer_images = false; +- bool failure = true; + + fw->ucode_capa.max_probe_length = IWL_DEFAULT_MAX_PROBE_LENGTH; + fw->ucode_capa.standard_phy_calibration_size = +@@ -1699,7 +1695,6 @@ + op->name, err); + #endif + } +- failure = false; + goto free; + + try_again: +@@ -1715,9 +1710,6 @@ + complete(&drv->request_firmware_complete); + device_release_driver(drv->trans->dev); + free: +- if (failure) +- iwl_dealloc_ucode(drv); +- + if (pieces) { + for (i = 0; i < ARRAY_SIZE(pieces->img); i++) + kfree(pieces->img[i].sec); diff --git a/helpers/DATA/linux/003-revert_iwlwifi_clear_firmware3.patch b/helpers/DATA/linux-hwe-6.5/revert_iwlwifi_clear_firmware3.patch similarity index 100% rename from helpers/DATA/linux/003-revert_iwlwifi_clear_firmware3.patch rename to helpers/DATA/linux-hwe-6.5/revert_iwlwifi_clear_firmware3.patch diff --git a/helpers/DATA/linux-hwe-6.11/000-silent-accept-firmware.patch b/helpers/DATA/linux-hwe-6.5/silent-accept-firmware.patch similarity index 82% rename from helpers/DATA/linux-hwe-6.11/000-silent-accept-firmware.patch rename to helpers/DATA/linux-hwe-6.5/silent-accept-firmware.patch index 9b7527f..843aab1 100644 --- a/helpers/DATA/linux-hwe-6.11/000-silent-accept-firmware.patch +++ b/helpers/DATA/linux-hwe-6.5/silent-accept-firmware.patch @@ -74,22 +74,21 @@ diff --color -Nru a/drivers/base/firmware_loader/fallback.c b/drivers/base/firmw diff --color -Nru a/drivers/base/firmware_loader/main.c b/drivers/base/firmware_loader/main.c --- a/drivers/base/firmware_loader/main.c 2022-07-31 16:03:01.000000000 -0500 +++ b/drivers/base/firmware_loader/main.c 2023-03-09 11:53:09.989441841 -0600 -@@ -554,12 +554,11 @@ fw_get_filesystem_firmware(struct device *device, struct fw_priv *fw_priv, - if (!(fw_priv->opt_flags & FW_OPT_NO_WARN)) { - if (rc != -ENOENT) - dev_warn(device, -- "loading %s failed with error %d\n", -- path, rc); -+ "loading failed with error %d\n", -+ rc); - else - dev_dbg(device, -- "loading %s failed for no such file or directory.\n", -- path); -+ "loading failed for no such file or directory.\n"); - } +@@ -542,11 +542,10 @@ + READING_FIRMWARE); + if (rc < 0) { + if (rc != -ENOENT) +- dev_warn(device, "loading %s failed with error %d\n", +- path, rc); ++ dev_warn(device, "loading failed with error %d\n", ++ rc); + else +- dev_dbg(device, "loading %s failed for no such file or directory.\n", +- path); ++ dev_dbg(device, "loading failed for no such file or directory.\n"); continue; } + size = rc; @@ -565,8 +564,7 @@ continue; } @@ -132,16 +131,15 @@ diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/am amdgpu_ucode_release(&adev->pm.fw); return err; } -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b//drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -index 2f600a31..62128e06 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -@@ -2387,8 +2387,7 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev) - "amdgpu/%s_gpu_info.bin", chip_name); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 2023-03-09 19:29:28.335287765 -0600 +@@ -2175,8 +2175,7 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev) + err = amdgpu_ucode_request(adev, &adev->firmware.gpu_info_fw, fw_name); if (err) { dev_err(adev->dev, -- "Failed to get gpu_info firmware \"%s_gpu_info.bin\"\n", -- chip_name); +- "Failed to get gpu_info firmware \"%s\"\n", +- fw_name); + "Failed to get gpu_info firmware\n"); goto out; } @@ -163,16 +161,16 @@ diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/am diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c 2023-03-09 11:48:45.000000000 -0600 +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c 2023-03-09 19:35:41.949114270 -0600 -@@ -715,8 +715,7 @@ psp_cmd_submit_buf(struct psp_context *psp, +@@ -627,8 +627,7 @@ + */ if (!skip_unsupport && (psp->cmd_buf_mem->resp.status || !timeout) && !ras_intr) { if (ucode) - dev_warn(psp->adev->dev, -- "failed to load ucode %s(0x%X) ", -- amdgpu_ucode_name(ucode->ucode_id), ucode->ucode_id); -+ "failed to load ucode"); - if (psp_err_warn(psp)) - dev_warn( - psp->adev->dev, +- DRM_WARN("failed to load ucode %s(0x%X) ", +- amdgpu_ucode_name(ucode->ucode_id), ucode->ucode_id); ++ DRM_WARN("failed to load ucode"); + DRM_WARN("psp gfx command %s(0x%X) failed and response status is (0x%X)\n", + psp_gfx_cmd_name(psp->cmd_buf_mem->cmd_id), psp->cmd_buf_mem->cmd_id, + psp->cmd_buf_mem->resp.status); diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c 2022-07-31 16:03:01.000000000 -0500 +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c 2023-03-09 19:38:05.801817530 -0600 @@ -219,21 +217,19 @@ diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/am # release_firmware(adev->vcn.fw); # adev->vcn.fw = NULL; # return r; -diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -index 952737de..71717602 100644 ---- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -+++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -@@ -142,8 +142,7 @@ static int cik_sdma_init_microcode(struct amdgpu_device *adev) +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +--- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c 2023-03-09 19:44:48.183784675 -0600 +@@ -142,7 +142,7 @@ static int cik_sdma_init_microcode(struct amdgpu_device *adev) } out: if (err) { -- pr_err("cik_sdma: Failed to load firmware \"%s_sdma%s.bin\"\n", -- chip_name, i == 0 ? "" : "1"); +- pr_err("cik_sdma: Failed to load firmware \"%s\"\n", fw_name); + pr_err("cik_sdma: Failed to load firmware\n"); for (i = 0; i < adev->sdma.num_instances; i++) amdgpu_ucode_release(&adev->sdma.instance[i].fw); } -# Dropped on 6.8 --ark74 +# removed starting at #diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c #index 49d34c7..376ccc3 100644 #--- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c @@ -248,42 +244,40 @@ index 952737de..71717602 100644 # rlc_hdr = (const struct rlc_firmware_header_v2_0 *)adev->gfx.rlc_fw->data; # version_major = le16_to_cpu(rlc_hdr->header.header_version_major); # version_minor = le16_to_cpu(rlc_hdr->header.header_version_minor); -diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c -index 564f0b93..713aa8d7 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c -@@ -370,7 +370,7 @@ static int gfx_v6_0_init_microcode(struct amdgpu_device *adev) +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c 2023-03-09 19:48:18.700813841 -0600 +@@ -371,7 +371,7 @@ static int gfx_v6_0_init_microcode(struct amdgpu_device *adev) out: if (err) { -- pr_err("gfx6: Failed to load firmware %s gfx firmware\n", chip_name); +- pr_err("gfx6: Failed to load firmware \"%s\"\n", fw_name); + pr_err("gfx6: Failed to load firmware\n"); amdgpu_ucode_release(&adev->gfx.pfp_fw); amdgpu_ucode_release(&adev->gfx.me_fw); amdgpu_ucode_release(&adev->gfx.ce_fw); -diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -index d8458913..eee1b496 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -@@ -964,7 +964,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) - "amdgpu/%s_rlc.bin", chip_name); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c 2023-03-09 19:49:39.717209910 -0600 +@@ -969,7 +969,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) + goto out; out: if (err) { -- pr_err("gfx7: Failed to load firmware %s gfx firmware\n", chip_name); +- pr_err("gfx7: Failed to load firmware \"%s\"\n", fw_name); + pr_err("gfx7: Failed to load firmware\n"); gfx_v7_0_free_microcode(adev); } return err; -diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -index 618972c4..ed58005f 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -@@ -1193,7 +1193,7 @@ static int gfx_v8_0_init_microcode(struct amdgpu_device *adev) - +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c 2023-03-09 19:52:22.738006878 -0600 +@@ -1195,8 +1195,7 @@ static int gfx_v8_0_init_microcode(struct amdgpu_device *adev) out: if (err) { -- dev_err(adev->dev, "gfx8: Failed to load firmware %s gfx firmware\n", chip_name); -+ dev_err(adev->dev, "gfx8: Failed to load firmware\n"); + dev_err(adev->dev, +- "gfx8: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx8: Failed to load firmware\n"); amdgpu_ucode_release(&adev->gfx.pfp_fw); amdgpu_ucode_release(&adev->gfx.me_fw); amdgpu_ucode_release(&adev->gfx.ce_fw); @@ -319,42 +313,39 @@ index 618972c4..ed58005f 100644 # release_firmware(adev->gfx.mec_fw); # adev->gfx.mec_fw = NULL; # release_firmware(adev->gfx.mec2_fw); -diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c -index d3672566..ba454ac0 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c -@@ -129,8 +129,7 @@ static int gmc_v6_0_init_microcode(struct amdgpu_device *adev) - err = amdgpu_ucode_request(adev, &adev->gmc.fw, "amdgpu/%s_mc.bin", chip_name); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c 2023-03-09 19:58:54.279921029 -0600 +@@ -134,8 +134,7 @@ static int gmc_v6_0_init_microcode(struct amdgpu_device *adev) + err = amdgpu_ucode_request(adev, &adev->gmc.fw, fw_name); if (err) { dev_err(adev->dev, -- "si_mc: Failed to load firmware \"%s_mc.bin\"\n", -- chip_name); +- "si_mc: Failed to load firmware \"%s\"\n", +- fw_name); + "si_mc: Failed to load firmware\n"); amdgpu_ucode_release(&adev->gmc.fw); } return err; -diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c -index 994432fb..bd7022ee 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c -@@ -154,7 +154,7 @@ static int gmc_v7_0_init_microcode(struct amdgpu_device *adev) +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c 2023-03-09 20:00:00.496244744 -0600 +@@ -158,7 +158,7 @@ static int gmc_v7_0_init_microcode(struct amdgpu_device *adev) - err = amdgpu_ucode_request(adev, &adev->gmc.fw, "amdgpu/%s_mc.bin", chip_name); + err = amdgpu_ucode_request(adev, &adev->gmc.fw, fw_name); if (err) { -- pr_err("cik_mc: Failed to load firmware \"%s_mc.bin\"\n", chip_name); +- pr_err("cik_mc: Failed to load firmware \"%s\"\n", fw_name); + pr_err("cik_mc: Failed to load firmware\n"); amdgpu_ucode_release(&adev->gmc.fw); } return err; -diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c -index 86488c05..68ba2bee 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c -@@ -256,7 +256,7 @@ static int gmc_v8_0_init_microcode(struct amdgpu_device *adev) - - err = amdgpu_ucode_request(adev, &adev->gmc.fw, "amdgpu/%s_mc.bin", chip_name); +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c 2023-03-09 20:01:46.768764284 -0600 +@@ -266,7 +266,7 @@ static int gmc_v8_0_init_microcode(struct amdgpu_device *adev) + snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mc.bin", chip_name); + err = amdgpu_ucode_request(adev, &adev->gmc.fw, fw_name); if (err) { -- pr_err("mc: Failed to load firmware \"%s_mc.bin\"\n", chip_name); +- pr_err("mc: Failed to load firmware \"%s\"\n", fw_name); + pr_err("mc: Failed to load firmware\n"); amdgpu_ucode_release(&adev->gmc.fw); } @@ -421,30 +412,26 @@ index 86488c05..68ba2bee 100644 # } # # return err; -diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -index 72539252..bb264cdf 100644 ---- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -@@ -169,8 +169,7 @@ static int sdma_v2_4_init_microcode(struct amdgpu_device *adev) +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c 2023-03-09 20:16:41.561138701 -0600 +@@ -171,7 +171,7 @@ static int sdma_v2_4_init_microcode(struct amdgpu_device *adev) out: if (err) { -- pr_err("sdma_v2_4: Failed to load firmware \"%s_sdma%s.bin\"\n", -- chip_name, i == 0 ? "" : "1"); +- pr_err("sdma_v2_4: Failed to load firmware \"%s\"\n", fw_name); + pr_err("sdma_v2_4: Failed to load firmware\n"); for (i = 0; i < adev->sdma.num_instances; i++) amdgpu_ucode_release(&adev->sdma.instance[i].fw); } -diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -index aa637541..9345559b 100644 ---- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -@@ -327,8 +327,7 @@ static int sdma_v3_0_init_microcode(struct amdgpu_device *adev) +diff --color -Nru a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c 2023-03-09 20:17:54.125493450 -0600 +@@ -327,7 +327,7 @@ static int sdma_v3_0_init_microcode(struct amdgpu_device *adev) } out: if (err) { -- pr_err("sdma_v3_0: Failed to load firmware \"%s_sdma%s.bin\"\n", -- chip_name, i == 0 ? "" : "1"); +- pr_err("sdma_v3_0: Failed to load firmware \"%s\"\n", fw_name); + pr_err("sdma_v3_0: Failed to load firmware\n"); for (i = 0; i < adev->sdma.num_instances; i++) amdgpu_ucode_release(&adev->sdma.instance[i].fw); @@ -480,46 +467,50 @@ index aa637541..9345559b 100644 # sdma_v5_2_destroy_inst_ctx(adev); # } # return err; -diff --git a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c -index a1baa13a..d585f664 100644 ---- a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c -+++ b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c -@@ -7709,8 +7709,8 @@ static int si_dpm_init_microcode(struct amdgpu_device *adev) - - err = amdgpu_ucode_request(adev, &adev->pm.fw, "amdgpu/%s_smc.bin", chip_name); +diff --color -Nru a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c +--- a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c 2023-03-09 11:53:09.993441860 -0600 +@@ -7687,8 +7687,8 @@ static int si_dpm_init_microcode(struct amdgpu_device *adev) + snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_smc.bin", chip_name); + err = amdgpu_ucode_request(adev, &adev->pm.fw, fw_name); if (err) { -- DRM_ERROR("si_smc: Failed to load firmware. err = %d\"%s_smc.bin\"\n", -- err, chip_name); +- DRM_ERROR("si_smc: Failed to load firmware. err = %d\"%s\"\n", +- err, fw_name); + DRM_ERROR("si_smc: Failed to load firmware. err = %d\n", + err); amdgpu_ucode_release(&adev->pm.fw); } return err; diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c -index d1c7e829..7679ec15 100644 +index 5d9ef26..116fa00 100644 --- a/drivers/gpu/drm/drm_edid_load.c +++ b/drivers/gpu/drm/drm_edid_load.c -@@ -32,18 +32,17 @@ static const struct drm_edid *edid_load(struct drm_connector *connector, const c - err = request_firmware(&fw, name, connector->dev->dev); - if (err) { - drm_err(connector->dev, -- "[CONNECTOR:%d:%s] Requesting EDID firmware \"%s\" failed (err=%d)\n", -- connector->base.id, connector->name, -- name, err); -+ "Requesting EDID firmware failed (err=%d)\n", -+ err); - return ERR_PTR(err); +@@ -177,9 +177,8 @@ static const struct drm_edid *edid_load(struct drm_connector *connector, const c + err = request_firmware(&fw, name, connector->dev->dev); + if (err) { + drm_err(connector->dev, +- "[CONNECTOR:%d:%s] Requesting EDID firmware \"%s\" failed (err=%d)\n", +- connector->base.id, connector->name, +- name, err); ++ "Requesting EDID firmware failed (err=%d)\n", ++ err); + return ERR_PTR(err); + } + +@@ -187,13 +186,13 @@ static const struct drm_edid *edid_load(struct drm_connector *connector, const c + fwsize = fw->size; } -- drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] Loaded external firmware EDID \"%s\"\n", -- connector->base.id, connector->name, name); -+ drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] Loaded external firmware EDID\n", -+ connector->base.id, connector->name); +- drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] Loaded %s firmware EDID \"%s\"\n", ++ drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] Loaded %s firmware EDID\n", + connector->base.id, connector->name, +- builtin >= 0 ? "built-in" : "external", name); ++ builtin >= 0 ? "built-in" : "external"); - drm_edid = drm_edid_alloc(fw->data, fw->size); + drm_edid = drm_edid_alloc(fwdata, fwsize); if (!drm_edid_valid(drm_edid)) { - drm_err(connector->dev, "Invalid firmware EDID \"%s\"\n", name); -+ drm_err(connector->dev, "Invalid firmware EDID\n"); ++ drm_err(connector->dev, "Invalid firmware EDID \n"); drm_edid_free(drm_edid); drm_edid = ERR_PTR(-EINVAL); } @@ -743,68 +734,57 @@ diff --color -Nru a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c release_firmware(rdev->pfp_fw); rdev->pfp_fw = NULL; release_firmware(rdev->me_fw); -diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c -index b63b6b4e..3dc76b8d 100644 ---- a/drivers/gpu/drm/radeon/r100.c -+++ b/drivers/gpu/drm/radeon/r100.c -@@ -1021,7 +1021,7 @@ static int r100_cp_init_microcode(struct radeon_device *rdev) - case CHIP_RV200: - case CHIP_RS100: - case CHIP_RS200: +diff --color -Nru a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c +--- a/drivers/gpu/drm/radeon/r100.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/gpu/drm/radeon/r100.c 2023-03-09 11:53:09.993441860 -0600 +@@ -1017,13 +1017,13 @@ + if ((rdev->family == CHIP_R100) || (rdev->family == CHIP_RV100) || + (rdev->family == CHIP_RV200) || (rdev->family == CHIP_RS100) || + (rdev->family == CHIP_RS200)) { - DRM_INFO("Loading R100 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_R100; - break; - -@@ -1029,7 +1029,7 @@ static int r100_cp_init_microcode(struct radeon_device *rdev) - case CHIP_RV250: - case CHIP_RV280: - case CHIP_RS300: + } else if ((rdev->family == CHIP_R200) || + (rdev->family == CHIP_RV250) || + (rdev->family == CHIP_RV280) || + (rdev->family == CHIP_RS300)) { - DRM_INFO("Loading R200 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_R200; - break; - -@@ -1039,25 +1039,25 @@ static int r100_cp_init_microcode(struct radeon_device *rdev) - case CHIP_RV380: - case CHIP_RS400: - case CHIP_RS480: + } else if ((rdev->family == CHIP_R300) || + (rdev->family == CHIP_R350) || +@@ -1031,19 +1031,19 @@ + (rdev->family == CHIP_RV380) || + (rdev->family == CHIP_RS400) || + (rdev->family == CHIP_RS480)) { - DRM_INFO("Loading R300 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_R300; - break; - - case CHIP_R420: - case CHIP_R423: - case CHIP_RV410: + } else if ((rdev->family == CHIP_R420) || + (rdev->family == CHIP_R423) || + (rdev->family == CHIP_RV410)) { - DRM_INFO("Loading R400 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_R420; - break; - - case CHIP_RS690: - case CHIP_RS740: + } else if ((rdev->family == CHIP_RS690) || + (rdev->family == CHIP_RS740)) { - DRM_INFO("Loading RS690/RS740 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_RS690; - break; - - case CHIP_RS600: + } else if (rdev->family == CHIP_RS600) { - DRM_INFO("Loading RS600 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_RS600; - break; - -@@ -1067,7 +1067,7 @@ static int r100_cp_init_microcode(struct radeon_device *rdev) - case CHIP_R580: - case CHIP_RV560: - case CHIP_RV570: + } else if ((rdev->family == CHIP_RV515) || + (rdev->family == CHIP_R520) || +@@ -1051,16 +1051,16 @@ + (rdev->family == CHIP_R580) || + (rdev->family == CHIP_RV560) || + (rdev->family == CHIP_RV570)) { - DRM_INFO("Loading R500 Microcode\n"); + DRM_INFO("Loading Microcode\n"); fw_name = FIRMWARE_R520; - break; - -@@ -1078,10 +1078,10 @@ static int r100_cp_init_microcode(struct radeon_device *rdev) + } err = request_firmware(&rdev->me_fw, fw_name, rdev->dev); if (err) { @@ -1345,34 +1325,34 @@ diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers if (fw_entry->size > MAX_NVM_FILE_LEN) { IWL_ERR(trans, "NVM file too large\n"); -diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c -index b9daaffd..d8118eb0 100644 ---- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c -+++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c -@@ -867,7 +867,7 @@ static int iwl_mvm_start_get_nvm(struct iwl_mvm *mvm) - rtnl_unlock(); +diff --color -Nru a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +--- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c 2023-03-09 11:53:09.997441880 -0600 +@@ -1285,8 +1285,7 @@ + goto out_free; + } - if (ret) -- IWL_ERR(mvm, "Failed to run INIT ucode: %d\n", ret); -+ IWL_ERR(mvm, "Failed to run INIT ucode\n"); +- IWL_INFO(mvm, "Detected %s, REV=0x%X\n", +- mvm->trans->name, mvm->trans->hw_rev); ++ IWL_INFO(mvm, "Detected, REV=0x%X\n", mvm->trans->hw_rev); - /* no longer need this regardless of failure or not */ - mvm->fw_product_reset = false; -#diff --color -Nru a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c -#--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2023-03-09 11:48:45.000000000 -0600 -#+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2023-03-09 11:53:09.997441880 -0600 -#@@ -2073,9 +2073,9 @@ -# int ret = 0; -# u16 signature; -# -#- dev_info(dev, "%s: Loading firmware %s\n", DRIVER_NAME, fw_name); -#+ dev_info(dev, "%s: Loading firmware\n", DRIVER_NAME); -# if (request_firmware(&fw, fw_name, &priv->udev->dev)) { -#- dev_warn(dev, "request_firmware(%s) failed\n", fw_name); -#+ dev_warn(dev, "request_firmware failed\n"); -# ret = -EAGAIN; -# goto exit; -# } + if (iwlwifi_mod_params.nvm_file) + mvm->nvm_file_name = iwlwifi_mod_params.nvm_file; +diff --color -Nru a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2023-03-09 11:48:45.000000000 -0600 ++++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2023-03-09 11:53:09.997441880 -0600 +@@ -2073,9 +2073,9 @@ + int ret = 0; + u16 signature; + +- dev_info(dev, "%s: Loading firmware %s\n", DRIVER_NAME, fw_name); ++ dev_info(dev, "%s: Loading firmware\n", DRIVER_NAME); + if (request_firmware(&fw, fw_name, &priv->udev->dev)) { +- dev_warn(dev, "request_firmware(%s) failed\n", fw_name); ++ dev_warn(dev, "request_firmware failed\n"); + ret = -EAGAIN; + goto exit; + } diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c --- a/drivers/net/wireless/realtek/rtlwifi/core.c 2022-07-31 16:03:01.000000000 -0500 +++ b/drivers/net/wireless/realtek/rtlwifi/core.c 2023-03-09 11:53:09.997441880 -0600 @@ -1410,14 +1390,13 @@ diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c b/driver err = request_firmware_nowait(THIS_MODULE, 1, fw_name, rtlpriv->io.dev, GFP_KERNEL, hw, rtl_fw_cb); -diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c -index c9b9e2bc..9b84e6d5 100644 ---- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c -+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c -@@ -53,7 +53,7 @@ static int rtl92cu_init_sw_vars(struct ieee80211_hw *hw) - } else { - fw_name = "rtlwifi/rtl8192cufw_TMSC.bin"; +diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c +--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c 2022-07-31 16:03:01.000000000 -0500 ++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c 2023-03-09 11:53:09.997441880 -0600 +@@ -55,7 +55,7 @@ } + /* provide name of alternative file */ + rtlpriv->cfg->alt_fw_name = "rtlwifi/rtl8192cufw.bin"; - pr_info("Loading firmware %s\n", fw_name); + pr_info("Loading firmware\n"); rtlpriv->max_fw_size = 0x4000; @@ -1538,20 +1517,19 @@ diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/ # release_firmware(adev->gfx.pfp_fw); # adev->gfx.pfp_fw = NULL; # release_firmware(adev->gfx.me_fw); -diff --git a/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c b/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c -index 6c189188..c0f1a3b6 100644 ---- a/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c -@@ -74,8 +74,7 @@ static int imu_v11_0_init_microcode(struct amdgpu_device *adev) +diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c b/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c +--- a/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c2022-07-31 21:03:01.000000000 +0000 ++++ b/drivers/gpu/drm/amd/amdgpu/imu_v11_0.c 2023-03-13 07:45:31.295016045 +0000 +@@ -73,8 +73,7 @@ static int imu_v11_0_init_microcode(struct amdgpu_device *adev) out: if (err) { dev_err(adev->dev, -- "gfx11: Failed to load firmware \"%s_imu.bin\"\n", -- ucode_prefix); +- "gfx11: Failed to load firmware \"%s\"\n", +- fw_name); + "gfx11: Failed to load firmware\n"); amdgpu_ucode_release(&adev->gfx.imu_fw); } - + #removed since v6.2 --ark74 #diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c #@@ -162,7 +162,7 @@ @@ -1637,21 +1615,16 @@ index 88262d3..93b3826 100644 return ret; } -@@ -501,11 +501,10 @@ static int ath3k_probe(struct usb_interface *intf, +@@ -504,8 +504,7 @@ static int ath3k_probe(struct usb_interface *intf, ret = request_firmware(&firmware, ATH3K_FIRMWARE, &udev->dev); if (ret < 0) { if (ret == -ENOENT) - BT_ERR("Firmware file \"%s\" not found", -- ATH3K_FIRMWARE); +- ATH3K_FIRMWARE); + BT_ERR("Firmware file not found"); else -- BT_ERR("Firmware file \"%s\" request failed (err=%d)", -- ATH3K_FIRMWARE, ret); -+ BT_ERR("Firmware file request failed (err=%d)", -+ ret); - return ret; - } - + BT_ERR("Firmware file \"%s\" request failed (err=%d)", + ATH3K_FIRMWARE, ret); diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c index d8fe39e..f9c6a53 100644 --- a/drivers/bluetooth/btbcm.c @@ -1831,55 +1804,48 @@ index 78afb9a..f9d2740 100644 /* Save the DDC file name for later */ switch (ver.hw_variant) { diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c -index 7c756d5b..d8ab7c14 100644 +index a171d42..b2fb944 100644 --- a/drivers/gpu/drm/i915/display/intel_dmc.c +++ b/drivers/gpu/drm/i915/display/intel_dmc.c -@@ -1037,17 +1037,14 @@ static void dmc_load_work_fn(struct work_struct *work) - err = parse_dmc_fw(dmc, fw); - if (err) { +@@ -956,11 +956,8 @@ static void dmc_load_work_fn(struct work_struct *work) + DMC_VERSION_MINOR(dmc->version)); + } else { drm_notice(&i915->drm, -- "Failed to parse DMC firmware %s (%pe). Disabling runtime power management.\n", -- dmc->fw_path, ERR_PTR(err)); -+ "Failed to parse DMC firmware. Disabling runtime power management.\n"); - goto out; +- "Failed to load DMC firmware %s." +- " Disabling runtime power management.\n", +- dmc->fw_path); +- drm_notice(&i915->drm, "DMC firmware homepage: %s", +- INTEL_UC_FIRMWARE_URL); ++ "Failed to load DMC firmware." ++ " Disabling runtime power management.\n"); } - intel_dmc_load_program(i915); - intel_dmc_runtime_pm_put(i915); - -- drm_info(&i915->drm, "Finished loading DMC firmware %s (v%u.%u)\n", -- dmc->fw_path, DMC_VERSION_MAJOR(dmc->version), -- DMC_VERSION_MINOR(dmc->version)); -+ drm_info(&i915->drm, "Finished loading DMC firmware\n"); - - out: release_firmware(fw); -#removed at 6.11 --ark74 -#diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c -#index f31e8c3..a4188d6 100644 -#--- a/drivers/gpu/drm/i915/display/intel_opregion.c -#+++ b/drivers/gpu/drm/i915/display/intel_opregion.c -#@@ -846,8 +846,8 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv) -# ret = request_firmware(&fw, name, dev_priv->drm.dev); -# if (ret) { -# drm_err(&dev_priv->drm, -#- "Requesting VBT firmware \"%s\" failed (%d)\n", -#- name, ret); -#+ "Requesting VBT firmware failed (%d)\n", -#+ ret); -# return ret; -# } -# -#@@ -863,8 +863,7 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv) -# ret = -ENOMEM; -# } -# } else { -#- drm_dbg_kms(&dev_priv->drm, "Invalid VBT firmware \"%s\"\n", -#- name); -#+ drm_dbg_kms(&dev_priv->drm, "Invalid VBT firmware\n"); -# ret = -EINVAL; -# } -# +diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c +index f31e8c3..a4188d6 100644 +--- a/drivers/gpu/drm/i915/display/intel_opregion.c ++++ b/drivers/gpu/drm/i915/display/intel_opregion.c +@@ -846,8 +846,8 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv) + ret = request_firmware(&fw, name, dev_priv->drm.dev); + if (ret) { + drm_err(&dev_priv->drm, +- "Requesting VBT firmware \"%s\" failed (%d)\n", +- name, ret); ++ "Requesting VBT firmware failed (%d)\n", ++ ret); + return ret; + } + +@@ -863,8 +863,7 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv) + ret = -ENOMEM; + } + } else { +- drm_dbg_kms(&dev_priv->drm, "Invalid VBT firmware \"%s\"\n", +- name); ++ drm_dbg_kms(&dev_priv->drm, "Invalid VBT firmware\n"); + ret = -EINVAL; + } + diff --git a/drivers/gpu/drm/i915/gvt/firmware.c b/drivers/gpu/drm/i915/gvt/firmware.c index 54fe442..1079138 100644 --- a/drivers/gpu/drm/i915/gvt/firmware.c @@ -2008,3 +1974,88 @@ index bd4c4174..9beeb2e6 100644 return request_firmware_nowait(THIS_MODULE, 1, drv->firmware_name, drv->trans->dev, +diff --git a/drivers/bluetooth/hci_intel.c b/drivers/bluetooth/hci_intel.c +index f9d2740a..37f4b0c3 100644 +--- a/drivers/bluetooth/hci_intel.c ++++ b/drivers/bluetooth/hci_intel.c +@@ -701,8 +701,7 @@ static int intel_setup(struct hci_uart *hu) + + err = request_firmware(&fw, fwname, &hdev->dev); + if (err < 0) { +- bt_dev_err(hdev, "Failed to load Intel firmware file (%d)", +- err); ++ bt_dev_err(hdev, "Failed to load firmware file"); + return err; + } + +diff --git a/drivers/bluetooth/hci_nokia.c b/drivers/bluetooth/hci_nokia.c +index 97da0b2b..f8c38d91 100644 +--- a/drivers/bluetooth/hci_nokia.c ++++ b/drivers/bluetooth/hci_nokia.c +@@ -344,8 +344,7 @@ static int nokia_setup_fw(struct hci_uart *hu) + + err = request_firmware(&fw, fwname, dev); + if (err < 0) { +- dev_err(dev, "%s: Failed to load Nokia firmware file (%d)", +- hu->hdev->name, err); ++ dev_err(dev, "Failed to load firmware file"); + return err; + } + +diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c +index f9b77a17..147d9fff 100644 +--- a/drivers/bluetooth/btintel.c ++++ b/drivers/bluetooth/btintel.c +@@ -2049,12 +2049,11 @@ static int btintel_download_fw(struct hci_dev *hdev, + return 0; + } + +- bt_dev_err(hdev, "Failed to load Intel firmware file (%d)", +- err); ++ bt_dev_err(hdev, "Failed to load firmware file"); + return err; + } + +- bt_dev_info(hdev, "Found device firmware: %s", fwname); ++ bt_dev_info(hdev, "Found device firmware"); + + if (fw->size < 644) { + bt_dev_err(hdev, "Invalid size of firmware file (%zu)", +@@ -2238,13 +2237,12 @@ static int btintel_prepare_fw_download_tlv(struct hci_dev *hdev, + return 0; + } + +- bt_dev_err(hdev, "Failed to load Intel firmware file (%d)", +- err); ++ bt_dev_err(hdev, "Failed to load firmware file"); + + return err; + } + +- bt_dev_info(hdev, "Found device firmware: %s", fwname); ++ bt_dev_info(hdev, "Found device firmware"); + + if (fw->size < 644) { + bt_dev_err(hdev, "Invalid size of firmware file (%zu)", +diff --git a/drivers/bluetooth/btmtk.c b/drivers/bluetooth/btmtk.c +index 809762d6..fe2545ce 100644 +--- a/drivers/bluetooth/btmtk.c ++++ b/drivers/bluetooth/btmtk.c +@@ -69,7 +69,7 @@ int btmtk_setup_firmware_79xx(struct hci_dev *hdev, const char *fwname, + + err = request_firmware(&fw, fwname, &hdev->dev); + if (err < 0) { +- bt_dev_err(hdev, "Failed to load firmware file (%d)", err); ++ bt_dev_err(hdev, "Failed to load firmware file"); + return err; + } + +@@ -181,7 +181,7 @@ int btmtk_setup_firmware(struct hci_dev *hdev, const char *fwname, + + err = request_firmware(&fw, fwname, &hdev->dev); + if (err < 0) { +- bt_dev_err(hdev, "Failed to load firmware file (%d)", err); ++ bt_dev_err(hdev, "Failed to load firmware file"); + return err; + } + diff --git a/helpers/DATA/linux-hwe-6.5/udeb/5-udebs.mk b/helpers/DATA/linux-hwe-6.5/udeb/5-udebs.mk new file mode 100644 index 0000000..e642fe6 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/5-udebs.mk @@ -0,0 +1,79 @@ +# Do udebs if not disabled in the arch-specific makefile +binary-udebs: binary-debs + @echo Debug: $@ +ifeq ($(disable_d_i),) + @$(MAKE) --no-print-directory -f $(DROOT)/rules DEBIAN=$(DEBIAN) \ + do-binary-udebs +endif + +do-binary-udebs: linux_udeb_name=$(shell if echo $(src_pkg_name)|egrep -q '(linux-lts|linux-hwe|linux-[0-9]+\.[0-9]+)'; then echo $(src_pkg_name); else echo linux; fi) +do-binary-udebs: debian/control + @echo Debug: $@ + dh_testdir + dh_testroot + + # unpack the kernels into a temporary directory + mkdir -p debian/d-i-${arch} + + imagelist=$$(cat $(CURDIR)/$(DEBIAN)/d-i/kernel-versions | grep ^${arch} | gawk '{print $$3}') && \ + for f in $$imagelist; do \ + i=$(release)-$(abinum)-$$f; \ + for f in \ + ../linux-image-$$i\_$(release)-$(revision)_${arch}.deb \ + ../linux-image-unsigned-$$i\_$(release)-$(revision)_${arch}.deb \ + ../linux-modules-$$i\_$(release)-$(revision)_${arch}.deb \ + ../linux-modules-extra-$$i\_$(release)-$(revision)_${arch}.deb; \ + do \ + [ -f $$f ] && dpkg -x $$f debian/d-i-${arch}; \ + done; \ + /sbin/depmod -b debian/d-i-${arch} $$i; \ + done + + # kernel-wedge will error if no modules unless this is touched + touch $(DEBIAN)/d-i/no-modules + + touch $(CURDIR)/$(DEBIAN)/d-i/ignore-dups + export KW_DEFCONFIG_DIR=$(CURDIR)/$(DEBIAN)/d-i && \ + export KW_CONFIG_DIR=$(CURDIR)/$(DEBIAN)/d-i && \ + export SOURCEDIR=$(CURDIR)/debian/d-i-${arch} && \ + kernel-wedge install-files $(release)-$(abinum) && \ + kernel-wedge check + + # Build just the udebs + dilist=$$(dh_listpackages -s | grep "\-di$$") && \ + [ -z "$dilist" ] || \ + for i in $$dilist; do \ + dh_fixperms -p$$i; \ + $(lockme) dh_gencontrol -p$$i; \ + dh_builddeb -p$$i; \ + done + + # Generate the meta-udeb dependancy lists. + @gawk ' \ + /^Package:/ { \ + package=$$2; flavour=""; parch="" } \ + (/Package-Type: udeb/ && package !~ /^$(linux_udeb_name)-udebs-/) { \ + match(package, "'$(release)'-'$(abinum)'-(.*)-di", bits); \ + flavour = bits[1]; \ + } \ + (/^Architecture:/ && $$0 " " ~ / '$(arch)'/) { \ + parch=$$0; \ + } \ + (flavour != "" && parch != "") { \ + udebs[flavour] = udebs[flavour] package ", "; \ + flavour=""; parch=""; \ + } \ + END { \ + for (flavour in udebs) { \ + package="$(linux_udeb_name)-udebs-" flavour; \ + file="debian/" package ".substvars"; \ + print("udeb:Depends=" udebs[flavour]) > file; \ + metas="'$(builddir)'/udeb-meta-packages"; \ + print(package) >metas \ + } \ + } \ + ' <$(CURDIR)/debian/control + @while read i; do \ + $(lockme) dh_gencontrol -p$$i; \ + dh_builddeb -p$$i; \ + done <$(builddir)/udeb-meta-packages diff --git a/helpers/DATA/linux/udeb/000-d-i.patch b/helpers/DATA/linux-hwe-6.5/udeb/d-i.patch similarity index 71% rename from helpers/DATA/linux/udeb/000-d-i.patch rename to helpers/DATA/linux-hwe-6.5/udeb/d-i.patch index 48b5233..4d0a27a 100644 --- a/helpers/DATA/linux/udeb/000-d-i.patch +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i.patch @@ -1,8 +1,8 @@ diff --git a/debian/rules b/debian/rules -index 43eae8d5..c81721bc 100755 +index 661286bd..e828a0ac 100755 --- a/debian/rules +++ b/debian/rules -@@ -136,11 +136,18 @@ clean: debian/control debian/canonical-certs.pem debian/canonical-revoked-certs. +@@ -128,12 +128,19 @@ clean: debian/control debian/canonical-certs.pem debian/canonical-revoked-certs. dh_testroot dh_clean @@ -13,7 +13,8 @@ index 43eae8d5..c81721bc 100755 + # normal build junk rm -rf $(DEBIAN)/abi - rm -rf $(builddir) $(stampdir) + rm -rf $(builddir) + rm -f $(stampdir)/stamp-* rm -rf debian/linux-*/ + # This gets rid of the d-i packages in control @@ -21,7 +22,16 @@ index 43eae8d5..c81721bc 100755 cp $(DEBIAN)/changelog debian/changelog # Install the copyright information. -@@ -213,7 +221,14 @@ $(DEBIAN)/control.stub: \ +#removed at 6.5.0-27.28~22.04.1 +#@@ -184,7 +191,6 @@ $(DEBIAN)/control.stub: \ +# $(DROOT)/scripts/control-create \ +# $(control_files) \ +# debian/canonical-revoked-certs.pem \ +#- $(DROOT)/control.d/flavour-module.stub \ +# $(DEBIAN)/changelog \ +# $(wildcard $(DEBIAN)/control.d/* $(DEBIAN)/sub-flavours/*.vars) +# for i in $(control_files); do \ +@@ -211,7 +217,14 @@ $(DEBIAN)/control.stub: \ .PHONY: debian/control debian/control: $(DEBIAN)/control.stub @@ -37,19 +47,19 @@ index 43eae8d5..c81721bc 100755 debian/canonical-certs.pem: $(wildcard $(DROOT)/certs/*-all.pem) $(wildcard $(DROOT)/certs/*-$(arch).pem) $(wildcard $(DEBIAN)/certs/*-all.pem) $(wildcard $(DEBIAN)/certs/*-$(arch).pem) for cert in $(sort $(notdir $^)); \ diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk -index fe66f8a0..e934f797 100644 +index b89c61c..ef1ef03 100644 --- a/debian/rules.d/2-binary-arch.mk +++ b/debian/rules.d/2-binary-arch.mk -@@ -145,10 +145,14 @@ endif +@@ -178,10 +178,14 @@ endif install -m600 $(builddir)/build-$*/System.map \ $(pkgdir)/boot/System.map-$(abi_release)-$* -ifeq ($(do_dtbs),true) -- $(kmake) O=$(builddir)/build-$* $(conc_level) dtbs_install \ +- $(build_cd) $(kmake) $(build_O) $(conc_level) dtbs_install \ - INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree -endif + if [ "$(filter true,$(do_dtbs))" ]; then \ -+ $(kmake) O=$(builddir)/build-$* $(conc_level) dtbs_install \ ++ $(build_cd) $(kmake) $(build_O) $(conc_level) dtbs_install \ + INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree; \ + ( cd $(pkgdir)/lib/firmware/$(abi_release)-$*/ && find device-tree -print ) | \ + while read dtb_file; do \ diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/README.txt b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/amd64/README.txt b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/amd64/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/amd64/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/amd64/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/amd64/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/amd64/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/amd64/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/amd64/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/amd64/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/arm64/README.txt b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/arm64/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/arm64/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/arm64/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/arm64/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/arm64/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/arm64/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/arm64/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/arm64/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/armhf/README.txt b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/armhf/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/armhf/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/i386/README.txt b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/i386/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/i386/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/i386/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/i386/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/i386/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/i386/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/i386/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/i386/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/nic-modules new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/nic-modules @@ -0,0 +1 @@ + diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/powerpc/README.txt b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/powerpc/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/powerpc/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/powerpc/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/powerpc/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/powerpc/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/powerpc/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/powerpc/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/powerpc/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/ppc64el/README.txt b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/ppc64el/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/ppc64el/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/ppc64el/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/ppc64el/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/ppc64el/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/ppc64el/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/ppc64el/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/ppc64el/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/s390x/README.txt b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/s390x/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/s390x/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/s390x/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/s390x/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/s390x/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/s390x/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/s390x/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/s390x/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/scsi-modules new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/firmware/scsi-modules @@ -0,0 +1 @@ + diff --git a/helpers/DATA/linux-hwe-6.11/udeb/d-i/kernel-versions b/helpers/DATA/linux-hwe-6.5/udeb/d-i/kernel-versions similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/d-i/kernel-versions rename to helpers/DATA/linux-hwe-6.5/udeb/d-i/kernel-versions diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/block-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/crc-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/crypto-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/fat-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/fb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/fb-modules new file mode 100644 index 0000000..aba524d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/fb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/floppy-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/floppy-modules new file mode 100644 index 0000000..bc84c4e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/floppy-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/fs-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/fs-secondary-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/isofs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/kernel-image b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/md-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/message-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/message-modules new file mode 100644 index 0000000..9b060b3 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/message-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/mouse-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/mouse-modules new file mode 100644 index 0000000..15fcb00 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/mouse-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/multipath-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/nic-shared-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/nic-wireless-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/parport-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/scsi-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/scsi-core-modules new file mode 100644 index 0000000..778a022 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/scsi-core-modules @@ -0,0 +1,4 @@ +#include + +# Needed by hv_storvsc in hyperv-modules as well as scsi-modules +scsi_transport_fc diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/serial-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/serial-modules new file mode 100644 index 0000000..6ab8b8c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/serial-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/storage-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/usb-storage-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/virtio-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/vlan-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64-virtual/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/block-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/crc-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/crypto-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/fat-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/fb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/fb-modules new file mode 100644 index 0000000..87c0ad5 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/fb-modules @@ -0,0 +1,5 @@ +#include + +vesafb ? +vga16fb + diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/firewire-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/firewire-core-modules new file mode 100644 index 0000000..dcac80a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/firewire-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/floppy-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/floppy-modules new file mode 100644 index 0000000..bc84c4e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/floppy-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/fs-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/fs-secondary-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/i2c-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/i2c-modules new file mode 100644 index 0000000..203a607 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/i2c-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/input-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/input-modules new file mode 100644 index 0000000..5ecb595 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/input-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/ipmi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/ipmi-modules new file mode 100644 index 0000000..d0fc979 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/ipmi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/isofs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/kernel-image b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/md-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/message-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/message-modules new file mode 100644 index 0000000..9b060b3 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/message-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/mouse-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/mouse-modules new file mode 100644 index 0000000..15fcb00 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/mouse-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/mtd-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/mtd-core-modules new file mode 100644 index 0000000..28fdada --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/mtd-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/multipath-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nfs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nfs-modules new file mode 100644 index 0000000..946fb8e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nfs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-pcmcia-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-pcmcia-modules new file mode 100644 index 0000000..7a0702c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-pcmcia-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-shared-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-usb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-usb-modules new file mode 100644 index 0000000..c479669 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-wireless-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/parport-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/pata-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/pata-modules new file mode 100644 index 0000000..b0cd633 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/pata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/pcmcia-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/pcmcia-modules new file mode 100644 index 0000000..2bb5350 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/pcmcia-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/pcmcia-storage-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/pcmcia-storage-modules new file mode 100644 index 0000000..f73ae5b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/pcmcia-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/plip-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/plip-modules new file mode 100644 index 0000000..ca7a41b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/plip-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/ppp-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/ppp-modules new file mode 100644 index 0000000..1f26aa1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/ppp-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/sata-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/sata-modules new file mode 100644 index 0000000..01318c2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/sata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/scsi-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/scsi-core-modules new file mode 100644 index 0000000..778a022 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/scsi-core-modules @@ -0,0 +1,4 @@ +#include + +# Needed by hv_storvsc in hyperv-modules as well as scsi-modules +scsi_transport_fc diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/serial-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/serial-modules new file mode 100644 index 0000000..6ab8b8c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/serial-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/speakup-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/speakup-modules new file mode 100644 index 0000000..2959272 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/speakup-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/storage-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/usb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/usb-modules new file mode 100644 index 0000000..c598ded --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/usb-storage-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/virtio-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/vlan-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/amd64/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/block-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/crc-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/crypto-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/fat-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/fb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/fb-modules new file mode 100644 index 0000000..ce62cae --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/fb-modules @@ -0,0 +1,21 @@ +#include + +ast +tegra-drm +rockchipdrm +hibmc-drm + +# For panel/backlight on some chromeos devices +panel-simple +pwm_bl +pwm-cros-ec + +# For panel/backlight on Pinebook +analogix-anx6345 +pwm-sun4i +sun4i-drm +sun8i-mixer + +# For panel/backlight on Pinebook Pro +pwm-rockchip + diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/fs-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/fs-secondary-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/i2c-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/i2c-modules new file mode 100644 index 0000000..6f839a7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/i2c-modules @@ -0,0 +1,5 @@ +#include +i2c-tegra +i2c-rk3x +i2c-mv64xxx +i2c-imx diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/input-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/input-modules new file mode 100644 index 0000000..5ecb595 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/input-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/ipmi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/ipmi-modules new file mode 100644 index 0000000..d0fc979 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/ipmi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/isofs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/kernel-image b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/md-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/message-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/message-modules new file mode 100644 index 0000000..9b060b3 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/message-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/mouse-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/mouse-modules new file mode 100644 index 0000000..15fcb00 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/mouse-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/mtd-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/mtd-core-modules new file mode 100644 index 0000000..28fdada --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/mtd-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/multipath-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nfs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nfs-modules new file mode 100644 index 0000000..946fb8e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nfs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nic-shared-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nic-usb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nic-usb-modules new file mode 100644 index 0000000..c479669 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nic-usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nic-wireless-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/parport-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/plip-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/plip-modules new file mode 100644 index 0000000..ca7a41b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/plip-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/ppp-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/ppp-modules new file mode 100644 index 0000000..1f26aa1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/ppp-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/sata-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/sata-modules new file mode 100644 index 0000000..01318c2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/sata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/scsi-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/scsi-core-modules new file mode 100644 index 0000000..dd65d66 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/scsi-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/speakup-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/speakup-modules new file mode 100644 index 0000000..2959272 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/speakup-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/storage-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/usb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/usb-modules new file mode 100644 index 0000000..c598ded --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/usb-storage-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/virtio-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/vlan-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/arm64/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/block-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/crc-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/crypto-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/fat-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/fs-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/fs-secondary-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/i2c-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/i2c-modules new file mode 100644 index 0000000..feb2d8f --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/i2c-modules @@ -0,0 +1,4 @@ +#include +i2c-exynos5 ? +i2c-mv64xxx +i2c-rk3x diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/input-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/input-modules new file mode 100644 index 0000000..5ecb595 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/input-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/ipmi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/ipmi-modules new file mode 100644 index 0000000..d0fc979 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/ipmi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/isofs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/kernel-image b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/md-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/mouse-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/mouse-modules new file mode 100644 index 0000000..15fcb00 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/mouse-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/mtd-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/mtd-modules new file mode 100644 index 0000000..38e22a0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/mtd-modules @@ -0,0 +1,3 @@ +#include +mxc_nand ? +marvell_nand diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/multipath-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nfs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nfs-modules new file mode 100644 index 0000000..946fb8e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nfs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nic-shared-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nic-usb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nic-usb-modules new file mode 100644 index 0000000..c479669 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nic-usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nic-wireless-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/parport-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/plip-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/plip-modules new file mode 100644 index 0000000..ca7a41b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/plip-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/ppp-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/ppp-modules new file mode 100644 index 0000000..1f26aa1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/ppp-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/sata-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/sata-modules new file mode 100644 index 0000000..01318c2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/sata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/scsi-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/scsi-core-modules new file mode 100644 index 0000000..dd65d66 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/scsi-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/speakup-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/speakup-modules new file mode 100644 index 0000000..2959272 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/speakup-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/storage-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/usb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/usb-modules new file mode 100644 index 0000000..c598ded --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/usb-storage-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/vlan-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/armhf/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/block-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/block-modules new file mode 100644 index 0000000..19f9575 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/block-modules @@ -0,0 +1,43 @@ +aoe ? +aten ? +bcm2835 ? +bpck ? +bpck6 ? +cciss ? +comm ? +cpqarray ? +DAC960 ? +dstr ? +epat ? +epia ? +fit2 ? +fit3 ? +friq ? +frpw ? +hpsa ? +hio ? +kbic ? +ktti ? +nbd ? +nvme ? +on20 ? +on26 ? +paride ? +pcd ? +pd ? +pf ? +pg ? +pt ? +sdhci-tegra ? +sx8 ? +umem ? +virtio_blk ? +xen-blkfront ? +mtip32xx ? +mmc_block ? +sdhci ? +sdhci-pci ? +sdhci-acpi ? +tifm_sd ? +dw_mmc ? +dw_mmc_pltfm ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/block-modules.powerpc b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/block-modules.powerpc new file mode 100644 index 0000000..ca126b7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/block-modules.powerpc @@ -0,0 +1,31 @@ +aoe ? +aten ? +bpck ? +bpck6 ? +cciss ? +comm ? +cpqarray ? +DAC960 ? +dstr ? +epat ? +epia ? +fit2 ? +fit3 ? +friq ? +frpw ? +kbic ? +ktti ? +nbd ? +on20 ? +on26 ? +paride ? +pcd ? +pd ? +pf ? +pg ? +ps3disk ? +ps3vram ? +pt ? +sx8 ? +umem ? +virtio_blk ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/crc-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/crc-modules new file mode 100644 index 0000000..349f0af --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/crc-modules @@ -0,0 +1,7 @@ +crc-ccitt +libcrc32c +crc32_generic +crc32c_generic +crc-itu-t +crc16 +crc7 ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/crypto-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/crypto-modules new file mode 100644 index 0000000..449677a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/crypto-modules @@ -0,0 +1,78 @@ +aesni-intel ? +aes-x86_64 ? +af_alg ? +algif_hash ? +algif_skcipher ? +ansi_cprng ? +anubis ? +arc4 ? +async_memcpy ? +async_pq ? +async_raid6_recov ? +async_tx ? +async_xor ? +authenc ? +authencesn ? +blowfish_common ? +blowfish_generic ? +blowfish-x86_64 ? +camellia ? +cast5 ? +cast6 ? +ccm ? +crc32_generic ? +crc32c_generic ? +crc32-vx_s390 ? +cryptd ? +cryptoloop ? +crypto_null ? +crypto_user ? +ctr ? +cts ? +des_generic ? +fcrypt ? +gcm ? +gf128mul ? +ghash-clmulni-intel ? +ghash-generic ? +khazad ? +lrw ? +lzo ? +md4 ? +michael_mic ? +padlock-aes ? +padlock-sha ? +paes_s390 ? +pcbc ? +pcrypt ? +pkey ? +raid6test ? +rmd128 ? +rmd160 ? +rmd256 ? +rmd320 ? +salsa20_generic ? +salsa20-x86_64 ? +seed ? +seqiv ? +serpent_generic ? +serpent-sse2-x86_64 ? +sha1-ssse3 ? +sha512_generic ? +tcrypt ? +tea ? +tgr192 ? +twofish_common ? +twofish_generic ? +twofish-x86_64 ? +twofish-x86_64-3way ? +vmac ? +wp512 ? +xcbc ? +xor ? +xts ? +zcrypt ? +zcrypt_cex2a ? +zcrypt_cex4 ? +zcrypt_pcixcc ? +zlib ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/dasd-extra-modules.s390x b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/dasd-extra-modules.s390x new file mode 100644 index 0000000..fff5ab6 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/dasd-extra-modules.s390x @@ -0,0 +1 @@ +dasd_diag_mod ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/dasd-modules.s390x b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/dasd-modules.s390x new file mode 100644 index 0000000..8e6185b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/dasd-modules.s390x @@ -0,0 +1,3 @@ +dasd_mod ? +dasd_fba_mod ? +dasd_eckd_mod ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/fat-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/fat-modules new file mode 100644 index 0000000..6c56db2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/fat-modules @@ -0,0 +1,8 @@ +fat ? +vfat ? + +# Supporting modules ? +nls_cp437 ? +nls_iso8859-1 ? +nls_utf8 ? +nls_ascii ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/fb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/fb-modules new file mode 100644 index 0000000..eae829f --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/fb-modules @@ -0,0 +1,3 @@ +fbcon ? +vesafb ? +vga16fb ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/firewire-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/firewire-core-modules new file mode 100644 index 0000000..dbb9229 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/firewire-core-modules @@ -0,0 +1,4 @@ +firewire-core ? +firewire-ohci ? +firewire-sbp2 ? +firewire-net ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/floppy-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/floppy-modules new file mode 100644 index 0000000..ca8d7ff --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/floppy-modules @@ -0,0 +1 @@ +floppy ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/fs-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/fs-core-modules new file mode 100644 index 0000000..6cadcf4 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/fs-core-modules @@ -0,0 +1,5 @@ +ext2 ? +ext4 ? +jfs ? +reiserfs ? +xfs ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/fs-secondary-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/fs-secondary-modules new file mode 100644 index 0000000..db46bb7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/fs-secondary-modules @@ -0,0 +1,5 @@ +btrfs ? +fuse ? +ntfs ? +hfs ? +hfsplus ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i2c-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i2c-modules new file mode 100644 index 0000000..0c4999f --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i2c-modules @@ -0,0 +1,3 @@ +i2c-core +i2c-algo-bit +i2c-designware-platform ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/block-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/crc-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/crypto-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/fat-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/fb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/fb-modules new file mode 100644 index 0000000..aba524d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/fb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/floppy-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/floppy-modules new file mode 100644 index 0000000..bc84c4e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/floppy-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/fs-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/fs-secondary-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/isofs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/kernel-image b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/md-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/message-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/message-modules new file mode 100644 index 0000000..9b060b3 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/message-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/mouse-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/mouse-modules new file mode 100644 index 0000000..15fcb00 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/mouse-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/multipath-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/nic-shared-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/nic-wireless-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/parport-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/scsi-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/scsi-core-modules new file mode 100644 index 0000000..778a022 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/scsi-core-modules @@ -0,0 +1,4 @@ +#include + +# Needed by hv_storvsc in hyperv-modules as well as scsi-modules +scsi_transport_fc diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/serial-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/serial-modules new file mode 100644 index 0000000..6ab8b8c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/serial-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/storage-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/usb-storage-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/virtio-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/vlan-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386-virtual/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/block-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/crc-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/crypto-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/fat-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/fb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/fb-modules new file mode 100644 index 0000000..aba524d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/fb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/firewire-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/firewire-core-modules new file mode 100644 index 0000000..dcac80a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/firewire-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/floppy-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/floppy-modules new file mode 100644 index 0000000..bc84c4e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/floppy-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/fs-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/fs-secondary-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/i2c-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/i2c-modules new file mode 100644 index 0000000..203a607 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/i2c-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/input-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/input-modules new file mode 100644 index 0000000..5ecb595 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/input-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/ipmi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/ipmi-modules new file mode 100644 index 0000000..d0fc979 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/ipmi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/isofs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/kernel-image b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/md-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/message-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/message-modules new file mode 100644 index 0000000..9b060b3 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/message-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/mouse-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/mouse-modules new file mode 100644 index 0000000..15fcb00 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/mouse-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/mtd-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/mtd-core-modules new file mode 100644 index 0000000..28fdada --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/mtd-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/multipath-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nfs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nfs-modules new file mode 100644 index 0000000..946fb8e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nfs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-pcmcia-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-pcmcia-modules new file mode 100644 index 0000000..7a0702c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-pcmcia-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-shared-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-usb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-usb-modules new file mode 100644 index 0000000..c479669 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-wireless-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/parport-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/pata-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/pata-modules new file mode 100644 index 0000000..b0cd633 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/pata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/pcmcia-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/pcmcia-modules new file mode 100644 index 0000000..2bb5350 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/pcmcia-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/pcmcia-storage-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/pcmcia-storage-modules new file mode 100644 index 0000000..f73ae5b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/pcmcia-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/plip-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/plip-modules new file mode 100644 index 0000000..ca7a41b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/plip-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/ppp-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/ppp-modules new file mode 100644 index 0000000..1f26aa1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/ppp-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/sata-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/sata-modules new file mode 100644 index 0000000..01318c2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/sata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/scsi-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/scsi-core-modules new file mode 100644 index 0000000..778a022 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/scsi-core-modules @@ -0,0 +1,4 @@ +#include + +# Needed by hv_storvsc in hyperv-modules as well as scsi-modules +scsi_transport_fc diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/serial-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/serial-modules new file mode 100644 index 0000000..6ab8b8c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/serial-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/speakup-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/speakup-modules new file mode 100644 index 0000000..2959272 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/speakup-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/storage-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/usb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/usb-modules new file mode 100644 index 0000000..c598ded --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/usb-storage-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/virtio-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/vlan-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/i386/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/input-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/input-modules new file mode 100644 index 0000000..ade7913 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/input-modules @@ -0,0 +1,75 @@ +hid ? +hid-a4tech ? +hid-apple ? +hid-appleir ? +hid-aureal ? +hid-belkin ? +hid-bright ? +hid-cherry ? +hid-chicony ? +hid-corsair ? +hid-cp2112 ? +hid-cypress ? +hid-dell ? +hid-elecom ? +hid-elo ? +hid-ezkey ? +hid-generic ? +hid-gfrm ? +hid-gt683r ? +hid-gyration ? +hid-holtek-kbd ? +hid-holtek-mouse ? +hid-hyperv ? +hid-kensington ? +hid-keytouch ? +hid-kye ? +hid-lcpower ? +hid-lenovo ? +hid-logitech ? +hid-logitech-dj ? +hid-logitech-hidpp ? +hid-magicmouse ? +hid-microsoft ? +hid-monterey ? +hid-multitouch ? +hid-ntrig ? +hid-ortek ? +hid-penmount ? +hid-petalynx ? +hid-picolcd ? +hid-pl ? +hid-plantronics ? +hid-primax ? +hid-rmi ? +hid-roccat ? +hid-roccat-arvo ? +hid-roccat-common ? +hid-roccat-isku ? +hid-roccat-kone ? +hid-roccat-koneplus ? +hid-roccat-konepure ? +hid-roccat-kovaplus ? +hid-roccat-lua ? +hid-roccat-pyra ? +hid-roccat-ryos ? +hid-roccat-savu ? +hid-samsung ? +hid-sony ? +hid-speedlink ? +hid-sunplus ? +hid-thingm ? +hid-tivo ? +hid-topseed ? +hid-twinhan ? +hid-uclogic ? +hid-waltop ? +hid-wiimote ? +hid-xinmo ? +hid-zydacron ? +uhid ? +usbhid ? +drivers/hid/** +drivers/input/keyboard/** ? +drivers/hid/hid-*ff - +drivers/hid/hid-roccat-ko* - diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ipmi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ipmi-modules new file mode 100644 index 0000000..d539daa --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ipmi-modules @@ -0,0 +1,5 @@ +ipmi_devintf ? +ipmi_msghandler ? +ipmi_poweroff ? +ipmi_si ? +ipmi_watchdog ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/isofs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/isofs-modules new file mode 100644 index 0000000..0f41779 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/isofs-modules @@ -0,0 +1 @@ +isofs diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/kernel-image b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/kernel-image new file mode 100644 index 0000000..02275ce --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/kernel-image @@ -0,0 +1,31 @@ +ast ? +gpio-pca953x ? +gpio-regulator ? +hibmc-drm ? +i2c-mux ? +i2c-mux-pinctrl ? +i2c-tegra ? +max8907 ? +max8907-regulator ? +nvec ? +nvec_kbd ? +nvec_paz00 ? +nvec_power ? +nvec_ps2 ? +palmas-regulator ? +rtc-em3027 ? +rtc-max8907 ? +rtc-palmas ? +rtc-tps6586x ? +rtc-tps65910 ? +tps51632-regulator ? +tps62360-regulator ? +tps65090-charger ? +tps65090-regulator ? +tps6586x-regulator ? +tps65910-regulator ? +host1x ? +tegra-drm ? +pwm_bl ? +pwm-tegra ? +panel-simple ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/md-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/md-modules new file mode 100644 index 0000000..64217bf --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/md-modules @@ -0,0 +1,16 @@ +dm-crypt ? +dm-mirror ? +dm-raid ? +dm-snapshot ? +dm-zero ? +faulty ? +linear ? +multipath ? +raid0 ? +raid1 ? +raid10 ? +raid456 ? + +# Extras +dm-raid45 ? +dm-loop ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/message-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/message-modules new file mode 100644 index 0000000..fd0e9e2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/message-modules @@ -0,0 +1,9 @@ +mptbase ? +mptctl ? +mptfc ? +mptlan ? +mptsas ? +mpt2sas ? +mpt3sas ? +mptscsih ? +mptspi ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/message-modules.powerpc b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/message-modules.powerpc new file mode 100644 index 0000000..b9308e2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/message-modules.powerpc @@ -0,0 +1,7 @@ +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/mouse-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/mouse-modules new file mode 100644 index 0000000..7b06256 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/mouse-modules @@ -0,0 +1,2 @@ +psmouse ? +usbmouse ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/mtd-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/mtd-core-modules new file mode 100644 index 0000000..96dc6e7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/mtd-core-modules @@ -0,0 +1 @@ +mtd diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/mtd-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/mtd-modules new file mode 100644 index 0000000..90e6b13 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/mtd-modules @@ -0,0 +1 @@ +mtdblock diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/multipath-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/multipath-modules new file mode 100644 index 0000000..51b21b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/multipath-modules @@ -0,0 +1,5 @@ +dm-multipath ? +dm-round-robin ? +dm-service-time ? +dm-queue-length ? +drivers/scsi/device_handler/* diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nfs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nfs-modules new file mode 100644 index 0000000..a08f538 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nfs-modules @@ -0,0 +1,6 @@ +nfs ? +nfs_acl ? +nfsv3 ? +lockd ? +sunrpc ? +cifs ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-modules new file mode 100644 index 0000000..fa9673e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-modules @@ -0,0 +1,215 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +alx ? +amd8111e ? +amd-xgbe ? +aquantia ? +arcnet ? +arc-rawmode ? +arc-rimi ? +arlan ? +at1700 ? +ath5k ? +ath9k ? +ath9k_htc ? +atl1 ? +atl1c ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +bcm87xx ? +be2net ? +bmac ? +bnx2 ? +bnx2x ? +bnxt_en ? +bonding ? +brcmfmac ? +brcmsmac ? +broadcom ? +xgmac ? +cassini ? +ccwgroup ? +com20020 ? +com20020-pci ? +com90io ? +com90xx ? +cs89x0 ? +ctcm ? +cxgb4 ? +de2104x ? +de4x5 ? +de600 ? +de620 ? +defxx ? +depca ? +dl2k ? +dmfe ? +dummy ? +e100 ? +e1000 ? +e1000e ? +e2100 ? +eepro ? +eepro100 ? +eexpress ? +enic ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +fsm ? +ibmveth ? +ibmvnic ? +igb ? +ps3_gelic ? +hamachi ? +hclge ? +hermes ? +hfi1 ? +hinic ? +hns_dsaf ? +hns_enet_drv ? +hns_mdio ? +hns3 ? +hp ? +hp100 ? +hp-plus ? +i40e ? +i40evf ? +ibmtr ? +ipddp ? +ipw2100 ? +ipw2200 ? +iwl3945 ? +iwl4965 ? +iwl-legacy ? +iwldvm ? +iwlmvm ? +iwlwifi ? +ixgb ? +ixgbe ? +lance ? +lanstreamer ? +lcs ? +lasi_82596 ? +lne390 ? +lp486e ? +mace ? +marvell ? +mdio-thunder ? +mlx4_core ? +mlx4_en ? +mlx5_core ? +mv643xx_eth ? +myri_sbus ? +natsemi ? +ne ? +ne2 ? +ne2k-pci ? +ne3210 ? +netconsole ? +netiucv ? +netsec ? +netxen_nic ? +ni5010 ? +ni52 ? +ni65 ? +nicpf ? +nicvf ? +niu ? +ns83820 ? +olympic ? +orinoco ? +orinoco_pci ? +orinoco_plx ? +orinoco_tmd ? +pcnet32 ? +qcom-emac ? +qede ? +qeth ? +qeth_l2 ? +qeth_l3 ? +qlcnic ? +r815x ? +r8169 ? +rate_control ? +realtek ? +rfc1051 ? +rfc1201 ? +rrunner ? +rt2400 ? +rt2400pci ? +rt2500 ? +rt2500pci ? +rt2800pci ? +rt61pci ? +s2io ? +sfc ? +shaper ? +sis190 ? +sis900 ? +spidernet ? +skfp ? +skge ? +sk98lin ? +sky2 ? +smc9194 ? +smc-ultra ? +smc-ultra32 ? +starfire ? +strip ? +sunbmac ? +sundance ? +sungem ? +sungem_phy ? +sunhme ? +sunlance ? +sunqe ? +sunvnet ? +tg3 ? +tlan ? +tms380tr ? +tmspci ? +tulip ? +tun ? +typhoon ? +uli526x ? +via-rhine ? +via-velocity ? +virtio_net ? +wavelan ? +wd ? +winbond-840 ? +yellowfin ? +znet ? +vmxnet3 ? +xen-netfront ? +xgene-enet ? +drivers/net/dsa/** ? +drivers/net/ethernet/** +drivers/net/**_cs - +drivers/net/wireless/** +drivers/staging/rtl8** ? +drivers/net/wireless/**_cs - diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-modules.powerpc b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-modules.powerpc new file mode 100644 index 0000000..05c63ea --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-modules.powerpc @@ -0,0 +1,152 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +amd8111e ? +arc4 ? +arcnet ? +arc-rawmode ? +arc-rimi ? +arlan ? +at1700 ? +atl1 ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +bcm43xx ? +bcm43xx-mac80211 ? +bmac ? +bnx2 ? +bnx2x ? +bonding ? +cassini ? +com20020 ? +com20020-pci ? +com90io ? +com90xx ? +cs89x0 ? +de2104x ? +de4x5 ? +de600 ? +de620 ? +defxx ? +depca ? +dl2k ? +dmfe ? +dummy ? +e100 ? +e1000 ? +e1000e ? +e2100 ? +eepro ? +eepro100 ? +eexpress ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +igb ? +hamachi ? +hermes ? +hp ? +hp100 ? +hp-plus ? +ibmtr ? +ibmveth ? +ipddp ? +ipw2100 ? +ipw2200 ? +ipw3945 ? +ixgb ? +lance ? +lanstreamer ? +lasi_82596 ? +lne390 ? +lp486e ? +mace ? +mv643xx_eth ? +myri_sbus ? +natsemi ? +ne ? +ne2 ? +ne2k-pci ? +ne3210 ? +netconsole ? +netxen_nic ? +ni5010 ? +ni52 ? +ni65 ? +niu ? +ns83820 ? +olympic ? +orinoco ? +orinoco_pci ? +orinoco_plx ? +orinoco_tmd ? +pcnet32 ? +ps3_gelic ? +r8169 ? +rate_control ? +rfc1051 ? +rfc1201 ? +rrunner ? +rt2400 ? +rt2500 ? +rt61pci ? +s2io ? +shaper ? +sis190 ? +sis900 ? +spidernet ? +skfp ? +skge ? +sk98lin ? +sky2 ? +smc9194 ? +smc-ultra ? +smc-ultra32 ? +starfire ? +strip ? +sunbmac ? +sundance ? +sungem ? +sungem_phy ? +sunhme ? +sunlance ? +sunqe ? +sunvnet ? +tg3 ? +tlan ? +tms380tr ? +tmspci ? +tulip ? +tun ? +typhoon ? +uli526x ? +via-rhine ? +via-velocity ? +virtio_net ? +wavelan ? +wd ? +winbond-840 ? +yellowfin ? +znet ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-pcmcia-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-pcmcia-modules new file mode 100644 index 0000000..759e36a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-pcmcia-modules @@ -0,0 +1,21 @@ +3c574_cs ? +3c589_cs ? +airo_cs ? +atmel_cs ? +axnet_cs ? +com20020_cs ? +fmvj18x_cs ? +ibmtr_cs ? +netwave_cs ? +nmclan_cs ? +orinoco_cs ? +pcnet_cs ? +ray_cs ? +smc91c92_cs ? +wavelan_cs ? +wl3501_cs ? +xirc2ps_cs ? +xircom_cb ? +xircom_tulip_cb ? +drivers/net/ethernet/**_cs +drivers/net/wireless/**_cs diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-shared-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-shared-modules new file mode 100644 index 0000000..c2ef43f --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-shared-modules @@ -0,0 +1,27 @@ +# PHY +8390 ? +mii ? + +# CRC modules +crc-ccitt ? +crc-itu-t ? +libcrc32c ? + +# mac80211 stuff +mac80211 ? +cfg80211 ? + +# rt2x00 lib (since rt2x00 is split across usb/pci/cb +rt2x00lib ? +rt2800lib ? + +# Atheros library (since drivers are split across nic-modules/nic-usb-modules) +ath ? + +# Wireless 802.11 modules +lib80211 ? +cfg80211 ? +lib80211_crypt_ccmp ? +lib80211_crypt_tkip ? +lib80211_crypt_wep ? +drivers/net/phy/** diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-usb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-usb-modules new file mode 100644 index 0000000..36b82b5 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-usb-modules @@ -0,0 +1,35 @@ +ax88179_178a ? +catc ? +kaweth ? +pegasus ? +prism2_usb ? +rtl8150 ? +usbnet ? +zd1211rw ? +zd1201 ? +rt2500usb ? +rt73usb ? +rt2570 ? +rt2800usb ? +rt2x00usb ? +cdc_ether ? +asix ? +cdc_eem ? +cdc_ether ? +cdc-phonet ? +cdc_subset ? +dm9601 ? +gl620a ? +hso ? +int51x1 ? +mcs7830 ? +net1080 ? +plusb ? +rndis_host ? +r8152 ? +smsc95xx ? +zaurus ? +carl9170 ? +smsc75xx ? +smsc95xx ? +drivers/net/usb/* diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-wireless-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-wireless-modules new file mode 100644 index 0000000..09a9087 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/nic-wireless-modules @@ -0,0 +1,27 @@ +# Include wireless drivers by default +drivers/net/wireless/** + +# Include staging wireless drivers +prism2_usb ? +drivers/staging/rtl8** ? +vt6656_stage ? + +# Exclude drivers packaged in nic-pcmcia-modules +drivers/net/wireless/**_cs - +airo - +hostap_plx - + +# Don't separate these from their driver families +libertas_cs ? +spectrum_cs ? + +# Exclude drivers packaged in nic-usb-modules +rndis_wlan - + +# Exclude debug driver +mac80211_hwsim - + +# lib80211 encryption algorithms +lib80211_crypt_wep ? +lib80211_crypt_ccmp ? +lib80211_crypt_tkip ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/parport-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/parport-modules new file mode 100644 index 0000000..75fe0b9 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/parport-modules @@ -0,0 +1,2 @@ +parport ? +parport_pc ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/pata-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/pata-modules new file mode 100644 index 0000000..9c9c640 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/pata-modules @@ -0,0 +1,48 @@ +pata_ali ? +pata_amd ? +pata_artop ? +pata_atiixp ? +pata_atp867x ? +pata_cmd640 ? +pata_cmd64x ? +pata_cs5520 ? +pata_cs5530 ? +pata_cs5535 ? +pata_cs5536 ? +pata_cypress ? +pata_efar ? +pata_hpt366 ? +pata_hpt37x ? +pata_hpt3x2n ? +pata_hpt3x3 ? +pata_isapnp ? +pata_it8213 ? +pata_it821x ? +pata_jmicron ? +pata_legacy ? +pata_macio ? +pata_marvell ? +pata_mpiix ? +pata_netcell ? +pata_ninja32 ? +pata_ns87410 ? +pata_ns87415 ? +pata_oldpiix ? +pata_optidma ? +pata_opti ? +pata_pcmcia ? +pata_pdc2027x ? +pata_pdc202xx_old ? +pata_qdi ? +pata_radisys ? +pata_rdc ? +pata_rz1000 ? +pata_sc1200 ? +pata_sch ? +pata_serverworks ? +pata_sil680 ? +pata_sl82c105 ? +pata_triflex ? +pata_via ? +pata_winbond ? +drivers/ata/pata_* diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/pcmcia-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/pcmcia-modules new file mode 100644 index 0000000..06a5031 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/pcmcia-modules @@ -0,0 +1,8 @@ +i82092 ? +i82365 ? +pcmcia ? +pcmcia_core ? +pd6729 ? +rsrc_nonstatic ? +tcic ? +yenta_socket ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/pcmcia-storage-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/pcmcia-storage-modules new file mode 100644 index 0000000..bb042a6 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/pcmcia-storage-modules @@ -0,0 +1,6 @@ +pata_pcmcia ? +qlogic_cs ? +fdomain_cs ? +aha152x_cs ? +nsp_cs ? +sym53c500_cs ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/plip-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/plip-modules new file mode 100644 index 0000000..446e2bd --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/plip-modules @@ -0,0 +1 @@ +plip ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/block-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/crc-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/crypto-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/fat-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/fb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/fb-modules new file mode 100644 index 0000000..9b0ad3c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/fb-modules @@ -0,0 +1,3 @@ +#include + +ast diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/floppy-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/floppy-modules new file mode 100644 index 0000000..bc84c4e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/floppy-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/fs-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/fs-secondary-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/i2c-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/i2c-modules new file mode 100644 index 0000000..203a607 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/i2c-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/input-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/input-modules new file mode 100644 index 0000000..5ecb595 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/input-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/ipmi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/ipmi-modules new file mode 100644 index 0000000..d0fc979 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/ipmi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/isofs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/kernel-image b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/md-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/message-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/message-modules new file mode 100644 index 0000000..9b060b3 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/message-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/mtd-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/mtd-core-modules new file mode 100644 index 0000000..28fdada --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/mtd-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/multipath-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nfs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nfs-modules new file mode 100644 index 0000000..946fb8e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nfs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nic-shared-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nic-usb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nic-usb-modules new file mode 100644 index 0000000..c479669 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nic-usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nic-wireless-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/parport-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/plip-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/plip-modules new file mode 100644 index 0000000..ca7a41b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/plip-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/ppp-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/ppp-modules new file mode 100644 index 0000000..1f26aa1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/ppp-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/sata-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/sata-modules new file mode 100644 index 0000000..01318c2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/sata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/scsi-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/scsi-core-modules new file mode 100644 index 0000000..dd65d66 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/scsi-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/serial-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/serial-modules new file mode 100644 index 0000000..6ab8b8c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/serial-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/storage-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/storage-core-modules new file mode 100644 index 0000000..ebffb37 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/storage-core-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/usb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/usb-modules new file mode 100644 index 0000000..c598ded --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/usb-storage-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/virtio-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/vlan-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppc64el/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppp-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppp-modules new file mode 100644 index 0000000..d4f6a92 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/ppp-modules @@ -0,0 +1,6 @@ +ppp_async ? +ppp_deflate ? +ppp_mppe ? +pppoe ? +pppox ? +ppp_synctty ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/block-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/crc-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/crypto-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/crypto-modules new file mode 100644 index 0000000..120faaa --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/crypto-modules @@ -0,0 +1,2 @@ +#include +deflate ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/dasd-extra-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/dasd-extra-modules new file mode 100644 index 0000000..239bf33 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/dasd-extra-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/dasd-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/dasd-modules new file mode 100644 index 0000000..26d9e8a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/dasd-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/fat-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/fs-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/fs-secondary-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/isofs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/kernel-image b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/md-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/multipath-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/nfs-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/nfs-modules new file mode 100644 index 0000000..946fb8e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/nfs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/nic-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/nic-shared-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/scsi-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/scsi-core-modules new file mode 100644 index 0000000..dd65d66 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/scsi-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/storage-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/virtio-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/vlan-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/s390x/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/sata-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/sata-modules new file mode 100644 index 0000000..151319b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/sata-modules @@ -0,0 +1,20 @@ +sata_inic162x ? +sata_mv ? +sata_nv ? +sata_promise ? +sata_qstor ? +sata_sil24 ? +sata_sil ? +sata_sis ? +sata_svw ? +sata_sx4 ? +sata_uli ? +sata_via ? +sata_vsc ? +ahci_platform ? +ahci ? +acard-ahci ? +libahci ? +ahci_xgene ? +drivers/ata/ahci* ? +drivers/ata/sata_* diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/scsi-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/scsi-core-modules new file mode 100644 index 0000000..e0d1d8f --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/scsi-core-modules @@ -0,0 +1,4 @@ +scsi_mod +sd_mod +scsi_transport_sas ? +scsi_transport_spi ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/scsi-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/scsi-modules new file mode 100644 index 0000000..697bfea --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/scsi-modules @@ -0,0 +1,144 @@ +# SCSI +raid_class ? +scsi_transport_spi ? +scsi_transport_fc ? +scsi_transport_iscsi ? +scsi_transport_sas ? +sr_mod ? +iscsi_tcp ? +libiscsi ? +amiga7xx ? +a3000 ? +a2091 ? +gvp11 ? +mvme147 ? +sgiwd93 ? +cyberstorm ? +cyberstormII ? +blz2060 ? +blz1230 ? +fastlane ? +oktagon_esp_mod ? +atari_scsi ? +mac_scsi ? +mac_esp ? +sun3_scsi ? +mvme16x ? +bvme6000 ? +sim710 ? +advansys ? +pm80xx ? +psi240i ? +BusLogic ? +dpt_i2o ? +u14-34f ? +ultrastor ? +aha152x ? +aha1542 ? +aha1740 ? +aic7xxx_old ? +ips ? +fd_mcs ? +fdomain ? +fnic ? +in2000 ? +g_NCR5380 ? +g_NCR5380_mmio ? +NCR53c406a ? +NCR_D700 ? +NCR_Q720_mod ? +sym53c416 ? +qlogicfas408 ? +qla1280 ? +pas16 ? +seagate ? +seagate ? +t128 ? +dmx3191d ? +dtc ? +zalon7xx ? +eata_pio ? +wd7000 ? +mca_53c9x ? +ibmmca ? +eata ? +dc395x ? +tmscsim ? +megaraid ? +atp870u ? +esp ? +gdth ? +initio ? +a100u2w ? +qlogicpti ? +ide-scsi ? +mesh ? +mac53c94 ? +pluto ? +dec_esp ? +3w-xxxx ? +3w-9xxx ? +ppa ? +imm ? +jazz_esp ? +sun3x_esp ? +fcal ? +lasi700 ? +nsp32 ? +hptiop ? +stex ? +osst ? +sg ? +ch ? +scsi_debug ? +aacraid ? +aic7xxx ? +aic79xx ? +aic94xx ? +arcmsr ? +acornscsi_mod ? +arxescsi ? +cumana_1 ? +cumana_2 ? +ecoscsi ? +oak ? +powertec ? +eesox ? +ibmvscsi ? +ibmvfc ? +libsas ? +lpfc ? +megaraid_mm ? +megaraid_mbox ? +megaraid_sas ? +qla2xxx ? +sym53c8xx ? +qla4xxx ? +mvsas ? +vmw_pvscsi ? +ums-cypress ? +be2iscsi ? +3w-sas ? +isci ? +mlx4_ib ? +mlx5_ib ? +zfcp ? +sd_mod ? +hisi_sas_v2_hw ? +hisi_sas_v3_hw ? +iscsi_ibft ? + +# device handlers +scsi_dh_alua ? +scsi_dh_emc ? +scsi_dh_rdac ? +scsi_dh_hp_sw ? + +smartpqi ? +drivers/scsi/** +drivers/scsi/pcmcia/* - +drivers/scsi/cxgbi/* - +drivers/scsi/device_handler/* - +drivers/scsi/lib** - +drivers/scsi/osd/* - +drivers/scsi/scsi_transport_* - diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/scsi-modules.powerpc b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/scsi-modules.powerpc new file mode 100644 index 0000000..2e77f63 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/scsi-modules.powerpc @@ -0,0 +1,118 @@ +# SCSI +raid_class ? +scsi_transport_spi ? +scsi_transport_fc ? +scsi_transport_iscsi ? +scsi_transport_sas ? +iscsi_tcp ? +libiscsi ? +amiga7xx ? +a3000 ? +a2091 ? +gvp11 ? +mvme147 ? +sgiwd93 ? +cyberstorm ? +cyberstormII ? +blz2060 ? +blz1230 ? +fastlane ? +oktagon_esp_mod ? +atari_scsi ? +mac_scsi ? +mac_esp ? +sun3_scsi ? +mvme16x ? +bvme6000 ? +sim710 ? +advansys ? +psi240i ? +BusLogic ? +dpt_i2o ? +u14-34f ? +ultrastor ? +aha152x ? +aha1542 ? +aha1740 ? +aic7xxx_old ? +ips ? +fd_mcs ? +fdomain ? +in2000 ? +g_NCR5380 ? +g_NCR5380_mmio ? +NCR53c406a ? +NCR_D700 ? +NCR_Q720_mod ? +sym53c416 ? +qlogicfas408 ? +qla1280 ? +pas16 ? +seagate ? +seagate ? +t128 ? +dmx3191d ? +dtc ? +zalon7xx ? +eata_pio ? +wd7000 ? +mca_53c9x ? +ibmmca ? +ibmvfc ? +ibmvscsi ? +eata ? +dc395x ? +tmscsim ? +megaraid ? +atp870u ? +esp ? +gdth ? +initio ? +a100u2w ? +qlogicpti ? +ide-scsi ? +mesh ? +mac53c94 ? +pluto ? +dec_esp ? +3w-xxxx ? +3w-9xxx ? +ppa ? +imm ? +jazz_esp ? +sun3x_esp ? +fcal ? +lasi700 ? +nsp32 ? +ipr ? +hptiop ? +stex ? +osst ? +sg ? +ch ? +scsi_debug ? +aacraid ? +aic7xxx ? +aic79xx ? +aic94xx ? +arcmsr ? +acornscsi_mod ? +arxescsi ? +cumana_1 ? +cumana_2 ? +ecoscsi ? +oak ? +powertec ? +eesox ? +ibmvscsic ? +libsas ? +lpfc ? +megaraid_mm ? +megaraid_mbox ? +megaraid_sas ? +qla2xxx ? +sym53c8xx ? +qla4xxx ? +mvsas ? +sr_mod ? +sd_mod ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/serial-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/serial-modules new file mode 100644 index 0000000..5e5cef5 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/serial-modules @@ -0,0 +1,6 @@ +rp2 ? +generic_serial ? +serial_cs ? +synclink_cs ? +hyperv-keyboard ? +drivers/usb/serial/* diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/speakup-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/speakup-modules new file mode 100644 index 0000000..c3bef91 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/speakup-modules @@ -0,0 +1,16 @@ +speakup ? +speakup_acntpc ? +speakup_acntsa ? +speakup_apollo ? +speakup_audptr ? +speakup_bns ? +speakup_decext ? +speakup_dectlk ? +speakup_dtlk ? +speakup_dummy ? +speakup_keypc ? +speakup_ltlk ? +speakup_soft ? +speakup_spkout ? +speakup_txprt ? +speakup_decpc ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/storage-core-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/storage-core-modules new file mode 100644 index 0000000..3d534d2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/storage-core-modules @@ -0,0 +1,17 @@ +# Core stacks +usb-storage ? + +# Block level +ata_piix ? +ata_generic ? + +# Loop modules +cryptoloop ? + +# Needs to be here for better cdrom initrd layout +isofs ? + +# Needed for NVMe disks under VMD PCIe domains +vmd ? +drivers/usb/storage/* +drivers/mmc/host/** diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/storage-core-modules.powerpc b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/storage-core-modules.powerpc new file mode 100644 index 0000000..de158a9 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/storage-core-modules.powerpc @@ -0,0 +1,13 @@ +# Core stacks +usb-storage ? + +# Block level + +# Loop modules +cryptoloop + +# Needs to be here for better cdrom initrd layout +isofs + +ps3stor_lib ? +ps3rom ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/usb-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/usb-modules new file mode 100644 index 0000000..0bb89c0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/usb-modules @@ -0,0 +1,26 @@ +ehci-hcd ? +isp116x-hcd ? +isp1760 ? +ohci-hcd ? +r8a66597-hcd ? +sl811_cs ? +sl811-hcd ? +u132-hcd ? +uhci-hcd ? +xhci-hcd ? +xhci-plat-hcd ? +ehci-tegra ? +ehci-msm ? +ehci-platform ? +uas ? +drivers/usb/host/** +drivers/usb/c67x00/* ? +drivers/usb/chipidea/* ? +drivers/usb/dwc2/* ? +drivers/usb/dwc3/* ? +drivers/usb/isp1760/* ? +drivers/usb/musb/* ? +drivers/usb/renesas_usbhs/* ? +drivers/phy/phy-*-usb* ? +drivers/phy/*/phy-*-usb* ? +drivers/usb/phy/* ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/usb-storage-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/usb-storage-modules new file mode 100644 index 0000000..013c58c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/usb-storage-modules @@ -0,0 +1,2 @@ +# Include USB storage drivers by default +drivers/usb/storage/* diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/virtio-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/virtio-modules new file mode 100644 index 0000000..a7bcbb7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/virtio-modules @@ -0,0 +1,11 @@ +virtio_balloon ? +virtio_pci ? +virtio_ring ? +virtio-rng ? +virtio_scsi ? +hv_vmbus ? +hv_utils ? +hv_netvsc ? +hv_mouse ? +hv_storvsc ? +hv_balloon ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/vlan-modules b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/vlan-modules new file mode 100644 index 0000000..3d65a55 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/modules/vlan-modules @@ -0,0 +1,3 @@ +slp ? +garp ? +8021q ? diff --git a/helpers/DATA/linux-hwe-6.5/udeb/d-i/package-list b/helpers/DATA/linux-hwe-6.5/udeb/d-i/package-list new file mode 100644 index 0000000..c7a5c84 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/d-i/package-list @@ -0,0 +1,255 @@ +Package: kernel-image +Provides: ext3-modules, ext4-modules, squashfs-modules +Provides_amd64: efi-modules, ext3-modules, ext4-modules, squashfs-modules +Provides_i386: efi-modules, ext3-modules, ext4-modules, squashfs-modules +Provides_ppc64el: ext3-modules, ext4-modules, fat-modules, squashfs-modules, i2c-modules +Provides_s390x: ext3-modules, ext4-modules, ppp-modules, squashfs-modules +Description: kernel image and system map + +Package: dasd-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: DASD storage support + +Package: dasd-extra-modules +Depends: dasd-modules +Priority: extra +Description: DASD storage support -- extras + +Package: fat-modules +Depends: kernel-image +Priority: optional +Priority_amd64: standard +Priority_i386: standard +Description: FAT filesystem support + This includes Windows FAT and VFAT support. + +Package: fb-modules +Depends: kernel-image, i2c-modules +Priority: standard +Description: Framebuffer modules + +Package: firewire-core-modules +Depends: kernel-image, storage-core-modules, crc-modules +Priority: standard +Description: Firewire (IEEE-1394) Support + +Package: floppy-modules +Depends: kernel-image +Priority: standard +Description: Floppy driver support + +Package: fs-core-modules +Depends: kernel-image +Priority: standard +Provides: ext2-modules, jfs-modules, reiserfs-modules, xfs-modules +Description: Base filesystem modules + This includes jfs, reiserfs and xfs. + +Package: fs-secondary-modules +Depends: kernel-image, fat-modules, cdrom-core-modules +Priority: standard +Provides: btrfs-modules, ntfs-modules, hfs-modules +Description: Extra filesystem modules + This includes support for Windows NTFS and MacOS HFS/HFSPlus + +Package: input-modules +Depends: kernel-image, usb-modules, crc-modules, i2c-modules +Priority: standard +Description: Support for various input methods + +Package: md-modules +Depends: kernel-image +Priority: standard +Provides: crypto-dm-modules +Description: Multi-device support (raid, device-mapper, lvm) + +Package: nic-modules +Depends: kernel-image, nic-shared-modules, virtio-modules, i2c-modules, crc-modules, mtd-core-modules +Priority: standard +Description: Network interface support + +Package: nic-wireless-modules +Depends: kernel-image, nic-shared-modules, usb-modules, pcmcia-modules, crc-modules, crypto-modules +Priority: standard +Description: Wireless NIC drivers + This package contains wireless NIC drivers for the kernel. + Includes crypto modules only needed for wireless (WEP, WPA). + +Package: nic-pcmcia-modules +Depends: kernel-image, nic-shared-modules, nic-modules +Priority: standard +Description: PCMCIA network interface support + +Package: nic-usb-modules +Depends: kernel-image, nic-shared-modules, usb-modules +Priority: standard +Description: USB network interface support + +Package: nic-shared-modules +Depends: kernel-image, crypto-modules +Priority: standard +Description: nic shared modules + This package contains modules which support nic modules + +Package: parport-modules +Depends: kernel-image +Priority: standard +Description: Parallel port support + +Package: pata-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: PATA support modules + +Package: pcmcia-modules +Depends: kernel-image +Priority: standard +Description: PCMCIA Modules + +Package: pcmcia-storage-modules +Depends: kernel-image, scsi-modules +Priority: standard +Description: PCMCIA storage support + +Package: plip-modules +Depends: kernel-image, nic-shared-modules, parport-modules +Priority: standard +Description: PLIP (parallel port) networking support + +Package: ppp-modules +Depends: kernel-image, nic-shared-modules, serial-modules, crc-modules +Priority: standard +Description: PPP (serial port) networking support + +Package: sata-modules +Depends: kernel-image, storage-core-modules, scsi-core-modules +Priority: standard +Description: SATA storage support + +Package: scsi-modules +Depends: kernel-image, storage-core-modules, scsi-core-modules +Priority: standard +Description: SCSI storage support + +Package: serial-modules +Depends: kernel-image, pcmcia-modules +Priority: standard +Description: Serial port support + +Package: storage-core-modules +Depends: kernel-image +Priority: standard +Provides: loop-modules +Description: Core storage support + Includes core SCSI, LibATA, USB-Storage. Also includes related block + devices for CD, Disk and Tape medium (and IDE Floppy). + +Package: usb-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: Core USB support + +Package: nfs-modules +Priority: standard +Depends: kernel-image +Description: NFS filesystem drivers + Includes the NFS client driver, and supporting modules. + +Package: block-modules +Priority: standard +Provides: nbd-modules +Depends: kernel-image, storage-core-modules, parport-modules, virtio-modules +Description: Block storage devices + This package contains the block storage devices, including DAC960 and + paraide. + +Package: message-modules +Priority: standard +Depends: kernel-image, storage-core-modules, scsi-modules +Description: Fusion and i2o storage modules + This package containes the fusion and i2o storage modules. + +Package: crc-modules +Depends: kernel-image +Priority: optional +Description: CRC modules + This package contains CRC support modules. + +Package: crypto-modules +Priority: extra +Depends: kernel-image +Description: crypto modules + This package contains crypto modules. + +Package: virtio-modules +Priority: standard +Depends: kernel-image +Description: VirtIO Modules + Includes modules for VirtIO (virtual machine, generally kvm guests) + +Package: socket-modules +Depends: kernel-image +Priority: standard +Description: Unix socket support + +Package: mouse-modules +Depends: kernel-image, input-modules, usb-modules +Priority: extra +Description: Mouse support + This package contains mouse drivers for the Linux kernel. + +Package: vlan-modules +Depends: kernel-image +Priority: extra +Description: vlan modules + This package contains vlan (8021.Q) modules. + +Package: ipmi-modules +Depends: kernel-image +Priority: standard +Description: ipmi modules + +Package: multipath-modules +Depends: kernel-image, scsi-core-modules +Priority: extra +Description: DM-Multipath support + This package contains modules for device-mapper multipath support. + +Package: isofs-modules +Depends: kernel-image, cdrom-core-modules +Priority: standard +Description: ISOFS filesystem support + This package contains the ISOFS filesystem module for the kernel. + +Package: usb-storage-modules +Depends: kernel-image, scsi-core-modules, usb-modules +Priority: standard +Description: USB storage support + This package contains the USB storage driver for the kernel. + +Package: scsi-core-modules +Depends: kernel-image +Provides: cdrom-core-modules +Priority: standard +Description: Core SCSI subsystem + This package contains the core SCSI subsystem for the kernel. + +Package: i2c-modules +Depends: kernel-image +Priority: optional +Description: i2c support modules + This package contains basic i2c support modules + +Package: mtd-modules +Depends: kernel-image, mtd-core-modules +Priority: optional +Description: MTD driver modules + This package contains MTD driver modules. + +Package: mtd-core-modules +Depends: kernel-image +Priority: optional +Description: MTD core + This package contains the MTD core. + diff --git a/helpers/DATA/linux-hwe-6.5/udeb/disable_zstd_module_compression.patch b/helpers/DATA/linux-hwe-6.5/udeb/disable_zstd_module_compression.patch new file mode 100644 index 0000000..0722b73 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.5/udeb/disable_zstd_module_compression.patch @@ -0,0 +1,15 @@ +diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk_ +index bc873563..d6692ca1 100644 +--- a/debian/rules.d/0-common-vars.mk ++++ b/debian/rules.d/0-common-vars.mk_ +@@ -197,8 +197,9 @@ do_dtbs=false + do_fips_checks=false + + # ZSTD compressed kernel modules ++ifeq ($(filter $(series),jammy aramo),) + do_zstd_ko=true +-ifeq ($(series),jammy) ++else + do_zstd_ko= + endif + diff --git a/helpers/DATA/linux/000-silent-accept-firmware.patch b/helpers/DATA/linux-hwe-6.8/000-silent-accept-firmware.patch similarity index 99% rename from helpers/DATA/linux/000-silent-accept-firmware.patch rename to helpers/DATA/linux-hwe-6.8/000-silent-accept-firmware.patch index 139d0c4..d0c1e83 100644 --- a/helpers/DATA/linux/000-silent-accept-firmware.patch +++ b/helpers/DATA/linux-hwe-6.8/000-silent-accept-firmware.patch @@ -1503,19 +1503,16 @@ diff --color -Nru a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c b/driver err = request_firmware_nowait(THIS_MODULE, 1, wowlan_fw_name, rtlpriv->io.dev, GFP_KERNEL, hw, -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c -index 36d0deef..5f03247f 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c -@@ -289,9 +289,9 @@ static int amdgpu_discovery_read_binary_from_file(struct amdgpu_device *adev, - r = firmware_request_nowarn(&fw, fw_name, adev->dev); +diff -Nru --color a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 2023-03-13 07:14:05.000000000 +0000 ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 2023-03-13 07:46:23.778827386 +0000 +@@ -223,8 +223,7 @@ + + r = request_firmware(&fw, fw_name, adev->dev); if (r) { - if (amdgpu_discovery == 2) -- dev_err(adev->dev, "can't load firmware \"%s\"\n", fw_name); -+ dev_err(adev->dev, "can't load firmware\n"); - else -- drm_info(&adev->ddev, "Optional firmware \"%s\" was not found\n", fw_name); -+ drm_info(&adev->ddev, "Optional firmware was not found\n"); +- dev_err(adev->dev, "can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "can't load firmware\n"); return r; } diff --git a/helpers/DATA/linux-hwe-6.8/001-revert_iwlwifi_clear_firmware1.patch b/helpers/DATA/linux-hwe-6.8/001-revert_iwlwifi_clear_firmware1.patch new file mode 100644 index 0000000..a1149cf --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/001-revert_iwlwifi_clear_firmware1.patch @@ -0,0 +1,21 @@ +reverts https://lore.kernel.org/all/iwlwifi.20211210110539.1f742f0eb58a.I1315f22f6aa632d94ae2069f85e1bca5e734dce0@changeid/ + +--- b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c ++++ a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +@@ -1597,8 +1597,15 @@ + * else from proceeding if the module fails to load + * or hangs loading. + */ ++ if (load_module) { +- if (load_module) + request_module("%s", op->name); ++#ifdef CONFIG_IWLWIFI_OPMODE_MODULAR ++ if (err) ++ IWL_ERR(drv, ++ "failed to load module %s (error %d), is dynamic loading enabled?\n", ++ op->name, err); ++#endif ++ } + failure = false; + goto free; + diff --git a/helpers/DATA/linux-hwe-6.14/002-revert_iwlwifi_clear_firmware2.patch b/helpers/DATA/linux-hwe-6.8/002-revert_iwlwifi_clear_firmware2.patch similarity index 56% rename from helpers/DATA/linux-hwe-6.14/002-revert_iwlwifi_clear_firmware2.patch rename to helpers/DATA/linux-hwe-6.8/002-revert_iwlwifi_clear_firmware2.patch index 2597a66..22879b6 100644 --- a/helpers/DATA/linux-hwe-6.14/002-revert_iwlwifi_clear_firmware2.patch +++ b/helpers/DATA/linux-hwe-6.8/002-revert_iwlwifi_clear_firmware2.patch @@ -20,32 +20,14 @@ reverts https://lore.kernel.org/all/iwlwifi.20211210110539.1f742f0eb58a.I1315f22 fw->ucode_capa.max_probe_length = IWL_DEFAULT_MAX_PROBE_LENGTH; fw->ucode_capa.standard_phy_calibration_size = -# this is change is related to patch "001" need review. -#@@ -1699,7 +1695,6 @@ -# op->name, err); -# #endif -# } -#- failure = false; -# goto free; -# -# try_again: - -diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -index 81d06847..9d13e812 100644 ---- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -@@ -1717,7 +1717,6 @@ static void iwl_req_fw_callback(const struct firmware *ucode_raw, void *context) - - complete(&drv->request_firmware_complete); - +@@ -1699,7 +1695,6 @@ + op->name, err); + #endif + } - failure = false; goto free; try_again: -diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -index 81d06847..9d13e812 100644 ---- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c @@ -1715,9 +1710,6 @@ complete(&drv->request_firmware_complete); device_release_driver(drv->trans->dev); diff --git a/helpers/DATA/linux-hwe-6.8/003-revert_iwlwifi_clear_firmware3.patch b/helpers/DATA/linux-hwe-6.8/003-revert_iwlwifi_clear_firmware3.patch new file mode 100644 index 0000000..b30d597 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/003-revert_iwlwifi_clear_firmware3.patch @@ -0,0 +1,13 @@ +reverts https://lore.kernel.org/all/iwlwifi.20211210110539.1f742f0eb58a.I1315f22f6aa632d94ae2069f85e1bca5e734dce0@changeid/ + +diff -ru source.orig/drivers/net/wireless/intel/iwlwifi/iwl-drv.c source/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +--- source.orig/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2022-05-13 16:10:11.883295769 -0400 ++++ source/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2022-05-13 20:13:06.568151229 -0400 +@@ -1605,7 +1605,6 @@ + complete(&drv->request_firmware_complete); + device_release_driver(drv->trans->dev); + /* drv has just been freed by the release */ +- failure = false; + free: + if (pieces) { + for (i = 0; i < ARRAY_SIZE(pieces->img); i++) diff --git a/helpers/DATA/linux-hwe-6.11/004-enable_blobless_activation_radeon.patch b/helpers/DATA/linux-hwe-6.8/004-enable_blobless_activation_radeon.patch similarity index 100% rename from helpers/DATA/linux-hwe-6.11/004-enable_blobless_activation_radeon.patch rename to helpers/DATA/linux-hwe-6.8/004-enable_blobless_activation_radeon.patch diff --git a/helpers/DATA/linux-hwe-6.11/005-removal_of_external_recommendation_for_firmware.patch b/helpers/DATA/linux-hwe-6.8/005-removal_of_external_recommendation_for_firmware.patch similarity index 100% rename from helpers/DATA/linux-hwe-6.11/005-removal_of_external_recommendation_for_firmware.patch rename to helpers/DATA/linux-hwe-6.8/005-removal_of_external_recommendation_for_firmware.patch diff --git a/helpers/DATA/linux-hwe-6.8/check.sh b/helpers/DATA/linux-hwe-6.8/check.sh new file mode 100644 index 0000000..ea1f2c7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/check.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +files=`find -type f` +while read -r line +do + ./deblob-check $line +done <<< "$files" diff --git a/helpers/DATA/linux/deblob-6.8 b/helpers/DATA/linux-hwe-6.8/deblob-6.8 similarity index 100% rename from helpers/DATA/linux/deblob-6.8 rename to helpers/DATA/linux-hwe-6.8/deblob-6.8 diff --git a/helpers/DATA/linux-hwe-6.11/deblob-check b/helpers/DATA/linux-hwe-6.8/deblob-check similarity index 93% rename from helpers/DATA/linux-hwe-6.11/deblob-check rename to helpers/DATA/linux-hwe-6.8/deblob-check index ce60043..14f957d 100644 --- a/helpers/DATA/linux-hwe-6.11/deblob-check +++ b/helpers/DATA/linux-hwe-6.8/deblob-check @@ -1,11 +1,12 @@ #! /bin/sh -# deblob-check version 2024-09-11 r19629 -# modified with 2024-10-06 r19637 -# modified with 2024-10-10 r19644 -# modified with 2024-10-18 r19651 -# modified with 2024-11-08 r19664 -# modified with 2024-12-05 r19676 +# deblob-check version 2024-03-05 r19501 +# modified with 2024-03-27 r19512 +# modified with 2024-03-29 r19515 +# modified with 2024-03-29 r19518 +# modified with 2024-04-14 r19529 +# modified with 2024-04-28 r19540 +# modified with 2024-05-23 r19567 # Inspired in gNewSense's find-firmware script. # Written by Alexandre Oliva @@ -5971,8 +5972,7 @@ set_except () { accept '\(extern[ ]\)\?int[ ]load_msr_list[(][^)]*[)][;]' drivers/staging/media/atomisp/include/linux/libmsrlisthelper.h blobname 'qca[/]crbtfw%02x\.tlv' drivers/bluetooth/btqca.c blobname 'qca[/]htbtfw%02x\.tlv' drivers/bluetooth/btqca.c - # Moved down. - # blobname 'qca[/]%s' drivers/bluetooth/btqca.c + blobname 'qca[/]%s' drivers/bluetooth/btqca.c accept '[\t]quirks[ \t]*=[ ]XHCI_RENESAS_FW_QUIRK[,][\n][\t]\.firmware[ ]=' drivers/usb/host/xhci-pci.c accept '[\t]*dev_err[(][&]pdev->dev[,][ ]["]request_firmware[ ]failed' drivers/usb/host/xhci-pci-renesas.c accept 'EXPORT_SYMBOL_GPL[(]load_msr_list[)]' drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c @@ -6741,7 +6741,6 @@ set_except () { defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U64[ ]ZSTD_ldm_gearTab\[256\][ ]=' lib/zstd/compress/zstd_ldm_geartab.h defsnc '[ ]*[{][ ]*unsigned[ ]const[ ]base\(LL\|OFC\)freqs\[Max\(LL\|Off\)[+]1\][ ]=' lib/zstd/compress/zstd_opt.c defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U8[ ]OF_bits\[MaxOff[+]1\][ ]=' lib/zstd/decompress/zstd_decompress_internal.h - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1318_reg\[\][ ]=' sound/soc/codecs/rt1318.c defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt1318_blind_write\[\][ ]=' sound/soc/codecs/rt1318-sdw.c defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1318_reg_defaults\[\][ ]=' sound/soc/codecs/rt1318-sdw.c # Topology files are presumed not code, but since we block the @@ -6864,7 +6863,7 @@ set_except () { accept '[\t][\t]*dev_err[(]adsp->dev[,][ ]["]request_firmware[ ]failed' drivers/remoteproc/qcom_q6v5_pas.c accept 'static[ ]int[ ]aw88395_request_firmware_file[(]struct[ ]aw88395[ ][*]aw88395[)]' sound/soc/codecs/aw88395/aw88395.c accept '[\t]ret[ ]=[ ]aw88395_request_firmware_file[(]aw88395[)]' sound/soc/codecs/aw88395/aw88395.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->pm\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/'\(amdgpu/amdgpu_cgs\|pm/\(legacy-dpm/si_dpm\|swsmu/smu1[13]/smu_v1[13]_0\)\)\.c' + accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->pm\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/'\(amdgpu/amdgpu_cgs\|pm/\(legacy-dpm/si_dpm\)swsmu/smu1[13]/smu_v1[13]_0\)\)\.c' accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->firmware\.gpu_info_fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_device.c accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->mes\.fw\[pipe\][,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->psp\.\(asd\|toc\|sos\|ta\|cap\)_fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c @@ -6986,7 +6985,7 @@ set_except () { # The following is not new, it was just moved down to allow for # new patterns to match despite being prefixed by it, when using # non-NDA regexp engines. - # blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c defsnc 'static[ ]const[ ]struct[ ]dm_bl_data_point[ ]custom_backlight_curve0\[\][ ]=' drivers/gpu/drm/amd/display/modules/power/power_helpers.c defsnc 'static[ ]unsigned[ ]short[ ]meson_encl_gamma_table\[256\][ ]=' drivers/gpu/drm/meson/meson_venc.c blobname 'a6[19]0_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c @@ -7302,475 +7301,17 @@ set_except () { blobname 'iwlwifi-\(sc\)-[ab]0-\(fm\|hr\|gf4\?\|wh\)-[abc]0' drivers/net/wireless/intel/iwlwifi/cfg/sc.c blobname 'iwlwifi-[^ ]*-[ab]0-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c - # New in 6.9-rc - accept '[ ]*to[ ]run[ ]with[ ]the[ ]latest[ ]updated[ ]microcode\.' Documentation/admin-guide/hw-vuln/spectre.rst - # These seem to be example file names to be supplied by the user - # in DTS files, not the name of actual firmware files. - accept '[\t ]*firmware-name[ ]=[ ]["]zynq-gpio\(-partial\)\?\.bin["][;]' Documentation/devicetree/bindings/fpga/fpga-region.txt - blobname 'mediatek[/]mt8186[/]scp\.img' arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi - blobname 'qcom[/]qcm6490[/]fairphone5[/]venus\.mbn' arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts - blobname 'qcom[/]sa8295p[/]a690_zap\.mbn' arch/arm64/boot/dts/qcom/sa8295p-adp.dts - blobname 'qcom[/]sm7225[/]fairphone4[/]\([ac]dsp\|a615_zap\|ipa_fws\|modem\)\.mbn' arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts - blobname 'qcom[/]sm8550[/]\(ipa_fws\|a740_zap\|\([ac]dsp\|modem\)\(_dtb\)\?\)\.mbn' arch/arm64/boot/dts/qcom/sm8550-hdk.dts - blobname 'qcom[/]x1e80100[/][ac]dsp\(_dtb\)\?\.mbn' arch/arm64/boot/dts/qcom/x1e80100-'\(crd\|qcp\)'.dts - blobname 'ti-pruss[/]am64x-sr2-\(\(\|tx\)pru\|rtu\)[01]-prueth-fw\.elf' arch/arm64/boot/dts/ti/k3-am642-evm.dts - blobname 'ti-pruss[/]am65x-sr2-\(\(\|tx\)pru\|rtu\)[01]-prueth-fw\.elf' arch/arm64/boot/dts/ti/k3-am642-sr-som.dtsi - accept 'K256:\([\n][ ]*\.word[ ]*0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)*' arch/riscv/crypto/sha256-riscv64-zvknha_or_zvknhb-zvkb.S - accept 'K512:\([\n][ ]*\.dword[ ]*0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)*' arch/riscv/crypto/sha512-riscv64-zvknhb-zvkb.S - blobname 'mediatek[/]BT_RAM_CODE_MT%04x_1a_%x_hdr\.bin' drivers/bluetooth/btusb.c - blobname 'amdgpu[/]vcn_\(4_0_6\(_1\)\?\|5_0_0\)\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - blobname 'amdgpu[/]%s_%d\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - accept '[\t][\t]r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vcn\.fw\[i\][,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + # New in 6.9-rc, 6.8.10. blobname 'amdgpu[/]dcn_3_5_1_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - defsnc 'template<>[ ]constexpr[ ]inline[ ]uint16_t[ ]\(CMD\|RP_BLIT\)_REGS\[\][ ]=' drivers/gpu/drm/msm/adreno/a6xx.xml.h - blobname 'a615_zap\.\(mbn\|mdt\)' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname '\(a702\|gen70900\)_sqe\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname '\(a702\|gen70900\)_zap\.mbn' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'gmu_gen70900\.bin' drivers/gpu/drm/msm/adreno/adreno_device.c - defsnc 'static[ ]const[ ]u32[ ]gen7_[02]_0_\(gpu\(cc\)\?\|gmu\(gx\)\?\|noncontext_pipe_b[rv]\|rb_r\(ac\|bp\)_cluster_ps_pipe_br\|sp_cluster_sp_[pv]s_pipe_b[rv]_\(hlsq_state\|sp_top\|usptp\)\|rscc\|cpr\)_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/adreno_gen7_0_0_snapshot.h - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]0xB9[,][ ]0x7C[,][ ]0x65[,][ ]0x55[,][ ]0x49[,][ ]0x46[,][ ]0x36[,][\n][^ ,\t\n)]*\([, \t\n]*0x[0-9A-F][0-9A-F]\)*[)][;]' drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]HX83112A_SETDGCLUT[,][\n][ \t]*0xff[,][ ]0xfe[,][ ]0xfb[,][ ]0xf8[,][ ]0xf4[,][ ]0xf1[,][ ]0xed[,][ ]0xe6[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx83112a.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]HX83112A_SETGIP0[,][\n][ \t]*0x80[,][ ]0x00[,][ ]0x00[,][ ]0x00[,][ ]0x00[,][ ]0x01[,][ ]0x00[,][ ]0x08[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx83112a.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]HX83112A_SETGIP[12][,][\n][ \t]*0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,][ ]0x18[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx83112a.c - defsc 'static[ ]const[ ]struct[ ]ltk500hd1829_cmd[ ]ltk\(101b4029w\|500hd1829\)_init\[\][ ]=' drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c - defsnc 'static[ ]const[ ]struct[ ]imx335_reg[ ]mipi_data_rate_\(1188\|891\)Mbps\[\][ ]=' drivers/media/i2c/imx335.c - blobna 'ret[ ]=[ ]vgxy61_write_array[(]sensor[,][ ]VGXY61_REG_FWPATCH_START_ADDR[,][\n][\t ]*sizeof[(]patch_array[)][,][ ]patch_array[)][;][\n][\t]cci_write[(]sensor->regmap[,][ ]VGXY61_REG_STBY[,][ ]0x10[,][ ][&]ret[)][;][\n][\t]if[ ][(]ret[)][\n][\t]*return[ ]ret[;]' drivers/media/i2c/st-vgxy61.c - blobname 'rtl_nic[/]rtl8126a-2\.fw' drivers/net/ethernet/realtek/r8169_main.c - accept 'static[ ]int[ ]ath12k_fw_request_firmware_api_n[(]' drivers/net/wireless/ath/ath12k/fw.c - accept '[\t]ab->fw\.fw[ ]=[ ]ath12k_core_firmware_request[(]ab[,][ ]name[)]' drivers/net/wireless/ath/ath12k/fw.c - accept '[\t]ret[ ]=[ ]ath12k_fw_request_firmware_api_n[(]ab[,][ ]ATH12K_FW_API2_FILE[)]' drivers/net/wireless/ath/ath12k/fw.c - blobname 'firmware-2\.bin' drivers/net/wireless/ath/ath12k/fw.h - defsnc 'static[ ]const[ ]struct[ ]ropll_config[ ]ropll_tmds_cfg\[\][ ]=' drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c - blobname 'idtfc3\.bin' drivers/ptp/ptp_fc3.h - defsnc 'static[ ]const[ ]u16[ ]phy_to_log_coh_st_map_mi300\[\][ ]=' drivers/ras/amd/atl/demormalize.c - defsnc 'static[ ]const[ ]u16[ ]umc_coh_st_map\[32\][ ]=' drivers/ras/amd/atl/umc.c - accept '[ ]*const[ ]ALL_ASCII_CHARS:[ ][&][\'"'"']static[ ]str[ ]=[ \t\n]*["][^"\n\\]*\([\\]["\n\\][^"\n\\]*\)*["][;]' rust/kernel/str.rs - defsnc 'uint\(64\|32\)_t[ ]random_addresses\[\][ ]=' tools/testing/selftests/riscv/mm/mmap_test.h - - # New in 6.10-rc. - blobname 'qcom[/]qcm6490[/]\([ac]dsp\|modem\|wpss\)\.mbn' arch/arm64/boot/dts/qcom/qcm6490-idp.dts - blobname 'qcom[/]qcs6490[/]\([ac]dsp\|wpss\)\.mbn' arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts - blobname 'qcom[/]qcs6490[/]modem\.mdt' arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts - blobname 'qcom[/]sc8180x[/]LENOVO[/]82AK[/]qcdxkmsuc8180\.mbn' arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts - blobname 'qcom[/]sm8150[/]modem\.mbn' arch/arm64/boot/dts/qcom/sm8150-hdk.dts - blobname 'qcom[/]sm8650[/]gen70900_zap\.mbn' arch/arm64/boot/dts/qcom/sm8650-qrd.dts - blobname 'qcom[/]sm8550[/]Sony[/]yodo[/][ac]dsp\(_dtb\)\?\.mbn' arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts - blobname 'ti-pruss[/]am65x-\(pru\|rtu\|txpru\)[01]-prueth-fw\.elf' 'arch/arm64/boot/dts/ti/k3-am65-iot2050-common\.dtsi\|drivers/net/ethernet/ti/icssg/icssg_prueth_sr1\.c\)' - defsnc 'static[ ]const[ ]u8[ ]certs_selftest_\(ecdsa\|rsa\)_\(keys\|data\|sig\)\[\][ ]__initconst[ ]=' crypto/asymmetric_keys/selftest_ecdsa.c - blobname 'qcom[/]aic100[/]fw[0-9]*\.bin' drivers/accel/qaic/sahara.c - blobname 'qca[/]%snv%02x\.\(bin\|b%\(02\)\?x\)' drivers/bluetooth/btqca.c - blobname 'qca[/]%s' drivers/bluetooth/btqca.c - defsnc 'static[ ]const[ ]u32[ ]gen7_9_0_\(gpu\|gmu\(\|gx\)\|dbgc\|non_context_pipe_b[rv]\|rb_pipe_br_cluster_ps_\(rac\|rbp\)\|sp_pipe_b[rv]_cluster_sp_[vp]s_\(hlsq_state\|sp_top\|usptp\)\|cpr\|gpucc\|isense\|rscc\)_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/adreno_gen7_9_0_snapshot.h - defsc 'static[ ]const[ ]struct[ ]khadas_ts050_panel_cmd[ ]ts050\(v2\)\?_init_code\[\][ ]=' drivers/gpu/drm/panel/panel-khadas-ts050.c - accept '[\t]mipi_dsi_dcs_write_seq[(]ctx->link[,][ ]0xb5[,][\n][ \t]*0x75[,][ ]0x60[,][ ]0x2d[,][ ]0x5d[,][ ]0x80[,][ ]0x00[,][ ]0x0a[,][ ]0x0b[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-lg-sw43408.c - blobname '\(arm[/]mali[/]arch10\.8[/]\)\?mali_csffw\.bin' drivers/gpu/drm/panthor/panthor_fw.c - defsnc 'static[ ]const[ ]__u16[ ]angle_offsets_\(horizontal\|vertical\)_1[46]\[128\][ ]=' drivers/hid/bpf/progs/XPPen__ArtistPro16Gen2.bpf.c - blobname 'intel[/]ish[/]ish_lnlm\.bin' drivers/hid/intel-ish-hid/ipc/pci-ish.c - defsnc 'static[ ]const[ ]int[ ]micro_ohm_rsense\[\][ ]=' drivers/hwmon/pmbus/xdp710.c - defsnc 'static[ ]const[ ]struct[ ]dwc_dphy_freq_range[ ]freqranges\[DPHY_FREQ_RANGE_NUM\][ ]=' drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c - defsc 'static[ ]const[ ]struct[ ]phy_reg[ ]\(common_init\|x[124]_port[0123]_config\)_regs\[\][ ]=' drivers/media/pci/intel/ipu6/ipu6-isys-mcd-phy.c - defsnc 'static[ ]struct[ ]ipu6_psys_internal_pdata[ ]psys_ipdata[ ]=' drivers/media/pci/intel/ipu6/ipu6.c - blobname 'intel[/]ipu[/]ipu6\(se\|ep\(mtl\|adln\)\?\)\?_fw\.bin' drivers/media/pci/intel/ipu6/ipu6.h - defsc 'ICE_DECLARE_PKT_TEMPLATE[(]pfcp_session_ipv6[)][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c - blobname 'airoha[/]EthMD32\.\(dm\|DSP\)\.bin' drivers/net/phy/air_en8811h.c - blobname 'ti[/]tps23881[/]tps23881-\(parity\|sram\)-14\.bin' drivers/net/pse-pd/tps23881.c - defsc '[\t]static[ ]const[ ]u16[ ]freq_list_v2\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt7915/mcu.c - blobname 'mediatek[/]WIFI_RAM_CODE_MT7961_1a\.bin' drivers/net/wireless/mediatek/mt76/mt792x.h - blobname 'mediatek[/]WIFI_MT7961_patch_mcu_1a_2_hdr\.bin' drivers/net/wireless/mediatek/mt76/mt792x.h - defsnc '[\t]static[ ]const[ ]u8[ ]channel_all\[TARGET_CHNL_NUM_2G_5G\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8192cu_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/8192c.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8723au_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/8723a.c - blobname 'rtw88[/]rtw8703b_\(wow_\)\?fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8703b.c - defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8703b_bb_pg\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c - defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8703b_txpwr_lmt\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c - defsnc 'static[ ]const[ ]u32[ ]rtw8703b_\(mac\|agc\|bb\|rf_a\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c - defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rk_udphy_\(2[46]m_refclk_cfg\|init_sequence\)\[\][ ]=' drivers/phy/rockchip/phy-rockchip-usbdp.c - blobname 'gsl1680-globalspace-solt-ivw116\.fw' drivers/platform/x86/touchscreen_dmi.c - blobname 'E\.WSA116_8\.E1\.042\.bin' drivers/platform/x86/touchscreen_dmi.c - blobname 'intel[/]ipu[/]irci_irci_ecr-master_20161208_0213_20170112_1500\.bin' drivers/staging/media/ipu3/ipu3-css-fw.h - blobname '%s\(-i2c-%d-%udev\)\?\.bin' sound/soc/codecs/pcm6240.c - blobname 'cirrus[/]\(%s-\)*%s\.%s' sound/pci/hda/cs35l41_hda.c - - # New in 6.10.3, 6.6.44. - blobname 'qcom[/]sdm850[/]LENOVO[/]81JL[/]ipa_fws\.elf' arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts - - # New in 6.11-rc. - blobname 'mediatek[/]mt8195[/]scp\.img' arch/arm64/boot/dts/mediatek/mt8395-kontron-3-5-sbc-i1200.dts - blobname 'qcom[/]apq8016[/]wcnss\.mbn' arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dts - blobname 'qcom[/]apq8016[/]WCNSS_qcom_wlan_nv_sbc\.bin' arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dts - blobname 'qcom[/]qcm6490[/]fairphone5[/]ipa_fws\.mbn' arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts - blobname 'qcom[/]qcm6490[/]SHIFT[/]otter[/]\(a660_zap\|ipa_fws\|[ac]dsp\|modem\|wpss\)\.mbn' arch/arm64/boot/dts/qcom/qcm6490-shift-otter.dts - blobname 'qcom[/]qcs8550[/][ac]dsp\(_dtb\)\?\.mbn' arch/arm64/boot/dts/qcom/qcs8550-aim300-aiot.dts - blobname 'qcom[/]qcm2290[/]a702_zap\.mbn' arch/arm64/boot/dts/qcom/qrb2210-rb1.dts - blobname 'qcom[/]sm8550[/]\([ac]dsp\|modem\)\(_dtb\)\?\.mdt' arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts - blobname 'qcom[/]sm8650[/]\(ipa_fws\|gen70900_zap\|\([ac]dsp\|modem\)\(_dtb\)\?\)\.mbn' arch/arm64/boot/dts/qcom/sm8650-hdk.dts - blobname 'qcom[/]x1e80100[/]ASUSTeK[/]vivobook-s15[/]qc[ac]dsp8380\.mbn' arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts - blobname 'qcom[/]x1e80100[/]ASUSTeK[/]vivobook-s15[/][ac]dsp_dtbs\.elf' arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts - blobname 'qcom[/]x1e80100[/]gen70500_zap\.mbn' arch/arm64/boot/dts/qcom/x1e80100-'\(crd\|qcp\)\.dts' - blobname 'qcom[/]x1e80100[/]LENOVO[/]83ED[/]qc\(dxkmsuc\|[ac]dsp\)8380\.mbn' arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts - blobname 'qcom[/]x1e80100[/]LENOVO[/]83ED[/][ac]dsp_dtbs\.elf' arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts - accept '\.irp[ ]i[, 0-9\\\n\t]*' arch/x86/crypto/aes-gcm-avx10-x86_64.S - accept 'static[ ]int[ ]_request_firmware_nowait[(]' drivers/base/firmware_loader/main.c - accept '[ ][*][ ]firmware_request_nowait_nowarn[(][)][ ]-[ ]async[ ]version[ ]of[ ]request_firmware_nowarn' drivers/base/firmware_loader/main.c - accept '[ ][*][ ]Similar[ ]in[ ]function[ ]to[ ]request_firmware_nowait[(]' drivers/base/firmware_loader/main.c - accept 'int[ ]firmware_request_nowait_nowarn[(]' drivers/base/firmware_loader/main.c - accept '[\t]return[ ]_request_firmware_nowait[(]' drivers/base/firmware_loader/main.c - blobname 'uartuart8987_bt_v0\.bin' 'Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt\.yaml\|drivers/bluetooth/btnxpuart\.c\)' - blobname 'uart8987_bt_v0\.bin' drivers/bluetooth/btnxpuart.c - blobname 'uartuart8987_bt\.bin' drivers/bluetooth/btnxpuart.c - blobname 'uart\(uart\)\?8997_bt_v4\.bin' drivers/bluetooth/btnxpuart.c - blobname 'uart\(uart\)\?9098_bt_v1\.bin' drivers/bluetooth/btnxpuart.c - blobname 'uartiw416_bt_v0\.bin' drivers/bluetooth/btnxpuart.c - blobname 'uartspi_n61x_v1\.bin\.se' drivers/bluetooth/btnxpuart.c - blobname 'uartspi_iw610_v0\.bin\(\.se\)\?' drivers/bluetooth/btnxpuart.c - blobname 'uartiw624_bt\.bin\(\.se\)\?' drivers/bluetooth/btnxpuart.c - blobname 'uartaw693_bt\(_v1\)\?\.bin\(\.se\)\?' drivers/bluetooth/btnxpuart.c - blobname 'helper_uart_3000000\.bin' drivers/bluetooth/btnxpuart.c - accept '[\t]if[ ][(]!nxp_request_firmware[(]' drivers/bluetooth/btnxpuart.c - blobname 'nxp[/]%s' drivers/bluetooth/btnxpuart.c - blobname 'fox[/]sdx72m[/]edl\.mbn' drivers/bus/mhi/host/pci_generic.c - defsnc '[\t]static[ ]const[ ]int[ ]postdiv1_2\[\]\[3\][ ]=' drivers/clk/sophgo/clk-sg2042-pll.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->firmware\.gpu_info_fw[,]' drivers/gpu/drm/amd/amdgpu/amdgpu_device.c - blobname '\(amdgpu[/]\)\?%s_gpu_info\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_device.c - accept '[\t]r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->isp\.fw[,]' drivers/gpu/drm/amd/amdgpu/amdgpu_isp.c - blobname 'amdgpu[/]%s\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_isp.c - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->mes\.fw\[pipe\][,]' drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c - blobname 'amdgpu[/]%s_uni_mes\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->psp\.\(asd\|toc\|sos\|ta\|cap\)_fw[,]' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - accept '[\t]*ret[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]usbc_pd_fw[,]' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - accept '[\t]err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->\(psp\.toc\|gfx\.\(pfp\|mec\?\|rlc\)\)_fw[,]' drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c - blobname 'amdgpu[/]%s_\(toc\|pfp\|mec\?\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c - accept '[\t]err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->gfx\.imu_fw\[i\][,]' drivers/gpu/drm/amd/amdgpu/imu_v12_0.c - blobname 'amdgpu[/]%s_imu\.bin' drivers/gpu/drm/amd/amdgpu/imu_v12_0.c - # The following is not new, it was just moved down to allow for - # new patterns to match despite being prefixed by it, when using - # non-NDA regexp engines. - blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->sdma\.instance\[\(instance\|i\)\]\.fw[,]' drivers/gpu/drm/amd/amdgpu/'\(\(amdgpu\|cik\)_sdma\|sdma_v[0-9_]*\)\.c' - blobname '%s_sdma%s\.bin' drivers/gpu/drm/amd/amdgpu/cik_sdma.c - accept '[\t][\t]r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vcn\.fw\[i\][,]' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - accept '[\t]ret[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vpe\.fw[,]' drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->gfx\.\(pfp\|me\|ce\|rlc\|mec2\?\)_fw' drivers/gpu/drm/amd/amdgpu/gfx_v*_0.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->gmc\.fw[,]' drivers/gpu/drm/amd/amdgpu/gmc_v*_0.c - blobname '%s_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v*_0.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->gfx\.imu_fw[,]' drivers/gpu/drm/amd/amdgpu/imu_v*_0.c - blobname '%s_imu\.bin' drivers/gpu/drm/amd/amdgpu/imu_v*_0.c - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->dm\.\(fw_dmcu\|dmub_fw\)' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c - accept '[\t]ret[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->pm\.fw[,]' drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v*.c - accept '[\t][\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vcn\.fw\[i\][,]' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - accept '[\t]*\(err\|ret\)[ ]*=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->pm\.fw[,]' drivers/gpu/drm/amd/'\(amdgpu/amdgpu_cgs\|pm/\(legacy-dpm/si_dpm\|swsmu/smu1[13]/smu_v1[13]_0\)\)\.c' - blobname '%s_smc\.bin' drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c - # The asm source for this is drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm, there is no _gfx12.asm. - defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx12_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h - blobname 'amdgpu[/]dcn_4_0_1_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - defsnc 'static[ ]const[ ]uint32_t[ ]filter_isharp_1D_lut_\(0\|0p5x\|1p0x\|1p5x\|2p0x\)\[32\][ ]=' drivers/gpu/drm/amd/display/dc/spl/dc_spl_isharp_filters.c - defsnc 'static[ ]const[ ]uint16_t[ ]filter_isharp_\(wide_6\|bs_4\)tap_64p\[198\][ ]=' drivers/gpu/drm/amd/display/dc/spl/dc_spl_isharp_filters.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(][&]dsi_ctx[,][ ]HX83102_\(SET\|UNKNOWN\)[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx83102.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(]ctx->link[,][ ]0xb5[,][\n][ \t]*0x75[,][ ]0x60[,][ ]0x2d[,][ ]0x5d[,][ ]0x80[,][ ]0x00[,][ ]0x0a[,][ ]0x0b[,]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-lg-sw43408.c - accept '[\t]mipi_dsi_dcs_write_seq_multi[(][&]ctx[,][ ]0x\(b[54]\|d[356]\|e0\)\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-lincolntech-lcd197.c - defsc 'static[ ]const[ ]struct[ ]nv3052c_reg[ ]wl_355608_a8_panel_regs\[\][ ]=' drivers/gpu/drm/panel/panel-newvision-nv3052c.c - accept '[\t]mipi_dsi_\(dcs\|generic\)_write_seq_multi[(]dsi_ctx[,][ ]ST7703_CMD[^ ,\t\n)]*\([, \t\n]*0x[0-9a-fA-F][0-9a-fA-F]\)*[)][;]' drivers/gpu/drm/panel/panel-sitronix-st7703.c - defsnc 'static[ ]const[ ]unsigned[ ]char[ ]test_edid_\(dvi_1080p\|hdmi_1080p\(\|_rgb_max_\(200\|340\)mhz\|_rgb_yuv_dc_max_\(200\|340\)mhz\)\)\[\][ ]=' drivers/gpu/drm/tests/drm_kunit_edid.h - accept '[ ][*][ ]R:[ ]93[ ]05[ ]0d[ ]09[ 0-9a-f]*' drivers/hid/bpf/progs/Huion__'\(Dial-2\|Inspiroy-2-S\)'.bpf.c - blobname 'intel[/]ipu[/]shisp_240\(1a\|0b\)0_v21\.bin' drivers/staging/media/atomisp/pci/atomisp_v4l2.c - blobname 'intel[/]ipu[/]shisp_2401a0_legacy_v21\.bin' drivers/staging/media/atomisp/pci/atomisp_v4l2.c - blobname 'qcom[/]venus-4\.4[/]venus\.mbn' drivers/media/platform/qcom/venus/core.c - defsnc 'const[ ]u8[ ]v4l2_jpeg_\(ref_table_\(luma\|chroma\)_qt\|zigzag_scan_index\)\[V4L2_JPEG_PIXELS_IN_BLOCK\][ ]=' drivers/media/v4l2-core/v4l2-jpeg.c - defsnc 'const[ ]u8[ ]v4l2_jpeg_ref_table_\(luma\|chroma\)_ac_ht\[V4L2_JPEG_REF_HT_AC_LEN\][ ]=' drivers/media/v4l2-core/v4l2-jpeg.c - blobname 'cs40l50\.\(bin\|wmfw\)' 'drivers/mfd/cs40l50-core\.c\|include/linux/mfd/cs40l50\.h\)' - blobname 'tehuti[/]bdx\.bin' drivers/net/ethernet/tehuti/tn40.c - defsnc '[}][ ]tn40_txd_sizes\[\][ ]=' drivers/net/ethernet/tehuti/tn40.c - blobname 'ti-pruss[/]am65x-sr2-\(pru\|rtu\|txpru\)[01]-prusw-fw\.elf' drivers/net/ethernet/ti/icssg/icssg_prueth.c - defsnc 'static[ ]const[ ]u32[ ]targetchnl_5g\[TARGET_CHNL_NUM_5G\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c - blobname 'rtlwifi[/]rtl8192dufw\.bin' drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c - defsnc 'const[ ]u32[ ]rtl8192du_phy_reg_2tarray\[PHY_REG_2T_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_phy_reg_array_pg\[PHY_REG_ARRAY_PG_LENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_radioa_2tarray\[RADIOA_2T_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_radiob_2tarray\[RADIOB_2T_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_radioa_2t_int_paarray\[RADIOA_2T_INT_PA_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_radiob_2t_int_paarray\[RADIOB_2T_INT_PA_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_mac_2tarray\[MAC_2T_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_agctab_array\[AGCTAB_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_agctab_5garray\[AGCTAB_5G_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'const[ ]u32[ ]rtl8192du_agctab_2garray\[AGCTAB_2G_ARRAYLENGTH\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c - defsnc 'static[ ]const[ ]struct[ ]rtw89_reg3_def[ ]rtw8852bx_pmac_ht20_mcs7_tbl\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b_common.c - blobname 'rcar_gen4_pcie\.bin' drivers/pci/controller/dwc/pcie-rcar-gen4.c - defsnc 'static[ ]const[ ]struct[ ]stf_dphy_config[ ]reg_configs\[\][ ]=' drivers/phy/starfive/phy-jh7110-dphy-tx.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sdm670_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sdm670.c - defsnc 'static[ ]const[ ]struct[ ]segdist_code[ ]segdist_codes\[\][ ]=' drivers/slimbus/stream.c - # This loads user-named files. - accept '[\t][\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]firmware_file[,][ ][&]slave->dev[)]' drivers/soundwire/debugfs.c - accept '[\t]ret[ ]=[ ]tps_request_firmware[(]tps[,][ ][&]fw[,][ ][&]firmware_name[)]' drivers/usb/typec/tipd/core.c - accept '\(static[ ]inline[ ]\)\?int[ ]firmware_request_nowait_nowarn[(]' include/linux/firmware.h - # ethtool-supplied filenames. - accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw_update->fw[,][\n\t ]*file_name[,][ ][&]dev->dev[)]' net/ethtool/module.c - accept '[/][/][/][ ]One[ ]of[ ]the[ ]following:[ ][`]bindings::request_firmware[`][,][ ][`]bindings::firmware_request_nowarn[`],[\n][/][/][/][ ][`]bindings::firmware_request_platform[`][,][ ][`]bindings::request_firmware_direct[`]\.' rust/kernel/firmware.rs - accept '[ ]*Self[(]bindings::request_firmware\(_nowarn\)\?[)]' rust/kernel/firmware.rs - accept '[/][/][/][ ]let[ ]fw[ ]=[ ]Firmware::request[(]c_str![(]["]path[/]to[/]firmware\.bin["][)][,][ ][&]dev[)][?][;]' rust/kernel/firmware.rs - accept '[ ]*[/][/][/][ ]Send[ ]a[ ]firmware[ ]request[ ]and[ ]wait[ ]for[ ]it\.[ ]See[ ]also[ ][`]bindings::request_firmware[`]\.' rust/kernel/firmware.rs - accept '[ ]*[/][/][/][ ]Send[ ]a[ ]request[ ]for[ ]an[ ]optional[ ]firmware[ ]module\.[ ]See[ ]also[\n/ ]*[`]bindings::request_firmware_nowarn[`]\.' rust/kernel/firmware.rs - accept '[/][/][/][ ]*firmware:[ ]\[["]my_device_firmware1\.bin["][,][ ]["]my_device_firmware2\.bin["]\][,]' rust/macros/lib.rs - accept '[ ]*["]firmware["][ ]=>[ ]info\.firmware[ ]=[ ]Some[(]expect_string_array[(]it[)][)][,]' rust/macros/module.rs - defsnc '[\t]static[ ]const[ ]struct[ ]alc298_samsung_coeff_fixup_desc[ ]fixups[12]\[\][ ]=' sound/pci/hda/samsung_helper.c - # These look somewhat suspicious, but not implausible as configuration data. The contributor captured them as opaque data. I'm tentatively allowing them, hoping there isn't code lurking in them. - defsnc '[\t]static[ ]const[ ]struct[ ]alc298_samsung_coeff_seq_desc[ ]amp_\(0x3[89cd]\|seq[12]\)\[\][ ]=' sound/pci/hda/samsung_helper.c - defsnc 'static[ ]const[ ]struct[ ]es8311_mclk_coeff[ ]es8311_mclk_coeffs\[\][ ]=' sound/soc/codecs/es8311.c - defsnc 'static[ ]struct[ ]reg_sequence[ ]init_list\[\][ ]=' sound/soc/codecs/rt1318.c - defsnc 'static[ ]struct[ ]reg_default[ ]rt1318_reg\[\][ ]=' sound/soc/codecs/rt1318.c - defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt1320_blind_write\[\][ ]=' sound/soc/codecs/rt1320-sdw.c - blobname '%s-%sRCA%d\.bin' sound/soc/codecs/tas2781-comlib.c - accept 'PTP_1588_\(L2\|IPV4\|IPV6\)_[^=\n"]*=["][ \\\n0-9a-f:]*["]' tools/testing/selftests/net/forwarding/local_termination.sh - blobname '%s-%s_coef\.bin' sound/soc/codecs/tas2781-i2c.c - blobname '%s-%s_cal_0x%02x\.bin' sound/soc/codecs/tas2781-i2c.c - accept 'What:[ ][ ][/]sys[/]bus[/]platform[/]drivers[/]zynqmp_fpga_manager[/]firmware:zynqmp-firmware:' Documentation/ABI/testing/sysfs-driver-zynqmp-fpga - accept '[ ]The[ ]PCC[ ]driver[ ]will[ ]load[ ]on[ ]any[ ]system[ ]where[ ]the[ ]platform[ ]firmware:' Documentation/admin-guide/pm/cpufreq_drivers.rst - accept 'The[ ]RISC-V[ ]kernel[ ]expects[ ]the[ ]following[ ]of[ ]bootloaders[ ]and[ ]platform[ ]firmware:' Documentation/arch/riscv/boot.rst - accept '[ ][ ]*zynqmp_firmware:[ ]zynqmp-firmware[ ][{]' Documentation/devicetree/bindings/'clock/xlnx,versal-clk\|crypto/xlnx,zynqmp-aes\|xilinx/xlnx,zynqmp-firmware\|fpga/xlnx,zynqmp-pcap-fpga\|pinctrl/xlnx,zynqmp-pinctrl\)\.yaml' - accept '[ ]-[ ]firmware:[ ]Reference[ ]to[ ]RPi[\'"'"']s[ ]firmware[ ]device[ ]node' Documentation/devicetree/bindings/input/touchscreen/raspberrypi,firmware-ts.txt - accept 'firmware:[ ]firmware-rpi' Documentation/devicetree/bindings/input/touchscreen/raspberrypi,firmware-ts.txt - accept '[ ][ ]video-firmware:' Documentation/devicetree/bindings/media/qcom,venus-common.yaml - accept '[ ][ ]wifi-firmware:' Documentation/devicetree/bindings/net/wireless/qcom,'ath1[01]k\.yaml' - accept '-[ ]ti[,]pm-firmware:[ ]Name[ ]of[ ]firmware[ ]file' Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt - accept '-[ ]firmware:[ ][ ]Reference[ ]to[ ]the[ ]RPi[ ]firmware[ ]device[ ]node.' Documentation/devicetree/bindings/soc/bcm/raspberrypi,bcm2835-power.txt - accept '[ ][ ]fsl[,]firmware:' Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-firmware.yaml - accept '[ ][ ]One[ ]member[ ]is[ ]the[ ]H1[ ]built[ ]into[ ]Chromebooks[ ]and[ ]running[ ]Cr50[ ]firmware:' Documentation/devicetree/bindings/tpm/google,cr50.yaml - accept 'able[ ]to[ ]make[ ]use[ ]of[ ]built-in[ ]firmware:' Documentation/driver-api/firmware/built-in-fw.rst - accept '[ ][ ][ ]magic[ ]prefix[ ]for[ ]Silead[ ]firmware:[ ]F0[ ]00[ ]00[ ]00[ ]02[ ]00[ ]00[ ]00[,][ ]this[ ]gives[ ]you' Documentation/driver-api/firmware/fallback-mechanisms.rst - accept 'firmware:' Documentation/leds/leds-lp55xx.rst - accept '[ ][ ][ ][ ][#][ ]Run[ ]reload[ ]command[ ]to[ ]activate[ ]firmware:' Documentation/networking/devlink/devlink-reload.rst - accept '[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]firmware:[ ]0\.01-522' Documentation/scsi/smartpqi.rst - accept '[ ][ ]firmware:[ ]firmware[ ][{]' arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi - accept '[ ][ ]zynqmp_firmware:[ ]zynqmp-firmware[ ][{]' arch/arm64/boot/dts/xilinx/zynqmp.dtsi - accept '[ ]pr_info[(]["]Firmware:' arch/mips/loongson64/env.c - accept '[ ][ ]prom_printf[(]["]Max[ ]number[ ]of[ ]cores[ ]passed[ ]to[ ]firmware:' arch/powerpc/kernel/prom_init.c - accept '[ ][ ][/][*][ ]Broken[ ]firmware:' arch/powerpc/kernel/rtasd.c - accept '[ ][ ][ ]pr_err[(]FW_BUG[ ]["]CPU%4u:[ ]APIC[ ]ID[ ]mismatch.[ ]Firmware:' arch/x86/kernel/cpu/topology_common.c - accept '[ ][ ]ivpu_err[(]vdev[,][ ]["]Failed[ ]to[ ]\(start\|boot\)[ ]the[ ]firmware:' drivers/accel/ivpu/ivpu_drv.c - accept '[ ]ivpu_err[(]vdev[,][ ]["]Failed[ ]to[ ]request[ ]firmware:' drivers/accel/ivpu/ivpu_fw.c - accept '[ ]ivpu_info[(]vdev[,][ ]["]Firmware:[ ]%s[,][ ]version:[ ]%s["][,][ ]fw->name[,]' drivers/accel/ivpu/ivpu_fw.c - accept 'firmware[ ][ ]:=[ ][$][(]addsuffix[ ]\.gen\.o[,][ ][$][(]CONFIG_EXTRA_FIRMWARE[)][)]' drivers/base/firmware_loader/builtin/Makefile - accept '[ ][ ]*dev_\(dbg\|err\)[(]\(f_dev\|device\)[,][ ]["]firmware:' drivers/base/firmware_loader/fallback.c - accept '[ ][*][ ]@firmware:[ ]pointer[ ]to[ ]firmware[ ]image' drivers/base/firmware_loader/main.c - accept 'EXPORT_SYMBOL_GPL[(]firmware_request_nowait_nowarn[)][;]' drivers/base/firmware_loader/main.c - accept '[ ]bt_dev_info[(]hdev[,][ ]["]Found[ ]device[ ]firmware:' drivers/bluetooth/'\(btintel\|hci_intel\)\.c' - accept '[ ][ ]bt_dev_\(info\|dbg\)[(]hdev[,][ ]["]Request[ ]Firmware:' drivers/bluetooth/btnxpuart.c - accept '[ ]dev_dbg[(][&]bcm4377->pdev->dev[,][ ]["]Trying[ ]to[ ]load[ ]firmware:' drivers/bluetooth/hci_bcm4377.c - accept '[ ][ ]dev_err[(]dev[,][ ]["]Error[ ]loading[ ]firmware:' drivers/bus/mhi/host/boot.c - accept '[ ][ ][ ]communicating[ ]with[ ]the[ ]firmware:' drivers/char/hw_random/Kconfig - accept '[ ]unsigned[ ]int[ ]uses_firmware:1[;]' drivers/comedi/drivers/ni_pcidio.c - accept '[ ][ ]dev_dbg[(]dev[,][ ]["]Failed[ ]to[ ]update[ ]SEV[ ]firmware:' drivers/crypto/ccp/sev-dev.c - accept 'err_firmware:' drivers/dma/imx-sdma.c - accept '[ ][ ][ ]dev_err[(][&]cxlmd->dev[,][ ]["]Error[ ]activating[ ]firmware:' drivers/cxl/core/memdev.c - accept '[ ]cs_dsp_info[(]dsp[,][ ]["]Firmware:' drivers/firmware/cirrus/cs_dsp.c - accept '[ ][*][ ]@wmfw_firmware:[ ]the[ ]firmware[ ]to[ ]be[ ]sent' drivers/firmware/cirrus/cs_dsp.c - accept '[ ][*][ ]@coeff_firmware:[ ]the[ ]coefficient[ ]data[ ]to[ ]be[ ]sent' drivers/firmware/cirrus/cs_dsp.c - accept '[ ]dev_info[(][&]pdev->dev[,][ ]["]firmware:' drivers/firmware/tegra/bpmp.c - accept '[ ][ ][/][*][ ]atom_firmware:' drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c - accept '[ ]drm_printf[(]p[,][ ]["]GSC[ ]firmware:' drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c - accept '[ ][ ][*][ ]We[\'"'"']ve[ ]failed[ ]to[ ]load[ ]the[ ]firmware[ ]:' drivers/gpu/drm/i915/gt/uc/intel_uc.c - accept '[ ][ ]gt_warn[(]gt[,][ ]["]%s[ ]firmware:' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c - accept '[ ]drm_printf[(]p[,][ ]["]%s[ ]firmware:' drivers/gpu/drm/'i915/gt/uc/intel_uc_fw\|xe/xe_uc_fw\)\.c' - accept '\(invalid\|expose\)_firmware:' drivers/gpu/drm/i915/gvt/firmware.c - accept '[ ]gvt_dbg_core[(]["]Invalid[ ]firmware:' drivers/gpu/drm/i915/gvt/firmware.c - accept 'out_free_firmware:' drivers/gpu/drm/i915/gvt/kvmgt.c - accept '[ ][/][*][*][ ]@firmware:[ ]Handle[ ]to[ ]the[ ]firmware[ ]loaded[ ]into[ ]the[ ]device\.[ ][*][/]' drivers/gpu/drm/imagination/pvr_fw.h - blobname 'gen70500_sqe\.fw' drivers/gpu/drm/msm/adreno/a6xx_catalog.c - blobname 'gen70500_gmu\.bin' drivers/gpu/drm/msm/adreno/a6xx_catalog.c - accept '[ ][/][*][ ]firmware:[ ][*][/]' drivers/gpu/drm/msm/adreno/adreno_gpu.h - accept '[ ]nvkm_debug[(]subdev[,][ ]["]firmware:' drivers/gpu/drm/nouveau/nvkm/engine/falcon.c - accept '[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]["]failed[ ]to[ ]request[ ]firmware:' drivers/gpu/drm/rockchip/cdn-dp-core.c - accept '[ ][*][ ]@slow_firmware:' drivers/gpu/drm/xe/xe_heci_gsc.c - accept '[ ][*][ ]@work_firmware:[ ]firmware[ ]upgrade[ ]work[ ]queue' drivers/iio/common/ssp_sensors/ssp.h - accept '[ ][ ]dev_err[(]dev[,][ ]["]Failed[ ]to[ ]parse[ ]firmware:' drivers/input/keyboard/qt1050.c - accept '[ ][ ]dev_err[(]dev[,][ ]["]failed[ ]to[ ]request[ ]firmware:' drivers/input/mouse/elan_i2c_core.c - accept '[ ][ ][ ]["]Elan[ ]Touchpad:[ ]Module[ ]ID:[ ]0x%04x[,][ ]Firmware:' drivers/input/mouse/elan_i2c_core.c - accept '[ ][ ][ ][ ][ ][ ][ ]["]%s[ ]TrackPoint[ ]firmware:' drivers/input/mouse/trackpoint.c - accept '[ ][ ]dev_err[(]dev[,][ ]["]Failed[ ]to[ ]upload[ ]firmware:' drivers/input/touchscreen/chipone_icn8505.c - accept '[ ][ ]dev_err[(][&]client->dev[,][ ]["]failed[ ]to[ ]request[ ]firmware:' drivers/input/touchscreen/elants_i2c.c - accept '[ ][ ][ ]["]Failed[ ]to[ ]flash[ ]firmware:' drivers/input/touchscreen/melfas_mip4.c - accept '[ ][ ][ ]["]failed[ ]to[ ]switch[ ]to[ ]main[ ]fw[ ]after[ ]writing[ ]firmware:' drivers/input/touchscreen/raydium_i2c_ts.c - accept '[ ][ ]dev_err[(]dev[,][ ]["]failed[ ]to[ ]load[ ]firmware:' drivers/input/touchscreen/rohm_bu21023.c - accept '[ ][ ][*][ ]Here[ ]is[ ]the[ ]DSDT[ ]device[ ]node[ ]used[ ]for[ ]mbigen[ ]in[ ]firmware:' drivers/irqchip/irq-mbigen.c - accept '[ ]printk[(]KERN_INFO[ ]["]PMU[ ]driver[ ]v%d[ ]initialized[ ]for[ ]%s[,][ ]firmware:' drivers/macintosh/via-pmu.c - accept 'err_release_firmware:' drivers/media/dvb-frontends/'\(af9013\|m88ds3103\|mn88472\|mn88473\|mxl692\|si2168\|tda10071\)\.c' - accept '[ ]deb_info[(]["]got[ ]firmware:' drivers/media/dvb-frontends/bcm3510.c - accept 'out_media_entity_stop_streaming_firmware:' drivers/media/pci/intel/ipu6/ipu6-isys-video.c - accept '[ ][ ][ ][ ]["]failed[ ]to[ ]\(load\|request\|copy\)[ ]firmware:' drivers/media/platform/allegro-dvt/allegro-core.c - accept '[ ]dev_info[(]dev[,][ ]["]loaded[ ]firmware:' drivers/media/platform/samsung/exynos4-is/fimc-is.c - accept '[ ][ ][ ][ ][ ][ ][ ][ ][ ]["]%s[ ][ ]firmware:' drivers/media/platform/st/sti/delta/delta-mjpeg-dec.c - accept '[ ][ ]["]%s[ ][ ]firmware:' drivers/media/platform/st/sti/delta/delta-mjpeg-dec.c - accept '[ ]dev_info[(]fei->dev[,][ ]["]Loading[ ]firmware:' drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c - accept '[ ][*][ ]@dont_load_firmware:' drivers/media/tuners/si2157.h - accept '[ ]unsigned[ ]int[ ]dont_load_firmware:1[;]' drivers/media/tuners/si2157.h - accept '[ ]dprintk[(]1[,][ ]["]Loading[ ]Firmware:' drivers/media/tuners/xc4000.c - accept '[ ]pr_info[(]["]%s:[ ]firmware:' drivers/media/usb/as102/as102_fw.c - accept '[ ][ ][ ][/][*][ ]special[ ]thing[ ]in[ ]the[ ]current[ ]firmware:' drivers/media/usb/dvb-usb/dib0700_core.c - accept '[ ][*][ ]@firmware:[ ]name[ ]of[ ]the[ ]firmware[ ]file[ ]to[ ]be[ ]loaded' drivers/media/usb/dvb-usb-v2/dvb_usb.h - accept '[ ][*][ ]@download_firmware:[ ]called[ ]to[ ]download[ ]the[ ]firmware' drivers/media/usb/dvb-usb-v2/dvb_usb.h - accept '[ ][*][ ]@firmware:[ ]name[ ]of[ ]the[ ]firmware[ ]file\.' drivers/media/usb/dvb-usb/dvb-usb.h - accept '[ ][*][ ]@download_firmware:[ ]called[ ]to[ ]download[ ]the[ ]firmware' drivers/media/usb/dvb-usb/dvb-usb.h - accept '[ ]unsigned[ ]int[ ]mts_firmware:1[;]' drivers/media/usb/em28xx/em28xx.h - accept '[ ]unsigned[ ]int[ ]flag_skip_cx23416_firmware:1[;]' drivers/media/usb/pvrusb2/pvrusb2-devattr.h - accept '[ ][ ][ ]trace_firmware[(]["]Located[ ]%s[ ]firmware:' drivers/media/usb/pvrusb2/pvrusb2-hdw.c - accept '[ ][ ][ ][ ][ ][ ][ ]["]reject_firmware:' drivers/media/usb/pvrusb2/pvrusb2-hdw.c - accept '[ ][ ]dev_dbg[(]dev[,][ ]["]specified[ ]in[ ]firmware:' drivers/media/v4l2-core/v4l2-common.c - accept 'static[ ]void[ ]cs40l50_request_firmware[(]const[ ]struct[ ]firmware[ ][*]fw[,][ ]void[ ][*]context[)]' drivers/mfd/cs40l50-core.c - accept '[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]dev[,][ ]GFP_KERNEL[,][ ]cs40l50[,][ ]cs40l50_request_firmware[)][;]' drivers/mfd/cs40l50-core.c - accept '[ ][ ]*dev_err[(]cs42l43->dev[,][ ]["]Failed[ ]to[ ]\(disable\|update\|request\)[ ]firmware:' drivers/mfd/cs42l43.c - accept '[ ][ ]*dev_err[(][&]client->dev[,][ ]["]Failed[ ]to[ ]\(parse\|request\)[ ]firmware:' drivers/mfd/iqs62x.c - accept '[ ]pr_info[(]["]PRCMU[ ]firmware:' drivers/mfd/db8500-prcmu.c - accept '[ ][ ]dev_err[(][&]spi->dev[,][ ]["]\(Could[ ]not[ ]get\|Failed[ ]to[ ]flash\)[ ]firmware:' drivers/misc/gehc-achc.c - accept '[ ][ ]\(return[ ]dev_err_probe[(]dev[,][ ]ret\|dev_err[(]dev\)[,][ ]["]failed[ ]to[ ]load[ ]firmware:' drivers/net/dsa/lantiq_gswip.c - accept '[ ][ ][ ]["]invalid[ ]number[ ]of[ ]sections[ ]in[ ]firmware:' drivers/net/ethernet/alacritech/slicoss.c - accept '[ ][*][ ]@part_number_firmware:[ ]Firmware[ ]version' drivers/mfd/rave-sp.c - accept '[ ][ ]["]Unsupported[ ]version[ ]of[ ]the[ ]firmware:' drivers/mfd/si476x-i2c.c - accept '[ ][*][ ]firmware:' drivers/mtd/devices/ms02-nv.h - accept '[ ][ ][ ]that[ ]run[ ]essentially[ ]the[ ]same[ ]firmware:' drivers/net/can/usb/Kconfig - accept '[/][*][ ]CANtact[ ]Pro[ ]original[ ]firmware:' drivers/net/can/usb/gs_usb.c - accept '[ ][ ][ ][ ]["]firmware:' drivers/net/can/usb/usb_8dev.c - accept '[ ][ ]printk[(]KERN_INFO[ ]["][ ][ ]Tigon[ ]I[I ][ ][(]Rev\.[ ]%i[)][,][ ]Firmware:' drivers/net/ethernet/alteon/acenic.c - accept 'err_release_mips_firmware[:]' drivers/net/ethernet/broadcom/bnx2.c - accept '[ ][ ][/][*][ ]*instruction[ ]to[ ]firmware:' drivers/net/ethernet/cavium/liquidio/lio_ethtool.c - accept '[ ][ ]\(dev_err[(]dev[,][ ]\|[ ]\)["]could[ ]not[ ]upgrade[ ]firmware:' drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c - accept '[ ]FW_CAPS16[ ]=[ ]1[,][ ][/][*][ ]old[ ]Firmware:' drivers/net/ethernet/chelsio/cxgb4'\(/cxgb4\|vf/t4vf_common\)\.h' - accept '[ ]FW_CAPS32[ ]=[ ]2[,][ ][/][*][ ]new[ ]Firmware:' drivers/net/ethernet/chelsio/cxgb4'\(/cxgb4\|vf/t4vf_common\)\.h' - accept '[ ][*][ ]Reads[/]writes[ ]an[ ]\[almost\][ ]arbitrary[ ]memory[ ]region[ ]in[ ]the[ ]firmware:' drivers/net/ethernet/chelsio/cxgb4/t4_hw.c - accept '[ ][ ][ ][ ]["]failed[ ]to[ ]install[ ]firmware:' drivers/net/ethernet/chelsio/cxgb4/t4_hw.c - accept '[ ][ ]dev_err[(]adap->pdev_dev[,][ ]["]Cannot[ ]find[ ]a[ ]usable[ ]firmware:[ ]["]' drivers/net/ethernet/chelsio/cxgb4/t4_hw.c - accept '[ ]dev_dbg[(]dev[,][ ]["]Sending[ ]component[ ]table[ ]to[ ]firmware:\\n["][)][;]' drivers/net/ethernet/intel/ice/ice_fw_update.c - accept '[ ][*][ ]@firmware:[ ]firmware[ ]structure[ ]when[ ]firmware[ ]requested' drivers/net/ethernet/intel/ice/ice_main.c - accept '[ ][*][ ]@firmware:[ ]\(double[ ]\)\?pointer[ ]to[ ]firmware[ ]struct' drivers/net/ethernet/intel/ice/ice_main.c - accept '[ ][ ][ ]dev_err[(]fw->dev\.dev[,][ ]["]failed[ ]to[ ]request[ ]previous[ ]firmware:' drivers/net/ethernet/marvell/prestera/prestera_pci.c - accept '[ ]dev_info[(][&]pdev->dev[,][ ]["]Control[ ]plane[ ]versions[ ]host:[ ]%llx[,][ ]firmware:' drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_net.c - accept '[ ][ ]dev_info[(]rvu->dev[,][ ]["]Loading[ ]KPU[ ]profile[ ]from[ ]firmware:' drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c - accept 'abort_with_firmware[:]' drivers/net/ethernet/myricom/myri10ge/myri10ge.c - accept '[ ][ ]dev_warn[(][&]pf->pdev->dev[,][ ]["]Couldn[\'"'"']t[ ]unload[ ]firmware:' drivers/net/ethernet/netronome/nfp/nfp_main.c - accept '[ ][ ][ ]["]DMA[ ]mask[ ]of[ ]loaded[ ]firmware:' drivers/net/ethernet/netronome/nfp/nfp_net_common.c - accept '[ ][ ][ ][ ]["]Firmware:' drivers/net/ieee802154/atusb.c - accept '[ ][ ]dev_info[(][&]usb_dev->dev[,][ ]["]Firmware:' drivers/net/ieee802154/atusb.c - accept '[ ][*][ ]Firmware:[ ]ben-wpan[/]atusb[/]fw[/]include[/]atusb[/]atusb\.h' drivers/net/ieee802154/atusb.h - accept 'out_release_firmware:' drivers/net/ipa/ipa_main.c - accept '[ ][/][*][ ]SKB[ ]contents[ ]for[ ]current[ ]firmware:' drivers/net/usb/ax88179_178a.c - accept '[ ][ ]ath10k_err[(]ar[,][ ]["]failed[ ]to[ ]\(ping\|fetch[ ]UTF\)[ ]firmware:' drivers/net/wireless/ath/ath10k/testmode.c - accept '[ ][ ]ath10k_err[(]ar[,][ ]["]failed[ ]to[ ]\(unmap\|initialize\)[ ]firmware:' drivers/net/wireless/ath/ath10k/snoc.c - accept '[ ][ ]ath11k_err[(]ab[,][ ]["]failed[ ]to[ ]unmap[ ]firmware:' drivers/net/wireless/ath/ath11k/ahb.c - accept '[ ][ ]ath11k_err[(]ab[,][ ]["]failed[ ]to[ ]\(start\|pre[ ]init\)[ ]firmware:' drivers/net/wireless/ath/ath11k/core.c - accept '[ ][ ]*ath11k_err[(]ab[,][ ]["]failed[ ]to[ ]\(load[ ]m3\|start\)[ ]firmware:' drivers/net/wireless/ath/ath11k/qmi.c - accept '[ ][ ]ath11k_warn[(]ar->ab[,][ ]["]invalid[ ]nss[ ]ratio[ ]received[ ]from[ ]firmware:' drivers/net/wireless/ath/ath11k/mac.c - accept '[ ][ ]ath12k_err[(]ab[,][ ]["]failed[ ]to[ ]start[ ]firmware:' drivers/net/wireless/ath/ath12k/core.c - accept '[ ][ ]ath12k_err[(]ab[,][ ]["]failed[ ]to[ ]load[ ]m3[ ]firmware:' drivers/net/wireless/ath/ath12k/qmi.c - accept '[ ][ ]ath6kl_err[(]["]Failed[ ]to[ ]write[ ]firmware:' drivers/net/wireless/ath/ath6kl/init.c - accept '[ ]brcmf_info[(]["]Firmware:' drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c - accept '[ ][ ]IPW_DEBUG_ERROR[(]["]%s:[ ]Error[ ]loading[ ]firmware:' drivers/net/wireless/intel/ipw2x00/ipw2100.c - accept '[ ][ ]*IPW_ERROR[(]["]Unable[ ]to[ ]load[ ]\(boot[ ]\)\?firmware:' drivers/net/wireless/intel/ipw2x00/ipw2200.c - accept '[ ][*][ ]The[ ]length[ ]of[ ]this[ ]event[ ]is[ ]hard-coded[ ]in[ ]the[ ]firmware:' drivers/net/wireless/intel/iwlwifi/fw/api/time-event.h - accept '[ ][ ]IWL_ERR[(]mvm[,][ ]["]Failed[ ]to[ ]start[ ]WoWLAN[ ]firmware:' drivers/net/wireless/intel/iwlwifi/mvm/fw.c - accept '[ ][ ][/][*][ ]Failed[ ]to[ ]find[ ]firmware:' drivers/net/wireless/marvell/libertas/firmware.c - accept 'err_stop_firmware:' drivers/net/wireless/marvell/mwl8k.c - accept '[ ][ ]dev_err[(]device[,][ ]["]failed[ ]to[ ]early[ ]request[ ]firmware:' drivers/net/wireless/realtek/rtw89/fw.c - accept '[ ]seq_printf[(]seq[,][ ]["]Firmware:' drivers/net/wireless/st/cw1200/debug.c - accept '[ ][ ]wl1251_error[(]["]could[ ]not[ ]get[ ]firmware:' drivers/net/wireless/ti/wl1251/main.c - accept '[ ][ ]["]VID:%04x[ ]model:%\.[*]s[ ]firmware:' drivers/nvme/host/nvme.h - accept '[ ][ ]["]VID:DID[ ]%04x:%04x[ ]model:%\.[*]s[ ]firmware:' drivers/nvme/host/pci.c - accept '[ ][ ][ ]dev_err[(]dev[,][ ]["]failed[ ]to[ ]set[ ]firmware:' drivers/remoteproc/pru_rproc.c - accept '[ ][*][ ]@firmware:[ ]name[ ]of[ ]firmware[ ]file' drivers/remoteproc/remoteproc_core.c - accept 'release_\(dtb_\)\?firmware:' drivers/remoteproc/qcom_q6v5_pas.c - accept '[ ][ ][ ][ ]["]failed[ ]to[ ]install[ ]firmware:' drivers/scsi/csiostor/csio_hw.c - accept '[ ][ ]csio_err[(]hw[,][ ]["]Cannot[ ]find[ ]a[ ]usable[ ]firmware:[ ]["]' drivers/scsi/csiostor/csio_hw.c - accept '[ ]FW_CAPS16[ ][ ][ ][ ][ ][ ][ ]=[ ]1[,][ ][ ][ ][ ][/][*][ ]old[ ]Firmware:' drivers/scsi/csiostor/csio_hw.h - accept '[ ]FW_CAPS32[ ][ ][ ][ ][ ][ ][ ]=[ ]2[,][ ][ ][ ][ ][/][*][ ]new[ ]Firmware:' drivers/scsi/csiostor/csio_hw.h - accept '[ ][*][ ]Reads[/]writes[ ]an[ ]\[almost\][ ]arbitrary[ ]memory[ ]region[ ]in[ ]the[ ]firmware:' drivers/scsi/csiostor/csio_hw_t5.c - accept '[ ][*][ ]login[ ]through[ ]the[ ]HBA[ ]firmware:' drivers/scsi/lpfc/lpfc_els.c - accept '[ ][*][ ]@ir_firmware:[ ]IR[ ]firmware[ ]present' drivers/scsi/mpt3sas/mpt3sas_base.h - accept '[ ][ ]["]Option[ ]to[ ]specify[ ]location[ ]from[ ]which[ ]to[ ]load[ ]ISP[ ]firmware:' drivers/scsi/qla2xxx/qla_os.c - accept '[ ][ ]printk[(]KERN_\(INFO\|ERR\)[ ]["]qe-firmware:\([ ]firmware\)\?' drivers/soc/fsl/qe/qe.c - accept '[ ][ ][ ]["]qe-firmware:[ ]firmware' drivers/soc/fsl/qe/qe.c - accept '[ ]print_npe[(]KERN_DEBUG[,][ ]npe[,][ ]["]firmware:' drivers/soc/ixp4xx/ixp4xx-npe.c - accept '[ ][*][ ]@firmware:[ ]name[ ]of[ ]the[ ]firmware[,]' drivers/soc/qcom/mdt_loader.c - accept '[ ][ ]dev_err[(][&]pdev->dev[,][ ]["]Register[ ]notifier[ ]version[ ]error\.[ ]Expected[ ]Firmware:' drivers/soc/xilinx/xlnx_event_manager.c - accept '[ ][ ]printf[(]["]Failed[ ]to[ ]load[ ]\(interface\|backend\)[ ]firmware:' drivers/staging/greybus/Documentation/firmware/firmware.c - accept '[ ][ ][*][ ]Release[ ]firmware:' drivers/staging/greybus/bootrom.c - accept '[ ][ ][ ]["]failed[ ]to[ ]load[ ]backend[ ]firmware:' drivers/staging/greybus/fw-management.c - accept '[ ]release_firmware:' drivers/staging/ks7010/ks7010_sdio.c - accept 'error_\(unload\|release\)_firmware:' drivers/staging/media/atomisp/pci/atomisp_v4l2.c - accept '[ ][ ]case[ ]ia_css_isp_firmware:' drivers/staging/media/atomisp/pci/atomisp_compat_css20.c - accept '[ ][ ]case[ ]ia_css_\(isp\|sp\|bootloader\|acc\)_firmware:' drivers/staging/media/atomisp/pci/sh_css_firmware.c - accept '[ ]case[ ]ia_css_\(sp\|acc\|isp\)_firmware:' drivers/staging/media/atomisp/pci/sh_css_sp.c - accept 'bad_firmware:' drivers/staging/media/ipu3/ipu3-css.c - accept '[ ][*][ ]@load_extended_firmware:[ ]optional[ ]call[ ]to[ ]load[ ]additional[ ]firmware[ ]bits' drivers/staging/media/meson/vdec/vdec.h - accept 'release_firmware:' drivers/'media/pci/intel/ipu6/ipu6-isys\|input/touchscreen/atmel_mxt_ts\|staging/media/meson/vdec/vdec_\(1\|hevc\)\)\.c' - accept '[ ]netdev_dbg[(]dev[,][ ]["]Download[ ]Firmware:' drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c - accept '[ ][ ][ ][ ]["]Could[ ]not[ ]download[ ]firmware:' drivers/staging/vt6656/main_usb.c - accept '[ ][ ][ ]printk[(]KERN_WARNING[ ]["]MOXA[ ]firmware:' drivers/tty/moxa.c - accept '[ ]usb_dbg[(]usbatm[,][ ]["]cxacru_find_firmware:' drivers/usb/atm/cxacru.c - accept '[ ][ ][*][ ]Start[ ]to[ ]upload[ ]firmware[ ]:' drivers/usb/atm/ueagle-atm.c - accept '[ ][ ]dev_err[(]tegra->dev[,][ ]["]failed[ ]to[ ]request[ ]firmware:' drivers/usb/host/xhci-tegra.c - accept '[ ][ ][ ][ ]["]failed[ ]to[ ]request[ ]firmware:' drivers/usb/host/xhci-tegra.c - accept '[ ][ ]dev_err[(][&]pdev->dev[,][ ]["]failed[ ]to[ ]load[ ]firmware:' drivers/usb/host/xhci-tegra.c - accept 'free_firmware:' drivers/usb/host/xhci-tegra.c - accept '[ ][ ]dev_err[(]tegra->dev[,][ ]["]failed[ ]to[ ]load[ ]firmware:[ ]%d\\n["][,][ ]err[)][;]' drivers/usb/host/xhci-tegra.c - accept '[ ][ ]dev_err[(][&]dev->dev[,]["]%s[ ]-[ ]error[ ]loading[ ]firmware:[ ]error[ ]=[ ]%d\\n["][,]' drivers/usb/misc/emi'\(26\|62\)\.c' - accept 'check_firmware:' drivers/usb/serial/ti_usb_3410_5052.c - accept 'no_firmware:' drivers/usb/serial/whiteheat.c - accept 'out_release_firmware:' drivers/usb/typec/ucsi/ucsi_ccg.c - accept '[ ]pr_info[(]["]Found[ ]card[ ]at[ ]port[ ]0x%04x[ ][(]Firmware:' drivers/watchdog/pcwd_pci.c - accept '[ ]pr_info[(]["]Found[ ]card[ ][(]Firmware:' drivers/watchdog/pcwd_usb.c - accept '[ ][ ][ ]["]Failed[ ]to[ ]verify[ ]firmware:' drivers/watchdog/ziirave_wdt.c - accept 'release_firmware:' drivers/watchdog/ziirave_wdt.c - accept '[ ][ ]*return[ ]firmware_request_nowait_nowarn[(]module[,][ ]\(NONFREE_FIRMWARE\|name[,][ ]device\)[,]' include/linux/firmware.h - accept '[ ][*][ ]@slow_firmware:[ ]The[ ]device[ ]has[ ]slow[ ]underlying[ ]firmware\.' include/linux/mei_aux.h - accept '[ ][*][ ]@firmware:[ ]name[ ]of[ ]firmware[ ]file[ ]to[ ]be[ ]loaded' include/linux/remoteproc.h - accept '[/][*][ ]Advertise[ ]to[ ]the[ ]NIC[ ]firmware:' include/net/mana/gdma.h - accept '[ ][*][ ]@req_firmware:' lib/test_firmware.c - accept '[ ][ ][*][ ]with[ ]TheFirmware:' net/ax25/ax25_ds_subr.c - accept 'err_release_firmware:' net/ethtool/module.c - accept '[ ][ ][ ][ ][ ][ ][ ][ ]Self[(]bindings::firmware_request_nowarn[)]' rust/kernel/firmware.rs - accept '[/][/][/][ ]#[ ]use[ ]kernel::[{]c_str[,][ ]device::Device[,][ ]firmware::Firmware[}][;]' rust/kernel/firmware.rs - accept '[ ][ ][ ][ ][/][/][/][ ]`bindings::firmware_request_nowarn`\.' rust/kernel/firmware.rs - accept '[ ][ ][ ][ ][ ][ ][ ][ ][/][/][ ]`bindings::firmware::data`[ ]has[ ]a[ ]size[ ]of[ ]`bindings::firmware::size`[ ]bytes\.' rust/kernel/firmware.rs - accept '[ ][ ][ ][ ]firmware:[ ]Option>[,]' rust/macros/module.rs - accept '[ ][ ][ ][ ]kernel-with-firmware:[ ]false' scripts/package/snapcraft.template - accept '[ ][ ]pr_err[(]["]Error[ ]reading[ ]\(db\|dbx\|trustedcadb\|moduledb\)[ ]from[ ]firmware:' security/integrity/platform_certs/load_powerpc.c - accept '[ ]snd_iprintf[(]buffer[,][ ]["]Xilinx[ ]Firmware:' sound/drivers/vx/vx_core.c - accept '[ ][ ]on[ ]BridgeCo[ ]DM1000[/]DM1100[/]DM1500[ ]with[ ]BeBoB[ ]firmware:' sound/firewire/Kconfig - accept '[ ]snd_iprintf[(]buffer[,][ ]["][ ][ ]firmware:' sound/isa/opti9xx/miro.c - accept '[ ]dev_dbg[(]cs35l41->dev[,][ ]["]Loading[ ]WMFW[ ]Firmware:' sound/pci/hda/cs35l41_hda.c - accept '[ ][ ]dev_dbg[(]cs35l56->base\.dev[,][ ]["]Loaded[ ]WMFW[ ]Firmware:' sound/pci/hda/cs35l56_hda.c - accept '[ ][ ][ ]dev_err[(]component->dev[,][ ]["]Failed[ ]to[ ]attach[ ]firmware:' sound/soc/codecs/adau17x1.c - accept '[ ][ ]dev_err[(]sigmadsp->dev[,][ ]["]Failed[ ]to[ ]load[ ]firmware:' sound/soc/codecs/sigmadsp.c - accept '[ ][ ][ ]["]Failed[ ]to[ ]load[ ]firmware:[ ]Invalid[ ]version[ ]%d\.[ ]Supported[ ]firmware[ ]versions' sound/soc/codecs/sigmadsp.c - accept '[ ][/][*][ ]how[ ]to[ ]get[ ]this[ ]firmware:' sound/soc/codecs/zl38060.c - accept 'err_firmware:' sound/soc/fsl/fsl_xcvr.c - accept '[ ][ ][ ]["]Firmware:' sound/soc/sof/ipc3-loader.c - accept '[ ][ ][ ]["]Firmware:' sound/soc/sof/ipc3.c - accept '[ ][ ][ ]*["]unable[ ]to[ ]upload[ ]fpga[ ]firmware:' sound/usb/6fire/firmware.c - - # New in 6.11.2, 6.10.13, 6.6.54, 6.1.113, 5.15.168, 5.10.227. - accept '[ ][*][ ]It[ ]must[ ]not[ ]contain[ ]any[ ]["]\.\.["][ ]path[ ]components[ ]-[ ]["]foo[/]bar\.\.bin["][ ]is[\n][ ][*][ ]allowed[,][ ]but[ ]["]foo[/]\.\.[/]bar\.bin["][ ]is[ ]not\.' drivers/base/firmware_loader/main.c - # New in 6.11.2. - blobname 'qcom[/]sdx55m[/]foxconn[/]prog_firehose_sdx55\.mbn' drivers/bus/mhi/host/pci_generic.c - blobname 'qcom[/]sdx72m[/]foxconn[/]edl\.mbn' drivers/bus/mhi/host/pci_generic.c - - # New in 6.11.3, 6.10.14, 6.6.55, 6.1.113, 5.15.168, 5.10.227. - blobname 'gsl1680-rwc-nanote-next\.fw' drivers/platform/x86/touchscreen_dmi.c - defsnc 'alc298_samsung_v2_amp_desc_tbl\[\][ ]=' sound/pci/hda/patch_realtek.c - - # New in 6.11.4, 6.6.57, 6.1.113, 5.15.168, 5.10.227. - defsc 'static[ ]const[ ]unsigned[ ]char[ ]utf8data\[64080\][ ]=' fs/unicode/utf8data.c_shipped - - # New in 6.11.7. - blobname 'mediatek[/]mt7988[/]mt7988_wo_[01]\.bin' drivers/net/ethernet/mediatek/mtk_wed_wo.h - - # New in 6.12.2, 6.11.11. - blobname 'qcom[/]qcs6490[/]modem\.mbn' arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts # Trisquel changes for upstream kernel. + blobname 'gsl1680-globalspace-solt-ivw116\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'E\.WSA116_8\.E1\.042\.bin' drivers/platform/x86/touchscreen_dmi.c + blobname 'qcom[/]sdm850[/]LENOVO[/]81JL[/]ipa_fws\.elf' arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts blobname '\(cdsp[01]\|gpdsp[01]\|adsp\)\.mbn' drivers/remoteproc/qcom_q6v5_pas.c - blobname 'rtl_nic[/]rtl8126a-3\.fw' drivers/net/ethernet/realtek/r8169_main.c - blobname 'rtlwifi[/]rtl8192sefw\.bin' drivers/net/wireless/rtlwifi/rtl8192se/sw.c - blobname 'qcom[/]sc8280xp[/]LENOVO[/]21BX[/]qcvss8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts + ## New in 6.11.3, 6.10.14, 6.6.55, 6.1.113, 5.15.168, 5.10.227. + blobname 'gsl1680-rwc-nanote-next\.fw' drivers/platform/x86/touchscreen_dmi.c #EO Trisquel changes - ;; */*freedo*.patch | */*logo*.patch) @@ -7801,7 +7342,6 @@ set_except () { blobna 'equest_partial_firmwar' blobna 'equest_ihex_firmwar' blobna 'irmware_reques' # catch _nowarn; also caches _cache, but that's ok. - blobna 'irmware[ ]*:' # rust fw loading bindings, and module fw specs. blobna 'ucode_reques' # catch amdgpu_ucode_request. # Catch request_firmare misdeblobbed by the above. blobname 'r[/][*][(]DEBLOBBED[)][*][/]e' @@ -7811,7 +7351,7 @@ set_except () { blobna 'DEFAULT_FIRMWARE' blobna '\([.]\|->\)firmware[ \n]*=[^=]' blobna 'mod_firmware_load' # sound/ - blobname '[.]\(\(fw\|bin\)[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\|tftf\|out\|nffw\|mdt\|mfa2\?\|ri\|tplg\|itb\|cyacd\|mbn\|tlv\|sfi\|grp\|bin\.se\|wmfw\)[\\]\?["]' + blobname '[.]\(\(fw\|bin\)[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\|tftf\|out\|nffw\|mdt\|mfa2\?\|ri\|tplg\|itb\|cyacd\|mbn\|tlv\|sfi\|grp\|bin\.se\)[\\]\?["]' # WIP ends with [\\]\?[][}{)(><,;:.!?% \t\n"`\'"'"']' # Catch misdeblobbed fw extension. blobname '["]\([^" \t\n/]*[/][/]*\)*[*][(]DEBLOBBED[)][*][/][^"\\]' diff --git a/helpers/DATA/linux-hwe-6.11/udeb/000-d-i.patch b/helpers/DATA/linux-hwe-6.8/udeb/000-d-i.patch similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/000-d-i.patch rename to helpers/DATA/linux-hwe-6.8/udeb/000-d-i.patch diff --git a/helpers/DATA/linux-hwe-6.11/udeb/001-disable_zstd_module_compression.patch b/helpers/DATA/linux-hwe-6.8/udeb/001-disable_zstd_module_compression.patch similarity index 100% rename from helpers/DATA/linux-hwe-6.11/udeb/001-disable_zstd_module_compression.patch rename to helpers/DATA/linux-hwe-6.8/udeb/001-disable_zstd_module_compression.patch diff --git a/helpers/DATA/linux-hwe-6.8/udeb/5-udebs.mk b/helpers/DATA/linux-hwe-6.8/udeb/5-udebs.mk new file mode 100644 index 0000000..e642fe6 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/5-udebs.mk @@ -0,0 +1,79 @@ +# Do udebs if not disabled in the arch-specific makefile +binary-udebs: binary-debs + @echo Debug: $@ +ifeq ($(disable_d_i),) + @$(MAKE) --no-print-directory -f $(DROOT)/rules DEBIAN=$(DEBIAN) \ + do-binary-udebs +endif + +do-binary-udebs: linux_udeb_name=$(shell if echo $(src_pkg_name)|egrep -q '(linux-lts|linux-hwe|linux-[0-9]+\.[0-9]+)'; then echo $(src_pkg_name); else echo linux; fi) +do-binary-udebs: debian/control + @echo Debug: $@ + dh_testdir + dh_testroot + + # unpack the kernels into a temporary directory + mkdir -p debian/d-i-${arch} + + imagelist=$$(cat $(CURDIR)/$(DEBIAN)/d-i/kernel-versions | grep ^${arch} | gawk '{print $$3}') && \ + for f in $$imagelist; do \ + i=$(release)-$(abinum)-$$f; \ + for f in \ + ../linux-image-$$i\_$(release)-$(revision)_${arch}.deb \ + ../linux-image-unsigned-$$i\_$(release)-$(revision)_${arch}.deb \ + ../linux-modules-$$i\_$(release)-$(revision)_${arch}.deb \ + ../linux-modules-extra-$$i\_$(release)-$(revision)_${arch}.deb; \ + do \ + [ -f $$f ] && dpkg -x $$f debian/d-i-${arch}; \ + done; \ + /sbin/depmod -b debian/d-i-${arch} $$i; \ + done + + # kernel-wedge will error if no modules unless this is touched + touch $(DEBIAN)/d-i/no-modules + + touch $(CURDIR)/$(DEBIAN)/d-i/ignore-dups + export KW_DEFCONFIG_DIR=$(CURDIR)/$(DEBIAN)/d-i && \ + export KW_CONFIG_DIR=$(CURDIR)/$(DEBIAN)/d-i && \ + export SOURCEDIR=$(CURDIR)/debian/d-i-${arch} && \ + kernel-wedge install-files $(release)-$(abinum) && \ + kernel-wedge check + + # Build just the udebs + dilist=$$(dh_listpackages -s | grep "\-di$$") && \ + [ -z "$dilist" ] || \ + for i in $$dilist; do \ + dh_fixperms -p$$i; \ + $(lockme) dh_gencontrol -p$$i; \ + dh_builddeb -p$$i; \ + done + + # Generate the meta-udeb dependancy lists. + @gawk ' \ + /^Package:/ { \ + package=$$2; flavour=""; parch="" } \ + (/Package-Type: udeb/ && package !~ /^$(linux_udeb_name)-udebs-/) { \ + match(package, "'$(release)'-'$(abinum)'-(.*)-di", bits); \ + flavour = bits[1]; \ + } \ + (/^Architecture:/ && $$0 " " ~ / '$(arch)'/) { \ + parch=$$0; \ + } \ + (flavour != "" && parch != "") { \ + udebs[flavour] = udebs[flavour] package ", "; \ + flavour=""; parch=""; \ + } \ + END { \ + for (flavour in udebs) { \ + package="$(linux_udeb_name)-udebs-" flavour; \ + file="debian/" package ".substvars"; \ + print("udeb:Depends=" udebs[flavour]) > file; \ + metas="'$(builddir)'/udeb-meta-packages"; \ + print(package) >metas \ + } \ + } \ + ' <$(CURDIR)/debian/control + @while read i; do \ + $(lockme) dh_gencontrol -p$$i; \ + dh_builddeb -p$$i; \ + done <$(builddir)/udeb-meta-packages diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/README.txt b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/amd64/README.txt b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/amd64/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/amd64/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/amd64/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/amd64/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/amd64/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/amd64/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/amd64/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/amd64/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/arm64/README.txt b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/arm64/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/arm64/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/arm64/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/arm64/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/arm64/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/arm64/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/arm64/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/arm64/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/armhf/README.txt b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/armhf/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/armhf/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/i386/README.txt b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/i386/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/i386/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/i386/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/i386/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/i386/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/i386/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/i386/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/i386/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/nic-modules new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/nic-modules @@ -0,0 +1 @@ + diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/powerpc/README.txt b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/powerpc/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/powerpc/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/powerpc/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/powerpc/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/powerpc/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/powerpc/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/powerpc/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/powerpc/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/ppc64el/README.txt b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/ppc64el/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/ppc64el/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/ppc64el/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/ppc64el/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/ppc64el/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/ppc64el/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/ppc64el/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/ppc64el/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/s390x/README.txt b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/s390x/README.txt new file mode 100644 index 0000000..27a8600 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/s390x/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/s390x/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/s390x/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/s390x/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/s390x/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/s390x/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/s390x/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/scsi-modules new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/firmware/scsi-modules @@ -0,0 +1 @@ + diff --git a/helpers/DATA/linux-hwe-6.14/udeb/d-i/kernel-versions b/helpers/DATA/linux-hwe-6.8/udeb/d-i/kernel-versions similarity index 100% rename from helpers/DATA/linux-hwe-6.14/udeb/d-i/kernel-versions rename to helpers/DATA/linux-hwe-6.8/udeb/d-i/kernel-versions diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/block-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/crc-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/crypto-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/fat-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/fb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/fb-modules new file mode 100644 index 0000000..aba524d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/fb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/floppy-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/floppy-modules new file mode 100644 index 0000000..bc84c4e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/floppy-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/fs-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/fs-secondary-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/isofs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/kernel-image b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/md-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/message-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/message-modules new file mode 100644 index 0000000..9b060b3 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/message-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/mouse-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/mouse-modules new file mode 100644 index 0000000..15fcb00 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/mouse-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/multipath-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/nic-shared-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/nic-wireless-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/parport-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/scsi-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/scsi-core-modules new file mode 100644 index 0000000..778a022 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/scsi-core-modules @@ -0,0 +1,4 @@ +#include + +# Needed by hv_storvsc in hyperv-modules as well as scsi-modules +scsi_transport_fc diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/serial-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/serial-modules new file mode 100644 index 0000000..6ab8b8c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/serial-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/storage-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/usb-storage-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/virtio-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/vlan-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64-virtual/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/block-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/crc-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/crypto-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/fat-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/fb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/fb-modules new file mode 100644 index 0000000..87c0ad5 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/fb-modules @@ -0,0 +1,5 @@ +#include + +vesafb ? +vga16fb + diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/firewire-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/firewire-core-modules new file mode 100644 index 0000000..dcac80a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/firewire-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/floppy-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/floppy-modules new file mode 100644 index 0000000..bc84c4e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/floppy-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/fs-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/fs-secondary-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/i2c-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/i2c-modules new file mode 100644 index 0000000..203a607 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/i2c-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/input-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/input-modules new file mode 100644 index 0000000..5ecb595 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/input-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/ipmi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/ipmi-modules new file mode 100644 index 0000000..d0fc979 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/ipmi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/isofs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/kernel-image b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/md-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/message-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/message-modules new file mode 100644 index 0000000..9b060b3 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/message-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/mouse-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/mouse-modules new file mode 100644 index 0000000..15fcb00 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/mouse-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/mtd-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/mtd-core-modules new file mode 100644 index 0000000..28fdada --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/mtd-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/multipath-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nfs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nfs-modules new file mode 100644 index 0000000..946fb8e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nfs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-pcmcia-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-pcmcia-modules new file mode 100644 index 0000000..7a0702c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-pcmcia-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-shared-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-usb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-usb-modules new file mode 100644 index 0000000..c479669 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-wireless-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/parport-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/pata-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/pata-modules new file mode 100644 index 0000000..b0cd633 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/pata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/pcmcia-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/pcmcia-modules new file mode 100644 index 0000000..2bb5350 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/pcmcia-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/pcmcia-storage-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/pcmcia-storage-modules new file mode 100644 index 0000000..f73ae5b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/pcmcia-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/plip-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/plip-modules new file mode 100644 index 0000000..ca7a41b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/plip-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/ppp-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/ppp-modules new file mode 100644 index 0000000..1f26aa1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/ppp-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/sata-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/sata-modules new file mode 100644 index 0000000..01318c2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/sata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/scsi-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/scsi-core-modules new file mode 100644 index 0000000..778a022 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/scsi-core-modules @@ -0,0 +1,4 @@ +#include + +# Needed by hv_storvsc in hyperv-modules as well as scsi-modules +scsi_transport_fc diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/serial-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/serial-modules new file mode 100644 index 0000000..6ab8b8c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/serial-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/speakup-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/speakup-modules new file mode 100644 index 0000000..2959272 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/speakup-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/storage-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/usb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/usb-modules new file mode 100644 index 0000000..c598ded --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/usb-storage-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/virtio-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/vlan-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/amd64/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/block-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/crc-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/crypto-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/fat-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/fb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/fb-modules new file mode 100644 index 0000000..ce62cae --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/fb-modules @@ -0,0 +1,21 @@ +#include + +ast +tegra-drm +rockchipdrm +hibmc-drm + +# For panel/backlight on some chromeos devices +panel-simple +pwm_bl +pwm-cros-ec + +# For panel/backlight on Pinebook +analogix-anx6345 +pwm-sun4i +sun4i-drm +sun8i-mixer + +# For panel/backlight on Pinebook Pro +pwm-rockchip + diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/fs-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/fs-secondary-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/i2c-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/i2c-modules new file mode 100644 index 0000000..6f839a7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/i2c-modules @@ -0,0 +1,5 @@ +#include +i2c-tegra +i2c-rk3x +i2c-mv64xxx +i2c-imx diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/input-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/input-modules new file mode 100644 index 0000000..5ecb595 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/input-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/ipmi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/ipmi-modules new file mode 100644 index 0000000..d0fc979 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/ipmi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/isofs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/kernel-image b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/md-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/message-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/message-modules new file mode 100644 index 0000000..9b060b3 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/message-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/mouse-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/mouse-modules new file mode 100644 index 0000000..15fcb00 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/mouse-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/mtd-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/mtd-core-modules new file mode 100644 index 0000000..28fdada --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/mtd-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/multipath-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nfs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nfs-modules new file mode 100644 index 0000000..946fb8e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nfs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nic-shared-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nic-usb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nic-usb-modules new file mode 100644 index 0000000..c479669 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nic-usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nic-wireless-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/parport-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/plip-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/plip-modules new file mode 100644 index 0000000..ca7a41b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/plip-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/ppp-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/ppp-modules new file mode 100644 index 0000000..1f26aa1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/ppp-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/sata-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/sata-modules new file mode 100644 index 0000000..01318c2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/sata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/scsi-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/scsi-core-modules new file mode 100644 index 0000000..dd65d66 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/scsi-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/speakup-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/speakup-modules new file mode 100644 index 0000000..2959272 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/speakup-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/storage-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/usb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/usb-modules new file mode 100644 index 0000000..c598ded --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/usb-storage-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/virtio-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/vlan-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/arm64/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/block-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/crc-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/crypto-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/fat-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/fs-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/fs-secondary-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/i2c-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/i2c-modules new file mode 100644 index 0000000..feb2d8f --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/i2c-modules @@ -0,0 +1,4 @@ +#include +i2c-exynos5 ? +i2c-mv64xxx +i2c-rk3x diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/input-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/input-modules new file mode 100644 index 0000000..5ecb595 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/input-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/ipmi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/ipmi-modules new file mode 100644 index 0000000..d0fc979 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/ipmi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/isofs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/kernel-image b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/md-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/mouse-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/mouse-modules new file mode 100644 index 0000000..15fcb00 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/mouse-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/mtd-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/mtd-modules new file mode 100644 index 0000000..38e22a0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/mtd-modules @@ -0,0 +1,3 @@ +#include +mxc_nand ? +marvell_nand diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/multipath-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nfs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nfs-modules new file mode 100644 index 0000000..946fb8e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nfs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nic-shared-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nic-usb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nic-usb-modules new file mode 100644 index 0000000..c479669 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nic-usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nic-wireless-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/parport-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/plip-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/plip-modules new file mode 100644 index 0000000..ca7a41b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/plip-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/ppp-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/ppp-modules new file mode 100644 index 0000000..1f26aa1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/ppp-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/sata-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/sata-modules new file mode 100644 index 0000000..01318c2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/sata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/scsi-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/scsi-core-modules new file mode 100644 index 0000000..dd65d66 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/scsi-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/speakup-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/speakup-modules new file mode 100644 index 0000000..2959272 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/speakup-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/storage-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/usb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/usb-modules new file mode 100644 index 0000000..c598ded --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/usb-storage-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/vlan-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/armhf/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/block-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/block-modules new file mode 100644 index 0000000..19f9575 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/block-modules @@ -0,0 +1,43 @@ +aoe ? +aten ? +bcm2835 ? +bpck ? +bpck6 ? +cciss ? +comm ? +cpqarray ? +DAC960 ? +dstr ? +epat ? +epia ? +fit2 ? +fit3 ? +friq ? +frpw ? +hpsa ? +hio ? +kbic ? +ktti ? +nbd ? +nvme ? +on20 ? +on26 ? +paride ? +pcd ? +pd ? +pf ? +pg ? +pt ? +sdhci-tegra ? +sx8 ? +umem ? +virtio_blk ? +xen-blkfront ? +mtip32xx ? +mmc_block ? +sdhci ? +sdhci-pci ? +sdhci-acpi ? +tifm_sd ? +dw_mmc ? +dw_mmc_pltfm ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/block-modules.powerpc b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/block-modules.powerpc new file mode 100644 index 0000000..ca126b7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/block-modules.powerpc @@ -0,0 +1,31 @@ +aoe ? +aten ? +bpck ? +bpck6 ? +cciss ? +comm ? +cpqarray ? +DAC960 ? +dstr ? +epat ? +epia ? +fit2 ? +fit3 ? +friq ? +frpw ? +kbic ? +ktti ? +nbd ? +on20 ? +on26 ? +paride ? +pcd ? +pd ? +pf ? +pg ? +ps3disk ? +ps3vram ? +pt ? +sx8 ? +umem ? +virtio_blk ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/crc-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/crc-modules new file mode 100644 index 0000000..349f0af --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/crc-modules @@ -0,0 +1,7 @@ +crc-ccitt +libcrc32c +crc32_generic +crc32c_generic +crc-itu-t +crc16 +crc7 ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/crypto-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/crypto-modules new file mode 100644 index 0000000..449677a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/crypto-modules @@ -0,0 +1,78 @@ +aesni-intel ? +aes-x86_64 ? +af_alg ? +algif_hash ? +algif_skcipher ? +ansi_cprng ? +anubis ? +arc4 ? +async_memcpy ? +async_pq ? +async_raid6_recov ? +async_tx ? +async_xor ? +authenc ? +authencesn ? +blowfish_common ? +blowfish_generic ? +blowfish-x86_64 ? +camellia ? +cast5 ? +cast6 ? +ccm ? +crc32_generic ? +crc32c_generic ? +crc32-vx_s390 ? +cryptd ? +cryptoloop ? +crypto_null ? +crypto_user ? +ctr ? +cts ? +des_generic ? +fcrypt ? +gcm ? +gf128mul ? +ghash-clmulni-intel ? +ghash-generic ? +khazad ? +lrw ? +lzo ? +md4 ? +michael_mic ? +padlock-aes ? +padlock-sha ? +paes_s390 ? +pcbc ? +pcrypt ? +pkey ? +raid6test ? +rmd128 ? +rmd160 ? +rmd256 ? +rmd320 ? +salsa20_generic ? +salsa20-x86_64 ? +seed ? +seqiv ? +serpent_generic ? +serpent-sse2-x86_64 ? +sha1-ssse3 ? +sha512_generic ? +tcrypt ? +tea ? +tgr192 ? +twofish_common ? +twofish_generic ? +twofish-x86_64 ? +twofish-x86_64-3way ? +vmac ? +wp512 ? +xcbc ? +xor ? +xts ? +zcrypt ? +zcrypt_cex2a ? +zcrypt_cex4 ? +zcrypt_pcixcc ? +zlib ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/dasd-extra-modules.s390x b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/dasd-extra-modules.s390x new file mode 100644 index 0000000..fff5ab6 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/dasd-extra-modules.s390x @@ -0,0 +1 @@ +dasd_diag_mod ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/dasd-modules.s390x b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/dasd-modules.s390x new file mode 100644 index 0000000..8e6185b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/dasd-modules.s390x @@ -0,0 +1,3 @@ +dasd_mod ? +dasd_fba_mod ? +dasd_eckd_mod ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/fat-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/fat-modules new file mode 100644 index 0000000..6c56db2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/fat-modules @@ -0,0 +1,8 @@ +fat ? +vfat ? + +# Supporting modules ? +nls_cp437 ? +nls_iso8859-1 ? +nls_utf8 ? +nls_ascii ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/fb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/fb-modules new file mode 100644 index 0000000..eae829f --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/fb-modules @@ -0,0 +1,3 @@ +fbcon ? +vesafb ? +vga16fb ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/firewire-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/firewire-core-modules new file mode 100644 index 0000000..dbb9229 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/firewire-core-modules @@ -0,0 +1,4 @@ +firewire-core ? +firewire-ohci ? +firewire-sbp2 ? +firewire-net ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/floppy-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/floppy-modules new file mode 100644 index 0000000..ca8d7ff --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/floppy-modules @@ -0,0 +1 @@ +floppy ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/fs-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/fs-core-modules new file mode 100644 index 0000000..6cadcf4 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/fs-core-modules @@ -0,0 +1,5 @@ +ext2 ? +ext4 ? +jfs ? +reiserfs ? +xfs ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/fs-secondary-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/fs-secondary-modules new file mode 100644 index 0000000..db46bb7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/fs-secondary-modules @@ -0,0 +1,5 @@ +btrfs ? +fuse ? +ntfs ? +hfs ? +hfsplus ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i2c-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i2c-modules new file mode 100644 index 0000000..0c4999f --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i2c-modules @@ -0,0 +1,3 @@ +i2c-core +i2c-algo-bit +i2c-designware-platform ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/block-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/crc-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/crypto-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/fat-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/fb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/fb-modules new file mode 100644 index 0000000..aba524d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/fb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/floppy-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/floppy-modules new file mode 100644 index 0000000..bc84c4e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/floppy-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/fs-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/fs-secondary-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/isofs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/kernel-image b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/md-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/message-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/message-modules new file mode 100644 index 0000000..9b060b3 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/message-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/mouse-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/mouse-modules new file mode 100644 index 0000000..15fcb00 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/mouse-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/multipath-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/nic-shared-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/nic-wireless-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/parport-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/scsi-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/scsi-core-modules new file mode 100644 index 0000000..778a022 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/scsi-core-modules @@ -0,0 +1,4 @@ +#include + +# Needed by hv_storvsc in hyperv-modules as well as scsi-modules +scsi_transport_fc diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/serial-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/serial-modules new file mode 100644 index 0000000..6ab8b8c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/serial-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/storage-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/usb-storage-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/virtio-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/vlan-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386-virtual/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/block-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/crc-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/crypto-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/fat-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/fb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/fb-modules new file mode 100644 index 0000000..aba524d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/fb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/firewire-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/firewire-core-modules new file mode 100644 index 0000000..dcac80a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/firewire-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/floppy-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/floppy-modules new file mode 100644 index 0000000..bc84c4e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/floppy-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/fs-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/fs-secondary-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/i2c-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/i2c-modules new file mode 100644 index 0000000..203a607 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/i2c-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/input-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/input-modules new file mode 100644 index 0000000..5ecb595 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/input-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/ipmi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/ipmi-modules new file mode 100644 index 0000000..d0fc979 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/ipmi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/isofs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/kernel-image b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/md-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/message-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/message-modules new file mode 100644 index 0000000..9b060b3 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/message-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/mouse-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/mouse-modules new file mode 100644 index 0000000..15fcb00 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/mouse-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/mtd-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/mtd-core-modules new file mode 100644 index 0000000..28fdada --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/mtd-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/multipath-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nfs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nfs-modules new file mode 100644 index 0000000..946fb8e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nfs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-pcmcia-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-pcmcia-modules new file mode 100644 index 0000000..7a0702c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-pcmcia-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-shared-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-usb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-usb-modules new file mode 100644 index 0000000..c479669 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-wireless-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/parport-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/pata-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/pata-modules new file mode 100644 index 0000000..b0cd633 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/pata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/pcmcia-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/pcmcia-modules new file mode 100644 index 0000000..2bb5350 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/pcmcia-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/pcmcia-storage-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/pcmcia-storage-modules new file mode 100644 index 0000000..f73ae5b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/pcmcia-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/plip-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/plip-modules new file mode 100644 index 0000000..ca7a41b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/plip-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/ppp-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/ppp-modules new file mode 100644 index 0000000..1f26aa1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/ppp-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/sata-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/sata-modules new file mode 100644 index 0000000..01318c2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/sata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/scsi-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/scsi-core-modules new file mode 100644 index 0000000..778a022 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/scsi-core-modules @@ -0,0 +1,4 @@ +#include + +# Needed by hv_storvsc in hyperv-modules as well as scsi-modules +scsi_transport_fc diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/serial-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/serial-modules new file mode 100644 index 0000000..6ab8b8c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/serial-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/speakup-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/speakup-modules new file mode 100644 index 0000000..2959272 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/speakup-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/storage-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/usb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/usb-modules new file mode 100644 index 0000000..c598ded --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/usb-storage-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/virtio-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/vlan-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/i386/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/input-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/input-modules new file mode 100644 index 0000000..ade7913 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/input-modules @@ -0,0 +1,75 @@ +hid ? +hid-a4tech ? +hid-apple ? +hid-appleir ? +hid-aureal ? +hid-belkin ? +hid-bright ? +hid-cherry ? +hid-chicony ? +hid-corsair ? +hid-cp2112 ? +hid-cypress ? +hid-dell ? +hid-elecom ? +hid-elo ? +hid-ezkey ? +hid-generic ? +hid-gfrm ? +hid-gt683r ? +hid-gyration ? +hid-holtek-kbd ? +hid-holtek-mouse ? +hid-hyperv ? +hid-kensington ? +hid-keytouch ? +hid-kye ? +hid-lcpower ? +hid-lenovo ? +hid-logitech ? +hid-logitech-dj ? +hid-logitech-hidpp ? +hid-magicmouse ? +hid-microsoft ? +hid-monterey ? +hid-multitouch ? +hid-ntrig ? +hid-ortek ? +hid-penmount ? +hid-petalynx ? +hid-picolcd ? +hid-pl ? +hid-plantronics ? +hid-primax ? +hid-rmi ? +hid-roccat ? +hid-roccat-arvo ? +hid-roccat-common ? +hid-roccat-isku ? +hid-roccat-kone ? +hid-roccat-koneplus ? +hid-roccat-konepure ? +hid-roccat-kovaplus ? +hid-roccat-lua ? +hid-roccat-pyra ? +hid-roccat-ryos ? +hid-roccat-savu ? +hid-samsung ? +hid-sony ? +hid-speedlink ? +hid-sunplus ? +hid-thingm ? +hid-tivo ? +hid-topseed ? +hid-twinhan ? +hid-uclogic ? +hid-waltop ? +hid-wiimote ? +hid-xinmo ? +hid-zydacron ? +uhid ? +usbhid ? +drivers/hid/** +drivers/input/keyboard/** ? +drivers/hid/hid-*ff - +drivers/hid/hid-roccat-ko* - diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ipmi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ipmi-modules new file mode 100644 index 0000000..d539daa --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ipmi-modules @@ -0,0 +1,5 @@ +ipmi_devintf ? +ipmi_msghandler ? +ipmi_poweroff ? +ipmi_si ? +ipmi_watchdog ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/isofs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/isofs-modules new file mode 100644 index 0000000..0f41779 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/isofs-modules @@ -0,0 +1 @@ +isofs diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/kernel-image b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/kernel-image new file mode 100644 index 0000000..02275ce --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/kernel-image @@ -0,0 +1,31 @@ +ast ? +gpio-pca953x ? +gpio-regulator ? +hibmc-drm ? +i2c-mux ? +i2c-mux-pinctrl ? +i2c-tegra ? +max8907 ? +max8907-regulator ? +nvec ? +nvec_kbd ? +nvec_paz00 ? +nvec_power ? +nvec_ps2 ? +palmas-regulator ? +rtc-em3027 ? +rtc-max8907 ? +rtc-palmas ? +rtc-tps6586x ? +rtc-tps65910 ? +tps51632-regulator ? +tps62360-regulator ? +tps65090-charger ? +tps65090-regulator ? +tps6586x-regulator ? +tps65910-regulator ? +host1x ? +tegra-drm ? +pwm_bl ? +pwm-tegra ? +panel-simple ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/md-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/md-modules new file mode 100644 index 0000000..64217bf --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/md-modules @@ -0,0 +1,16 @@ +dm-crypt ? +dm-mirror ? +dm-raid ? +dm-snapshot ? +dm-zero ? +faulty ? +linear ? +multipath ? +raid0 ? +raid1 ? +raid10 ? +raid456 ? + +# Extras +dm-raid45 ? +dm-loop ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/message-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/message-modules new file mode 100644 index 0000000..fd0e9e2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/message-modules @@ -0,0 +1,9 @@ +mptbase ? +mptctl ? +mptfc ? +mptlan ? +mptsas ? +mpt2sas ? +mpt3sas ? +mptscsih ? +mptspi ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/message-modules.powerpc b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/message-modules.powerpc new file mode 100644 index 0000000..b9308e2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/message-modules.powerpc @@ -0,0 +1,7 @@ +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/mouse-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/mouse-modules new file mode 100644 index 0000000..7b06256 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/mouse-modules @@ -0,0 +1,2 @@ +psmouse ? +usbmouse ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/mtd-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/mtd-core-modules new file mode 100644 index 0000000..96dc6e7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/mtd-core-modules @@ -0,0 +1 @@ +mtd diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/mtd-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/mtd-modules new file mode 100644 index 0000000..90e6b13 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/mtd-modules @@ -0,0 +1 @@ +mtdblock diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/multipath-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/multipath-modules new file mode 100644 index 0000000..51b21b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/multipath-modules @@ -0,0 +1,5 @@ +dm-multipath ? +dm-round-robin ? +dm-service-time ? +dm-queue-length ? +drivers/scsi/device_handler/* diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nfs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nfs-modules new file mode 100644 index 0000000..a08f538 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nfs-modules @@ -0,0 +1,6 @@ +nfs ? +nfs_acl ? +nfsv3 ? +lockd ? +sunrpc ? +cifs ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-modules new file mode 100644 index 0000000..fa9673e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-modules @@ -0,0 +1,215 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +alx ? +amd8111e ? +amd-xgbe ? +aquantia ? +arcnet ? +arc-rawmode ? +arc-rimi ? +arlan ? +at1700 ? +ath5k ? +ath9k ? +ath9k_htc ? +atl1 ? +atl1c ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +bcm87xx ? +be2net ? +bmac ? +bnx2 ? +bnx2x ? +bnxt_en ? +bonding ? +brcmfmac ? +brcmsmac ? +broadcom ? +xgmac ? +cassini ? +ccwgroup ? +com20020 ? +com20020-pci ? +com90io ? +com90xx ? +cs89x0 ? +ctcm ? +cxgb4 ? +de2104x ? +de4x5 ? +de600 ? +de620 ? +defxx ? +depca ? +dl2k ? +dmfe ? +dummy ? +e100 ? +e1000 ? +e1000e ? +e2100 ? +eepro ? +eepro100 ? +eexpress ? +enic ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +fsm ? +ibmveth ? +ibmvnic ? +igb ? +ps3_gelic ? +hamachi ? +hclge ? +hermes ? +hfi1 ? +hinic ? +hns_dsaf ? +hns_enet_drv ? +hns_mdio ? +hns3 ? +hp ? +hp100 ? +hp-plus ? +i40e ? +i40evf ? +ibmtr ? +ipddp ? +ipw2100 ? +ipw2200 ? +iwl3945 ? +iwl4965 ? +iwl-legacy ? +iwldvm ? +iwlmvm ? +iwlwifi ? +ixgb ? +ixgbe ? +lance ? +lanstreamer ? +lcs ? +lasi_82596 ? +lne390 ? +lp486e ? +mace ? +marvell ? +mdio-thunder ? +mlx4_core ? +mlx4_en ? +mlx5_core ? +mv643xx_eth ? +myri_sbus ? +natsemi ? +ne ? +ne2 ? +ne2k-pci ? +ne3210 ? +netconsole ? +netiucv ? +netsec ? +netxen_nic ? +ni5010 ? +ni52 ? +ni65 ? +nicpf ? +nicvf ? +niu ? +ns83820 ? +olympic ? +orinoco ? +orinoco_pci ? +orinoco_plx ? +orinoco_tmd ? +pcnet32 ? +qcom-emac ? +qede ? +qeth ? +qeth_l2 ? +qeth_l3 ? +qlcnic ? +r815x ? +r8169 ? +rate_control ? +realtek ? +rfc1051 ? +rfc1201 ? +rrunner ? +rt2400 ? +rt2400pci ? +rt2500 ? +rt2500pci ? +rt2800pci ? +rt61pci ? +s2io ? +sfc ? +shaper ? +sis190 ? +sis900 ? +spidernet ? +skfp ? +skge ? +sk98lin ? +sky2 ? +smc9194 ? +smc-ultra ? +smc-ultra32 ? +starfire ? +strip ? +sunbmac ? +sundance ? +sungem ? +sungem_phy ? +sunhme ? +sunlance ? +sunqe ? +sunvnet ? +tg3 ? +tlan ? +tms380tr ? +tmspci ? +tulip ? +tun ? +typhoon ? +uli526x ? +via-rhine ? +via-velocity ? +virtio_net ? +wavelan ? +wd ? +winbond-840 ? +yellowfin ? +znet ? +vmxnet3 ? +xen-netfront ? +xgene-enet ? +drivers/net/dsa/** ? +drivers/net/ethernet/** +drivers/net/**_cs - +drivers/net/wireless/** +drivers/staging/rtl8** ? +drivers/net/wireless/**_cs - diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-modules.powerpc b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-modules.powerpc new file mode 100644 index 0000000..05c63ea --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-modules.powerpc @@ -0,0 +1,152 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +amd8111e ? +arc4 ? +arcnet ? +arc-rawmode ? +arc-rimi ? +arlan ? +at1700 ? +atl1 ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +bcm43xx ? +bcm43xx-mac80211 ? +bmac ? +bnx2 ? +bnx2x ? +bonding ? +cassini ? +com20020 ? +com20020-pci ? +com90io ? +com90xx ? +cs89x0 ? +de2104x ? +de4x5 ? +de600 ? +de620 ? +defxx ? +depca ? +dl2k ? +dmfe ? +dummy ? +e100 ? +e1000 ? +e1000e ? +e2100 ? +eepro ? +eepro100 ? +eexpress ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +igb ? +hamachi ? +hermes ? +hp ? +hp100 ? +hp-plus ? +ibmtr ? +ibmveth ? +ipddp ? +ipw2100 ? +ipw2200 ? +ipw3945 ? +ixgb ? +lance ? +lanstreamer ? +lasi_82596 ? +lne390 ? +lp486e ? +mace ? +mv643xx_eth ? +myri_sbus ? +natsemi ? +ne ? +ne2 ? +ne2k-pci ? +ne3210 ? +netconsole ? +netxen_nic ? +ni5010 ? +ni52 ? +ni65 ? +niu ? +ns83820 ? +olympic ? +orinoco ? +orinoco_pci ? +orinoco_plx ? +orinoco_tmd ? +pcnet32 ? +ps3_gelic ? +r8169 ? +rate_control ? +rfc1051 ? +rfc1201 ? +rrunner ? +rt2400 ? +rt2500 ? +rt61pci ? +s2io ? +shaper ? +sis190 ? +sis900 ? +spidernet ? +skfp ? +skge ? +sk98lin ? +sky2 ? +smc9194 ? +smc-ultra ? +smc-ultra32 ? +starfire ? +strip ? +sunbmac ? +sundance ? +sungem ? +sungem_phy ? +sunhme ? +sunlance ? +sunqe ? +sunvnet ? +tg3 ? +tlan ? +tms380tr ? +tmspci ? +tulip ? +tun ? +typhoon ? +uli526x ? +via-rhine ? +via-velocity ? +virtio_net ? +wavelan ? +wd ? +winbond-840 ? +yellowfin ? +znet ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-pcmcia-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-pcmcia-modules new file mode 100644 index 0000000..759e36a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-pcmcia-modules @@ -0,0 +1,21 @@ +3c574_cs ? +3c589_cs ? +airo_cs ? +atmel_cs ? +axnet_cs ? +com20020_cs ? +fmvj18x_cs ? +ibmtr_cs ? +netwave_cs ? +nmclan_cs ? +orinoco_cs ? +pcnet_cs ? +ray_cs ? +smc91c92_cs ? +wavelan_cs ? +wl3501_cs ? +xirc2ps_cs ? +xircom_cb ? +xircom_tulip_cb ? +drivers/net/ethernet/**_cs +drivers/net/wireless/**_cs diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-shared-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-shared-modules new file mode 100644 index 0000000..c2ef43f --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-shared-modules @@ -0,0 +1,27 @@ +# PHY +8390 ? +mii ? + +# CRC modules +crc-ccitt ? +crc-itu-t ? +libcrc32c ? + +# mac80211 stuff +mac80211 ? +cfg80211 ? + +# rt2x00 lib (since rt2x00 is split across usb/pci/cb +rt2x00lib ? +rt2800lib ? + +# Atheros library (since drivers are split across nic-modules/nic-usb-modules) +ath ? + +# Wireless 802.11 modules +lib80211 ? +cfg80211 ? +lib80211_crypt_ccmp ? +lib80211_crypt_tkip ? +lib80211_crypt_wep ? +drivers/net/phy/** diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-usb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-usb-modules new file mode 100644 index 0000000..36b82b5 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-usb-modules @@ -0,0 +1,35 @@ +ax88179_178a ? +catc ? +kaweth ? +pegasus ? +prism2_usb ? +rtl8150 ? +usbnet ? +zd1211rw ? +zd1201 ? +rt2500usb ? +rt73usb ? +rt2570 ? +rt2800usb ? +rt2x00usb ? +cdc_ether ? +asix ? +cdc_eem ? +cdc_ether ? +cdc-phonet ? +cdc_subset ? +dm9601 ? +gl620a ? +hso ? +int51x1 ? +mcs7830 ? +net1080 ? +plusb ? +rndis_host ? +r8152 ? +smsc95xx ? +zaurus ? +carl9170 ? +smsc75xx ? +smsc95xx ? +drivers/net/usb/* diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-wireless-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-wireless-modules new file mode 100644 index 0000000..09a9087 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/nic-wireless-modules @@ -0,0 +1,27 @@ +# Include wireless drivers by default +drivers/net/wireless/** + +# Include staging wireless drivers +prism2_usb ? +drivers/staging/rtl8** ? +vt6656_stage ? + +# Exclude drivers packaged in nic-pcmcia-modules +drivers/net/wireless/**_cs - +airo - +hostap_plx - + +# Don't separate these from their driver families +libertas_cs ? +spectrum_cs ? + +# Exclude drivers packaged in nic-usb-modules +rndis_wlan - + +# Exclude debug driver +mac80211_hwsim - + +# lib80211 encryption algorithms +lib80211_crypt_wep ? +lib80211_crypt_ccmp ? +lib80211_crypt_tkip ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/parport-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/parport-modules new file mode 100644 index 0000000..75fe0b9 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/parport-modules @@ -0,0 +1,2 @@ +parport ? +parport_pc ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/pata-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/pata-modules new file mode 100644 index 0000000..9c9c640 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/pata-modules @@ -0,0 +1,48 @@ +pata_ali ? +pata_amd ? +pata_artop ? +pata_atiixp ? +pata_atp867x ? +pata_cmd640 ? +pata_cmd64x ? +pata_cs5520 ? +pata_cs5530 ? +pata_cs5535 ? +pata_cs5536 ? +pata_cypress ? +pata_efar ? +pata_hpt366 ? +pata_hpt37x ? +pata_hpt3x2n ? +pata_hpt3x3 ? +pata_isapnp ? +pata_it8213 ? +pata_it821x ? +pata_jmicron ? +pata_legacy ? +pata_macio ? +pata_marvell ? +pata_mpiix ? +pata_netcell ? +pata_ninja32 ? +pata_ns87410 ? +pata_ns87415 ? +pata_oldpiix ? +pata_optidma ? +pata_opti ? +pata_pcmcia ? +pata_pdc2027x ? +pata_pdc202xx_old ? +pata_qdi ? +pata_radisys ? +pata_rdc ? +pata_rz1000 ? +pata_sc1200 ? +pata_sch ? +pata_serverworks ? +pata_sil680 ? +pata_sl82c105 ? +pata_triflex ? +pata_via ? +pata_winbond ? +drivers/ata/pata_* diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/pcmcia-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/pcmcia-modules new file mode 100644 index 0000000..06a5031 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/pcmcia-modules @@ -0,0 +1,8 @@ +i82092 ? +i82365 ? +pcmcia ? +pcmcia_core ? +pd6729 ? +rsrc_nonstatic ? +tcic ? +yenta_socket ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/pcmcia-storage-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/pcmcia-storage-modules new file mode 100644 index 0000000..bb042a6 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/pcmcia-storage-modules @@ -0,0 +1,6 @@ +pata_pcmcia ? +qlogic_cs ? +fdomain_cs ? +aha152x_cs ? +nsp_cs ? +sym53c500_cs ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/plip-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/plip-modules new file mode 100644 index 0000000..446e2bd --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/plip-modules @@ -0,0 +1 @@ +plip ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/block-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/crc-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/crypto-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/crypto-modules new file mode 100644 index 0000000..3a1e862 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/crypto-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/fat-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/fb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/fb-modules new file mode 100644 index 0000000..9b0ad3c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/fb-modules @@ -0,0 +1,3 @@ +#include + +ast diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/floppy-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/floppy-modules new file mode 100644 index 0000000..bc84c4e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/floppy-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/fs-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/fs-secondary-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/i2c-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/i2c-modules new file mode 100644 index 0000000..203a607 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/i2c-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/input-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/input-modules new file mode 100644 index 0000000..5ecb595 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/input-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/ipmi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/ipmi-modules new file mode 100644 index 0000000..d0fc979 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/ipmi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/isofs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/kernel-image b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/md-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/message-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/message-modules new file mode 100644 index 0000000..9b060b3 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/message-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/mtd-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/mtd-core-modules new file mode 100644 index 0000000..28fdada --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/mtd-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/multipath-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nfs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nfs-modules new file mode 100644 index 0000000..946fb8e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nfs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nic-shared-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nic-usb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nic-usb-modules new file mode 100644 index 0000000..c479669 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nic-usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nic-wireless-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nic-wireless-modules new file mode 100644 index 0000000..53fd18d --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/nic-wireless-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/parport-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/parport-modules new file mode 100644 index 0000000..83966f7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/parport-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/plip-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/plip-modules new file mode 100644 index 0000000..ca7a41b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/plip-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/ppp-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/ppp-modules new file mode 100644 index 0000000..1f26aa1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/ppp-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/sata-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/sata-modules new file mode 100644 index 0000000..01318c2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/sata-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/scsi-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/scsi-core-modules new file mode 100644 index 0000000..dd65d66 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/scsi-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/scsi-modules new file mode 100644 index 0000000..8909dfb --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/scsi-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/serial-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/serial-modules new file mode 100644 index 0000000..6ab8b8c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/serial-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/storage-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/storage-core-modules new file mode 100644 index 0000000..ebffb37 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/storage-core-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/usb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/usb-modules new file mode 100644 index 0000000..c598ded --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/usb-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/usb-storage-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/usb-storage-modules new file mode 100644 index 0000000..8c5e81b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/usb-storage-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/virtio-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/vlan-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppc64el/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppp-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppp-modules new file mode 100644 index 0000000..d4f6a92 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/ppp-modules @@ -0,0 +1,6 @@ +ppp_async ? +ppp_deflate ? +ppp_mppe ? +pppoe ? +pppox ? +ppp_synctty ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/block-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/block-modules new file mode 100644 index 0000000..f937d0e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/block-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/crc-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/crc-modules new file mode 100644 index 0000000..7e00de7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/crc-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/crypto-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/crypto-modules new file mode 100644 index 0000000..120faaa --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/crypto-modules @@ -0,0 +1,2 @@ +#include +deflate ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/dasd-extra-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/dasd-extra-modules new file mode 100644 index 0000000..239bf33 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/dasd-extra-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/dasd-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/dasd-modules new file mode 100644 index 0000000..26d9e8a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/dasd-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/fat-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/fat-modules new file mode 100644 index 0000000..274584e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/fat-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/fs-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/fs-core-modules new file mode 100644 index 0000000..024c2d7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/fs-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/fs-secondary-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/fs-secondary-modules new file mode 100644 index 0000000..3689f18 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/fs-secondary-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/isofs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/isofs-modules new file mode 100644 index 0000000..da4fa9a --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/isofs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/kernel-image b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/kernel-image new file mode 100644 index 0000000..1d11b19 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/kernel-image @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/md-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/md-modules new file mode 100644 index 0000000..26115e1 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/md-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/multipath-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/multipath-modules new file mode 100644 index 0000000..a8b69b2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/multipath-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/nfs-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/nfs-modules new file mode 100644 index 0000000..946fb8e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/nfs-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/nic-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/nic-modules new file mode 100644 index 0000000..2512e83 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/nic-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/nic-shared-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/nic-shared-modules new file mode 100644 index 0000000..cc84b14 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/nic-shared-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/scsi-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/scsi-core-modules new file mode 100644 index 0000000..dd65d66 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/scsi-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/scsi-modules new file mode 100644 index 0000000..c5e6593 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/storage-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/storage-core-modules new file mode 100644 index 0000000..cb5278e --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/storage-core-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/virtio-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/virtio-modules new file mode 100644 index 0000000..61da396 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/virtio-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/vlan-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/vlan-modules new file mode 100644 index 0000000..a8947e0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/s390x/vlan-modules @@ -0,0 +1 @@ +#include diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/sata-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/sata-modules new file mode 100644 index 0000000..151319b --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/sata-modules @@ -0,0 +1,20 @@ +sata_inic162x ? +sata_mv ? +sata_nv ? +sata_promise ? +sata_qstor ? +sata_sil24 ? +sata_sil ? +sata_sis ? +sata_svw ? +sata_sx4 ? +sata_uli ? +sata_via ? +sata_vsc ? +ahci_platform ? +ahci ? +acard-ahci ? +libahci ? +ahci_xgene ? +drivers/ata/ahci* ? +drivers/ata/sata_* diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/scsi-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/scsi-core-modules new file mode 100644 index 0000000..e0d1d8f --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/scsi-core-modules @@ -0,0 +1,4 @@ +scsi_mod +sd_mod +scsi_transport_sas ? +scsi_transport_spi ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/scsi-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/scsi-modules new file mode 100644 index 0000000..697bfea --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/scsi-modules @@ -0,0 +1,144 @@ +# SCSI +raid_class ? +scsi_transport_spi ? +scsi_transport_fc ? +scsi_transport_iscsi ? +scsi_transport_sas ? +sr_mod ? +iscsi_tcp ? +libiscsi ? +amiga7xx ? +a3000 ? +a2091 ? +gvp11 ? +mvme147 ? +sgiwd93 ? +cyberstorm ? +cyberstormII ? +blz2060 ? +blz1230 ? +fastlane ? +oktagon_esp_mod ? +atari_scsi ? +mac_scsi ? +mac_esp ? +sun3_scsi ? +mvme16x ? +bvme6000 ? +sim710 ? +advansys ? +pm80xx ? +psi240i ? +BusLogic ? +dpt_i2o ? +u14-34f ? +ultrastor ? +aha152x ? +aha1542 ? +aha1740 ? +aic7xxx_old ? +ips ? +fd_mcs ? +fdomain ? +fnic ? +in2000 ? +g_NCR5380 ? +g_NCR5380_mmio ? +NCR53c406a ? +NCR_D700 ? +NCR_Q720_mod ? +sym53c416 ? +qlogicfas408 ? +qla1280 ? +pas16 ? +seagate ? +seagate ? +t128 ? +dmx3191d ? +dtc ? +zalon7xx ? +eata_pio ? +wd7000 ? +mca_53c9x ? +ibmmca ? +eata ? +dc395x ? +tmscsim ? +megaraid ? +atp870u ? +esp ? +gdth ? +initio ? +a100u2w ? +qlogicpti ? +ide-scsi ? +mesh ? +mac53c94 ? +pluto ? +dec_esp ? +3w-xxxx ? +3w-9xxx ? +ppa ? +imm ? +jazz_esp ? +sun3x_esp ? +fcal ? +lasi700 ? +nsp32 ? +hptiop ? +stex ? +osst ? +sg ? +ch ? +scsi_debug ? +aacraid ? +aic7xxx ? +aic79xx ? +aic94xx ? +arcmsr ? +acornscsi_mod ? +arxescsi ? +cumana_1 ? +cumana_2 ? +ecoscsi ? +oak ? +powertec ? +eesox ? +ibmvscsi ? +ibmvfc ? +libsas ? +lpfc ? +megaraid_mm ? +megaraid_mbox ? +megaraid_sas ? +qla2xxx ? +sym53c8xx ? +qla4xxx ? +mvsas ? +vmw_pvscsi ? +ums-cypress ? +be2iscsi ? +3w-sas ? +isci ? +mlx4_ib ? +mlx5_ib ? +zfcp ? +sd_mod ? +hisi_sas_v2_hw ? +hisi_sas_v3_hw ? +iscsi_ibft ? + +# device handlers +scsi_dh_alua ? +scsi_dh_emc ? +scsi_dh_rdac ? +scsi_dh_hp_sw ? + +smartpqi ? +drivers/scsi/** +drivers/scsi/pcmcia/* - +drivers/scsi/cxgbi/* - +drivers/scsi/device_handler/* - +drivers/scsi/lib** - +drivers/scsi/osd/* - +drivers/scsi/scsi_transport_* - diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/scsi-modules.powerpc b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/scsi-modules.powerpc new file mode 100644 index 0000000..2e77f63 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/scsi-modules.powerpc @@ -0,0 +1,118 @@ +# SCSI +raid_class ? +scsi_transport_spi ? +scsi_transport_fc ? +scsi_transport_iscsi ? +scsi_transport_sas ? +iscsi_tcp ? +libiscsi ? +amiga7xx ? +a3000 ? +a2091 ? +gvp11 ? +mvme147 ? +sgiwd93 ? +cyberstorm ? +cyberstormII ? +blz2060 ? +blz1230 ? +fastlane ? +oktagon_esp_mod ? +atari_scsi ? +mac_scsi ? +mac_esp ? +sun3_scsi ? +mvme16x ? +bvme6000 ? +sim710 ? +advansys ? +psi240i ? +BusLogic ? +dpt_i2o ? +u14-34f ? +ultrastor ? +aha152x ? +aha1542 ? +aha1740 ? +aic7xxx_old ? +ips ? +fd_mcs ? +fdomain ? +in2000 ? +g_NCR5380 ? +g_NCR5380_mmio ? +NCR53c406a ? +NCR_D700 ? +NCR_Q720_mod ? +sym53c416 ? +qlogicfas408 ? +qla1280 ? +pas16 ? +seagate ? +seagate ? +t128 ? +dmx3191d ? +dtc ? +zalon7xx ? +eata_pio ? +wd7000 ? +mca_53c9x ? +ibmmca ? +ibmvfc ? +ibmvscsi ? +eata ? +dc395x ? +tmscsim ? +megaraid ? +atp870u ? +esp ? +gdth ? +initio ? +a100u2w ? +qlogicpti ? +ide-scsi ? +mesh ? +mac53c94 ? +pluto ? +dec_esp ? +3w-xxxx ? +3w-9xxx ? +ppa ? +imm ? +jazz_esp ? +sun3x_esp ? +fcal ? +lasi700 ? +nsp32 ? +ipr ? +hptiop ? +stex ? +osst ? +sg ? +ch ? +scsi_debug ? +aacraid ? +aic7xxx ? +aic79xx ? +aic94xx ? +arcmsr ? +acornscsi_mod ? +arxescsi ? +cumana_1 ? +cumana_2 ? +ecoscsi ? +oak ? +powertec ? +eesox ? +ibmvscsic ? +libsas ? +lpfc ? +megaraid_mm ? +megaraid_mbox ? +megaraid_sas ? +qla2xxx ? +sym53c8xx ? +qla4xxx ? +mvsas ? +sr_mod ? +sd_mod ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/serial-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/serial-modules new file mode 100644 index 0000000..5e5cef5 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/serial-modules @@ -0,0 +1,6 @@ +rp2 ? +generic_serial ? +serial_cs ? +synclink_cs ? +hyperv-keyboard ? +drivers/usb/serial/* diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/speakup-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/speakup-modules new file mode 100644 index 0000000..c3bef91 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/speakup-modules @@ -0,0 +1,16 @@ +speakup ? +speakup_acntpc ? +speakup_acntsa ? +speakup_apollo ? +speakup_audptr ? +speakup_bns ? +speakup_decext ? +speakup_dectlk ? +speakup_dtlk ? +speakup_dummy ? +speakup_keypc ? +speakup_ltlk ? +speakup_soft ? +speakup_spkout ? +speakup_txprt ? +speakup_decpc ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/storage-core-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/storage-core-modules new file mode 100644 index 0000000..3d534d2 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/storage-core-modules @@ -0,0 +1,17 @@ +# Core stacks +usb-storage ? + +# Block level +ata_piix ? +ata_generic ? + +# Loop modules +cryptoloop ? + +# Needs to be here for better cdrom initrd layout +isofs ? + +# Needed for NVMe disks under VMD PCIe domains +vmd ? +drivers/usb/storage/* +drivers/mmc/host/** diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/storage-core-modules.powerpc b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/storage-core-modules.powerpc new file mode 100644 index 0000000..de158a9 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/storage-core-modules.powerpc @@ -0,0 +1,13 @@ +# Core stacks +usb-storage ? + +# Block level + +# Loop modules +cryptoloop + +# Needs to be here for better cdrom initrd layout +isofs + +ps3stor_lib ? +ps3rom ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/usb-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/usb-modules new file mode 100644 index 0000000..0bb89c0 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/usb-modules @@ -0,0 +1,26 @@ +ehci-hcd ? +isp116x-hcd ? +isp1760 ? +ohci-hcd ? +r8a66597-hcd ? +sl811_cs ? +sl811-hcd ? +u132-hcd ? +uhci-hcd ? +xhci-hcd ? +xhci-plat-hcd ? +ehci-tegra ? +ehci-msm ? +ehci-platform ? +uas ? +drivers/usb/host/** +drivers/usb/c67x00/* ? +drivers/usb/chipidea/* ? +drivers/usb/dwc2/* ? +drivers/usb/dwc3/* ? +drivers/usb/isp1760/* ? +drivers/usb/musb/* ? +drivers/usb/renesas_usbhs/* ? +drivers/phy/phy-*-usb* ? +drivers/phy/*/phy-*-usb* ? +drivers/usb/phy/* ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/usb-storage-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/usb-storage-modules new file mode 100644 index 0000000..013c58c --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/usb-storage-modules @@ -0,0 +1,2 @@ +# Include USB storage drivers by default +drivers/usb/storage/* diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/virtio-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/virtio-modules new file mode 100644 index 0000000..a7bcbb7 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/virtio-modules @@ -0,0 +1,11 @@ +virtio_balloon ? +virtio_pci ? +virtio_ring ? +virtio-rng ? +virtio_scsi ? +hv_vmbus ? +hv_utils ? +hv_netvsc ? +hv_mouse ? +hv_storvsc ? +hv_balloon ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/vlan-modules b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/vlan-modules new file mode 100644 index 0000000..3d65a55 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/modules/vlan-modules @@ -0,0 +1,3 @@ +slp ? +garp ? +8021q ? diff --git a/helpers/DATA/linux-hwe-6.8/udeb/d-i/package-list b/helpers/DATA/linux-hwe-6.8/udeb/d-i/package-list new file mode 100644 index 0000000..c7a5c84 --- /dev/null +++ b/helpers/DATA/linux-hwe-6.8/udeb/d-i/package-list @@ -0,0 +1,255 @@ +Package: kernel-image +Provides: ext3-modules, ext4-modules, squashfs-modules +Provides_amd64: efi-modules, ext3-modules, ext4-modules, squashfs-modules +Provides_i386: efi-modules, ext3-modules, ext4-modules, squashfs-modules +Provides_ppc64el: ext3-modules, ext4-modules, fat-modules, squashfs-modules, i2c-modules +Provides_s390x: ext3-modules, ext4-modules, ppp-modules, squashfs-modules +Description: kernel image and system map + +Package: dasd-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: DASD storage support + +Package: dasd-extra-modules +Depends: dasd-modules +Priority: extra +Description: DASD storage support -- extras + +Package: fat-modules +Depends: kernel-image +Priority: optional +Priority_amd64: standard +Priority_i386: standard +Description: FAT filesystem support + This includes Windows FAT and VFAT support. + +Package: fb-modules +Depends: kernel-image, i2c-modules +Priority: standard +Description: Framebuffer modules + +Package: firewire-core-modules +Depends: kernel-image, storage-core-modules, crc-modules +Priority: standard +Description: Firewire (IEEE-1394) Support + +Package: floppy-modules +Depends: kernel-image +Priority: standard +Description: Floppy driver support + +Package: fs-core-modules +Depends: kernel-image +Priority: standard +Provides: ext2-modules, jfs-modules, reiserfs-modules, xfs-modules +Description: Base filesystem modules + This includes jfs, reiserfs and xfs. + +Package: fs-secondary-modules +Depends: kernel-image, fat-modules, cdrom-core-modules +Priority: standard +Provides: btrfs-modules, ntfs-modules, hfs-modules +Description: Extra filesystem modules + This includes support for Windows NTFS and MacOS HFS/HFSPlus + +Package: input-modules +Depends: kernel-image, usb-modules, crc-modules, i2c-modules +Priority: standard +Description: Support for various input methods + +Package: md-modules +Depends: kernel-image +Priority: standard +Provides: crypto-dm-modules +Description: Multi-device support (raid, device-mapper, lvm) + +Package: nic-modules +Depends: kernel-image, nic-shared-modules, virtio-modules, i2c-modules, crc-modules, mtd-core-modules +Priority: standard +Description: Network interface support + +Package: nic-wireless-modules +Depends: kernel-image, nic-shared-modules, usb-modules, pcmcia-modules, crc-modules, crypto-modules +Priority: standard +Description: Wireless NIC drivers + This package contains wireless NIC drivers for the kernel. + Includes crypto modules only needed for wireless (WEP, WPA). + +Package: nic-pcmcia-modules +Depends: kernel-image, nic-shared-modules, nic-modules +Priority: standard +Description: PCMCIA network interface support + +Package: nic-usb-modules +Depends: kernel-image, nic-shared-modules, usb-modules +Priority: standard +Description: USB network interface support + +Package: nic-shared-modules +Depends: kernel-image, crypto-modules +Priority: standard +Description: nic shared modules + This package contains modules which support nic modules + +Package: parport-modules +Depends: kernel-image +Priority: standard +Description: Parallel port support + +Package: pata-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: PATA support modules + +Package: pcmcia-modules +Depends: kernel-image +Priority: standard +Description: PCMCIA Modules + +Package: pcmcia-storage-modules +Depends: kernel-image, scsi-modules +Priority: standard +Description: PCMCIA storage support + +Package: plip-modules +Depends: kernel-image, nic-shared-modules, parport-modules +Priority: standard +Description: PLIP (parallel port) networking support + +Package: ppp-modules +Depends: kernel-image, nic-shared-modules, serial-modules, crc-modules +Priority: standard +Description: PPP (serial port) networking support + +Package: sata-modules +Depends: kernel-image, storage-core-modules, scsi-core-modules +Priority: standard +Description: SATA storage support + +Package: scsi-modules +Depends: kernel-image, storage-core-modules, scsi-core-modules +Priority: standard +Description: SCSI storage support + +Package: serial-modules +Depends: kernel-image, pcmcia-modules +Priority: standard +Description: Serial port support + +Package: storage-core-modules +Depends: kernel-image +Priority: standard +Provides: loop-modules +Description: Core storage support + Includes core SCSI, LibATA, USB-Storage. Also includes related block + devices for CD, Disk and Tape medium (and IDE Floppy). + +Package: usb-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: Core USB support + +Package: nfs-modules +Priority: standard +Depends: kernel-image +Description: NFS filesystem drivers + Includes the NFS client driver, and supporting modules. + +Package: block-modules +Priority: standard +Provides: nbd-modules +Depends: kernel-image, storage-core-modules, parport-modules, virtio-modules +Description: Block storage devices + This package contains the block storage devices, including DAC960 and + paraide. + +Package: message-modules +Priority: standard +Depends: kernel-image, storage-core-modules, scsi-modules +Description: Fusion and i2o storage modules + This package containes the fusion and i2o storage modules. + +Package: crc-modules +Depends: kernel-image +Priority: optional +Description: CRC modules + This package contains CRC support modules. + +Package: crypto-modules +Priority: extra +Depends: kernel-image +Description: crypto modules + This package contains crypto modules. + +Package: virtio-modules +Priority: standard +Depends: kernel-image +Description: VirtIO Modules + Includes modules for VirtIO (virtual machine, generally kvm guests) + +Package: socket-modules +Depends: kernel-image +Priority: standard +Description: Unix socket support + +Package: mouse-modules +Depends: kernel-image, input-modules, usb-modules +Priority: extra +Description: Mouse support + This package contains mouse drivers for the Linux kernel. + +Package: vlan-modules +Depends: kernel-image +Priority: extra +Description: vlan modules + This package contains vlan (8021.Q) modules. + +Package: ipmi-modules +Depends: kernel-image +Priority: standard +Description: ipmi modules + +Package: multipath-modules +Depends: kernel-image, scsi-core-modules +Priority: extra +Description: DM-Multipath support + This package contains modules for device-mapper multipath support. + +Package: isofs-modules +Depends: kernel-image, cdrom-core-modules +Priority: standard +Description: ISOFS filesystem support + This package contains the ISOFS filesystem module for the kernel. + +Package: usb-storage-modules +Depends: kernel-image, scsi-core-modules, usb-modules +Priority: standard +Description: USB storage support + This package contains the USB storage driver for the kernel. + +Package: scsi-core-modules +Depends: kernel-image +Provides: cdrom-core-modules +Priority: standard +Description: Core SCSI subsystem + This package contains the core SCSI subsystem for the kernel. + +Package: i2c-modules +Depends: kernel-image +Priority: optional +Description: i2c support modules + This package contains basic i2c support modules + +Package: mtd-modules +Depends: kernel-image, mtd-core-modules +Priority: optional +Description: MTD driver modules + This package contains MTD driver modules. + +Package: mtd-core-modules +Depends: kernel-image +Priority: optional +Description: MTD core + This package contains the MTD core. + diff --git a/helpers/DATA/linux/deblob-5.15 b/helpers/DATA/linux/deblob-5.15 new file mode 100644 index 0000000..6ff362c --- /dev/null +++ b/helpers/DATA/linux/deblob-5.15 @@ -0,0 +1,3952 @@ +#! /bin/sh + +# Copyright (C) 2008-2023 Alexandre Oliva +# Copyright (C) 2008 Jeff Moe +# Copyright (C) 2009 Rubén Rodríguez +# +# This program is part of GNU Linux-libre, a GNU project that +# publishes scripts to clean up Linux so as to make it suitable for +# use in the GNU Project and in Free System Distributions. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +# deblob - remove non-free blobs from the vanilla linux kernel + +# http://www.fsfla.org/svn/fsfla/software/linux-libre + + +# This script, suited for the kernel version named below, in kver, +# attempts to remove only non-Free Software bits, without removing +# Free Software that happens to be in the same file. + +# Drivers that currently require non-Free firmware are retained, but +# firmware included in GPLed sources is replaced with /*(DEBLOBBED)*/ +# if the deblob-check script, that knows how to do this, is present. +# -lxoliva + + +# See also: +# http://wiki.debian.org/KernelFirmwareLicensing +# svn://svn.debian.org/kernel/dists/trunk/linux-2.6/debian/patches/debian/dfsg/files-1 +# http://wiki.gnewsense.org/Builder gen-kernel + +# Thanks to Brian Brazil @ gnewsense + + +# For each kver release, start extra with an empty string, then count +# from 1 if changes are needed that require rebuilding the tarball. +kver=5.15 extra= + +case $1 in +--force) + echo "WARNING: Using the force, ignored errors will be" >&2 + die () { + echo ERROR: "$@" >&2 + errors=: + } + forced=: errors=false + shift + ;; +*) + set -e + die () { + echo ERROR: "$@" >&2 + echo Use --force to ignore + exit 1 + } + forced=false errors=false + ;; +esac + +check=`echo "$0" | sed 's,[^/]*$,,;s,^$,.,;s,/*$,,'`/deblob-check +if [ ! -f $check ] ; then + if $forced; then + die deblob-check script missing, will remove entire files + else + die deblob-check script missing + fi + have_check=false +else + have_check=: + [ -x $check ] || check="/bin/sh $check" +fi + +filetest () { + if [ ! -f $1 ]; then + die $1 does not exist, something is wrong && return 1 + fi +} + +announce () { + echo + echo "$@" +} + +clean_file () { + #$1 = filename + filetest $1 || return 0 + rm $1 + echo $1: removed +} + +check_changed () { + #$1 = filename + if cmp $1.deblob $1 > /dev/null; then + rm $1.deblob + die $1 did not change, something is wrong && return 1 + fi + if test -x $1; then chmod +x $1.deblob; else chmod -x $1.deblob; fi + mv $1.deblob $1 +} + +clean_blob () { + #$1 = filename + filetest $1 || return 0 + if $have_check; then + name=$1 + set fnord "$@" -d + shift 2 + if $check "$@" -i linux-$kver $name > $name.deblob; then + if [ ! -s $name.deblob ]; then + die got an empty file after removing blobs from $name + fi + else + die failed removing blobs from $name + fi + check_changed $name && echo $name: removed blobs or mentions thereof + else + clean_file $1 + fi +} + +clean_kconfig () { + #$1 = filename $2 = things to remove + case $1 in + -f) + shift + ;; + *) + if $have_check; then + filetest $1 || return 0 + if sed -n "/^\(menu\)\?config $2$/p" $1 | grep . > /dev/null; then + : + else + die $1 does not contain matches for $2 + fi + return 0 + fi + ;; + esac + filetest $1 || return 0 + sed "/^config \\($2\\)\$/{p;i\ + depends on NONFREE +d;}" $1 > $1.deblob + check_changed $1 && echo $1: marked config $2 as depending on NONFREE +} + +clean_mk () { + #$1 = config $2 = Makefile name + # We don't clean up Makefiles any more --lxoliva + # sed -i "/\\($1\\)/d" $2 + # echo $2: removed $1 support + # check_changed $2 + filetest $2 || return 0 + if sed -n "/\\($1\\)/p" $2 | grep . > /dev/null; then + : + else + die $2 does not contain matches for $1 + fi +} + +clean_sed () { + #$1 = sed-script $2 = file $3 = comment + filetest $2 || return 0 + cp "$2" "$2".deblob # preserve mode + sed -e "$1" "$2" > "$2".deblob || { + die $2: failed: ${3-applied sed script $1} && return 0; } + check_changed $2 && echo $2: ${3-applied sed script $1} +} + +reject_firmware () { + #$1 = file $2 = pre sed pattern + filetest $1 || return 0 + clean_sed "$2"' +s,\(^\|[^>.0-9a-zA-Z_$]\)\(request\(_ihex\|\(_partial\)\)\?_firmware\|firmware_request_platform\)\(_nowait\|_direct\|_into_buf\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1reject\4_firmware\5\6,g +' "$1" 'disabled non-Free firmware-loading machinery' +} + +reject_firmware_nowarn () { + #$1 = file $2 = pre sed pattern + filetest $1 || return 0 + clean_sed "$2"' +s,\(^\|[^>.0-9a-zA-Z_$]\)firmware_request_nowarn\($\|[^-.0-9a-zA-Z_$),; ]\),\1firmware_reject_nowarn\2,g +' "$1" 'disabled silent non-Free firmware-loading machinery' +} + +maybe_reject_firmware () { + #$1 = file $2 = pre sed pattern + filetest $1 || return 0 + clean_sed "$2"' +s,\(^\|[^>.0-9a-zA-Z_$]\)request_\(ihex_\|partial_\)\?firmware\(_nowait\|_direct\|_into_buf\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1maybe_reject_\2firmware\3\4,g +' "$1" 'retain Free firmware-loading machinery, disabling non-Free one' +} + +undefine_macro () { + #$1 - macro name + #$2 - substitution + #$3 - message + #rest - file names + macro=$1 repl=$2 msg=$3; shift 3 + for f in "$@"; do + clean_sed " +s,^#[ ]*define[ ][ ]*$macro[ ].*\$,/*(DEBLOBBED)*/,; +s,$macro,$repl,g; +" "$f" "$msg" + done +} + +undefault_firmware () { + #$1 - pattern such that $1_DEFAULT_FIRMWARE is #defined to non-Free firmware + #$@ other than $1 - file names + macro="$1"_DEFAULT_FIRMWARE; shift + undefine_macro "$macro" "\"/*(DEBLOBBED)*/\"" \ + "disabled non-Free firmware" "$@" +} + +# First, check that files that contain firmwares and their +# corresponding sources are present. + +for f in \ +\ + drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx8.asm \ + drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm \ + drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm \ + drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h \ +\ + drivers/gpu/drm/i915/gt/shaders/README \ + drivers/gpu/drm/i915/gt/shaders/clear_kernel/hsw.asm \ + drivers/gpu/drm/i915/gt/hsw_clear_kernel.c \ + drivers/gpu/drm/i915/gt/shaders/clear_kernel/ivb.asm \ + drivers/gpu/drm/i915/gt/ivb_clear_kernel.c \ +\ + drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/com.fuc \ + drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gt215.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gt215.fuc3.h \ +\ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/macros.fuc \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/com.fuc \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpc.fuc \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf100.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf100.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf117.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf117.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk104.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk104.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk110.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk110.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk208.fuc5 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk208.fuc5.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgm107.fuc5 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgm107.fuc5.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hub.fuc \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf100.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf100.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf117.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgf117.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk104.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk104.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk110.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk110.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk208.fuc5 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgk208.fuc5.h \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgm107.fuc5 \ + drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/hubgm107.fuc5.h \ +\ + drivers/gpu/drm/nouveau/nvkm/engine/sec/fuc/g98.fuc0s \ + drivers/gpu/drm/nouveau/nvkm/engine/sec/fuc/g98.fuc0s.h \ +\ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/macros.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/kernel.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/arith.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/host.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/memx.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/perf.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/i2c_.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/test.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/idle.fuc \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf119.fuc4 \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gf119.fuc4.h \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5 \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3 \ + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h \ +\ + drivers/net/wan/wanxlfw.inc_shipped \ + drivers/net/wan/wanxlfw.S \ + drivers/net/wireless/atmel/atmel.c \ + drivers/net/wireless/atmel/atmel.c \ + drivers/scsi/aic7xxx/aic79xx_seq.h_shipped \ + drivers/scsi/aic7xxx/aic79xx.seq \ + drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped \ + drivers/scsi/aic7xxx/aic7xxx.seq \ + drivers/scsi/53c700_d.h_shipped \ + drivers/scsi/53c700.scr \ + drivers/scsi/sym53c8xx_2/sym_fw1.h \ + drivers/scsi/sym53c8xx_2/sym_fw1.h \ + drivers/scsi/sym53c8xx_2/sym_fw2.h \ + drivers/scsi/sym53c8xx_2/sym_fw2.h \ +\ + kernel/bpf/preload/iterators/iterators.skel.h \ + kernel/bpf/preload/iterators/iterators.bpf.c \ +; do + filetest $f || : +done + +# Identify the tarball. +grep -q 'EXTRAVERSION.*-gnu' Makefile || +clean_sed "/^EXTRAVERSION *=/ { s,=$,& ,; s,$,&-gnu$extra,; } +" Makefile 'added -gnu to EXTRAVERSION' + +grep -q Linux-libre README || +clean_sed ' +1 s,^Linux kernel$,GNU Linux-libre, +2 s,^============$,===============, +' README 'renamed to GNU Linux-libre' + +grep -q Linux-libre Documentation/admin-guide/README.rst || +clean_sed ' +/^==*=$/q +/Linux kernel release.*kernel\.org.*/ { + s,,GNU Linux-libre , + N; + s,=$,&&,; + :loop + n; + $! b loop; +} +' Documentation/admin-guide/README.rst 'renamed to GNU Linux-libre' + +grep -q 'release notes for GNU Linux-libre' Documentation/admin-guide/README.rst || +clean_sed ' +2,8 s,Linux version [0-9.]*[0-9],GNU Linux-libre, +' Documentation/admin-guide/README.rst 'dropped partial Linux version' + +grep -q 'Unix kernel' Documentation/admin-guide/README.rst || +clean_sed ' +1,23 s,\(operating system \)\?Unix,Unix kernel, +' Documentation/admin-guide/README.rst 'Linux is a kernel' + +grep -q 'What is GNU Linux-libre' Documentation/admin-guide/README.rst || +clean_sed ' +/What is Linux/i\ +What is GNU Linux-libre?\ +------------------------\ +\ + GNU Linux-libre is a Free version of the kernel Linux (see below),\ + suitable for use with the GNU Operating System in 100% Free\ + GNU/Linux-libre System Distributions.\ + http://www.gnu.org/distros/\ +\ + It removes non-Free components from Linux, that are disguised as\ + source code or distributed in separate files. It also disables\ + run-time requests for non-Free components, shipped separately or as\ + part of Linux, and documentation pointing to them, so as to avoid\ + (Free-)baiting users into the trap of non-Free Software.\ + http://www.fsfla.org/anuncio/2010-11-Linux-2.6.36-libre-debait\ +\ + Linux-libre started within the gNewSense GNU/Linux distribution.\ + It was later adopted by Jeff Moe, who coined its name, and in 2008\ + it became a project maintained by FSF Latin America. In 2012, it\ + became part of the GNU Project.\ +\ + The GNU Linux-libre project takes a minimal-changes approach to\ + cleaning up Linux, making no effort to substitute components that\ + need to be removed with functionally equivalent Free ones.\ + Nevertheless, we encourage and support efforts towards doing so.\ + http://libreplanet.org/wiki/LinuxLibre:Devices_that_require_non-free_firmware\ +\ + Our mascot is Freedo, a light-blue penguin that has just come out\ + of the shower. Although we like penguins, GNU is a much greater\ + contribution to the entire system, so its mascot deserves more\ + promotion. See our web page for their images.\ + http://linux-libre.fsfla.org/\ +\ + If you are the author of an awesome program and want to join us in\ + writing Free (libre) Software, please consider making it an official\ + GNU program and become a GNU Maintainer. You can find instructions\ + on how to do so at https://www.gnu.org/help/evaluation. We look\ + forward to hacking with you! :)\ + +' Documentation/admin-guide/README.rst 'added blurb about GNU Linux-libre' + +clean_sed ' +s,Linux kernel,GNU Linux-libre, +' scripts/package/builddeb 'kernel name' + +clean_sed ' +s,Linux kernel,GNU Linux-libre, +' scripts/package/mkdebian 'kernel name' + +clean_sed ' +s,https://www\..*linux/kernel$,https://linux-libre.fsfla.org/, +' scripts/package/mkdebian 'sources' + +clean_sed ' +s,https\?://www\.kernel\.org/,https://linux-libre.fsfla.org/, +' scripts/package/mkdebian 'home page' + +clean_sed ' +s,git://git\..*torvalds/linux\.git,/*(DEBLOBBED)*/, +' scripts/package/mkdebian 'upstream development repo' + +# The tarball name and its expansion do not include -libre. +# We could change KERNELPATH and keep this, but what else would break? +# Enabling this would require the other commented-out mkspec bits below. +# clean_sed ' +# s,Name: kernel,&-libre, +# ' scripts/package/mkspec 'package name' + +clean_sed ' +s,The Linux,The GNU Linux-libre, +' scripts/package/mkspec 'package summary' + +clean_sed ' +s,Linux kernel,GNU Linux-libre, +' scripts/package/mkspec 'kernel name' + +clean_sed ' +s,https\?://www\.kernel\.org,https://linux-libre.fsfla.org, +' scripts/package/mkspec 'home page' + +# clean_sed ' +# s,\(%description\) -n kernel-,\1 , +# ' scripts/package/mkspec '-libre subpackages' + +# clean_sed ' +# /Provides: kernel-/{p;s,kernel-,&libre-,;} +# ' scripts/package/mkspec '-libre provides' + +# As with rpms, we leave the package name as kernel. +clean_sed ' +s,The upstream Linux kernel,The GNU Linux-libre kernel, +' scripts/package/snapcraft.template 'description' + +clean_sed ' +s,Linux kernel,GNU Linux-libre, +' scripts/package/snapcraft.template 'summary' + +clean_sed ' +s,linux-upstream,linux-libre, +' scripts/Makefile.package 'libre, not upstream' + +# We replace several blob name s[n]printf format strings +# with "/*(DEBLOBBED)*/", counting on extra args to be ignored. +# These are warned about, but -Werror turns them into errors. +clean_sed ' +s, -Werror$, -Werror -Wno-error=format-extra-args -Wno-error=comment -Wno-error=unused-function -Wno-error=unused-variable, +' Makefile 'avoid compile failures at /*(DEBLOBBED)*/ warnings' + +# Add reject_firmware and maybe_reject_firmware +grep -q _LINUX_LIBRE_FIRMWARE_H include/linux/firmware.h || +clean_sed '$i\ +#ifndef _LINUX_LIBRE_FIRMWARE_H\ +#define _LINUX_LIBRE_FIRMWARE_H\ +\ +#include \ +\ +#define NONFREE_FIRMWARE "/*(DEBLOBBED)*/"\ +\ +static inline int\ +is_nonfree_firmware(const char *name)\ +{\ + return strstr(name, NONFREE_FIRMWARE) != 0;\ +}\ +\ +static inline int\ +report_missing_free_firmware(const char *name, const char *what)\ +{\ + printk(KERN_ERR "%s: Missing Free %s (non-Free firmware loading is disabled)\\n", name,\ + what ? what : "firmware");\ + return -ENOENT;\ +}\ +static inline int\ +firmware_reject_nowarn(const struct firmware **fw,\ + const char *name, struct device *device)\ +{\ + const struct firmware *xfw = NULL;\ + int retval, retval0 = -ENOENT;\ + if (fw) *fw = xfw;\ + retval = firmware_request_nowarn(&xfw, NONFREE_FIRMWARE, device);\ + if (!retval) {\ + release_firmware(xfw);\ + retval = retval0;\ + }\ + return retval;\ +}\ +static inline int\ +reject_firmware(const struct firmware **fw,\ + const char *name, struct device *device)\ +{\ + int retval, retval0;\ + retval0 = report_missing_free_firmware(dev_name(device), NULL);\ + retval = firmware_reject_nowarn(fw, name, device);\ + if (!retval) {\ + retval = retval0;\ + }\ + return retval;\ +}\ +static inline int\ +maybe_reject_firmware(const struct firmware **fw,\ + const char *name, struct device *device)\ +{\ + if (is_nonfree_firmware(name))\ + return reject_firmware(fw, name, device);\ + else\ + return request_firmware(fw, name, device);\ +}\ +static inline int\ +reject_firmware_direct(const struct firmware **fw,\ + const char *name, struct device *device)\ +{\ + const struct firmware *xfw = NULL;\ + int retval, retval0;\ + if (fw) *fw = xfw;\ + retval0 = report_missing_free_firmware(dev_name(device), NULL);\ + retval = request_firmware_direct(&xfw, NONFREE_FIRMWARE, device);\ + if (!retval) {\ + release_firmware(xfw);\ + retval = retval0;\ + }\ + return retval;\ +}\ +static inline int\ +reject_firmware_nowait(struct module *module, int uevent,\ + const char *name, struct device *device,\ + gfp_t gfp, void *context,\ + void (*cont)(const struct firmware *fw,\ + void *context))\ +{\ + report_missing_free_firmware(dev_name(device), NULL);\ + /* We assume NONFREE_FIRMWARE will not be found; how could it? */\ + return request_firmware_nowait(module, uevent, NONFREE_FIRMWARE,\ + device, gfp, context, cont);\ +}\ +static inline int\ +maybe_reject_firmware_nowait(struct module *module, int uevent,\ + const char *name, struct device *device,\ + gfp_t gfp, void *context,\ + void (*cont)(const struct firmware *fw,\ + void *context))\ +{\ + if (is_nonfree_firmware(name))\ + return reject_firmware_nowait(module, uevent, name,\ + device, gfp, context, cont);\ + else\ + return request_firmware_nowait(module, uevent, name,\ + device, gfp, context, cont);\ +}\ +static inline int\ +reject_firmware_into_buf(const struct firmware **firmware_p, const char *name,\ + struct device *device, void *buf, size_t size)\ +{\ + const struct firmware *xfw = NULL;\ + int retval, retval0;\ + if (firmware_p) *firmware_p = xfw;\ + retval0 = report_missing_free_firmware(dev_name(device), NULL);\ + retval = request_firmware_into_buf(&xfw, NONFREE_FIRMWARE, device, buf, size);\ + if (!retval) {\ + release_firmware(xfw);\ + retval = retval0;\ + }\ + return retval;\ +}\ +static inline int\ +maybe_reject_firmware_into_buf(const struct firmware **firmware_p, const char *name,\ + struct device *device, void *buf, size_t size)\ +{\ + if (is_nonfree_firmware(name))\ + return reject_firmware_into_buf(firmware_p, name, device, buf, size);\ + else\ + return request_firmware_into_buf(firmware_p, name, device, buf, size);\ +}\ +static inline int\ +reject_partial_firmware_into_buf(const struct firmware **firmware_p, const char *name,\ + struct device *device, void *buf, size_t size, size_t offset)\ +{\ + const struct firmware *xfw = NULL;\ + int retval, retval0;\ + if (firmware_p) *firmware_p = xfw;\ + retval0 = report_missing_free_firmware(dev_name(device), NULL);\ + retval = request_partial_firmware_into_buf(&xfw, NONFREE_FIRMWARE, device, buf, size, offset);\ + if (!retval) {\ + release_firmware(xfw);\ + retval = retval0;\ + }\ + return retval;\ +}\ +static inline int\ +maybe_reject_partial_firmware_into_buf(const struct firmware **firmware_p, const char *name,\ + struct device *device, void *buf, size_t size, size_t offset)\ +{\ + if (is_nonfree_firmware(name))\ + return reject_partial_firmware_into_buf(firmware_p, name, device, buf, size, offset);\ + else\ + return request_partial_firmware_into_buf(firmware_p, name, device, buf, size, offset);\ +}\ +\ +#endif /* _LINUX_LIBRE_FIRMWARE_H */\ +' include/linux/firmware.h 'added non-Free firmware notification support' + +grep -q _LINUX_LIBRE_IHEX_H include/linux/ihex.h || +clean_sed '$i\ +#ifndef _LINUX_LIBRE_IHEX_H\ +#define _LINUX_LIBRE_IHEX_H\ +\ +static inline int\ +maybe_reject_ihex_firmware(const struct firmware **fw,\ + const char *name, struct device *device)\ +{\ + if (is_nonfree_firmware(name))\ + return reject_firmware(fw, name, device);\ + else\ + return request_ihex_firmware(fw, name, device);\ +}\ +\ +#endif /* _LINUX_LIBRE_IHEX_H */\ +' include/linux/ihex.h 'added non-Free ihex firmware notification support' + +clean_sed ' +s,\(timeout = \)\(firmware_loading_timeout()\),\1is_nonfree_firmware(name) ? 1 : \2, +' drivers/base/firmware_loader/fallback.c 'shorten non-Free firmware fail-to-load timeout' + + +######## +# Arch # +######## + +# x86 + +announce MICROCODE_AMD - "AMD microcode patch loading support" +reject_firmware arch/x86/kernel/cpu/microcode/amd.c +clean_blob arch/x86/kernel/cpu/microcode/amd.c +if grep -q -i zenbleed.*microcode arch/x86/kernel/cpu/amd.c; then + clean_blob arch/x86/kernel/cpu/amd.c +fi +clean_kconfig arch/x86/Kconfig MICROCODE_AMD +clean_mk CONFIG_MICROCODE_AMD arch/x86/kernel/cpu/microcode/Makefile + +announce MICROCODE_INTEL - "Intel microcode patch loading support" +reject_firmware arch/x86/kernel/cpu/microcode/intel.c +clean_blob arch/x86/kernel/cpu/microcode/intel.c +clean_kconfig arch/x86/Kconfig MICROCODE_INTEL +clean_mk CONFIG_MICROCODE_INTEL arch/x86/kernel/cpu/microcode/Makefile + +announce MICROCODE - "CPU microcode loading support" +clean_blob Documentation/x86/microcode.rst +clean_kconfig arch/x86/Kconfig MICROCODE +clean_mk CONFIG_MICROCODE arch/x86/kernel/cpu/Makefile + +# Do no recommend non-Free microcode update. +announce X86_LOCAL_APIC - Undocumented +clean_blob arch/x86/kernel/apic/apic.c +clean_kconfig arch/x86/Kconfig X86_LOCAL_APIC +clean_mk CONFIG_X86_LOCAL_APIC arch/x86/kernel/apic/Makefile + +# Do no recommend non-Free microcode update. +announce CPU_SUP_INTEL - "Support Intel processors" +clean_blob arch/x86/events/intel/core.c +clean_kconfig arch/x86/Kconfig.cpu CPU_SUP_INTEL +clean_mk CONFIG_CPU_SUP_INTEL arch/x86/events/intel/Makefile + +# Do no recommend non-Free microcode update. +announce SENSORS_CORETEMP - "Intel Core/Core2/Atom temperature sensor" +clean_blob drivers/hwmon/coretemp.c +clean_kconfig drivers/hwmon/Kconfig SENSORS_CORETEMP +clean_mk CONFIG_SENSORS_CORETEMP drivers/hwmon/Makefile + +# arm + +announce IXP4XX_NPE - "IXP4xx Network Processor Engine support" +reject_firmware drivers/soc/ixp4xx/ixp4xx-npe.c +clean_blob drivers/soc/ixp4xx/ixp4xx-npe.c +clean_blob Documentation/arm/ixp4xx.rst +clean_kconfig drivers/soc/ixp4xx/Kconfig IXP4XX_NPE +clean_mk CONFIG_IXP4XX_NPE drivers/soc/ixp4xx/Makefile + +announce MACH_SUN8I - "Allwinner sun8i Family SoCs support" +clean_blob arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts +clean_blob arch/arm/boot/dts/sun8i-a23-inet86dz.dts +clean_blob arch/arm/boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts +clean_blob arch/arm/boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts +clean_blob arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts +clean_kconfig arch/arm/mach-sunxi/Kconfig MACH_SUN8I +clean_mk CONFIG_MACH_SUN8I arch/arm/boot/dts/Makefile + +# ppc + +announce UCODE_PATCH - "ppc microcode" +clean_blob arch/powerpc/platforms/8xx/micropatch.c +clean_kconfig arch/powerpc/platforms/8xx/Kconfig UCODE_PATCH +clean_mk CONFIG_UCODE_PATCH arch/powerpc/platforms/8xx/Makefile + +announce USB_SOF_UCODE_PATCH - "USB SOF patch" +clean_kconfig arch/powerpc/platforms/8xx/Kconfig USB_SOF_UCODE_PATCH + +announce I2C_SPI_UCODE_PATCH - "I2C/SPI relocation patch" +clean_kconfig arch/powerpc/platforms/8xx/Kconfig I2C_SPI_UCODE_PATCH + +announce I2C_SPI_SMC1_UCODE_PATCH - "I2C/SPI/SMC1 relocation patch" +clean_kconfig arch/powerpc/platforms/8xx/Kconfig I2C_SPI_SMC1_UCODE_PATCH + +announce SMC_UCODE_PATCH - "SMC relocation patch" +clean_kconfig arch/powerpc/platforms/8xx/Kconfig SMC_UCODE_PATCH + +####### +# ATM # +####### + +announce ATM_AMBASSADOR - "Madge Ambassador, Collage PCI 155 Server" +reject_firmware drivers/atm/ambassador.c +clean_blob drivers/atm/ambassador.c +clean_kconfig drivers/atm/Kconfig ATM_AMBASSADOR +clean_mk CONFIG_ATM_AMBASSADOR drivers/atm/Makefile + +announce ATM_FORE200E - "FORE Systems 200E-series" +reject_firmware drivers/atm/fore200e.c +clean_blob drivers/atm/fore200e.c +clean_blob Documentation/networking/device_drivers/atm/fore200e.rst +clean_blob drivers/atm/.gitignore +clean_blob Documentation/dontdiff +clean_kconfig drivers/atm/Kconfig ATM_FORE200E +clean_mk CONFIG_ATM_FORE200E drivers/atm/Makefile + +announce ATM_SOLOS - "Solos ADSL2+ PCI Multiport card driver" +reject_firmware drivers/atm/solos-pci.c +clean_blob drivers/atm/solos-pci.c +clean_kconfig drivers/atm/Kconfig ATM_SOLOS +clean_mk CONFIG_ATM_SOLOS drivers/atm/Makefile + +########## +# Crypto # +########## + +announce CAVIUM_CPT - "Cavium Cryptographic Accelerator driver" +reject_firmware drivers/crypto/cavium/cpt/cptpf_main.c +clean_blob drivers/crypto/cavium/cpt/cptpf_main.c +clean_kconfig drivers/crypto/cavium/cpt/Kconfig CAVIUM_CPT +clean_mk CONFIG_CAVIUM_CPT drivers/crypto/cavium/cpt/Makefile + +announce CRYPTO_DEV_NITROX_CNN55XX - "Support for Cavium CNN55XX driver" +reject_firmware drivers/crypto/cavium/nitrox/nitrox_main.c +clean_blob drivers/crypto/cavium/nitrox/nitrox_main.c +clean_kconfig drivers/crypto/cavium/nitrox/Kconfig CRYPTO_DEV_NITROX_CNN55XX +clean_mk CONFIG_CRYPTO_DEV_NITROX_CNN55XX drivers/crypto/cavium/nitrox/Makefile + +announce CRYPTO_DEV_SP_PSP - "Platform Security Processor (PSP) device" +reject_firmware_nowarn drivers/crypto/ccp/sev-dev.c +clean_blob drivers/crypto/ccp/sev-dev.c +clean_kconfig drivers/crypto/ccp/Kconfig CRYPTO_DEV_SP_PSP +clean_mk CONFIG_CRYPTO_DEV_SP_PSP drivers/crypto/ccp/Makefile + +announce CRYPTO_DEV_SAFEXCEL - "Inside Secure's SafeXcel cryptographic engine driver" +reject_firmware_nowarn drivers/crypto/inside-secure/safexcel.c +clean_blob drivers/crypto/inside-secure/safexcel.c +clean_kconfig drivers/crypto/Kconfig CRYPTO_DEV_SAFEXCEL +clean_mk CONFIG_CRYPTO_DEV_SAFEXCEL drivers/crypto/inside-secure/Makefile + +announce CRYPTO_DEV_OCTEONTX_CPT - "Support for Marvell OcteonTX CPT driver" +reject_firmware drivers/crypto/marvell/octeontx/otx_cptpf_ucode.c +clean_blob drivers/crypto/marvell/octeontx/otx_cptpf_ucode.h +clean_kconfig drivers/crypto/marvell/Kconfig CRYPTO_DEV_OCTEONTX_CPT +clean_mk CONFIG_CRYPTO_DEV_OCTEONTX_CPT drivers/crypto/marvell/octeontx/Makefile + +announce CRYPTO_DEV_OCTEONTX2_CPT - "Marvell OcteonTX2 CPT driver" +reject_firmware drivers/crypto/marvell/octeontx2/otx2_cptpf_ucode.c +clean_blob drivers/crypto/marvell/octeontx2/otx2_cptpf_ucode.c +clean_kconfig drivers/crypto/marvell/Kconfig CRYPTO_DEV_OCTEONTX2_CPT +clean_mk CONFIG_CRYPTO_DEV_OCTEONTX2_CPT drivers/crypto/marvell/octeontx2/Makefile + +announce CRYPTO_DEV_QAT_DH895xCC - "Support for Intel(R) DH895xCC" +clean_blob drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h +clean_blob drivers/crypto/qat/qat_dh895xcc/adf_drv.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_DH895xCC +clean_mk CONFIG_CRYPTO_DEV_QAT_DH895xCC drivers/crypto/qat/Makefile + +announce CRYPTO_DEV_QAT - "Common bits for Intel(R) QuickAssist Technology" +reject_firmware drivers/crypto/qat/qat_common/adf_accel_engine.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT +clean_mk CONFIG_CRYPTO_DEV_QAT drivers/crypto/qat/Makefile + +announce CRYPTO_DEV_QAT_C3XXX - "Support for Intel(R) C3XXX" +clean_blob drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h +clean_blob drivers/crypto/qat/qat_c3xxx/adf_drv.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_C3XXX +clean_mk CONFIG_CRYPTO_DEV_QAT_C3XXX drivers/crypto/qat/Makefile + +announce CRYPTO_DEV_QAT_C62X - "Support for Intel(R) C62X" +clean_blob drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.h +clean_blob drivers/crypto/qat/qat_c62x/adf_drv.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_C62X +clean_mk CONFIG_CRYPTO_DEV_QAT_C62X drivers/crypto/qat/Makefile + +announce CRYPTO_DEV_QAT_4XXX - "Support for Intel(R) QAT_4XXX" +clean_blob drivers/crypto/qat/qat_4xxx/adf_4xxx_hw_data.h +clean_blob drivers/crypto/qat/qat_4xxx/adf_drv.c +clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_4XXX +clean_mk CONFIG_CRYPTO_DEV_QAT_4XXX drivers/crypto/qat/Makefile + +announce AMDTEE - "AMD's Trusted Execution Environment (TEE)" +reject_firmware drivers/tee/amdtee/core.c +clean_blob drivers/tee/amdtee/core.c +clean_kconfig drivers/tee/amdtee/Kconfig AMDTEE +clean_mk CONFIG_AMDTEE drivers/tee/amdtee/Makefile + +######## +# tty # +######## + +announce MOXA_INTELLIO - "Moxa Intellio support" +reject_firmware drivers/tty/moxa.c +clean_blob drivers/tty/moxa.c +clean_kconfig drivers/tty/Kconfig MOXA_INTELLIO +clean_mk CONFIG_MOXA_INTELLIO drivers/tty/Makefile + +# gpu drm + +announce DRM - "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" +reject_firmware drivers/gpu/drm/drm_hdcp.c +clean_blob drivers/gpu/drm/drm_hdcp.c +clean_kconfig drivers/gpu/drm/Kconfig DRM +clean_mk CONFIG_DRM drivers/gpu/drm/Makefile + + +announce DRM_AMDGPU - "AMD GPU" +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/mes_v10_1.c +clean_blob drivers/gpu/drm/amd/amdgpu/mes_v10_1.c +clean_blob drivers/gpu/drm/amd/amdgpu/psp_v3_1.c +reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v10_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/psp_v10_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v11_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/psp_v11_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v12_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/psp_v12_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/psp_v13_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c +clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +clean_blob drivers/gpu/drm/amd/pm/powerplay/smumgr/smumgr.c +reject_firmware drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c +clean_blob drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c +reject_firmware drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c +clean_blob drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c +reject_firmware drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +clean_blob drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +clean_kconfig drivers/gpu/drm/Kconfig DRM_AMDGPU +clean_mk CONFIG_DRM_AMDGPU drivers/gpu/drm/amd/amdgpu/Makefile + +announce DRM_AMDGPU_CIK - "Enable amdgpu support for CIK parts" +reject_firmware drivers/gpu/drm/amd/amdgpu/cik_sdma.c +clean_blob drivers/gpu/drm/amd/amdgpu/cik_sdma.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +clean_kconfig drivers/gpu/drm/amd/amdgpu/Kconfig DRM_AMDGPU_CIK +clean_mk CONFIG_DRM_AMDGPU_CIK drivers/gpu/drm/amd/amdgpu/Makefile + +announce DRM_AMDGPU_SI - "Enable amdgpu support for SI parts" +reject_firmware drivers/gpu/drm/amd/pm/powerplay/si_dpm.c +clean_blob drivers/gpu/drm/amd/pm/powerplay/si_dpm.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +reject_firmware drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +clean_kconfig drivers/gpu/drm/amd/amdgpu/Kconfig DRM_AMDGPU_SI +clean_mk CONFIG_DRM_AMDGPU_SI drivers/gpu/drm/amd/amdgpu/Makefile + +announce DRM_AST - "AST server chips" +reject_firmware drivers/gpu/drm/ast/ast_dp501.c +clean_blob drivers/gpu/drm/ast/ast_dp501.c +clean_kconfig drivers/gpu/drm/ast/Kconfig DRM_AST +clean_mk CONFIG_DRM_AST drivers/gpu/drm/ast/Makefile + +announce DRM_CDNS_MHDP8546 - "Cadence DPI/DP bridge" +reject_firmware drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c +clean_blob drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c +clean_blob drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.h +clean_kconfig drivers/gpu/drm/bridge/cadence/Kconfig DRM_CDNS_MHDP8546 +clean_mk CONFIG_DRM_CDNS_MHDP8546 drivers/gpu/drm/bridge/cadence/Makefile + +announce DRM_I915 - "Intel 8xx/9xx/G3x/G4x/HD Graphics" +reject_firmware drivers/gpu/drm/i915/display/intel_dmc.c +clean_blob drivers/gpu/drm/i915/display/intel_dmc.c +reject_firmware drivers/gpu/drm/i915/display/intel_opregion.c +reject_firmware drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +clean_blob drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +clean_blob drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h +clean_kconfig drivers/gpu/drm/i915/Kconfig DRM_I915 +clean_mk CONFIG_DRM_I915 drivers/gpu/drm/i915/Makefile + +announce DRM_I915_GVT - "Enable Intel GVT-g graphics virtualization host support" +reject_firmware drivers/gpu/drm/i915/gvt/firmware.c +clean_kconfig drivers/gpu/drm/i915/Kconfig DRM_I915_GVT +clean_mk CONFIG_DRM_I915_GVT drivers/gpu/drm/i915/Makefile + +announce DRM_LONTIUM_LT9611UXC - "Lontium LT9611UXC DSI/HDMI bridge" +reject_firmware drivers/gpu/drm/bridge/lontium-lt9611uxc.c +clean_blob drivers/gpu/drm/bridge/lontium-lt9611uxc.c +clean_kconfig drivers/gpu/drm/bridge/Kconfig DRM_LONTIUM_LT9611UXC +clean_mk CONFIG_DRM_LONTIUM_LT9611UXC drivers/gpu/drm/bridge/Makefile + +announce DRM_NOUVEAU - "Nouveau (nVidia) cards" +reject_firmware_nowarn drivers/gpu/drm/nouveau/nvkm/core/firmware.c +clean_blob drivers/gpu/drm/nouveau/nvkm/core/firmware.c +reject_firmware drivers/gpu/drm/nouveau/nvkm/engine/falcon.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/falcon.c +reject_firmware drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gm20b.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gp102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gp104.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gp107.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gp108.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gp10b.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/gv100.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/gr/tu102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp108.c +if grep MODULE_FIRMWARE \ + drivers/gpu/drm/nouveau/nvkm/engine/sec2/tu102.c > /dev/null; then + # Added in 5.6.6. + clean_blob drivers/gpu/drm/nouveau/nvkm/engine/sec2/tu102.c +fi +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm20b.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp108.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp10b.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/acr/tu102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp102.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/fb/gv100.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c +clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c +clean_kconfig drivers/gpu/drm/nouveau/Kconfig DRM_NOUVEAU +clean_mk CONFIG_DRM_NOUVEAU drivers/gpu/drm/Makefile + +announce DRM_MGA - "Matrox g200/g400" +reject_firmware drivers/gpu/drm/mga/mga_warp.c +clean_blob drivers/gpu/drm/mga/mga_warp.c +clean_kconfig drivers/gpu/drm/Kconfig DRM_MGA +clean_mk CONFIG_DRM_MGA drivers/gpu/drm/Makefile + +announce DRM_MSM - "MSM DRM" +reject_firmware drivers/gpu/drm/msm/adreno/adreno_gpu.c +clean_blob drivers/gpu/drm/msm/adreno/adreno_device.c +clean_blob drivers/gpu/drm/msm/adreno/a6xx_gpu.c +clean_kconfig drivers/gpu/drm/msm/Kconfig DRM_MSM +clean_mk CONFIG_DRM_MSM drivers/gpu/drm/msm/Makefile + +announce DRM_R128 - "ATI Rage 128" +reject_firmware drivers/gpu/drm/r128/r128_cce.c +clean_blob drivers/gpu/drm/r128/r128_cce.c +clean_kconfig drivers/gpu/drm/Kconfig DRM_R128 +clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile + +announce DRM_RADEON - "ATI Radeon" +reject_firmware drivers/gpu/drm/radeon/r100.c +clean_blob drivers/gpu/drm/radeon/r100.c +reject_firmware drivers/gpu/drm/radeon/r600.c +clean_blob drivers/gpu/drm/radeon/r600.c +reject_firmware drivers/gpu/drm/radeon/ni.c +clean_blob drivers/gpu/drm/radeon/ni.c +reject_firmware drivers/gpu/drm/radeon/si.c +clean_blob drivers/gpu/drm/radeon/si.c +# Something like this might work on other radeon cards too. If you +# have such cards, please give it a try, and report back either way, +# so that we can make more cards work, or at least add comments so +# that others don't waste their time trying them again. See +# https://libreplanet.org/wiki/Group:Hardware/research/gpu/radeon +clean_sed ' +/r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/r600.c 'enable blobless activation' +clean_sed ' +/r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/evergreen.c 'enable blobless activation' +clean_sed ' +/r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/rv770.c 'enable blobless activation' +clean_sed ' +/r = ni_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/ni.c 'enable blobless activation' +clean_sed ' +/r = si_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/si.c 'enable blobless activation' +clean_sed ' +/if (!rdev->mc_fw) {/,/}/ s,return -EINVAL;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/si.c 'enable blobless activation' +reject_firmware drivers/gpu/drm/radeon/cik.c +clean_blob drivers/gpu/drm/radeon/cik.c +reject_firmware drivers/gpu/drm/radeon/radeon_uvd.c +clean_blob drivers/gpu/drm/radeon/radeon_uvd.c +reject_firmware drivers/gpu/drm/radeon/radeon_vce.c +clean_blob drivers/gpu/drm/radeon/radeon_vce.c +clean_kconfig drivers/gpu/drm/Kconfig DRM_RADEON +clean_mk CONFIG_DRM_RADEON drivers/gpu/drm/Makefile + +announce ROCKCHIP_CDN_DP - "Rockchip cdn DP" +reject_firmware drivers/gpu/drm/rockchip/cdn-dp-core.c +clean_blob drivers/gpu/drm/rockchip/cdn-dp-core.c +clean_kconfig drivers/gpu/drm/rockchip/Kconfig ROCKCHIP_CDN_DP +clean_mk CONFIG_ROCKCHIP_CDN_DP drivers/gpu/drm/rockchip/Makefile + +announce DRM_STI - "DRM Support for STMicroelectronics SoC stiH41x Series" +reject_firmware drivers/gpu/drm/sti/sti_hqvdp.c +clean_blob drivers/gpu/drm/sti/sti_hqvdp.c +clean_kconfig drivers/gpu/drm/sti/Kconfig DRM_STI +clean_mk CONFIG_DRM_STI drivers/gpu/drm/sti/Makefile + +announce DRM_TEGRA - "NVIDIA Tegra DRM" +reject_firmware drivers/gpu/drm/tegra/falcon.c +clean_blob drivers/gpu/drm/tegra/vic.c +clean_kconfig drivers/gpu/drm/tegra/Kconfig DRM_TEGRA +clean_mk CONFIG_DRM_TEGRA drivers/gpu/drm/tegra/Makefile + +####### +# dma # +####### + +announce IMX_SDMA - "i.MX SDMA support" +reject_firmware drivers/dma/imx-sdma.c +clean_blob drivers/dma/imx-sdma.c +clean_blob arch/arm/boot/dts/imx25.dtsi +clean_blob arch/arm/boot/dts/imx31.dtsi +clean_blob arch/arm/boot/dts/imx35.dtsi +clean_blob arch/arm/boot/dts/imx50.dtsi +clean_blob arch/arm/boot/dts/imx51.dtsi +clean_blob arch/arm/boot/dts/imx53.dtsi +clean_blob arch/arm/boot/dts/imx53-tx53.dtsi +clean_blob arch/arm/boot/dts/imx6qdl.dtsi +clean_blob arch/arm/boot/dts/imx6sl.dtsi +clean_blob arch/arm/boot/dts/imx6sll.dtsi +clean_blob arch/arm/boot/dts/imx6sx.dtsi +clean_blob arch/arm/boot/dts/imx6ul.dtsi +clean_blob arch/arm/boot/dts/imx7s.dtsi +clean_blob arch/arm64/boot/dts/freescale/imx8mm.dtsi +clean_blob arch/arm64/boot/dts/freescale/imx8mn.dtsi +clean_blob arch/arm64/boot/dts/freescale/imx8mp.dtsi +clean_blob arch/arm64/boot/dts/freescale/imx8mq.dtsi +clean_blob Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt +clean_kconfig drivers/dma/Kconfig IMX_SDMA +clean_mk CONFIG_IMX_SDMA drivers/dma/Makefile + +announce ST_FDMA - "ST FDMA dmaengine support" +clean_blob drivers/dma/st_fdma.c +clean_kconfig drivers/dma/Kconfig ST_FDMA +clean_mk CONFIG_ST_FDMA drivers/dma/Makefile + +######### +# Media # +######### + +# media/tuner + +announce MEDIA_TUNER_SI2157 - "Silicon Labs Si2157 silicon tuner" +reject_firmware drivers/media/tuners/si2157.c +clean_blob drivers/media/tuners/si2157.c +clean_blob drivers/media/tuners/si2157_priv.h +clean_kconfig drivers/media/tuners/Kconfig MEDIA_TUNER_SI2157 +clean_mk CONFIG_MEDIA_TUNER_SI2157 drivers/media/tuners/Makefile + +announce MEDIA_TUNER_XC2028 - "XCeive xc2028/xc3028 tuners" +undefault_firmware 'XC\(2028\|3028L\)' \ + drivers/media/tuners/tuner-xc2028.h \ + drivers/media/pci/saa7134/saa7134-cards.c \ + drivers/media/pci/ivtv/ivtv-driver.c \ + drivers/media/pci/cx18/cx18-driver.c \ + drivers/media/pci/cx18/cx18-dvb.c \ + drivers/media/pci/cx23885/cx23885-dvb.c \ + drivers/media/pci/cx23885/cx23885-video.c \ + drivers/media/pci/cx88/cx88-dvb.c \ + drivers/media/pci/cx88/cx88-cards.c \ + drivers/media/usb/em28xx/em28xx-cards.c \ + drivers/media/usb/dvb-usb/dib0700_devices.c \ + drivers/media/usb/dvb-usb/cxusb.c +reject_firmware drivers/media/tuners/tuner-xc2028.c +clean_blob drivers/media/tuners/tuner-xc2028.c +clean_kconfig drivers/media/tuners/Kconfig MEDIA_TUNER_XC2028 +clean_mk CONFIG_MEDIA_TUNER_XC2028 drivers/media/tuners/Makefile + +announce VIDEO_TM6000_DVB - "DVB Support for tm6000 based TV cards" +clean_blob drivers/media/usb/tm6000/tm6000-cards.c +clean_kconfig drivers/media/usb/tm6000/Kconfig VIDEO_TM6000_DVB +clean_mk CONFIG_VIDEO_TM6000_DVB drivers/media/usb/tm6000/Makefile + +announce MEDIA_TUNER_XC4000 - "Xceive XC4000 silicon tuner" +undefine_macro "XC4000_DEFAULT_FIRMWARE\(\|_NEW\)" "\"/*(DEBLOBBED)*/\"" \ + "disabled non-Free firmware" drivers/media/tuners/xc4000.c +maybe_reject_firmware drivers/media/tuners/xc4000.c +clean_blob drivers/media/tuners/xc4000.c +clean_kconfig drivers/media/tuners/Kconfig MEDIA_TUNER_XC4000 +clean_mk CONFIG_MEDIA_TUNER_XC4000 drivers/media/tuners/Makefile + +announce MEDIA_TUNER_XC5000 - "Xceive XC5000 silicon tuner" +undefault_firmware 'XC5000' \ + drivers/media/usb/cx231xx/cx231xx-cards.c +reject_firmware drivers/media/tuners/xc5000.c +clean_blob drivers/media/tuners/xc5000.c +clean_kconfig drivers/media/tuners/Kconfig MEDIA_TUNER_XC5000 +clean_mk CONFIG_MEDIA_TUNER_XC5000 drivers/media/tuners/Makefile + +announce DVB_USB - "Support for various USB DVB devices" +reject_firmware drivers/media/usb/dvb-usb/dvb-usb-firmware.c +clean_blob drivers/media/usb/dvb-usb/dvb-usb-firmware.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB +clean_mk CONFIG_DVB_USB drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_V2 - "Support for various USB DVB devices v2" +reject_firmware drivers/media/usb/dvb-usb-v2/dvb_usb_core.c +clean_blob drivers/media/usb/dvb-usb-v2/dvb_usb_core.c +clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_V2 +clean_mk CONFIG_DVB_USB_V2 drivers/media/usb/dvb-usb-v2/Makefile + +announce DVB_B2C2_FLEXCOP - "Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters" +reject_firmware drivers/media/common/b2c2/flexcop-fe-tuner.c + +announce DVB_BT8XX - "BT8xx based PCI cards" +reject_firmware drivers/media/pci/bt8xx/dvb-bt8xx.c + +announce DVB_USB_A800 - "AVerMedia AverTV DVB-T USB 2.0 (A800)" +clean_blob drivers/media/usb/dvb-usb/a800.c +clean_blob Documentation/admin-guide/media/avermedia.rst +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_A800 +clean_mk CONFIG_DVB_USB_A800 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_AF9005 - "Afatech AF9005 DVB-T USB1.1 support" +clean_file drivers/media/usb/dvb-usb/af9005-script.h +clean_sed ' +s,^ deb_info("load init script\\n");$, {\n err("Missing Free init script\\n");\n return scriptlen = ret = -EINVAL;\n ,; +' drivers/media/usb/dvb-usb/af9005-fe.c 'report missing Free init script' +clean_blob drivers/media/usb/dvb-usb/af9005-fe.c +clean_blob drivers/media/usb/dvb-usb/af9005.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_AF9005 +clean_mk CONFIG_DVB_USB_AF9005 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_AF9015 - "Afatech AF9015 DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb-v2/af9015.h +clean_blob drivers/media/usb/dvb-usb-v2/af9015.c +clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_AF9015 +clean_mk CONFIG_DVB_USB_AF9015 drivers/media/usb/dvb-usb-v2/Makefile + +announce DVB_USB_AF9035 - "Afatech AF9035 DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb-v2/af9035.h +clean_blob drivers/media/usb/dvb-usb-v2/af9035.c +clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_AF9035 +clean_mk CONFIG_DVB_USB_AF9035 drivers/media/usb/dvb-usb-v2/Makefile + +announce DVB_USB_AZ6007 - "Azurewave 6007 and clones DVB-T/C USB2.0 support" +clean_blob drivers/media/usb/dvb-usb-v2/az6007.c +clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_AZ6007 +clean_mk CONFIG_DVB_USB_AZ6007 drivers/media/usb/dvb-usb-v2/Makefile + +announce DVB_USB_AZ6027 - "Azurewave DVB-S/S2 USB2.0 AZ6027 support" +clean_blob drivers/media/usb/dvb-usb/az6027.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_AZ6027 +clean_mk CONFIG_DVB_USB_AZ6027 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_CXUSB - "Conexant USB2.0 hybrid reference design support" +clean_blob drivers/media/usb/dvb-usb/cxusb.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_CXUSB +clean_mk CONFIG_DVB_USB_CXUSB drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_DIB0700 - "DiBcom DiB0700 USB DVB devices" +reject_firmware drivers/media/usb/dvb-usb/dib0700_devices.c +clean_blob drivers/media/usb/dvb-usb/dib0700_devices.c +clean_blob drivers/media/usb/dvb-usb/dib0700_core.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_DIB0700 +clean_mk CONFIG_DVB_USB_DIB0700 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_DIBUSB_MB - "DiBcom USB DVB-T devices (based on the DiB3000M-B)" +clean_blob drivers/media/usb/dvb-usb/dibusb-mb.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_DIBUSB_MB +clean_mk CONFIG_DVB_USB_DIBUSB_MB drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_DIBUSB_MC - "DiBcom USB DVB-T devices (based on the DiB3000M-C/P)" +clean_blob drivers/media/usb/dvb-usb/dibusb-mc.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_DIBUSB_MC +clean_mk CONFIG_DVB_USB_DIBUSB_MC drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_DIGITV - "Nebula Electronics uDigiTV DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/digitv.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_DIGITV +clean_mk CONFIG_DVB_USB_DIGITV drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_DTT200U - "WideView WT-200U and WT-220U (pen) DVB-T USB2.0 support (Yakumo/Hama/Typhoon/Yuan)" +clean_blob drivers/media/usb/dvb-usb/dtt200u.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_DTT200U +clean_mk CONFIG_DVB_USB_DTT200U drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_DW2102 - "DvbWorld DVB-S/S2 USB2.0 support" +reject_firmware drivers/media/usb/dvb-usb/dw2102.c +clean_blob drivers/media/usb/dvb-usb/dw2102.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_DW2102 +clean_mk CONFIG_DVB_USB_DW2102 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_EC168 - "E3C EC168 DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb-v2/ec168.h +clean_blob drivers/media/usb/dvb-usb-v2/ec168.c +clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_EC168 +clean_mk CONFIG_DVB_USB_EC168 drivers/media/usb/dvb-usb-v2/Makefile + +announce DVB_USB_GP8PSK - "GENPIX 8PSK->USB module support" +reject_firmware drivers/media/usb/dvb-usb/gp8psk.c +clean_blob drivers/media/usb/dvb-usb/gp8psk.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_GP8PSK +clean_mk CONFIG_DVB_USB_GP8PSK drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_LME2510 - "LME DM04/QQBOX DVB-S USB2.0 support" +reject_firmware drivers/media/usb/dvb-usb-v2/lmedm04.c +clean_blob drivers/media/usb/dvb-usb-v2/lmedm04.c +clean_file Documentation/admin-guide/media/lmedm04.rst +clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_LME2510 +clean_mk CONFIG_DVB_USB_LME2510 drivers/media/usb/dvb-usb-v2/Makefile + +announce DVB_USB_M920X - "Uli m920x DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/m920x.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_M920X +clean_mk CONFIG_DVB_USB_M920X drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_NOVA_T_USB2 - "Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/nova-t-usb2.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_NOVA_T_USB2 +clean_mk CONFIG_DVB_USB_NOVA_T_USB2 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_OPERA1 - "Opera1 DVB-S USB2.0 receiver" +reject_firmware drivers/media/usb/dvb-usb/opera1.c +clean_blob drivers/media/usb/dvb-usb/opera1.c +clean_blob Documentation/admin-guide/media/opera-firmware.rst +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_OPERA1 +clean_mk CONFIG_DVB_USB_OPERA1 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_TECHNISAT_USB2 - "Technisat DVB-S/S2 USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/technisat-usb2.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_TECHNISAT_USB2 +clean_mk CONFIG_DVB_USB_TECHNISAT_USB2 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_TTUSB2 - "Pinnacle 400e DVB-S USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/ttusb2.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_TTUSB2 +clean_mk CONFIG_DVB_USB_TTUSB2 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_UMT_010 - "HanfTek UMT-010 DVB-T USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/umt-010.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_UMT_010 +clean_mk CONFIG_DVB_USB_UMT_010 drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_VP702X - "TwinhanDTV StarBox and clones DVB-S USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/vp702x.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_VP702X +clean_mk CONFIG_DVB_USB_VP702X drivers/media/usb/dvb-usb/Makefile + +announce DVB_USB_VP7045 - "TwinhanDTV Alpha/MagicBoxII, DNTV tinyUSB2, Beetle USB2.0 support" +clean_blob drivers/media/usb/dvb-usb/vp7045.c +clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB_VP7045 +clean_mk CONFIG_DVB_USB_VP7045 drivers/media/usb/dvb-usb/Makefile + +# dvb/frontends + +announce DVB_AF9013 - "Afatech AF9013 demodulator" +reject_firmware drivers/media/dvb-frontends/af9013.c +clean_blob drivers/media/dvb-frontends/af9013.c +clean_blob drivers/media/dvb-frontends/af9013_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_AF9013 +clean_mk CONFIG_DVB_AF9013 drivers/media/dvb-frontends/Makefile + +announce DVB_BCM3510 - "Broadcom BCM3510" +undefault_firmware 'BCM3510' drivers/media/dvb-frontends/bcm3510.c +clean_sed ' +/You.ll need a firmware/,/dvb-fe-bcm/d; +' drivers/media/dvb-frontends/bcm3510.c \ + "removed non-Free firmware notes" +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_BCM3510 +clean_mk CONFIG_DVB_BCM3510 drivers/media/dvb-frontends/Makefile + +announce DVB_CX24116 - "Conexant CX24116 based" +undefault_firmware CX24116 drivers/media/dvb-frontends/cx24116.c +reject_firmware drivers/media/dvb-frontends/cx24116.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_CX24116 +clean_mk CONFIG_DVB_CX24116 drivers/media/dvb-frontends/Makefile + +announce DVB_CX24117 - "Conexant CX24117 based" +undefault_firmware CX24117 drivers/media/dvb-frontends/cx24117.c +reject_firmware drivers/media/dvb-frontends/cx24117.c +clean_blob drivers/media/dvb-frontends/cx24117.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_CX24117 +clean_mk CONFIG_DVB_CX24117 drivers/media/dvb-frontends/Makefile + +announce DVB_CX24120 - "Conexant CX24120 based" +clean_blob drivers/media/dvb-frontends/cx24120.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_CX24120 +clean_mk CONFIG_DVB_CX24120 drivers/media/dvb-frontends/Makefile + +announce DVB_DS3000 - "Montage Tehnology DS3000 based" +undefault_firmware 'DS3000' \ + drivers/media/dvb-frontends/ds3000.c +reject_firmware drivers/media/dvb-frontends/ds3000.c +clean_blob drivers/media/dvb-frontends/ds3000.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_DS3000 +clean_mk CONFIG_DVB_DS3000 drivers/media/dvb-frontends/Makefile + +announce DVB_DRX39XYJ - "Micronas DRX-J demodulator" +reject_firmware drivers/media/dvb-frontends/drx39xyj/drxj.c +clean_blob drivers/media/dvb-frontends/drx39xyj/drxj.c +clean_kconfig drivers/media/dvb-frontends/drx39xyj/Kconfig DVB_DRX39XYJ +clean_mk CONFIG_DVB_DRX39XYJ drivers/media/dvb-frontends/drx39xyj/Makefile + +announce DVB_LGS8GXX - "Legend Silicon LGS8913/LGS8GL5/LGS8GXX DMB-TH demodulator" +reject_firmware drivers/media/dvb-frontends/lgs8gxx.c +clean_blob drivers/media/dvb-frontends/lgs8gxx.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_LGS8GXX +clean_mk CONFIG_DVB_LGS8GXX drivers/media/dvb-frontends/Makefile + +announce DVB_M88DS3103 - "Montage M88DS3103" +reject_firmware drivers/media/dvb-frontends/m88ds3103.c +clean_blob drivers/media/dvb-frontends/m88ds3103.c +clean_blob drivers/media/dvb-frontends/m88ds3103_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_M88DS3103 +clean_mk CONFIG_DVB_M88DS3103 drivers/media/dvb-frontends/Makefile + +announce DVB_MXL692 - "MaxLinear MXL692 based" +reject_firmware drivers/media/dvb-frontends/mxl692.c +clean_blob drivers/media/dvb-frontends/mxl692.c +clean_blob drivers/media/dvb-frontends/mxl692.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_MXL692 +clean_mk CONFIG_DVB_MXL692 drivers/media/dvb-frontends/Makefile + +announce DVB_NXT200X - "NxtWave Communications NXT2002/NXT2004 based" +undefault_firmware 'NXT200[24]' drivers/media/dvb-frontends/nxt200x.c +reject_firmware drivers/media/dvb-frontends/nxt200x.c +clean_blob drivers/media/dvb-frontends/nxt200x.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_NXT200X +clean_mk CONFIG_DVB_NXT200X drivers/media/dvb-frontends/Makefile + +announce DVB_OR51132 - "Oren OR51132 based" +reject_firmware drivers/media/dvb-frontends/or51132.c +clean_blob drivers/media/dvb-frontends/or51132.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_OR51132 +clean_mk CONFIG_DVB_OR51132 drivers/media/dvb-frontends/Makefile + +announce DVB_OR51211 - "Oren OR51211 based" +undefault_firmware 'OR51211' drivers/media/dvb-frontends/or51211.c +clean_blob drivers/media/dvb-frontends/or51211.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_OR51211 +clean_mk CONFIG_DVB_OR51211 drivers/media/dvb-frontends/Makefile + +announce DVB_SI2165 - "Silicon Labs si2165 based" +reject_firmware drivers/media/dvb-frontends/si2165.c +clean_blob drivers/media/dvb-frontends/si2165.c +clean_blob drivers/media/dvb-frontends/si2165_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_SI2165 +clean_mk CONFIG_DVB_SI2165 drivers/media/dvb-frontends/Makefile + +announce DVB_SI2168 - "Silicon Labs Si2168" +reject_firmware drivers/media/dvb-frontends/si2168.c +clean_blob drivers/media/dvb-frontends/si2168.c +clean_blob drivers/media/dvb-frontends/si2168_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_SI2168 +clean_mk CONFIG_DVB_SI2168 drivers/media/dvb-frontends/Makefile + +announce DVB_SP8870 - "Spase sp8870" +undefault_firmware 'SP8870' drivers/staging/media/av7110/sp8870.c +clean_blob drivers/staging/media/av7110/sp8870.c +clean_kconfig drivers/staging/media/av7110/Kconfig DVB_SP8870 +clean_mk CONFIG_DVB_SP8870 drivers/staging/media/av7110/Makefile + +announce DVB_SP887X - "Spase sp887x based" +undefault_firmware 'SP887X' drivers/media/dvb-frontends/sp887x.c +clean_blob drivers/media/dvb-frontends/sp887x.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_SP887X +clean_mk CONFIG_DVB_SP887X drivers/media/dvb-frontends/Makefile + +announce DVB_TDA10048 - "Philips TDA10048HN based" +undefine_macro 'TDA10048_DEFAULT_FIRMWARE_SIZE' 0 \ + 'removed non-Free firmware size' drivers/media/dvb-frontends/tda10048.c +undefault_firmware 'TDA10048' drivers/media/dvb-frontends/tda10048.c +reject_firmware drivers/media/dvb-frontends/tda10048.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_TDA10048 +clean_mk CONFIG_DVB_TDA10048 drivers/media/dvb-frontends/Makefile + +announce DVB_TDA1004X - "Philips TDA10045H/TDA10046H" +undefault_firmware 'TDA1004[56]' drivers/media/dvb-frontends/tda1004x.c +clean_blob drivers/media/dvb-frontends/tda1004x.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_TDA1004X +clean_mk CONFIG_DVB_TDA1004X drivers/media/dvb-frontends/Makefile + +announce DVB_TDA10071 - "NXP TDA10071" +reject_firmware drivers/media/dvb-frontends/tda10071.c +clean_blob drivers/media/dvb-frontends/tda10071.c +clean_blob drivers/media/dvb-frontends/tda10071_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_TDA10071 +clean_mk CONFIG_DVB_TDA10071 drivers/media/dvb-frontends/Makefile + +# dvb + +announce DVB_AS102 - "Abilis AS102 DVB receiver" +reject_firmware drivers/media/usb/as102/as102_fw.c +clean_blob drivers/media/usb/as102/as102_fw.c +clean_kconfig drivers/media/usb/as102/Kconfig DVB_AS102 +clean_mk CONFIG_DVB_AS102 drivers/media/usb/as102/Makefile + +announce DVB_AV7110 - "AV7110 cards" +reject_firmware drivers/staging/media/av7110/av7110.c +clean_blob drivers/staging/media/av7110/av7110.c +clean_kconfig drivers/staging/media/av7110/Kconfig DVB_AV7110 +clean_mk CONFIG_DVB_AV7110 drivers/staging/media/av7110/Makefile + +announce DVB_BUDGET - "Budget cards" +reject_firmware drivers/media/pci/ttpci/budget.c + +announce DVB_BUDGET_AV - "Budget cards with analog video inputs" +reject_firmware drivers/media/pci/ttpci/budget-av.c + +announce DVB_BUDGET_CI - "Budget cards with onboard CI connector" +reject_firmware drivers/media/pci/ttpci/budget-ci.c + +announce DVB_C8SECTPFE - "STMicroelectronics C8SECTPFE DVB support" +reject_firmware drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c +clean_blob drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c +clean_kconfig drivers/media/platform/sti/c8sectpfe/Kconfig DVB_C8SECTPFE +clean_mk CONFIG_DVB_C8SECTPFE drivers/media/platform/sti/c8sectpfe/Makefile + +announce DVB_DRXD - "Micronas DRXD driver" +reject_firmware drivers/media/dvb-frontends/drxd_hard.c +clean_blob drivers/media/dvb-frontends/drxd_hard.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_DRXD +clean_mk CONFIG_DVB_DRXD drivers/media/dvb-frontends/Makefile + +announce DVB_DRXK - "Micronas DRXK based" +reject_firmware drivers/media/dvb-frontends/drxk_hard.c +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_DRXK +clean_mk CONFIG_DVB_DRXK drivers/media/dvb-frontends/Makefile + +announce DVB_MN88472 - "Panasonic MN88472" +reject_firmware drivers/media/dvb-frontends/mn88472.c +clean_blob drivers/media/dvb-frontends/mn88472.c +clean_blob drivers/media/dvb-frontends/mn88472_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_MN88472 +clean_mk CONFIG_DVB_MN88472 drivers/media/dvb-frontends/Makefile + +announce DVB_MN88473 - "Panasonic MN88473" +reject_firmware drivers/media/dvb-frontends/mn88473.c +clean_blob drivers/media/dvb-frontends/mn88473.c +clean_blob drivers/media/dvb-frontends/mn88473_priv.h +clean_kconfig drivers/media/dvb-frontends/Kconfig DVB_MN88473 +clean_mk CONFIG_DVB_MN88473 drivers/media/dvb-frontends/Makefile + +announce DVB_NGENE - "Micronas nGene support" +reject_firmware drivers/media/pci/ngene/ngene-core.c +clean_blob drivers/media/pci/ngene/ngene-core.c +clean_kconfig drivers/media/pci/ngene/Kconfig DVB_NGENE +clean_mk CONFIG_DVB_NGENE drivers/media/pci/ngene/Makefile + +announce DVB_PLUTO2 - "Pluto2 cards" +reject_firmware drivers/media/pci/pluto2/pluto2.c + +announce SMS_SIANO_MDTV - "Siano SMS1xxx based MDTV receiver" +reject_firmware drivers/media/common/siano/smscoreapi.c +clean_blob drivers/media/common/siano/smscoreapi.c +clean_blob drivers/media/common/siano/smscoreapi.h +clean_kconfig drivers/media/common/siano/Kconfig SMS_SIANO_MDTV +clean_mk CONFIG_SMS_SIANO_MDTV drivers/media/common/siano/Makefile + +announce SMS_USB_DRV - "Siano's USB interface support" +reject_firmware drivers/media/usb/siano/smsusb.c +clean_blob drivers/media/usb/siano/smsusb.c +clean_kconfig drivers/media/usb/siano/Kconfig SMS_USB_DRV +clean_mk CONFIG_SMS_USB_DRV drivers/media/usb/siano/Makefile + +announce DVB_TTUSB_BUDGET - "Technotrend/Hauppauge Nova-USB devices" +reject_firmware drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c +clean_blob drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c +clean_kconfig drivers/media/usb/ttusb-budget/Kconfig DVB_TTUSB_BUDGET +clean_mk CONFIG_DVB_TTUSB_BUDGET drivers/media/usb/ttusb-budget/Makefile + +announce DVB_TTUSB_DEC - "Technotrend/Hauppauge USB DEC devices" +reject_firmware drivers/media/usb/ttusb-dec/ttusb_dec.c +clean_blob drivers/media/usb/ttusb-dec/ttusb_dec.c +clean_blob Documentation/admin-guide/media/ttusb-dec.rst +clean_kconfig drivers/media/usb/ttusb-dec/Kconfig DVB_TTUSB_DEC +clean_mk CONFIG_DVB_TTUSB_DEC drivers/media/usb/ttusb-dec/Makefile + +# video + +announce VIDEO_ALLEGRO_DVT - "Allegro DVT Video IP Core" +reject_firmware drivers/media/platform/allegro-dvt/allegro-core.c +clean_blob drivers/media/platform/allegro-dvt/allegro-core.c +clean_kconfig drivers/media/platform/Kconfig VIDEO_ALLEGRO_DVT +clean_mk CONFIG_VIDEO_ALLEGRO_DVT drivers/media/platform/allegro-dvt/Makefile + +announce VIDEO_ATOMISP - "Intel Atom Image Signal Processor Driver" +reject_firmware drivers/staging/media/atomisp/pci/atomisp_v4l2.c +clean_blob drivers/staging/media/atomisp/pci/atomisp_v4l2.c +clean_blob drivers/staging/media/atomisp/TODO +clean_kconfig drivers/staging/media/atomisp/Kconfig VIDEO_ATOMISP +clean_mk CONFIG_VIDEO_ATOMISP drivers/staging/media/atomisp/Makefile + +announce VIDEO_BT848 - "BT848 Video For Linux" +reject_firmware drivers/media/pci/bt8xx/bttv-cards.c +clean_blob drivers/media/pci/bt8xx/bttv-cards.c +clean_blob Documentation/admin-guide/media/bttv.rst +clean_kconfig drivers/media/pci/bt8xx/Kconfig VIDEO_BT848 +clean_mk CONFIG_VIDEO_BT848 drivers/media/pci/bt8xx/Makefile + +announce VIDEO_CCS - "MIPI CCS/SMIA++/SMIA sensor support" +reject_firmware drivers/media/i2c/ccs/ccs-core.c +clean_blob drivers/media/i2c/ccs/ccs-core.c +clean_kconfig drivers/media/i2c/ccs/Kconfig VIDEO_CCS +clean_mk CONFIG_VIDEO_CCS drivers/media/i2c/ccs/Makefile + +announce VIDEO_CODA - "Chips&Media Coda multi-standard codec IP" +reject_firmware drivers/media/platform/coda/coda-common.c +clean_blob drivers/media/platform/coda/coda-common.c +clean_kconfig drivers/media/platform/Kconfig VIDEO_CODA +clean_mk CONFIG_VIDEO_CODA drivers/media/platform/coda/Makefile + +announce VIDEO_CPIA2 - "CPiA2 Video For Linux" +reject_firmware drivers/media/usb/cpia2/cpia2_core.c +clean_blob drivers/media/usb/cpia2/cpia2_core.c +clean_kconfig drivers/media/usb/cpia2/Kconfig VIDEO_CPIA2 +clean_mk CONFIG_VIDEO_CPIA2 drivers/media/usb/cpia2/Makefile + +announce VIDEO_CX18 - "Conexant cx23418 MPEG encoder support" +reject_firmware drivers/media/pci/cx18/cx18-av-firmware.c +reject_firmware drivers/media/pci/cx18/cx18-dvb.c +reject_firmware drivers/media/pci/cx18/cx18-firmware.c +clean_blob drivers/media/pci/cx18/cx18-av-firmware.c +clean_blob drivers/media/pci/cx18/cx18-dvb.c +clean_blob drivers/media/pci/cx18/cx18-firmware.c +clean_blob drivers/media/pci/cx18/cx18-driver.c +clean_kconfig drivers/media/pci/cx18/Kconfig VIDEO_CX18 +clean_mk CONFIG_VIDEO_CX18 drivers/media/pci/cx18/Makefile + +announce VIDEO_CX231XX - "Conexant cx231xx USB video capture support" +reject_firmware drivers/media/usb/cx231xx/cx231xx-417.c +clean_blob drivers/media/usb/cx231xx/cx231xx-417.c +clean_kconfig drivers/media/usb/cx231xx/Kconfig VIDEO_CX231XX +clean_mk CONFIG_VIDEO_CX231XX drivers/media/usb/cx231xx/Makefile + +announce VIDEO_CX23885 - "Conexant cx23885 (2388x successor) support" +reject_firmware drivers/media/pci/cx23885/cx23885-417.c +clean_blob drivers/media/pci/cx23885/cx23885-417.c +reject_firmware drivers/media/pci/cx23885/cx23885-cards.c +clean_blob drivers/media/pci/cx23885/cx23885-cards.c +clean_blob drivers/media/pci/cx23885/cx23885-video.c +clean_kconfig drivers/media/pci/cx23885/Kconfig VIDEO_CX23885 +clean_mk CONFIG_VIDEO_CX23885 drivers/media/pci/cx23885/Makefile + +announce VIDEO_CX25840 - "Conexant CX2584x audio/video decoders" +reject_firmware drivers/media/i2c/cx25840/cx25840-firmware.c +clean_blob drivers/media/i2c/cx25840/cx25840-firmware.c +clean_kconfig drivers/media/i2c/cx25840/Kconfig VIDEO_CX25840 +clean_mk CONFIG_VIDEO_CX25840 drivers/media/i2c/cx25840/Makefile + +announce VIDEO_CX88_BLACKBIRD - "Blackbird MPEG encoder support (cx2388x + cx23416)" +reject_firmware drivers/media/pci/cx88/cx88-blackbird.c +clean_kconfig drivers/media/pci/cx88/Kconfig VIDEO_CX88_BLACKBIRD +clean_mk CONFIG_VIDEO_CX88_BLACKBIRD drivers/media/pci/cx88/Makefile + +announce VIDEO_EM28XX_DVB - "DVB/ATSC Support for em28xx based TV cards" +clean_blob drivers/media/usb/em28xx/em28xx-dvb.c +clean_kconfig drivers/media/usb/em28xx/Kconfig VIDEO_EM28XX_DVB +clean_mk CONFIG_VIDEO_EM28XX_DVB drivers/media/usb/em28xx/Makefile + +announce VIDEO_EXYNOS4_FIMC_IS - "EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver" +reject_firmware drivers/media/platform/exynos4-is/fimc-is.c +clean_blob drivers/media/platform/exynos4-is/fimc-is.h +clean_kconfig drivers/media/platform/exynos4-is/Kconfig VIDEO_EXYNOS4_FIMC_IS +clean_mk CONFIG_VIDEO_EXYNOS4_FIMC_IS drivers/media/platform/exynos4-is/Makefile + +announce VIDEO_IPU3_IMGU - "Intel ipu3-imgu driver" +reject_firmware drivers/staging/media/ipu3/ipu3-css-fw.c +clean_blob drivers/staging/media/ipu3/ipu3-css-fw.h +clean_kconfig drivers/staging/media/ipu3/Kconfig VIDEO_IPU3_IMGU +clean_mk CONFIG_VIDEO_IPU3_IMGU drivers/staging/media/ipu3/Makefile + +announce VIDEO_IVTV - "Conexant cx23416/cx23415 MPEG encoder/decoder support" +reject_firmware drivers/media/pci/ivtv/ivtv-firmware.c +clean_blob drivers/media/pci/ivtv/ivtv-firmware.c +clean_blob Documentation/admin-guide/media/ivtv.rst +clean_kconfig drivers/media/pci/ivtv/Kconfig VIDEO_IVTV +clean_mk CONFIG_VIDEO_IVTV drivers/media/pci/ivtv/Makefile + +announce VIDEO_MEDIATEK_VPU - "Mediatek Video Processor Unit" +reject_firmware drivers/media/platform/mtk-vpu/mtk_vpu.c +clean_blob drivers/media/platform/mtk-vpu/mtk_vpu.c +clean_kconfig drivers/media/platform/Kconfig VIDEO_MEDIATEK_VPU +clean_mk CONFIG_VIDEO_MEDIATEK_VPU drivers/media/platform/mtk-vpu/Makefile + +announce VIDEO_MESON_VDEC - "Amlogic video decoder driver" +reject_firmware drivers/staging/media/meson/vdec/vdec_1.c +reject_firmware drivers/staging/media/meson/vdec/vdec_hevc.c +clean_blob drivers/staging/media/meson/vdec/vdec_platform.c +clean_kconfig drivers/staging/media/meson/vdec/Kconfig VIDEO_MESON_VDEC +clean_mk CONFIG_VIDEO_MESON_VDEC drivers/staging/media/meson/vdec/Makefile + +announce VIDEO_PVRUSB2 - "Hauppauge WinTV-PVR USB2 support" +reject_firmware drivers/media/usb/pvrusb2/pvrusb2-hdw.c +clean_blob drivers/media/usb/pvrusb2/pvrusb2-devattr.c +clean_kconfig drivers/media/usb/pvrusb2/Kconfig VIDEO_PVRUSB2 +clean_mk CONFIG_VIDEO_PVRUSB2 drivers/media/usb/pvrusb2/Makefile + +announce "VIDEO_CX23885, VIDEO_CX88_BLACKBIRD, VIDEO_IVTV, VIDEO_PVRUSB2" - "See above" +clean_blob include/media/drv-intf/cx2341x.h + +announce VIDEO_GO7007 - "Go 7007 support" +reject_firmware drivers/media/usb/go7007/go7007-driver.c +clean_blob drivers/media/usb/go7007/go7007-driver.c +reject_firmware drivers/media/usb/go7007/go7007-fw.c +clean_blob drivers/media/usb/go7007/go7007-fw.c +clean_kconfig drivers/media/usb/go7007/Kconfig VIDEO_GO7007 +clean_mk CONFIG_VIDEO_GO7007 drivers/media/usb/go7007/Makefile + +announce VIDEO_GO7007_USB_S2250_BOARD - "Sensoray 2250/2251 support" +reject_firmware drivers/media/usb/go7007/go7007-loader.c +clean_blob drivers/media/usb/go7007/go7007-loader.c +clean_kconfig drivers/media/usb/go7007/Kconfig VIDEO_GO7007_USB_S2250_BOARD +clean_mk CONFIG_VIDEO_GO7007_USB_S2250_BOARD drivers/media/usb/go7007/Makefile + +announce VIDEO_SAA7134_DVB - "DVB/ATSC Support for saa7134 based TV cards" +reject_firmware drivers/media/pci/saa7134/saa7134-dvb.c +clean_kconfig drivers/media/pci/saa7134/Kconfig VIDEO_SAA7134_DVB +clean_mk CONFIG_VIDEO_SAA7134_DVB drivers/media/pci/saa7134/Makefile + +announce VIDEO_SAA7134_GO7007 - "go7007 support for saa7134 based TV cards" +clean_blob drivers/media/pci/saa7134/saa7134-go7007.c +clean_kconfig drivers/media/pci/saa7134/Kconfig VIDEO_SAA7134_GO7007 +clean_mk CONFIG_VIDEO_SAA7134_GO7007 drivers/media/pci/saa7134/Makefile + +announce VIDEO_SAA7164 - "NXP SAA7164 support" +reject_firmware drivers/media/pci/saa7164/saa7164-fw.c +clean_blob drivers/media/pci/saa7164/saa7164-fw.c +clean_kconfig drivers/media/pci/saa7164/Kconfig VIDEO_SAA7164 +clean_mk CONFIG_VIDEO_SAA7164 drivers/media/pci/saa7164/Makefile + +announce VIDEO_S5C73M3 - "Samsung S5C73M3 sensor support" +reject_firmware drivers/media/i2c/s5c73m3/s5c73m3-core.c +clean_blob drivers/media/i2c/s5c73m3/s5c73m3-core.c +clean_kconfig drivers/media/i2c/Kconfig VIDEO_S5C73M3 +clean_mk CONFIG_VIDEO_S5C73M3 drivers/media/i2c/s5c73m3/Makefile + +announce VIDEO_S5K4ECGX - "Samsung S5K4ECGX sensor support" +reject_firmware drivers/media/i2c/s5k4ecgx.c +clean_blob drivers/media/i2c/s5k4ecgx.c +clean_kconfig drivers/media/i2c/Kconfig VIDEO_S5K4ECGX +clean_mk CONFIG_VIDEO_S5K4ECGX drivers/media/i2c/Makefile + +announce VIDEO_S5K5BAF - "Samsung S5K5BAF sensor support" +reject_firmware drivers/media/i2c/s5k5baf.c +clean_blob drivers/media/i2c/s5k5baf.c +clean_kconfig drivers/media/i2c/Kconfig VIDEO_S5K5BAF +clean_mk CONFIG_VIDEO_S5K5BAF drivers/media/i2c/Makefile + +announce VIDEO_VS6624 - "ST VS6624 sensor support" +clean_blob drivers/media/i2c/vs6624.c +clean_kconfig drivers/media/i2c/Kconfig VIDEO_VS6624 +clean_mk CONFIG_VIDEO_VS6624 drivers/media/i2c/Makefile + +announce VIDEO_SAMSUNG_S5P_MFC - "Samsung S5P MFC 5.1 Video Codec" +reject_firmware drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c +clean_blob drivers/media/platform/s5p-mfc/s5p_mfc.c +clean_kconfig drivers/media/platform/Kconfig VIDEO_SAMSUNG_S5P_MFC +clean_mk CONFIG_VIDEO_SAMSUNG_S5P_MFC drivers/media/platform/s5p-mfc/Makefile + +announce USB_S2255 - "USB Sensoray 2255 video capture device" +reject_firmware drivers/media/usb/s2255/s2255drv.c +clean_blob drivers/media/usb/s2255/s2255drv.c +clean_kconfig drivers/media/usb/s2255/Kconfig USB_S2255 +clean_mk CONFIG_USB_S2255 drivers/media/usb/s2255/Makefile + +announce USB_GSPCA_VICAM - "USB 3com HomeConnect, AKA vicam" +reject_firmware drivers/media/usb/gspca/vicam.c +clean_blob drivers/media/usb/gspca/vicam.c +clean_kconfig drivers/media/usb/gspca/Kconfig USB_GSPCA_VICAM +clean_mk CONFIG_USB_GSPCA_VICAM drivers/media/usb/gspca/Makefile + +announce VIDEO_QCOM_VENUS - "Qualcomm Venus V4L2 encoder/decoder driver" +reject_firmware drivers/media/platform/qcom/venus/firmware.c +clean_blob drivers/media/platform/qcom/venus/core.c +clean_kconfig drivers/media/platform/Kconfig VIDEO_QCOM_VENUS +clean_mk CONFIG_VIDEO_QCOM_VENUS drivers/media/platform/qcom/venus/Makefile + +announce VIDEO_TI_VPE - "TI VPE (Video Processing Engine) driver" +reject_firmware drivers/media/platform/ti-vpe/vpdma.c +clean_blob drivers/media/platform/ti-vpe/vpdma.c +clean_kconfig drivers/media/platform/Kconfig VIDEO_TI_VPE +clean_mk CONFIG_VIDEO_TI_VPE drivers/media/platform/ti-vpe/Makefile + +# radio + +announce RADIO_WL1273 - "Texas Instruments WL1273 I2C FM Radio" +reject_firmware drivers/media/radio/radio-wl1273.c +clean_blob drivers/media/radio/radio-wl1273.c +clean_kconfig drivers/media/radio/Kconfig RADIO_WL1273 +clean_mk CONFIG_RADIO_WL1273 drivers/media/radio/Makefile + +announce RADIO_WL128X - "Texas Instruments WL128x FM Radio" +clean_blob drivers/media/radio/wl128x/fmdrv_common.h +reject_firmware drivers/media/radio/wl128x/fmdrv_common.c +clean_blob drivers/media/radio/wl128x/fmdrv_common.c +clean_kconfig drivers/media/radio/wl128x/Kconfig RADIO_WL128X +clean_mk CONFIG_RADIO_WL128X drivers/media/radio/Makefile + +####### +# net # +####### + +announce ACENIC - "Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit" +reject_firmware drivers/net/ethernet/alteon/acenic.c +clean_blob drivers/net/ethernet/alteon/acenic.c +clean_kconfig drivers/net/ethernet/alteon/Kconfig ACENIC +clean_mk CONFIG_ACENIC drivers/net/ethernet/alteon/Makefile + +announce ADAPTEC_STARFIRE - "Adaptec Starfire/DuraLAN support" +reject_firmware drivers/net/ethernet/adaptec/starfire.c +clean_blob drivers/net/ethernet/adaptec/starfire.c +clean_kconfig drivers/net/ethernet/adaptec/Kconfig ADAPTEC_STARFIRE +clean_mk CONFIG_ADAPTEC_STARFIRE drivers/net/ethernet/adaptec/Makefile + +announce BNA - "Brocade 1010/1020 10Gb Ethernet Driver support" +clean_blob drivers/net/ethernet/brocade/bna/bnad.c +clean_blob drivers/net/ethernet/brocade/bna/cna.h +reject_firmware drivers/net/ethernet/brocade/bna/bnad_ethtool.c +reject_firmware drivers/net/ethernet/brocade/bna/cna_fwimg.c +clean_kconfig drivers/net/ethernet/brocade/bna/Kconfig BNA +clean_mk CONFIG_BNA drivers/net/ethernet/brocade/bna/Makefile + +announce BNX2 - "Broadcom NetXtremeII" +reject_firmware drivers/net/ethernet/broadcom/bnx2.c +clean_blob drivers/net/ethernet/broadcom/bnx2.c +clean_kconfig drivers/net/ethernet/broadcom/Kconfig BNX2 +clean_mk CONFIG_BNX2 drivers/net/ethernet/broadcom/Makefile + +announce BNX2X - "Broadcom NetXtremeII 10Gb support" +reject_firmware drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +clean_sed ' +/^#include "bnx2x_init\.h"/,/^$/{ + /^$/i\ +#define bnx2x_init_block(bp, start, end) \\\ + return (printk(KERN_ERR "%s: Missing Free firmware\\n", bp->dev->name),\\\ + -EINVAL) +}' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c 'report missing Free firmware' +clean_blob drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +if grep -q loaded_fw_major drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c; then + clean_blob drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +else + clean_sed ' +/^int bnx2x_compare_fw_ver/,/^}$/{ + /^ u32 my_fw = /i\ + /*(DEBLOBBED)*/ + /^ u32 my_fw = /,/<< 24);/d; + /^ u32 loaded_fw = /,/^$/{ + /^$/i\ +\ + u32 my_fw = ~loaded_fw; + } +}' drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c 'fail already-loaded test' +fi +clean_blob drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h +clean_sed ' +/static void bnx2x_init_wr_wb/{ + i\ +extern void bnx2x_init_wr_wb(struct bnx2x *, u32, const u32 *, u32); +}' drivers/net/ethernet/broadcom/bnx2x/bnx2x_init_ops.h 'declare removed function' +clean_blob drivers/net/ethernet/broadcom/bnx2x/bnx2x_init_ops.h +clean_kconfig drivers/net/ethernet/broadcom/Kconfig BNX2X +clean_mk CONFIG_BNX2X drivers/net/ethernet/broadcom/bnx2x/Makefile + +announce CASSINI - "Sun Cassini" +reject_firmware drivers/net/ethernet/sun/cassini.c +clean_blob drivers/net/ethernet/sun/cassini.c +clean_kconfig drivers/net/ethernet/sun/Kconfig CASSINI +clean_mk CONFIG_CASSINI drivers/net/ethernet/sun/Makefile + +announce CHELSIO_T3 - "Chelsio AEL 2005 support" +reject_firmware drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c +clean_blob drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c +clean_kconfig drivers/net/ethernet/chelsio/Kconfig CHELSIO_T3 +clean_mk CONFIG_CHELSIO_T3 drivers/net/ethernet/chelsio/cxgb3/Makefile + +announce CHELSIO_T4 - "Chelsio Communications T4 Ethernet support" +reject_firmware drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c +clean_blob drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c +clean_kconfig drivers/net/ethernet/chelsio/Kconfig CHELSIO_T4 +clean_mk CONFIG_CHELSIO_T4 drivers/net/ethernet/chelsio/cxgb4/Makefile + +announce E100 - "Intel PRO/100+" +reject_firmware drivers/net/ethernet/intel/e100.c +clean_sed ' +/^static const struct firmware \*e100_\(reject\|request\)_firmware(/,/^}$/{ + s:^\(.*\)return ERR_PTR(err);$:\1netif_err(nic, probe, nic->netdev, "Proceeding without firmware\\n");\n\1return NULL;: +}' drivers/net/ethernet/intel/e100.c 'proceed without firmware' +clean_blob drivers/net/ethernet/intel/e100.c +clean_kconfig drivers/net/ethernet/intel/Kconfig E100 +clean_mk CONFIG_E100 drivers/net/ethernet/intel/Makefile + +announce ICE - "Intel(R) Ethernet Connection E800 Series Support" +reject_firmware_nowarn drivers/net/ethernet/intel/ice/ice_main.c +reject_firmware drivers/net/ethernet/intel/ice/ice_main.c +clean_blob drivers/net/ethernet/intel/ice/ice_main.c +clean_blob Documentation/networking/device_drivers/ethernet/intel/ice.rst +clean_kconfig drivers/net/ethernet/intel/Kconfig ICE +clean_mk CONFIG_ICE drivers/net/ethernet/intel/Makefile + +announce LIQUIDIO - "Cavium LiquidIO support" +reject_firmware drivers/net/ethernet/cavium/liquidio/lio_main.c +clean_blob drivers/net/ethernet/cavium/liquidio/lio_main.c +clean_kconfig drivers/net/ethernet/cavium/Kconfig LIQUIDIO +clean_mk CONFIG_LIQUIDIO drivers/net/ethernet/cavium/liquidio/Makefile + +announce MLXSW_SPECTRUM - "Mellanox Technologies Spectrum support" +reject_firmware drivers/net/ethernet/mellanox/mlxsw/core.c +clean_blob drivers/net/ethernet/mellanox/mlxsw/spectrum.c +clean_kconfig drivers/net/ethernet/mellanox/mlxsw/Kconfig MLXSW_SPECTRUM +clean_mk CONFIG_MLXSW_SPECTRUM drivers/net/ethernet/mellanox/mlxsw/Makefile + +announce MYRI10GE - "Myricom Myri-10G Ethernet support" +reject_firmware drivers/net/ethernet/myricom/myri10ge/myri10ge.c +clean_blob drivers/net/ethernet/myricom/myri10ge/myri10ge.c +clean_kconfig drivers/net/ethernet/myricom/Kconfig MYRI10GE +clean_mk CONFIG_MYRI10GE drivers/net/ethernet/myricom/myri10ge/Makefile + +announce NFP - "Netronome(R) NFP4000/NFP6000 NIC driver" +reject_firmware drivers/net/ethernet/netronome/nfp/nfp_main.c +clean_blob drivers/net/ethernet/netronome/nfp/nfp_main.c +clean_blob Documentation/networking/device_drivers/ethernet/netronome/nfp.rst +clean_kconfig drivers/net/ethernet/netronome/Kconfig NFP +clean_mk CONFIG_NFP drivers/net/ethernet/netronome/nfp/Makefile + +announce NETXEN_NIC - "NetXen Multi port (1/10) Gigabit Ethernet NIC" +reject_firmware drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c +clean_blob drivers/net/ethernet/qlogic/netxen/netxen_nic.h +clean_blob drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c +clean_kconfig drivers/net/ethernet/qlogic/Kconfig NETXEN_NIC +clean_mk CONFIG_NETXEN_NIC drivers/net/ethernet/qlogic/Makefile + +announce QED - "QLogic QED 25/40/100Gb core driver" +reject_firmware drivers/net/ethernet/qlogic/qed/qed_main.c +clean_blob drivers/net/ethernet/qlogic/qed/qed_main.c +clean_kconfig drivers/net/ethernet/qlogic/Kconfig QED +clean_mk CONFIG_QED drivers/net/ethernet/qlogic/qed/Makefile + +announce QLCNIC - "QLOGIC QLCNIC 1/10Gb Converged Ethernet NIC Support" +reject_firmware drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c +reject_firmware drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c +clean_blob drivers/net/ethernet/qlogic/qlcnic/qlcnic.h +clean_blob drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h +clean_blob drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +clean_kconfig drivers/net/ethernet/qlogic/Kconfig QLCNIC +clean_mk CONFIG_QLCNIC drivers/net/ethernet/qlogic/qlcnic/Makefile + +announce R8169 - "Realtek 8169 gigabit ethernet support" +reject_firmware drivers/net/ethernet/realtek/r8169_firmware.c +clean_blob drivers/net/ethernet/realtek/r8169_main.c +clean_kconfig drivers/net/ethernet/realtek/Kconfig R8169 +clean_mk CONFIG_R8169 drivers/net/ethernet/realtek/Makefile + +announce SLICOSS - "Alacritech Gigabit IS-NIC cards" +reject_firmware drivers/net/ethernet/alacritech/slicoss.c +clean_blob drivers/net/ethernet/alacritech/slic.h +clean_blob drivers/net/ethernet/alacritech/slicoss.c +clean_kconfig drivers/net/ethernet/alacritech/Kconfig SLICOSS +clean_mk CONFIG_SLICOSS drivers/net/ethernet/alacritech/Makefile + +announce SPIDER_NET - "Spider Gigabit Ethernet driver" +reject_firmware drivers/net/ethernet/toshiba/spider_net.c +clean_sed 's,spider_fw\.bin,DEBLOBBED.bin,g' \ + drivers/net/ethernet/toshiba/spider_net.c 'removed non-Free firmware notes' +clean_blob drivers/net/ethernet/toshiba/spider_net.c +clean_blob drivers/net/ethernet/toshiba/spider_net.h +clean_kconfig drivers/net/ethernet/toshiba/Kconfig SPIDER_NET +clean_mk CONFIG_SPIDER_NET drivers/net/ethernet/toshiba/Makefile + +announce TEHUTI - "Tehuti Networks 10G Ethernet" +reject_firmware drivers/net/ethernet/tehuti/tehuti.c +clean_blob drivers/net/ethernet/tehuti/tehuti.c +clean_kconfig drivers/net/ethernet/tehuti/Kconfig TEHUTI +clean_mk CONFIG_TEHUTI drivers/net/ethernet/tehuti/Makefile + +announce TIGON3 - "Broadcom Tigon3" +reject_firmware drivers/net/ethernet/broadcom/tg3.c +clean_blob drivers/net/ethernet/broadcom/tg3.c +clean_kconfig drivers/net/ethernet/broadcom/Kconfig TIGON3 +clean_mk CONFIG_TIGON3 drivers/net/ethernet/broadcom/Makefile + +announce TYPHOON - "3cr990 series Typhoon" +reject_firmware drivers/net/ethernet/3com/typhoon.c +clean_blob drivers/net/ethernet/3com/typhoon.c +clean_kconfig drivers/net/ethernet/3com/Kconfig TYPHOON +clean_mk CONFIG_TYPHOON drivers/net/ethernet/3com/Makefile + +announce VXGE - "Exar X3100 Series 10GbE PCIe Server Adapter" +reject_firmware drivers/net/ethernet/neterion/vxge/vxge-main.c +clean_blob drivers/net/ethernet/neterion/vxge/vxge-main.c +clean_kconfig drivers/net/ethernet/neterion/Kconfig VXGE +clean_mk CONFIG_VXGE drivers/net/ethernet/neterion/vxge/Makefile + +# appletalk + +announce COPS - "COPS LocalTalk PC" +clean_sed ' +/sizeof(\(ff\|lt\)drv_code)/{ + i\ + printk(KERN_INFO "%s: Missing Free firmware.\\n", dev->name);\ + return; +} +/\(ff\|lt\)drv_code/d; +' drivers/net/appletalk/cops.c 'report missing Free firmware' +clean_blob drivers/net/appletalk/cops.c +clean_file drivers/net/appletalk/cops_ffdrv.h +clean_file drivers/net/appletalk/cops_ltdrv.h +clean_kconfig drivers/net/appletalk/Kconfig COPS +clean_mk CONFIG_COPS drivers/net/appletalk/Makefile + +# hamradio + +announce YAM - "YAM driver for AX.25" +reject_firmware drivers/net/hamradio/yam.c +clean_blob drivers/net/hamradio/yam.c +clean_kconfig drivers/net/hamradio/Kconfig YAM +clean_mk CONFIG_YAM drivers/net/hamradio/Makefile + +# smsc + +announce PCMCIA_SMC91C92 - "SMC 91Cxx PCMCIA" +reject_firmware drivers/net/ethernet/smsc/smc91c92_cs.c +clean_blob drivers/net/ethernet/smsc/smc91c92_cs.c +clean_kconfig drivers/net/ethernet/smsc/Kconfig PCMCIA_SMC91C92 +clean_mk CONFIG_PCMCIA_SMC91C92 drivers/net/ethernet/smsc/Makefile + +# near-field communication + +announce NFC_FDP - "Intel FDP NFC driver" +reject_firmware drivers/nfc/fdp/fdp.c +clean_blob drivers/nfc/fdp/fdp.c +clean_kconfig drivers/nfc/fdp/Kconfig NFC_FDP +clean_mk CONFIG_NFC_FDP drivers/nfc/fdp/Makefile + +announce NFC_MRVL - "Marvell NFC core driver" +reject_firmware drivers/nfc/nfcmrvl/fw_dnld.c +clean_kconfig drivers/nfc/nfcmrvl/Kconfig NFC_MRVL +clean_mk CONFIG_NFC_MRVL drivers/nfc/nfcmrvl/Makefile + +announce NFC_NXP_NCI - "NXP-NCI NFC driver" +reject_firmware drivers/nfc/nxp-nci/firmware.c +clean_kconfig drivers/nfc/nxp-nci/Kconfig NFC_NXP_NCI +clean_mk CONFIG_NFC_NXP_NCI drivers/nfc/nxp-nci/Makefile + +announce NFC_PN544_I2C - "NFC PN544 i2c support" +reject_firmware drivers/nfc/pn544/i2c.c +clean_kconfig drivers/nfc/pn544/Kconfig NFC_PN544_I2C +clean_mk CONFIG_NFC_PN544_I2C drivers/nfc/pn544/Makefile + +announce NFC_S3FWRN5 - "Core driver for Samsung S3FWRN5 NFC chip" +clean_blob drivers/nfc/s3fwrn5/core.c +reject_firmware drivers/nfc/s3fwrn5/firmware.c +reject_firmware drivers/nfc/s3fwrn5/nci.c +clean_kconfig drivers/nfc/s3fwrn5/Kconfig NFC_S3FWRN5 +clean_mk CONFIG_NFC_S3FWRN5 drivers/nfc/s3fwrn5/Makefile + +# pcmcia + +# CIS files are not software. +# announce PCCARD - "PCCard (PCMCIA/CardBus) support" +# reject_firmware drivers/pcmcia/ds.c +# clean_kconfig drivers/pcmcia/Kconfig 'PCCARD' +# clean_mk CONFIG_PCCARD drivers/pcmcia/Makefile + +# announce PCMCIA_3C574 - "3Com 3c574 PCMCIA support" +# clean_blob drivers/net/pcmcia/3c574_cs.c +# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C574' +# clean_mk CONFIG_PCMCIA_3C574 drivers/net/pcmcia/Makefile + +# announce PCMCIA_3C589 - "3Com 3c589 PCMCIA support" +# clean_blob drivers/net/pcmcia/3c589_cs.c +# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C589' +# clean_mk CONFIG_PCMCIA_3C589 drivers/net/pcmcia/Makefile + +# announce PCMCIA_PCNET - "NE2000 compatible PCMCIA support" +# clean_blob drivers/net/pcmcia/pcnet_cs.c +# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_PCNET' +# clean_mk CONFIG_PCMCIA_PCNET drivers/net/pcmcia/Makefile + +# usb + +announce USB_KAWETH - "USB KLSI KL5USB101-based ethernet device support" +reject_firmware drivers/net/usb/kaweth.c +clean_blob drivers/net/usb/kaweth.c +clean_kconfig drivers/net/usb/Kconfig USB_KAWETH +clean_mk CONFIG_USB_KAWETH drivers/net/usb/Makefile + +announce USB_RTL8152 - "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters" +reject_firmware drivers/net/usb/r8152.c +clean_blob drivers/net/usb/r8152.c +clean_kconfig drivers/net/usb/Kconfig USB_RTL8152 +clean_mk CONFIG_USB_RTL8152 drivers/net/usb/Makefile + +# wireless + +announce ATMEL "Atmel at76c50x chipset 802.11b support" +reject_firmware drivers/net/wireless/atmel/atmel.c +clean_blob drivers/net/wireless/atmel/atmel.c +clean_kconfig drivers/net/wireless/atmel/Kconfig ATMEL +clean_mk CONFIG_ATMEL drivers/net/wireless/atmel/Makefile + +announce AT76C50X_USB - "Atmel at76c503/at76c505/at76c505a USB cards" +reject_firmware drivers/net/wireless/atmel/at76c50x-usb.c +clean_blob drivers/net/wireless/atmel/at76c50x-usb.c +clean_kconfig drivers/net/wireless/atmel/Kconfig AT76C50X_USB +clean_mk CONFIG_AT76C50X_USB drivers/net/wireless/atmel/Makefile + +announce B43 - "Broadcom 43xx wireless support (mac80211 stack)" +maybe_reject_firmware drivers/net/wireless/broadcom/b43/main.c +clean_sed ' +/^static int b43_upload_microcode(/,/^}$/{ + / if (dev->fw\.opensource) {$/i\ + if (!dev->fw.opensource) {\ + b43err(dev->wl, "Rejected non-Free firmware\\n");\ + err = -EOPNOTSUPP;\ + goto error;\ + } +}' drivers/net/wireless/broadcom/b43/main.c 'double-check and reject non-Free firmware' +clean_sed ' +/^[\t]*filename = "\(ucode\|b0g0\(bs\)\?initvals\)5";$/! { + s,^\([\t]*filename = "\)\(ucode\|pcm\|[^ "]*initvals\)[0-9][^ ."]*";,\1/*(DEBLOBBED)*/";,g +}' drivers/net/wireless/broadcom/b43/main.c 'cleaned up blob basenames' +clean_blob drivers/net/wireless/broadcom/b43/main.c +clean_kconfig drivers/net/wireless/broadcom/b43/Kconfig B43 +clean_mk CONFIG_B43 drivers/net/wireless/broadcom/b43/Makefile + +announce B43LEGACY - "Broadcom 43xx-legacy wireless support (mac80211 stack)" +reject_firmware drivers/net/wireless/broadcom/b43legacy/main.c +clean_sed ' +{ + s,^\([\t]*filename = "\)\(ucode\|pcm\|[^ "]*initvals\)[0-9][^ ."]*";,\1/*(DEBLOBBED)*/";,g +}' drivers/net/wireless/broadcom/b43legacy/main.c 'cleaned up blob basenames' +clean_blob drivers/net/wireless/broadcom/b43legacy/main.c +clean_kconfig drivers/net/wireless/broadcom/b43legacy/Kconfig B43LEGACY +clean_mk CONFIG_B43LEGACY drivers/net/wireless/broadcom/b43legacy/Makefile + +announce BRCMSMAC - "Broadcom IEEE802.11n PCIe SoftMAC WLAN driver" +reject_firmware drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c +clean_blob drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c +clean_kconfig drivers/net/wireless/broadcom/brcm80211/Kconfig BRCMSMAC +clean_mk CONFIG_BRCMSMAC drivers/net/wireless/broadcom/brcm80211/Makefile + +announce BRCMFMAC - "Broadcom IEEE802.11n embedded FullMAC WLAN driver" +reject_firmware drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +if grep -q firmware_request_nowarn drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c; then + reject_firmware_nowarn drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +else + reject_firmware drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +fi +clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c +clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h +clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC +clean_mk CONFIG_BRCMFMAC drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile + +announce BRCMFMAC_SDIO - "Broadcom IEEE802.11n SDIO FullMAC WLAN driver" +clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC_SDIO +clean_mk CONFIG_BRCMFMAC_SDIO drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile + +announce BRCMFMAC_USB - "Broadcom IEEE802.11n USB FullMAC WLAN driver" +clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c +clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC_USB +clean_mk CONFIG_BRCMFMAC_USB drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile + +announce BRCMFMAC_PCIE - "Broadcom IEEE802.11n PCIE FullMAC WLAN driver" +clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC_PCIE +clean_mk CONFIG_BRCMFMAC_PCIE drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile + +announce HERMES - "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)" +reject_firmware drivers/net/wireless/intersil/orinoco/fw.c +clean_blob drivers/net/wireless/intersil/orinoco/fw.c +clean_kconfig drivers/net/wireless/intersil/orinoco/Kconfig HERMES +clean_mk CONFIG_HERMES drivers/net/wireless/intersil/orinoco/Makefile + +announce ORINOCO_USB - "Agere Orinoco USB support" +reject_firmware drivers/net/wireless/intersil/orinoco/orinoco_usb.c +clean_blob drivers/net/wireless/intersil/orinoco/orinoco_usb.c +clean_kconfig drivers/net/wireless/intersil/orinoco/Kconfig ORINOCO_USB +clean_mk CONFIG_ORINOCO_USB drivers/net/wireless/intersil/orinoco/Makefile + +announce IPW2100 - "Intel PRO/Wireless 2100 Network Connection" +reject_firmware drivers/net/wireless/intel/ipw2x00/ipw2100.c +clean_blob drivers/net/wireless/intel/ipw2x00/ipw2100.c +clean_kconfig drivers/net/wireless/intel/ipw2x00/Kconfig IPW2100 +clean_mk CONFIG_IPW2100 drivers/net/wireless/intel/ipw2x00/Makefile + +announce IPW2200 - "Intel PRO/Wireless 2200BG and 2915ABG Network Connection" +reject_firmware drivers/net/wireless/intel/ipw2x00/ipw2200.c +clean_blob drivers/net/wireless/intel/ipw2x00/ipw2200.c +clean_kconfig drivers/net/wireless/intel/ipw2x00/Kconfig IPW2200 +clean_mk CONFIG_IPW2200 drivers/net/wireless/intel/ipw2x00/Makefile + +announce IWL3945 - "Intel PRO/Wireless 3945ABG/BG Network Connection" +reject_firmware drivers/net/wireless/intel/iwlegacy/3945-mac.c +clean_blob drivers/net/wireless/intel/iwlegacy/3945-mac.c +clean_blob drivers/net/wireless/intel/iwlegacy/3945.h +clean_kconfig drivers/net/wireless/intel/iwlegacy/Kconfig IWL3945 +clean_mk CONFIG_IWL3945 drivers/net/wireless/intel/iwlegacy/Makefile + +announce IWL4965 - "Intel Wireless WiFi 4965AGN" +reject_firmware drivers/net/wireless/intel/iwlegacy/4965-mac.c +clean_blob drivers/net/wireless/intel/iwlegacy/4965-mac.c +clean_blob drivers/net/wireless/intel/iwlegacy/4965.c +clean_kconfig drivers/net/wireless/intel/iwlegacy/Kconfig IWL4965 +clean_mk CONFIG_IWL4965 drivers/net/wireless/intel/iwlegacy/Makefile + +announce IWLWIFI - "Intel Wireless WiFi Next Gen AGN" +reject_firmware drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +reject_firmware drivers/net/wireless/intel/iwlwifi/iwl-drv.c +reject_firmware_nowarn drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +reject_firmware_nowarn drivers/net/wireless/intel/iwlwifi/fw/pnvm.c +clean_blob drivers/net/wireless/intel/iwlwifi/iwl-drv.c +clean_blob drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +clean_kconfig drivers/net/wireless/intel/iwlwifi/Kconfig IWLWIFI +clean_mk CONFIG_IWLWIFI drivers/net/wireless/intel/iwlwifi/Makefile + +announce IWLDVM - "Intel Wireless WiFi DVM Firmware support" +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/1000.c +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/2000.c +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/5000.c +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/6000.c +clean_kconfig drivers/net/wireless/intel/iwlwifi/Kconfig IWLDVM +clean_mk CONFIG_IWLMVM drivers/net/wireless/intel/iwlwifi/Makefile + +announce IWLMVM - "Intel Wireless WiFi MVM Firmware support" +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/7000.c +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/8000.c +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/9000.c +clean_blob drivers/net/wireless/intel/iwlwifi/cfg/22000.c +clean_kconfig drivers/net/wireless/intel/iwlwifi/Kconfig IWLMVM +clean_mk CONFIG_IWLMVM drivers/net/wireless/intel/iwlwifi/Makefile + +announce KS7010 - "KeyStream KS7010 SDIO support" +reject_firmware drivers/staging/ks7010/ks7010_sdio.c +clean_blob drivers/staging/ks7010/ks7010_sdio.c +clean_kconfig drivers/staging/ks7010/Kconfig KS7010 +clean_mk CONFIG_KS7010 drivers/staging/ks7010/Makefile + +announce LIBERTAS - "Marvell 8xxx Libertas WLAN driver support" +reject_firmware drivers/net/wireless/marvell/libertas/firmware.c +clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS +clean_mk CONFIG_LIBERTAS drivers/net/wireless/marvell/libertas/Makefile + +announce LIBERTAS_CS - "Marvell Libertas 8385 CompactFlash 802.11b/g cards" +clean_blob drivers/net/wireless/marvell/libertas/if_cs.c +clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS_CS +clean_mk CONFIG_LIBERTAS_CS drivers/net/wireless/marvell/libertas/Makefile + +announce LIBERTAS_SDIO - "Marvell Libertas 8385 and 8686 SDIO 802.11b/g cards" +clean_blob drivers/net/wireless/marvell/libertas/if_sdio.c +clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS_SDIO +clean_mk CONFIG_LIBERTAS_SDIO drivers/net/wireless/marvell/libertas/Makefile + +announce LIBERTAS_SPI - "Marvell Libertas 8686 SPI 802.11b/g cards" +clean_blob drivers/net/wireless/marvell/libertas/if_spi.c +clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS_SPI +clean_mk CONFIG_LIBERTAS_SPI drivers/net/wireless/marvell/libertas/Makefile + +announce LIBERTAS_USB - "Marvell Libertas 8388 USB 802.11b/g cards" +clean_blob drivers/net/wireless/marvell/libertas/if_usb.c +clean_blob drivers/net/wireless/marvell/libertas/README +clean_kconfig drivers/net/wireless/marvell/libertas/Kconfig LIBERTAS_USB +clean_mk CONFIG_LIBERTAS_USB drivers/net/wireless/marvell/libertas/Makefile + +announce LIBERTAS_THINFIRM_USB - "Marvell Libertas 8388 USB 802.11b/g cards with thin firmware" +reject_firmware drivers/net/wireless/marvell/libertas_tf/if_usb.c +clean_blob drivers/net/wireless/marvell/libertas_tf/if_usb.c +clean_kconfig drivers/net/wireless/marvell/libertas_tf/Kconfig LIBERTAS_THINFIRM_USB +clean_mk CONFIG_LIBERTAS_THINFIRM_USB drivers/net/wireless/marvell/libertas_tf/Makefile + +announce MT7601U - "MediaTek MT7601U (USB) support" +reject_firmware drivers/net/wireless/mediatek/mt7601u/mcu.c +clean_blob drivers/net/wireless/mediatek/mt7601u/usb.c +clean_blob drivers/net/wireless/mediatek/mt7601u/usb.h +clean_kconfig drivers/net/wireless/mediatek/mt7601u/Kconfig MT7601U +clean_mk CONFIG_MT7601U drivers/net/wireless/mediatek/mt7601u/Makefile + +announce MT76x0_COMMON - "MediaTek MT76x0E/U support" +clean_blob drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0.h +clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x0/Kconfig MT76x0_COMMON +clean_mk CONFIG_MT76x0_COMMON drivers/net/wireless/mediatek/mt76/mt76x0/Makefile + +announce MT76x0E - "MediaTek MT76x0E (PCIe) support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt76x0/pci.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x0/Kconfig MT76x0E +clean_mk CONFIG_MT76x0E drivers/net/wireless/mediatek/mt76/mt76x0/Makefile + +announce MT76x0U - "MediaTek MT76x0U (USB) support" +reject_firmware_nowarn drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c +reject_firmware drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt76x0/usb.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x0/Kconfig MT76x0U +clean_mk CONFIG_MT76x0U drivers/net/wireless/mediatek/mt76/mt76x0/Makefile + +announce MT76x2E - "MediaTek MT76x2E (PCIe) support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2.h +clean_blob drivers/net/wireless/mediatek/mt76/mt76x2/pci.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x2/Kconfig MT76x2E +clean_mk CONFIG_MT76x2E drivers/net/wireless/mediatek/mt76/mt76x2/Makefile + +announce MT76x2U - "MediaTek MT76x2U (USB) support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt76x2/usb.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x2/Kconfig MT76x2U +clean_mk CONFIG_MT76x2U drivers/net/wireless/mediatek/mt76/mt76x2/Makefile + +announce MT7603E - "MediaTek MT7603E (PCIe) and MT76x8 WLAN support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt7603/mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7603/mt7603.h +clean_blob drivers/net/wireless/mediatek/mt76/mt7603/pci.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7603/soc.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7603/Kconfig MT7603E +clean_mk CONFIG_MT7603E drivers/net/wireless/mediatek/mt76/mt7603/Makefile + +announce MT7615E - "MediaTek MT7615E (PCIe) support" +reject_firmware_nowarn drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +reject_firmware drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h +clean_blob drivers/net/wireless/mediatek/mt76/mt7615/pci.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7615/sdio.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7615/Kconfig MT7615E +clean_mk CONFIG_MT7615E drivers/net/wireless/mediatek/mt76/mt7615/Makefile + +announce MT7622_WMAC - "MT7622 (SoC) WMAC support" +clean_blob drivers/net/wireless/mediatek/mt76/mt7615/soc.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7615/Kconfig MT7622_WMAC +clean_mk CONFIG_MT7622_WMAC drivers/net/wireless/mediatek/mt76/mt7615/Makefile + +announce MT7663U - "MediaTek MT7663U (USB) support" +clean_blob drivers/net/wireless/mediatek/mt76/mt7615/usb.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7615/Kconfig MT7663U +clean_mk CONFIG_MT7663U drivers/net/wireless/mediatek/mt76/mt7615/Makefile + +announce MT7915E - "MediaTek MT7915E (PCIe) support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h +clean_blob drivers/net/wireless/mediatek/mt76/mt7915/pci.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7915/Kconfig MT7915E +clean_mk CONFIG_MT7915E drivers/net/wireless/mediatek/mt76/mt7915/Makefile + +announce MT7921E - "MediaTek MT7921E (PCIe) support" +reject_firmware drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +clean_blob drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h +clean_blob drivers/net/wireless/mediatek/mt76/mt7921/pci.c +clean_kconfig drivers/net/wireless/mediatek/mt76/mt7921/Kconfig MT7921E +clean_mk CONFIG_MT7921E drivers/net/wireless/mediatek/mt76/mt7921/Makefile + +announce MWIFIEX - "Marvell WiFi-Ex Driver" +clean_blob drivers/net/wireless/marvell/mwifiex/README +reject_firmware drivers/net/wireless/marvell/mwifiex/main.c +clean_blob drivers/net/wireless/marvell/mwifiex/main.c +clean_kconfig drivers/net/wireless/marvell/mwifiex/Kconfig MWIFIEX +clean_mk CONFIG_MWIFIEX drivers/net/wireless/marvell/mwifiex/Makefile + +announce MWIFIEX_SDIO - "Marvell WiFi-Ex Driver for SD8787" +clean_blob drivers/net/wireless/marvell/mwifiex/sdio.h +clean_blob drivers/net/wireless/marvell/mwifiex/sdio.c +clean_kconfig drivers/net/wireless/marvell/mwifiex/Kconfig MWIFIEX_SDIO +clean_mk CONFIG_MWIFIEX_SDIO drivers/net/wireless/marvell/mwifiex/Makefile + +announce MWIFIEX_PCIE - "Marvell WiFi-Ex Driver for PCI 8766" +clean_blob drivers/net/wireless/marvell/mwifiex/pcie.h +clean_kconfig drivers/net/wireless/marvell/mwifiex/Kconfig MWIFIEX_PCIE +clean_mk CONFIG_MWIFIEX_PCIE drivers/net/wireless/marvell/mwifiex/Makefile + +announce MWIFIEX_USB - "Marvell WiFi-Ex Driver for USB8797" +clean_blob drivers/net/wireless/marvell/mwifiex/usb.h +clean_blob drivers/net/wireless/marvell/mwifiex/usb.c +clean_kconfig drivers/net/wireless/marvell/mwifiex/Kconfig MWIFIEX_USB +clean_mk CONFIG_MWIFIEX_USB drivers/net/wireless/marvell/mwifiex/Makefile + +announce MWL8K - "Marvell 88W8xxx PCI/PCIe Wireless support" +reject_firmware drivers/net/wireless/marvell/mwl8k.c +clean_blob drivers/net/wireless/marvell/mwl8k.c +clean_kconfig drivers/net/wireless/marvell/Kconfig MWL8K +clean_mk CONFIG_MWL8K drivers/net/wireless/marvell/Makefile + +announce PRESTERA_PCI - "PCI interface driver for Marvell Prestera Switch ASICs family" +reject_firmware drivers/net/ethernet/marvell/prestera/prestera_pci.c +clean_blob drivers/net/ethernet/marvell/prestera/prestera_pci.c +clean_kconfig drivers/net/ethernet/marvell/prestera/Kconfig PRESTERA_PCI +clean_mk CONFIG_PRESTERA_PCI drivers/net/ethernet/marvell/prestera/Makefile + +announce AR5523 - "Atheros AR5523 wireless driver support" +reject_firmware drivers/net/wireless/ath/ar5523/ar5523.c +clean_blob drivers/net/wireless/ath/ar5523/ar5523.c +clean_blob drivers/net/wireless/ath/ar5523/ar5523.h +clean_kconfig drivers/net/wireless/ath/ar5523/Kconfig AR5523 +clean_mk CONFIG_AR5523 drivers/net/wireless/ath/ar5523/Makefile + +announce ATH6KL - "Atheros ath6kl support" +reject_firmware drivers/net/wireless/ath/ath6kl/init.c +clean_blob drivers/net/wireless/ath/ath6kl/init.c +clean_blob drivers/net/wireless/ath/ath6kl/core.h +clean_kconfig drivers/net/wireless/ath/ath6kl/Kconfig ATH6KL +clean_mk CONFIG_ATH6KL drivers/net/wireless/ath/ath6kl/Makefile + +announce ATH6KL_SDIO - "Atheros ath6kl SDIO support" +clean_blob drivers/net/wireless/ath/ath6kl/sdio.c +clean_kconfig drivers/net/wireless/ath/ath6kl/Kconfig ATH6KL_SDIO +clean_mk CONFIG_ATH6KL_SDIO drivers/net/wireless/ath/ath6kl/Makefile + +announce ATH6KL_USB - "Atheros ath6kl USB support" +clean_blob drivers/net/wireless/ath/ath6kl/usb.c +clean_kconfig drivers/net/wireless/ath/ath6kl/Kconfig ATH6KL_USB +clean_mk CONFIG_ATH6KL_USB drivers/net/wireless/ath/ath6kl/Makefile + +announce ATH10K - "Atheros 802.11ac wireless cards support" +reject_firmware_nowarn drivers/net/wireless/ath/ath10k/core.c +clean_blob drivers/net/wireless/ath/ath10k/core.c +clean_blob drivers/net/wireless/ath/ath10k/hw.h +clean_blob Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt +clean_kconfig drivers/net/wireless/ath/ath10k/Kconfig ATH10K +clean_mk CONFIG_ATH10K drivers/net/wireless/ath/ath10k/Makefile + +announce ATH10K NL80211_TESTMODE - "nl80211 testmode command" +reject_firmware_nowarn drivers/net/wireless/ath/ath10k/testmode.c +clean_sed ' +s,^\([\t ]*\/\* We didn.t find FW UTF API 1 \)("utf\.bin"),\1*//*(DEBLOBBED)*//*, +' drivers/net/wireless/ath/ath10k/testmode.c 'removed blob name in comment' +clean_blob drivers/net/wireless/ath/ath10k/testmode.c +clean_kconfig net/wireless/Kconfig NL80211_TESTMODE +clean_mk CONFIG_NL80211_TESTMODE drivers/net/wireless/ath/ath10k/Makefile + +announce ATH10K_PCI - "Atheros ath10k PCI support" +clean_blob drivers/net/wireless/ath/ath10k/pci.c +clean_kconfig drivers/net/wireless/ath/ath10k/Kconfig ATH10K_PCI +clean_mk CONFIG_ATH10K_PCI drivers/net/wireless/ath/ath10k/Makefile + +announce ATH11K - "Qualcomm Technologies 802.11ax chipset support" +reject_firmware_nowarn drivers/net/wireless/ath/ath11k/core.c +clean_blob drivers/net/wireless/ath/ath11k/hw.h +clean_blob drivers/net/wireless/ath/ath11k/core.c +clean_blob Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml +clean_kconfig drivers/net/wireless/ath/ath11k/Kconfig ATH11K +clean_mk CONFIG_ATH11K drivers/net/wireless/ath/ath11k/Makefile + +announce ATH11K_PCI - "Atheros ath11k PCI support" +clean_blob drivers/net/wireless/ath/ath11k/pci.c +clean_kconfig drivers/net/wireless/ath/ath11k/Kconfig ATH11K_PCI +clean_mk CONFIG_ATH11K_PCI drivers/net/wireless/ath/ath11k/Makefile + +announce WIL6210 - "Wilocity 60g WiFi card wil6210 support" +reject_firmware drivers/net/wireless/ath/wil6210/fw_inc.c +clean_blob drivers/net/wireless/ath/wil6210/fw.c +clean_blob drivers/net/wireless/ath/wil6210/wil6210.h +clean_kconfig drivers/net/wireless/ath/wil6210/Kconfig WIL6210 +clean_mk CONFIG_WIL6210 drivers/net/wireless/ath/wil6210/Makefile + +announce CW1200 - "CW1200 WLAN support" +reject_firmware drivers/net/wireless/st/cw1200/fwio.c +clean_blob drivers/net/wireless/st/cw1200/fwio.h +reject_firmware drivers/net/wireless/st/cw1200/sta.c +clean_kconfig drivers/net/wireless/st/cw1200/Kconfig CW1200 +clean_mk CONFIG_CW1200 drivers/net/wireless/st/cw1200/Makefile + +announce CW1200_WLAN_SDIO - "Support SDIO platforms" +clean_blob drivers/net/wireless/st/cw1200/cw1200_sdio.c +clean_kconfig drivers/net/wireless/st/cw1200/Kconfig CW1200_WLAN_SDIO +clean_mk CONFIG_CW1200_WLAN_SDIO drivers/net/wireless/st/cw1200/Makefile + +announce PRISM2_USB - "Prism2.5/3 USB driver" +reject_firmware drivers/staging/wlan-ng/prism2fw.c +clean_blob drivers/staging/wlan-ng/prism2fw.c +clean_kconfig drivers/staging/wlan-ng/Kconfig PRISM2_USB +clean_mk CONFIG_PRISM2_USB drivers/staging/wlan-ng/Makefile + +announce P54_PCI - "Prism54 PCI support" +reject_firmware drivers/net/wireless/intersil/p54/p54pci.c +clean_blob drivers/net/wireless/intersil/p54/p54pci.c +clean_sed 's,3826\.eeprom,DEBLOBBED,g' drivers/net/wireless/intersil/p54/Kconfig \ + 'removed blob name' +clean_kconfig drivers/net/wireless/intersil/p54/Kconfig P54_PCI +clean_mk CONFIG_P54_PCI drivers/net/wireless/intersil/p54/Makefile + +announce P54_SPI - "Prism54 SPI (stlc45xx) support" +# There's support for loading custom 3826.eeprom here, with a default +# eeprom that is clearly pure data. Without Free 3826.arm, there's +# little point in trying to retain the ability to load 3826.eeprom, so +# we drop it altogether. +reject_firmware drivers/net/wireless/intersil/p54/p54spi.c +clean_blob drivers/net/wireless/intersil/p54/p54spi.c +clean_kconfig drivers/net/wireless/intersil/p54/Kconfig P54_SPI +clean_mk CONFIG_P54_SPI drivers/net/wireless/intersil/p54/Makefile + +announce P54_USB - "Prism54 USB support" +reject_firmware drivers/net/wireless/intersil/p54/p54usb.c +clean_blob drivers/net/wireless/intersil/p54/p54usb.c +clean_blob drivers/net/wireless/intersil/p54/p54usb.h +clean_kconfig drivers/net/wireless/intersil/p54/Kconfig P54_USB +clean_mk CONFIG_P54_USB drivers/net/wireless/intersil/p54/Makefile + +announce QTNFMAC_PCIE - "Quantenna QSR1000/QSR2000/QSR10g PCIe support" +reject_firmware drivers/net/wireless/quantenna/qtnfmac/pcie/pearl_pcie.c +reject_firmware drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c +clean_blob drivers/net/wireless/quantenna/qtnfmac/qtn_hw_ids.h +clean_kconfig drivers/net/wireless/quantenna/qtnfmac/Kconfig QTNFMAC_PCIE +clean_mk CONFIG_QTNFMAC_PCIE drivers/net/wireless/quantenna/qtnfmac/Makefile + +announce RSI_91X - "Redpine Signals Inc 91x WLAN driver support" +reject_firmware drivers/net/wireless/rsi/rsi_91x_hal.c +clean_blob drivers/net/wireless/rsi/rsi_common.h +clean_blob drivers/net/wireless/rsi/rsi_91x_hal.c +clean_kconfig drivers/net/wireless/rsi/Kconfig RSI_91X +clean_mk CONFIG_RSI_91X drivers/net/wireless/rsi/Makefile + +announce RSI_SDIO - "Redpine Signals SDIO bus support" +clean_blob drivers/net/wireless/rsi/rsi_91x_sdio.c +clean_kconfig drivers/net/wireless/rsi/Kconfig RSI_SDIO +clean_mk CONFIG_RSI_USB drivers/net/wireless/rsi/Makefile + +announce RSI_USB - "Redpine Signals USB bus support" +clean_blob drivers/net/wireless/rsi/rsi_91x_usb.c +clean_kconfig drivers/net/wireless/rsi/Kconfig RSI_SDIO +clean_mk CONFIG_RSI_USB drivers/net/wireless/rsi/Makefile + +announce RT2X00_LIB_FIRMWARE - "Ralink driver firmware support" +reject_firmware drivers/net/wireless/ralink/rt2x00/rt2x00firmware.c +clean_kconfig drivers/net/wireless/ralink/rt2x00/Kconfig RT2X00_LIB_FIRMWARE +clean_mk CONFIG_RT2X00_LIB_FIRMWARE drivers/net/wireless/ralink/rt2x00/Makefile + +announce RT61PCI - "Ralink rt2501/rt61 (PCI/PCMCIA) support" +clean_blob drivers/net/wireless/ralink/rt2x00/rt61pci.h +clean_blob drivers/net/wireless/ralink/rt2x00/rt61pci.c +clean_kconfig drivers/net/wireless/ralink/rt2x00/Kconfig RT61PCI +clean_mk CONFIG_RT61PCI drivers/net/wireless/ralink/rt2x00/Makefile + +announce RT73USB - "Ralink rt2501/rt73 (USB) support" +clean_blob drivers/net/wireless/ralink/rt2x00/rt73usb.h +clean_blob drivers/net/wireless/ralink/rt2x00/rt73usb.c +clean_kconfig drivers/net/wireless/ralink/rt2x00/Kconfig RT73USB +clean_mk CONFIG_RT73USB drivers/net/wireless/ralink/rt2x00/Makefile + +announce RT2800PCI - "Ralink rt2800 (PCI/PCMCIA) support" +clean_blob drivers/net/wireless/ralink/rt2x00/rt2800pci.h +clean_blob drivers/net/wireless/ralink/rt2x00/rt2800pci.c +clean_kconfig drivers/net/wireless/ralink/rt2x00/Kconfig RT2800PCI +clean_mk CONFIG_RT2800PCI drivers/net/wireless/ralink/rt2x00/Makefile + +announce RT2800USB - "Ralink rt2800 (USB) support" +clean_blob drivers/net/wireless/ralink/rt2x00/rt2800usb.h +clean_blob drivers/net/wireless/ralink/rt2x00/rt2800usb.c +clean_kconfig drivers/net/wireless/ralink/rt2x00/Kconfig RT2800USB +clean_mk CONFIG_RT2800USB drivers/net/wireless/ralink/rt2x00/Makefile + +announce RTL8XXXU - "RTL8723AU/RTL8188[CR]U/RTL819[12]CU (mac80211) support" +reject_firmware drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c +clean_blob drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c +clean_kconfig drivers/net/wireless/realtek/rtl8xxxu/Kconfig RTL8XXXU +clean_mk CONFIG_RTL8XXXU drivers/net/wireless/realtek/rtl8xxxu/Makefile + +announce RTLWIFI - "Realtek Wireless Network Adapters" +reject_firmware drivers/net/wireless/realtek/rtlwifi/core.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTLWIFI +clean_mk CONFIG_RTLWIFI drivers/net/wireless/realtek/rtlwifi/Makefile + +announce RTL8188EE - "Realtek RTL8188EE Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8188EE +clean_mk CONFIG_RTL8188EE drivers/net/wireless/realtek/rtlwifi/rtl8188ee/Makefile + +announce R8188EU - "Realtek RTL8188EU Wireless LAN NIC driver" +reject_firmware drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +clean_blob drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +clean_blob drivers/staging/r8188eu/include/rtl8188e_hal.h +# Added in 5.15.66. +if grep -q MODULE_FIRMWARE drivers/staging/r8188eu/os_dep/os_intfs.c; then + clean_blob drivers/staging/r8188eu/os_dep/os_intfs.c +fi +clean_kconfig drivers/staging/r8188eu/Kconfig R8188EU +clean_mk CONFIG_R8188EU drivers/staging/r8188eu/Makefile + +announce RTL8192CE - "Realtek RTL8192CE/RTL8188CE Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192CE +clean_mk CONFIG_RTL8192CE drivers/net/wireless/realtek/rtlwifi/rtl8192ce/Makefile + +announce RTL8192CU - "Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192CU +clean_mk CONFIG_RTL8192CU drivers/net/wireless/realtek/rtlwifi/rtl8192cu/Makefile + +announce RTL8192DE - "Realtek RTL8192DE/RTL8188DE PCIe Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192DE +clean_mk CONFIG_RTL8192DE drivers/net/wireless/realtek/rtlwifi/rtl8192de/Makefile + +announce RTL8192SE - "Realtek RTL8192SE/RTL8191SE PCIe Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192SE +clean_mk CONFIG_RTL8192SE drivers/net/wireless/realtek/rtlwifi/rtl8192se/Makefile + +announce RTL8192E - "RealTek RTL8192E Wireless LAN NIC driver" +reject_firmware drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c +clean_blob drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h +clean_blob drivers/staging/rtl8192e/rtl8192e/rtl_core.c +clean_kconfig drivers/staging/rtl8192e/rtl8192e/Kconfig RTL8192E +clean_mk CONFIG_RTL8192E drivers/staging/rtl8192e/Makefile + +announce RTL8192EE - "RealTek RTL8192EE Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8192EE +clean_mk CONFIG_RTL8192EE drivers/net/wireless/realtek/rtlwifi/Makefile + +announce RTL8192U - "RealTek RTL8192U Wireless LAN NIC driver" +reject_firmware drivers/staging/rtl8192u/r819xU_firmware.c +clean_blob drivers/staging/rtl8192u/r819xU_firmware.c +clean_kconfig drivers/staging/rtl8192u/Kconfig RTL8192U +clean_mk CONFIG_RTL8192U drivers/staging/rtl8192u/Makefile + +announce R8712U - "RealTek RTL8712U (RTL8192SU) Wireless LAN NIC driver" +reject_firmware drivers/staging/rtl8712/hal_init.c +clean_blob drivers/staging/rtl8712/hal_init.c +clean_kconfig drivers/staging/rtl8712/Kconfig R8712U +clean_mk CONFIG_R8712U drivers/staging/rtl8712/Makefile + +announce RTL8723AE - "Realtek RTL8723AE PCIe Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8723AE +clean_mk CONFIG_RTL8723AE drivers/net/wireless/realtek/rtlwifi/rtl8723ae/Makefile + +announce RTL8723BE - "Realtek RTL8723BE PCIe Wireless Network Adapter" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8723BE +clean_mk CONFIG_RTL8723BE drivers/net/wireless/realtek/rtlwifi/rtl8723be/Makefile + +announce RTL8723BS - "Realtek RTL8723BS SDIO Wireless LAN NIC driver" +reject_firmware drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c +clean_blob drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c +clean_kconfig drivers/staging/rtl8723bs/Kconfig RTL8723BS +clean_mk CONFIG_RTL8723BS drivers/staging/rtl8723bs/Makefile + +# There are reports that at least some cards that use this module work +# even without loading a blob. It uses the _nowait variant to load +# the blob, but we used to not call the callback. Now we do, let's +# see how that goes. +announce RTL8821AE - "Realtek RTL8821AE/RTL8812AE Wireless LAN NIC driver" +reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c +clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c +clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8821AE +clean_mk CONFIG_RTL8821AE drivers/net/wireless/realtek/rtlwifi/rtl8821ae/Makefile + +announce RTW88 - "Realtek 802.11ac wireless chips support" +reject_firmware drivers/net/wireless/realtek/rtw88/main.c +clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88 +clean_mk CONFIG_RTW88 drivers/net/wireless/realtek/rtw88/Makefile + +announce RTW88_8821C - "Realtek 8821CE PCI wireless network adapter" +clean_blob drivers/net/wireless/realtek/rtw88/rtw8821c.c +clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8821C +clean_mk CONFIG_RTW88_8821C drivers/net/wireless/realtek/rtw88/Makefile + +announce RTW88_8822BE - "Realtek 8822BE PCI wireless network adapter" +clean_blob drivers/net/wireless/realtek/rtw88/rtw8822b.c +clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8822BE +clean_mk CONFIG_RTW88_8822CE drivers/net/wireless/realtek/rtw88/Makefile + +announce RTW88_8822CE - "Realtek 8822CE PCI wireless network adaptar" +clean_blob drivers/net/wireless/realtek/rtw88/rtw8822c.c +clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8822CE +clean_mk CONFIG_RTW88_8822CE drivers/net/wireless/realtek/rtw88/Makefile + +announce RTW88_8723DE - "Realtek 8723DE PCI wireless network adaptar" +clean_blob drivers/net/wireless/realtek/rtw88/rtw8723d.c +clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8723DE +clean_mk CONFIG_RTW88_8723DE drivers/net/wireless/realtek/rtw88/Makefile + +announce VT6656 - "VIA Technologies VT6656 support" +reject_firmware drivers/staging/vt6656/main_usb.c +clean_blob drivers/staging/vt6656/device.h +clean_blob drivers/staging/vt6656/main_usb.c +clean_kconfig drivers/staging/vt6656/Kconfig VT6656 +clean_mk CONFIG_VT6656 drivers/staging/vt6656/Makefile + +announce WL1251 - "TI wl1251 support" +reject_firmware drivers/net/wireless/ti/wl1251/main.c +clean_blob drivers/net/wireless/ti/wl1251/main.c +clean_blob drivers/net/wireless/ti/wl1251/wl1251.h +clean_kconfig drivers/net/wireless/ti/wl1251/Kconfig WL1251 +clean_mk CONFIG_WL1251 drivers/net/wireless/ti/wl1251/Makefile + +announce WL12XX - "TI wl12xx support" +clean_blob drivers/net/wireless/ti/wl12xx/main.c +clean_kconfig drivers/net/wireless/ti/wl12xx/Kconfig WL12XX +clean_mk CONFIG_WL12XX drivers/net/wireless/ti/wl12xx/Makefile + +announce WL18XX - "TI wl18xx support" +reject_firmware drivers/net/wireless/ti/wl18xx/main.c +clean_blob drivers/net/wireless/ti/wl18xx/main.c +clean_kconfig drivers/net/wireless/ti/wl18xx/Kconfig WL18XX +clean_mk CONFIG_WL18XX drivers/net/wireless/ti/wl18xx/Makefile + +announce WLCORE - "TI wlcore support" +reject_firmware drivers/net/wireless/ti/wlcore/main.c +clean_kconfig drivers/net/wireless/ti/wlcore/Kconfig WLCORE +clean_mk CONFIG_WLCORE drivers/net/wireless/ti/wlcore/Makefile + +announce WLCORE_SDIO - "TI wlcore SDIO support" +clean_blob drivers/net/wireless/ti/wlcore/sdio.c +clean_kconfig drivers/net/wireless/ti/wlcore/Kconfig WLCORE_SDIO +clean_mk CONFIG_WLCORE_SDIO drivers/net/wireless/ti/wlcore/Makefile + +announce WLCORE_SPI - "TI wlcore SPI support" +clean_blob drivers/net/wireless/ti/wlcore/spi.c +clean_kconfig drivers/net/wireless/ti/wlcore/Kconfig WLCORE_SPI +clean_mk CONFIG_WLCORE_SPI drivers/net/wireless/ti/wlcore/Makefile + +announce USB_ZD1201 - "USB ZD1201 based Wireless device support" +reject_firmware drivers/net/wireless/zydas/zd1201.c +clean_blob drivers/net/wireless/zydas/zd1201.c +clean_kconfig drivers/net/wireless/zydas/Kconfig USB_ZD1201 +clean_mk CONFIG_USB_ZD1201 drivers/net/wireless/zydas/Makefile + +announce WCN36XX - "Qualcomm Atheros WCN3660/3680 support" +reject_firmware drivers/net/wireless/ath/wcn36xx/smd.c +clean_blob drivers/net/wireless/ath/wcn36xx/wcn36xx.h +clean_blob drivers/net/wireless/ath/wcn36xx/main.c +clean_kconfig drivers/net/wireless/ath/wcn36xx/Kconfig WCN36XX +clean_mk CONFIG_WCN36XX drivers/net/wireless/ath/wcn36xx/Makefile + +announce WFX - "Silicon Labs wireless chips WF200 and further" +# wfm_wf200_C0.sec appears to be the firmware name obtained from the +# hardware, that these requests would load. It's encrypted and +# signed, definitely not meant to be Free Software. +reject_firmware_nowarn drivers/staging/wfx/fwio.c +reject_firmware drivers/staging/wfx/fwio.c +# This loads platform data set configuration files, that are pure +# data, with template input files and tools to compress the text input +# into the expected compressed format. No reason to reject these. +# reject_firmware drivers/staging/wfx/main.c +clean_kconfig drivers/staging/wfx/Kconfig WFX +clean_mk CONFIG_WFX drivers/staging/wfx/Makefile + +announce WILC1000 - "WILC1000 support (WiFi only)" +reject_firmware drivers/net/wireless/microchip/wilc1000/netdev.c +undefine_macro "WILC1000_FW_PREFIX" "\"/*(DEBLOBBED)*/\"" \ + "disabled non-Free firmware" drivers/net/wireless/microchip/wilc1000/netdev.c +clean_blob drivers/net/wireless/microchip/wilc1000/netdev.c +clean_kconfig drivers/net/wireless/microchip/wilc1000/Kconfig WILC1000 +clean_mk CONFIG_WILC1000 drivers/net/wireless/microchip/wilc1000/Makefile + +announce ZD1211RW - "ZyDAS ZD1211/ZD1211B USB-wireless support" +reject_firmware drivers/net/wireless/zydas/zd1211rw/zd_usb.c +clean_blob drivers/net/wireless/zydas/zd1211rw/zd_usb.c +clean_kconfig drivers/net/wireless/zydas/zd1211rw/Kconfig ZD1211RW +clean_mk CONFIG_ZD1211RW drivers/net/wireless/zydas/zd1211rw/Makefile + +# ieee802154 + +announce IEEE802154_ADF7242 - "ADF7242 transceiver driver" +reject_firmware drivers/net/ieee802154/adf7242.c +clean_blob drivers/net/ieee802154/adf7242.c +clean_kconfig drivers/net/ieee802154/Kconfig IEEE802154_ADF7242 +clean_mk CONFIG_IEEE802154_ADF7242 drivers/net/ieee802154/Makefile + +# bluetooth + +announce BT_ATH3K - "Atheros firmware download driver" +reject_firmware drivers/bluetooth/ath3k.c +clean_blob drivers/bluetooth/ath3k.c +clean_kconfig drivers/bluetooth/Kconfig BT_ATH3K +clean_mk CONFIG_BT_ATH3K drivers/bluetooth/Makefile + +announce BT_BCM - "Broadcom protocol support" +reject_firmware_nowarn drivers/bluetooth/btbcm.c +clean_blob drivers/bluetooth/btbcm.c +clean_kconfig drivers/bluetooth/Kconfig BT_BCM +clean_mk CONFIG_BT_BCM drivers/bluetooth/Makefile + +announce BT_HCIBCM203X - "HCI BCM203x USB driver" +reject_firmware drivers/bluetooth/bcm203x.c +clean_blob drivers/bluetooth/bcm203x.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIBCM203X +clean_mk CONFIG_BT_HCIBCM203X drivers/bluetooth/Makefile + +announce BT_HCIUART_AG6XX - "Intel AG6XX protocol support" +reject_firmware drivers/bluetooth/hci_ag6xx.c +clean_blob drivers/bluetooth/hci_ag6xx.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIUART_AG6XX +clean_mk CONFIG_BT_HCIUART_AG6XX drivers/bluetooth/Makefile + +announce BT_HCIUART_LL - "HCILL protocol support" +reject_firmware drivers/bluetooth/hci_ll.c +clean_blob drivers/bluetooth/hci_ll.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIUART_LL +clean_mk CONFIG_BT_HCIUART_LL drivers/bluetooth/Makefile + +announce BT_HCIUART_MRVL - "Marvell protocol support" +reject_firmware drivers/bluetooth/hci_mrvl.c +clean_blob drivers/bluetooth/hci_mrvl.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIUART_MRVL +clean_mk CONFIG_BT_HCIUART_MRVL drivers/bluetooth/Makefile + +announce BT_HCIUART_NOKIA - "UART Nokia H4+ protocol support" +reject_firmware drivers/bluetooth/hci_nokia.c +clean_blob drivers/bluetooth/hci_nokia.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIUART_NOKIA +clean_mk CONFIG_BT_HCIUART_NOKIA drivers/bluetooth/Makefile + +announce BT_HCIBFUSB - "HCI BlueFRITZ! USB driver" +reject_firmware drivers/bluetooth/bfusb.c +clean_blob drivers/bluetooth/bfusb.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIBFUSB +clean_mk CONFIG_BT_HCIBFUSB drivers/bluetooth/Makefile + +announce BT_HCIBT3C - "HCI BT3C (PC Card) driver" +reject_firmware drivers/bluetooth/bt3c_cs.c +clean_blob drivers/bluetooth/bt3c_cs.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIBT3C +clean_mk CONFIG_BT_HCIBT3C drivers/bluetooth/Makefile + +announce BT_HCIBTUSB - "HCI USB driver" +reject_firmware drivers/bluetooth/btusb.c +clean_blob drivers/bluetooth/btusb.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIBTUSB +clean_mk CONFIG_BT_HCIBTUSB drivers/bluetooth/Makefile + +announce BT_INTEL - "Bluetooth support for Intel devices" +reject_firmware_nowarn drivers/bluetooth/btintel.c +reject_firmware drivers/bluetooth/btintel.c +clean_blob drivers/bluetooth/btintel.c +clean_kconfig drivers/bluetooth/Kconfig BT_INTEL +clean_mk CONFIG_BT_INTEL drivers/bluetooth/Makefile + +announce BT_HCIUART_INTEL - "Intel protocol support" +reject_firmware drivers/bluetooth/hci_intel.c +clean_blob drivers/bluetooth/hci_intel.c +clean_kconfig drivers/bluetooth/Kconfig BT_HCIUART_INTEL +clean_mk CONFIG_BT_HCIUART_INTEL drivers/bluetooth/Makefile + +announce BT_MRVL_SDIO - "Marvell BT-over-SDIO driver" +reject_firmware drivers/bluetooth/btmrvl_sdio.c +clean_blob drivers/bluetooth/btmrvl_sdio.c +clean_blob Documentation/admin-guide/btmrvl.rst +clean_kconfig drivers/bluetooth/Kconfig BT_MRVL_SDIO +clean_mk CONFIG_BT_MRVL_SDIO drivers/bluetooth/Makefile + +announce BT_MTKSDIO - "MediaTek HCI SDIO driver" +reject_firmware drivers/bluetooth/btmtksdio.c +clean_blob drivers/bluetooth/btmtksdio.c +clean_kconfig drivers/bluetooth/Kconfig BT_MTKSDIO +clean_mk CONFIG_BT_MTKSDIO drivers/bluetooth/Makefile + +announce BT_MTKUART - "MediaTek HCI UART driver" +reject_firmware drivers/bluetooth/btmtkuart.c +clean_blob drivers/bluetooth/btmtkuart.c +clean_kconfig drivers/bluetooth/Kconfig BT_MTKUART +clean_mk CONFIG_BT_MTKUART drivers/bluetooth/Makefile + +announce BT_QCA - "Bluetooh support for Qualcomm/Atheros devices" +reject_firmware drivers/bluetooth/btqca.c +clean_blob drivers/bluetooth/btqca.c +clean_blob Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml +clean_kconfig drivers/bluetooth/Kconfig BT_QCA +clean_mk CONFIG_BT_QCA drivers/bluetooth/Makefile + +announce BT_RTL - "Bluetooth support for Realtek devices" +reject_firmware drivers/bluetooth/btrtl.c +clean_blob drivers/bluetooth/btrtl.c +clean_kconfig drivers/bluetooth/Kconfig BT_RTL +clean_mk CONFIG_BT_RTL drivers/bluetooth/Makefile + +announce TI_ST - "Texas Instruments shared transport line discipline" +reject_firmware drivers/misc/ti-st/st_kim.c +clean_blob drivers/misc/ti-st/st_kim.c +clean_kconfig drivers/misc/ti-st/Kconfig TI_ST +clean_mk CONFIG_TI_ST drivers/misc/ti-st/Makefile + +# infiniband + +announce INFINIBAND_HFI1 - "Intel OPA Gen1 support" +reject_firmware drivers/infiniband/hw/hfi1/firmware.c +clean_blob drivers/infiniband/hw/hfi1/firmware.c +reject_firmware drivers/infiniband/hw/hfi1/platform.c +clean_blob drivers/infiniband/hw/hfi1/platform.c +clean_kconfig drivers/infiniband/hw/hfi1/Kconfig INFINIBAND_HFI1 +clean_mk CONFIG_INFINIBAND_HFI1 drivers/infiniband/hw/hfi1/Makefile + +announce INFINIBAND_QIB - "QLogic PCIe HCA support" +reject_firmware drivers/infiniband/hw/qib/qib_sd7220.c +clean_blob drivers/infiniband/hw/qib/qib_sd7220.c +clean_kconfig drivers/infiniband/hw/qib/Kconfig INFINIBAND_QIB +clean_mk CONFIG_INFINIBAND_QIB drivers/infiniband/hw/qib/Makefile + +# CAN + +announce CAN_SOFTING - "Softing Gmbh CAN generic support" +reject_firmware drivers/net/can/softing/softing_fw.c +clean_kconfig drivers/net/can/softing/Kconfig CAN_SOFTING +clean_mk CONFIG_CAN_SOFTING drivers/net/can/softing/Makefile + +announce CAN_SOFTING_CS - "Softing Gmbh CAN pcmcia cards" +clean_blob drivers/net/can/softing/softing_cs.c +clean_blob drivers/net/can/softing/softing_platform.h +clean_sed ' +/^config CAN_SOFTING_CS$/,${ + /You need firmware/i\ + /*(DEBLOBBED)*/ + /You need firmware/,/softing-fw.*tar\.gz/d +}' drivers/net/can/softing/Kconfig 'removed firmware notes' +clean_kconfig drivers/net/can/softing/Kconfig CAN_SOFTING_CS +clean_mk CONFIG_CAN_SOFTING_CS drivers/net/can/softing/Makefile + +# DSA + +announce NET_DSA_LANTIQ_GSWIP - "Lantiq / Intel GSWIP" +reject_firmware drivers/net/dsa/lantiq_gswip.c +clean_blob drivers/net/dsa/lantiq_gswip.c +clean_kconfig drivers/net/dsa/Kconfig NET_DSA_LANTIQ_GSWIP +clean_mk CONFIG_NET_DSA_LANTIQ_GSWIP drivers/net/dsa/Makefile + +# PHY + +announce MICROSEMI_PHY - "Microsemi PHYs" +reject_firmware drivers/net/phy/mscc/mscc_main.c +if grep -q MODULE_FIRMWARE drivers/net/phy/mscc/mscc_main.c; then + clean_blob drivers/net/phy/mscc/mscc_main.c +fi +clean_blob drivers/net/phy/mscc/mscc.h +clean_kconfig drivers/net/phy/Kconfig MICROSEMI_PHY +clean_mk CONFIG_MICROSEMI_PHY drivers/net/phy/mscc/Makefile + +######## +# ISDN # +######## + +announce MISDN_SPEEDFAX - "Support for Sedlbauer Speedfax+" +reject_firmware drivers/isdn/hardware/mISDN/speedfax.c +clean_blob drivers/isdn/hardware/mISDN/speedfax.c +clean_kconfig drivers/isdn/hardware/mISDN/Kconfig MISDN_SPEEDFAX +clean_mk CONFIG_MISDN_SPEEDFAX drivers/isdn/hardware/mISDN/Makefile + +########## +# Serial # +########## + +# announce SERIAL_8250_CS - "8250/16550 PCMCIA device support" +# clean_blob drivers/tty/serial/serial_cs.c +# clean_kconfig drivers/tty/serial/Kconfig 'SERIAL_8250_CS' +# clean_mk CONFIG_SERIAL_8250_CS drivers/tty/serial/Makefile + +announce SERIAL_ICOM - "IBM Multiport Serial Adapter" +reject_firmware drivers/tty/serial/icom.c +clean_blob drivers/tty/serial/icom.c +clean_kconfig drivers/tty/serial/Kconfig SERIAL_ICOM +clean_mk CONFIG_SERIAL_ICOM drivers/tty/serial/Makefile + +announce SERIAL_QE - "Freescale QUICC Engine serial port support" +reject_firmware drivers/tty/serial/ucc_uart.c +clean_blob drivers/tty/serial/ucc_uart.c +clean_kconfig drivers/tty/serial/Kconfig SERIAL_QE +clean_mk CONFIG_SERIAL_QE drivers/tty/serial/Makefile + +announce SERIAL_RP2 - "Comtrol RocketPort EXPRESS/INFINITY support" +reject_firmware drivers/tty/serial/rp2.c +clean_blob drivers/tty/serial/rp2.c +clean_kconfig drivers/tty/serial/Kconfig SERIAL_RP2 +clean_mk CONFIG_SERIAL_RP2 drivers/tty/serial/Makefile + +######## +# Leds # +######## + +announce LEDS_LP55XX_COMMON - "Common Driver for TI/National LP5521 and LP5523/55231" +reject_firmware drivers/leds/leds-lp55xx-common.c +clean_kconfig drivers/leds/Kconfig LEDS_LP55XX_COMMON +clean_mk CONFIG_LEDS_LP55XX_COMMON drivers/leds/Makefile + +announce LEDS_LP5521 - "LED Support for N.S. LP5521 LED driver chip" +# The blob name is the chip name; no point in deblobbing that. +# clean_blob drivers/leds/leds-lp5521.c +clean_kconfig drivers/leds/Kconfig LEDS_LP5521 +clean_mk CONFIG_LEDS_LP5521 drivers/leds/Makefile + +announce LEDS_LP5523 - "LED Support for TI/National LP5523/55231 LED driver chip" +# The blob name is the chip name; no point in deblobbing that. +# clean_blob drivers/leds/leds-lp5523.c +clean_kconfig drivers/leds/Kconfig LEDS_LP5523 +clean_mk CONFIG_LEDS_LP5523 drivers/leds/Makefile + +######### +# input # +######### + +# This only requests files named by the user through a /sys interface. +# There is no default firmware name, but there is a #define that +# presumably was supposed to be one at some point. This is fine, but +# let's deblob the default name just in case. +announce MOUSE_CYAPA - "Cypress APA I2C Trackpad support" +clean_blob drivers/input/mouse/cyapa.c +# clean_kconfig drivers/input/mouse/Kconfig MOUSE_CYAPA +# clean_mk CONFIG_MOUSE_CYAPA drivers/input/mouse/Makefile + +announce MOUSE_ELAN_I2C - "ELAN I2C Touchpad support" +reject_firmware drivers/input/mouse/elan_i2c_core.c +clean_blob drivers/input/mouse/elan_i2c.h +clean_kconfig drivers/input/mouse/Kconfig MOUSE_ELAN_I2C +clean_mk CONFIG_MOUSE_ELAN_I2C drivers/input/mouse/Makefile + +announce TOUCHSCREEN_CHIPONE_ICN8505 - "chipone icn8505 touchscreen controller" +reject_firmware drivers/input/touchscreen/chipone_icn8505.c +clean_blob drivers/input/touchscreen/chipone_icn8505.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_CHIPONE_ICN8505 +clean_mk CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_ELAN - "Elan eKTH I2C touchscreen" +reject_firmware drivers/input/touchscreen/elants_i2c.c +clean_blob drivers/input/touchscreen/elants_i2c.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_ELAN +clean_mk CONFIG_TOUCHSCREEN_ELAN drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_ATMEL_MXT - "Atmel mXT I2C Touchscreen" +reject_firmware drivers/input/touchscreen/atmel_mxt_ts.c +clean_blob drivers/input/touchscreen/atmel_mxt_ts.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_ATMEL_MXT +clean_mk CONFIG_TOUCHSCREEN_ATMEL_MXT drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_GOODIX - "Goodix I2C touchscreen" +reject_firmware drivers/input/touchscreen/goodix.c +clean_blob drivers/input/touchscreen/goodix.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_GOODIX +clean_mk CONFIG_TOUCHSCREEN_GOODIX drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_HIDEEP - "HiDeep Touch IC" +reject_firmware drivers/input/touchscreen/hideep.c +clean_blob drivers/input/touchscreen/hideep.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_HIDEEP +clean_mk CONFIG_TOUCHSCREEN_HIDEEP drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_IQS5XX - "Azoteq IQS550/572/525 trackpad/touchscreen controller" +reject_firmware drivers/input/touchscreen/iqs5xx.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_IQS5XX +clean_mk CONFIG_TOUCHSCREEN_IQS5XX drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_MELFAS_MIP4 - "MELFAS MIP4 Touchscreen" +reject_firmware drivers/input/touchscreen/melfas_mip4.c +clean_blob drivers/input/touchscreen/melfas_mip4.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_MELFAS_MIP4 +clean_mk CONFIG_TOUCHSCREEN_MELFAS_MIP4 drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_RM_TS - "Raydium I2C Touchscreen" +reject_firmware drivers/input/touchscreen/raydium_i2c_ts.c +clean_blob drivers/input/touchscreen/raydium_i2c_ts.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_RM_TS +clean_mk CONFIG_TOUCHSCREEN_RM_TS drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_ROHM_BU21023 - "ROHM BU21023/24 Dual touch support resistive touchscreens" +reject_firmware drivers/input/touchscreen/rohm_bu21023.c +clean_blob drivers/input/touchscreen/rohm_bu21023.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_ROHM_BU21023 +clean_mk CONFIG_TOUCHSCREEN_ROHM_BU21023 drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_SILEAD - "Silead I2C touchscreen" +reject_firmware drivers/input/touchscreen/silead.c +clean_blob drivers/input/touchscreen/silead.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_SILEAD +clean_mk CONFIG_TOUCHSCREEN_SILEAD drivers/input/touchscreen/Makefile + +announce TOUCHSCREEN_DMI - "DMI based touchscreen configuration info" +clean_blob drivers/platform/x86/touchscreen_dmi.c +clean_kconfig drivers/platform/x86/Kconfig TOUCHSCREEN_DMI +clean_mk CONFIG_TOUCHSCREEN_DMI drivers/platform/x86/Makefile + +announce TOUCHSCREEN_WDT87XX_I2C - "Weida HiTech I2C touchscreen" +reject_firmware drivers/input/touchscreen/wdt87xx_i2c.c +clean_blob drivers/input/touchscreen/wdt87xx_i2c.c +clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_WDT87XX_I2C +clean_mk CONFIG_TOUCHSCREEN_WDT87XX_I2C drivers/input/touchscreen/Makefile + +announce INPUT_IMS_PCU - "IMS Passenger Control Unit driver" +reject_firmware drivers/input/misc/ims-pcu.c +clean_blob drivers/input/misc/ims-pcu.c +clean_kconfig drivers/input/misc/Kconfig INPUT_IMS_PCU +clean_mk CONFIG_INPUT_IMS_PCU drivers/input/misc/Makefile + +#################### +# Data acquisition # +#################### + +announce INTEL_ISH_FIRMWARE_DOWNLOADER - "Host Firmware Load feature for Intel ISH" +reject_firmware drivers/hid/intel-ish-hid/ishtp-fw-loader.c +clean_blob drivers/hid/intel-ish-hid/ishtp-fw-loader.c +clean_kconfig drivers/hid/intel-ish-hid/Kconfig INTEL_ISH_FIRMWARE_DOWNLOADER +clean_mk CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER drivers/hid/intel-ish-hid/Makefile + +announce COMEDI - "Data acquisition support (comedi)" +maybe_reject_firmware drivers/comedi/drivers.c +clean_kconfig drivers/comedi/Kconfig COMEDI +clean_mk CONFIG_COMEDI drivers/comedi/Makefile + +announce COMEDI_DAQBOARD2000 - "IOtech DAQboard/2000 support" +clean_blob drivers/comedi/drivers/daqboard2000.c +clean_kconfig drivers/comedi/Kconfig COMEDI_DAQBOARD2000 +clean_mk CONFIG_COMEDI_DAQBOARD2000 drivers/comedi/drivers/Makefile + +announce COMEDI_JR3_PCI - "JR3/PCI force sensor board support" +clean_blob drivers/comedi/drivers/jr3_pci.c +clean_kconfig drivers/comedi/Kconfig COMEDI_JR3_PCI +clean_mk CONFIG_COMEDI_JR3_PCI drivers/comedi/drivers/Makefile + +announce COMEDI_ME_DAQ - "Meilhaus ME-2000i, ME-2600i, ME-3000vm1 support" +clean_blob drivers/comedi/drivers/me_daq.c +clean_kconfig drivers/comedi/Kconfig COMEDI_ME_DAQ +clean_mk CONFIG_COMEDI_ME_DAQ drivers/comedi/drivers/Makefile + +announce COMEDI_ME4000 - "Meilhaus ME-4000 support" +clean_blob drivers/comedi/drivers/me4000.c +clean_kconfig drivers/comedi/Kconfig COMEDI_ME4000 +clean_mk CONFIG_COMEDI_ME4000 drivers/comedi/drivers/Makefile + +announce COMEDI_NI_PCIDIO - "NI PCI-DIO32HS, PCI-6533, PCI-6534 support" +clean_blob drivers/comedi/drivers/ni_pcidio.c +clean_kconfig drivers/comedi/Kconfig COMEDI_NI_PCIDIO +clean_mk CONFIG_COMEDI_NI_PCIDIO drivers/comedi/drivers/Makefile + +# There are blob names, but no apparent request or filesystem load +# mechanism. Why are the blob names there, then? +announce IIO_SSP_SENSORHUB - "Samsung Sensorhub driver" +clean_blob drivers/iio/common/ssp_sensors/ssp_dev.c +# clean_kconfig drivers/iio/common/ssp_sensors/Kconfig IIO_SSP_SENSORHUB +# clean_mk CONFIG_IIO_SSP_SENSORHUB drivers/iio/common/ssp_sensors/Makefile + + +####### +# MMC # +####### + +announce MMC_VUB300 - "VUB300 USB to SDIO/SD/MMC Host Controller support" +clean_sed ' +/^config MMC_VUB300/,/^config /{ + /Some SDIO cards/i\ + /*(DEBLOBBED)*/ + /Some SDIO cards/,/obtainable data rate\.$/d +} +' drivers/mmc/host/Kconfig "removed firmware notes" +reject_firmware drivers/mmc/host/vub300.c +clean_blob drivers/mmc/host/vub300.c +clean_kconfig drivers/mmc/host/Kconfig MMC_VUB300 +clean_mk CONFIG_MMC_VUB300 drivers/mmc/host/Makefile + +######## +# SCSI # +######## + +announce SCSI_QLOGICPTI - "PTI Qlogic, ISP Driver" +reject_firmware drivers/scsi/qlogicpti.c +clean_blob drivers/scsi/qlogicpti.c +clean_kconfig drivers/scsi/Kconfig SCSI_QLOGICPTI +clean_mk CONFIG_SCSI_QLOGICPTI drivers/scsi/Makefile + +announce SCSI_ADVANSYS - "AdvanSys SCSI" +reject_firmware drivers/scsi/advansys.c +clean_blob drivers/scsi/advansys.c +clean_kconfig drivers/scsi/Kconfig SCSI_ADVANSYS +clean_mk CONFIG_SCSI_ADVANSYS drivers/scsi/Makefile + +announce SCSI_QLOGIC_1280 - "Qlogic QLA 1240/1x80/1x160 SCSI" +reject_firmware drivers/scsi/qla1280.c +clean_blob drivers/scsi/qla1280.c +clean_kconfig drivers/scsi/Kconfig SCSI_QLOGIC_1280 +clean_mk CONFIG_SCSI_QLOGIC_1280 drivers/scsi/Makefile + +announce SCSI_AIC94XX - "Adaptec AIC94xx SAS/SATA support" +reject_firmware drivers/scsi/aic94xx/aic94xx_seq.c +clean_blob drivers/scsi/aic94xx/aic94xx_seq.c +clean_blob drivers/scsi/aic94xx/aic94xx_seq.h +clean_kconfig drivers/scsi/aic94xx/Kconfig SCSI_AIC94XX +clean_mk CONFIG_SCSI_AIC94XX drivers/scsi/aic94xx/Makefile + +announce SCSI_BFA_FC - "Brocade BFA Fibre Channel Support" +reject_firmware drivers/scsi/bfa/bfad.c +clean_blob drivers/scsi/bfa/bfad.c +clean_kconfig drivers/scsi/Kconfig SCSI_BFA_FC +clean_mk CONFIG_SCSI_BFA_FC drivers/scsi/bfa/Makefile + +announce SCSI_CHELSIO_FCOE - "Chelsio Communications FCoE support" +reject_firmware drivers/scsi/csiostor/csio_hw.c +clean_blob drivers/scsi/csiostor/csio_hw_chip.h +clean_blob drivers/scsi/csiostor/csio_init.c +clean_kconfig drivers/scsi/csiostor/Kconfig SCSI_CHELSIO_FCOE +clean_mk CONFIG_SCSI_CHELSIO_FCOE drivers/scsi/csiostor/Makefile + +announce SCSI_EFCT - "Emulex Fibre Channel Target" +# The firmware name is built out of Vital Product Data read from the +# adapter. The firmware is definitely code, and I couldn't find +# evidence it is Free, so I'm disabling it. It's not clear whether +# this is the hardware or the software inducing to the installation of +# non-Free firmware. +reject_firmware drivers/scsi/elx/efct/efct_driver.c +clean_blob drivers/scsi/elx/efct/efct_driver.c +clean_kconfig drivers/scsi/elx/Kconfig SCSI_EFCT +clean_mk CONFIG_SCSI_EFCT drivers/scsi/elx/Makefile + +announce SCSI_LPFC - "Emulex LightPulse Fibre Channel Support" +# The firmware name is built out of Vital Product Data read from the +# adapter. The firmware is definitely code, and I couldn't find +# evidence it is Free, so I'm disabling it. It's not clear whether +# this is the hardware or the software inducing to the installation of +# non-Free firmware. +reject_firmware drivers/scsi/lpfc/lpfc_init.c +clean_blob drivers/scsi/lpfc/lpfc_init.c +clean_kconfig drivers/scsi/Kconfig SCSI_LPFC +clean_mk CONFIG_SCSI_LPFC drivers/scsi/lpfc/Makefile + +announce SCSI_QLA_FC - "QLogic QLA2XXX Fibre Channel Support" +reject_firmware drivers/scsi/qla2xxx/qla_os.c +clean_sed ' +/^config SCSI_QLA_FC$/,/^config /{ + /^ By default, firmware/i\ + /*(DEBLOBBED)*/ + /^ By default, firmware/,/linux-firmware tree/d +}' drivers/scsi/qla2xxx/Kconfig 'removed firmware notes' +clean_blob drivers/scsi/qla2xxx/qla_os.c +clean_kconfig drivers/scsi/qla2xxx/Kconfig SCSI_QLA_FC +clean_mk CONFIG_SCSI_QLA_FC drivers/scsi/qla2xxx/Makefile + +announce SCSI_WD719x - "Western Digital WD7193/7197/7296 support" +reject_firmware drivers/scsi/wd719x.c +clean_blob drivers/scsi/wd719x.c +clean_blob Documentation/scsi/wd719x.rst +clean_kconfig drivers/scsi/Kconfig SCSI_WD719X +clean_mk CONFIG_SCSI_WD719X drivers/scsi/Makefile + + +####### +# USB # +####### + +# atm + +announce USB_CXACRU - "Conexant AccessRunner USB support" +reject_firmware drivers/usb/atm/cxacru.c +clean_blob drivers/usb/atm/cxacru.c +clean_kconfig drivers/usb/atm/Kconfig USB_CXACRU +clean_mk CONFIG_USB_CXACRU drivers/usb/atm/Makefile + +announce USB_SPEEDTOUCH - "Speedtouch USB support" +reject_firmware drivers/usb/atm/speedtch.c +clean_blob drivers/usb/atm/speedtch.c +clean_kconfig drivers/usb/atm/Kconfig USB_SPEEDTOUCH +clean_mk CONFIG_USB_SPEEDTOUCH drivers/usb/atm/Makefile + +announce USB_UEAGLEATM - "ADI 930 and eagle USB DSL modem" +reject_firmware drivers/usb/atm/ueagle-atm.c +clean_blob drivers/usb/atm/ueagle-atm.c +clean_kconfig drivers/usb/atm/Kconfig USB_UEAGLEATM +clean_mk CONFIG_USB_UEAGLEATM drivers/usb/atm/Makefile + +# host + +announce USB_XHCI_PCI_RENESAS - "Support for additional Renesas xHCI controller with firmware" +reject_firmware_nowarn drivers/usb/host/xhci-pci-renesas.c +clean_kconfig drivers/usb/host/Kconfig USB_XHCI_PCI_RENESAS +clean_mk CONFIG_USB_XHCI_PCI_RENESAS drivers/usb/host/Makefile + +announce USB_XHCI_PCI - "because of USB_XHCI_PCI_RENESAS" +clean_blob drivers/usb/host/xhci-pci.c +clean_kconfig drivers/usb/host/Kconfig USB_XHCI_PCI +clean_mk CONFIG_USB_XHCI_PCI drivers/usb/host/Makefile + +announce USB_XHCI_RCAR - "xHCI support for Renesas R-Car SoCs" +reject_firmware drivers/usb/host/xhci-rcar.c +clean_blob drivers/usb/host/xhci-rcar.c +clean_blob drivers/usb/host/xhci-rcar.h +clean_kconfig drivers/usb/host/Kconfig USB_XHCI_RCAR +clean_mk CONFIG_USB_XHCI_RCAR drivers/usb/host/Makefile + +announce USB_XHCI_TEGRA - "xHCI support for NVIDIA Tegra SoCs" +reject_firmware drivers/usb/host/xhci-tegra.c +clean_blob drivers/usb/host/xhci-tegra.c +clean_kconfig drivers/usb/host/Kconfig USB_XHCI_TEGRA +clean_mk CONFIG_USB_XHCI_TEGRA drivers/usb/host/Makefile + +# misc + +announce USB_EMI26 - "EMI 2|6 USB Audio interface" +reject_firmware drivers/usb/misc/emi26.c +clean_blob drivers/usb/misc/emi26.c +clean_kconfig drivers/usb/misc/Kconfig USB_EMI26 +clean_mk CONFIG_USB_EMI26 drivers/usb/misc/Makefile + +announce USB_EMI62 - "EMI 6|2m USB Audio interface" +reject_firmware drivers/usb/misc/emi62.c +clean_blob drivers/usb/misc/emi62.c +clean_kconfig drivers/usb/misc/Kconfig USB_EMI62 +clean_mk CONFIG_USB_EMI62 drivers/usb/misc/Makefile + +announce USB_EZUSB_FX2 - "Functions for loading firmware on EZUSB chips" +maybe_reject_firmware drivers/usb/misc/ezusb.c + +announce USB_ISIGHTFW - "iSight firmware loading support" +reject_firmware drivers/usb/misc/isight_firmware.c +clean_blob drivers/usb/misc/isight_firmware.c +clean_kconfig drivers/usb/misc/Kconfig USB_ISIGHTFW +clean_mk CONFIG_USB_ISIGHTFW drivers/usb/misc/Makefile + +# storage + +announce USB_STORAGE_ENE_UB6250 - "USB ENE card reader support" +reject_firmware drivers/usb/storage/ene_ub6250.c +clean_blob drivers/usb/storage/ene_ub6250.c +clean_kconfig drivers/usb/storage/Kconfig USB_STORAGE_ENE_UB6250 +clean_mk CONFIG_USB_STORAGE_ENE_UB6250 drivers/usb/storage/Makefile + +# serial + +announce USB_SERIAL_KEYSPAN - "USB Keyspan USA-xxx Serial Driver" +clean_blob drivers/usb/serial/keyspan.c +clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN +clean_mk CONFIG_USB_SERIAL_KEYSPAN drivers/usb/serial/Makefile + +announce USB_SERIAL_EDGEPORT - "USB Inside Out Edgeport Serial Driver" +reject_firmware drivers/usb/serial/io_edgeport.c +clean_blob drivers/usb/serial/io_edgeport.c +clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_EDGEPORT +clean_mk CONFIG_USB_SERIAL_EDGEPORT drivers/usb/serial/Makefile + +announce USB_SERIAL_EDGEPORT_TI - "USB Inside Out Edgeport Serial Driver (TI devices)" +reject_firmware drivers/usb/serial/io_ti.c +clean_sed 's,firmware "down3\.bin",firmware "(DEBLOBBED)", +' drivers/usb/serial/io_ti.c 'deblobbed comment' +clean_blob drivers/usb/serial/io_ti.c +clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_EDGEPORT_TI +clean_mk CONFIG_USB_SERIAL_EDGEPORT_TI drivers/usb/serial/Makefile + +announce USB_SERIAL_MXUPORT - "USB Moxa UPORT Serial Driver" +reject_firmware drivers/usb/serial/mxuport.c +clean_blob drivers/usb/serial/mxuport.c +clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_MXUPORT +clean_mk CONFIG_USB_SERIAL_MXUPORT drivers/usb/serial/Makefile + +announce USB_SERIAL_TI - "USB TI 3410/5052 Serial Driver" +reject_firmware drivers/usb/serial/ti_usb_3410_5052.c +clean_blob drivers/usb/serial/ti_usb_3410_5052.c +clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_TI +clean_mk CONFIG_USB_SERIAL_TI drivers/usb/serial/Makefile + +announce USB_SERIAL_WHITEHEAT - "USB ConnectTech WhiteHEAT Serial Driver" +clean_blob drivers/usb/serial/whiteheat.c +clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_WHITEHEAT +clean_mk CONFIG_USB_SERIAL_WHITEHEAT drivers/usb/serial/Makefile + +# typec + +announce UCSI_CCG - "UCSI Interface Driver for Cypress CCGx" +reject_firmware drivers/usb/typec/ucsi/ucsi_ccg.c +clean_blob drivers/usb/typec/ucsi/ucsi_ccg.c +clean_kconfig drivers/usb/typec/ucsi/Kconfig UCSI_CCG +clean_mk CONFIG_UCSI_CCG drivers/usb/typec/ucsi/Makefile + + + +################ +# Programmable # +################ + +announce BCM_VK - "Support for Broadcom VK Accelerators" +reject_firmware drivers/misc/bcm-vk/bcm_vk_dev.c +clean_blob drivers/misc/bcm-vk/bcm_vk_dev.c +clean_kconfig drivers/misc/bcm-vk/Kconfig BCM_VK +clean_mk CONFIG_BCM_VK drivers/misc/bcm-vk/Makefile + +announce GEHC_ACHC - "GEHC ACHC support" +reject_firmware drivers/misc/gehc-achc.c +clean_blob drivers/misc/gehc-achc.c +clean_blob Documentation/ABI/testing/sysfs-driver-ge-achc +clean_kconfig drivers/misc/Kconfig GEHC_ACHC +clean_mk CONFIG_GEHC_ACHC drivers/misc/Makefile + +announce HABANA_AI - "HabanaAI accelerators (habanalabs)" +reject_firmware drivers/misc/habanalabs/common/firmware_if.c +reject_firmware drivers/misc/habanalabs/gaudi/gaudi.c +clean_blob drivers/misc/habanalabs/gaudi/gaudi.c +clean_blob drivers/misc/habanalabs/goya/goya.c +clean_kconfig drivers/misc/habanalabs/Kconfig HABANA_AI +clean_mk CONFIG_HABANA_AI drivers/misc/Makefile + +announce LATTICE_ECP3_CONFIG - "Lattice ECP3 FPGA bitstrap configuration via SPI" +reject_firmware drivers/misc/lattice-ecp3-config.c +clean_blob drivers/misc/lattice-ecp3-config.c +clean_kconfig drivers/misc/Kconfig LATTICE_ECP3_CONFIG +clean_mk CONFIG_LATTICE_ECP3_CONFIG drivers/misc/Makefile + +announce REMOTEPROC - "Support for Remote Processor subsystem" +maybe_reject_firmware drivers/remoteproc/remoteproc_core.c +clean_kconfig drivers/remoteproc/Kconfig REMOTEPROC +clean_mk CONFIG_REMOTEPROC drivers/remoteproc/Makefile + +announce KEYSTONE_REMOTEPROC - "Keystone Remoteproc support" +clean_blob drivers/remoteproc/keystone_remoteproc.c +clean_kconfig drivers/remoteproc/Kconfig KEYSTONE_REMOTEPROC +clean_mk CONFIG_KEYSTONE_REMOTEPROC drivers/remoteproc/Makefile + +announce MTK_SCP - "Mediatek SCP support" +clean_blob drivers/remoteproc/mtk_scp.c +clean_kconfig drivers/remoteproc/Kconfig MTK_SCP +clean_mk CONFIG_MTK_SCP drivers/remoteproc/Makefile + +announce WKUP_M3_RPROC - "AMx3xx Wakeup M3 remoteproc support" +clean_blob Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt +clean_blob arch/arm/boot/dts/am33xx-l4.dtsi +clean_blob arch/arm/boot/dts/am437x-l4.dtsi +if grep -q 'Block system suspend' arch/arm/mach-omap2/pm33xx-core.c; then + clean_blob arch/arm/mach-omap2/pm33xx-core.c +fi +clean_kconfig drivers/remoteproc/Kconfig WKUP_M3_RPROC +clean_mk CONFIG_WKUP_M3_RPROC drivers/remoteproc/Makefile + +announce QCOM_Q6V5_ADSP - "Qualcomm Technology Inc ADSP Peripheral Image Loader" +clean_blob drivers/remoteproc/qcom_q6v5_adsp.c +clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_ADSP +clean_mk CONFIG_QCOM_Q6V5_ADSP drivers/remoteproc/Makefile + +announce QCOM_Q6V5_MSS - "Qualcomm Hexagon V5 self-authenticating modem subsystem support" +reject_firmware drivers/remoteproc/qcom_q6v5_mss.c +clean_blob drivers/remoteproc/qcom_q6v5_mss.c +clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_MSS +clean_mk CONFIG_QCOM_Q6V5_MSS drivers/remoteproc/Makefile + +announce QCOM_Q6V5_PAS - "Qualcomm Hexagon V5 Peripheral Authentication Service support" +clean_blob drivers/remoteproc/qcom_q6v5_pas.c +clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_PAS +clean_mk CONFIG_QCOM_Q6V5_PAS drivers/remoteproc/Makefile + +announce QCOM_Q6V5_WCSS - "Qualcomm Hexagon based WCSS Peripheral Image Loader" +clean_blob drivers/remoteproc/qcom_q6v5_wcss.c +clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_WCSS +clean_mk CONFIG_QCOM_Q6V5_WCSS drivers/remoteproc/Makefile + +announce QCOM_WCNSS_PIL - "Qualcomm WCNSS Peripheral Image Loader" +clean_blob drivers/remoteproc/qcom_wcnss.c +clean_blob Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt +clean_blob Documentation/devicetree/bindings/soc/qcom/qcom,wcnss.txt +clean_kconfig drivers/remoteproc/Kconfig QCOM_WCNSS_PIL +clean_mk CONFIG_QCOM_WCNSS_PIL drivers/remoteproc/Makefile + +announce QCOM_IPA - "Qualcomm IPA support" +reject_firmware drivers/net/ipa/ipa_main.c +clean_blob drivers/net/ipa/ipa_main.c +clean_kconfig drivers/net/ipa/Kconfig QCOM_IPA +clean_mk CONFIG_QCOM_IPA drivers/net/ipa/Makefile + + +####### +# MFD # +####### + +announce MFD_IQS62X - "Azoteq IQS620A/621/622/624/625 core support" +reject_firmware drivers/mfd/iqs62x.c +clean_blob drivers/mfd/iqs62x.c +clean_blob Documentation/devicetree/bindings/mfd/iqs62x.yaml +clean_kconfig drivers/mfd/Kconfig MFD_IQS62X +clean_mk CONFIG_MFD_IQS62X drivers/mfd/Makefile + +####### +# PTP # +####### + +announce PTP_1588_CLOCK_IDTCM - "IDT CLOCKMATRIX as PTP clock" +reject_firmware drivers/ptp/ptp_clockmatrix.c +clean_blob drivers/ptp/ptp_clockmatrix.h +clean_blob Documentation/driver-api/ptp.rst +clean_kconfig drivers/ptp/Kconfig PTP_1588_CLOCK_IDTCM +clean_mk CONFIG_PTP_1588_CLOCK_IDTCM drivers/ptp/Makefile + +announce PTP_1588_CLOCK_IDT82P33 - "IDT 82P33xxx PTP clock" +reject_firmware drivers/ptp/ptp_idt82p33.c +clean_blob drivers/ptp/ptp_idt82p33.c +clean_blob drivers/ptp/ptp_idt82p33.h +clean_kconfig drivers/ptp/Kconfig PTP_1588_CLOCK_IDT82P33 +clean_mk CONFIG_PTP_1588_CLOCK_IDT82P33 drivers/ptp/Makefile + + + +######### +# Sound # +######### + +announce SND_ASIHPI - "AudioScience ASIxxxx" +reject_firmware sound/pci/asihpi/hpidspcd.c +clean_blob sound/pci/asihpi/hpidspcd.c +clean_blob sound/pci/asihpi/hpioctl.c +clean_kconfig sound/pci/Kconfig SND_ASIHPI +clean_mk CONFIG_SND_ASIHPI sound/pci/asihpi/Makefile + +announce SND_CS46XX - "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x" +reject_firmware sound/pci/cs46xx/cs46xx_lib.c +clean_blob sound/pci/cs46xx/cs46xx_lib.c +clean_kconfig sound/pci/Kconfig SND_CS46XX +clean_mk CONFIG_SND_CS46XX sound/pci/cs46xx/Makefile + +announce SND_KORG1212 - "Korg 1212 IO" +reject_firmware sound/pci/korg1212/korg1212.c +clean_blob sound/pci/korg1212/korg1212.c +clean_kconfig sound/pci/Kconfig SND_KORG1212 +clean_mk CONFIG_SND_KORG1212 sound/pci/korg1212/Makefile + +announce SND_MAESTRO3 - "ESS Allegro/Maestro3" +reject_firmware sound/pci/maestro3.c +clean_blob sound/pci/maestro3.c +clean_kconfig sound/pci/Kconfig SND_MAESTRO3 +clean_mk CONFIG_SND_MAESTRO3 sound/pci/Makefile + +announce SND_YMFPCI - "Yamaha YMF724/740/744/754" +reject_firmware sound/pci/ymfpci/ymfpci_main.c +clean_blob sound/pci/ymfpci/ymfpci_main.c +clean_kconfig sound/pci/Kconfig SND_YMFPCI +clean_mk CONFIG_SND_YMFPCI sound/pci/ymfpci/Makefile + +announce SND_SB16_CSP - "SB16 Advanced Signal Processor" +reject_firmware sound/isa/sb/sb16_csp.c +clean_blob sound/isa/sb/sb16_csp.c +clean_kconfig sound/isa/Kconfig SND_SB16_CSP +clean_mk CONFIG_SND_SB16_CSP sound/isa/sb/Makefile + +announce SND_WAVEFRONT - "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)" +reject_firmware sound/isa/wavefront/wavefront_fx.c +clean_blob sound/isa/wavefront/wavefront_fx.c +reject_firmware sound/isa/wavefront/wavefront_synth.c +clean_blob sound/isa/wavefront/wavefront_synth.c +clean_kconfig sound/isa/Kconfig SND_WAVEFRONT +clean_mk CONFIG_SND_WAVEFRONT sound/isa/wavefront/Makefile + +announce SND_VX_LIB - Digigram VX soundcards +reject_firmware sound/drivers/vx/vx_hwdep.c +clean_blob sound/drivers/vx/vx_hwdep.c +clean_kconfig sound/drivers/Kconfig SND_VX_LIB +clean_mk CONFIG_SND_VX_LIB sound/drivers/vx/Makefile + +announce SND_DARLA20 - "(Echoaudio) Darla20" +clean_blob sound/pci/echoaudio/darla20.c +clean_kconfig sound/pci/Kconfig SND_DARLA20 +clean_mk CONFIG_SND_DARLA20 sound/pci/echoaudio/Makefile + +announce SND_DARLA24 - "(Echoaudio) Darla24" +clean_blob sound/pci/echoaudio/darla24.c +clean_kconfig sound/pci/Kconfig SND_DARLA24 +clean_mk CONFIG_SND_DARLA24 sound/pci/echoaudio/Makefile + +announce SND_ECHO3G - "(Echoaudio) 3G cards" +clean_blob sound/pci/echoaudio/echo3g.c +clean_kconfig sound/pci/Kconfig SND_ECHO3G +clean_mk CONFIG_SND_ECHO3G sound/pci/echoaudio/Makefile + +announce SND_GINA20 - "(Echoaudio) Gina20" +clean_blob sound/pci/echoaudio/gina20.c +clean_kconfig sound/pci/Kconfig SND_GINA20 +clean_mk CONFIG_SND_GINA20 sound/pci/echoaudio/Makefile + +announce SND_GINA24 - "(Echoaudio) Gina24" +clean_blob sound/pci/echoaudio/gina24.c +clean_kconfig sound/pci/Kconfig SND_GINA24 +clean_mk CONFIG_SND_GINA24 sound/pci/echoaudio/Makefile + +announce SND_INDIGO - "(Echoaudio) Indigo" +clean_blob sound/pci/echoaudio/indigo.c +clean_kconfig sound/pci/Kconfig SND_INDIGO +clean_mk CONFIG_SND_INDIGO sound/pci/echoaudio/Makefile + +announce SND_INDIGODJ - "(Echoaudio) Indigo DJ" +clean_blob sound/pci/echoaudio/indigodj.c +clean_kconfig sound/pci/Kconfig SND_INDIGODJ +clean_mk CONFIG_SND_INDIGODJ sound/pci/echoaudio/Makefile + +announce SND_INDIGODJX - "(Echoaudio) Indigo DJx" +clean_blob sound/pci/echoaudio/indigodjx.c +clean_kconfig sound/pci/Kconfig SND_INDIGODJX +clean_mk CONFIG_SND_INDIGODJX sound/pci/echoaudio/Makefile + +announce SND_INDIGOIO - "(Echoaudio) Indigo IO" +clean_blob sound/pci/echoaudio/indigoio.c +clean_kconfig sound/pci/Kconfig SND_INDIGOIO +clean_mk CONFIG_SND_INDIGOIO sound/pci/echoaudio/Makefile + +announce SND_INDIGOIOX - "(Echoaudio) Indigo IOx" +clean_blob sound/pci/echoaudio/indigoiox.c +clean_kconfig sound/pci/Kconfig SND_INDIGOIOX +clean_mk CONFIG_SND_INDIGOIOX sound/pci/echoaudio/Makefile + +announce SND_LAYLA20 - "(Echoaudio) Layla20" +clean_blob sound/pci/echoaudio/layla20.c +clean_kconfig sound/pci/Kconfig SND_LAYLA20 +clean_mk CONFIG_SND_LAYLA20 sound/pci/echoaudio/Makefile + +announce SND_LAYLA24 - "(Echoaudio) Layla24" +clean_blob sound/pci/echoaudio/layla24.c +clean_kconfig sound/pci/Kconfig SND_LAYLA24 +clean_mk CONFIG_SND_LAYLA24 sound/pci/echoaudio/Makefile + +announce SND_MIA - "(Echoaudio) Mia" +clean_blob sound/pci/echoaudio/mia.c +clean_kconfig sound/pci/Kconfig SND_MIA +clean_mk CONFIG_SND_MIA sound/pci/echoaudio/Makefile + +announce SND_MONA - "(Echoaudio) Mona" +clean_blob sound/pci/echoaudio/mona.c +clean_kconfig sound/pci/Kconfig SND_MONA +clean_mk CONFIG_SND_MONA sound/pci/echoaudio/Makefile + +announce SND_'<(Echoaudio)>' - "(Echoaudio) all of the above" +reject_firmware sound/pci/echoaudio/echoaudio.c +clean_blob sound/pci/echoaudio/echoaudio.c + +announce SND_EMU10K1 - "Emu10k1 (SB Live!, Audigy, E-mu APS)" +reject_firmware sound/pci/emu10k1/emu10k1_main.c +clean_blob sound/pci/emu10k1/emu10k1_main.c +clean_kconfig sound/pci/Kconfig SND_EMU10K1 +clean_mk CONFIG_SND_EMU10K1 sound/pci/emu10k1/Makefile + +announce SND_MIXART - "Digigram miXart" +reject_firmware sound/pci/mixart/mixart_hwdep.c +clean_blob sound/pci/mixart/mixart_hwdep.c +clean_kconfig sound/pci/Kconfig SND_MIXART +clean_mk CONFIG_SND_MIXART sound/pci/mixart/Makefile + +announce SND_PCXHR - "Digigram PCXHR" +reject_firmware sound/pci/pcxhr/pcxhr_hwdep.c +clean_blob sound/pci/pcxhr/pcxhr_hwdep.c +clean_kconfig sound/pci/Kconfig SND_PCXHR +clean_mk CONFIG_SND_PCXHR sound/pci/pcxhr/Makefile + +announce SND_RIPTIDE - "Conexant Riptide" +reject_firmware sound/pci/riptide/riptide.c +clean_blob sound/pci/riptide/riptide.c +clean_kconfig sound/pci/Kconfig SND_RIPTIDE +clean_mk CONFIG_SND_RIPTIDE sound/pci/riptide/Makefile + +# This is ok, patch filenames are supplied as module parameters, and +# they are text files with patch instructions. +#announce SND_HDA_PATCH_LOADER - "Support initialization patch loading for HD-audio" +#reject_firmware sound/pci/hda/hda_hwdep.c +#clean_kconfig sound/pci/hda/Kconfig 'SND_HDA_PATCH_LOADER' + +announce SND_HDA_CODEC_CA0132_DSP - "Support new DSP code for CA0132 codec" +reject_firmware sound/pci/hda/patch_ca0132.c +clean_blob sound/pci/hda/patch_ca0132.c +clean_sed ' +/^config SND_HDA_CODEC_CA0132_DSP$/, /^config / { + s,(ctefx.bin),(/*(DEBLOBBED)*/),; +}' sound/pci/hda/Kconfig 'removed blob name' +clean_kconfig sound/pci/hda/Kconfig SND_HDA_CODEC_CA0132_DSP +# There are no separate source files or Makefile entries for the _DSP option. +clean_mk CONFIG_SND_HDA_CODEC_CA0132 sound/pci/hda/Makefile + +announce SND_HDSP - "RME Hammerfall DSP Audio" +reject_firmware sound/pci/rme9652/hdsp.c +clean_blob sound/pci/rme9652/hdsp.c +clean_kconfig sound/pci/Kconfig SND_HDSP +clean_mk CONFIG_SND_HDSP sound/pci/rme9652/Makefile + +# SND_AICA is no longer disabled, its firmware is Free Software. + +announce SND_MSND_PINNACLE - "Support for Turtle Beach MultiSound Pinnacle" +clean_blob sound/isa/msnd/msnd_pinnacle.h +reject_firmware sound/isa/msnd/msnd_pinnacle.c +clean_blob sound/isa/msnd/msnd_pinnacle.c +clean_blob Documentation/sound/cards/multisound.sh +clean_kconfig sound/isa/Kconfig SND_MSND_PINNACLE +clean_mk CONFIG_SND_MSND_PINNACLE sound/isa/msnd/Makefile + +announce SND_MSND_CLASSIC - "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey" +clean_blob sound/isa/msnd/msnd_classic.h +clean_kconfig sound/isa/Kconfig SND_MSND_CLASSIC +clean_mk CONFIG_SND_MSND_CLASSIC sound/isa/msnd/Makefile + +announce SND_SSCAPE - "Ensoniq SoundScape driver" +reject_firmware sound/isa/sscape.c +clean_blob sound/isa/sscape.c +clean_sed ' +/^config SND_SSCAPE$/, /^config / { + s,"\(scope\|sndscape\)\.co[d?]","/*(DEBLOBBED)*/",g; +}' sound/isa/Kconfig 'removed firmware names' +clean_kconfig sound/isa/Kconfig SND_SSCAPE +clean_mk CONFIG_SND_SSCAPE sound/isa/Makefile + +announce SND_SOC_ADAU1701 - "ADAU1701 SigmaDSP processor" +clean_blob sound/soc/codecs/adau1701.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_ADAU1701 +clean_mk CONFIG_SND_SOC_ADAU1701 sound/soc/codecs/Makefile + +announce SND_SOC_ADAU1761 - "ADAU1761 SigmaDSP processor" +clean_blob sound/soc/codecs/adau1761.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_ADAU1761 +clean_mk CONFIG_SND_SOC_ADAU1761 sound/soc/codecs/Makefile + +announce SND_SOC_ADAU1781 - "ADAU1781 SigmaDSP processor" +clean_blob sound/soc/codecs/adau1781.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_ADAU1781 +clean_mk CONFIG_SND_SOC_ADAU1781 sound/soc/codecs/Makefile + +announce SND_SOC_FSL_EASRC - "Enhanced Asynchronous Sample Rate Converter (EASRC) module support" +reject_firmware sound/soc/fsl/fsl_easrc.c +clean_blob Documentation/devicetree/bindings/sound/fsl,easrc.yaml +clean_kconfig sound/soc/fsl/Kconfig SND_SOC_FSL_EASRC +clean_mk CONFIG_SND_SOC_FSL_EASRC sound/soc/fsl/Makefile + +announce SND_SOC_FSL_XCVR - "NXP Audio Transceiver (XCVR) module support" +reject_firmware sound/soc/fsl/fsl_xcvr.c +clean_blob sound/soc/fsl/fsl_xcvr.c +clean_kconfig sound/soc/fsl/Kconfig SND_SOC_FSL_XCVR +clean_mk CONFIG_SND_SOC_FSL_XCVR sound/soc/fsl/Makefile + +announce SND_SOC_MAX98390 - "Maxim Integrated MAX98390 Speaker Amplifier" +reject_firmware sound/soc/codecs/max98390.c +clean_blob sound/soc/codecs/max98390.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_MAX98390 +clean_mk CONFIG_SND_SOC_MAX98390 sound/soc/codecs/Makefile + +announce SND_SOC_RT5677 - "RT5677 SoC" +reject_firmware sound/soc/codecs/rt5677.c +clean_blob sound/soc/codecs/rt5677.h +clean_blob sound/soc/codecs/rt5677.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_RT5677 +clean_mk CONFIG_SND_SOC_RT5677 sound/soc/codecs/Makefile + +announce SND_SOC_SIGMADSP - "SigmaStudio firmware loader" +maybe_reject_firmware sound/soc/codecs/sigmadsp.c + +announce SND_SOC_ACPI_INTEL_MATCH - undocumented +clean_blob sound/soc/intel/common/soc-acpi-intel-bxt-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-byt-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-cht-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-cnl-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-icl-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-glk-match.c +# clean_blob sound/soc/intel/common/soc-acpi-intel-hda-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-kbl-match.c +clean_blob sound/soc/intel/common/soc-acpi-intel-skl-match.c +clean_kconfig sound/soc/intel/Kconfig SND_SOC_ACPI_INTEL_MATCH +clean_mk CONFIG_SND_SOC_ACPI_INTEL_MATCH sound/soc/intel/common/Makefile + +announce SND_SOC_INTEL_CATPT - undocumented +reject_firmware sound/soc/intel/catpt/loader.c +clean_blob sound/soc/intel/catpt/loader.c +clean_kconfig sound/soc/intel/Kconfig SND_SOC_INTEL_CATPT +clean_mk CONFIG_SND_SOC_INTEL_CATPT sound/soc/intel/catpt/Makefile + +announce SND_SOC_INTEL_SKYLAKE - "All Skylake/SST Platforms" +reject_firmware sound/soc/intel/skylake/skl-sst.c +reject_firmware sound/soc/intel/skylake/skl-sst-utils.c +reject_firmware sound/soc/intel/skylake/skl-topology.c +reject_firmware sound/soc/intel/skylake/bxt-sst.c +reject_firmware sound/soc/intel/skylake/cnl-sst.c +clean_blob sound/soc/intel/skylake/skl-nhlt.c +clean_blob sound/soc/intel/skylake/skl-sst.c +clean_blob sound/soc/intel/skylake/skl-topology.c +clean_kconfig sound/soc/intel/Kconfig SND_SOC_INTEL_SKYLAKE +clean_mk CONFIG_SND_SOC_INTEL_SKYLAKE sound/soc/intel/skylake/Makefile + +announce SND_SST_ATOM_HIFI2_PLATFORM - "HiFi2 Platforms" +reject_firmware sound/soc/intel/atom/sst/sst.c +reject_firmware sound/soc/intel/atom/sst/sst_loader.c +clean_kconfig sound/soc/intel/Kconfig SND_SST_ATOM_HIFI2_PLATFORM +clean_mk CONFIG_SND_SST_ATOM_HIFI2_PLATFORM sound/soc/intel/atom/sst/Makefile + +announce SND_SST_ATOM_HIFI2_PLATFORM_PCI - "PCI HiFi2 (Merrifield) Platforms" +clean_blob sound/soc/intel/atom/sst/sst_pci.c +clean_kconfig sound/soc/intel/Kconfig SND_SST_ATOM_HIFI2_PLATFORM_PCI +clean_mk CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI sound/soc/intel/atom/sst/Makefile + +announce SND_SOC_RT5514 - undocumented +reject_firmware sound/soc/codecs/rt5514.c +clean_blob sound/soc/codecs/rt5514.h +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_RT5514 +clean_mk CONFIG_SND_SOC_RT5514 sound/soc/codecs/Makefile + +announce SND_SOC_WM0010 - "WM0010 DSP driver" +reject_firmware sound/soc/codecs/wm0010.c +clean_blob sound/soc/codecs/wm0010.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_WM0010 +clean_mk CONFIG_SND_SOC_WM0010 sound/soc/codecs/Makefile + +# It's not clear that wm2000_anc.bin is pure data. +# Check with developer, clean up for now. +announce SND_SOC_WM2000 - "WM2000 ALSA Soc Audio codecs" +reject_firmware sound/soc/codecs/wm2000.c +clean_blob sound/soc/codecs/wm2000.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_WM2000 +clean_mk CONFIG_SND_SOC_WM2000 sound/soc/codecs/Makefile + +announce SND_SOC_WM8994 - "WM8994 ALSA Soc Audio codecs" +reject_firmware sound/soc/codecs/wm8958-dsp2.c +clean_blob sound/soc/codecs/wm8958-dsp2.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_WM8994 +clean_mk CONFIG_SND_SOC_WM8994 sound/soc/codecs/Makefile + +# The coeff files might be pure data, but the wmfw surely aren't. +announce SND_SOC_WM_ADSP - "Wolfson ADSP support" +reject_firmware sound/soc/codecs/wm_adsp.c +clean_blob sound/soc/codecs/wm_adsp.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_WM_ADSP +clean_mk CONFIG_SND_SOC_WM_ADSP sound/soc/codecs/Makefile + +announce SND_SOC_ZL38060 - "Microsemi ZL38060 Connected Home Audio Processor" +reject_firmware sound/soc/codecs/zl38060.c +clean_blob sound/soc/codecs/zl38060.c +clean_kconfig sound/soc/codecs/Kconfig SND_SOC_ZL38060 +clean_mk CONFIG_SND_SOC_ZL38060 sound/soc/codecs/Makefile + +announce SND_SOC_SH4_SIU - "ALSA SoC driver for Renesas SH7343, SH7722 SIU peripheral" +reject_firmware sound/soc/sh/siu_dai.c +clean_blob sound/soc/sh/siu_dai.c +clean_kconfig sound/soc/sh/Kconfig SND_SOC_SH4_SIU +clean_mk CONFIG_SND_SOC_SH4_SIU sound/soc/sh/Makefile + +# These download firmware indeed, but it is Free firmware. + +# announce SND_SOC_SOF - "Sound Open Firmware Support" +# reject_firmware sound/soc/sof/loader.c +# reject_firmware sound/soc/sof/topology.c +# clean_kconfig sound/soc/sof/Kconfig SND_SOC_SOF +# clean_mk CONFIG_SND_SOC_SOF sound/soc/sof/Makefile + +# announce SND_SOC_SOF_ACPI - "SOF ACPI enumeration support" +# clean_blob sound/soc/sof/sof-acpi-dev.c +# clean_kconfig sound/soc/sof/Kconfig SND_SOC_SOF_ACPI +# clean_mk CONFIG_SND_SOC_SOF_ACPI sound/soc/sof/Makefile + +# announce SND_SOC_SOF_PCI - "SOF PCI enumeration support" +# clean_blob sound/soc/sof/sof-pci-dev.c +# clean_kconfig sound/soc/sof/Kconfig SND_SOC_SOF_PCI +# clean_mk CONFIG_SND_SOC_SOF_PCI sound/soc/sof/Makefile + +# announce SND_SOC_SOF_INTEL_COMMON - "SOF support for Intel audio DSPs" +# clean_blob sound/soc/sof/intel/hda.c +# clean_kconfig sound/soc/sof/intel/Kconfig SND_SOC_SOF_HDA_COMMON +# clean_mk CONFIG_SND_SOC_SOF_HDA_COMMON sound/soc/sof/intel/Makefile + +announce SND_USB_6FIRE - "TerraTec DMX 6Fire USB" +reject_firmware sound/usb/6fire/firmware.c +clean_blob sound/usb/6fire/firmware.c +clean_kconfig sound/usb/Kconfig SND_USB_6FIRE +clean_mk CONFIG_SND_USB_6FIRE sound/usb/6fire/Makefile + +############ +# Watchdog # +############ + +announce ZIIRAVE_WATCHDOG - "Zodiac RAVE Watchdog Timer" +reject_firmware drivers/watchdog/ziirave_wdt.c +clean_blob drivers/watchdog/ziirave_wdt.c +clean_kconfig drivers/watchdog/Kconfig ZIIRAVE_WATCHDOG +clean_mk CONFIG_ZIIRAVE_WATCHDOG drivers/watchdog/Makefile + +####### +# FIS # +####### + +announce FSI_MASTER_AST_CF - "FSI master based on Aspeed ColdFire coprocessor" +reject_firmware drivers/fsi/fsi-master-ast-cf.c +clean_blob drivers/fsi/fsi-master-ast-cf.c +clean_kconfig drivers/fsi/Kconfig FSI_MASTER_AST_CF +clean_mk CONFIG_FSI_MASTER_AST_CF drivers/fsi/Makefile + +####### +# Bus # +####### + +# This takes firmware names from devicetree files, too likely to be +# binary blobs offered by a hardware. +announce I2C_SLAVE_EEPROM - "I2C eeprom slave driver" +reject_firmware drivers/i2c/i2c-slave-eeprom.c +clean_kconfig drivers/i2c/Kconfig I2C_SLAVE_EEPROM +clean_mk CONFIG_I2C_SLAVE_EEPROM drivers/i2c/Makefile + +announce MHI_BUS - "Modem Host Interface (MHI) bus" +if test -f drivers/bus/mhi/host/boot.c; then + reject_firmware drivers/bus/mhi/host/boot.c + clean_kconfig drivers/bus/mhi/host/Kconfig MHI_BUS + clean_mk CONFIG_MHI_BUS drivers/bus/mhi/host/Makefile +else + reject_firmware drivers/bus/mhi/core/boot.c + clean_kconfig drivers/bus/mhi/Kconfig MHI_BUS + clean_mk CONFIG_MHI_BUS drivers/bus/mhi/core/Makefile +fi + +announce MHI_BUS_PCI_GENERIC - "MHI PCI controller driver" +if test -f drivers/bus/mhi/host/pci_generic.c; then + clean_blob drivers/bus/mhi/host/pci_generic.c + clean_kconfig drivers/bus/mhi/host/Kconfig MHI_BUS_PCI_GENERIC + clean_mk CONFIG_MHI_BUS_PCI_GENERIC drivers/bus/mhi/host/Makefile +else + clean_blob drivers/bus/mhi/pci_generic.c + clean_kconfig drivers/bus/mhi/Kconfig MHI_BUS_PCI_GENERIC + clean_mk CONFIG_MHI_BUS_PCI_GENERIC drivers/bus/mhi/Makefile +fi + +# Greybus + +# I couldn't find any evidence of any Free Software firmware for +# devices that use this bus type, so I'm tentatively disabling it all. +announce GREYBUS_FIRMWARE - "Greybus Firmware Download Class driver" +clean_blob drivers/staging/greybus/firmware.h +reject_firmware drivers/staging/greybus/fw-download.c +clean_blob drivers/staging/greybus/fw-download.c +clean_kconfig drivers/staging/greybus/Kconfig GREYBUS_FIRMWARE +clean_mk CONFIG_GREYBUS_FIRMWARE drivers/staging/greybus/Makefile + +announce GREYBUS_BOOTROM - "Greybus Bootrom Class driver" +reject_firmware drivers/staging/greybus/bootrom.c +clean_blob drivers/staging/greybus/bootrom.c +clean_kconfig drivers/staging/greybus/Kconfig GREYBUS_BOOTROM +clean_mk CONFIG_GREYBUS_BOOTROM drivers/staging/greybus/Makefile + +####### +# SOC # +####### + +announce ARCH_QCOM - "Qualcomm Support" +clean_blob arch/arm64/boot/dts/qcom/msm8998-lenovo-miix-630.dts +clean_blob arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +clean_blob arch/arm64/boot/dts/qcom/sc7180-trogdor-lte-sku.dtsi +clean_blob arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile.dtsi +clean_blob arch/arm64/boot/dts/qcom/sdm845-db845c.dts +clean_blob arch/arm64/boot/dts/qcom/sdm845-mtp.dts +clean_blob arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts +clean_blob arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts +clean_blob arch/arm64/boot/dts/qcom/sm8150-hdk.dts +clean_blob arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts +clean_blob arch/arm64/boot/dts/qcom/sm8150-mtp.dts +clean_blob Documentation/devicetree/bindings/display/msm/gpu.txt +clean_blob arch/arm64/boot/dts/qcom/sm8250-mtp.dts +clean_blob arch/arm64/boot/dts/qcom/qrb5165-rb5.dts +clean_blob arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi +clean_blob arch/arm64/boot/dts/qcom/sm8350-hdk.dts +clean_blob arch/arm64/boot/dts/qcom/sm8350-mtp.dts +if grep -q '/apq8016/' arch/arm64/boot/dts/qcom/apq8016-sbc.dts; then + clean_blob arch/arm64/boot/dts/qcom/apq8016-sbc.dts +fi +clean_kconfig arch/arm/mach-qcom/Kconfig ARCH_QCOM +clean_mk CONFIG_ARCH_QCOM arch/arm64/boot/dts/qcom/Makefile + +announce QCOM_MDT_LOADER - "Qualcomm Peripheral Image Loader" +reject_firmware drivers/soc/qcom/mdt_loader.c +clean_kconfig drivers/soc/qcom/Kconfig QCOM_MDT_LOADER +clean_mk CONFIG_QCOM_MDT_LOADER drivers/soc/qcom/Makefile + +announce QCOM_WCNSS_CTRL - "Qualcomm WCNSS control driver" +reject_firmware drivers/soc/qcom/wcnss_ctrl.c +clean_blob drivers/soc/qcom/wcnss_ctrl.c +clean_blob arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts +clean_kconfig drivers/soc/qcom/Kconfig QCOM_WCNSS_CTRL +clean_mk CONFIG_QCOM_WCNSS_CTRL drivers/soc/qcom/Makefile + +announce KEYSTONE_NAVIGATOR_QMSS - "Keystone Queue Manager Sub System" +reject_firmware drivers/soc/ti/knav_qmss_queue.c +clean_blob drivers/soc/ti/knav_qmss_queue.c +clean_blob Documentation/arm/keystone/knav-qmss.rst +clean_kconfig drivers/soc/ti/Kconfig KEYSTONE_NAVIGATOR_QMSS +clean_mk CONFIG_KEYSTONE_NAVIGATOR_QMSS drivers/soc/ti/Makefile + +announce BRCMSTB_DPFE - "Broadcom STM DPFE driver" +reject_firmware_nowarn drivers/memory/brcmstb_dpfe.c +clean_blob drivers/memory/brcmstb_dpfe.c +clean_kconfig drivers/memory/Kconfig BRCMSTB_DPFE +clean_mk CONFIG_BRCMSTB_DPFE drivers/memory/Makefile + +announce ARCH_MEDIATEK - "MediaTek SoC Support" +clean_blob arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi +clean_blob arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi +clean_blob arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi +clean_kconfig arch/arm/mach-mediatek/Kconfig ARCH_MEDIATEK +clean_mk CONFIG_ARCH_MEDIATEK arch/arm64/boot/dts/mediatek/Makefile + +################# +# Documentation # +################# + +announce Documentation - "non-Free firmware scripts and documentation" +clean_blob Documentation/sound/alsa-configuration.rst +clean_file scripts/get_dvb_firmware +clean_file scripts/extract_xc3028.pl +clean_sed s,usb8388,whatever,g drivers/base/firmware_loader/Kconfig 'removed blob name' + +if $errors; then + echo errors above were ignored because of --force >&2 +else + echo cleaning up has completed successfully, without verification >&2 + # Verification is largely manual, comparing the changes with + # those of a previous known (presumed) good version, e.g. + # git merge the previous known good version onto the current base + # version, and then git diff with this cleaned-up version. + # Creating a tarball of this version, named linux-*.*.tar, + # and running deblob-check on it may also help catch cleaning-up + # errors: .../deblob-check --use-awk -B linux-*.*.tar. +fi + +exit 0 diff --git a/helpers/DATA/linux/deblob-check b/helpers/DATA/linux/deblob-check index 3a69dc7..ffc5769 100644 --- a/helpers/DATA/linux/deblob-check +++ b/helpers/DATA/linux/deblob-check @@ -1,12 +1,39 @@ #! /bin/sh -# deblob-check version 2024-03-05 r19501 -# modified with 2024-03-27 r19512 -# modified with 2024-03-29 r19515 -# modified with 2024-03-29 r19518 -# modified with 2024-04-14 r19529 -# modified with 2024-04-28 r19540 -# modified with 2024-05-23 r19567 +# deblob-check version 2021-10-23 r18408 +# modified with 2021-11-17 r18471 +# modified with 2021-11-18 r18476 +# modified with 2022-01-27 r18550 +# modified with 2022-01-29 r18573 +# modified with 2022-02-23 r18607 +# modified with 2021-12-20 r18515 (partial) +# modified with 2022-03-20 r18637 +# modified with 2022-04-20 r18680 +# modified with 2022-05-09 r18697 +# modified with 2022-06-09 r18767 +# modified with 2022-06-16 r18782 +# modified with 2022-07-10 r18820 (partial) +# modified with 2022-08-25 r18881 +# modified with 2022-09-11 r18905 +# modified with 2022-11-16 r18984 +# modified with 2022-11-27 r18997 (partial) +# modified with 2023-02-01 r19031 +# modified with 2023-03-17 r19120 +# modified with 2023-05-17 r19267 +# modified with 2023-06-09 r19312 +# modified with 2021-12-20 r18515 (more partial) +# modified with 2023-07-24 r19347 +# modified with 2023-08-08 r19366 +# modified with 2023-10-23 r19416 (partial) +# modified with 2023-12-26 r19450 (partial) +# modified with 2024-03-01 r19492 +# modified with 2023-06-12 r19329 (partial) +# modified with 2023-12-26 r19450 (more partial) +# modified with 2023-10-23 r19416 (more partial) +# modified with 2024-07-05 r19593 (partial) +# modified with 2024-10-06 r19637 +# modified with 2024-10-10 r19644 +# modified with 2024-10-18 r19651 # Inspired in gNewSense's find-firmware script. # Written by Alexandre Oliva @@ -1272,7 +1299,7 @@ set_except () { blobname 'dabusb[/]\(firmware\.fw\|bitstream\.bin\)' drivers/media/video/dabusb.c - blob 'static[ ]u32[ ]tigon2\?Fw\(Text\|Rodata\|Data\)\[[(]MAX_\(TEXT\|RODATA\|DATA\)_LEN[/]4[)][ ][+][ ]1\][ ]__\(dev\)\?initdata[ ]=[ ][{][^}]*[}][;]\([\n]static[ ]u32[ ]tigon2\?Fw\(Text\|Rodata\|Data\)\[[(]MAX_\(TEXT\|RODATA\|DATA\)_LEN[/]4[)][ ][+][ ]1\][ ]__\(dev\)\?initdata[ ]=[ ][{][^}]*[}][;]\)*' drivers/net/acenic_firmware.h + blob 'static[ ]u32[ ]tigon2\?Fw\(Text\|Rodata\|Data\)\[[(]MAX_\(TEXT\|RODATA\|DATA\)_LEN[/]4[)][ ][+][ ]1\][ ]__\(dev\)\?initdata[ ]=[ ][{][^}]*[}][;]\([\n]static[ ]u32[ ]tigon2\?Fw\(Text\|Rodata\|Data\)\[[(]MAX_\(TEXT\|RODATA\|DATA\)_LEN[/]4[)][ ][+][ ]1\][ ]__\(dev\)\?initdata[ ]=[ ][{][^}]*[}][;]\)*' drivers/net/acenic_firwmare.h blob '#define[ ]tigon2\?Fw[^ ]*\(Addr\|Len\)[ ]0x[^\n]*\([\n]#define[ ]tigon2\?Fw[^ ]*\(Addr\|Len\)[ ]0x[^\n]*\)\+' drivers/net/acenic_firmware.h blob '\([/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Do[ ]not[ ]try[ ]to[ ]clear[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/][\n][ ]\)\?ace_clear[^;]*[;][\n]\([^}]*[{][^}]*ace_copy[^}]*tigon2\?Fw[^}]*[}]\)*[\n]\+[ ]return[ ]0[;][\n][}]' drivers/net/acenic.c blob 'if[ ][(]\(ACE_IS_TIGON_I[(]ap[)]\|ap->version[ ]==[ ]2\)[)][\n][ ][ ]writel[(]tigon2\?FwStartAddr,[ ][&]regs->Pc[)][;]\([\n][ ]if[ ][(]\(ACE_IS_TIGON_I[(]ap[)]\|ap->version[ ]==[ ]2\)[)][\n][ ][ ]writel[(]tigon2\?FwStartAddr,[ ][&]regs->Pc[)][;]\)*' drivers/net/acenic.c @@ -1425,7 +1452,7 @@ set_except () { # This driver enables the user to update the non-Free BIOS, but it # only issues a firmware request if specifically told to. It - # doesn't require any non-Free firmware to function, and it + # doesn't require any non-Free firwmare to function, and it # doesn't actually recommend users to perform updates, so I'm # leaving it in. accept '[ ][ ][ ]req_firm_rc[ ]=[ ]request_firmware_nowait[(][^;]*,[ ]["]dell_rbu["],' drivers/firmware/dell_rbu.c @@ -1559,7 +1586,7 @@ set_except () { blobname '930-fpga\.bin' drivers/usb/atm/ueagle-atm.c blobname 'CMV[x9ae][yip]\.bin\(\.v2\)\?' drivers/usb/atm/ueagle-atm.c - blobname 'isight\.fw' drivers/usb/misc/isight_firmware.c + blobname 'isight\.fw' drivers/usb/misc/isight_firwmare.c blobname '\(i1480-\(pre-phy\|usb\|phy\)\|ptc\)-0\.0\.bin' drivers/uwb/i1480/dfu/usb.c @@ -1669,7 +1696,7 @@ set_except () { blobna 'The[ ]hcwamc\.rbf[ ]firmware[ ]file[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/media/video/bt8xx/bttv-cards.c blobname 'v4l-cx23418-dig\.fw' drivers/media/video/cx18/cx18-av-firmware.c - blobname 'v4l-cx23418-[ac]pu\.fw' drivers/media/video/cx18/cx18-firmware.c + blobname 'v4l-cx23418-[ac]pu\.fw' drivers/media/video/cx18/cx18-firwmare.c blobname 'v4l-cx23885-enc\.fw' 'drivers/media/video/cx23\(1xx\|885\)/cx23885-417.c' @@ -1677,7 +1704,7 @@ set_except () { blobname 'v4l-cx2341x-\(enc\|dec\)\.fw' include/media/cr2341x.h - blobname 'v4l-cx2341x-init\.mpg' drivers/media/video/ivtv/ivtv-firmware.c + blobname 'v4l-cx2341x-init\.mpg' drivers/media/video/ivtv/ivtv-firwmare.c blobname 'v4l-pvrusb2-\(2[49]\|73\)xxx-01\.fw' drivers/media/video/pvrusb2/pvrusb2-devattr.c @@ -3852,8 +3879,7 @@ set_except () { blobname 'wil6210\.fw' drivers/net/wireless/ath/wil6210/wil6210.h blobna 'FW[ ]Version:[ ]%d_%d_%d' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c blobna '\([,][\n \t]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)\+' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c - # Moved down. - # blobname 'iwlwifi-8000' drivers/net/wireless/iwlwifi/iwl-8000.c + blobname 'iwlwifi-8000' drivers/net/wireless/iwlwifi/iwl-8000.c blobname '["]-["][ ]__stringify[(]api[)][ ]["]\.ucode["]' drivers/net/wireless/iwlwifi/iwl-8000.c blobname '%s%s-%s\.ucode' drivers/net/wireless/iwlwifi/iwl-drv.c blobname 'rtlwifi[/]rtl8723efw\.bin' drivers/net/wireless/rtlwifi/rtl8723ae/sw.c @@ -3937,7 +3963,7 @@ set_except () { accept '[\t]rc[ ]=[ ]mwl8k_request_firmware[(]' drivers/net/wireless/mwl8k.c accept 'static[ ]int[ ]p54spi_request_firmware[(]' drivers/net/wireless/p54/p54spi.c accept '[\t]ret[ ]=[ ]p54spi_request_firmware[(]' drivers/net/wireless/p54/p54spi.c - accept 'static[ ]int[ ]rt2x00lib_request_firmware[(]' drivers/net/wireless/rt2x00/rt2x00firmware.c + accept 'static[ ]int[ ]rt2x00lib_request_firmware[(]' drivers/net/wireless/rt2x00/rt2x00firwmare.c accept '[\t][\t]retval[ ]=[ ]rt2x00lib_request_firmware[(]' drivers/net/wireless/rt2x00/rt2x00firmware.c accept '[\t][\t]*wl1271_error[(]["]request_firmware_nowait[ ]failed' drivers/net/wireless/ti/wlcore/main.c accept '[\t][\t]nfc_err[(][&]drv->pdev->dev[,][ ]["]request_firmware[ ]failed' drivers/nfc/nfcwilink.c @@ -4033,8 +4059,7 @@ set_except () { blobname 'firmware-4\.bin' drivers/net/wireless/ath/ath10k/hw.h blobname 'brcm[/]brcmfmac43340-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c blobname 'iwlwifi-7260-' drivers/net/wireless/iwlwifi/pcie/7000.c - # Moved down. - # blobname 'iwlwifi-8000' drivers/net/wireless/intel/iwlwifi/iwl-8000.c + blobname 'iwlwifi-8000' drivers/net/wireless/intel/iwlwifi/iwl-8000.c blobname 'iwl_nvm_8000B\.bin' drivers/net/wireless/iwlwifi/iwl-8000.c blobname 'mrvl[/]sd8801_uapsta\.bin' drivers/net/wireless/mwifiex/sdio.h blobname 'mrvl[/]usb8801_uapsta\.bin' drivers/net/wireless/mwifiex/usb.h @@ -4439,8 +4464,7 @@ set_except () { blobname 'pre-cal-%s-%s\.bin' drivers/net/wireless/ath/ath10k/core.c accept '[\t]fw_file->firmware[ ]=[ ]ath10k_fetch_fw_file' drivers/net/wireless/ath/ath10k/core.c blobname 'brcmfmac4356-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c - # Moved down. - # blobname 'iwlwifi-9000\(-pu-[ab]0-\(jf\|lc\)-[ab]0-\|-\|\)' drivers/net/wireless/intel/iwlwifi/iwl-9000.c + blobname 'iwlwifi-9000\(-pu-[ab]0-\(jf\|lc\)-[ab]0-\|-\|\)' drivers/net/wireless/intel/iwlwifi/iwl-9000.c blobname 'iwlwifi-9260-th-a0-\(jf\|lc\)-a0-' drivers/net/wireless/intel/iwlwifi/iwl-9000.c blobname 'mrvl[/]pcie8897_uapsta_a0\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h blobname 'mrvl[/]pcieuart8997_combo\(_v2\)\?\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h @@ -4651,8 +4675,7 @@ set_except () { accept '[\t]if[ ][(]of_property_read_bool[(]np[,][ ]["]qca[,]no-eeprom["][)][)][ ][{][\n][\t]*[/][*][ ]ath9k-eeprom--\.bin[ ][*][/][\n][\t]*scnprintf[(]eeprom_name[,][ ]sizeof[(]eeprom_name[)][,][\n][\t ]*["]ath9k-eeprom-%s-%s\.bin["][,]' drivers/net/wireless/ath/ath9k/init.c blobname 'iwlwifi-3168-' drivers/net/wireless/intel/iwlwifi/iwl-7000.c blobname 'iwlwifi-8265-' drivers/net/wireless/intel/iwlwifi/iwl-8000.c - # Moved down. - # blobname 'iwlwifi-[0-9][^"\n\t ]*-' drivers/net/wireless/intel/iwlwifi/iwl-8000.c + blobname 'iwlwifi-[0-9][^"\n\t ]*-' drivers/net/wireless/intel/iwlwifi/iwl-8000.c blobname 'a530v3_gpmu\.fw2' drivers/gpu/drm/msm/adreno/adreno_device.c # New in 4.11. @@ -4777,8 +4800,7 @@ set_except () { blobname 'dvb-tuner-si2141-a10-01\.fw' drivers/media/tuners/si2157_priv.h blobname 'firmware-6\.bin' drivers/net/wireless/ath/ath10k/hw.h blobname '[/][*][ ]the[ ]firmware-6\.bin[ ]blob[ ][*][/]' drivers/net/wireless/ath/ath10k/hw.h - # Moved down. - # blobname 'iwlwifi-9260-th-b0-\(jf\|lc\)-b0-' drivers/net/wireless/intel/iwlwifi/iwl-9000.c + blobname 'iwlwifi-9260-th-b0-\(jf\|lc\)-b0-' drivers/net/wireless/intel/iwlwifi/iwl-9000.c blobname 'iwlwifi-QuIcp-a0-hrcdb-a0-' drivers/net/wireless/intel/iwlwifi/iwl-a000.c blobname 'git:[/][/]git\.kernel\.org[/][^"\n]*firmware\.git' drivers/net/wireless/intel/iwlwifi/iwl-drv.c blobname 'rtlwifi[/]rtl8723befw_36\.bin' drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c @@ -4854,8 +4876,7 @@ set_except () { accept '[\t]\(complete\|init_completion\|[\t]wait_for_completion\)[(][&]bus->request_firmware_complete[)]' drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c accept '[\t]ret[ ]=[ ]reject_firmware_nowait[(][^)]*[,][ ]qtnf_firmware_load[)][;][\n][\t]*if[ ][(]ret[ ][<][ ]0[)][\n][\t]*pr_err[(]["]request_firmware_nowait[ ]error' drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c blobname '\(adsp\|slpi\)\.mdt' drivers/remoteproc/qcom_adsp_pil.c - # Moved down to allow for longer match in non-NDA regexp engines. - # blobname 'wcnss\.mdt' drivers/remoteproc/qcom_wcnss.c + blobname 'wcnss\.mdt' drivers/remoteproc/qcom_wcnss.c # New in 4.14 (up to rc5). blobname 'amdgpu[/]vega10_acg_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c @@ -4918,8 +4939,7 @@ set_except () { # pattern appears too late. An earlier pattern that matches # iwlwifi-9000 alone and starts with 'iwlwifi-9000\(' needed # adjusting as well. - # Moved down. - # blobname 'iwlwifi-9000-pu-b0-jf-b0-' drivers/net/wireless/intel/iwlwifi/cfg/9000.c + blobname 'iwlwifi-9000-pu-b0-jf-b0-' drivers/net/wireless/intel/iwlwifi/cfg/9000.c # New in 4.15 (up to rc6). accept '[\t]*0[ ][ ][/][*]1\([ ][ ][23456]\)*[*][/]\([ ][ ][789]\)*\([\n][\t]*\([ ]*[1-9][0-9]*\)*\)*[\n][\t]*100' arch/arm/boot/dts/imx6q-pistachio.dts @@ -5236,8 +5256,7 @@ set_except () { blobname 'ctefx-desktop\.bin' sound/pci/hda/patch_ca0132.c defsnc 'static[ ]const[ ]unsigned[ ]int[ ]lpf[123]_default_tap\[\][ ]=' sound/soc/meson/axg-pdm.c blobname 'eboard\.bin' 'drivers/net/wireless/ath/ath10k/\(hw\.h\|core\.c\)' - # Moved down. - # blobname 'iwlwifi-\(Qu\(Qnj\)\?-b0-hr-b0\|su-z0\|Qu-b0-jf-b0\)-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c + blobname 'iwlwifi-\(Qu\(Qnj\)\?-b0-hr-b0\|su-z0\|Qu-b0-jf-b0\)-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c blobname 'modem\.b%02d' drivers/remoteproc/qcom_q6v5_mss.c # New in 4.20-rc7. blobname 'amdgpu[/]polaris1[01]_k2_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c @@ -5352,8 +5371,7 @@ set_except () { # blobname '\(sof\|reef\)-bdw\(\.ri\|-\(rt286\|rt5677\|rt5640\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c # blobname '\(sof\|reef\)-icl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-icl-match.c blobna '[/][*][ ]brcmfmac4366c-pcie\.\(ap\.\)\?bin[ ]from[ ]linux-firmware\.git[ ]commit[ ][0-9a-f]*[ ][*][/]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c - # Moved down. - # blobname 'iwlwifi-[^ ]*-[ab]0-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c + blobname 'iwlwifi-[^ ]*-[ab]0-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c blobname 'iwlwifi-\(\(QuZ-a0-hr\|QuQnj-b0-jf\|so-a0-\(jf\|hr\)\)-b0\|\(cc\|\(so\|ty\)-a0-gf\)-a0\)-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c # New in 5.1.2, 5.0.16, 4.19.43, 4.14.119, and 4.9.176. @@ -5896,7 +5914,7 @@ set_except () { blobname 'microchip[/]mscc_vsc8574_revb_int8051_29e8.bin' drivers/net/phy/mscc/mscc.h # This driver enables the user to update the non-Free BIOS, but it # only issues a firmware request if specifically told to. It - # doesn't require any non-Free firmware to function, and it + # doesn't require any non-Free firwmare to function, and it # doesn't actually recommend users to perform updates, so I'm # leaving it in. accept '[\t]*pr_err[(]["]request_firmware_nowait[ ]failed' drivers/platform/x86/dell_rbu.c @@ -6107,8 +6125,7 @@ set_except () { blobname 'rtl_bt[/]rtl8852au_fw\.bin' drivers/bluetooth/btrtl.c blobname 'qca[/]nvm_usb_%08x_%04x\.bin' drivers/bluetooth/btusb.c blobname 'amdgpu[/]%s_toc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - # Moved down, after %s_cap and %s.bin under 5.18-rc. - # blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c blobname 'amdgpu[/]vangogh_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c blobname 'amdgpu[/]dimgrey_cavefish_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c blobname 'amdgpu[/]vangogh_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c @@ -6325,6 +6342,10 @@ set_except () { # Catch other names likely to appear in BRCMF_FW*_DEF strings in these files. blobna 'brcmfmac43[^";) \t\n]*\(-sdio\|-pcie\)\?' drivers/net/wireless/broadcom/brcm80211/brcmfmac/'\(sdio\|pcie\|usb\)\.c' + # Trisquel changes for Aramo + blobname 'mediatek[/]WIFI_RAM_CODE_MT7922_1\.bin' drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h + blobname 'mediatek[/]WIFI_MT7922_patch_mcu_1_1_hdr\.bin' drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h + # New in 5.15.3-gnu and 5.14.19-gnu. blobna '[/][*][ ]linux-firmware\.git[ ]hash[ ][0-9a-f]*[ ][*][/]' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -6332,93 +6353,12 @@ set_except () { defsnc 'static[ ]const[ ]u32[ ]____cacheline_aligned[ ]ck\[32\][ ]=' lib/crypto/sm4.c defsnc 'static[ ]const[ ]u8[ ]____cacheline_aligned[ ]sbox\[256\][ ]=' lib/crypto/sm4.c - # New in 5.16-rc. - blobname 'imx[/]dsp[/]hifi4\.bin' Documentation/devicetree/bindings/dsp/fsl,dsp.yaml - accept '[ ]*\[[ ]\(0x[1248]0*[ \n,]*\)*\]' Documentation/devicetree/bindings/leds/register-bit-led.yaml - accept '[ ]*\[0[,][ ]\(\(1[6789]\|2[012]\)[02468]0[, \n]*\)*\]' Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml - blobname 'qcom[/]apq8016[/]\(\(mba\|modem\|wcnss\)\.mbn\|WCNSS_qcom_wlan_nv_sbc\.bin\)' arch/arm64/boot/dts/qcom/apq8016-sbc.dts - blobname 'qcom[/]msm8996[/]gemini[/]\(adsp\|a530_zap\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts - blobname 'qcom[/]msm8996[/]scorpio[/]\(adsp\|a530_zap\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-scorpio.dts - blobname 'qcom[/]sa8155p[/][ac]dsp\.mdt' arch/arm64/boot/dts/qcom/sa8155p-adp.dts - accept '[ ][*][ ]firmware_request_builtin\(_buf\)\?[(][)][ ]-[ ]load[ ]builtin[ ]firmware' drivers/base/firmware_loader/builtin/main.c - accept 'bool[ ]firmware_request_builtin[(]' drivers/base/firmware_loader/builtin/main.c - accept 'EXPORT_SYMBOL_NS_GPL[(]firmware_request_builtin[,]' drivers/base/firmware_loader/builtin/main.c - accept '[ ][*][\t]callers[ ]such[ ]as[ ]request_firmware_into_buf[(]' drivers/base/firmware_loader/builtin/main.c - accept '[ ][*][\t]request_partial_firmware_into_buf[(]' drivers/base/firmware_loader/builtin/main.c - accept 'bool[ ]firmware_request_builtin_buf[(][^)]*[)][\n][{][\n][\t]if[ ][(]!firmware_request_builtin[(]' drivers/base/firmware_loader/builtin/main.c - accept '\(static[ ]inline[ ]\)\?bool[ ]firmware_request_builtin_buf[(]' drivers/base/firmware_loader/firmware.h - accept '[\t]if[ ][(]firmware_request_builtin_buf[(][^)]*[)][)][ ][{][\n][\t][\t]dev_dbg[(]device[,][ ]["]using[ ]built-in[ ]' drivers/base/firmware_loader/main.c - accept '[\t]if[ ][(]firmware_request_builtin[(][^)]*[)][)][\n][\t][\t]return[ ]0[;][\n][\n][\t]fw_priv[ ]=[ ]lookup_fw_priv[(]' drivers/base/firmware_loader/main.c - accept '[\t]retval[ ]=[ ]firmware_request_builtin[(][&]xfw[,][ ]NONFREE_FIRMWARE[)]' include/linux/firmware.h - blobname 'amdgpu[/]ip_discovery\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c - defsc 'static[ ]const[ ]u16[ ]amdgpu_unsupported_pciidlist\[\][ ]=' drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c - defsnc '[\t]mipi_dbi_command[(]dbi[,][ ]S6D27A1_PANELCTL[,]' drivers/gpu/drm/panel/panel-samsung-s6d27a1.c - defsc 'static[ ]const[ ]struct[ ]joycon_rumble_freq_data[ ]joycon_rumble_frequencies\[\][ ]=' drivers/hid/hid-nintendo.c - defsc 'static[ ]const[ ]struct[ ]joycon_rumble_amp_data[ ]joycon_rumble_amplitudes\[\][ ]=' drivers/hid/hid-nintendo.c - blobname 'goodix[/]%s' drivers/input/touchscreen/goodix_fwupload.c - blobname 'ilitek[/]ili251x.bin' drivers/input/touchscreen/ili210x.c - # These register initializers cover large contiguous regions. - # ~180b and ~512b respectively. It's not inconceivable that they - # contain some code, but it doesn't quite feel like code to me, so - # I'm tentatively leaving it in. - defsc 'static[ ]const[ ]struct[ ]hi846_reg[ ]hi846_init_[24]lane\[\][ ]' drivers/media/i2c/hi846.c - defsnc 'static[ ]const[ ]struct[ ]ov13b10_reg[ ]mipi_data_rate_1120mbps\[\][ ]=' drivers/media/i2c/ov13b10.c - defsnc 'static[ ]const[ ]struct[ ]ov13b10_reg[ ]mode_\(4208x3120\|4160x\(3120\|2340\)\|2104x1560\|2080x1170\)_regs\[\][ ]=' drivers/media/i2c/ov13b10.c - defsnc 'static[ ]const[ ]unsigned[ ]char[ ]jpeg_image_red\[\][ ]=' drivers/media/platform/imx-jpeg/mxc-jpeg.c - blobname 'qcom[/]venus-4\.4[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c - blobname 'qcom[/]vpu-2\.0[/]venus\.mbn' drivers/media/platform/qcom/venus/core.c - defsnc 'static[ ]const[ ]struct[ ]rtl8365mb_jam_tbl_entry[ ]rtl8365mb_init_jam_8365mb_vc\[\][ ]=' drivers/net/dsa/rtl8365mb.c - defsc 'static[ ]const[ ]u8[ ]dummy_\(vlan_\)\?\(tcp\|udp\)_ipv6_packet\[\][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c - blobname 'cal-%s-%s\.bin' drivers/net/wireless/ath/ath11k/qmi.c - blobna '[/][*][ ]cal--\.bin[ ][*][/]' drivers/net/wireless/ath/ath11k/qmi.c - accept '[\t]*return[ ]1[;][ ][/][*][ ]not[ ]present[,][ ]try[ ]firmware_request[ ]' drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c - defsnc '[\t]static[ ]const[ ]u8[ ]chan_list_6ghz\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c - blobname 'mediatek[/]WIFI_\(RAM_CODE_MT7922_1\|MT7922_patch_mcu_1_1_hdr\)\.bin' drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h - defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ][ ]*rtw8852a_pmac_ht20_mcs7_tbl\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852a.c - blobname 'rtw89[/]rtw8852a_fw\.bin' drivers/net/wireless/realtek/rtw89/rtw8852a.c - defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852a_phy_\(bb\|radio[ab]\|nctl\)_regs\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852a_table.c - defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8852a_txpwr_byrate\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852a_table.c - defsnc 'static[ ]const[ ]u8[ ]_txpwr_track_delta_swingidx_5g[ba]_[np]\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852a_table.c - # This names various coredump section names that resemble file - # names, such as eeprom.bin, bootcore_trace.bin, AFAICT extracted - # from the modem. - defsnc 'static[ ]struct[ ]iosm_coredump_file_info[ ]list\[IOSM_NOF_CD_REGION\][ ]=' drivers/net/wwan/iosm/iosm_ipc_devlink.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm6350_pdc_map\[\]' drivers/pinctrl/qcom/pinctrl-sm6350.c - defsnc 'static[ ]const[ ]char[ ]*[*][ ]const[ ]omen_thermal_profile_boards\[\][ ]=' drivers/platform/x86/hp-wmi.c - defsnc 'static[ ]const[ ]int[ ]mlxplat_modular_channels\[\][ ]=' drivers/platform/x86/mlx-platform.c - blobname 'gsl3680-viglen-connect-10\.fw' drivers/platform/x86/touchscreen_dmi.c - accept '\(static[ ]inline[ ]\)\?bool[ ]firmware_request_builtin[(]' include/linux/firmware.h - accept '#define[ ]_MAP_0_32_ASCII_SEG14_NON_PRINTABLE[\t]*[\\][\n][\t]\(0[,]\)*' include/uapi/linux/map_to_14segment.h - defsnc '[\t]struct[ ]some_bytes[ ]\(control\|middle\|three\|five\|overlap\(_expected\)\?\|complete\|after\|startat\)[ ]=' lib/memcpy_kunit.c - defsnc '[ \t]*static[ ]const[ ]\(unsigned\|U32\)[ ]DeBruijnClz\[32\][ ]=' lib/zstd/common/'\(bitstream\)zstd_internal\)\.h' - defsnc 'static[ ]const[ ]unsigned[ ]BIT_mask\[\][ ]=' lib/zstd/common/bitstream.h - defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]LL_bits\[MaxLL[+]1\][ ]=' lib/zstd/common/zstd_internal.h - defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]S16[ ]LL_defaultNorm\[MaxLL[+]1\][ ]=' lib/zstd/common/zstd_internal.h - defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]ML_bits\[MaxML[+]1\][ ]=' lib/zstd/common/zstd_internal.h - defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]S16[ ]ML_defaultNorm\[MaxML[+]1\][ ]=' lib/zstd/common/zstd_internal.h - defsnc '[ \t]*static[ ]const[ ]BYTE[ ]LL_Code\[64\][ ]=' lib/zstd/compress/zstd_compress_internal.h - defsnc '[ \t]*static[ ]const[ ]BYTE[ ]ML_Code\[128\][ ]=' lib/zstd/compress/zstd_compress_internal.h - defsnc '[ \t]*static[ ]const[ ]int[ ]DeBruijnBytePos\[\(64\|32\)\][ ]=' lib/zstd/common/zstd_compress_internal.h - defsnc '[ \t]*static[ ]unsigned[ ]const[ ]kInverseProbabilityLog256\[256\][ ]=' lib/zstd/common/zstd_compress_sequences.c - defsnc 'static[ ]U64[ ]ZSTD_ldm_gearTab\[256\][ ]=' lib/zstd/compress/zstd_ldm_geartab.h - defsc 'static[ ]const[ ]ZSTD_seqSymbol[ ]\(LL\|OF\|ML\)_defaultDTable\[[^]]*\][ ]=' lib/zstd/decompress/zstd_decompress_block.c - defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]LL_base\[MaxLL[+]1\][ ]=' lib/zstd/common/zstd_decompress_internal.h - defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]OF_\(base\|bits\)\[MaxOff[+]1\][ ]=' lib/zstd/common/zstd_decompress_internal.h - defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U32[ ]ML_base\[MaxML[+]1\][ ]=' lib/zstd/common/zstd_decompress_internal.h - defsnc 'static[ ]const[ ]struct[ ]cs35l41_pll_sysclk_config[ ]cs35l41_pll_sysclk\[\][ ]=' sound/soc/codecs/cs35l41.c - defsnc 'static[ ]const[ ]struct[ ]cs35l41_fs_mon_config[ ]cs35l41_fs_mon\[\][ ]=' sound/soc/codecs/cs35l41.c - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5682s_reg\[\][ ]=' sound/soc/codecs/rt5682s.c - accept 'static[ ]int[ ]wm_adsp_request_firmware_files\?[(]' sound/soc/codecs/wm_adsp.c - accept '[\t]*\(ret[ ]=[ ]\)\?wm_adsp_request_firmware_files\?[(]' sound/soc/codecs/wm_adsp.c - blobname 'qcom[/]%s[/]%s-tplg\.bin' sound/soc/qcom/qdsp6/topology.c - blobname '%s-%s-%s\.%s' sound/soc/codecs/wm_adsp.c - # New in 5.16.3, 5.15.17, 5.10.94, 5.4.174, 4.19.226, 4.14.263. accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(p1100\|s660\|p7500\)_properties[ ]=[ ][{][\n]\([ ]\.\(caps\|usb_ctrl\|size_of_priv\)[ ]*=[ ][^",]*,[\n]*\)*[ ]\.firmware[ ]*=[ ]' drivers/media/usb/dvb-usb/dw2102.c # New in 5.16.4, 5.15.18, 5.10.95. blob '#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)\(_V15\)\?[ ]*[0-9]\+\([\n]#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)\(_V15\)\?[ ]*[0-9]\+\)*' 'drivers/net/\(bnx2x[/]\)\?bnx2x_hsi\.h' - blob '#define[ ]FW_FILE_VERSION\(_V15\)\?\([ ]*[\\][\n][ ]__stringify[(]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\(_V15\)\?[)]\([ ]["][.]["]\)\?\)\+' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' + blob '#define[ ]FW_FILE_VERSION\(_V15\)\?\([ ]*[\\][\n][ ]__stringify[(]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\(_V15\)\?[)]\([ ]["][.]["]\)\?\)\+\([\n]\+#define[ ]FW_FILE_VERSION\(_V15\)\?\([ ]*[\\][\n][ ]__stringify[(]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\(_V15\)\?[)]\([ ]["][.]["]\)\?\)\+\)*' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-["][ ]FW_FILE_VERSION\(_V15\)\?[ ]["]\.fw' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-\([0-9.%d]*\.fw\)\?' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c' blobna '\([,][\n \t]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)\+' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c @@ -6429,55 +6369,10 @@ set_except () { # New in 5.16.11, 5.15.25, 5.10.102. blobname 'gsl1680-rwc-nanote-p8\.fw' drivers/platform/x86/touchscreen_dmi.c - # New in 6.11.3, 6.10.14, 6.6.55, 6.1.113, 5.15.168, 5.10.227. - blobname 'gsl1680-rwc-nanote-next\.fw' drivers/platform/x86/touchscreen_dmi.c + # New in 5.15.27. + defsc 'static[ ]const[ ]u16[ ]amdgpu_unsupported_pciidlist\[\][ ]=' drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c - # New in 5.17-rc. - accept '[ ]*Index\([ ]*\(CPU\|IRQ\|Thr\)-[0-9]*\)*\([\n]\([ ]*[0-9]*\)*\)*' Documentation/tools/rtla/rtla-osnoise-hist.rst - accept '[\t]*nvidia[,]emc-configuration[ ]=[ ]*<[ \t\n0-9xa-f]*>[;]' 'arch/arm/boot/dts/tegra30-\(asus-tf\(201\|300tg\?\|700t\)\|pegatron-chagall\)\.dts' - blobname 'qcom[/]sdm845[/]oneplus6[/]venus\.mbn' 'arch/arm64/boot/dts/qcom/sdm845-oneplus-\(common.dtsi\|beryllium\.dts\)' - blobname 'mediatek[/]BT_RAM_CODE_MT7961_1_2_hdr\.bin' drivers/bluetooth/btmtk.h - blobname 'qca[/]nvm_usb_%08x\(%s\(_%04x\)\?\)\?\.bin' drivers/bluetooth/btusb.c - defsc 'static[ ]const[ ]struct[ ]rcar_gen4_cpg_pll_config[ ]cpg_pll_configs\[4\][ ]=' drivers/clk/renesas/r8a779a0-cpg-mssr.c - blobname 'qat_4xxx_dc\.bin' drivers/crypto/qat/qat_4xxx/adf_4xxx_hw_data.h - blobname 'a506_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c - defsnc 'static[ ]const[ ]u32[ ]hsfreqrange_table\[\]\[2\][ ]=' drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c - blobname 'nvidia[/]tegra\(210\|186\|194\)[/]nvdec\.bin' drivers/gpu/drm/tegra/nvdec.c - accept 'static[ ]const[ ]struct[ ]nvdec_config[ ]nvdec_t\(210\|186\|194\)_config[ ]=[ ][{][\n][ ]\.firmware[ ]*=[ ]' drivers/gpu/drm/tegra/nvdec.c - defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad74413r_debounce_map\[AD74413R_DIN_DEBOUNCE_LEN\][ ]=' drivers/iio/addac/ad74413r.c - blobname 'dvb_driver_si2141_rom6[01]\.fw' drivers/media/tuners/si2157_priv.h - blobname 'dvb_driver_si2146_rom11\.fw' drivers/media/tuners/si2157_priv.h - blobname 'dvb_driver_si2147_rom50\.fw' drivers/media/tuners/si2157_priv.h - blobname 'dvb_driver_si2148_rom3[23]\.fw' drivers/media/tuners/si2157_priv.h - blobname 'dvb_driver_si2157_rom50\.fw' drivers/media/tuners/si2157_priv.h - blobname 'dvb_driver_si2178_rom50\.fw' drivers/media/tuners/si2157_priv.h - blobname 'dvb_driver_si2158_rom51\.fw' drivers/media/tuners/si2157_priv.h - blobname 'dvb_driver_si2177_rom50\.fw' drivers/media/tuners/si2157_priv.h - defsc 'const[ ]struct[ ]v4l2_vp9_frame_context[ ]v4l2_vp9_default_probs[ ]=' drivers/media/v4l2-core/v4l2-vp9.c - defsnc 'static[ ]const[ ]u8[ ]hclge_comm_hash_key\[\][ ]=' drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.c - defsnc 'static[ ]const[ ]u16[ ]mlxsw_sp2_acl_bf_crc16_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c - defsnc 'static[ ]const[ ]u16[ ]mlxsw_sp4_acl_bf_crc10_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c - defsnc 'static[ ]const[ ]u8[ ]mlxsw_sp4_acl_bf_crc6_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c - blobname 'regdb\.bin' drivers/net/wireless/ath/ath11k/hw.h - blobname 'mediatek[/]mt7915_eeprom\(_dbdc\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sdx65_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sdx65.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8450_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8450.c - blobname 'gsl1680-chuwi-hi8\.fw' drivers/platform/x86/x86-android-tablets.c - blobname 'gt912-tm800a550l\.fw' drivers/platform/x86/x86-android-tablets.c - defsnc 'static[ ]const[ ]u32[ ]bq25890_tspct_tbl\[\][ ]=' drivers/power/supply/bq25890_charger.c - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak4375_reg_defaults\[\][ ]=' sound/soc/codecs/ak4375.c - defsc 'static[ ]const[ ]struct[ ]reg_default[ ]adc3xxx_defaults\[\][ ]=' sound/soc/codecs/tlv320adc3xxx.c - # sof-rn.ri is built out of CONFIG_RENOIR from sof/ project's sources. - accept '[\t]\([\t]\.\|\.default_\)fw_filename[ \t]=[ ]["]sof-rn\.ri["][,]' sound/soc/amd/acp-config.c - accept '[\t]\.nocodec_tplg_filename[ \t]=[ ]["]sof-acp\.tplg["][,]' sound/soc/sof/amd/pci-rn.c - blobna 'For[ ]both[ ]Cherrytrail[ ][(]CHT[)][ ]and[ ]Baytrail[ ][(]BHT[)][ ]the[ ]driver[\n]requires[^\n]*\([\n][^\n]\+\)*\([\n][\n][- ][^\n]*\)*' drivers/staging/media/atomisp/TODO - blobname 'qcom[/]apq8096[/]adsp\.mbn' arch/arm64/boot/dts/qcom/apq8096-db820c.dts - blobname 'qcom[/]sdm845[/]beryllium[/]venus\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts - blobname 'qcom[/]sm7225[/]fairphone4[/]\(adsp\|cdsp\|modem\)\.mdt' arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts - blobname 'qcom[/]sm8350[/]microsoft[/]\(adsp\|cdsp\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dts - blobname 'qcom[/]\(adsp\|cdsp\|ipa_fws\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi - - # New in 5.17. + # New in 5.16.17, 5.15.31, 5.10.108. blobna 'if[ ][(]loaded_fw_\(major\|minor\|eng\|rev\)[ ]\(!=\|<\)[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?\([ ][|][|][\n][\t ]*loaded_fw_\(major\|minor\|eng\|rev\)[ ]\(!=\|<\)[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?\)*[)]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c # New in 5.17.4 and 5.15.35. @@ -6486,835 +6381,85 @@ set_except () { # New in 5.17.6, 5.15.38, 5.10.114, 5.4.192. accept '[ ][*][ ]microcode_bsp_resume[ ]-[ ]Update[ ]boot[ ]CPU[ ]microcode[ ]during[ ]resume' arch/x86/kernel/cpu/microcode/core.c - # New in 5.18-rc. - defsnc 'static[ ]const[ ]u8[ ]irq_prio_[hdl]\[256\][ ]=' arch/arm/mach-rpc/irq.c - blobname 'qcom[/]sdm845[/]axolotl[/]\([ac]dsp\|a630_zap\|ipa_fws\|mba\|modem\|venus\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts - blobname 'qcom[/]samsung[/]w737[/]qc\([ac]dsp\|dsp\(1v\)\?2\|vss\)850\.mbn' arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts - blobname 'qcom[/]samsung[/]w737[/]ipa_fws\.elf' arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts - blobname 'qcom[/]sm8450[/]\([ac]dsp\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-qrd.dts - initnc '__nsau_data[:]' arch/xtensa/lib/modsi3.S - blobname 'rtl_bt[/]rtl8852bu_fw\.bin' drivers/bluetooth/btrtl.c - blobname 'amdgpu[/]%s_cap\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - blobname 'amdgpu[/]vcn_3_1_2\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - blobname 'amdgpu[/]%s\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c - blobname 'amdgpu[/]dcn_3_1_[56]_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - blobname '%s\.bin' drivers/gpu/drm/tiny/panel-mipi-dbi.c - defsnc 'static[ ]unsigned[ ]char[ ]blackwidow_init\[RAZER_BLACKWIDOW_TRANSFER_BUF_SIZE\][ ]=' drivers/hid/hid-razer.c - defsnc '[\t]static[ ]const[ ]u8[ ]sine\[\][ ]=' drivers/media/dvb-frontends/dib7000p.c - defsnc 'static[ ]const[ ]struct[ ]hi847_reg[ ]mipi_data_rate_lane_4\[\][ ]=' drivers/media/i2c/hi847.c - defsnc 'static[ ]const[ ]struct[ ]hi847_reg[ ]mode_\(3264x2448\|1632x1224\)_regs\[\][ ]=' drivers/media/i2c/hi847.c - defsnc 'static[ ]const[ ]struct[ ]og01a1b_reg[ ]mode_1280x1024_regs\[\][ ]=' drivers/media/i2c/og01a1b.c - defsc 'static[ ]const[ ]struct[ ]ov08d10_reg[ ]lane_2_mode_\(3280x2460\|3264x2448\|1632x1224\)\[\][ ]=' drivers/media/i2c/ov08d10.c - accept '[\t]dev_dbg[(]core->dev[,][ ]["]request_firmware[ ]' drivers/media/platform/amphion/vpu_core.c - blobname 'vpu[/]vpu_fw_imx8_\(enc\|dec\)\.bin' drivers/media/platform/amphion/vpu_core.c - defsc 'static[ ]const[ ]u8[ ]dummy_\(\(gre\|udp_tun\|ipv[46]_gtpu\)_ipv[46]_\(tcp\|udp\)\|ipv6_gtp\)_packet\[\][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c - blobname 'mediatek[/]mt79[18]6_\(w[am]\|rom_patch\|eeprom\)\(_mt797[56]\(_dual\|_dbdc\)\?\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h - blobname 'mellanox[/]mlxsw_spectrum[23]\?-\(["][ ]__stringify[(]MLXSW_SP[123]\?_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c - blobname 'rtw89[/]rtw8852c_fw\.bin' drivers/net/wireless/realtek/rtw89/rtw8852c.c - defsnc 'static[ ]const[ ]struct[ ]cdns_dphy_rx_band[ ]bands\[\][ ]=' drivers/phy/cadence/cdns-dphy-rx.c - defsnc 'static[ ]struct[ ]gbe_phy_init_data_fix[ ]gbe_phy_init_fix\[\][ ]=' drivers/phy/marvell/phy-mvebu-a3700-comphy.c - defsnc 'static[ ]const[ ]struct[ ]wpcm450_bank[ ]wpcm450_banks\[WPCM450_NUM_BANKS\][ ]=' drivers/pinctrl/nuvoton/pinctrl-wpcm450.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]qcm2290_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-qcm2290.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sc8280xp_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sc8280xp.c - defsc 'static[ ]const[ ]unsigned[ ]int[ ]bsc_data_pins\[\][ ]=' drivers/pinctrl/renesas/pfc-r8a7740.c - blobname 'wpss\.mdt' drivers/remoteproc/qcom_q6v5_adsp.c - defsnc 'static[ ]const[ ]unsigned[ ]char[ ]zigzag\[\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c - defsnc 'static[ ]const[ ]u32[ ]hw_reorder\[\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c - defsc 'static[ ]const[ ]unsigned[ ]char[ ]hantro_jpeg_header\[\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c - defsnc '[\t]opts\.\(data\|insns\)[ ]=[ ][(]void[ ][*][)]["]' kernel/bpf/preload/iterators/iterators.lskel.h - defsnc '[\t]skel->rodata[ ]=[ ]skel_prep_map_data[(][(]void[ ][*][)]["]' kernel/bpf/preload/iterators/iterators.lskel.h - defsnc 'static[ ]const[ ]u32[ ]____cacheline_aligned[ ]K\[64\][ ]=' lib/crypto/sm3.c - blobname 'tas5805m_dsp_%s\.bin' sound/soc/codecs/tas5805m.c - accept '[\t]*if[ ][(][!]wm_adsp_request_firmware_files\?[(]' sound/soc/codecs/wm_adsp.c - accept 'int[ ]avs_request_firmware[(]' sound/soc/intel/avs/avs.h - blobname 'dsp_basefw\.bin' sound/soc/intel/avs/loader.c - blobname '%s[/]%s[/]dsp_mod_%pUL\.bin' sound/soc/intel/avs/loader.c - accept '[\t]*ret[ ]=[ ]avs_request_firmware[(]' sound/soc/intel/avs/loader.c - accept '\(int[ ]\|[ ][*][ ]\)avs_request_firmware[(]' sound/soc/intel/avs/utils.c - accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n][\t ]*["]%s%s["][,][\n][\t ]*sof_pdata->tplg_filename[,][\n][\t ]*["]\.tplg["]' sound/soc/sof/intel/hda.c - blobname '%s\.sec' drivers/staging/wfx/fwio.c - blobname '%s%s-%s-%s\(-%s\)*\.%s' sound/soc/codecs/wm_adsp.c - # New in 5.18.3, 5.17.14, 5.15.46, 5.10.121. accept 'MODULE_FIRMWARE[(]["]regulatory\.db\(\.p7s\)\?["][)][;]' net/wireless/reg.c # New in 5.18.5, 5.15.48, 5.10.123, 5.4.199, 4.19.248, 4.14.284, 4.9.319. accept 'combination[ ]with[ ]a[ ]microcode[ ]update[.][ ]The[ ]microcode[ ]clears' Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst - # New in 5.19-rc. - # I'm not sure the following pattern matches actual blob names, in - # two senses: it's not clear they're software, and maybe they're - # just examples. I'm tentatively cleaing them up. - blobname 'am\(335\|43\)x-evm-scale-data\.bin' Documentation/devicetree/bindings/soc/ti/wkup-m3-ipc.yaml - blobname 'am335x-bone-scale-data\.bin' arch/arm/boot/dts/am335x-bone-common.dtsi - blobname 'am335x-evm-scale-data\.bin' arch/arm/boot/dts/'am335x-evm\(\|sk\)\.dts' - blobname 'am43x-evm-scale-data\.bin' arch/arm/boot/dts/'am43\(7x-\(gp\|sk\)\|x-epos\)-evm\.dts' - blobname 'qcom[/]apq8096[/]\(mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/apq8096-db802c.dts - blobname 'qcom[/]msm8996[/]gemini[/]\(mba\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts - blobname 'qcom[/]msm8996[/]scorpio[/]\(mba\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-scorpio.dts - blobname 'qcom[/]sdm845[/]beryllium[/]\([ac]dsp\|a630_zap\|mba\|modem\|ipa_fws\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts - blobname 'qcom[/]sm8450[/]\([ac]dsp\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-hdk.dts - defsnc 'static[ ]const[ ]__initconst[ ]u8[ ]certs_selftest_\(keys\|1_\(data\|pkcs7\)\)\[\][ ]=' crypto/asymmetric_keys/selftest.c - blobname 'rtl_bt[/]rtl8852cu_fw\.bin' drivers/bluetooth/btrtl.c - blobname 'amdgpu[/]vcn_4_0_[04]\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - blobname 'amdgpu[/]\(%s\|gc_11_0_[012]\)_imu\.bin' drivers/gpu/drm/amd/amdgpu/imu_v11_0.c - blobname 'amdgpu[/]\(%s\|gc_11_0_[012]\)_mes1\?\.bin' drivers/gpu/drm/amd/amdgpu/mes_v11_0.c - blobname 'amdgpu[/]\(%s\|sdma_6_0_[012]\)\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c - # The asm source for this is drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm, there is no _gfx11.asm. - defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx11_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h - defsnc '[\t]static[ ]const[ ]u8[ ]even_dividers\[\][ ]=' drivers/gpu/drm/i915/display/intel_dpll_mgr.c - defsnc 'static[ ]const[ ]struct[ ]nv3052c_reg[ ]nv3052c_panel_regs\[\][ ]=' drivers/gpu/drm/panel/panel-newvision-nv3052c.c - defsc 'ICE_DECLARE_PKT_TEMPLATE[(]\(\(gre\|udp_tun\|\(vlan_\)\?\(tcp\|udp\)\|ipv[46]_gtpu\)_ipv[46]\(_\(tcp\|udp\)\)\?\|ipv6_gtp\)[)][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c - blobname 'mellanox[/]lc_ini_bundle_%u_%u\.bin' drivers/net/ethernet/mellanox/mlxsw/core_linecards.c - blobname 'mellanox[/]lc_ini_bundle_\(["][ \\\n\t]*__stringify[(]MLXSW_SP\?_FWREV_\(SUB\)\?MINOR[)][ ]["][_.]\)*bin' drivers/net/ethernet/mellanox/mlxsw/spectrum.c - blobname 'mrvl[/]sdiouart8997_combo_v4\.bin' drivers/net/wireless/marvell/mwifiex/sdio.h - blobname 'plfxlc[/]lifi-x[cl]\?\.bin' drivers/net/wireless/purelifi/plfxlc/firmware.c - accept '[\t][\t]dev_err[(][&]intf->dev[,][ ]["][Rr]equest_firmware[ ]' drivers/net/wireless/purelifi/plfxlc/firmware.c - defsnc 'static[ ]const[ ]s8[ ]_txpwr_track_delta_swingidx_[56]g[ba]_[np]\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/net/wireless/realtek/rtw89/'rtw8852[ac]_table\.c' - defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852c_phy_bb_reg\(s\|_gain\)\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852c_table.c - defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852c_phy_\(radio[ab]\|nctl\)_regs\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852c_table.c - defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8852c_txpwr_byrate\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852c_table.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8150_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8150.c - # It's not clear whether this contains code, but it's presumed proprietary, so tentatively disable it. - blobname 'intel[/]ifs[/]%02x-%02x-%02x\.scan' drivers/platform/x86/intel/ifs/load.c - defsnc 'static[ ]const[ ]int[ ]sm5703_buck_voltagemap\[\][ ]=' drivers/regulator/sm5703-regulator.c - blobname 'intel[/]irci_irci_ecr-master_20161208_0213_20170112_1500\.bin' drivers/staging/media/ipu3/ipu3-css-fw.h + # New in 5.18.18, 5.15.61. defsnc '[\t]static[ ]u8[ ]p\[\]\[2\][ ]=' drivers/tty/serial/8250/8250_pci.c - defsnc '[}][ ]cs35l45_pll_refclk_freq\[\][ ]=' sound/soc/codecs/cs35l45-tables.c - defsnc 'static[ ]const[ ]char[ ][*][ ]const[ ]max98396_thermal_thresh_text\[\][ ]=' sound/soc/codecs/max98396.c - # Topology files are presumed not code, but since we block the - # loading of actual firmware by this driver, there's no harm in - # being conservative and blocking them too. These don't seem to - # be built out of SOF. - blobname '\(rt286\|nau8825\|ssm4567\|max98357a\|rt298\|max98373\|da7219\|tdf8532\|i2s-test\|dmic\|hda-%08x\)-tplg\.bin' sound/soc/intel/avs/board_selection.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-rn\.ri["]' sound/soc/sof/amd/pci-rn.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-imx8x\?\.ri["]' sound/soc/sof/imx/imx8.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-imx8m\.ri["]' sound/soc/sof/imx/imx8m.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-bdw\.ri["]' sound/soc/sof/intel/bdw.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(byt\|cht\)\.ri["]' sound/soc/sof/intel/'\(byt\|pci-tng\)\.c' - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(apl\|glk\)\.ri["]' sound/soc/sof/intel/pci-apl.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(cnl\|cfl\|cml\)\.ri["]' sound/soc/sof/intel/pci-cnl.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(icl\|jsl\)\.ri["]' sound/soc/sof/intel/pci-icl.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(tgl\(-h\)\?\|ehl\|adl\(-s\)\?\)\.ri["]' sound/soc/sof/intel/pci-tgl.c - # This is a new naming convention for the sof-*.ri files. SOF - # zephyr build scripts will output either name depending on the - # selected naming convention. - accept '[\t][\t]\[SOF_INTEL_IPC4\][ ]=[ ]["]dsp_basefw\.bin["]' sound/soc/sof/intel/'pci-\(apl\|cnl\|icl\|tgl\)\.c' - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-mt8186\.ri["]' sound/soc/sof/mediatek/mt8186/mt8186.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-mt8195\.ri["]' sound/soc/sof/mediatek/mt8195/mt8195.c - accept '\([ ]*\|[$][(]OUTPUT[)]\)test-libbpf-bpf_object__next_program\.bin' tools/build/feature/Makefile - accept '[\t][\t]test_batched_request_firmware\(\|_into_buf\|_direct\)[$]suffix' tools/testing/selftests/firmware/fw_filesystem.sh - accept '[\t][\t]test_request_firmware_nowait_\(uevent\|custom\)[$]suffix' tools/testing/selftests/firmware/fw_filesystem.sh - accept '[\t]\?test_request_firmware_compressed' tools/testing/selftests/firmware/fw_filesystem.sh # New in 5.19.4, 5.15.63. accept '[\t]if[ ][(]!request_firmware_direct[(][&]fw[,][ ]kpu_profile[,][ ]rvu->dev[)][)]' drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c - # New in 6.0-rc. - blobname 'amdgpu[/]vcn_4_0_2\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - blobname 'amdgpu[/]dcn_3_\(1_4\|2_[01]\)_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - blobname 'a619_gmu\.bin' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'a615_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'nvidia[/]tegra234[/]vic\.bin' drivers/gpu/drm/tegra/vic.c - accept '[ ]\.firmware[ ]=[ ]NVIDIA_TEGRA_234_VIC_FIRMWARE' drivers/gpu/drm/tegra/vic.c - blobname 'netronome[/]serial-%pMF-%02x-%02x\.nffw' drivers/net/ethernet/netronome/nfp/nfp_main.c - initnc '[ ]*[$][ ]cat[ ]count' Documentation/admin-guide/mm/shrinker_debugfs.rst - defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]aria_tv_template\[\][ ]=' crypto/testmgr.h - defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]polyval_tv_template\[\][ ]=' crypto/testmgr.h - defsnc '[\t]static[ ]const[ ]u8[ ]f_subtile_map\[\][ ]=' drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c - defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5640_\(init_setting\|setting_low_res\)\[\][ ]=' drivers/media/i2c/ov5640.c - defsnc 'static[ ]const[ ]u32[ ]can327_bitrate_const\[\][ ]=' drivers/net/can/can327.c - defsc 'ICE_DECLARE_PKT_TEMPLATE[(]pppoe_ipv6_\(tcp\|udp\)[)][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]msm8909_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-msm8909.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm6375_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm6375.c - defsnc 'static[ ]const[ ]u32[ ]sp_resets\[\][ ]=' drivers/reset/reset-sunplus.c - defsc 'static[ ]unsigned[ ]short[ ]translations\[\]\[E_TABSZ\][ ]=' drivers/tty/vt/consolemap.c - defsnc 'static[ ]const[ ]u32[ ]x[12]\[256\][ ]=' include/crypto/aria.h - # Built out of the rembrandt_config in SOF sources. - accept '[\t][\t]\.fw_filename[ ]=[ ]["]sof-rmb\.ri["][,]' sound/soc/amd/acp-config.c - defsnc 'static[ ]const[ ]unsigned[ ]int[ ]src_iir_coeff_\(32\|4[48]\|96\)_to_\(16\|32\|44\)\[\][ ]=' sound/soc/mediatek/mt8186/mt8186-dai-src.c - defsnc 'static[ ]const[ ]int[ ]mt8186_sgen_mode_idx\[\][ ]=' sound/soc/mediatek/mt8186/mt8186-misc-control.c - accept '[\t ]*jq[ ]-e[ ]-r[ ]["]\.\[\]\[\]\.versions\.running\.fw["][)]' tools/testing/selftests/drivers/net/mlxsw/devlink_linecard.sh - accept 'IMG_PATH=["][$][{]TMP_DIR[}][/]fat\.img["]' tools/testing/selftests/filesystems/fat/run_fat_tests.sh - defsnc '\(static[ ]\)\?const[ ]struct[ ]nvkm_disp_mthd_list[ \n]g84_disp_\(\(ovly\|base\)_mthd_base\|core_mthd_head\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.c - defsnc 'static[ ]const[ ]struct[ ]nvkm_disp_mthd_list[ \n]gk104_disp_\(ovly_mthd_base\|core_mthd_head\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.c - defsnc 'static[ ]const[ ]struct[ ]nvkm_disp_mthd_list[ \n]gt200_disp_ovly_mthd_base[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.c - blobname 'mediatek[/]mt8192[/]scp\.img' arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi - blobname 'qcom[/]msm8996[/]natrium[/]\(adsp\|a530_zap\|mba\|modem\|slpi\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-natrium.dts - blobname 'qcom[/]sa8540p[/]\(adsp\|cdsp1\?\)\.mbn' arch/arm64/boot/dts/qcom/sa8295p-adp.dts - blobname 'qcom[/]sc7280-herobrine[/]modem[/]\(mba\|qdsp6sw\)\.mbn' arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi - blobname 'ath11k[/]WCN6750[/]hw1\.0[/]wpss\.mdt' arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi - blobname 'qcom[/]sc8280xp[/]qc[ac]dsp8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-'\(crd\|lenovo-thinkpad-x13s\)\.dts' - blobname 'qcom[/]ifc6560[/]adsp\.mbn' arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts - blobname 'qcom[/]sdm845[/]judyln[/]\([ac]dsp\|a630_zap\|mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts - blobname 'qcom[/]sdm845[/]judyp[/]\([ac]dsp\|a630_zap\|mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-lg-judyp.dts - blobname 'qcom[/]sdm845[/]polaris[/]\(cdsp\|a630_zap\|ipa_fws\|mba\|modem\|venus\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts - blobname 'polaris[/]crnv21\.bin' arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts - blobname 'habanalabs[/]gaudi2[/]gaudi2-\(boot-\|\)fit\.itb' drivers/misc/habanalabs/gaudi2/gaudi2P.h - accept '\(static[ ]int[ ]\|[\t][\t]*\(ret\(urn\|[ ]=\)[ ]\|\)\)cs35l41_request_firmware_file\(\|s\(\|_spkid\)\)[(]' sound/pci/hda/cs35l41_hda.c + # New in 6.0-rc5, 5.19.9, 5.15.68. defsnc '[\t]unsigned[ ]char[ ]modified_gray_code\[\][ ]=' arch/arm/mach-at91/pm.c - # New in 6.0. - blobname 'qcom[/]sc8280xp[/]LENOVO[/]21BX[/]qc[ac]dsp8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts - - # New in 6.0.7. - accept '[\t][\t]\[SOF_INTEL_IPC4\][ ]=[ ]["]sof-mtl\.ri["]' sound/soc/sof/intel/pci-mtl.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(adl-n\|rpl\(-s\)\?\)\.ri["]' sound/soc/sof/intel/pci-tgl.c - - # New in 6.0.9, 5.15.79, and 5.10.155. Also 5.4.225 and 4.19.267. + # New in 6.0.9, 5.15.79, and 5.10.155. accept '[\t]err[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]true[,][ ]["]regulatory\.db["][,]' net/wireless/reg.c - # New in 6.1-rc. - blobname 'mediatek[/]mt8195[/]scp\.img' arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi - blobname 'qcom[/]sc7280-herobrine[/]modem[/]\(mba\|qdsp6sw\)\.mbn' arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi - blobname 'qcom[/]\([ac]dsp\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx223.dts - accept '#define[ ]__DEFINE_ASM_GPR_NUMS[\t]*[\\][\n]["][\t]\.irp[\t]num\(,[0-9]\)*\(,[123][0-9]\)*[\\]n["]\([ \t]*[\\][\n]["][^"\n]*["]\)*' arch/riscv/include/asm/gpr-num.h - accept '[\t]\.irp[\t]num\(,[0-9]\)*\(,[123][0-9]\)*' arch/riscv/include/asm/gpr-num.h - blobname 'amdgpu[/]\(%s\|aldebaran\)_sjt_mec2\?\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c - blobname 'i915[/]["]\([ ][\\][\n][\t]__stringify[(]\(prefix\|major\|minor\|patch\)_[)]\([ ]\(name_\|["][.]["]\)\)\?\)*[ ]["]\.bin' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c - defsc 'static[ ]struct[ ]convert_xrgb8888_case[ ]convert_xrgb8888_cases\[\][ ]=' drivers/gpu/drm/tests/drm_format_helper_test.c - # bno055-caldata files are calibration data that can be saved from - # and restored into the device. See Documentation/iio/bno055.rst. - accept '#define[ ]BNO055_FW_\(UID_FMT\|GENERIC_NAME\)[ ]["]bno055-caldata\(-%[*]phN\)\?\.dat["]' drivers/iio/imu/bno055/bno055.c - accept '[\t][\t]\?ret[ ]=[ ]request_firmware[(][&]caldata[,][ ]\(fw_name_buf\|BNO055_FW_GENERIC_NAME\)[,][ ]dev[)][;]' drivers/iio/imu/bno055/bno055.c - defsc 'ICE_DECLARE_PKT_TEMPLATE[(]ipv6_l2tpv3[)][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c - blobname 'rtw89[/]rtw8852b_fw\.bin' drivers/net/wireless/realtek/rtw89/rtw8852b.c - defsnc 'struct[ ]inno_mipi_dphy_timing[ ]inno_mipi_dphy_timing_table_max_\(1\|2_5\)ghz\[\][ ]=' drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c + # New in 6.1-rc, 6.0.11, 5.15.81, 5.10.157. blobname 'gsl1680-rca-cambio-w101-v2\.fw' drivers/platform/x86/touchscreen_dmi.c - defsnc 'static[ ]const[ ]struct[ ]tegra194_cbb_aperture[ ]tegra194_\(cbbcentral\|bpmp\|aon\|sce\)noc_apert\(ure\)\?_lookup\[\][ ]=' drivers/soc/tegra/cbb/tegra194-cbb.c - defsnc '[\t]unsigned[ ]long[ ]range\[\][ ]=' lib/test_maple_tree.c - defsnc 'static[ ]const[ ]struct[ ]_coeff_div[ ]coeff_div\[\][ ]=' sound/soc/codecs/es8326.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-rmb\.ri["]' sound/soc/sof/amd/pci-rmb.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-imx8ulp\.ri["]' sound/soc/sof/amd/pci-imx8ulp.c - defsnc '[\t]unsigned[ ]long[ ]set\[\][ ]=' tools/testing/radix-tree/maple.c - accept '[\t]@echo[ ]["]The[ ]output[ ]file[ ]is[ ][\\]["]run\.out[\\]["]\.' tools/testing/selftests/nolibc/Makefile - accept '[\t][$][(]Q[)]\(qemu-system\|grep\)[^\n]*[$][(]CURDIR[)][/]run\.out' tools/testing/selftests/nolibc/Makefile - blobna '%s[ ]firmware[ ]%s[ ]\([(]%d\.%d[)][ ]\)\?is[ ]recommended[,][ ]but[ ]only[ ]%s[ ]\([(]%d\.%d[)][ ]\)\?was[ ]found' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c - blobna 'Consider[ ]updating[ ]your[ ]linux-firmware[ ]pkg[ ]or[ ]downloading[ ]from[ ]%s' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c - - # New in 6.1.2. - initnc '\.LKtable[:]' arch/arm64/crypto/sm3-neon-core.S # New in 6.1.9, 5.15.91, 5.10.166. blobname 'gsl1680-csl-panther-tab-hd\.fw' drivers/platform/x86/touchscreen_dmi.c - # New in 6.2-rc. - blobname 'intel[/]ifs_%d[/]%02x-%02x-%02x-%02x\.scan' drivers/platform/x86/intel/ifs/load.c - blobname 'qcom[/]sc7180-trogdor[/]modem[/]modem\.mdt' Documentation/devicetree/bindings/net/qcom,ipa.yaml - blobname 'stm32g0-ucsi.mp135f-dk\.fw' arch/arm/boot/dts/stm32mp135f-dk.dts - blobname 'qcom[/]msm8996[/]oneplus3[/]\(adsp\|a530_zap\|mba\|modem\|slpi\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-oneplus3.dts - blobname 'qcom[/]msm8996[/]oneplus3t[/]\(adsp\|a530_zap\|mba\|modem\|slpi\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-oneplus3t.dts - blobname 'qcom[/]msm8998[/]LENOVO[/]81F1[/]qcdsp\(1v\)\?28998\.mbn' arch/arm64/boot/dts/qcom/msm8998-lenovo-miix-630.dts - blobname 'qcom[/]sa8540p[/]cdsp1\?\.mbn' arch/arm64/boot/dts/qcom/sa8540p-ride.dts - blobname 'qcom[/]sda660[/]adsp\.mbn' arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts - blobname 'qcom[/]sdm850[/]samsung[/]w737[/]\(qc\(adsp\|cdsp\|dsp\(1v\)\?2\|vss\)850\.mbn\|ipa_fws\.elf\)' arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts - blobname 'qcom[/]Sony[/]murray[/][ac]dsp.mbn' arch/arm64/boot/dts/qcom/sm6375-sony-xperia-murray-pdx225.dts - blobname 'qcom[/]sm8350[/]Sony[/]sagami[/]\(adsp\|cdsp\|ipa_fws\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi - blobname 'qcom[/]sm8350[/]Sony[/]nagara[/]\(adsp\|cdsp\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi - defsnc 'static[ ]const[ ]u8[ ]nops\[\][ ]=' arch/x86/kernel/callthunks.c - defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]sm4_[cx]ts_tv_template\[\][ ]=' crypto/testmgr.h - defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]sm4_xcbc128_tv_template\[\][ ]=' crypto/testmgr.h - blobname 'brcm[/]brcmbt%04x%s-%s-%s\.%s' drivers/bluetooth/hci_bcm4377.c - defsnc 'static[ ]const[ ]qp_table[ ][ ]*qp_table_4[24][024]_\(8\|1[02]\)bpc_m\(in\|ax\)[ ]=' drivers/gpu/drm/amd/display/dc/dml/dsc/qp_tables.h - defsnc 'static[ ]const[ ]struct[ ]abm_parameters[ ]abm_settings_config2\[abm_defines_max_level\][ ]=' drivers/gpu/drm/amd/display/modules/power/power_helpers.c - defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad74115_debounce_tbl\[\][ ]=' drivers/iio/addac/ad74115.c - defsnc 'static[ ]const[ ]struct[ ]ov08x40_reg[ ]mipi_data_rate_800mbps\[\][ ]=' drivers/media/i2c/ov08x40.c - defsnc 'static[ ]const[ ]struct[ ]ov08x40_reg[ ]mode_\(3856x2416\|1928x1208\)_regs\[\][ ]=' drivers/media/i2c/ov08x40.c - defsnc 'static[ ]const[ ]struct[ ]regval[ ]ov4689_2688x1520_regs\[\][ ]=' drivers/media/i2c/ov4689.c - defsnc 'static[ ]const[ ]struct[ ]ov9282_reg[ ]\(common\|mode_\(1280x800\|640x400\)\)_regs\[\][ ]=' drivers/media/i2c/ov9282.c - # A new binary blob disguised as source code! - blob 'static[ ]const[ ]u8[ ]patch_array\[\][ ]=[ ][{]'"$sepx$blobpat*$sepx"'[}][;]' drivers/media/i2c/st-vgxy61.c - blobna 'ret[ ]=[ ]vgxy61_write_array[(]sensor[,][ ]VGXY61_REG_FWPATCH_START_ADDR[,][\n][\t ]*sizeof[(]patch_array[)][,][ ]patch_array[)][;][\n][\t]if[ ][(]ret[)][\n][\t]*return[ ]ret[;]' drivers/media/i2c/st-vgxy61.c - blobname 'patch_array' drivers/media/i2c/st-vgxy61.c - blobname 'mrvl[/]prestera[/]mvsw_prestera_fw_arm64-v%u\.%u\.img' drivers/net/ethernet/marvell/prestera/prestera_pci.c - blobname 'mediatek[/]mt7986_wo_[01]\.bin' drivers/net/ethernet/mediatek/mtk_wed_wo.h - blobname 'mediatek[/]mt7996[/]mt7996_\(w[am]\|rom_patch\|eeprom\)\.bin' drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8188f_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8188fu_phy_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8188f_agc_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8188fu_\(cut_b_\)\?radioa_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c - blobname 'rtlwifi[/]rtl8188fufw\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c - accept '[\t]rtwdev->fw\.firmware[ ]=[ ]firmware[;]' drivers/net/wireless/realtek/rtw89/core.c - accept '[\t][\t]fw->firmware[ ]=[ ]NULL[;]' drivers/net/wireless/realtek/rtw89/fw.c - defsnc 'static[ ]const[ ]struct[ ]rtw89_reg3_def[ ]rtw8852b_\(set\|restore\)_nondbcc_path01\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c - defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852b_phy_\(bb\|radio[ab]\|nctl\)_reg\(s\|_gain\)\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b_table.c - defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8852b_txpwr_byrate\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b_table.c - defsnc 'static[ ]const[ ]unsigned[ ]int[ ]gpio_pins\[\][ ]=' drivers/pinctrl/pinctrl-loongson2.c - defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U8[ ][LM]L_bits\[Max[LM]L[+]1\][ ]=' lib/zstd/common/zstd_internal.h - defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U64[ ]ZSTD_ldm_gearTab\[256\][ ]=' lib/zstd/compress/zstd_ldm_geartab.h - defsnc '[ ]*[{][ ]*unsigned[ ]const[ ]base\(LL\|OFC\)freqs\[Max\(LL\|Off\)[+]1\][ ]=' lib/zstd/compress/zstd_opt.c - defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U8[ ]OF_bits\[MaxOff[+]1\][ ]=' lib/zstd/decompress/zstd_decompress_internal.h - defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt1318_blind_write\[\][ ]=' sound/soc/codecs/rt1318-sdw.c - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1318_reg_defaults\[\][ ]=' sound/soc/codecs/rt1318-sdw.c - # Topology files are presumed not code, but since we block the - # loading of actual firmware by this driver, there's no harm in - # being conservative and blocking them too. These don't seem to - # be built out of SOF. - blobname 'max98927-tplg\.bin' sound/soc/intel/avs/board_selection.c - defsc 'static[ ]const[ ]u8[ ]__maybe_unused[ ]dell_0\(a5d\|b00\)_bq_params\[\][ ]=' sound/soc/intel/boards/sof_sdw_amp_coeff_tables.h - accept '[\t]ret[ ]=[ ]request_firmware[(][&]sdev->basefw\.fw[,][ ]fw_filename[,][ ]sdev->dev[)]' sound/soc/sof/loader.c - # Uhh, these *seem* intended to load Free firmware modules, though - # it could conceivably be used to load nonfree modules. As usual - # for SOF, the difference between Free, Tivoized and otherwise - # nonFree is not something we can tell. But since there is Free - # stuff that can be loaded with it, it stays. - accept '[\t]fw_filename[ ]=[ ]kasprintf[(]GFP_KERNEL[,][ ]["]%s[/]%pUL\.bin["][,][\n][\t ]*sdev->pdata->fw_lib_prefix[,][ ]uuid[)][;]' sound/soc/sof/ipc4-loader.c - accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw_lib->sof_fw\.fw[,][ ]fw_filename[,][ ]sdev->dev[)]' sound/soc/sof/ipc4-loader.c - accept '[\t]out=["][$]tmpdir[/]perf\.out["]' tools/perf/tests/shell/test_task_analyzer.sh - accept '[\t]*echo[ ]["][ ]---[ ]make[ ]\(clean\|allmodconfig\)\?["][ ][|][ ]tee[ ]\(-a[ ]\)\?[$]amcdir[/]log[ ][>]*[ ]["][$]amcdir[/]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh - accept '[\t][\t]make[ ]-j[$]MAKE_ALLOTED_CPUS[ ]\(allmodconfig[ ]\)\?[>][>][ ]["][$]amcdir[/]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh - accept '[\t]*echo[ ]["][ ]---[ ]Summary:[ ]Exit[ ]code[ ][$]retcode[ ]from[ ][$]buildphase[,][ ]see[ ]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh - blobname 'qcom[/]sdm630[/]Sony[/]nile[/]adsp\.mdt' arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile.dtsi - blobname 'axolotl[/]crnv21\.bin' arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8192cu_radio[ab]_[12]t_\(init\|highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8192e_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8192eu\?_phy_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_8192eu_\(std\|highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8192eu_radio[ab]_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8723au_radioa_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8723b_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8723b_phy_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_8723bu_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c - defsc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8723bu_radioa_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8723a_phy_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8192cu_phy_2t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_\(standard\|highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c - defsnc 'static[ ]const[ ]struct[ ]rtw89_reg3_def[ ]rtw8852b_pmac_ht20_mcs7_tbl\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b.c - blobna 'wcnss\.mdt[ ]is[ ]not[ ]relocatable[^*]*[*][/]' arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts - blobname 'wcnss\.mdt' drivers/remoteproc/qcom_wcnss.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8188ru_\(phy\|radioa\)_1t_highpa_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c - defsnc '\(static[ ]\)\?const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8xxxu_gen1_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c - defsnc 'static[ ]const[ ]struct[ ]drm_edid[ ][*]edid_load[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*err[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ]connector' drivers/gpu/drm/drm_edid_load.c - - # New in 6.2.3. - blobname 'qcom[/]sm8450[/]Sony[/]nagara[/]\(adsp\|cdsp\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi - blobname 'brcmfmac89459-pcie' drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c - - blobna 'brcmfmac89[^";) \t\n]*\(-sdio\|-pcie\)\?' drivers/net/wireless/broadcom/brcm80211/brcmfmac/'\(sdio\|pcie\|usb\)\.c' - # New in 6.2.7, 6.1.20, 5.15.103, 5.10.175, 5.4.237, 4.19.278, 4.14.310. accept '[\t][ ][*][ ]updated[ ]microcode[ ]at[ ]the[ ]time' arch/x86/kernel/cpu/amd.c - # New in 6.3-rc. - blobname 'qcom[/]sa8540p[/]cdsp0\.mbn' arch/arm64/boot/dts/qcom/sa8540p-ride.dts - blobname 'qcom[/]sdm850[/]LENOVO[/]81JL[/]qc\([ac]dsp\|dsp\(1v\)\?2\|vss\)850\.mbn' arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts - blobname 'qcom[/]sdm850[/]LENOVO[/]81JL[/]qcdxkmsuc850\.mbn' 'Documentation/devicetree/bindings/display/msm/gpu.txt\|arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts' - blobname 'qcom[/]sm7225[/]fairphone4[/]ipa_fws\.mdt' arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts - blobname 'qcom[/]sm8350[/]a660_zap\.mbn' arch/arm64/boot/dts/qcom/sm8350-hdk.dts - blobname 'i915[/]["][ ]__stringify[(]platform[)][ ]["]_dmc\.bin' drivers/gpu/drm/i915/display/intel_dmc.c - blobname 'i915[/]\(["][ \t]*[\\][\n][\t]__stringify[(]\(platform\|major\|minor\)[)][ ]["]\(_\(dmc_ver\)\?\)\?\)*\.bin' drivers/gpu/drm/i915/display/intel_dmc.c - blobname 'i915[/]["]\([ ][\\][\n][\t]__stringify[(]\(prefix\|major\|minor\|patch\)_[)]\([ ]\(\(["]_["][ ]\)\?name_\([ ][ ]*["]_["]\)\?\|["][.]["]\)\)\?\)*[ ]["]\.bin' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c - blobname "%s%d\.ucode" drivers/net/wireless/intel/iwlwifi/iwl-drv.c - accept '[\t]adsp->firmware[ ]=[ ]\(fw\|NULL\)' drivers/remoteproc/qcom_q6v5_pas.c - blobname '\([ac]dsp\|modem\)_dtb\.mdt' drivers/remoteproc/qcom_q6v5_pas.c - accept '[\t][\t]err[ ]=[ ]tegra_xusb_request_firmware[(]tegra[)]' drivers/usb/host/xhci-tegra.c - accept '[ ]*enum:[ ]\[[ ]\([0-9]*0[,]\([\n][ \t]*\|[ ]\)\)*[0-9]*0[ ]\]' Documentation/devicetree/bindings/net/motorcomm,yt8xxx.yaml - blobname 'qcom[/]sc8280xp[/]qc[ac]dsp8280\.mbn' Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml - blobname 'qcom[/]sm6115[/]adsp\.mdt' Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml - blobname 'qcom[/]sm8150[/]adsp\.mdt' Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml - blobname 'qcom[/]sm8450[/]adsp\.mdt' Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml - blobname 'qcom[/]sm8550[/]adsp\(_dtb\)\?\.mdt' Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml - accept '[ ]*[.][.][.][\n][ ]*30[ ]*512[ ]*0[ ]*12[ ]*4[ 0-9\n]*' Documentation/vm/zsmalloc.rst - accept '[ ]*4[ ]*69[ ]*3264[ 0-9\n]*' Documentation/vm/zsmalloc.rst - accept '[ ][*][ ]*6[ ]6[ ]6[ ]6[ ]5[ ]5[ ]5[ ]5[ ]5[ ]5[ ]5[ ]5[ ]5[ ]5[ ]4[ ]4[ ]4[ ]4[ ]4[ ]4[ ]4[ ]4[ ]4[ ]4[ ]3[ ]3[ ]3[ ]3[ ]3[ ]3[ ]3[ ]3' arch/*/include/asm/pgtable.h - accept '[ ][*][ ]*3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2' arch/*/include/asm/pgtable.h - accept '[ ][*][ ]*3[ ]3[ ]3[ ]3[ ]3[ ]3[ ]3[ ]3[ ]4[ ]4[ ]4[ ]4[ ]4[ ]4[ ]4[ ]4[ ]4[ ]4[ ]5[ ]5[ ]5[ ]5[ ]5[ ]5[ ]5[ ]5[ ]5[ ]5[ ]6[ ]6[ ]6[ ]6' arch/*/include/asm/pgtable.h - accept '[ ][*][ ]*2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3' arch/*/include/asm/pgtable.h - blobname 'qcom[/]sm8250[/]xiaomi[/]elish[/]\([ac]dsp\|a650_zap\|slpi\|venus\)\.mbn' arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish.dts - blobname 'qcom[/]sm8550[/]\(\([ac]dsp\|modem\)\(_dtb\)\?\|a660_zap\)\.mbn' arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish.dts - blobname 'mtl_vpu\.bin' drivers/accel/ivpu/ivpu_fw.c - blobname 'intel[/]vpu[/]mtl_vpu_v0\.0\.bin' drivers/accel/ivpu/ivpu_fw.c - blobname 'amdgpu[/]%s_mes%s\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c - blobname 'amdgpu[/]%s%d.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c - # The following is not new, it was just moved down to allow for - # new patterns to match despite being prefixed by it, when using - # non-NDA regexp engines. - # blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - accept '[ ][*][ ]This[ ]is[ ]a[ ]helper[ ]that[ ]will[ ]use[ ]request_firmware[ ]' drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]HX8394_CMD_[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-himax-hx8394.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]0xc8[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c - defsc 'static[ ]const[ ]struct[ ]reg_sequence[ ]ota5601a_panel_regs\[\][ ]=' drivers/gpu/drm/panel/panel-oristech-ota5601a.c - accept '[\t]mipi_dsi_\(generic\|dcs\)_write_seq[(]dsi[,][ ]ST7703_CMD_[^ ,\t\n)]*\([, \t\n]*0x[0-9A-F][0-9A-F]\)*[)][;]' drivers/gpu/drm/panel/panel-sitronix-st7703.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]0x70[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-visionox-vtdr6130.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]XPP055C272_CMD_[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c - defsc 'static[ ]const[ ]struct[ ]regval[ ]ov8858_global_regs_r\(1a\|2a_[24]lane\)\[\][ ]=' drivers/media/i2c/ov8858.c - blobname '\(board\(-2\)\|caldata\|amss\|m3\|regdb\)\.bin' drivers/net/wireless/ath/ath12k/hw.h - blobname 'cal-%s-%s\.bin' drivers/net/wireless/ath/ath12k/qmi.c - blobname 'mrvl[/]sdiouartiw416_combo_v0\.bin' drivers/net/wireless/marvell/mwifiex/sdio.h - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8188e_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8188eu_phy_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8188e_agc_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c - defsc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8188eu_radioa_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8550_pdc_map\[\][ ]=' drivers/npinctrl/qcom/pinctrl-sm8550.c - defsnc 'static[ ]const[ ]int[ ]mlxplat_ng800_channels\[\][ ]=' drivers/platform/x86mlx-platform.c - defsc 'const[ ]u32[ ]dm_tx_bb_gain\[TX_BB_GAIN_TABLE_LEN\][ ]=' drivers/staging/rtl8192e/rtl8192e/rtl_dm.c - defsnc 'const[ ]u8[ ]dm_cck_tx_bb_gain\[CCK_TX_BB_GAIN_TABLE_LEN\]\[8\][ ]=' drivers/staging/rtl8192e/rtl8192e/rtl_dm.c - defsnc 'const[ ]u8[ ]dm_cck_tx_bb_gain_ch14\[CCK_TX_BB_GAIN_TABLE_LEN\]\[8\][ ]=' drivers/staging/rtl8192e/rtl8192e/rtl_dm.c - defsnc 'static[ ]u8[ \t]*CCKSwingTable_\(Ch1_Ch13\|Ch14\)\[CCK_TABLE_LEN\]\[8\][ ]=' drivers/staging/rtl8192e/rtl8192e/rtl_dm.c - defsnc 'struct[ ]tsens_legacy_calibration_format[ ]tsens_\(89\(39\|74\(_backup\)\?\|76\)\|qcs404\)_nvmem[ ]=' drivers/thermal/qcom/tsens-v0_1.c - defsnc 'static[ ]uint8_t[ ]__initdata[ ]__attribute__[(][(]__aligned__[(]8[)][)][)][ ]test_buf\[\][ ]=' fs/xfs/xfs_dahash_test.c - defsnc '[}][ ]test\[\][ ]__initdata[ ]=' fs/xfs/xfs_dahash_test.c - accept 'DEFINE_HEX_XDR_NETOBJ[(]\([^ ,]*test\|\(camellia\|aes\)256_cts\)[^ ,]*[,][\n \tx0-9a-f,]*[)]' net/sunrpc/auth_gss/gss_krb5_test.c - blobname 'aw88395_acf\.bin' sound/soc/codecs/aw88395/aw88395_device.h - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt712_sdca_\(reg\|mbq\)_defaults\[\][ ]=' sound/soc/codecs/rt712-sdca-sdw.h - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]sma1303_reg_def\[\][ ]=' sound/soc/codecs/sma1303.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-mt8188\.ri["]' sound/soc/sof/mt8186/mt8186.c - accept '[\t][$][(]Q[)]qemu-[$][(]QEMU_ARCH[)][ ][.][/]nolibc-test[ ][>][ ]["][$][(]CURDIR[)][/]run\.out["]' tools/testing/selftests/nolibc/Makefile - accept 'const[ ]struct[ ]firmware[ ][*]ath12k_core_firmware_request[(]struct[ ]ath12k_base[ ][*]' drivers/net/wireless/ath/ath12k/'core\.[ch]' - accept '[\t][\t]*bd->fw[ ]=[ ]ath12k_core_firmware_request[(]ab[,][ ]filename[)]' drivers/net/wireless/ath/ath12k/core.c - accept '[\t][\t]*fw\(_entry\)\?[ ]=[ ]ath12k_core_firmware_request[(]ab[,]' drivers/net/wireless/ath/ath12k/qmi.c - accept '[\t][\t]*dev_err[(]adsp->dev[,][ ]["]request_firmware[ ]failed' drivers/remoteproc/qcom_q6v5_pas.c - accept 'static[ ]int[ ]aw88395_request_firmware_file[(]struct[ ]aw88395[ ][*]aw88395[)]' sound/soc/codecs/aw88395/aw88395.c - accept '[\t]ret[ ]=[ ]aw88395_request_firmware_file[(]aw88395[)]' sound/soc/codecs/aw88395/aw88395.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->pm\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/'\(amdgpu/amdgpu_cgs\|pm/\(legacy-dpm/si_dpm\)swsmu/smu1[13]/smu_v1[13]_0\)\)\.c' - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->firmware\.gpu_info_fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_device.c - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->mes\.fw\[pipe\][,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->psp\.\(asd\|toc\|sos\|ta\|cap\)_fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->sdma\.instance\[\(instance\|i\)\]\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/'\(\(amdgpu\|cik\)_sdma\|sdma_v[0-9_]*\)\.c' - accept '[ ][*][ ]amdgpu_ucode_request[ ]-[ ]Fetch[ ]and[ ]validate' drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c - accept 'int[ ]amdgpu_ucode_request[(]struct[ ]amdgpu_device[ ][*]adev[,][ ]const[ ]struct[ ]firmware[ ][*][*]fw[,]' drivers/gpu/drm/amd/amdgpu/'amdgpu_ucode\.[ch]' - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->uvd\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vce\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vcn\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->gfx\.\(pfp\|me\|ce\|rlc\|mec2\?\)_fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/gfx_v*_0.c - accept '[\t]*["]gfx10:[ ]amdgpu_ucode_request[(][)][ ]failed' drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->gmc\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/gmc_v*_0.c - accept '[\t]*err[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->gfx\.imu_fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/imu_v11_0.c - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->dm\.\(fw_dmcu\|dmub_fw\)[,][ ]fw_name_dm\(cu\|ub\)[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c - # New in 6.3.3, 6.2.16, 6.1.29, 5.15.112, 5.10.180, 5.4.243, 4.19.283. blobname 'gsl1680-dexp-ursus-kx210i\.fw' drivers/platform/x86/touchscreen_dmi.c - # New in 6.3.4, 6.1.30. - blobname 'rtl_bt[/]rtl\(8723cs_\(cg\|vf\|xx\)\|8851bu\)_\(config\|fw\)\.bin' drivers/bluetooth/btrtl.c - # New in 6.3.4. - accept '[\t]*r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->mes\.fw\[pipe\][,][ \n\t]*fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c - # New in 6.3.7, 6.1.33, 5.15.115, 5.10.183, 5.4.246. accept '[\t][\t]req->name[ ]=[ ]test_fw_config->name[;][\n][\t][\t]req->fw_buf[ ]=[ ]NULL[;][\n][\t][\t]req->fw[ ]=[ ]NULL[;][\n][\t][\t]req->idx[ ]=[ ]i[;][\n][\t][\t]init_completion[(][&]req->completion[)][;][\n][\t][\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]\([^);, \t\n]*[,][ \t\n]*\)*trigger_batched_cb[)][;]' lib/test_firmware.c - # New in 6.4-rc. - accept '[ ][ ]intr[ ]8688370575[ 0-9]*\(helper_\)\?fw_name' drivers/bluetooth/btnxpuart.c - accept '[\t]if[ ][(]!nxp_request_firmware[(]hdev[,][ ]nxp_get_fw_name_from_chipid' drivers/bluetooth/btnxpuart.c - blobname 'qca[/]hpbtfw%02x\.tlv' drivers/bluetooth/btqca.c - blobname 'qca[/]hpnv%02x\.bin' drivers/bluetooth/btqca.c - blobname 'rtl_bt[/]rtl88\(21cs\|52bs\)_fw\.bin' drivers/bluetooth/btrtl.c - defsnc 'static[ ]const[ ]struct[ ]sp_clk_gate_info[ ]sp_clk_gates\[\][ ]=' drivers/clk/clk-sp7021.c - blobname 'qat_402xx\(_\(mmp\|sym\|dc\|asym\|admin\)\)\?\.bin' drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.h - blobname 'amdgpu[/]sdma_4_4_2\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c - # Sources are in cwsr_trap_handler_gfx9.asm. - defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx9_4_3_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h - defsnc 'static[ ]const[ ]u8[ ]rc_range_\(min\|max\)qp420_8bpc\[DSC_NUM_BUF_RANGES\]\[RC_RANGE_QP420_8BPC_MAX_NUM_BPP\][ ]=' drivers/gpu/drm/i915/display/intel_qp_tables.c - defsnc 'static[ ]const[ ]u8[ ]rc_range_\(min\|max\)qp420_10bpc\[DSC_NUM_BUF_RANGES\]\[RC_RANGE_QP420_10BPC_MAX_NUM_BPP\][ ]=' drivers/gpu/drm/i915/display/intel_qp_tables.c - defsnc 'static[ ]const[ ]u8[ ]rc_range_\(min\|max\)qp420_12bpc\[DSC_NUM_BUF_RANGES\]\[RC_RANGE_QP420_12BPC_MAX_NUM_BPP\][ ]=' drivers/gpu/drm/i915/display/intel_qp_tables.c - defsnc 'static[ ]u8[ ]ams495qa01_gamma\[NUM_GAMMA_LEVELS\]\[GAMMA_TABLE_COUNT\][ ]=' drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c - defsc 'static[ ]const[ ]struct[ ]dw_hdmi_curr_ctrl[ ]rockchip_cur_ctr\[\][ ]=' drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c - defsnc '[\t]static[ ]const[ ]int[ ]voltages\[100\][ ]=' drivers/hid/hid-logitech-hidpp.c - blobname 'ccs[/]%s-%s-%0[*]x-%4\.4x-%0[*]x\.fw' drivers/media/i2c/ccs/ccs-core.c - defsnc 'static[ ]const[ ]struct[ ]hi556_reg[ ]mode_2592x1444_regs\[\][ ]=' drivers/media/i2c/hi556.c - defsnc 'static[ ]const[ ]struct[ ]imx334_reg[ ]mode_1920x1080_regs\[\][ ]=' drivers/media/i2c/imx334.c - defsnc 'static[ ]const[ ]unsigned[ ]char[ ]jpeg_d[qh]t_extseq\[\][ ]=' drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c - blobname 'mediatek[/]mt7981_wo\.bin' drivers/net/ethernet/mediatek/mtk_wed_wo.h - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8710b_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8710b.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8710bu_qfn48m_[us]_phy_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8710b.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8710bu_qfn48m_[us]_radioa_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8710b.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8710b_agc_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8710b.c - blobname 'rtlwifi[/]rtl8710bufw_\(SMIC\|UMC\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8710b.c - accept '[\t]rtwdev->fw\.req\.firmware[ ]=[ ]firmware[;]' drivers/net/wireless/realtek/rtw89/core.c - accept '[\t][\t]fw->req\.firmware[ ]=[ ]NULL[;]' drivers/net/wireless/realtek/rtw89/fw.c - blobname '%s\(-%d\)\?\.bin' drivers/net/wireless/realtek/rtw89/fw.h - defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8851b_phy_\(bb\|radioa\|nctl\)_reg\(s\|_gain\)\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8851b_table.c - defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8851b_txpwr_byrate\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8851b_table.c - blobname 'rtw89[/]rtw[^ \n"]*_fw' drivers/net/wireless/realtek/rtw89/'rtw8852[abc]\.c' - blobname '["]\.bin["]' drivers/net/wireless/realtek/rtw89/'rtw8852[ac]\.c' - blobname '["]-["][ ]__stringify[(]RTW8852B_FW_FORMAT_MAX[)][ ]["]\.bin["]' drivers/net/wireless/realtek/rtw89/rtw8852b.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]msm8998_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-msm8998.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm7150_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm7150.c - blobname 'qsl1680-chuwi-hi8\.fw' drivers/platform/x86/x86-android-tablets/other.c - blobname 'gt912-tm800a550l\.fw' drivers/platform/x86/x86-android-tablets/other.c - defsnc 'u32[ ]RTL8192E_PHY_REG_1T2R_ARR\[RTL8192E_PHY_REG_1T2R_ARR_LEN\][ ]=' drivers/staging/rtl8192e/rtl8192e/table.c - defsnc 'u32[ ]RTL8192E_RADIO_A_ARR\[RTL8192E_RADIO_A_ARR_LEN\][ ]=' drivers/staging/rtl8192e/rtl8192e/table.c - defsnc 'u32[ ]RTL8192E_RADIO_B_ARR\[RTL8192E_RADIO_B_ARR_LEN\][ ]=' drivers/staging/rtl8192e/rtl8192e/table.c - defsnc 'u32[ ]RTL8192E_AGCTAB_ARR\[RTL8192E_AGCTAB_ARR_LEN\][ ]=' drivers/staging/rtl8192e/rtl8192e/table.c - blob 'from[ ]optee[/]tee\.bin[ ]in[ ]the[ ]Linux[ ]firmware\([*]*[^*/]\+\|[/]\)*[*]\+[/]' drivers/tee/optee/smc_smc.h - blobname 'optee[/]tee\.bin' drivers/tee/optee/smc_abi.c - defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs35l45_fs_errata_patch\[\][ ]=' sound/soc/codecs/cs35l45.c - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt712_sdca_dmic_reg_defaults\[\][ ]=' sound/soc/codecs/rt712-sdca-dmic.h - accept '[(][ ]cd[ ][$]LKMM_DESTDIR[;][ ]find[ ]litmus[ ]-name[ ]["][*][.]litmus[$][{]hwfnseg[}]\.out["][ ]-print[ ][)]' tools/memory-model/scripts/checkghlitmus.sh - accept '[\t][\t]sed[ ]-e[ ][\'"'"']s[/]\\\.litmus[$][/]\.litmus\.[\'"'"'][$][{]LKMM_HW_MAP_FILE[}][\'"'"'][/][\'"'"'][`]\.out["]' tools/memory-model/scripts/judgelitmus.sh - accept '#[ ]but[ ]with[ ]["]\.out["][ ]appended\.' tools/memory-model/scripts/runlitmus.sh - accept '\([#][^\n]*\)\?[ \t]*rdesc=["\'"'"']\(05[ ]0[1d][ ]09\|06[ ]00[ ]ff\|75[ ]08[ ]15\)[ 0-9a-fA-F]*["\'"'"']' tools/testing/selftests/hid/tests/test_multitouch.py - accept '[\t][\t][\t]tools[/]testing[/]selftests[/]rcutorture[/]bin[/]kvm\.sh[ ]--allcpus[ ]--duration[ ]5s[ ]--configs[ ]["]SRCU-P["][ ]--bootargs[ ]["]rcutorture\.test_srcu_lockdep=[$]val["][ ]--trust-make[ ]--datestamp[ ]["][$]ds[/][$]val["][ ]>[ ]["][$]T[/]kvm\.sh\.out["][ ]2>[&]1' tools/testing/selftests/rcutorture/bin/srcu_lockdep.sh - accept '[\t][\t][\t]mv[ ]["][$]T[/]kvm\.sh\.out["][ ]["][$]RCUTORTURE[/]res[/][$]ds[/][$]val["]' tools/testing/selftests/rcutorture/bin/srcu_lockdep.sh + # New in 5.15.121. + blobname 'qcom[/]apq8016[/]\(\(mba\|modem\|wcnss\)\.mbn\|WCNSS_qcom_wlan_nv_sbc\.bin\)' arch/arm64/boot/dts/qcom/apq8016-sbc.dts # New in 6.4.6, 6.1.41, 5.15.122, 5.10.187, 5.4.250, 4.19.289. blobna 'please[ ]update[ ]your[ ]microcode' arch/x86/kernel/cpu/amd.c - # New in 6.4.8, 6.1.43. - blobname 'amphion[/]vpu[/]vpu_fw_imx8_\(enc\|dec\)\.bin' drivers/media/platform/amphion/vpu_core.c - defsnc '[\t]static[ ]const[ ]unsigned[ ]long[ ]range\[\][ ]=' lib/test_maple_tree.c - defsnc '[\t]static[ ]const[ ]unsigned[ ]long[ ]set\[\][ ]=' tools/testing/radix-tree/maple.c - # New in 6.4.9, 6.1.44, 5.15.125, 5.10.189, 5.4.252, 4.19.290, 4.14.320. accept 'GDS[ ]can[ ]also[ ]be[ ]mitigated[ ]on[ ]systems[ ]that[ ]don.t[ ]have[ ]updated[ ]microcode' Documentation/admin-guide/hw-vuln/gather_data_sampling.rst accept 'The[ ]updated[ ]microcode[ ]will[ ]enable[ ]the[ ]mitigation[ ]by[ ]default' Documentation/admin-guide/hw-vuln/gather_data_sampling.rst accept '[\t]*This[ ]issue[ ]is[ ]mitigated[ ]by[ ]default[ ]in[ ]updated[ ]microcode' Documentation/admin-guide/kernel-parameters.txt - # New in 6.5-rc. - blobname 'qcom[/]apq8074[/]\(adsp\|mba\|modem\)\.mbn' arch/arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts - blobname 'qcom[/]qrb4210[/][ac]dsp\.mbn' arch/arm64/boot/dts/qcom/qrb4210-rb2.dts - blobname 'qcom[/]sc7180[/]acer[/]aspire1[/]qc\(dxkmsuc7180\|mpss7180_nm\|vss7180\)\.mbn' arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts - blobname 'qcom[/]sc8180x[/]qc\(dxkmsuc8180\|[ac]dsp8180\|mpss8180_nm\)\.mbn' arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts - blobname 'qcom[/]sc8180x[/]qc\(dxkmsucadsp\|mpss\)8180\.mbn' arch/arm64/boot/dts/qcom/sc8180x-primus.dts - blobname 'qcom[/]sc8280xp[/]qcdxkmsuc8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-crd.dts - blobname 'qcom[/]sc8280xp[/]LENOVO[/]21BX[/]qcdxkmsuc8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts - blobname 'qcom[/]sm8250[/]Sony[/]edo[/]venus\.mbn' arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi - defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]eadc_div_table\[\][ ]=' drivers/clk/nuvoton/clk-ma35d1.c - defsnc 'static[ ]char[ ]data_synd\[\][ ]=' drivers/edac/npcm_edac.c - blobname 'amdgpu[/]vcn_4_0_3\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - blobname 'amdgpu[/]%s_\(rlc\|mec\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c - # The following is not new, it was just moved down to allow for - # new patterns to match despite being prefixed by it, when using - # non-NDA regexp engines. - blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c - defsnc 'static[ ]const[ ]struct[ ]dm_bl_data_point[ ]custom_backlight_curve0\[\][ ]=' drivers/gpu/drm/amd/display/modules/power/power_helpers.c - defsnc 'static[ ]unsigned[ ]short[ ]meson_encl_gamma_table\[256\][ ]=' drivers/gpu/drm/meson/meson_venc.c - blobname 'a6[19]0_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'a690_gmu\.bin' drivers/gpu/drm/msm/adreno/adreno_device.c - defsc 'static[ ]const[ ]struct[ ]panel_init_cmd[ ]starry_himax83102_j02_init_cmd\[\][ ]=' drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]ST7703_CMD_SET\(GAMMA\|GIP[12]\)[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c - accept 'static[ ]inline[ ]void[ ]thunderstrike_request_firmware_version[(]' drivers/hid/hid-nvidia-shield.c - accept '[\t][\t]*thunderstrike_request_firmware_version[(]ts[)]' drivers/hid/hid-nvidia-shield.c - defsnc 'static[ ]const[ ]struct[ ]ov01a10_reg[ ]sensor_1280x800_setting\[\][ ]=' drivers/media/i2c/ov01a10.c - defsnc 'static[ ]const[ ]short[ ]div_lut\[DIV_LUT_NUM[ ][+][ ]1\][ ]=' drivers/media/platform/mediatek/vcodec/vdec/vdec_av1_req_lat_if.c - defsnc 'static[ ]const[ ]short[ ]div_lut\[DIV_LUT_NUM[ ][+][ ]1\][ ]=' drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c - defsnc 'static[ ]const[ ]struct[ ]ksz9477_errata_write[ ]ksz9477_errata_writes\[\][ ]=' drivers/net/phy/micrel.c - blobname 'iwlwifi-Qu\(-[bc]0-\(hr\|jf\)\|Z-a0-\(hr\|jf\)\)-b0' drivers/net/wireless/intel/iwlwifi/cfg/22000.c - blobname 'iwlwifi-cc-a0' drivers/net/wireless/intel/iwlwifi/cfg/iwl-22000.c - # Moved from way above, so that the above matches first. - blobname 'iwlwifi-\(Qu\(Qnj\)\?-b0-hr-b0\|su-z0\|Qu-b0-jf-b0\)-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c - blobname 'iwlwifi-8000C' drivers/net/wireless/intel/iwlwifi/cfg/8000.c - blobname 'iwlwifi-9000-pu-b0-jf-b0' drivers/net/wireless/intel/iwlwifi/cfg/9000.c - blobname 'iwlwifi-9260-th-b0-\(jf\|lc\)-b0' drivers/net/wireless/intel/iwlwifi/iwl-9000.c - blobname 'iwlwifi-so-a0-jf-b0' drivers/net/wireless/intel/iwlwifi/cfg/ax210.c - blobname 'iwlwifi-\(so\|ma\)-a0-hr-b0' drivers/net/wireless/intel/iwlwifi/cfg/ax210.c - blobname 'iwlwifi-\(so\|ty\|ma\)-[ab]0-\(jf\|hr\|gf4\?\|mr\)-[ab]0' drivers/net/wireless/intel/iwlwifi/cfg/ax210.c - blobname 'iwlwifi-\(bz\|gl\)-[abc]0-\(hr\|gf4\?\|fm4\?\)-[abc]0' drivers/net/wireless/intel/iwlwifi/cfg/bz.c - # blobname 'iwlwifi-\(sc\)-[ab]0-\(fm\|hr\|gf4\?\|wh\)-[abc]0' drivers/net/wireless/intel/iwlwifi/cfg/sc.c - # Moved from way above, so that the above matches first. - # blobname 'iwlwifi-[^ ]*-[ab]0-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c - blobname '%s-%d\.ucode' drivers/net/wireless/intel/iwlwifi/iwl-drv.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8192f_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192f.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8192fu\?_\(phy_init\|agc\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192f.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8192fu\?_radio[ab]_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192f.c - blobname 'rtlwifi[/]rtl8192fufw\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192f.c - blobname 'rtw89[/]rtw8851b_fw' drivers/net/wireless/realtek/rtw89/rtw8851b.c - # This defines RTW8851B_MODULE_FIRMWARE, only used in MODULE_FIRMWARE. - # It will cause an error if MODULE_FIRMWARE remains, or if it gets used elsewhere, - # so flag any such uses so that corrective action can be taken. - blobna 'RTW8851B_FW_BASENAME[ ]["]\.bin["]' drivers/net/wireless/realtek/rtw89/rtw8851b.c - accept '#define[ ]RTW8851B_MODULE_FIRMWARE[ ]' drivers/net/wireless/realtek/rtw89/rtw8851b.c - blobna 'RTW8851B_MODULE_FIRMWARE' drivers/net/wireless/realtek/rtw89/rtw8851b.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sa8775p_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sa8775p.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sdx75_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sdx75.c - blobname 'gsl1680-archos-101-cesium-educ\.fw' drivers/platform/x86/touchscreen_dmi.c - defsnc 'static[ ]const[ ]unsigned[ ]char[ ]x_trg\[\][ ]=' drivers/spi/spi-rzv2m-csi.c - defsnc 'static[ ]const[ ]unsigned[ ]char[ ]x_trg_words\[\][ ]=' drivers/spi/spi-rzv2m-csi.c - accept 'MODULE_FIRMWARE[(]["]broadsheet\.wbf["][)][;]' drivers/video/fbdev/broadsheetfb.c - accept 'MODULE_FIRMWARE[(]["]metronome\.wbf["][)][;]' drivers/video/fbdev/metronomefb.c - defsnc 'static[ ]const[ ]u8[ ]random_buf\[\][ ]=' lib/checksum_kunit.c - defsnc 'static[ ]const[ ]__sum16[ ]expected_results\[\][ ]=' lib/checksum_kunit.c - defsnc 'static[ ]const[ ]__wsum[ ]init_sums_no_overflow\[\][ ]=' lib/checksum_kunit.c - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt722_sdca_reg_defaults\[\][ ]=' sound/soc/codecs/rt722-sdca-sdw.h - blobname '%sRCA%d\.bin' sound/soc/codecs/tas2781-comlib.c - blobname '%s_coef\.bin' sound/soc/codecs/tas2781-i2c.c - blobname '%s_cal_0x\(%02x\|[0-9a-f][0-9a-f]\)\.bin' sound/soc/codecs/tas2781-i2c.c - blobname 'mediatek[/]mt8183[/]scp\.img' arch/arm64/boot/dts/mediatek/mt8183-kukui.dtis - blobname 'qcom[/]sc8180x[/]LENOVO[/]82AK[/]qc\([ac]dsp8180\|mpss8180_nm\)\.mbn' arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts - blobname 'iwlwifi-6000g2[ab]' drivers/net/iwlwifi/iwl-6000.c - blobname 'iwlwifi-7265D' drivers/net/wireless/iwlwifi/iwl-7000.c - blobname 'iwlwifi-9000\(-pu-[ab]0-\(jf\|lc\)-[ab]0-\|-\|\)' drivers/net/wireless/intel/iwlwifi/iwl-9000.c - # Moved from above, but now redundant. - # blobname 'iwlwifi-8000' drivers/net/wireless/intel/iwlwifi/iwl-8000.c - blobname 'iwlwifi-[0-9][^"\n\t ]*-' drivers/net/wireless/intel/iwlwifi/iwl-8000.c - blobname 'iwlwifi-[0-9]\+' 'drivers/net/wireless/intel/iwlwifi/cfg/.*.c' - blob 'Required[ ]firmware[\n][=]\+[\n][\n]The[ ]atomisp[ ]driver[ ]requires[^\n]*\([\n]\+[- ][^\n]\+\)*' drivers/staging/media/atomisp/TODO - accept '[\t][\t]dev_err[(]tas_priv->dev[,][ ]["]request_firmware_nowait[ ]err' sound/soc/codecs/tas2781-comlib.c - accept '[ ]*irq[/]29-iwlwifi-559' Documentation/trace/histogram.rst - - # New in 6.5.3 and 6.4.16. - blobname '%s_v2\.bin' drivers/bluetooth/btrtl.c - blobname 'rtl_bt[/]rtl8723\(a\|b\|bs\|cs_\(cg\|vf\|xx\)\|d\|ds\)_fw' drivers/bluetooth/btrtl.c - blobname 'rtl_bt[/]rtl8821\(a\|c\|cs\)_fw' drivers/bluetooth/btrtl.c - blobname 'rtl_bt[/]rtl8761\(a\|b\|bu\)_fw' drivers/bluetooth/btrtl.c - blobname 'rtl_bt[/]rtl8822\(cs\|cu\|b\)_fw' drivers/bluetooth/btrtl.c - blobname 'rtl_bt[/]rtl8852\(au\|bs\|bu\|cu\)_fw' drivers/bluetooth/btrtl.c - blobname 'rtl_bt[/]rtl8851\(bu\)_fw' drivers/bluetooth/btrtl.c - defsnc 'static[ ]const[ ]u16[ ]expected_results\[\][ ]=' lib/checksum_kunit.c - defsnc 'static[ ]const[ ]u32[ ]init_sums_no_overflow\[\][ ]=' lib/checksum_kunit.c - - # New in 6.6-rc. - blobname 'ti-pruss[/]am65x-\(sr2-\)\?\(pru\|rtu\|txpru\)[01]-prueth-fw\.elf' 'Documentation/devicetree/bindings/net/ti,icssg-prueth\.yaml\|drivers/net/ethernet/ti/icssg/icssg_prueth\.c' - accept '[ ]*R:[ ]52[ ]05[ ]01[ ][0-9a-f ]*' Documentation/hid/hidintro.rst - accept 'Consider[ ]the[ ]following[ ]HID[ ]report[ ]descriptor::[\n 0-9A-F]*' Documentation/hid/hidintro.rst - accept '[ ]*hid:[ ]\[[\n 0-9a-fx,]*' Documentation/hid/hidintro.rst - accept '[ ]*Report[ ]Descriptor:[\n][ ]*5[ ]1[ ][0-9a-f ]*' Documentation/hid/hidintro.rst - blobname 'qcom[/]qrb4210[/]a610_zap\.mbn' arch/arm64/boot/dts/qcom/qrb4210-rb2.dts - blobname 'qcom[/]sm6115[/]LENOVO[/]J606F[/]a610_zap\.mbn' arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts - blob '[/][*][ ]TODO:[ ]Remove[^*\n]*[ ]generation[ ]based[ ]FW[ ]names[ ][*][/]' drivers/accel/ivpu/ivpu_fw.c - blobname '\(intel[/]vpu[/]\)\?vpu_\(37\|40\)xx\(_v0\.0\)\?\.bin' drivers/accel/ivpu/ivpu_fw.c - blobname 'mediatek[/]mt7925[/]BT_RAM_CODE_MT7925_1_1_hdr\.bin' drivers/bluetooth/btmtk.h - blobname 'nxp[/]uart\(iw624\|aw693\)_bt\.bin\(\.se\)\?' drivers/bluetooth/btnxpuart.c - blobname 'qca[/]\(ap\|hmt\)btfw%02x\.tlv' drivers/bluetooth/btqca.c - blobname 'qca[/]\(ap\|hmt\)nv%02x\.bin' drivers/bluetooth/btqca.c - blobname 'mediatek[/]mt%04x[/]BT_RAM_CODE_MT%04x_1_%x_hdr\.bin' drivers/bluetooth/btusb.c - blobname 'qcom[/]prog_firehose_sdx6x\.elf' drivers/bus/mhi/host/pci_generic.c - defsnc 'static[ ]const[ ]u8[ ]i2cr_cfam\[\][ ]=' drivers/fsi/fsi-master-i2cr.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]0xd[8f][^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-visionox-r66451.c - defsnc 'static[ ]const[ ]u8[ ]iqs7211_gesture_angle\[\][ ]=' drivers/input/touchscreen/iqs7211.c - blobname 'qcom[/]vpu-1\.0[/]venus\.mbn' drivers/media/platform/qcom/venus/core.c - blobname 'cs42l43\.bin' drivers/mfd/cs42l43.c - defsnc 'static[ ]const[ ]u8[ ]ice_dflt_vsi_rcp\[ICE_RECIPE_LEN\][ ]=' drivers/net/ethernet/intel/ice/ice_lag.c - blobname 'mediatek[/]mt7981_\(w[am]\|rom_patch\|eeprom_mt7976_dbdc\)\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h - blobname 'mediatek[/]mt7996[/]mt7996_dsp\.bin' drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h + # New in 6.6-rc, 6.5.9, 6.1.60, 5.15.137, 5.10.199. blobname 'gsl1680-\(bush-bush-windows-tablet\|positivo-c4128b\)\.fw' drivers/platform/x86/otuchscreen_dmi.c - defsnc 'static[ ]const[ ]unsigned[ ]char[ ]vt3253b0_rfmd\[CB_VT3253B0_INIT_FOR_RFMD\]\[2\][ ]=' drivers/staging/vt6655/baseband.c - defsnc 'static[ ]struct[ ]tsens_legacy_calibration_format[ ]tsens_\(8974\(_backup\)\?\|qcs404\)_nvmem[ ]=' drivers/thermal/qcom/tsens-v0_1.c - accept 'static[ ]int[ ]cs35l56_hda_request_firmware_file[(]struct' sound/pci/hda/cs35l56_hda.c - blobname '%scs35l56%s-%02x-dsp1-misc\(-%s\)*\.%s' sound/pci/hda/cs35l56_hda.c - accept 'static[ ]void[ ]cs35l56_hda_request_firmware_files[(]struct' sound/pci/hda/cs35l56_hda.c - accept '[\t]*\(if[ ][(][!]\|ret[ ]=[ ]\)cs35l56_hda_request_firmware_file[(]cs35l56[,][ ]wmfw_firmware[,]' sound/pci/hda/cs35l56_hda.c - accept '[\t]*cs35l56_hda_request_firmware_file[(]cs35l56[,]' sound/pci/hda/cs35l56_hda.c - accept '[\t]*cs35l56_hda_request_firmware_files[(]cs35l56[,][ ][&]wmfw_firmware[,]' sound/pci/hda/cs35l56_hda.c - # This appears to be data. - accept '[\t]scnprintf[(]tas_priv->coef_binaryname[,][ ]64[,][ ]["]TAS2XXX%04X\.bin["]' sound/pci/hda/tas2781_hda_i2c.c - accept '[\t][\t]\.fw_filename[ ]=[ ]["]sof-vangogh\.ri["]' sound/soc/amd/acp-config.c - blobname 'aw88261_acf\.bin' sound/soc/codecs/aw88261.h - accept 'static[ ]int[ ]aw88261_request_firmware_file[(]struct' sound/soc/codecs/aw88261.c - accept '[\t]ret[ ]=[ ]aw88261_request_firmware_file[(]aw88261[)]' sound/soc/codecs/aw88261.c - accept '[\t]*["]aw88261_request_firmware_file[ ]failed' sound/soc/codecs/aw88261.c - defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt1017_blind_write\[\][ ]=' sound/soc/codecs/rt1017-sdca-sdw.c - defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1017_sdca_reg_defaults\[\][ ]=' sound/soc/codecs/rt1017-sdca-sdw.h - blobname 'rt5663-tplg\.bin' sound/soc/intel/avs/board_selection.c - blobname 'es8336-tplg\.bin' sound/soc/intel/avs/board_selection.c - blobname 'hda-%08x-tplg\.bin' sound/soc/intel/avs/pcm.c - blobname 'hda-8086-generic-tplg\.bin' sound/soc/intel/avs/pcm.c - blobname 'hda-generic-tplg\.bin' sound/soc/intel/avs/pcm.c - accept '[\t]ret[ ]=[ ]request_firmware[(][&]\(sdev->basefw\.fw\|adata->fw_dbin\)[,][ ]adata->fw_\(code\|data\)_bin' sound/soc/sof/amd/acp-loader.c - accept '[\t][\t]adata->fw_\(code\|data\)_bin[ ]=[ ]kasprintf[(]GFP_KERNEL[,][ ]["]%s[/]sof-%s-\(code\|data\)\.bin["]' sound/soc/sof/amd/acp.c - accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-vangogh\.ri["]' sound/soc/sof/amd/pci-vangogh.c - accept '[\t][\t]\[SOF_INTEL_IPC4\][ ]=[ ]["]sof-lnl\.ri["]' sound/soc/sof/intel/pci-lnl.c - defsnc 'static[ ]uint8_t[ ]frag\(_[01]\|6_[012]\)\[\][ ]=' tools/testing/selftests/bpf/ip_check_defrag_frags.h - accept '[\t][$][(]Q[)]\.[/]\(no\)\?libc-test[ ][>][ ]["][$][(]CURDIR[)][/]run\.out["]' tools/testing/selftests/nolibc/Makefile - accept '[\t][\t]echo[ ]["][ ]---[ ]Summary:[ ]Exit[ ]code[ ][$]retcode[ ]from[ ][$]flavor[,][ ]see[ ]Make\.out' tools/testing/selftests/rcutorture/bin/torture.sh - # New in 6.7-rc. - accept '[\t ]*expose[ ]the[ ]CPUID[ ]to[ ]the[ ]guest\.[ ]If[ ]the[ ]host[ ]has[ ]updated[ ]microcode[ ]the' 'Documentation/admin-guide/hw-vuln/\(mds\|processor_mmio_stale_data\|tsx_async_abort\).rst' - blobname 'tps25750\.bin' Documentation/devicetree/bindings/usb/ti,tps6598x.yaml - blobname 'qcom[/]qcm6490[/]fairphone5[/]ipa_fws\.mdt' arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts - blobname 'qcom[/]qcm2290[/]\(adsp\|modem\)\.mbn' arch/arm64/boot/dts/qcom/qrb2210-rb1.dts - blobname 'ti-pruss[/]am65x-sr2-\(pru\|\(\|tx\)rtu\)[01]-prueth-fw\.elf' 'arch/arm64/boot/dts/ti/k3-am654-\(icssg2\|idk\).dtso' - defsnc '[\t]const[ ]unsigned[ ]int[ ]\(presorted_event\|event_index\)_table\[\][ ]=' arch/powerpc/perf/power6-pmu.c - blobname 'amd-ucode[/]microcode_amd_fam%02hhxh\.bin' arch/x86/kernel/cpu/microcode/amd.c - accept '[ ]\*[ ]thread[ ]completed[ ]the[ ]update\.[ ]See[ ]microcode_nmi_handler[(][)][ ]for[ ]details\.' arch/x86/kernel/cpu/microcode/core.c - accept '[ ]\*[ ]while[ ]the[ ]primary[ ]thread[ ]updates[ ]the[ ]microcode\.[ ]Instrumentation[ ]can[ ]end' arch/x86/kernel/cpu/microcode/core.c - accept '[ ]\*[ ]*NMI[ ]hits[ ]while[ ]the[ ]primary[ ]thread[ ]updates[ ]the[ ]microcode[ ]the[ ]resulting' arch/x86/kernel/cpu/microcode/core.c - blobname 'amdgpu[/]umsch_mm_4_0_0\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c - accept '[\t]r[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->umsch_mm\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c - blobname 'amdgpu[/]vcn_4_0_5\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c - accept '[\t]ret[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->vpe\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c - defsnc '[\t]*\[UMC_V12_0_CHANNEL_INSTANCE_NUM\][ ]=' drivers/gpu/drm/amd/amdgpu/umc_v12_0.c - blobname 'amdgpu[/]vpe_6_1_0\.bin' drivers/gpu/drm/amd/amdgpu/vpe_v6_1.c - blobname 'amdgpu[/]dcn_3_5_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - defsnc 'static[ ]const[ ]unsigned[ ]long[ ]long[ ]pq_numerator\[MAX_HW_POINTS[ ][+][ ]1\][ ]=' drivers/gpu/drm/amd/display/modules/color/color_gamma.c - blobname 'amdgpu[/]smu_13_0_6\.bin' drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c - accept '[\t]ret[ ]=[ ]amdgpu_ucode_request[(]adev[,][ ][&]adev->pm\.fw[,][ ]fw_name[)]' drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c - blobname 'amdgpu[/]smu_14_0_2\.bin' drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c - defsnc 'static[ ]const[ ]struct[ ]dphy_pll_vco_prop[ ]vco_prop_map\[\][ ]=' drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c - defsnc 'static[ ]const[ ]struct[ ]dphy_pll_hsfreqrange[ ]hsfreqrange_map\[\][ ]=' drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c - blobname '#define[ ]NVKM_GSP_FIRMWARE[(]chip[)][ \t]*\\[\n]MODULE_FIRMWARE[ ]*[(][^\n;]*#chip[^\n;]*[)][ ]*\?\([;][ \t]*\\[\n]MODULE_FIRMWARE[ ]*[(][^\n;]*#chip[^\n;]*[)][ ]*\)*' drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c - blobna 'NVKM_GSP_FIRMWARE[ ]*[(][^\n;]*[)][ ]*[;]\([ \n]*NVKM_GSP_FIRMWARE[ ]*[(][^\n;]*[)][ ]*[;]\)*' - blobname 'a660_zap\.mbn' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'a730_sqe\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'gmu_gen70000\.bin' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'a730_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'a740_sqe\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'gmu_gen70200\.bin' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'a740_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c - blobname 'nvidia[/]["]#chip["][/]gsp[/]\(boot\(er_\(\|un\)load\|loader\)\|gsp\)-535\.113\.01\.bin' drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c - accept '[\t]mipi_dsi_dcs_write_seq[(]dsi[,][ ]\(0xd3[,][ ]0x00[,][ ]0x00[,][ ]0x07\|0xd5[,][ ]0x19[,][ ]0x19[,][ ]0x18\|0xd6[,][ ]0x18[,][ ]0x18[,][ ]0x19\|0xe0[,][ ]0x00[,][ ]0x03[,][ ]0x09\)[^ ,\t\n)]*\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c - defsnc 'static[ ]const[ ]enum[ ]led_brightness[ ]joycon_player_led_patterns\[JC_NUM_LED_PATTERNS\]\[JC_NUM_LEDS\][ ]=' drivers/hid/hid-nintendo.c - defsnc 'static[ ]const[ ]struct[ ]hi556_reg[ ]mode_1296x722_regs\[\][ ]=' drivers/media/i2c/hi556.c - defsnc 'static[ ]const[ ]struct[ ]ov13b10_reg[ ]mode_1364x768_120fps_regs\[\][ ]=' drivers/media/i2c/ov13b10.c - defsnc 'static[ ]const[ ]u16[ ]cmt_vals_out\[\]\[15\][ ]=' drivers/media/pci/mgb4/mgb4_cmt.c - defsnc 'static[ ]const[ ]u32[ ]cmt_freq\[\][ ]=' drivers/media/pci/mgb4/mgb4_cmt.c - defsnc 'static[ ]const[ ]struct[ ]mgb4_i2c_kv[ ]gmsl_i2c\[\][ ]=' drivers/media/pci/mgb4/mgb4_vin.c - blobname 'qcom[/]venus-\(1\.8\|[45]\.2\|5\.4\)[/]venus\.mbn' drivers/media/platform/qcom/venus/core.c - defsnc 'static[ ]const[ ]u8[ ]ice_lport_rcp\[ICE_RECIPE_LEN\][ ]=' drivers/net/ethernet/intel/ice/ice_lag.c - blobname 'mediatek[/]mt7988_wo_[01]\.bin' drivers/net/ethernet/mediatek/mtk_wed_wo.h - accept 'static[ ]int[ ]ath11k_fw_request_firmware_api_n[(]' drivers/net/wireless/ath/ath11k/fw.c - accept '[\t]ab->fw\.fw[ ]=[ ]ath11k_core_firmware_request[(]ab[,][ ]name[)]' drivers/net/wireless/ath/ath11k/fw.c - accept '[\t]ret[ ]=[ ]ath11k_fw_request_firmware_api_n[(]ab[,][ ]ATH11K_FW_API2_FILE[)]' drivers/net/wireless/ath/ath11k/fw.c - blobname 'firmware-2\.bin' drivers/net/wireless/ath/ath11k/fw.h - accept '[ ]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]hif_dev->fw_name[,][\n][ ]*[&]hif_dev->udev->dev[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c - blobname 'mediatek[/]mt7925[/]WIFI_RAM_CODE_MT7925_1_1\.bin' drivers/net/wireless/mediatek/mt76/mt792x.h - blobname 'mediatek[/]mt7925[/]WIFI_MT7925_PATCH_MCU_1_1_hdr\.bin' drivers/net/wireless/mediatek/mt76/mt792x.h - defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8851b_txpwr_byrate_type2\[\][ ]' drivers/net/wireless/realtek/rtw89/rtw8851b_table.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]msm8226_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-msm8226.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]msm8996_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-msm8996.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]msm8x74_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-msm8x74.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sdm660_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sdm660.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm6115_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm6115.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm6125_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm6125.c - defsnc 'unsigned[ ]char[ ]vt3253b0_agc4_rfmd2959\[CB_VT3253B0_AGC_FOR_RFMD2959\]\[2\][ ]=' drivers/staging/vt6655/baseband.c - defsc 'unsigned[ ]char[ ]vt3253b0_airoha2230\[CB_VT3253B0_INIT_FOR_AIROHA2230\]\[2\][ ]=' drivers/staging/vt6655/baseband.c - defsc 'static[ ]unsigned[ ]char[ ]vt3253b0_uw2451\[CB_VT3253B0_INIT_FOR_UW2451\]\[2\][ ]=' drivers/staging/vt6655/baseband.c - defsnc 'static[ ]unsigned[ ]char[ ]vt3253b0_agc\[CB_VT3253B0_AGC\]\[2\][ ]=' drivers/staging/vt6655/baseband.c + # New in 6.7-rc, 6.6.9, 6.1.70, 5.15.146, and 5.10.206. accept '[/][*][ ]Chen-Yu[ ]Tsai[\'"'"']s[ ]regdb[ ]certificate[ ][*][/][\n0-9a-fx, ]*' net/wireless/certs/wens.hex - accept '[\t]*\.fw_filename[ ]=[ ]["]sof-acp_6_3\.ri["]' sound/soc/amd/acp-config.c - accept 'static[ ]int[ ]aw87390_request_firmware_file[(]struct' sound/soc/codecs/aw87390.c - accept '[\t]ret[ ]=[ ]aw87390_request_firmware_file[(]aw87390[)]' sound/soc/codecs/aw87390.c - accept '[\t]*["]aw87390_request_firmware_file[ ]failed' sound/soc/codecs/aw87390.c - blobname 'aw87390_acf\.bin' sound/soc/codecs/aw87390.h - accept 'static[ ]int[ ]aw88399_request_firmware_file[(]struct' sound/soc/codecs/aw88399.c - accept '[\t]ret[ ]=[ ]aw88399_request_firmware_file[(]aw88399[)]' sound/soc/codecs/aw88399.c - accept '[\t]*["]aw88399_request_firmware_file[ ]failed' sound/soc/codecs/aw88399.c - blobname 'aw88399_acf\.bin' sound/soc/codecs/aw88399.h - blobname 'rt5514-tplg\.bin' sound/soc/intel/avs/board_selection.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-acp_6_3\.ri["]' sound/soc/sof/amd/pci-acp63.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-rmb\.ri["]' sound/soc/sof/amd/pci-rmb.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-rn\.ri["]' sound/soc/sof/amd/pci-rn.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-vangogh\.ri["]' sound/soc/sof/amd/pci-vangogh.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-imx8\(x\|\)\.ri["]' sound/soc/sof/imx/pci-imx8.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-imx8m\.ri["]' sound/soc/sof/imx/pci-imx8m.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-imx8ulp\.ri["]' sound/soc/sof/imx/pci-imx8ulp.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-bdw\.ri["]' sound/soc/sof/intel/bdw.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-\(byt\|cht\)\.ri["]' sound/soc/sof/intel/byt.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-\(apl\|glk\)\.ri["]' sound/soc/sof/intel/pci-apl.c - accept '[\t][\t]\[SOF_IPC_TYPE_4\][ ]=[ ]["]dsp_basefw\.bin["]' 'sound/soc/sof/intel/pci-\(apl\|cnl\|icl\|skl\|tgl\)\.c' - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-c[nfm]l\.ri["]' sound/soc/sof/intel/pci-cnl.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-\(ic\|js\)l\.ri["]' sound/soc/sof/intel/pci-icl.c - accept '[\t][\t]\[SOF_IPC_TYPE_4\][ ]=[ ]["]sof-lnl\.ri["]' sound/soc/sof/intel/pci-lnl.c - accept '[\t][\t]\[SOF_IPC_TYPE_4\][ ]=[ ]["]sof-\(mt\|ar\)l\.ri["]' sound/soc/sof/intel/pci-mtl.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-\(tgl\(\|-h\)\|ehl\|adl\(-s\|\|-n\)\|rpl\(-s\|\)\)\.ri["]' sound/soc/sof/intel/pci-tgl.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-byt\.ri["]' sound/soc/sof/intel/pci-tng.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-mt818[68]\.ri["]' sound/soc/sof/mediatek/mt8186/mt8186.c - accept '[\t][\t]\[SOF_IPC_TYPE_3\][ ]=[ ]["]sof-mt8195\.ri["]' sound/soc/sof/mediatek/mt8186/mt8195.c - # Same as in sound/pci/hda/hda_intel.c since v3.7, previously in hda_hwdep.c only. The patch is a text file supplied by users through a kernel parameter. - accept '#ifdef[ ]CONFIG_SND_HDA_PATCH_LOADER[\n][\t]if[ ][(]loadable_patch\[hda_pvt->dev_index\][^\n{]*[{]\([\n]\([\t][^}][^\n]*\)\?\)*[\n][\t]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]loadable_patch\[hda_pvt->dev_index\][,][\n\t ]*[&]hdev->dev[)][;]\([\n]\([\t][^}][^\n]*\)\?\)*[\n][\t]*ret[ ]=[ ]snd_hda_load_patch[(]' sound/soc/codecs/hdac_hda.c - accept 'static[ ]void[ ]update_ucode_pointer[(]struct[ ]microcode_intel' arch/x86/kernel/cpu/microcode/intel.c - accept '[\t]*pr_info[(]["]Unsafe[ ]microcode[ ]update:[ ]Microcode[ ]header' arch/x86/kernel/cpu/microcode/intel.c - blobname 'qca[/]hpnv%02x%s\.\(bin\|%x\)' drivers/bluetooth/btqca.c - blobna '[/][*][ ]No[ ]m3[ ]file[ ]in[ ]firmware-N\.bin[ ]so[ ]try[ ]to[ ]request[ ]old[\n\t *]*separate[ ]m3\.bin\.[\n\t *]*[*][/]' drivers/net/wireless/ath/ath11k/qmi.c - accept '[\t]\.quirks[ \t]*=[ ]XHCI_RENESAS_FW_QUIRK[,][\n][\t]\.firmware[ ]=' drivers/usb/host/xhci-pci.c - defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8188ru_radioa_1t_highpa_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c - defsnc 'static[ ]const[ ]u32[ ]rtw8822b_txscale_tbl\[RTW_TXSCALE_SIZE\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b.c - - # New in 6.7.2. - accept '[\t][\t]\[SOF_IPC_TYPE_4\][ ]=[ ]["]sof-arl-s\.ri["]' sound/soc/sof/intel/pci-mtl.c # New in 6.7.7, 6.6.19, 6.1.80, and 5.15.150. blobname '\(silead[/]\)\?gsl3692-teclast-x16-plus\.fw' drivers/platform/x86/touchscreen_dmi.c - # New in 6.8-rc. - blobname 'AQR-G4_v5\.4\.C-AQR_CIG_WF-1945_0x8_ID44776_VER1630\.cld' Documentation/devicetree/bindings/net/marvell,aquantia.yaml - blobname 'qcom[/]msm8926[/]memul[/]adsp\.mbn' arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts - blobname 'qcom[/]qcm6490[/]fairphone5[/][ac]dsp\.mbn' arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts - blobname 'qcom[/]qcm6490[/]fairphone5[/]\(modem\|wpss\)\.mbn' arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts - blobname 'qcom[/]qrb4210[/]modem\.mbn' arch/arm64/boot/dts/qcom/qrb4210-rb2.dts - blobname 'qcom[/]sc7180[/]acer[/]aspire1[/]qcadsp7180\.mbn' arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts - blobname 'qcom[/]sm6375[/]Sony[/]murray[/]modem\.mbn' arch/arm64/boot/dts/qcom/sm6375-sony-xperia-murray-pdx225.dts - blobname 'qcom[/]sm8250[/]xiaomi[/]pipa[/]\([ac]dsp\|a650_zap\|slpi\|venus\)\.mbn' arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts - blobname 'qcom[/]sm8450[/]a730_zap\.mbn' arch/arm64/boot/dts/qcom/sm8450-hdk.dts - blobname 'qcom[/]sm8550[/]a740_zap\.mbn' arch/arm64/boot/dts/qcom/sm8550-mtp.dts - blobname 'qcom[/]sm8550[/]\(ipa_fws\|a740_zap\)\.mbn' arch/arm64/boot/dts/qcom/sm8550-qrd.dts - blobname 'qcom[/]sm8650[/]\([ac]dsp\|modem\)\(_dtb\|\)\.mbn' arch/arm64/boot/dts/qcom/'sm8650-\(mtp\|qrd\)\.dts' - blobname 'qcom[/]sm8650[/]ipa_fws\.mbn' arch/arm64/boot/dts/qcom/sm8650-qrd.dts - blobname 'ti-pruss[/]am65x-sr2-\(pru\|rtu\|txpru\)[01]-prueth-fw\.elf' arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi - defsnc 'static[ ]u64[ ]icx_cha_msr_offsets\[\][ ]' arch/x86/events/intel/uncore_snbep.c - blobname 'qcom[/]sdx75m[/]xbl\.elf' drivers/bus/mhi/pci_generic.c - blobname 'qcom[/]sdx75m[/]edl\.mbn' drivers/bus/mhi/pci_generic.c - defsnc 'static[ ]const[ ]u32[ ]fixed_ll_sym\[286\][ ]=' drivers/crypto/intel/iaa/iaa_crypto_comp_fixed.c - defsnc 'static[ ]const[ ]u32[ ]fixed_d_sym\[30\][ ]=' drivers/crypto/intel/iaa/iaa_crypto_comp_fixed.c - blobname 'qat_420xx\(\|_mmp\|_sym\|_dc\|_asym\|_admin\)\.bin' drivers/crypto/intel/qat/qat_420xx/adf_420xx_hw_data.h - blobname 'amdgpu[/]gc_11_0_0_rlc_1\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c - blobname '%s_%d\.%d\.%d\.%d_v%d\.fw' drivers/gpu/drm/imagination/pvr_device.c - accept '[ ][*][ ]pvr_request_firmware[(][)][ ]-[ ]Load[ ]firmware' drivers/gpu/drm/imagination/pvr_device.c - accept '[ ][*][ ][ ][*][ ]Any[ ]error[ ]returned[ ]by[ ]request_firmware[(][)]\.' drivers/gpu/drm/imagination/pvr_device.c - accept 'pvr_request_firmware[(]struct[ ]pvr_device[ ][*]pvr_dev[)]' drivers/gpu/drm/imagination/pvr_device.c - accept '[\t]pvr_dev->fw_dev\.firmware[ ]=[ ]fw[;]' drivers/gpu/drm/imagination/pvr_device.c - accept '[ ][*][ ][ ][*][ ]Any[ ]error[ ]returned[ ]by[ ]pvr_request_firmware[(][)]\.' drivers/gpu/drm/imagination/pvr_device.c - accept '[\t]err[ ]=[ ]pvr_request_firmware[(]pvr_dev[)][;]' drivers/gpu/drm/imagination/pvr_device.c - defsc 'static[ ]const[ ]struct[ ]nv3052c_reg[ ]\(ltk035c5444t\|fs035vg158\)_panel_regs\[\][ ]=' drivers/gpu/drm/panel/panel-newvision-nv3052c.c - blobname 'https:[/][/]git\.kernel\.org[/][^"\n]*firmware\.git' drivers/gpu/drm/xe/compat-i915-headers/intel_uc_fw.h - blobna 'Consider[ ]updating[ ]your[ ]linux-firware[ ]pkg[ ]or[ ]downloading[ ]from[ ]%s' drivers/gpu/drm/xe/xe_uc_fw.c - blobname '__stringify[(]dir__[)]' drivers/gpu/drm/xe/xe_uc_fw.c - blobname '[/]["][ ]__stringify[(]shortname__[)][ ]["]_["][ ]__stringify[(]uc__[)][ ]version__[ ]["]\.bin' drivers/gpu/drm/xe/xe_uc_fw.c - defsnc 'static[ ]const[ ]struct[ ]ov2740_reg[ ]mode_1932x1092_regs_360mhz\[\][ ]=' drivers/media/i2c/ov2740.c - defsc 'static[ ]const[ ]struct[ ]ov2740_reg[ ]mode_1932x1092_regs_180mhz\[\][ ]=' drivers/media/i2c/ov2740.c - blobname 'cnm[/]wave521c_k3_codec_fw\.bin' drivers/media/platform/chips-media/wave5/wave5-vpu.c - accept '[\t][\t]dev_err[(]dev[,][ ]["]request_firmware[,][ ]fail' drivers/media/platform/chips-media/wave5/wave5-vpu.c - blobname 's5p-mfc-v12\.fw' drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c - blobname '["]intel[/]vsc[/]["]' drivers/misc/mei/vsc-fw-loader.c - blobname 'ivsc_\(fw\|pkg_%s_0\|skucfg_%s_0_1\)\.bin' drivers/misc/mei/vsc-fw-loader.c - blobname 'mediatek[/]mt7996[/]mt7992_\(w[am]\|dsp\|rom_patch\|eeprom\)\.bin' drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h - blobname 'rtw89[/]rtw8922a_fw' drivers/net/wireless/realtek/rtw89/rtw8922a.c - # This defines RTW8851B_MODULE_FIRMWARE, only used in MODULE_FIRMWARE. - # It will cause an error if MODULE_FIRMWARE remains, or if it gets used elsewhere, - # so flag any such uses so that corrective action can be taken. - blobna 'RTW8922A_FW_BASENAME[ ]["]\.bin["]' drivers/net/wireless/realtek/rtw89/rtw8922a.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm4450_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm4450.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8650_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8650.c - defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]x1e80100_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-x1e80100.c - accept 'static[ ]int[ ]tps_request_firmware[(]' drivers/usb/typec/tipd/core.c - accept '[\t]ret[ ]=[ ]tps_request_firmware[(]tps[,][ ][&]fw[)]' drivers/usb/typec/tipd/core.c - defsnc 'static[ ]const[ ]u16[ ]expected_\(csum_ipv6_magic\|fast_csum\)\[\][ ]=' lib/checksum_kunit.c - defsnc 'static[ ]const[ ]__sum16[ ]expected_\(csum_ipv6_magic\|fast_csum\)\[\][ ]=' lib/checksum_kunit.c - accept '[\t]if[ ][!][ ]do_compile[ ]["][$][(]get_header_tree[ ]["][$]base_ref["][)][/]include["][ ]["][$]base_header["][ ]["][$][{]base_header[}]\.bin["]' scripts/check-uapi.sh - accept '[\t]if[ ][!][ ]do_compile[ ]["][$][(]get_header_tree[ ]["][$]past_ref["][)][/]include["][ ]["][$]past_header["][ ]["][$][{]past_header[}]\.bin["]' scripts/check-uapi.sh - accept '[\t][\t]["][$][{]past_header[}]\.bin["][ ]["][$][{]base_header[}]\.bin["][ ]' scripts/check-uapi.sh - accept '[\t]cs35l56_hda_request_firmware_files[(]cs35l56[,][ ]preloaded_fw_ver[,]' sound/pci/hda/cs35l56_hda.c - defsnc 'static[ ]const[ ]struct[ ]_coeff_div[ ]coeff_div_v[03]\[\][ ]=' sound/soc/codecs/es8326.c - accept 'static[ ]int[ ]sof_test_\(firmware\|topology\)_file[(][ \t\na-z_,*]*[)][\n][{][\n]\([^}][^\n]*[\n]\+\)*[\t]ret[ ]=[ ]firmware_request_nowarn[(][&]fw[,][ ]\(fw\|tplg\)_filename[,][ ]dev[)]' sound/soc/sof/fw-file-profile.c - accept '[\t][\t]\[SOF_IPC_TYPE_4\][ ]=[ ]["]sof-\(tgl\(-h\)\?\|ehl\|adl\(-s\|-n\)\?\|rpl\(-s\)\?\)\.ri["]' sound/soc/sof/intel/pci-tgl.c - defsc 'static[ ]struct[ ]subtest_case[ ]crafted_cases\[\][ ]=' tools/testing/selftests/bpf/prog_tests/reg_bounds.c - accept '[\t][$][(]Q[)]qemu-[$][(]QEMU_ARCH_USER[)][ ][.][/]nolibc-test[ ][>][ ]["][$][(]CURDIR[)][/]run\.out["]' tools/testing/selftests/nolibc/Makefile - - # New in 6.8.2, 6.7.11, 6.6.23, 6.1.83. - accept '[\t]ret[ ]=[ ]request_firmware[(][&]\(sdev->basefw\.fw\|adata->fw_dbin\)[,][ ]fw_filename[,][ ]sdev->dev[)]' sound/soc/sof/amd/acp-loader.c - accept '[\t][\t][\t]*adata->fw_\(code\|data\)_bin[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ \n\t]*GFP_KERNEL[,][ \n\t]*["]\(%s[/]\)\?sof-%s-\(code\|data\)\.bin["]' sound/soc/sof/amd/acp.c + # New in 5.15.153. + blobname 'qca[/]hpbtfw%02x\.tlv' drivers/bluetooth/btqca.c + blobname 'qca[/]hpnv%02x\.bin' drivers/bluetooth/btqca.c - # New in 6.8.6, 6.6.27, 6.1.86 - blobname 'mediatek[/]BT_RAM_CODE_MT7922_1_1_hdr\.bin' drivers/bluetooth/btmtk.h - blobname 'rt\(274\|5682\|1308\)-tplg\.bin' sound/soc/intel/avs/board_selection.c - blobname 'iwlwifi-sc2f\?-a0-\(fm-c0\|wh-a0\)' drivers/net/wireless/intel/iwlwifi/cfg/sc.c - # Moved from way above, so that the above matches first. - blobname 'iwlwifi-\(sc\)-[ab]0-\(fm\|hr\|gf4\?\|wh\)-[abc]0' drivers/net/wireless/intel/iwlwifi/cfg/sc.c - blobname 'iwlwifi-[^ ]*-[ab]0-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c + # New in 5.15.162. + blobname 'qca[/]hpnv%02x%s\.\(bin\|%x\)' drivers/bluetooth/btqca.c + blobname 'qca[/]\(ap\|hmt\)btfw%02x\.tlv' drivers/bluetooth/btqca.c + blobname 'qca[/]\(ap\|hmt\)nv%02x\.bin' drivers/bluetooth/btqca.c - # New in 6.9-rc, 6.8.10. - blobname 'amdgpu[/]dcn_3_5_1_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c - - # Trisquel changes for upstream kernel. + # New in 6.10-rc, 6.9.9, 6.6.39, 6.1.98, 5.15.163, 5.10.222. blobname 'gsl1680-globalspace-solt-ivw116\.fw' drivers/platform/x86/touchscreen_dmi.c blobname 'E\.WSA116_8\.E1\.042\.bin' drivers/platform/x86/touchscreen_dmi.c - blobname 'qcom[/]sdm850[/]LENOVO[/]81JL[/]ipa_fws\.elf' arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts - blobname '\(cdsp[01]\|gpdsp[01]\|adsp\)\.mbn' drivers/remoteproc/qcom_q6v5_pas.c - ## New in 6.11.3, 6.10.14, 6.6.55, 6.1.113, 5.15.168, 5.10.227. + + # New in 6.11.2, 6.10.13, 6.6.54, 6.1.113, 5.15.168, 5.10.227. + accept '[ ][*][ ]It[ ]must[ ]not[ ]contain[ ]any[ ]["]\.\.["][ ]path[ ]components[ ]-[ ]["]foo[/]bar\.\.bin["][ ]is[\n][ ][*][ ]allowed[,][ ]but[ ]["]foo[/]\.\.[/]bar\.bin["][ ]is[ ]not\.' drivers/base/firmware_loader/main.c + # New in 6.11.2. + blobname 'qcom[/]sdx55m[/]foxconn[/]prog_firehose_sdx55\.mbn' drivers/bus/mhi/host/pci_generic.c + blobname 'qcom[/]sdx72m[/]foxconn[/]edl\.mbn' drivers/bus/mhi/host/pci_generic.c + + # New in 6.11.3, 6.10.14, 6.6.55, 6.1.113, 5.15.168, 5.10.227. blobname 'gsl1680-rwc-nanote-next\.fw' drivers/platform/x86/touchscreen_dmi.c - #EO Trisquel changes + defsnc 'alc298_samsung_v2_amp_desc_tbl\[\][ ]=' sound/pci/hda/patch_realtek.c + + # New in 6.11.4, 6.6.57, 6.1.113, 5.15.168, 5.10.227. + defsc 'static[ ]const[ ]unsigned[ ]char[ ]utf8data\[64080\][ ]=' fs/unicode/utf8data.c_shipped + ;; */*freedo*.patch | */*logo*.patch) @@ -7345,7 +6490,6 @@ set_except () { blobna 'equest_partial_firmwar' blobna 'equest_ihex_firmwar' blobna 'irmware_reques' # catch _nowarn; also caches _cache, but that's ok. - blobna 'ucode_reques' # catch amdgpu_ucode_request. # Catch request_firmare misdeblobbed by the above. blobname 'r[/][*][(]DEBLOBBED[)][*][/]e' blobname 'f[/][*][(]DEBLOBBED[)][*][/]t' @@ -7354,7 +6498,7 @@ set_except () { blobna 'DEFAULT_FIRMWARE' blobna '\([.]\|->\)firmware[ \n]*=[^=]' blobna 'mod_firmware_load' # sound/ - blobname '[.]\(\(fw\|bin\)[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\|tftf\|out\|nffw\|mdt\|mfa2\?\|ri\|tplg\|itb\|cyacd\|mbn\|tlv\|sfi\|grp\|bin\.se\)[\\]\?["]' + blobname '[.]\(\(fw\|bin\)[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\|tftf\|out\|nffw\|mdt\|mfa2\?\|ri\|tplg\|itb\|cyacd\|mbn\|tlv\|sfi\|grp\)[\\]\?["]' # WIP ends with [\\]\?[][}{)(><,;:.!?% \t\n"`\'"'"']' # Catch misdeblobbed fw extension. blobname '["]\([^" \t\n/]*[/][/]*\)*[*][(]DEBLOBBED[)][*][/][^"\\]' @@ -8759,7 +7903,7 @@ check () { # Match $1 as a blob anywhere. $2 is just for documentation purposes. blobname () { - badx "$1" $2 + badx "$1" } # Match $1 in $2 as a blob. The expectation is a match in the diff --git a/helpers/DATA/linux/enable_blobless_activation_radeon.patch b/helpers/DATA/linux/enable_blobless_activation_radeon.patch new file mode 100644 index 0000000..ba0f092 --- /dev/null +++ b/helpers/DATA/linux/enable_blobless_activation_radeon.patch @@ -0,0 +1,227 @@ +Based on https://libreplanet.org/wiki/Group:Hardware/research/gpu/radeon + +diff -ru source.orig/drivers/gpu/drm/radeon/btc_dpm.c source/drivers/gpu/drm/radeon/btc_dpm.c +--- source.orig/drivers/gpu/drm/radeon/btc_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/btc_dpm.c 2023-02-13 15:50:41.218608376 -0500 +@@ -2437,7 +2437,6 @@ + ret = rv770_upload_firmware(rdev); + if (ret) { + DRM_ERROR("rv770_upload_firmware failed\n"); +- return ret; + } + ret = cypress_get_table_locations(rdev); + if (ret) { +diff -ru source.orig/drivers/gpu/drm/radeon/ci_dpm.c source/drivers/gpu/drm/radeon/ci_dpm.c +--- source.orig/drivers/gpu/drm/radeon/ci_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/ci_dpm.c 2023-02-13 15:53:38.591724496 -0500 +@@ -5157,7 +5157,6 @@ + ret = ci_upload_firmware(rdev); + if (ret) { + DRM_ERROR("ci_upload_firmware failed\n"); +- return ret; + } + ret = ci_process_firmware_header(rdev); + if (ret) { +diff -ru source.orig/drivers/gpu/drm/radeon/cik.c source/drivers/gpu/drm/radeon/cik.c +--- source.orig/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:21:35.174999782 -0500 ++++ source/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:47:37.149601121 -0500 +@@ -8285,7 +8285,6 @@ + r = ci_mc_load_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load MC firmware!\n"); +- return r; + } + } + +@@ -8591,7 +8590,6 @@ + r = cik_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + } else { +@@ -8601,7 +8599,6 @@ + r = cik_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + } +@@ -8668,7 +8665,6 @@ + */ + if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) { + DRM_ERROR("radeon: MC ucode required for NI+.\n"); +- return -EINVAL; + } + + return 0; +diff -ru source.orig/drivers/gpu/drm/radeon/cypress_dpm.c source/drivers/gpu/drm/radeon/cypress_dpm.c +--- source.orig/drivers/gpu/drm/radeon/cypress_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/cypress_dpm.c 2023-02-13 15:50:25.130869935 -0500 +@@ -1862,7 +1862,6 @@ + ret = rv770_upload_firmware(rdev); + if (ret) { + DRM_ERROR("rv770_upload_firmware failed\n"); +- return ret; + } + + ret = cypress_get_table_locations(rdev); +diff -ru source.orig/drivers/gpu/drm/radeon/evergreen.c source/drivers/gpu/drm/radeon/evergreen.c +--- source.orig/drivers/gpu/drm/radeon/evergreen.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/evergreen.c 2023-02-13 15:47:50.457384749 -0500 +@@ -5018,7 +5018,6 @@ + r = ni_mc_load_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load MC firmware!\n"); +- return r; + } + } + +@@ -5235,7 +5234,6 @@ + r = ni_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + } else { +@@ -5243,7 +5241,6 @@ + r = r600_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + } +@@ -5289,7 +5286,6 @@ + if (ASIC_IS_DCE5(rdev)) { + if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) { + DRM_ERROR("radeon: MC ucode required for NI+.\n"); +- return -EINVAL; + } + } + +diff -ru source.orig/drivers/gpu/drm/radeon/ni.c source/drivers/gpu/drm/radeon/ni.c +--- source.orig/drivers/gpu/drm/radeon/ni.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/ni.c 2023-02-13 15:46:45.402442454 -0500 +@@ -2163,7 +2163,6 @@ + r = ni_mc_load_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load MC firmware!\n"); +- return r; + } + } + +@@ -2390,7 +2389,6 @@ + r = ni_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + } else { +@@ -2398,7 +2396,6 @@ + r = ni_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + } +@@ -2453,7 +2450,6 @@ + */ + if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) { + DRM_ERROR("radeon: MC ucode required for NI+.\n"); +- return -EINVAL; + } + + return 0; +diff -ru source.orig/drivers/gpu/drm/radeon/r100.c source/drivers/gpu/drm/radeon/r100.c +--- source.orig/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:21:35.174999782 -0500 ++++ source/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:49:15.548001277 -0500 +@@ -1134,7 +1134,6 @@ + r = r100_cp_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + +diff -ru source.orig/drivers/gpu/drm/radeon/r600.c source/drivers/gpu/drm/radeon/r600.c +--- source.orig/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:21:35.174999782 -0500 ++++ source/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:46:07.291062125 -0500 +@@ -3299,7 +3299,6 @@ + r = r600_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + +diff -ru source.orig/drivers/gpu/drm/radeon/rv770.c source/drivers/gpu/drm/radeon/rv770.c +--- source.orig/drivers/gpu/drm/radeon/rv770.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/rv770.c 2023-02-13 15:26:54.385808292 -0500 +@@ -1966,7 +1966,6 @@ + r = r600_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + +diff -ru source.orig/drivers/gpu/drm/radeon/rv770_dpm.c source/drivers/gpu/drm/radeon/rv770_dpm.c +--- source.orig/drivers/gpu/drm/radeon/rv770_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/rv770_dpm.c 2023-02-13 15:50:13.591057564 -0500 +@@ -1948,12 +1948,10 @@ + ret = rv770_upload_firmware(rdev); + if (ret) { + DRM_ERROR("rv770_upload_firmware failed\n"); +- return ret; + } + ret = rv770_init_smc_table(rdev, boot_ps); + if (ret) { + DRM_ERROR("rv770_init_smc_table failed\n"); +- return ret; + } + + rv770_program_response_times(rdev); +diff -ru source.orig/drivers/gpu/drm/radeon/si.c source/drivers/gpu/drm/radeon/si.c +--- source.orig/drivers/gpu/drm/radeon/si.c 2023-02-13 15:21:35.178999717 -0500 ++++ source/drivers/gpu/drm/radeon/si.c 2023-02-13 15:47:00.042204445 -0500 +@@ -6619,7 +6619,6 @@ + r = si_mc_load_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load MC firmware!\n"); +- return r; + } + } + +@@ -6867,7 +6866,6 @@ + r = si_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); +- return r; + } + } + +@@ -6926,7 +6924,6 @@ + */ + if (!rdev->mc_fw) { + DRM_ERROR("radeon: MC ucode required for NI+.\n"); +- return -EINVAL; + } + + return 0; +diff -ru source.orig/drivers/gpu/drm/radeon/si_dpm.c source/drivers/gpu/drm/radeon/si_dpm.c +--- source.orig/drivers/gpu/drm/radeon/si_dpm.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/radeon/si_dpm.c 2023-02-13 15:53:00.844338238 -0500 +@@ -6366,7 +6366,6 @@ + ret = si_upload_firmware(rdev); + if (ret) { + DRM_ERROR("si_upload_firmware failed\n"); +- return ret; + } + ret = si_process_firmware_header(rdev); + if (ret) { diff --git a/helpers/DATA/linux/005-removal_of_external_recommendation_for_firmware.patch b/helpers/DATA/linux/removal_of_external_recommendation_for_firmware.patch similarity index 84% rename from helpers/DATA/linux/005-removal_of_external_recommendation_for_firmware.patch rename to helpers/DATA/linux/removal_of_external_recommendation_for_firmware.patch index 5b8ee9a..2e70f50 100644 --- a/helpers/DATA/linux/005-removal_of_external_recommendation_for_firmware.patch +++ b/helpers/DATA/linux/removal_of_external_recommendation_for_firmware.patch @@ -2,10 +2,10 @@ Removal of references to external repositories we can't manage what kind of firm The only firmware we can confirm to work with is the one contained on the packge source code. diff --git a/drivers/net/wireless/atmel/at76c50x-usb.c b/drivers/net/wireless/atmel/at76c50x-usb.c -index 447b51cf..898b83af 100644 +index 86f95bd0..046b298d 100644 --- a/drivers/net/wireless/atmel/at76c50x-usb.c +++ b/drivers/net/wireless/atmel/at76c50x-usb.c -@@ -1619,8 +1619,6 @@ static struct fwentry *at76_load_firmware(struct usb_device *udev, +@@ -1612,8 +1612,6 @@ static struct fwentry *at76_load_firmware(struct usb_device *udev, if (ret < 0) { dev_err(&udev->dev, "firmware %s not found!\n", fwe->fwname); @@ -15,10 +15,10 @@ index 447b51cf..898b83af 100644 } diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c -index f3b50528..1860f2b7 100644 +index 1bb2dcf3..ab1c234c 100644 --- a/sound/soc/sof/topology.c +++ b/sound/soc/sof/topology.c -@@ -2445,8 +2445,6 @@ int snd_sof_load_topology(struct snd_soc_component *scomp, const char *file) +@@ -3710,8 +3710,6 @@ int snd_sof_load_topology(struct snd_soc_component *scomp, const char *file) if (ret < 0) { dev_err(scomp->dev, "error: tplg request firmware %s failed err: %d\n", file, ret); diff --git a/helpers/DATA/linux/revert_iwlwifi_clear_firmware1.patch b/helpers/DATA/linux/revert_iwlwifi_clear_firmware1.patch new file mode 100644 index 0000000..a1149cf --- /dev/null +++ b/helpers/DATA/linux/revert_iwlwifi_clear_firmware1.patch @@ -0,0 +1,21 @@ +reverts https://lore.kernel.org/all/iwlwifi.20211210110539.1f742f0eb58a.I1315f22f6aa632d94ae2069f85e1bca5e734dce0@changeid/ + +--- b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c ++++ a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +@@ -1597,8 +1597,15 @@ + * else from proceeding if the module fails to load + * or hangs loading. + */ ++ if (load_module) { +- if (load_module) + request_module("%s", op->name); ++#ifdef CONFIG_IWLWIFI_OPMODE_MODULAR ++ if (err) ++ IWL_ERR(drv, ++ "failed to load module %s (error %d), is dynamic loading enabled?\n", ++ op->name, err); ++#endif ++ } + failure = false; + goto free; + diff --git a/helpers/DATA/linux/revert_iwlwifi_clear_firmware2.patch b/helpers/DATA/linux/revert_iwlwifi_clear_firmware2.patch new file mode 100644 index 0000000..22879b6 --- /dev/null +++ b/helpers/DATA/linux/revert_iwlwifi_clear_firmware2.patch @@ -0,0 +1,40 @@ +reverts https://lore.kernel.org/all/iwlwifi.20211210110539.1f742f0eb58a.I1315f22f6aa632d94ae2069f85e1bca5e734dce0@changeid/ + +--- b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c ++++ a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +@@ -130,9 +130,6 @@ + + for (i = 0; i < IWL_UCODE_TYPE_MAX; i++) + iwl_free_fw_img(drv, drv->fw.img + i); +- +- /* clear the data for the aborted load case */ +- memset(&drv->fw, 0, sizeof(drv->fw)); + } + + static int iwl_alloc_fw_desc(struct iwl_drv *drv, struct fw_desc *desc, +@@ -1429,7 +1426,6 @@ + int i; + bool load_module = false; + bool usniffer_images = false; +- bool failure = true; + + fw->ucode_capa.max_probe_length = IWL_DEFAULT_MAX_PROBE_LENGTH; + fw->ucode_capa.standard_phy_calibration_size = +@@ -1699,7 +1695,6 @@ + op->name, err); + #endif + } +- failure = false; + goto free; + + try_again: +@@ -1715,9 +1710,6 @@ + complete(&drv->request_firmware_complete); + device_release_driver(drv->trans->dev); + free: +- if (failure) +- iwl_dealloc_ucode(drv); +- + if (pieces) { + for (i = 0; i < ARRAY_SIZE(pieces->img); i++) + kfree(pieces->img[i].sec); diff --git a/helpers/DATA/linux/revert_iwlwifi_clear_firmware3.patch b/helpers/DATA/linux/revert_iwlwifi_clear_firmware3.patch new file mode 100644 index 0000000..b30d597 --- /dev/null +++ b/helpers/DATA/linux/revert_iwlwifi_clear_firmware3.patch @@ -0,0 +1,13 @@ +reverts https://lore.kernel.org/all/iwlwifi.20211210110539.1f742f0eb58a.I1315f22f6aa632d94ae2069f85e1bca5e734dce0@changeid/ + +diff -ru source.orig/drivers/net/wireless/intel/iwlwifi/iwl-drv.c source/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +--- source.orig/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2022-05-13 16:10:11.883295769 -0400 ++++ source/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2022-05-13 20:13:06.568151229 -0400 +@@ -1605,7 +1605,6 @@ + complete(&drv->request_firmware_complete); + device_release_driver(drv->trans->dev); + /* drv has just been freed by the release */ +- failure = false; + free: + if (pieces) { + for (i = 0; i < ARRAY_SIZE(pieces->img); i++) diff --git a/helpers/DATA/linux/silent-accept-firmware.patch b/helpers/DATA/linux/silent-accept-firmware.patch new file mode 100644 index 0000000..85b4b09 --- /dev/null +++ b/helpers/DATA/linux/silent-accept-firmware.patch @@ -0,0 +1,1789 @@ +The Linux-Libre deblob script that is used to make the Trisquel kernel packages disables all functionality related to loading nonfree firmware blobs. Even if the user chooses to install the blob files, these would still not be loaded and the driver would not activate. +An alternative solution is to preserve the loading functionality and remove the *advertisment* to the user of the blob filenames when these fail to be loaded, as to not imply that those files are recommended in any way, so the driver would just print "failed to load firmware" or equivalent. This allows the user to use the driver if they so decide. + +This method is done by a patch (silent-accept-firmware.patch) that removes all the instances where the blob filenames are printed to the user (via kernel logs), and a section on the package helper that takes care of preventing the deblob script from acting on the files modified by the patch. This is done manually, for individual drivers (usually those for very common devices). It needs to be reviewed on any new major release, checking that no new lines were added to the upstream driver in where it prints the blob filename on the log. +Printing the blob filename on success operations (that is, when the blob file is present) is acceptable. If in doubt, all instances of printing the blob filenames should be removed. + +diff -Nru linux-5.15.0a/arch/x86/kernel/cpu/microcode/amd.c linux-5.15.0b/arch/x86/kernel/cpu/microcode/amd.c +--- linux-5.15.0a/arch/x86/kernel/cpu/microcode/amd.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/arch/x86/kernel/cpu/microcode/amd.c 2022-05-12 17:31:21.286518721 -0500 +@@ -901,7 +901,7 @@ + snprintf(fw_name, sizeof(fw_name), "amd-ucode/microcode_amd_fam%.2xh.bin", c->x86); + + if (request_firmware_direct(&fw, (const char *)fw_name, device)) { +- pr_debug("failed to load file %s\n", fw_name); ++ pr_debug("failed to load file\n"); + goto out; + } + +diff -Nru linux-5.15.0a/arch/x86/kernel/cpu/microcode/intel.c linux-5.15.0b/arch/x86/kernel/cpu/microcode/intel.c +--- linux-5.15.0a/arch/x86/kernel/cpu/microcode/intel.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/arch/x86/kernel/cpu/microcode/intel.c 2022-05-12 17:34:56.726972573 -0500 +@@ -940,7 +940,7 @@ + c->x86, c->x86_model, c->x86_stepping); + + if (request_firmware_direct(&firmware, name, device)) { +- pr_debug("data file %s load failed\n", name); ++ pr_debug("data file load failed\n"); + return UCODE_NFOUND; + } + +diff -Nru linux-5.15.0a/drivers/base/firmware_loader/fallback.c linux-5.15.0b/drivers/base/firmware_loader/fallback.c +--- linux-5.15.0a/drivers/base/firmware_loader/fallback.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/base/firmware_loader/fallback.c 2022-05-12 17:40:38.151694598 -0500 +@@ -522,7 +522,7 @@ + if (fw_priv->opt_flags & FW_OPT_UEVENT) { + fw_priv->need_uevent = true; + dev_set_uevent_suppress(f_dev, false); +- dev_dbg(f_dev, "firmware: requesting %s\n", fw_priv->fw_name); ++ dev_dbg(f_dev, "firmware: requesting\n"); + kobject_uevent(&fw_sysfs->dev.kobj, KOBJ_ADD); + } else { + timeout = MAX_JIFFY_OFFSET; +@@ -560,15 +560,13 @@ + if (opt_flags & FW_OPT_NOWAIT) { + timeout = usermodehelper_read_lock_wait(timeout); + if (!timeout) { +- dev_dbg(device, "firmware: %s loading timed out\n", +- name); ++ dev_dbg(device, "firmware: loading timed out\n"); + return -EBUSY; + } + } else { + ret = usermodehelper_read_trylock(); + if (WARN_ON(ret)) { +- dev_err(device, "firmware: %s will not be loaded\n", +- name); ++ dev_err(device, "firmware: will not be loaded\n"); + return ret; + } + } +@@ -651,10 +649,8 @@ + return ret; + + if (!(opt_flags & FW_OPT_NO_WARN)) +- dev_warn(device, "Falling back to sysfs fallback for: %s\n", +- name); ++ dev_warn(device, "Falling back to sysfs fallback\n"); + else +- dev_dbg(device, "Falling back to sysfs fallback for: %s\n", +- name); ++ dev_dbg(device, "Falling back to sysfs fallback\n"); + return fw_load_from_user_helper(fw, name, device, opt_flags); + } +diff -Nru linux-5.15.0a/drivers/base/firmware_loader/main.c linux-5.15.0b/drivers/base/firmware_loader/main.c +--- linux-5.15.0a/drivers/base/firmware_loader/main.c 2022-05-12 15:51:56.000000000 -0500 ++++ linux-5.15.0b/drivers/base/firmware_loader/main.c 2022-05-12 17:52:35.513216324 -0500 +@@ -539,11 +539,10 @@ + READING_FIRMWARE); + if (rc < 0) { + if (rc != -ENOENT) +- dev_warn(device, "loading %s failed with error %d\n", +- path, rc); ++ dev_warn(device, "loading failed with error %d\n", ++ rc); + else +- dev_dbg(device, "loading %s failed for no such file or directory.\n", +- path); ++ dev_dbg(device, "loading failed for no such file or directory.\n"); + continue; + } + size = rc; +@@ -562,8 +561,7 @@ + continue; + } + } else { +- dev_dbg(device, "direct-loading %s\n", +- fw_priv->fw_name); ++ dev_dbg(device, "direct-loading\n"); + if (!fw_priv->data) + fw_priv->data = buffer; + fw_priv->size = size; +@@ -738,7 +736,7 @@ + } + + if (fw_get_builtin_firmware(firmware, name, dbuf, size)) { +- dev_dbg(device, "using built-in %s\n", name); ++ dev_dbg(device, "using built-in\n"); + return 0; /* assigned */ + } + +@@ -828,8 +826,8 @@ + if (ret) { + if (!(opt_flags & FW_OPT_NO_WARN)) + dev_warn(device, +- "Direct firmware load for %s failed with error %d\n", +- name, ret); ++ "Direct firmware load failed with error %d\n", ++ ret); + if (nondirect) + ret = firmware_fallback_sysfs(fw, name, device, + opt_flags, ret); +diff -Nru linux-5.15.0a/drivers/gpu/drm/amd/pm/powerplay/si_dpm.c linux-5.15.0b/drivers/gpu/drm/amd/pm/powerplay/si_dpm.c +--- linux-5.15.0a/drivers/gpu/drm/amd/pm/powerplay/si_dpm.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/gpu/drm/amd/pm/powerplay/si_dpm.c 2022-05-12 18:54:56.035329211 -0500 +@@ -7673,8 +7673,8 @@ + + out: + if (err) { +- DRM_ERROR("si_smc: Failed to load firmware. err = %d\"%s\"\n", +- err, fw_name); ++ DRM_ERROR("si_smc: Failed to load firmware. err = %d\n", ++ err); + release_firmware(adev->pm.fw); + adev->pm.fw = NULL; + } +diff -Nru linux-5.15.0a/drivers/gpu/drm/drm_edid_load.c linux-5.15.0b/drivers/gpu/drm/drm_edid_load.c +--- linux-5.15.0a/drivers/gpu/drm/drm_edid_load.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/gpu/drm/drm_edid_load.c 2022-05-12 19:05:28.245840772 -0500 +@@ -188,15 +188,15 @@ + pdev = platform_device_register_simple(connector_name, -1, NULL, 0); + if (IS_ERR(pdev)) { + DRM_ERROR("Failed to register EDID firmware platform device " +- "for connector \"%s\"\n", connector_name); ++ "for connector\n"); + return ERR_CAST(pdev); + } + + err = request_firmware(&fw, name, &pdev->dev); + platform_device_unregister(pdev); + if (err) { +- DRM_ERROR("Requesting EDID firmware \"%s\" failed (err=%d)\n", +- name, err); ++ DRM_ERROR("Requesting EDID firmware failed (err=%d)\n", ++ err); + return ERR_PTR(err); + } + +@@ -205,8 +205,8 @@ + } + + if (edid_size(fwdata, fwsize) != fwsize) { +- DRM_ERROR("Size of EDID firmware \"%s\" is invalid " +- "(expected %d, got %d\n", name, ++ DRM_ERROR("Size of EDID firmware is invalid " ++ "(expected %d, got %d\n", + edid_size(fwdata, fwsize), (int)fwsize); + edid = ERR_PTR(-EINVAL); + goto out; +diff -Nru linux-5.15.0a/drivers/gpu/drm/r128/r128_cce.c linux-5.15.0b/drivers/gpu/drm/r128/r128_cce.c +--- linux-5.15.0a/drivers/gpu/drm/r128/r128_cce.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/gpu/drm/r128/r128_cce.c 2022-05-12 19:07:11.977637062 -0500 +@@ -162,14 +162,13 @@ + rc = request_firmware(&fw, FIRMWARE_NAME, &pdev->dev); + platform_device_unregister(pdev); + if (rc) { +- pr_err("r128_cce: Failed to load firmware \"%s\"\n", +- FIRMWARE_NAME); ++ pr_err("r128_cce: Failed to load firmware\n"); + return rc; + } + + if (fw->size != 256 * 8) { +- pr_err("r128_cce: Bogus length %zu in firmware \"%s\"\n", +- fw->size, FIRMWARE_NAME); ++ pr_err("r128_cce: Bogus length %zu in firmware\n", ++ fw->size); + rc = -EINVAL; + goto out_release; + } +diff -Nru linux-5.15.0a/drivers/gpu/drm/radeon/cik.c linux-5.15.0b/drivers/gpu/drm/radeon/cik.c +--- linux-5.15.0a/drivers/gpu/drm/radeon/cik.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/gpu/drm/radeon/cik.c 2022-05-12 19:17:42.053680437 -0500 +@@ -2049,7 +2049,7 @@ + default: BUG(); + } + +- DRM_INFO("Loading %s Microcode\n", new_chip_name); ++ DRM_INFO("Loading Microcode\n"); + + snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", new_chip_name); + err = request_firmware(&rdev->pfp_fw, fw_name, rdev->dev); +@@ -2059,16 +2059,15 @@ + if (err) + goto out; + if (rdev->pfp_fw->size != pfp_req_size) { +- pr_err("cik_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->pfp_fw->size, fw_name); ++ pr_err("cik_cp: Bogus length %zu in firmware\n", ++ rdev->pfp_fw->size); + err = -EINVAL; + goto out; + } + } else { + err = radeon_ucode_validate(rdev->pfp_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2083,15 +2082,14 @@ + if (err) + goto out; + if (rdev->me_fw->size != me_req_size) { +- pr_err("cik_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->me_fw->size, fw_name); ++ pr_err("cik_cp: Bogus length %zu in firmware\n", ++ rdev->me_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->me_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2106,15 +2104,14 @@ + if (err) + goto out; + if (rdev->ce_fw->size != ce_req_size) { +- pr_err("cik_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->ce_fw->size, fw_name); ++ pr_err("cik_cp: Bogus length %zu in firmware\n", ++ rdev->ce_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->ce_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2129,15 +2126,14 @@ + if (err) + goto out; + if (rdev->mec_fw->size != mec_req_size) { +- pr_err("cik_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->mec_fw->size, fw_name); ++ pr_err("cik_cp: Bogus length %zu in firmware\n", ++ rdev->mec_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->mec_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2167,15 +2163,14 @@ + if (err) + goto out; + if (rdev->rlc_fw->size != rlc_req_size) { +- pr_err("cik_rlc: Bogus length %zu in firmware \"%s\"\n", +- rdev->rlc_fw->size, fw_name); ++ pr_err("cik_rlc: Bogus length %zu in firmware\n", ++ rdev->rlc_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->rlc_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2190,15 +2185,14 @@ + if (err) + goto out; + if (rdev->sdma_fw->size != sdma_req_size) { +- pr_err("cik_sdma: Bogus length %zu in firmware \"%s\"\n", +- rdev->sdma_fw->size, fw_name); ++ pr_err("cik_sdma: Bogus length %zu in firmware\n", ++ rdev->sdma_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->sdma_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2220,16 +2214,15 @@ + } + if ((rdev->mc_fw->size != mc_req_size) && + (rdev->mc_fw->size != mc2_req_size)){ +- pr_err("cik_mc: Bogus length %zu in firmware \"%s\"\n", +- rdev->mc_fw->size, fw_name); ++ pr_err("cik_mc: Bogus length %zu in firmware\n", ++ rdev->mc_fw->size); + err = -EINVAL; + } + DRM_INFO("%s: %zu bytes\n", fw_name, rdev->mc_fw->size); + } else { + err = radeon_ucode_validate(rdev->mc_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2245,21 +2238,19 @@ + snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", chip_name); + err = request_firmware(&rdev->smc_fw, fw_name, rdev->dev); + if (err) { +- pr_err("smc: error loading firmware \"%s\"\n", +- fw_name); ++ pr_err("smc: error loading firmware\n"); + release_firmware(rdev->smc_fw); + rdev->smc_fw = NULL; + err = 0; + } else if (rdev->smc_fw->size != smc_req_size) { +- pr_err("cik_smc: Bogus length %zu in firmware \"%s\"\n", +- rdev->smc_fw->size, fw_name); ++ pr_err("cik_smc: Bogus length %zu in firmware\n", ++ rdev->smc_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->smc_fw); + if (err) { +- pr_err("cik_fw: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_fw: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -2279,8 +2270,7 @@ + out: + if (err) { + if (err != -EINVAL) +- pr_err("cik_cp: Failed to load firmware \"%s\"\n", +- fw_name); ++ pr_err("cik_cp: Failed to load firmware\n"); + release_firmware(rdev->pfp_fw); + rdev->pfp_fw = NULL; + release_firmware(rdev->me_fw); +diff -Nru linux-5.15.0a/drivers/gpu/drm/radeon/r100.c linux-5.15.0b/drivers/gpu/drm/radeon/r100.c +--- linux-5.15.0a/drivers/gpu/drm/radeon/r100.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/gpu/drm/radeon/r100.c 2022-05-12 19:20:42.194000367 -0500 +@@ -1057,10 +1057,10 @@ + + err = request_firmware(&rdev->me_fw, fw_name, rdev->dev); + if (err) { +- pr_err("radeon_cp: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("radeon_cp: Failed to load firmware\n"); + } else if (rdev->me_fw->size % 8) { +- pr_err("radeon_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->me_fw->size, fw_name); ++ pr_err("radeon_cp: Bogus length %zu in firmware\n", ++ rdev->me_fw->size); + err = -EINVAL; + release_firmware(rdev->me_fw); + rdev->me_fw = NULL; +diff -Nru linux-5.15.0a/drivers/gpu/drm/radeon/r600.c linux-5.15.0b/drivers/gpu/drm/radeon/r600.c +--- linux-5.15.0a/drivers/gpu/drm/radeon/r600.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/gpu/drm/radeon/r600.c 2022-05-12 19:23:55.994420122 -0500 +@@ -2548,15 +2548,15 @@ + rlc_req_size = R600_RLC_UCODE_SIZE * 4; + } + +- DRM_INFO("Loading %s Microcode\n", chip_name); ++ DRM_INFO("Loading Microcode\n"); + + snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", chip_name); + err = request_firmware(&rdev->pfp_fw, fw_name, rdev->dev); + if (err) + goto out; + if (rdev->pfp_fw->size != pfp_req_size) { +- pr_err("r600_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->pfp_fw->size, fw_name); ++ pr_err("r600_cp: Bogus length %zu in firmware\n", ++ rdev->pfp_fw->size); + err = -EINVAL; + goto out; + } +@@ -2566,8 +2566,8 @@ + if (err) + goto out; + if (rdev->me_fw->size != me_req_size) { +- pr_err("r600_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->me_fw->size, fw_name); ++ pr_err("r600_cp: Bogus length %zu in firmware\n", ++ rdev->me_fw->size); + err = -EINVAL; + goto out; + } +@@ -2577,8 +2577,8 @@ + if (err) + goto out; + if (rdev->rlc_fw->size != rlc_req_size) { +- pr_err("r600_rlc: Bogus length %zu in firmware \"%s\"\n", +- rdev->rlc_fw->size, fw_name); ++ pr_err("r600_rlc: Bogus length %zu in firmware\n", ++ rdev->rlc_fw->size); + err = -EINVAL; + goto out; + } +@@ -2587,13 +2587,13 @@ + snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", smc_chip_name); + err = request_firmware(&rdev->smc_fw, fw_name, rdev->dev); + if (err) { +- pr_err("smc: error loading firmware \"%s\"\n", fw_name); ++ pr_err("smc: error loading firmware\n"); + release_firmware(rdev->smc_fw); + rdev->smc_fw = NULL; + err = 0; + } else if (rdev->smc_fw->size != smc_req_size) { +- pr_err("smc: Bogus length %zu in firmware \"%s\"\n", +- rdev->smc_fw->size, fw_name); ++ pr_err("smc: Bogus length %zu in firmware\n", ++ rdev->smc_fw->size); + err = -EINVAL; + } + } +@@ -2601,8 +2601,7 @@ + out: + if (err) { + if (err != -EINVAL) +- pr_err("r600_cp: Failed to load firmware \"%s\"\n", +- fw_name); ++ pr_err("r600_cp: Failed to load firmware\n"); + release_firmware(rdev->pfp_fw); + rdev->pfp_fw = NULL; + release_firmware(rdev->me_fw); +diff -Nru linux-5.15.0a/drivers/gpu/drm/radeon/radeon_uvd.c linux-5.15.0b/drivers/gpu/drm/radeon/radeon_uvd.c +--- linux-5.15.0a/drivers/gpu/drm/radeon/radeon_uvd.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/gpu/drm/radeon/radeon_uvd.c 2022-05-12 19:29:38.331283050 -0500 +@@ -140,8 +140,7 @@ + /* Let's try to load the newer firmware first */ + r = request_firmware(&rdev->uvd_fw, fw_name, rdev->dev); + if (r) { +- dev_err(rdev->dev, "radeon_uvd: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(rdev->dev, "radeon_uvd: Can't load firmware\n"); + } else { + struct common_firmware_header *hdr = (void *)rdev->uvd_fw->data; + unsigned version_major, version_minor, family_id; +@@ -177,8 +176,7 @@ + if (!fw_name || r) { + r = request_firmware(&rdev->uvd_fw, legacy_fw_name, rdev->dev); + if (r) { +- dev_err(rdev->dev, "radeon_uvd: Can't load firmware \"%s\"\n", +- legacy_fw_name); ++ dev_err(rdev->dev, "radeon_uvd: Can't load firmware\n"); + return r; + } + } +diff -Nru linux-5.15.0a/drivers/gpu/drm/radeon/radeon_vce.c linux-5.15.0b/drivers/gpu/drm/radeon/radeon_vce.c +--- linux-5.15.0a/drivers/gpu/drm/radeon/radeon_vce.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/gpu/drm/radeon/radeon_vce.c 2022-05-12 19:30:17.987389834 -0500 +@@ -86,8 +86,7 @@ + + r = request_firmware(&rdev->vce_fw, fw_name, rdev->dev); + if (r) { +- dev_err(rdev->dev, "radeon_vce: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(rdev->dev, "radeon_vce: Can't load firmware\n"); + return r; + } + +diff -Nru linux-5.15.0a/drivers/gpu/drm/radeon/si.c linux-5.15.0b/drivers/gpu/drm/radeon/si.c +--- linux-5.15.0a/drivers/gpu/drm/radeon/si.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/gpu/drm/radeon/si.c 2022-05-12 19:35:46.048307449 -0500 +@@ -1775,7 +1775,7 @@ + if (((RREG32(MC_SEQ_MISC0) & 0xff000000) >> 24) == 0x58) + si58_fw = true; + +- DRM_INFO("Loading %s Microcode\n", new_chip_name); ++ DRM_INFO("Loading Microcode\n"); + + snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", new_chip_name); + err = request_firmware(&rdev->pfp_fw, fw_name, rdev->dev); +@@ -1785,16 +1785,15 @@ + if (err) + goto out; + if (rdev->pfp_fw->size != pfp_req_size) { +- pr_err("si_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->pfp_fw->size, fw_name); ++ pr_err("si_cp: Bogus length %zu in firmware\n", ++ rdev->pfp_fw->size); + err = -EINVAL; + goto out; + } + } else { + err = radeon_ucode_validate(rdev->pfp_fw); + if (err) { +- pr_err("si_cp: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -1809,15 +1808,14 @@ + if (err) + goto out; + if (rdev->me_fw->size != me_req_size) { +- pr_err("si_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->me_fw->size, fw_name); ++ pr_err("si_cp: Bogus length %zu in firmware\n", ++ rdev->me_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->me_fw); + if (err) { +- pr_err("si_cp: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -1832,15 +1830,14 @@ + if (err) + goto out; + if (rdev->ce_fw->size != ce_req_size) { +- pr_err("si_cp: Bogus length %zu in firmware \"%s\"\n", +- rdev->ce_fw->size, fw_name); ++ pr_err("si_cp: Bogus length %zu in firmware\n", ++ rdev->ce_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->ce_fw); + if (err) { +- pr_err("si_cp: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -1855,14 +1852,14 @@ + if (err) + goto out; + if (rdev->rlc_fw->size != rlc_req_size) { +- pr_err("si_rlc: Bogus length %zu in firmware \"%s\"\n", ++ pr_err("si_rlc: Bogus length %zu in firmware\n", + rdev->rlc_fw->size, fw_name); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->rlc_fw); + if (err) { +- pr_err("si_cp: validation failed for firmware \"%s\"\n", ++ pr_err("si_cp: validation failed for firmware\n", + fw_name); + goto out; + } else { +@@ -1886,16 +1883,15 @@ + } + if ((rdev->mc_fw->size != mc_req_size) && + (rdev->mc_fw->size != mc2_req_size)) { +- pr_err("si_mc: Bogus length %zu in firmware \"%s\"\n", +- rdev->mc_fw->size, fw_name); ++ pr_err("si_mc: Bogus length %zu in firmware\n", ++ rdev->mc_fw->size); + err = -EINVAL; + } + DRM_INFO("%s: %zu bytes\n", fw_name, rdev->mc_fw->size); + } else { + err = radeon_ucode_validate(rdev->mc_fw); + if (err) { +- pr_err("si_cp: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -1913,20 +1909,19 @@ + snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", chip_name); + err = request_firmware(&rdev->smc_fw, fw_name, rdev->dev); + if (err) { +- pr_err("smc: error loading firmware \"%s\"\n", fw_name); ++ pr_err("smc: error loading firmware\n"); + release_firmware(rdev->smc_fw); + rdev->smc_fw = NULL; + err = 0; + } else if (rdev->smc_fw->size != smc_req_size) { +- pr_err("si_smc: Bogus length %zu in firmware \"%s\"\n", +- rdev->smc_fw->size, fw_name); ++ pr_err("si_smc: Bogus length %zu in firmware\n", ++ rdev->smc_fw->size); + err = -EINVAL; + } + } else { + err = radeon_ucode_validate(rdev->smc_fw); + if (err) { +- pr_err("si_cp: validation failed for firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: validation failed for firmware\n"); + goto out; + } else { + new_fw++; +@@ -1944,8 +1939,7 @@ + out: + if (err) { + if (err != -EINVAL) +- pr_err("si_cp: Failed to load firmware \"%s\"\n", +- fw_name); ++ pr_err("si_cp: Failed to load firmware\n"); + release_firmware(rdev->pfp_fw); + rdev->pfp_fw = NULL; + release_firmware(rdev->me_fw); +diff -Nru linux-5.15.0a/drivers/net/wireless/intel/ipw2x00/ipw2100.c linux-5.15.0b/drivers/net/wireless/intel/ipw2x00/ipw2100.c +--- linux-5.15.0a/drivers/net/wireless/intel/ipw2x00/ipw2100.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/intel/ipw2x00/ipw2100.c 2022-05-12 19:38:03.816705976 -0500 +@@ -8372,8 +8372,8 @@ + + if (rc < 0) { + printk(KERN_ERR DRV_NAME ": " +- "%s: Firmware '%s' not available or load failed.\n", +- priv->net_dev->name, fw_name); ++ "%s: Firmware not available or load failed.\n", ++ priv->net_dev->name); + return rc; + } + IPW_DEBUG_INFO("firmware data %p size %zd\n", fw->fw_entry->data, +diff -Nru linux-5.15.0a/drivers/net/wireless/intel/ipw2x00/ipw2200.c linux-5.15.0b/drivers/net/wireless/intel/ipw2x00/ipw2200.c +--- linux-5.15.0a/drivers/net/wireless/intel/ipw2x00/ipw2200.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/intel/ipw2x00/ipw2200.c 2022-05-12 19:41:09.660743486 -0500 +@@ -3397,12 +3397,12 @@ + /* ask firmware_class module to get the boot firmware off disk */ + rc = request_firmware(raw, name, &priv->pci_dev->dev); + if (rc < 0) { +- IPW_ERROR("%s request_firmware failed: Reason %d\n", name, rc); ++ IPW_ERROR("request_firmware failed: Reason %d\n", rc); + return rc; + } + + if ((*raw)->size < sizeof(*fw)) { +- IPW_ERROR("%s is too small (%zd)\n", name, (*raw)->size); ++ IPW_ERROR("Firmware file is too small (%zd)\n", (*raw)->size); + return -EINVAL; + } + +@@ -3410,13 +3410,12 @@ + + if ((*raw)->size < sizeof(*fw) + le32_to_cpu(fw->boot_size) + + le32_to_cpu(fw->ucode_size) + le32_to_cpu(fw->fw_size)) { +- IPW_ERROR("%s is too small or corrupt (%zd)\n", +- name, (*raw)->size); ++ IPW_ERROR("Firmware file is too small or corrupt (%zd)\n", ++ (*raw)->size); + return -EINVAL; + } + +- IPW_DEBUG_INFO("Read firmware '%s' image v%d.%d (%zd bytes)\n", +- name, ++ IPW_DEBUG_INFO("Read firmware image v%d.%d (%zd bytes)\n", + le32_to_cpu(fw->ver) >> 16, + le32_to_cpu(fw->ver) & 0xff, + (*raw)->size - sizeof(*fw)); +diff -Nru linux-5.15.0a/drivers/net/wireless/intel/iwlegacy/3945-mac.c linux-5.15.0b/drivers/net/wireless/intel/iwlegacy/3945-mac.c +--- linux-5.15.0a/drivers/net/wireless/intel/iwlegacy/3945-mac.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/intel/iwlegacy/3945-mac.c 2022-05-12 19:50:13.188300126 -0500 +@@ -1835,19 +1835,19 @@ + sprintf(buf, "%s%u%s", name_pre, idx, ".ucode"); + ret = request_firmware(&ucode_raw, buf, &il->pci_dev->dev); + if (ret < 0) { +- IL_ERR("%s firmware file req failed: %d\n", buf, ret); ++ IL_ERR("Firmware file req failed: %d\n", ret); + if (ret == -ENOENT) + continue; + else + goto error; + } else { + if (idx < api_max) +- IL_ERR("Loaded firmware %s, " ++ IL_ERR("Loaded firmware, " + "which is deprecated. " +- " Please use API v%u instead.\n", buf, ++ " Please use API v%u instead.\n", + api_max); +- D_INFO("Got firmware '%s' file " +- "(%zd bytes) from disk\n", buf, ucode_raw->size); ++ D_INFO("Got firmware file " ++ "(%zd bytes) from disk\n", ucode_raw->size); + break; + } + } +@@ -3692,7 +3692,7 @@ + goto out_unset_hw_params; + } + +- IL_INFO("Detected Intel Wireless WiFi Link %s\n", il->cfg->name); ++ IL_INFO("Detected Intel Wireless WiFi Link\n"); + + /*********************** + * 7. Setup Services +diff -Nru linux-5.15.0a/drivers/net/wireless/intel/iwlegacy/4965-mac.c linux-5.15.0b/drivers/net/wireless/intel/iwlegacy/4965-mac.c +--- linux-5.15.0a/drivers/net/wireless/intel/iwlegacy/4965-mac.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/intel/iwlegacy/4965-mac.c 2022-05-12 19:52:00.660378264 -0500 +@@ -4684,7 +4684,7 @@ + + sprintf(il->firmware_name, "%s%s%s", name_pre, tag, ".ucode"); + +- D_INFO("attempting to load firmware '%s'\n", il->firmware_name); ++ D_INFO("attempting to load firmware\n"); + + return request_firmware_nowait(THIS_MODULE, 1, il->firmware_name, + &il->pci_dev->dev, GFP_KERNEL, il, +@@ -4774,8 +4774,7 @@ + + if (!ucode_raw) { + if (il->fw_idx <= il->cfg->ucode_api_max) +- IL_ERR("request for firmware file '%s' failed.\n", +- il->firmware_name); ++ IL_ERR("request for firmware file failed.\n"); + goto try_again; + } + +diff -Nru linux-5.15.0a/drivers/net/wireless/intel/iwlwifi/dvm/main.c linux-5.15.0b/drivers/net/wireless/intel/iwlwifi/dvm/main.c +--- linux-5.15.0a/drivers/net/wireless/intel/iwlwifi/dvm/main.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/intel/iwlwifi/dvm/main.c 2022-05-12 19:55:22.028606519 -0500 +@@ -1253,7 +1253,7 @@ + ************************/ + hw = iwl_alloc_all(); + if (!hw) { +- pr_err("%s: Cannot allocate network device\n", trans->name); ++ pr_err("Cannot allocate network device\n"); + goto out; + } + +@@ -1381,8 +1381,7 @@ + /*********************** + * 2. Read REV register + ***********************/ +- IWL_INFO(priv, "Detected %s, REV=0x%X\n", +- priv->trans->name, priv->trans->hw_rev); ++ IWL_INFO(priv, "Detected, REV=0x%X\n", priv->trans->hw_rev); + + if (iwl_trans_start_hw(priv->trans)) + goto out_free_hw; +diff -Nru linux-5.15.0a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c linux-5.15.0b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +--- linux-5.15.0a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2022-05-12 15:51:56.000000000 -0500 ++++ linux-5.15.0b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2022-05-15 03:37:15.624660826 -0500 +@@ -185,27 +185,13 @@ + + if (drv->fw_index < cfg->ucode_api_min) { + IWL_ERR(drv, "no suitable firmware found!\n"); +- +- if (cfg->ucode_api_min == cfg->ucode_api_max) { +- IWL_ERR(drv, "%s%d is required\n", cfg->fw_name_pre, +- cfg->ucode_api_max); +- } else { +- IWL_ERR(drv, "minimum version required: %s%d\n", +- cfg->fw_name_pre, cfg->ucode_api_min); +- IWL_ERR(drv, "maximum version supported: %s%d\n", +- cfg->fw_name_pre, cfg->ucode_api_max); +- } +- +- IWL_ERR(drv, +- "check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git\n"); + return -ENOENT; + } + + snprintf(drv->firmware_name, sizeof(drv->firmware_name), "%s%s.ucode", + cfg->fw_name_pre, tag); + +- IWL_DEBUG_FW_INFO(drv, "attempting to load firmware '%s'\n", +- drv->firmware_name); ++ IWL_DEBUG_FW_INFO(drv, "attempting to load firmware\n"); + + return request_firmware_nowait(THIS_MODULE, 1, drv->firmware_name, + drv->trans->dev, +diff -Nru linux-5.15.0a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c linux-5.15.0b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +--- linux-5.15.0a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c 2022-05-12 15:51:56.000000000 -0500 ++++ linux-5.15.0b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c 2022-05-12 20:04:15.885520948 -0500 +@@ -1496,13 +1496,13 @@ + */ + ret = request_firmware(&fw_entry, nvm_file_name, trans->dev); + if (ret) { +- IWL_ERR(trans, "ERROR: %s isn't available %d\n", +- nvm_file_name, ret); ++ IWL_ERR(trans, "ERROR: firmware isn't available %d\n", ++ ret); + return ret; + } + +- IWL_INFO(trans, "Loaded NVM file %s (%zu bytes)\n", +- nvm_file_name, fw_entry->size); ++ IWL_INFO(trans, "Loaded NVM firmware file(%zu bytes)\n", ++ fw_entry->size); + + if (fw_entry->size > MAX_NVM_FILE_LEN) { + IWL_ERR(trans, "NVM file too large\n"); +diff -Nru linux-5.15.0a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c linux-5.15.0b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +--- linux-5.15.0a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c 2022-05-12 15:51:56.000000000 -0500 ++++ linux-5.15.0b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c 2022-05-12 20:06:24.101778555 -0500 +@@ -954,8 +954,7 @@ + goto out_free; + } + +- IWL_INFO(mvm, "Detected %s, REV=0x%X\n", +- mvm->trans->name, mvm->trans->hw_rev); ++ IWL_INFO(mvm, "Detected, REV=0x%X\n", mvm->trans->hw_rev); + + if (iwlwifi_mod_params.nvm_file) + mvm->nvm_file_name = iwlwifi_mod_params.nvm_file; +diff -Nru linux-5.15.0a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c linux-5.15.0b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +--- linux-5.15.0a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2022-05-12 20:08:42.726066557 -0500 +@@ -2069,9 +2069,9 @@ + int ret = 0; + u16 signature; + +- dev_info(dev, "%s: Loading firmware %s\n", DRIVER_NAME, fw_name); ++ dev_info(dev, "%s: Loading firmware\n", DRIVER_NAME); + if (request_firmware(&fw, fw_name, &priv->udev->dev)) { +- dev_warn(dev, "request_firmware(%s) failed\n", fw_name); ++ dev_warn(dev, "request_firmware failed\n"); + ret = -EAGAIN; + goto exit; + } +diff -Nru linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/core.c linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/core.c +--- linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/core.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/core.c 2022-05-12 20:10:37.286310362 -0500 +@@ -83,8 +83,7 @@ + err = request_firmware(&firmware, + rtlpriv->cfg->alt_fw_name, + rtlpriv->io.dev); +- pr_info("Loading alternative firmware %s\n", +- rtlpriv->cfg->alt_fw_name); ++ pr_info("Loading alternative firmware\n"); + if (!err) + goto found_alt; + } +diff -Nru linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c +--- linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c 2022-05-12 20:11:35.902436758 -0500 +@@ -143,7 +143,7 @@ + + fw_name = "rtlwifi/rtl8188efw.bin"; + rtlpriv->max_fw_size = 0x8000; +- pr_info("Using firmware %s\n", fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, + rtl_fw_cb); +diff -Nru linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c +--- linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c 2022-05-12 20:13:41.146709913 -0500 +@@ -146,7 +146,7 @@ + fw_name = "rtlwifi/rtl8192cfw.bin"; + + rtlpriv->max_fw_size = 0x4000; +- pr_info("Using firmware %s\n", fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, + rtl_fw_cb); +diff -Nru linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c +--- linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c 2022-05-12 20:14:55.359549610 -0500 +@@ -55,7 +55,7 @@ + } + /* provide name of alternative file */ + rtlpriv->cfg->alt_fw_name = "rtlwifi/rtl8192cufw.bin"; +- pr_info("Loading firmware %s\n", fw_name); ++ pr_info("Loading firmware\n"); + rtlpriv->max_fw_size = 0x4000; + err = request_firmware_nowait(THIS_MODULE, 1, + fw_name, rtlpriv->io.dev, +diff -Nru linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c +--- linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c 2022-05-12 20:16:46.224869781 -0500 +@@ -154,7 +154,7 @@ + + rtlpriv->max_fw_size = 0x8000; + pr_info("Driver for Realtek RTL8192DE WLAN interface\n"); +- pr_info("Loading firmware file %s\n", fw_name); ++ pr_info("Loading firmware file\n"); + + /* request fw */ + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, +diff -Nru linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c +--- linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c 2022-05-12 20:18:03.045677104 -0500 +@@ -149,7 +149,7 @@ + fw_name = "rtlwifi/rtl8192eefw.bin"; + + rtlpriv->max_fw_size = 0x8000; +- pr_info("Using firmware %s\n", fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, + rtl_fw_cb); +diff -Nru linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c +--- linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c 2022-05-12 20:19:57.294744129 -0500 +@@ -69,7 +69,7 @@ + "Firmware callback routine entered!\n"); + complete(&rtlpriv->firmware_loading_complete); + if (!firmware) { +- pr_err("Firmware %s not available\n", fw_name); ++ pr_err("Firmware not available\n"); + rtlpriv->max_fw_size = 0; + return; + } +@@ -185,7 +185,7 @@ + rtlpriv->max_fw_size = RTL8190_MAX_FIRMWARE_CODE_SIZE*2 + + sizeof(struct fw_hdr); + pr_info("Driver for Realtek RTL8192SE/RTL8191SE\n" +- "Loading firmware %s\n", fw_name); ++ "Loading firmware\n"); + /* request fw */ + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, +diff -Nru linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c +--- linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c 2022-05-12 20:20:52.463210665 -0500 +@@ -152,7 +152,7 @@ + fw_name = "rtlwifi/rtl8723fw_B.bin"; + + rtlpriv->max_fw_size = 0x6000; +- pr_info("Using firmware %s\n", fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, + rtl_fw_cb); +diff -Nru linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c +--- linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c 2022-05-12 20:21:30.627517214 -0500 +@@ -156,7 +156,7 @@ + } + + rtlpriv->max_fw_size = 0x8000; +- pr_info("Using firmware %s\n", fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, + rtl_fw_cb); +diff -Nru linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c +--- linux-5.15.0a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c 2021-10-31 14:53:10.000000000 -0600 ++++ linux-5.15.0b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c 2022-05-12 20:22:48.612106805 -0500 +@@ -185,7 +185,7 @@ + + rtlpriv->max_fw_size = 0x8000; + /*load normal firmware*/ +- pr_info("Using firmware %s\n", fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, + rtl_fw_cb); +@@ -196,7 +196,7 @@ + return 1; + } + /*load wowlan firmware*/ +- pr_info("Using firmware %s\n", wowlan_fw_name); ++ pr_info("Using firmware\n"); + err = request_firmware_nowait(THIS_MODULE, 1, + wowlan_fw_name, + rtlpriv->io.dev, GFP_KERNEL, hw, +diff -ur source.bak/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c source/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +--- source.bak/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c 2022-08-14 17:01:01.000000000 -0400 ++++ source/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c 2022-08-14 17:17:35.033981305 -0400 +@@ -763,9 +763,6 @@ + if (!fwreq) + return NULL; + +- brcmf_info("using %s for chip %s\n", +- mapping_table[i].fw_base, chipname); +- + mp_path = brcmf_mp_global.firmware_path; + mp_path_len = strnlen(mp_path, BRCMF_FW_ALTPATH_LEN); + if (mp_path_len) +diff -ur source.bak/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c source/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +--- source.bak/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c 2022-08-14 17:01:01.000000000 -0400 ++++ source/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c 2022-08-14 17:11:23.550247718 -0400 +@@ -1542,7 +1542,7 @@ + if (err) + return err; + +- brcmf_dbg(PCIE, "Download FW %s\n", devinfo->fw_name); ++ brcmf_dbg(PCIE, "Download FW\n"); + memcpy_toio(devinfo->tcm + devinfo->ci->rambase, + (void *)fw->data, fw->size); + +diff -ur source.bak/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c source/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c +--- source.bak/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c 2022-08-14 17:09:59.527120902 -0400 +@@ -377,16 +377,16 @@ + UCODE_LOADER_API_VER); + status = request_firmware(&wl->fw.fw_bin[i], fw_name, device); + if (status) { +- wiphy_err(wl->wiphy, "%s: fail to load firmware %s\n", +- KBUILD_MODNAME, fw_name); ++ wiphy_err(wl->wiphy, "%s: fail to load firmware\n", ++ KBUILD_MODNAME); + return status; + } + sprintf(fw_name, "%s_hdr-%d.fw", brcms_firmwares[i], + UCODE_LOADER_API_VER); + status = request_firmware(&wl->fw.fw_hdr[i], fw_name, device); + if (status) { +- wiphy_err(wl->wiphy, "%s: fail to load firmware %s\n", +- KBUILD_MODNAME, fw_name); ++ wiphy_err(wl->wiphy, "%s: fail to load firmware\n", ++ KBUILD_MODNAME); + return status; + } + wl->fw.hdr_num_entries[i] = +diff -ru source.orig/drivers/gpu/drm/radeon/ni.c source/drivers/gpu/drm/radeon/ni.c +--- source.orig/drivers/gpu/drm/radeon/ni.c 2023-02-22 14:24:28.539769273 -0500 ++++ source/drivers/gpu/drm/radeon/ni.c 2023-02-22 14:31:24.013853164 -0500 +@@ -807,7 +807,7 @@ + snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", chip_name); + err = request_firmware(&rdev->smc_fw, fw_name, rdev->dev); + if (err) { +- pr_err("smc: error loading firmware \"%s\"\n", fw_name); ++ pr_err("smc: error loading firmware\n"); + release_firmware(rdev->smc_fw); + rdev->smc_fw = NULL; + err = 0; +@@ -821,8 +821,7 @@ + out: + if (err) { + if (err != -EINVAL) +- pr_err("ni_cp: Failed to load firmware \"%s\"\n", +- fw_name); ++ pr_err("ni_cp: Failed to load firmware\n"); + release_firmware(rdev->pfp_fw); + rdev->pfp_fw = NULL; + release_firmware(rdev->me_fw); +diff -ru source.orig/drivers/net/wireless/intel/ipw2x00/ipw2200.c source/drivers/net/wireless/intel/ipw2x00/ipw2200.c +--- source.orig/drivers/net/wireless/intel/ipw2x00/ipw2200.c 2023-02-22 14:24:28.635767924 -0500 ++++ source/drivers/net/wireless/intel/ipw2x00/ipw2200.c 2023-02-22 14:32:52.060558270 -0500 +@@ -3549,7 +3549,7 @@ + /* DMA the initial boot firmware into the device */ + rc = ipw_load_firmware(priv, boot_img, le32_to_cpu(fw->boot_size)); + if (rc < 0) { +- IPW_ERROR("Unable to load boot firmware: %d\n", rc); ++ IPW_ERROR("Unable to load boot firmware\n"); + goto error; + } + +@@ -3571,7 +3571,7 @@ + /* DMA the ucode into the device */ + rc = ipw_load_ucode(priv, ucode_img, le32_to_cpu(fw->ucode_size)); + if (rc < 0) { +- IPW_ERROR("Unable to load ucode: %d\n", rc); ++ IPW_ERROR("Unable to load ucode\n"); + goto error; + } + +@@ -3581,7 +3581,7 @@ + /* DMA bss firmware into the device */ + rc = ipw_load_firmware(priv, fw_img, le32_to_cpu(fw->fw_size)); + if (rc < 0) { +- IPW_ERROR("Unable to load firmware: %d\n", rc); ++ IPW_ERROR("Unable to load firmware\n"); + goto error; + } + #ifdef CONFIG_PM +@@ -11177,7 +11177,7 @@ + * Also start the clocks. */ + rc = ipw_load(priv); + if (rc) { +- IPW_ERROR("Unable to load firmware: %d\n", rc); ++ IPW_ERROR("Unable to load firmware\n"); + return rc; + } + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +index f1a050379190..073962db13bd 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +@@ -419,7 +419,7 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device, + + err = amdgpu_ucode_validate(adev->pm.fw); + if (err) { +- DRM_ERROR("Failed to load firmware \"%s\"", fw_name); ++ DRM_ERROR("Failed to load firmware\n"); + release_firmware(adev->pm.fw); + adev->pm.fw = NULL; + return err; +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +index af9bdf16eefd..8029aad01d10 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +@@ -1978,15 +1978,13 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev) + err = request_firmware(&adev->firmware.gpu_info_fw, fw_name, adev->dev); + if (err) { + dev_err(adev->dev, +- "Failed to load gpu_info firmware \"%s\"\n", +- fw_name); ++ "Failed to load gpu_info firmware\n"); + goto out; + } + err = amdgpu_ucode_validate(adev->firmware.gpu_info_fw); + if (err) { + dev_err(adev->dev, +- "Failed to validate gpu_info firmware \"%s\"\n", +- fw_name); ++ "Failed to validate gpu_info firmware\n"); + goto out; + } + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +index 7e45640fbee0..ac42d8fb50c5 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +@@ -1552,8 +1552,8 @@ static int amdgpu_debugfs_firmware_info_show(struct seq_file *m, void *unused) + if (ret) + continue; + +- seq_printf(m, "TA %s feature version: 0x%08x, firmware version: 0x%08x\n", +- ta_fw_name[i], fw_info.feature, fw_info.ver); ++ seq_printf(m, "TA feature version: 0x%08x, firmware version: 0x%08x\n", ++ fw_info.feature, fw_info.ver); + } + + /* SMC */ +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +index 9b41cb8c3de5..b31e948d1f61 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +@@ -469,8 +469,7 @@ psp_cmd_submit_buf(struct psp_context *psp, + */ + if (!skip_unsupport && (psp->cmd_buf_mem->resp.status || !timeout) && !ras_intr) { + if (ucode) +- DRM_WARN("failed to load ucode %s(0x%X) ", +- amdgpu_ucode_name(ucode->ucode_id), ucode->ucode_id); ++ DRM_WARN("failed to load ucode"); + DRM_WARN("psp gfx command %s(0x%X) failed and response status is (0x%X)\n", + psp_gfx_cmd_name(psp->cmd_buf_mem->cmd_id), psp->cmd_buf_mem->cmd_id, + psp->cmd_buf_mem->resp.status); +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +index d451c359606a..c22c4aab7aab 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +@@ -216,15 +216,13 @@ int amdgpu_uvd_sw_init(struct amdgpu_device *adev) + + r = request_firmware(&adev->uvd.fw, fw_name, adev->dev); + if (r) { +- dev_err(adev->dev, "amdgpu_uvd: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_uvd: Can't load firmware\n"); + return r; + } + + r = amdgpu_ucode_validate(adev->uvd.fw); + if (r) { +- dev_err(adev->dev, "amdgpu_uvd: Can't validate firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_uvd: Can't validate firmware\n"); + release_firmware(adev->uvd.fw); + adev->uvd.fw = NULL; + return r; +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +index 8e8dee9fac9f..d86834b5e41f 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +@@ -160,14 +160,13 @@ int amdgpu_vce_sw_init(struct amdgpu_device *adev, unsigned long size) + + r = request_firmware(&adev->vce.fw, fw_name, adev->dev); + if (r) { +- dev_err(adev->dev, "amdgpu_vce: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_vce: Can't load firmware\n"); + return r; + } + + r = amdgpu_ucode_validate(adev->vce.fw); + if (r) { +- dev_err(adev->dev, "amdgpu_vce: Can't validate firmware \"%s\"\n", ++ dev_err(adev->dev, "amdgpu_vce: Can't validate firmware\n", + fw_name); + release_firmware(adev->vce.fw); + adev->vce.fw = NULL; +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +index 008a308a4eca..31238078bf56 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +@@ -174,15 +174,13 @@ int amdgpu_vcn_sw_init(struct amdgpu_device *adev) + + r = request_firmware(&adev->vcn.fw, fw_name, adev->dev); + if (r) { +- dev_err(adev->dev, "amdgpu_vcn: Can't load firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_vcn: Can't load firmware\n"); + return r; + } + + r = amdgpu_ucode_validate(adev->vcn.fw); + if (r) { +- dev_err(adev->dev, "amdgpu_vcn: Can't validate firmware \"%s\"\n", +- fw_name); ++ dev_err(adev->dev, "amdgpu_vcn: Can't validate firmware\n"); + release_firmware(adev->vcn.fw); + adev->vcn.fw = NULL; + return r; +diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +index c8ebd108548d..f9bc1da8128f 100644 +--- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c ++++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +@@ -144,7 +144,7 @@ static int cik_sdma_init_microcode(struct amdgpu_device *adev) + } + out: + if (err) { +- pr_err("cik_sdma: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("cik_sdma: Failed to load firmware\n"); + for (i = 0; i < adev->sdma.num_instances; i++) { + release_firmware(adev->sdma.instance[i].fw); + adev->sdma.instance[i].fw = NULL; +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +index 16dbe593cba2..0f25109b8c02 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +@@ -4358,8 +4358,7 @@ static int gfx_v10_0_init_microcode(struct amdgpu_device *adev) + out: + if (err) { + dev_err(adev->dev, +- "gfx10: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx10: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +index 6a8dadea40f9..640940830bad 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +@@ -381,7 +381,7 @@ static int gfx_v6_0_init_microcode(struct amdgpu_device *adev) + + out: + if (err) { +- pr_err("gfx6: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("gfx6: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +index 37b4a3db6360..3a172220fc5d 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +@@ -976,7 +976,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) + + out: + if (err) { +- pr_err("gfx7: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("gfx7: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +index e0302c23e9a7..aac155fae920 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +@@ -1231,8 +1231,7 @@ static int gfx_v8_0_init_microcode(struct amdgpu_device *adev) + out: + if (err) { + dev_err(adev->dev, +- "gfx8: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx8: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +index 025184a556ee..0af58255971f 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +@@ -1408,8 +1408,7 @@ static int gfx_v9_0_init_cp_gfx_microcode(struct amdgpu_device *adev, + out: + if (err) { + dev_err(adev->dev, +- "gfx9: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx9: Failed to load firmware\n"); + release_firmware(adev->gfx.pfp_fw); + adev->gfx.pfp_fw = NULL; + release_firmware(adev->gfx.me_fw); +@@ -1543,8 +1542,7 @@ static int gfx_v9_0_init_rlc_microcode(struct amdgpu_device *adev, + out: + if (err) { + dev_err(adev->dev, +- "gfx9: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx9: Failed to load firmware\n"); + release_firmware(adev->gfx.rlc_fw); + adev->gfx.rlc_fw = NULL; + } +@@ -1646,8 +1644,7 @@ static int gfx_v9_0_init_cp_compute_microcode(struct amdgpu_device *adev, + gfx_v9_0_check_fw_write_wait(adev); + if (err) { + dev_err(adev->dev, +- "gfx9: Failed to load firmware \"%s\"\n", +- fw_name); ++ "gfx9: Failed to load firmware\n"); + release_firmware(adev->gfx.mec_fw); + adev->gfx.mec_fw = NULL; + release_firmware(adev->gfx.mec2_fw); +diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +index 0e81e03e9b49..fe09b62bae69 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +@@ -140,8 +140,7 @@ static int gmc_v6_0_init_microcode(struct amdgpu_device *adev) + out: + if (err) { + dev_err(adev->dev, +- "si_mc: Failed to load firmware \"%s\"\n", +- fw_name); ++ "si_mc: Failed to load firmware\n"); + release_firmware(adev->gmc.fw); + adev->gmc.fw = NULL; + } +diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +index 0a50fdaced7e..e529fd9b36e2 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +@@ -163,7 +163,7 @@ static int gmc_v7_0_init_microcode(struct amdgpu_device *adev) + + out: + if (err) { +- pr_err("cik_mc: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("cik_mc: Failed to load firmware\n"); + release_firmware(adev->gmc.fw); + adev->gmc.fw = NULL; + } +diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +index 492ebed2915b..7029642f7abc 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +@@ -271,7 +271,7 @@ static int gmc_v8_0_init_microcode(struct amdgpu_device *adev) + + out: + if (err) { +- pr_err("mc: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("mc: Failed to load firmware\n"); + release_firmware(adev->gmc.fw); + adev->gmc.fw = NULL; + } +diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c +index 5872d68ed13d..19368f360168 100644 +--- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c +@@ -75,8 +75,7 @@ static int psp_v10_0_init_microcode(struct psp_context *psp) + release_firmware(adev->psp.ta_fw); + adev->psp.ta_fw = NULL; + dev_info(adev->dev, +- "psp v10.0: Failed to load firmware \"%s\"\n", +- fw_name); ++ "psp v10.0: Failed to load firmware\n"); + } else { + err = amdgpu_ucode_validate(adev->psp.ta_fw); + if (err) +@@ -119,8 +118,7 @@ static int psp_v10_0_init_microcode(struct psp_context *psp) + out: + if (err) { + dev_err(adev->dev, +- "psp v10.0: Failed to load firmware \"%s\"\n", +- fw_name); ++ "psp v10.0: Failed to load firmware\n"); + } + + return err; +diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c +index 29bf9f09944b..0ba7c73cc4d8 100644 +--- a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c +@@ -144,7 +144,7 @@ static int psp_v11_0_init_microcode(struct psp_context *psp) + release_firmware(adev->psp.ta_fw); + adev->psp.ta_fw = NULL; + dev_info(adev->dev, +- "psp v11.0: Failed to load firmware \"%s\"\n", fw_name); ++ "psp v11.0: Failed to load firmware\n"); + } else { + err = amdgpu_ucode_validate(adev->psp.ta_fw); + if (err) +@@ -179,7 +179,7 @@ static int psp_v11_0_init_microcode(struct psp_context *psp) + release_firmware(adev->psp.ta_fw); + adev->psp.ta_fw = NULL; + dev_info(adev->dev, +- "psp v11.0: Failed to load firmware \"%s\"\n", fw_name); ++ "psp v11.0: Failed to load firmware\n"); + } else { + err = amdgpu_ucode_validate(adev->psp.ta_fw); + if (err) +diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c +index cc649406234b..44cced561704 100644 +--- a/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c +@@ -75,8 +75,7 @@ static int psp_v12_0_init_microcode(struct psp_context *psp) + release_firmware(adev->psp.ta_fw); + adev->psp.ta_fw = NULL; + dev_info(adev->dev, +- "psp v12.0: Failed to load firmware \"%s\"\n", +- fw_name); ++ "psp v12.0: Failed to load firmware\n"); + } else { + err = amdgpu_ucode_validate(adev->psp.ta_fw); + if (err) +@@ -110,8 +109,7 @@ static int psp_v12_0_init_microcode(struct psp_context *psp) + adev->psp.ta_fw = NULL; + if (err) { + dev_err(adev->dev, +- "psp v12.0: Failed to load firmware \"%s\"\n", +- fw_name); ++ "psp v12.0: Failed to load firmware\n"); + } + + return err; +diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +index 4509bd4cce2d..d275daaad31f 100644 +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +@@ -175,7 +175,7 @@ static int sdma_v2_4_init_microcode(struct amdgpu_device *adev) + + out: + if (err) { +- pr_err("sdma_v2_4: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("sdma_v2_4: Failed to load firmware\n"); + for (i = 0; i < adev->sdma.num_instances; i++) { + release_firmware(adev->sdma.instance[i].fw); + adev->sdma.instance[i].fw = NULL; +diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +index 135727b59c41..898775832e7b 100644 +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +@@ -331,7 +331,7 @@ static int sdma_v3_0_init_microcode(struct amdgpu_device *adev) + } + out: + if (err) { +- pr_err("sdma_v3_0: Failed to load firmware \"%s\"\n", fw_name); ++ pr_err("sdma_v3_0: Failed to load firmware\n"); + for (i = 0; i < adev->sdma.num_instances; i++) { + release_firmware(adev->sdma.instance[i].fw); + adev->sdma.instance[i].fw = NULL; +diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +index 8931000dcd41..4e49b0c05744 100644 +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +@@ -702,7 +702,7 @@ static int sdma_v4_0_init_microcode(struct amdgpu_device *adev) + + out: + if (err) { +- DRM_ERROR("sdma_v4_0: Failed to load firmware \"%s\"\n", fw_name); ++ DRM_ERROR("sdma_v4_0: Failed to load firmware\n"); + sdma_v4_0_destroy_inst_ctx(adev); + } + return err; +diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c +index 50bf3b71bc93..fab683ad8a1d 100644 +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c +@@ -303,7 +303,7 @@ static int sdma_v5_0_init_microcode(struct amdgpu_device *adev) + } + out: + if (err) { +- DRM_ERROR("sdma_v5_0: Failed to load firmware \"%s\"\n", fw_name); ++ DRM_ERROR("sdma_v5_0: Failed to load firmware\n"); + for (i = 0; i < adev->sdma.num_instances; i++) { + release_firmware(adev->sdma.instance[i].fw); + adev->sdma.instance[i].fw = NULL; +diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c +index e32efcfb0c8b..67f25238b787 100644 +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c +@@ -193,7 +193,7 @@ static int sdma_v5_2_init_microcode(struct amdgpu_device *adev) + + out: + if (err) { +- DRM_ERROR("sdma_v5_2: Failed to load firmware \"%s\"\n", fw_name); ++ DRM_ERROR("sdma_v5_2: Failed to load firmware\n"); + sdma_v5_2_destroy_inst_ctx(adev); + } + return err; +diff -ru source.orig/drivers/bluetooth/ath3k.c source/drivers/bluetooth/ath3k.c +--- source.orig/drivers/bluetooth/ath3k.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/bluetooth/ath3k.c 2023-06-07 10:05:23.230828642 -0400 +@@ -383,7 +383,7 @@ + + ret = request_firmware(&firmware, filename, &udev->dev); + if (ret < 0) { +- BT_ERR("Patch file not found %s", filename); ++ BT_ERR("Patch file not found"); + return ret; + } + +@@ -446,7 +446,7 @@ + + ret = request_firmware(&firmware, filename, &udev->dev); + if (ret < 0) { +- BT_ERR("Configuration file not found %s", filename); ++ BT_ERR("Configuration file not found"); + return ret; + } + +@@ -502,11 +502,10 @@ static int ath3k_probe(struct usb_interface *intf, + ret = request_firmware(&firmware, ATH3K_FIRMWARE, &udev->dev); + if (ret < 0) { + if (ret == -ENOENT) +- BT_ERR("Firmware file \"%s\" not found", +- ATH3K_FIRMWARE); ++ BT_ERR("Firmware file not found"); + else +- BT_ERR("Firmware file \"%s\" request failed (err=%d)", +- ATH3K_FIRMWARE, ret); ++ BT_ERR("Firmware file request failed (err=%d)", ++ ret); + return ret; + } + + +diff -ru source.orig/drivers/bluetooth/btbcm.c source/drivers/bluetooth/btbcm.c +--- source.orig/drivers/bluetooth/btbcm.c 2023-06-07 09:29:12.000000000 -0400 ++++ source/drivers/bluetooth/btbcm.c 2023-06-07 10:07:36.541063483 -0400 +@@ -577,9 +577,7 @@ + + release_firmware(fw); + } else { +- bt_dev_err(hdev, "BCM: firmware Patch file not found, tried:"); +- for (i = 0; i < fw_name_count; i++) +- bt_dev_err(hdev, "BCM: '%s'", fw_name[i]); ++ bt_dev_err(hdev, "BCM: firmware Patch file not found"); + } + + kfree(fw_name); +diff -ru source.orig/drivers/bluetooth/btintel.c source/drivers/bluetooth/btintel.c +--- source.orig/drivers/bluetooth/btintel.c 2023-06-07 09:29:12.000000000 -0400 ++++ source/drivers/bluetooth/btintel.c 2023-06-07 10:10:25.838752300 -0400 +@@ -346,8 +346,8 @@ + + err = request_firmware_direct(&fw, ddc_name, &hdev->dev); + if (err < 0) { +- bt_dev_err(hdev, "Failed to load Intel DDC file %s (%d)", +- ddc_name, err); ++ bt_dev_err(hdev, "Failed to load Intel DDC file(%d)", ++ err); + return err; + } + +@@ -1329,8 +1329,8 @@ + return NULL; + } + +- bt_dev_err(hdev, "failed to open Intel firmware file: %s (%d)", +- fwname, ret); ++ bt_dev_err(hdev, "failed to open Intel firmware file(%d)", ++ ret); + + /* If the correct firmware patch file is not found, use the + * default firmware patch file instead +@@ -1338,8 +1338,7 @@ + snprintf(fwname, sizeof(fwname), "intel/ibt-hw-%x.%x.bseq", + ver->hw_platform, ver->hw_variant); + if (request_firmware(&fw, fwname, &hdev->dev) < 0) { +- bt_dev_err(hdev, "failed to open default fw file: %s", +- fwname); ++ bt_dev_err(hdev, "failed to open default fw file"); + return NULL; + } + } +@@ -1830,8 +1829,8 @@ + return 0; + } + +- bt_dev_err(hdev, "Failed to load Intel firmware file %s (%d)", +- fwname, err); ++ bt_dev_err(hdev, "Failed to load Intel firmware file (%d)", ++ err); + return err; + } + +@@ -2025,8 +2024,8 @@ + return 0; + } + +- bt_dev_err(hdev, "Failed to load Intel firmware file %s (%d)", +- fwname, err); ++ bt_dev_err(hdev, "Failed to load Intel firmware file (%d)", ++ err); + + return err; + } +diff -ru source.orig/drivers/bluetooth/btrtl.c source/drivers/bluetooth/btrtl.c +--- source.orig/drivers/bluetooth/btrtl.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/bluetooth/btrtl.c 2023-06-07 10:12:42.272847241 -0400 +@@ -656,8 +656,7 @@ + btrtl_dev->fw_len = rtl_load_file(hdev, btrtl_dev->ic_info->fw_name, + &btrtl_dev->fw_data); + if (btrtl_dev->fw_len < 0) { +- rtl_dev_err(hdev, "firmware file %s not found", +- btrtl_dev->ic_info->fw_name); ++ rtl_dev_err(hdev, "firmware not found"); + ret = btrtl_dev->fw_len; + goto err_free; + } +@@ -674,8 +673,7 @@ + &btrtl_dev->cfg_data); + if (btrtl_dev->ic_info->config_needed && + btrtl_dev->cfg_len <= 0) { +- rtl_dev_err(hdev, "mandatory config file %s not found", +- btrtl_dev->ic_info->cfg_name); ++ rtl_dev_err(hdev, "mandatory config file not found"); + ret = btrtl_dev->cfg_len; + goto err_free; + } +diff -ru source.orig/drivers/bluetooth/btusb.c source/drivers/bluetooth/btusb.c +--- source.orig/drivers/bluetooth/btusb.c 2023-06-07 09:29:12.000000000 -0400 ++++ source/drivers/bluetooth/btusb.c 2023-06-07 10:14:25.791382438 -0400 +@@ -3521,8 +3521,8 @@ + + err = request_firmware(&fw, fwname, &hdev->dev); + if (err) { +- bt_dev_err(hdev, "failed to request NVM file: %s (%d)", +- fwname, err); ++ bt_dev_err(hdev, "failed to request NVM file (%d)", ++ err); + return err; + } + +diff -ru source.orig/drivers/bluetooth/hci_ag6xx.c source/drivers/bluetooth/hci_ag6xx.c +--- source.orig/drivers/bluetooth/hci_ag6xx.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/bluetooth/hci_ag6xx.c 2023-06-07 10:11:38.309744380 -0400 +@@ -195,8 +195,8 @@ + + err = request_firmware(&fw, fwname, &hdev->dev); + if (err < 0) { +- bt_dev_err(hdev, "Failed to open Intel bddata file: %s (%d)", +- fwname, err); ++ bt_dev_err(hdev, "Failed to open Intel bddata file (%d)", ++ err); + goto patch; + } + +@@ -232,8 +232,8 @@ + + err = request_firmware(&fw, fwname, &hdev->dev); + if (err < 0) { +- bt_dev_err(hdev, "Failed to open Intel patch file: %s(%d)", +- fwname, err); ++ bt_dev_err(hdev, "Failed to open Intel patch file (%d)", ++ err); + goto complete; + } + fw_ptr = fw->data; +diff -ru source.orig/drivers/bluetooth/hci_ll.c source/drivers/bluetooth/hci_ll.c +--- source.orig/drivers/bluetooth/hci_ll.c 2023-06-07 09:29:12.000000000 -0400 ++++ source/drivers/bluetooth/hci_ll.c 2023-06-07 10:16:54.469255963 -0400 +@@ -539,7 +539,7 @@ + + err = request_firmware(&fw, bts_scr_name, &lldev->serdev->dev); + if (err || !fw->data || !fw->size) { +- bt_dev_err(lldev->hu.hdev, "request_firmware failed(errno %d) for %s", ++ bt_dev_err(lldev->hu.hdev, "request_firmware failed (errno %d) for %s", + err, bts_scr_name); + return -EINVAL; + } +diff -ru source.orig/drivers/bluetooth/hci_mrvl.c source/drivers/bluetooth/hci_mrvl.c +--- source.orig/drivers/bluetooth/hci_mrvl.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/bluetooth/hci_mrvl.c 2023-06-07 10:17:17.868919257 -0400 +@@ -277,7 +277,7 @@ + + err = request_firmware(&fw, name, &hdev->dev); + if (err < 0) { +- bt_dev_err(hdev, "Failed to load firmware file %s", name); ++ bt_dev_err(hdev, "Failed to load firmware"); + return err; + } + +diff -ru source.orig/drivers/gpu/drm/i915/display/intel_dmc.c source/drivers/gpu/drm/i915/display/intel_dmc.c +--- source.orig/drivers/gpu/drm/i915/display/intel_dmc.c 2023-06-07 09:29:12.000000000 -0400 ++++ source/drivers/gpu/drm/i915/display/intel_dmc.c 2023-06-07 09:37:13.039233908 -0400 +@@ -697,11 +697,8 @@ + DMC_VERSION_MINOR(dmc->version)); + } else { + drm_notice(&dev_priv->drm, +- "Failed to load DMC firmware %s." +- " Disabling runtime power management.\n", +- dmc->fw_path); +- drm_notice(&dev_priv->drm, "DMC firmware homepage: %s", +- INTEL_UC_FIRMWARE_URL); ++ "Failed to load DMC firmware." ++ " Disabling runtime power management.\n"); + } + + release_firmware(fw); +diff -ru source.orig/drivers/gpu/drm/i915/display/intel_opregion.c source/drivers/gpu/drm/i915/display/intel_opregion.c +--- source.orig/drivers/gpu/drm/i915/display/intel_opregion.c 2023-06-07 09:29:12.000000000 -0400 ++++ source/drivers/gpu/drm/i915/display/intel_opregion.c 2023-06-07 09:45:25.068035455 -0400 +@@ -824,8 +824,8 @@ + ret = request_firmware(&fw, name, dev_priv->drm.dev); + if (ret) { + drm_err(&dev_priv->drm, +- "Requesting VBT firmware \"%s\" failed (%d)\n", +- name, ret); ++ "Requesting VBT firmware failed (%d)\n", ++ ret); + return ret; + } + +@@ -841,8 +841,7 @@ + ret = -ENOMEM; + } + } else { +- drm_dbg_kms(&dev_priv->drm, "Invalid VBT firmware \"%s\"\n", +- name); ++ drm_dbg_kms(&dev_priv->drm, "Invalid VBT firmware\n"); + ret = -EINVAL; + } + +diff -ru source.orig/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c source/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +--- source.orig/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 2023-06-07 09:29:12.000000000 -0400 ++++ source/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 2023-06-07 09:41:29.003526353 -0400 +@@ -388,10 +388,8 @@ + INTEL_UC_FIRMWARE_MISSING : + INTEL_UC_FIRMWARE_ERROR); + +- drm_notice(&i915->drm, "%s firmware %s: fetch failed with error %d\n", +- intel_uc_fw_type_repr(uc_fw->type), uc_fw->path, err); +- drm_info(&i915->drm, "%s firmware(s) can be downloaded from %s\n", +- intel_uc_fw_type_repr(uc_fw->type), INTEL_UC_FIRMWARE_URL); ++ drm_notice(&i915->drm, "%s firmware: fetch failed with error %d\n", ++ intel_uc_fw_type_repr(uc_fw->type), err); + + release_firmware(fw); /* OK even if fw is NULL */ + return err; +@@ -523,9 +521,8 @@ + return 0; + + fail: +- i915_probe_error(gt->i915, "Failed to load %s firmware %s (%d)\n", +- intel_uc_fw_type_repr(uc_fw->type), uc_fw->path, +- err); ++ i915_probe_error(gt->i915, "Failed to load %s firmware (%d)\n", ++ intel_uc_fw_type_repr(uc_fw->type), err); + intel_uc_fw_change_status(uc_fw, INTEL_UC_FIRMWARE_LOAD_FAIL); + return err; + } +diff -ru source.orig/drivers/gpu/drm/i915/gvt/firmware.c source/drivers/gpu/drm/i915/gvt/firmware.c +--- source.orig/drivers/gpu/drm/i915/gvt/firmware.c 2021-10-31 16:53:10.000000000 -0400 ++++ source/drivers/gpu/drm/i915/gvt/firmware.c 2023-06-07 09:46:33.759010803 -0400 +@@ -190,8 +190,8 @@ + return 0; + + invalid_firmware: +- gvt_dbg_core("Invalid firmware: %s [file] 0x%llx [request] 0x%llx\n", +- item, file, request); ++ gvt_dbg_core("Invalid firmware [request] 0x%llx\n", ++ request); + return -EINVAL; + } + +@@ -238,7 +238,7 @@ + GVT_FIRMWARE_PATH, pdev->vendor, pdev->device, + pdev->revision); + +- gvt_dbg_core("request hw state firmware %s...\n", path); ++ gvt_dbg_core("request hw state firmware\n"); + + ret = request_firmware(&fw, path, gvt->gt->i915->drm.dev); + kfree(path); diff --git a/helpers/DATA/linux/udeb/001-disable_zstd_module_compression.patch b/helpers/DATA/linux/udeb/001-disable_zstd_module_compression.patch deleted file mode 100644 index 0d4bb0b..0000000 --- a/helpers/DATA/linux/udeb/001-disable_zstd_module_compression.patch +++ /dev/null @@ -1,20 +0,0 @@ -Debian doesn't use zstd compression for kernel modules by default, and -kernel-wedge does not currently support this compression. It is recommended -to continue using XZ compression to maintain compatibility with udeb -packages in Trisquel, at least while this changes. - -diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk -index d832106b..4afdd290 100644 ---- a/debian/rules.d/0-common-vars.mk -+++ b/debian/rules.d/0-common-vars.mk -@@ -154,6 +154,10 @@ do_zstd_ko=true - ifeq ($(series),jammy) - do_zstd_ko= - endif -+# Trisquel use udebs, so it disable zstd by default. -+ifeq (yes,$(shell dpkg-vendor --is Trisquel && echo yes)) -+do_zstd_ko= -+endif - - # Support parallel= in DEB_BUILD_OPTIONS (see #209008) - # diff --git a/helpers/DATA/linux/udeb/d-i.patch b/helpers/DATA/linux/udeb/d-i.patch new file mode 100644 index 0000000..9c8d495 --- /dev/null +++ b/helpers/DATA/linux/udeb/d-i.patch @@ -0,0 +1,69 @@ +diff --git a/debian/rules b/debian/rules +index 0f238b32..d96c732e 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -122,12 +122,19 @@ clean: debian/control debian/canonical-certs.pem debian/canonical-revoked-certs. + dh_testroot + dh_clean + ++ # d-i stuff ++ rm -rf $(DEBIAN)/d-i-$(arch) ++ # Generated on the fly. ++ rm -f $(DEBIAN)/d-i/firmware/$(arch)/kernel-image ++ + # normal build junk + rm -rf $(DEBIAN)/abi + rm -rf $(builddir) + rm -f $(stampdir)/stamp-* + rm -rf $(DEBIAN)/linux-* + ++ # This gets rid of the d-i packages in control ++ cp -f $(DEBIAN)/control.stub $(DROOT)/control + cp $(DEBIAN)/changelog debian/changelog + + # Install the copyright information. +@@ -184,7 +191,6 @@ + $(DROOT)/scripts/control-create \ + $(control_files) \ + debian/canonical-revoked-certs.pem \ +- $(DROOT)/control.d/flavour-module.stub \ + $(DEBIAN)/changelog \ + $(wildcard $(DEBIAN)/control.d/* $(DEBIAN)/sub-flavours/*.vars) + for i in $(control_files); do \ +@@ -210,7 +216,13 @@ + + .PHONY: debian/control + debian/control: $(DEBIAN)/control.stub ++ echo "# placebo control.stub for kernel-wedge flow change" >debian/control.stub + cp $(DEBIAN)/control.stub debian/control ++ export KW_DEFCONFIG_DIR=$(DEBIAN)/d-i && \ ++ export KW_CONFIG_DIR=$(DEBIAN)/d-i && \ ++ LANG=C kernel-wedge gen-control $(release)-$(abinum) | \ ++ grep-dctrl -FArchitecture $(arch) \ ++ >>$(CURDIR)/debian/control + + debian/canonical-certs.pem: $(wildcard $(DROOT)/certs/*-all.pem) $(wildcard $(DROOT)/certs/*-$(arch).pem) $(wildcard $(DEBIAN)/certs/*-all.pem) $(wildcard $(DEBIAN)/certs/*-$(arch).pem) + for cert in $(sort $(notdir $^)); \ +--- a/debian/rules.d/2-binary-arch.mk 2023-02-10 11:40:38.000000000 -0600 ++++ b/debian/rules.d/2-binary-arch.mk 2023-02-10 11:57:00.107737218 -0600 +@@ -178,12 +178,14 @@ + $(pkgdir)/boot/config-$(abi_release)-$* + install -m600 $(builddir)/build-$*/System.map \ + $(pkgdir)/boot/System.map-$(abi_release)-$* +- +-ifeq ($(do_dtbs),true) +- $(build_cd) $(kmake) $(build_O) $(conc_level) dtbs_install \ +- INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree +-endif +- ++ if [ "$(filter true,$(do_dtbs))" ]; then \ ++ $(build_cd) $(kmake) $(build_O) $(conc_level) dtbs_install \ ++ INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree; \ ++ ( cd $(pkgdir)/lib/firmware/$(abi_release)-$*/ && find device-tree -print ) | \ ++ while read dtb_file; do \ ++ echo "$$dtb_file ?" >> $(DEBIAN)/d-i/firmware/$(arch)/kernel-image; \ ++ done; \ ++ fi + ifeq ($(no_dumpfile),) + makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \ + -x $(builddir)/build-$*/vmlinux diff --git a/helpers/DATA/linux/udeb/d-i/kernel-versions b/helpers/DATA/linux/udeb/d-i/kernel-versions index 791737f..6cd90ed 100644 --- a/helpers/DATA/linux/udeb/d-i/kernel-versions +++ b/helpers/DATA/linux/udeb/d-i/kernel-versions @@ -4,7 +4,7 @@ amd64 - generic - - - i386 - generic - - - armhf - generic - - - -#armhf - generic-lpae - - - +armhf - generic-lpae - - - arm64 - generic - - - diff --git a/helpers/DATA/lvm2/enable_udeb_build.patch b/helpers/DATA/lvm2/enable_udeb_build.patch new file mode 100644 index 0000000..b8d3566 --- /dev/null +++ b/helpers/DATA/lvm2/enable_udeb_build.patch @@ -0,0 +1,28 @@ +diff -ru source/debian/rules source/debian/rules +--- source/debian/rules 2021-10-06 04:31:36.000000000 -0500 ++++ source/debian/rules 2022-08-18 22:47:15.148996989 -0500 +@@ -77,10 +77,7 @@ + + BUILDS := + ifneq ($(filter lvm2,$(shell dh_listpackages)),) +-BUILDS += deb +-endif +-ifneq ($(filter lvm2-udeb,$(shell dh_listpackages)),) +-BUILDS += udeb ++BUILDS += deb udeb + endif + ifneq ($(filter lvm2-dbusd,$(shell dh_listpackages)),) + BUILDS += deb_all +@@ -130,12 +127,10 @@ + -- $(GENCONTROL_ARGS) + + override_dh_install: +-ifneq ($(filter lvm2-udeb,$(shell dh_listpackages)),) + dh_install --sourcedir=debian/build/install_udeb \ + -pdmsetup-udeb \ + -plibdevmapper$(DEVMAPPER_ABINAME)-udeb \ + -plvm2-udeb +-endif + dh_install --sourcedir=debian/build/install_deb_all \ + -plvm2-dbusd + dh_install --sourcedir=debian/build/install_deb \ diff --git a/helpers/DATA/lvm2/fix_path_on_udeb_files.patch b/helpers/DATA/lvm2/fix_path_on_udeb_files.patch new file mode 100644 index 0000000..deda98c --- /dev/null +++ b/helpers/DATA/lvm2/fix_path_on_udeb_files.patch @@ -0,0 +1,16 @@ +diff -Nru source/debian/dmsetup-udeb.install source_fix/debian/dmsetup-udeb.install +--- source/debian/dmsetup-udeb.install 2021-05-19 17:33:13.000000000 +0000 ++++ source_fix/debian/dmsetup-udeb.install 2022-09-11 22:22:13.806360893 +0000 +@@ -1,2 +1,2 @@ +-lib/udev/rules.d/*dm*.rules lib/udev/rules.d/ ++usr/lib/udev/rules.d/*dm*.rules lib/udev/rules.d/ + sbin/dmsetup +diff -Nru source/debian/lvm2-udeb.install source_fix/debian/lvm2-udeb.install +--- source/debian/lvm2-udeb.install 2021-05-19 17:33:13.000000000 +0000 ++++ source_fix/debian/lvm2-udeb.install 2022-09-11 22:22:32.382314653 +0000 +@@ -1,4 +1,4 @@ +-lib/udev/rules.d/*-lvm*.rules ++usr/lib/udev/rules.d/*-lvm*.rules lib/udev/rules.d/ + etc/lvm/lvm.conf + sbin/lvchange + sbin/lvconvert diff --git a/helpers/DATA/lxde-metapackages/patch_changes/000-set_customs_browsers_for_lxde-metapackages.patch b/helpers/DATA/lxde-metapackages/patch_changes/000-set_customs_browsers_for_lxde-metapackages.patch deleted file mode 100644 index 8b4c875..0000000 --- a/helpers/DATA/lxde-metapackages/patch_changes/000-set_customs_browsers_for_lxde-metapackages.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/debian/control b/debian/control -index e0f0285c..5cc1787e 100644 ---- a/debian/control -+++ b/debian/control -@@ -22,7 +22,7 @@ Recommends: polkitd, - lxterminal | x-terminal-emulator, - notification-daemon, - xscreensaver --Suggests: firefox-esr | firefox | www-browser, -+Suggests: abrowser | icecat | www-browser, - lxde, - lxlauncher - Description: metapackage for the LXDE core -@@ -59,7 +59,7 @@ Recommends: connman-gtk | network-manager-gnome | wicd, - smplayer | vlc | mplayer-gui, gnome-colors, - gnome-system-tools, - gucharmap, -- firefox-esr | firefox | www-browser, -+ abrowser | icecat | www-browser, - lightdm | x-display-manager, - lxmusic | audacious, lxpolkit, - parcellite | clipit | copyq, numlockx, usermode, diff --git a/helpers/DATA/lxpanel/patch_changes/000-MR_46_fix_scrolling_issue_volume_plugin.patch b/helpers/DATA/lxpanel/patch_changes/000-MR_46_fix_scrolling_issue_volume_plugin.patch deleted file mode 100644 index c8d75e2..0000000 --- a/helpers/DATA/lxpanel/patch_changes/000-MR_46_fix_scrolling_issue_volume_plugin.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 44df20a33645b4a645b547725c75904cee46dfba Mon Sep 17 00:00:00 2001 -From: Nicolas Salguero -Date: Thu, 21 Jul 2022 12:54:07 +0200 -Subject: [PATCH 1/2] Fix a scrolling issue with the GTK3 volume plugin - -Scrolling with the mouse wheel in the volume plugin window only reduces -the volume, because the GDK_SCROLL_SMOOTH direction is not taken into -account. - -This fixes github issue #27, reported by martenwa, -part of github issue #45, reported by nsalguero, and -part of https://bugs.debian.org/1052050. - -(commit and message amended by committer) ---- - plugins/volumealsa/volumealsa.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/plugins/volumealsa/volumealsa.c b/plugins/volumealsa/volumealsa.c -index 5c410511..74b49f90 100644 ---- a/plugins/volumealsa/volumealsa.c -+++ b/plugins/volumealsa/volumealsa.c -@@ -796,6 +796,17 @@ static void volumealsa_popup_scale_scrolled(GtkScale * scale, GdkEventScroll * e - /* Dispatch on scroll direction to update the value. */ - if ((evt->direction == GDK_SCROLL_UP) || (evt->direction == GDK_SCROLL_LEFT)) - val += 2; -+#if GTK_CHECK_VERSION(3, 4, 0) -+ else if (evt->direction == GDK_SCROLL_SMOOTH) -+ { -+ gdouble delta_x, delta_y; -+ gdk_event_get_scroll_deltas((GdkEvent *) evt, &delta_x, &delta_y); -+ if ((delta_y < 0) || (delta_x < 0)) -+ val += 2; -+ else -+ val -= 2; -+ } -+#endif - else - val -= 2; - - -From a9c1c58558ec066b6e086230abcf70c7793583c8 Mon Sep 17 00:00:00 2001 -From: Nicolas Salguero -Date: Thu, 21 Jul 2022 12:54:07 +0200 -Subject: [PATCH 2/2] Fix a scrolling issue with the GTK3 volume plugin - -Scrolling with the mouse wheel on the volume plugin icon does nothing -because GDK_SCROLL events are missing. To receive these events, widgets -must set either GDK_SCROLL_MASK or GDK_SMOOTH_SCROLL_MASK. - -This fixes part of github issue #45, reported by nsalguero, -and part of https://bugs.debian.org/1052050. - -(commit and message amended by committer) ---- - plugins/volumealsa/volumealsa.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/plugins/volumealsa/volumealsa.c b/plugins/volumealsa/volumealsa.c -index 74b49f90..13693773 100644 ---- a/plugins/volumealsa/volumealsa.c -+++ b/plugins/volumealsa/volumealsa.c -@@ -991,6 +991,9 @@ static GtkWidget *volumealsa_constructor(LXPanel *panel, config_setting_t *setti - vol->tray_icon = lxpanel_image_new_for_icon(panel, "audio-volume-muted-panel", - -1, ICONS_MUTE); - gtk_container_add(GTK_CONTAINER(p), vol->tray_icon); -+#if GTK_CHECK_VERSION(3, 4, 0) -+ gtk_widget_add_events(p, GDK_SCROLL_MASK); -+#endif - - /* Initialize window to appear when icon clicked. */ - volumealsa_build_popup_window(p); diff --git a/helpers/DATA/lxpanel/patch_changes/001-MR_53_handle_not_charging_state_battery.patch b/helpers/DATA/lxpanel/patch_changes/001-MR_53_handle_not_charging_state_battery.patch deleted file mode 100644 index d9f68f9..0000000 --- a/helpers/DATA/lxpanel/patch_changes/001-MR_53_handle_not_charging_state_battery.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0995ca8ee2b7cbd768921b0a4e2f88a98af09c92 Mon Sep 17 00:00:00 2001 -From: Mikau -Date: Mon, 17 Apr 2023 16:37:10 +0200 -Subject: [PATCH] Handle "Not Charging" state in battery indicator - -When the battery has reached the target charge level, some devices -use the status "Not Charging". LXpanel should not interpret this to mean -"Discharging", but rather the same as "Full". - -This is also likely to fix github issue #50, reported by embedeo. - -(commit message amended by committer) ---- - plugins/batt/batt_sys.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/plugins/batt/batt_sys.c b/plugins/batt/batt_sys.c -index 5a40273e..eb807a3c 100644 ---- a/plugins/batt/batt_sys.c -+++ b/plugins/batt/batt_sys.c -@@ -396,6 +396,7 @@ gboolean battery_is_charging( battery *b ) - return ( strcasecmp( b->state, "Unknown" ) == 0 - || strcasecmp( b->state, "Full" ) == 0 - || strcasecmp( b->state, "Charging" ) == 0 -+ || strcasecmp( b->state, "Not Charging" ) == 0 - || b->current_now == 0 ); /* bug sf.net, #720 */ - } - diff --git a/helpers/DATA/lxpanel/patch_changes/002-MR_78_do_not_trigger_wincmd_button_clicked.patch b/helpers/DATA/lxpanel/patch_changes/002-MR_78_do_not_trigger_wincmd_button_clicked.patch deleted file mode 100644 index 99819b6..0000000 --- a/helpers/DATA/lxpanel/patch_changes/002-MR_78_do_not_trigger_wincmd_button_clicked.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8b2d1ead714529f3abe00fff282607a4f9eb47b7 Mon Sep 17 00:00:00 2001 -From: kurokawachan -Date: Fri, 23 Aug 2024 04:11:55 -0700 -Subject: [PATCH] Do not trigger wincmd_button_clicked() by GDK_2BUTTON_PRESS - events - -If the toggle is clicked too quickly, it is considered a double-click -and three button-press events are generated instead of the usual two, -resulting in unwanted behavior. - -This fixes https://github.com/lxde/lxpanel/issues/77. ---- - plugins/wincmd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/plugins/wincmd.c b/plugins/wincmd.c -index 9b4ae48e..ae8db997 100644 ---- a/plugins/wincmd.c -+++ b/plugins/wincmd.c -@@ -124,7 +124,7 @@ static gboolean wincmd_button_clicked(GtkWidget * widget, GdkEventButton * event - WinCmdPlugin * wc = lxpanel_plugin_get_data(widget); - - /* Left-click to iconify. */ -- if (event->button == 1) -+ if (event->button == 1 && event->type == GDK_BUTTON_PRESS) - { - GdkScreen* screen = gtk_widget_get_screen(widget); - Screen *xscreen = GDK_SCREEN_XSCREEN(screen); diff --git a/helpers/DATA/lxpanel/patch_changes/003-MR_84_prevent_panel_freeze_pop_down_menu_debofe_detach.patch b/helpers/DATA/lxpanel/patch_changes/003-MR_84_prevent_panel_freeze_pop_down_menu_debofe_detach.patch deleted file mode 100644 index 11dab5e..0000000 --- a/helpers/DATA/lxpanel/patch_changes/003-MR_84_prevent_panel_freeze_pop_down_menu_debofe_detach.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 8b1135b857eb684296013c92487532a903039102 Mon Sep 17 00:00:00 2001 -From: kurokawachan -Date: Sat, 21 Sep 2024 20:16:48 -0700 -Subject: [PATCH] Pop down a menu before detaching it - -If we detach a GtkMenu while it is still being displayed, -it will freeze the entire panel. - -This fixes github issue #83, reported by make-your-soft-better. - -(commit message slightly amended by committer) ---- - plugins/task-button.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/plugins/task-button.c b/plugins/task-button.c -index 3744cc79..f90da5c8 100644 ---- a/plugins/task-button.c -+++ b/plugins/task-button.c -@@ -1544,6 +1544,7 @@ void task_button_update_windows_list(TaskButton *button, Window *list, gint n) - for (l = menu_list; l; l = l->next) - { - GtkMenu *menu = GTK_MENU(l->data); -+ gtk_menu_popdown(menu); - gtk_menu_detach(menu); - } - g_list_free(menu_list); diff --git a/helpers/DATA/lxpanel/patch_changes/004-MR_89_1-4_restore_disabled_cpufreq_plugin_functionality.patch b/helpers/DATA/lxpanel/patch_changes/004-MR_89_1-4_restore_disabled_cpufreq_plugin_functionality.patch deleted file mode 100644 index 924fccf..0000000 --- a/helpers/DATA/lxpanel/patch_changes/004-MR_89_1-4_restore_disabled_cpufreq_plugin_functionality.patch +++ /dev/null @@ -1,237 +0,0 @@ -From dfa4708213c65b734b0d724de8290d4da3ba5af4 Mon Sep 17 00:00:00 2001 -From: rofl0r -Date: Wed, 12 Mar 2025 00:35:15 +0000 -Subject: [PATCH 1/4] Restore disabled cpufreq plugin functionality - -According to the comment used, this was apparently disabled because -someone thought that changing CPU governors requires root permissions, -but that can be easily changed using a rc script running on system -start. - -Probably the most sensible setup to modify the governors from a -restricted user account is to add it to a dedicated group with -write access to the corresponding sysfs files. - -For instance: - - for i in /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_governor \ - /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_setspeed ; do - chown root:cpufreq "$i" - chmod 664 "$i" - done ---- - plugins/cpufreq/cpufreq.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/plugins/cpufreq/cpufreq.c b/plugins/cpufreq/cpufreq.c -index 05f41e0d..24e819ea 100644 ---- a/plugins/cpufreq/cpufreq.c -+++ b/plugins/cpufreq/cpufreq.c -@@ -99,7 +99,7 @@ get_cur_freq(cpufreq *cf){ - } - } - --/*static void -+static void - get_governors(cpufreq *cf){ - FILE *fp; - GList *l; -@@ -189,7 +189,7 @@ frequency_menu(cpufreq *cf){ - - fclose(fp); - return GTK_WIDGET(menu); --}*/ -+} - - static void - get_cpus(cpufreq *cf) -@@ -228,7 +228,7 @@ get_cpus(cpufreq *cf) - g_dir_close(cpuDirectory); - } - --/*static void -+static void - cpufreq_set_governor(GtkWidget *widget, Param* p){ - FILE *fp; - char buf[ 100 ], sstmp [ 256 ]; -@@ -291,7 +291,7 @@ cpufreq_menu(cpufreq *cf){ - } - - return GTK_WIDGET (menu); --}*/ -+} - - - -@@ -303,9 +303,9 @@ clicked(GtkWidget *widget, GdkEventButton *evt, LXPanel *panel) - /* Standard right-click handling. */ - if( evt->button == 1 ) - { --// Setting governor can't work without root privilege --// gtk_menu_popup( cpufreq_menu((cpufreq*)plugin->priv), NULL, NULL, NULL, NULL, --// evt->button, evt->time ); -+ cpufreq *cf = lxpanel_plugin_get_data(widget); -+ gtk_menu_popup( GTK_MENU(cpufreq_menu(cf)), NULL, NULL, NULL, NULL, -+ evt->button, evt->time ); - return TRUE; - } - - -From 6c35362e69030f6e1bd360f1d8d8171135943c85 Mon Sep 17 00:00:00 2001 -From: rofl0r -Date: Wed, 12 Mar 2025 09:57:01 +0000 -Subject: [PATCH 2/4] Factor out identical code in cpufreq_set_gov/frequency - ---- - plugins/cpufreq/cpufreq.c | 36 ++++++++++++++++++++++-------------- - 1 file changed, 22 insertions(+), 14 deletions(-) - -diff --git a/plugins/cpufreq/cpufreq.c b/plugins/cpufreq/cpufreq.c -index 24e819ea..48ff25d0 100644 ---- a/plugins/cpufreq/cpufreq.c -+++ b/plugins/cpufreq/cpufreq.c -@@ -138,19 +138,34 @@ get_governors(cpufreq *cf){ - } - - static void --cpufreq_set_freq(GtkWidget *widget, Param* p){ -+set_file(const char* cpu, const char* val, const char* file) { - FILE *fp; -- char buf[ 100 ], sstmp [ 256 ]; -+ char path [ 256 ]; - -- if(strcmp(p->cf->cur_governor, "userspace")) return; -+ snprintf(path, sizeof(path), "%s/%s", cpu, file); - -- sprintf(sstmp,"%s/%s",p->cf->cpus->data, SCALING_SETFREQ); -- if ((fp = fopen( sstmp, "w")) != NULL) { -- fprintf(fp,"%s",p->data); -+ if ((fp = fopen( path, "w")) != NULL) { -+ fprintf(fp,"%s",val); - fclose(fp); - } - } - -+static void -+set_freq(const char* cpu, const char* val) { -+ set_file(cpu, val, SCALING_SETFREQ); -+} -+ -+static void -+set_gov(const char* cpu, const char* val) { -+ set_file(cpu, val, SCALING_GOV); -+} -+ -+static void -+cpufreq_set_freq(GtkWidget *widget, Param* p){ -+ if(strcmp(p->cf->cur_governor, "userspace")) return; -+ set_freq(p->cf->cpus->data, p->data); -+} -+ - static GtkWidget * - frequency_menu(cpufreq *cf){ - FILE *fp; -@@ -230,14 +245,7 @@ get_cpus(cpufreq *cf) - - static void - cpufreq_set_governor(GtkWidget *widget, Param* p){ -- FILE *fp; -- char buf[ 100 ], sstmp [ 256 ]; -- -- sprintf(sstmp, "%s/%s", p->cf->cpus->data, SCALING_GOV); -- if ((fp = fopen( sstmp, "w")) != NULL) { -- fprintf(fp,"%s",p->data); -- fclose(fp); -- } -+ set_gov(p->cf->cpus->data, p->data); - } - - static GtkWidget * - -From c0831241f801f321ddfd48f7acc1e61574640a38 Mon Sep 17 00:00:00 2001 -From: rofl0r -Date: Wed, 12 Mar 2025 10:00:20 +0000 -Subject: [PATCH 3/4] Apply chosen governor/frequency to all CPUs - -Previously, governor and frequency were only changed for the -first CPU/core in the system, but all others were left untouched. -A user changing those generally wants the setting applied -to all cores (for example to powersave governor if on battery). ---- - plugins/cpufreq/cpufreq.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/plugins/cpufreq/cpufreq.c b/plugins/cpufreq/cpufreq.c -index 48ff25d0..9c194ca0 100644 ---- a/plugins/cpufreq/cpufreq.c -+++ b/plugins/cpufreq/cpufreq.c -@@ -162,8 +162,12 @@ set_gov(const char* cpu, const char* val) { - - static void - cpufreq_set_freq(GtkWidget *widget, Param* p){ -+ GList *curr; -+ - if(strcmp(p->cf->cur_governor, "userspace")) return; -- set_freq(p->cf->cpus->data, p->data); -+ -+ for(curr = p->cf->cpus; curr; curr = curr->next) -+ set_freq(curr->data, p->data); - } - - static GtkWidget * -@@ -245,7 +249,10 @@ get_cpus(cpufreq *cf) - - static void - cpufreq_set_governor(GtkWidget *widget, Param* p){ -- set_gov(p->cf->cpus->data, p->data); -+ GList *curr; -+ -+ for(curr = p->cf->cpus; curr; curr = curr->next) -+ set_gov(curr->data, p->data); - } - - static GtkWidget * - -From e8db3d47a308e43c44e0b036fa66df448a246e51 Mon Sep 17 00:00:00 2001 -From: rofl0r -Date: Fri, 14 Mar 2025 07:23:20 +0000 -Subject: [PATCH 4/4] Cosmetic change: move cpufreq_set_governor up - ---- - plugins/cpufreq/cpufreq.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/plugins/cpufreq/cpufreq.c b/plugins/cpufreq/cpufreq.c -index 9c194ca0..9e1bb0f1 100644 ---- a/plugins/cpufreq/cpufreq.c -+++ b/plugins/cpufreq/cpufreq.c -@@ -170,6 +170,14 @@ cpufreq_set_freq(GtkWidget *widget, Param* p){ - set_freq(curr->data, p->data); - } - -+static void -+cpufreq_set_governor(GtkWidget *widget, Param* p) { -+ GList *curr; -+ -+ for(curr = p->cf->cpus; curr; curr = curr->next) -+ set_gov(curr->data, p->data); -+} -+ - static GtkWidget * - frequency_menu(cpufreq *cf){ - FILE *fp; -@@ -247,14 +255,6 @@ get_cpus(cpufreq *cf) - g_dir_close(cpuDirectory); - } - --static void --cpufreq_set_governor(GtkWidget *widget, Param* p){ -- GList *curr; -- -- for(curr = p->cf->cpus; curr; curr = curr->next) -- set_gov(curr->data, p->data); --} -- - static GtkWidget * - cpufreq_menu(cpufreq *cf){ - GList *l; diff --git a/helpers/DATA/lxpanel/patch_changes/005-fix_armhf_build_plugin_cpufreq.patch b/helpers/DATA/lxpanel/patch_changes/005-fix_armhf_build_plugin_cpufreq.patch deleted file mode 100644 index da74806..0000000 --- a/helpers/DATA/lxpanel/patch_changes/005-fix_armhf_build_plugin_cpufreq.patch +++ /dev/null @@ -1,117 +0,0 @@ -diff --git a/plugins/cpufreq/cpufreq.c b/plugins/cpufreq/cpufreq.c -index 9e1bb0f1..34e781f0 100644 ---- a/plugins/cpufreq/cpufreq.c -+++ b/plugins/cpufreq/cpufreq.c -@@ -2,6 +2,7 @@ - * CPUFreq plugin to lxpanel - * - * Copyright (C) 2009 by Daniel Kesler -+ * 2025 Ingo Brückl - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by -@@ -32,7 +33,7 @@ - - #include "dbg.h" - --#define PROC_ICON "cpufreq-icon" -+#define PROC_ICON "cpufreq" - #define SYSFS_CPU_DIRECTORY "/sys/devices/system/cpu" - #define SCALING_GOV "scaling_governor" - #define SCALING_AGOV "scaling_available_governors" -@@ -114,7 +115,7 @@ get_governors(cpufreq *cf){ - cf->governors = NULL; - return; - } -- sprintf(sstmp,"%s/%s",cf->cpus->data, SCALING_AGOV); -+ snprintf(sstmp, sizeof(sstmp), "%s/%s", cf->cpus->data, SCALING_AGOV); - - if (!(fp = fopen( sstmp, "r"))) { - printf("cpufreq: cannot open %s\n",sstmp); -@@ -178,13 +179,21 @@ cpufreq_set_governor(GtkWidget *widget, Param* p) { - set_gov(curr->data, p->data); - } - -+static gboolean -+permission(cpufreq *cf, const char* file) { -+ char path [ 256 ]; -+ -+ snprintf(path, sizeof(path), "%s/%s", cf->cpus->data, file); -+ return (g_access(path, W_OK) == 0); -+} -+ - static GtkWidget * - frequency_menu(cpufreq *cf){ - FILE *fp; - Param* param; - char buf[ 100 ], sstmp [ 256 ], c, bufl = 0; - -- sprintf(sstmp,"%s/%s",cf->cpus->data, SCALING_AFREQ); -+ snprintf(sstmp, sizeof(sstmp), "%s/%s", cf->cpus->data, SCALING_AFREQ); - - if (!(fp = fopen( sstmp, "r"))) { - printf("cpufreq: cannot open %s\n",sstmp); -@@ -199,7 +208,7 @@ frequency_menu(cpufreq *cf){ - if(bufl > 1){ - buf[bufl] = '\0'; - menuitem = gtk_menu_item_new_with_label(strdup(buf)); -- gtk_menu_append (GTK_MENU_SHELL (menu), menuitem); -+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); - gtk_widget_show (menuitem); - param = g_new0(Param, 1); - param->data = strdup(buf); -@@ -259,6 +268,7 @@ static GtkWidget * - cpufreq_menu(cpufreq *cf){ - GList *l; - GSList *group; -+ gboolean can_write; - char buff[100]; - GtkMenuItem* menuitem; - Param* param; -@@ -270,33 +280,39 @@ cpufreq_menu(cpufreq *cf){ - group = NULL; - - if((cf->governors == NULL) || (!cf->has_cpufreq) || (cf->cur_governor == NULL)){ -- menuitem = GTK_MENU_ITEM(gtk_menu_item_new_with_label("CPUFreq not supported")); -- gtk_menu_append (GTK_MENU_SHELL (menu), GTK_WIDGET (menuitem)); -+ menuitem = GTK_MENU_ITEM(gtk_menu_item_new_with_label(_("CPUFreq not supported"))); -+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (menuitem)); - gtk_widget_show (GTK_WIDGET (menuitem)); - return GTK_WIDGET(menu); - } - -+ can_write = permission(cf, SCALING_SETFREQ); -+ - if(strcmp(cf->cur_governor, "userspace") == 0){ -- menuitem = GTK_MENU_ITEM(gtk_menu_item_new_with_label(" Frequency")); -- gtk_menu_append (GTK_MENU_SHELL (menu), GTK_WIDGET (menuitem)); -+ menuitem = GTK_MENU_ITEM(gtk_menu_item_new_with_label(_(" Frequency"))); -+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (menuitem)); -+ gtk_widget_set_sensitive (GTK_WIDGET (menuitem), can_write); - gtk_widget_show (GTK_WIDGET (menuitem)); - gtk_menu_item_set_submenu(menuitem, frequency_menu(cf)); - menuitem = GTK_MENU_ITEM(gtk_separator_menu_item_new()); -- gtk_menu_append (GTK_MENU_SHELL (menu), GTK_WIDGET (menuitem)); -+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (menuitem)); - gtk_widget_show (GTK_WIDGET(menuitem)); - } - -+ can_write = permission(cf, SCALING_GOV); -+ - for( l = cf->governors; l; l = l->next ) - { - if(strcmp((char*)l->data, cf->cur_governor) == 0){ -- sprintf(buff,"> %s", l->data); -+ snprintf(buff, sizeof(buff), "▸ %s", l->data); - menuitem = GTK_MENU_ITEM(gtk_menu_item_new_with_label(strdup(buff))); - }else{ -- sprintf(buff," %s", l->data); -+ snprintf(buff, sizeof(buff), " %s", l->data); - menuitem = GTK_MENU_ITEM(gtk_menu_item_new_with_label(strdup(buff))); - } - - gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (menuitem)); -+ gtk_widget_set_sensitive (GTK_WIDGET (menuitem), can_write); - gtk_widget_show (GTK_WIDGET (menuitem)); - param = g_new0(Param, 1); - param->data = l->data; diff --git a/helpers/DATA/mate-panel/01_7eed6c94204de780e7248fa711da03f72f900080.patch b/helpers/DATA/mate-panel/01_7eed6c94204de780e7248fa711da03f72f900080.patch new file mode 100644 index 0000000..aeddeb5 --- /dev/null +++ b/helpers/DATA/mate-panel/01_7eed6c94204de780e7248fa711da03f72f900080.patch @@ -0,0 +1,39 @@ +From 7eed6c94204de780e7248fa711da03f72f900080 Mon Sep 17 00:00:00 2001 +From: rbuj +Date: Wed, 26 Jan 2022 15:09:45 +0100 +Subject: [PATCH] wncklet: do not exceed workspace number when setting n_rows + +--- + applets/wncklet/workspace-switcher.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/applets/wncklet/workspace-switcher.c b/applets/wncklet/workspace-switcher.c +index a58abce21..f908ffe1c 100644 +--- a/applets/wncklet/workspace-switcher.c ++++ b/applets/wncklet/workspace-switcher.c +@@ -490,11 +490,12 @@ static const GtkActionEntry pager_menu_actions[] = { + + static void num_rows_changed(GSettings* settings, gchar* key, PagerData* pager) + { +- int n_rows = DEFAULT_ROWS; ++ int n_rows; + +- n_rows = g_settings_get_int (settings, key); +- +- n_rows = CLAMP(n_rows, 1, MAX_REASONABLE_ROWS); ++ n_rows = CLAMP (g_settings_get_int (settings, key), ++ 1, ++ MIN (wnck_screen_get_workspace_count (pager->screen), ++ MAX_REASONABLE_ROWS)); + + pager->n_rows = n_rows; + pager_update(pager); +@@ -823,6 +824,8 @@ on_num_workspaces_value_changed (GtkSpinButton *button, + { + int workspace_count = gtk_spin_button_get_value_as_int (button); + wnck_screen_change_workspace_count(pager->screen, workspace_count); ++ if (workspace_count < pager->n_rows) ++ g_settings_set_int (pager->settings, "num-rows", workspace_count); + } + #endif /* HAVE_X11 */ + } diff --git a/helpers/DATA/mate-panel/02_7acb97b9b473556dd3199308fd1dcdc31a122d63.patch b/helpers/DATA/mate-panel/02_7acb97b9b473556dd3199308fd1dcdc31a122d63.patch new file mode 100644 index 0000000..54b8a66 --- /dev/null +++ b/helpers/DATA/mate-panel/02_7acb97b9b473556dd3199308fd1dcdc31a122d63.patch @@ -0,0 +1,37 @@ +From 7acb97b9b473556dd3199308fd1dcdc31a122d63 Mon Sep 17 00:00:00 2001 +From: Colomban Wendling +Date: Tue, 26 Apr 2022 11:44:47 +0200 +Subject: [PATCH] wncklet: Fix crash thumbnailing dying or otherwise + inaccessible windows + +Fixes https://github.com/mate-desktop/mate-desktop/issues/478 +--- + applets/wncklet/window-list.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/applets/wncklet/window-list.c b/applets/wncklet/window-list.c +index 45ed78f48..9c3ca6ff5 100644 +--- a/applets/wncklet/window-list.c ++++ b/applets/wncklet/window-list.c +@@ -288,6 +288,8 @@ preview_window_thumbnail (WnckWindow *wnck_window, + *thumbnail_width = (int) ((double) width * ratio); + } + ++ gdk_x11_display_error_trap_push (gdk_window_get_display (window)); ++ + thumbnail = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, + *thumbnail_width, + *thumbnail_height); +@@ -298,6 +300,12 @@ preview_window_thumbnail (WnckWindow *wnck_window, + cairo_paint (cr); + cairo_destroy (cr); + ++ if (gdk_x11_display_error_trap_pop (gdk_window_get_display (window))) ++ { ++ cairo_surface_destroy (thumbnail); ++ thumbnail = NULL; ++ } ++ + g_object_unref (window); + + return thumbnail; diff --git a/helpers/DATA/mate-panel/03_f958e06e6671c7cc3214d44c26bf51032e2f871b.patch b/helpers/DATA/mate-panel/03_f958e06e6671c7cc3214d44c26bf51032e2f871b.patch new file mode 100644 index 0000000..eda783d --- /dev/null +++ b/helpers/DATA/mate-panel/03_f958e06e6671c7cc3214d44c26bf51032e2f871b.patch @@ -0,0 +1,30 @@ +From f958e06e6671c7cc3214d44c26bf51032e2f871b Mon Sep 17 00:00:00 2001 +From: Colomban Wendling +Date: Tue, 28 Jun 2022 11:23:01 +0200 +Subject: [PATCH] clock: Fix memory leak + +--- + applets/clock/clock.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/applets/clock/clock.c b/applets/clock/clock.c +index 1b3480fe6..3c7d1fde5 100644 +--- a/applets/clock/clock.c ++++ b/applets/clock/clock.c +@@ -373,7 +373,7 @@ calculate_minimum_height (GtkWidget *widget, + { + GtkStateFlags state; + GtkStyleContext *style_context; +- const PangoFontDescription *font_desc; ++ PangoFontDescription *font_desc; + GtkBorder padding; + PangoContext *pango_context; + PangoFontMetrics *metrics; +@@ -394,6 +394,7 @@ calculate_minimum_height (GtkWidget *widget, + descent = pango_font_metrics_get_descent (metrics); + + pango_font_metrics_unref (metrics); ++ pango_font_description_free (font_desc); + + gtk_style_context_get_padding (style_context, state, &padding); + diff --git a/helpers/DATA/mate-panel/04_e1bfb5b674c31e81465fc8307b28abc22260ccd6.patch b/helpers/DATA/mate-panel/04_e1bfb5b674c31e81465fc8307b28abc22260ccd6.patch new file mode 100644 index 0000000..42b1cd9 --- /dev/null +++ b/helpers/DATA/mate-panel/04_e1bfb5b674c31e81465fc8307b28abc22260ccd6.patch @@ -0,0 +1,25 @@ +From e1bfb5b674c31e81465fc8307b28abc22260ccd6 Mon Sep 17 00:00:00 2001 +From: Colomban Wendling +Date: Tue, 28 Jun 2022 11:25:05 +0200 +Subject: [PATCH] panel-applet: Fix leak in no-background code path + +--- + libmate-panel-applet/mate-panel-applet.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/libmate-panel-applet/mate-panel-applet.c b/libmate-panel-applet/mate-panel-applet.c +index c08e5cc20..38af2c388 100644 +--- a/libmate-panel-applet/mate-panel-applet.c ++++ b/libmate-panel-applet/mate-panel-applet.c +@@ -1625,8 +1625,9 @@ mate_panel_applet_change_background(MatePanelApplet *applet, + switch (type) { + case PANEL_NO_BACKGROUND: + if (priv->out_of_process){ +- pattern = cairo_pattern_create_rgba (0,0,0,0); /* Using NULL here breaks transparent */ +- gdk_window_set_background_pattern(window,pattern); /* backgrounds set by GTK theme */ ++ cairo_pattern_t *transparent = cairo_pattern_create_rgba (0, 0, 0, 0); /* Using NULL here breaks transparent */ ++ gdk_window_set_background_pattern (window, transparent); /* backgrounds set by GTK theme */ ++ cairo_pattern_destroy (transparent); + } + break; + case PANEL_COLOR_BACKGROUND: diff --git a/helpers/DATA/mate-panel/patch_changes/001-fix_workspace_switcher_aspect_ratio.patch b/helpers/DATA/mate-panel/patch_changes/001-fix_workspace_switcher_aspect_ratio.patch deleted file mode 100644 index 284341e..0000000 --- a/helpers/DATA/mate-panel/patch_changes/001-fix_workspace_switcher_aspect_ratio.patch +++ /dev/null @@ -1,202 +0,0 @@ -From e284501d5707556f4fa2a885a3bfe5f6b59d599d Mon Sep 17 00:00:00 2001 -From: lukefromdc -Date: Tue, 21 Nov 2023 15:23:46 -0500 -Subject: [PATCH] wnck-pager: Fix workspace switcher aspect ratio - ---- - applets/wncklet/workspace-switcher.c | 154 ++++++++++++++++++++++++++- - 1 file changed, 153 insertions(+), 1 deletion(-) - -diff --git a/applets/wncklet/workspace-switcher.c b/applets/wncklet/workspace-switcher.c -index f908ffe1c..377cfd93b 100644 ---- a/applets/wncklet/workspace-switcher.c -+++ b/applets/wncklet/workspace-switcher.c -@@ -53,6 +53,153 @@ - - #define WORKSPACE_SWITCHER_ICON "mate-panel-workspace-switcher" - -+/* Container for the WnckPager to work around the sizing issues we have in the -+ * panel. See -+ * https://github.com/mate-desktop/mate-panel/issues/1230#issuecomment-1046235088 */ -+ -+typedef struct _PagerContainer PagerContainer; -+typedef GtkBinClass PagerContainerClass; -+ -+static GType pager_container_get_type (void); -+ -+#define PAGER_CONTAINER_TYPE (pager_container_get_type ()) -+#define PAGER_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAGER_CONTAINER_TYPE, PagerContainer)) -+ -+struct _PagerContainer -+{ -+ GtkBin parent; -+ GtkOrientation orientation; -+ int size; -+}; -+ -+G_DEFINE_TYPE (PagerContainer, pager_container, GTK_TYPE_BIN) -+ -+static gboolean -+queue_resize_idle_cb (gpointer user_data) -+{ -+ gtk_widget_queue_resize (GTK_WIDGET (user_data)); -+ return G_SOURCE_REMOVE; -+} -+ -+static void -+pager_container_get_preferred_width (GtkWidget *widget, -+ int *minimum_width, -+ int *natural_width) -+{ -+ PagerContainer *self; -+ -+ self = PAGER_CONTAINER (widget); -+ -+ if (self->orientation == GTK_ORIENTATION_VERTICAL) -+ { -+ /* self->size is panel width */ -+ *minimum_width = *natural_width = self->size; -+ } -+ else -+ { -+ /* self->size is panel size/height, that will get allocated to pager, request width for this size */ -+ gtk_widget_get_preferred_width_for_height (gtk_bin_get_child (GTK_BIN (self)), -+ self->size, -+ minimum_width, -+ natural_width); -+ } -+} -+ -+static void -+pager_container_get_preferred_height (GtkWidget *widget, -+ int *minimum_height, -+ int *natural_height) -+{ -+ PagerContainer *self; -+ -+ self = PAGER_CONTAINER (widget); -+ -+ if (self->orientation == GTK_ORIENTATION_VERTICAL) -+ { -+ /* self->size is panel size/width that will get allocated to pager, request height for this size */ -+ gtk_widget_get_preferred_height_for_width (gtk_bin_get_child (GTK_BIN (self)), -+ self->size, -+ minimum_height, -+ natural_height); -+ } -+ else -+ { -+ /* self->size is panel height */ -+ *minimum_height = *natural_height = self->size; -+ } -+} -+ -+static void -+pager_container_size_allocate (GtkWidget *widget, -+ GtkAllocation *allocation) -+{ -+ PagerContainer *self; -+ int size; -+ -+ self = PAGER_CONTAINER (widget); -+ -+ if (self->orientation == GTK_ORIENTATION_VERTICAL) -+ size = allocation->width; -+ else -+ size = allocation->height; -+ -+ size = MAX (size, 1); -+ -+ if (self->size != size) -+ { -+ self->size = size; -+ g_idle_add (queue_resize_idle_cb, self); -+ return; -+ } -+ -+ GTK_WIDGET_CLASS (pager_container_parent_class)->size_allocate (widget, -+ allocation); -+} -+ -+static void -+pager_container_class_init (PagerContainerClass *self_class) -+{ -+ GtkWidgetClass *widget_class; -+ -+ widget_class = GTK_WIDGET_CLASS (self_class); -+ -+ widget_class->get_preferred_width = pager_container_get_preferred_width; -+ widget_class->get_preferred_height = pager_container_get_preferred_height; -+ widget_class->size_allocate = pager_container_size_allocate; -+} -+ -+static void -+pager_container_init (PagerContainer *self) -+{ -+} -+ -+static GtkWidget * -+pager_container_new (GtkWidget *child, -+ GtkOrientation orientation) -+{ -+ PagerContainer *self; -+ -+ self = g_object_new (PAGER_CONTAINER_TYPE, "child", child, NULL); -+ -+ self->orientation = orientation; -+ -+ return GTK_WIDGET (self); -+} -+ -+static void -+pager_container_set_orientation (PagerContainer *self, -+ GtkOrientation orientation) -+{ -+ if (self->orientation == orientation) -+ return; -+ -+ self->orientation = orientation; -+ -+ gtk_widget_queue_resize (GTK_WIDGET (self)); -+} -+ -+/* Pager applet itself */ -+ - typedef enum { - PAGER_WM_MARCO, - PAGER_WM_METACITY, -@@ -65,6 +212,7 @@ typedef enum { - typedef struct { - GtkWidget* applet; - -+ GtkWidget* pager_container; - GtkWidget* pager; - - WnckScreen* screen; -@@ -290,6 +438,8 @@ static void applet_change_orient(MatePanelApplet* applet, MatePanelAppletOrient - pager->orientation = new_orient; - pager_update(pager); - -+ pager_container_set_orientation(PAGER_CONTAINER(pager->pager_container), pager->orientation); -+ - if (pager->label_row_col) - gtk_label_set_text(GTK_LABEL(pager->label_row_col), pager->orientation == GTK_ORIENTATION_HORIZONTAL ? _("rows") : _("columns")); - } -@@ -656,7 +806,8 @@ gboolean workspace_switcher_applet_fill(MatePanelApplet* applet) - /* overwrite default WnckPager widget scroll-event */ - g_signal_connect(G_OBJECT(pager->pager), "scroll-event", G_CALLBACK(applet_scroll), pager); - -- gtk_container_add(GTK_CONTAINER(pager->applet), pager->pager); -+ pager->pager_container = pager_container_new(pager->pager, pager->orientation); -+ gtk_container_add(GTK_CONTAINER(pager->applet), pager->pager_container); - - g_signal_connect(G_OBJECT(pager->applet), "realize", G_CALLBACK(applet_realized), pager); - g_signal_connect(G_OBJECT(pager->applet), "unrealize", G_CALLBACK(applet_unrealized), pager); -@@ -678,6 +678,7 @@ gboolean workspace_switcher_applet_fill(MatePanelApplet* applet) - context); - - gtk_widget_show (pager->pager); -+ gtk_widget_show(pager->pager_container); - gtk_widget_show (pager->applet); - - action_group = gtk_action_group_new("WorkspaceSwitcher Applet Actions"); diff --git a/helpers/DATA/mate-panel/patch_changes/002-set_default_2_rows_mate-panel.patch b/helpers/DATA/mate-panel/patch_changes/002-set_default_2_rows_mate-panel.patch deleted file mode 100644 index aa6ce89..0000000 --- a/helpers/DATA/mate-panel/patch_changes/002-set_default_2_rows_mate-panel.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/applets/wncklet/org.mate.panel.applet.workspace-switcher.gschema.xml.in b/applets/wncklet/org.mate.panel.applet.workspace-switcher.gschema.xml.in -index c49f472d..c9c88998 100644 ---- a/applets/wncklet/org.mate.panel.applet.workspace-switcher.gschema.xml.in -+++ b/applets/wncklet/org.mate.panel.applet.workspace-switcher.gschema.xml.in -@@ -11,7 +11,7 @@ - If true, the workspace switcher will show all workspaces. Otherwise it will only show the current workspace. - - -- 1 -+ 2 - Rows in workspace switcher - This key specifies how many rows (for horizontal layout) or columns (for vertical layout) the workspace switcher shows the workspaces in. This key is only relevant if the display_all_workspaces key is true. - diff --git a/helpers/DATA/mate-user-admin/patch_changes/000-add-cracklib-runtime-as-dependency.patch b/helpers/DATA/mate-user-admin/patch_changes/000-add-cracklib-runtime-as-dependency.patch index d8b2a83..bbf54ee 100644 --- a/helpers/DATA/mate-user-admin/patch_changes/000-add-cracklib-runtime-as-dependency.patch +++ b/helpers/DATA/mate-user-admin/patch_changes/000-add-cracklib-runtime-as-dependency.patch @@ -1,4 +1,4 @@ -# Fixes https://gitlab.trisquel.org/trisquel/package-helpers/-/issues/216 +# Fixes https://gitlab.trisquel.org/trisquel/package-helpers/-/issues/148 diff --git a/debian/control b/debian/control index 3297b1c..37ff49a 100644 diff --git a/helpers/DATA/mypaint/patch_changes/000-fix_openmp_segfault.patch b/helpers/DATA/mypaint/patch_changes/000-fix_openmp_segfault.patch deleted file mode 100644 index 3cd6b3d..0000000 --- a/helpers/DATA/mypaint/patch_changes/000-fix_openmp_segfault.patch +++ /dev/null @@ -1,111 +0,0 @@ -Origin: upstream, https://github.com/mypaint/mypaint/commit/356716e7bacfcbb1f3ab80171fea405fdd10b2b9 -Bug-Debian: https://bugs.debian.org/1079663 - -From 356716e7bacfcbb1f3ab80171fea405fdd10b2b9 Mon Sep 17 00:00:00 2001 -From: Red Rozenglass -Date: Fri, 11 Sep 2020 02:43:49 +0300 -Subject: [PATCH] Acquire/release the GIL while processing tile requests - -Fixes crashes on some Linux distros, potentially improves performance. - -When handling tile requests we currently use an openmp critical block in a -callback registered with libmypaint. The callback calls into Python code -without locking the GIL. This sometimes crashes mypaint in numpy's memory -cache allocator on some Linux distros that compile numpy with run-time -asserts (without `-DNDEBUG`), like Gentoo, as numpy uses Python's GIL -internally as a locking mechanism for its non-thread-safe global cache -management. - -Acquiring the GIL in the C callback, before calling into Python, ensures -that the GIL is still locked by the current thread when it reaches numpy's -code, and thus prevents the crashes. We yield the GIL whenever Python code -calls again into libmypaint, This allows other threads to acquire it, and -concurrent callbacks to run, which prevents deadlocks that would otherwise -happen while waiting for all the callbacks to finish on Python's side. When -libmypaint is done we re-acquire the GIL, and return up to the callback -where the GIL is released again after some Python reference count -bookkeeping. - -The OpenMP critical block is no longer necessary after introducing the GIL -locking mechanism. This would potentially improve performance as the C code -in libmypaint can process multiple callbacks at the same time during the -`Py_BEGIN_ALLOW_THREADS' period that yields the GIL. ---- - lib/brush.hpp | 16 ++++++++++++++-- - lib/pythontiledsurface.cpp | 7 +++++-- - lib/tiledsurface.hpp | 4 +++- - 3 files changed, 22 insertions(+), 5 deletions(-) - -diff --git a/lib/brush.hpp b/lib/brush.hpp -index f717a42df..0db455377 100644 ---- a/lib/brush.hpp -+++ b/lib/brush.hpp -@@ -66,13 +66,25 @@ class Brush { - bool stroke_to (Surface * surface, float x, float y, float pressure, float xtilt, float ytilt, double dtime, float viewzoom, float viewrotation, float barrel_rotation) - { - MyPaintSurface2 *c_surface = surface->get_surface2_interface(); -- return mypaint_brush_stroke_to_2(c_brush, c_surface, x, y, pressure, xtilt, ytilt, dtime, viewzoom, viewrotation, barrel_rotation); -+ bool stroke_finished_or_empty; -+ -+ Py_BEGIN_ALLOW_THREADS -+ stroke_finished_or_empty = mypaint_brush_stroke_to_2(c_brush, c_surface, x, y, pressure, xtilt, ytilt, dtime, viewzoom, viewrotation, barrel_rotation); -+ Py_END_ALLOW_THREADS -+ -+ return stroke_finished_or_empty; - } - - bool stroke_to_linear (Surface * surface, float x, float y, float pressure, float xtilt, float ytilt, double dtime, float viewzoom, float viewrotation, float barrel_rotation) - { - MyPaintSurface2 *c_surface = surface->get_surface2_interface(); -- return mypaint_brush_stroke_to_2_linearsRGB(c_brush, c_surface, x, y, pressure, xtilt, ytilt, dtime, viewzoom, viewrotation, barrel_rotation); -+ bool stroke_finished_or_empty; -+ -+ Py_BEGIN_ALLOW_THREADS -+ stroke_finished_or_empty = mypaint_brush_stroke_to_2_linearsRGB(c_brush, c_surface, x, y, pressure, xtilt, ytilt, dtime, viewzoom, viewrotation, barrel_rotation); -+ Py_END_ALLOW_THREADS -+ -+ return stroke_finished_or_empty; - } - - double get_total_stroke_painting_time() -diff --git a/lib/pythontiledsurface.cpp b/lib/pythontiledsurface.cpp -index 46c515c99..2c6e773db 100644 ---- a/lib/pythontiledsurface.cpp -+++ b/lib/pythontiledsurface.cpp -@@ -36,8 +36,9 @@ tile_request_start(MyPaintTiledSurface2 *tiled_surface, MyPaintTileRequest *requ - const int ty = request->ty; - PyArrayObject* rgba = NULL; - --#pragma omp critical - { -+ PyGILState_STATE gstate = PyGILState_Ensure(); -+ - rgba = (PyArrayObject*)PyObject_CallMethod(self->py_obj, "_get_tile_numpy", "(iii)", tx, ty, readonly); - if (rgba == NULL) { - request->buffer = NULL; -@@ -59,7 +60,9 @@ tile_request_start(MyPaintTiledSurface2 *tiled_surface, MyPaintTileRequest *requ - Py_DECREF((PyObject *)rgba); - request->buffer = (uint16_t*)PyArray_DATA(rgba); - } --} // #end pragma opt critical -+ -+ PyGILState_Release(gstate); -+} - - - } -diff --git a/lib/tiledsurface.hpp b/lib/tiledsurface.hpp -index 3a6b2e61d..d1a5d1307 100644 ---- a/lib/tiledsurface.hpp -+++ b/lib/tiledsurface.hpp -@@ -66,7 +66,9 @@ class TiledSurface : public Surface { - MyPaintRectangle* rects = this->bbox_rectangles; - MyPaintRectangles bboxes = {BBOXES, rects}; - -- mypaint_surface2_end_atomic((MyPaintSurface2 *)c_surface, &bboxes); -+ Py_BEGIN_ALLOW_THREADS -+ mypaint_surface2_end_atomic((MyPaintSurface2 *)c_surface, &bboxes); -+ Py_END_ALLOW_THREADS - - // The capacity of the bounding box array will most often exceed the number - // of rectangles that are actually used. The call to mypaint_surface_end_atomic diff --git a/helpers/DATA/netcfg/patch_changes/001-add_default_renderer.patch b/helpers/DATA/netcfg/patch_changes/001-add_default_renderer.patch deleted file mode 100644 index d8a9950..0000000 --- a/helpers/DATA/netcfg/patch_changes/001-add_default_renderer.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/netplan-conf.c b/netplan-conf.c -index 89968881..58cce9f9 100644 ---- a/netplan-conf.c -+++ b/netplan-conf.c -@@ -24,6 +24,7 @@ static void netplan_write_header(FILE *fd) - fprintf(fd, "# For more information, see netplan(5).\n"); - fprintf(fd, "network:\n"); - fprintf(fd, " version: 2\n"); -+ fprintf(fd, " renderer: networkd\n"); - } - - static void netplan_write_wireless(FILE *fd, const struct netcfg_interface *interface) diff --git a/helpers/DATA/netcfg/patch_changes/002-customize_hostname_default_name.patch b/helpers/DATA/netcfg/patch_changes/002-customize_hostname_default_name.patch deleted file mode 100644 index e58db25..0000000 --- a/helpers/DATA/netcfg/patch_changes/002-customize_hostname_default_name.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/debian/netcfg-common.templates b/debian/netcfg-common.templates -index 9e3fae52..9d8c27b3 100644 ---- a/debian/netcfg-common.templates -+++ b/debian/netcfg-common.templates -@@ -144,7 +144,7 @@ _Description: Failure of key exchange and association - - Template: netcfg/get_hostname - Type: string --Default: debian -+Default: trisquel - # :sl1: - _Description: Hostname: - Please enter the hostname for this system. diff --git a/helpers/DATA/network-manager-applet/remove_gnome-shell_and_notification-daemon_dependencies.patch b/helpers/DATA/network-manager-applet/remove_gnome-shell_and_notification-daemon_dependencies.patch deleted file mode 100644 index f1f0cee..0000000 --- a/helpers/DATA/network-manager-applet/remove_gnome-shell_and_notification-daemon_dependencies.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/debian/control b/debian/control -index e680436f..7114f416 100644 ---- a/debian/control -+++ b/debian/control -@@ -32,10 +32,9 @@ Pre-Depends: ${misc:Pre-Depends} - Depends: ${shlibs:Depends}, - ${misc:Depends}, - network-manager, -- gnome-shell | policykit-1-gnome | polkit-1-auth-agent, -+ policykit-1-gnome | polkit-1-auth-agent, - default-dbus-session-bus | dbus-session-bus --Recommends: gnome-shell | notification-daemon, -- gnome-keyring, -+Recommends: gnome-keyring, - humanity-icon-theme, - mobile-broadband-provider-info, - iso-codes diff --git a/helpers/DATA/network-manager/define_trisquel_for_i386.patch b/helpers/DATA/network-manager/define_trisquel_for_i386.patch deleted file mode 100644 index 4a0e5e9..0000000 --- a/helpers/DATA/network-manager/define_trisquel_for_i386.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/debian/rules b/debian/rules -index 0740cdee..cde335f9 100755 ---- a/debian/rules -+++ b/debian/rules -@@ -2,7 +2,7 @@ - - include /usr/share/dpkg/architecture.mk - --ifeq ($(shell dpkg-vendor --is Ubuntu && echo yes) $(DEB_HOST_ARCH), yes i386) -+ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes) $(DEB_HOST_ARCH), yes i386) - BUILD_PACKAGES += -Nnetwork-manager - NETPLAN += --disable-netplan - endif diff --git a/helpers/DATA/nheko/001_hidde_sso_promotion_with_main_stream_services.patch b/helpers/DATA/nheko/001_hidde_sso_promotion_with_main_stream_services.patch new file mode 100644 index 0000000..c45bf43 --- /dev/null +++ b/helpers/DATA/nheko/001_hidde_sso_promotion_with_main_stream_services.patch @@ -0,0 +1,66 @@ +diff --git a/src/LoginPage.cpp b/src/LoginPage.cpp_ +index 6c7e49fd..001c9f99 100644 +--- a/src/LoginPage.cpp ++++ b/src/LoginPage.cpp_ +@@ -207,33 +207,34 @@ LoginPage::checkHomeserverVersion() + bool ssoSupported = false; + bool passwordSupported = false; + for (const auto &flow : flows.flows) { +- if (flow.type == mtx::user_interactive::auth_types::sso) { +- ssoSupported = true; +- +- for (const auto &idp : flow.identity_providers) { +- SSOProvider prov; +- if (idp.brand == "apple") +- prov.name_ = tr("Sign in with Apple"); +- else if (idp.brand == "facebook") +- prov.name_ = tr("Continue with Facebook"); +- else if (idp.brand == "google") +- prov.name_ = tr("Sign in with Google"); +- else if (idp.brand == "twitter") +- prov.name_ = tr("Sign in with Twitter"); +- else +- prov.name_ = tr("Login using %1").arg(QString::fromStdString(idp.name)); +- +- prov.avatarUrl_ = QString::fromStdString(idp.icon); +- prov.id_ = QString::fromStdString(idp.id); +- idps.push_back(QVariant::fromValue(prov)); +- } +- +- if (flow.identity_providers.empty()) { +- SSOProvider prov; +- prov.name_ = tr("SSO LOGIN"); +- idps.push_back(QVariant::fromValue(prov)); +- } +- } else if (flow.type == mtx::user_interactive::auth_types::password) { ++// if (flow.type == mtx::user_interactive::auth_types::sso) { ++// ssoSupported = true; ++// ++// for (const auto &idp : flow.identity_providers) { ++// SSOProvider prov; ++// if (idp.brand == "apple") ++// prov.name_ = tr("Sign in with Apple"); ++// else if (idp.brand == "facebook") ++// prov.name_ = tr("Continue with Facebook"); ++// else if (idp.brand == "google") ++// prov.name_ = tr("Sign in with Google"); ++// else if (idp.brand == "twitter") ++// prov.name_ = tr("Sign in with Twitter"); ++// else ++// prov.name_ = tr("Login using %1").arg(QString::fromStdString(idp.name)); ++// ++// prov.avatarUrl_ = QString::fromStdString(idp.icon); ++// prov.id_ = QString::fromStdString(idp.id); ++// idps.push_back(QVariant::fromValue(prov)); ++// } ++// ++// if (flow.identity_providers.empty()) { ++// SSOProvider prov; ++// prov.name_ = tr("SSO LOGIN"); ++// idps.push_back(QVariant::fromValue(prov)); ++// } ++// } else if (flow.type == mtx::user_interactive::auth_types::password) { ++ if (flow.type == mtx::user_interactive::auth_types::password) { + passwordSupported = true; + } + } diff --git a/helpers/DATA/osinfo-db/patch_changes/003-enable_derivation_for_early_trisquel_releases.patch b/helpers/DATA/osinfo-db/003-enable_derivation_for_early_trisquel_releases.patch similarity index 100% rename from helpers/DATA/osinfo-db/patch_changes/003-enable_derivation_for_early_trisquel_releases.patch rename to helpers/DATA/osinfo-db/003-enable_derivation_for_early_trisquel_releases.patch diff --git a/helpers/DATA/partman-auto/patch_changes/000-set_trisquel_default_partman_recipe.patch b/helpers/DATA/partman-auto/patch_changes/000-set_trisquel_default_partman_recipe.patch deleted file mode 100644 index 1856946..0000000 --- a/helpers/DATA/partman-auto/patch_changes/000-set_trisquel_default_partman_recipe.patch +++ /dev/null @@ -1,169 +0,0 @@ -diff --git a/recipes-alpha/multi b/recipes-alpha/multi -index 186decf7..5916d8ee 100644 ---- a/recipes-alpha/multi -+++ b/recipes-alpha/multi -@@ -10,7 +10,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - method{ format } - format{ } - use_filesystem{ } -diff --git a/recipes-armel-kirkwood/multi b/recipes-armel-kirkwood/multi -index 690676a3..bcdea3fa 100644 ---- a/recipes-armel-kirkwood/multi -+++ b/recipes-armel-kirkwood/multi -@@ -9,7 +9,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/recipes-armel-orion5x/multi b/recipes-armel-orion5x/multi -index 690676a3..bcdea3fa 100644 ---- a/recipes-armel-orion5x/multi -+++ b/recipes-armel-orion5x/multi -@@ -9,7 +9,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/recipes-armhf-efikasb/multi b/recipes-armhf-efikasb/multi -index 690676a3..bcdea3fa 100644 ---- a/recipes-armhf-efikasb/multi -+++ b/recipes-armhf-efikasb/multi -@@ -9,7 +9,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/recipes-hppa/multi b/recipes-hppa/multi -index c984ae28..eabbfbb4 100644 ---- a/recipes-hppa/multi -+++ b/recipes-hppa/multi -@@ -12,7 +12,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext4 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - $lvmok{ } - $bootable{ } - method{ format } -diff --git a/recipes-mipsel-loongson-2f/multi b/recipes-mipsel-loongson-2f/multi -index cf0e860a..0eab6089 100644 ---- a/recipes-mipsel-loongson-2f/multi -+++ b/recipes-mipsel-loongson-2f/multi -@@ -9,7 +9,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - $lvmok{ } - method{ format } - format{ } -diff --git a/recipes-powerpc-apus/multi b/recipes-powerpc-apus/multi -index 1ac8e5d9..5dd492ce 100644 ---- a/recipes-powerpc-apus/multi -+++ b/recipes-powerpc-apus/multi -@@ -14,7 +14,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/recipes-powerpc-chrp_ibm/multi b/recipes-powerpc-chrp_ibm/multi -index f42943e8..341d40fc 100644 ---- a/recipes-powerpc-chrp_ibm/multi -+++ b/recipes-powerpc-chrp_ibm/multi -@@ -14,7 +14,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/recipes-powerpc-chrp_pegasos/multi b/recipes-powerpc-chrp_pegasos/multi -index d8effcff..b947d8d6 100644 ---- a/recipes-powerpc-chrp_pegasos/multi -+++ b/recipes-powerpc-chrp_pegasos/multi -@@ -7,7 +7,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - $lvmok{ } - method{ format } - format{ } -diff --git a/recipes-powerpc-powermac_newworld/multi b/recipes-powerpc-powermac_newworld/multi -index 1d3b421b..c213840b 100644 ---- a/recipes-powerpc-powermac_newworld/multi -+++ b/recipes-powerpc-powermac_newworld/multi -@@ -7,7 +7,7 @@ partman-auto/text/multi_scheme :: - filesystem{ hfs } - mountpoint{ /boot/grub } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - $lvmok{ } - method{ format } - format{ } -diff --git a/recipes-powerpc-powermac_oldworld/multi b/recipes-powerpc-powermac_oldworld/multi -index d8effcff..b947d8d6 100644 ---- a/recipes-powerpc-powermac_oldworld/multi -+++ b/recipes-powerpc-powermac_oldworld/multi -@@ -7,7 +7,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - $lvmok{ } - method{ format } - format{ } -diff --git a/recipes-powerpc-prep/multi b/recipes-powerpc-prep/multi -index f206800c..43c4774a 100644 ---- a/recipes-powerpc-prep/multi -+++ b/recipes-powerpc-prep/multi -@@ -5,7 +5,7 @@ partman-auto/text/multi_scheme :: - $bootable{ } - method{ prep } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/recipes-sparc/multi b/recipes-sparc/multi -index ed9aec7e..4b950102 100644 ---- a/recipes-sparc/multi -+++ b/recipes-sparc/multi -@@ -14,7 +14,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 50000 $default_filesystem - $lvmok{ } - method{ format } - format{ } diff --git a/helpers/DATA/pidgin/cve/001_fix_CVE-2022-26491.patch b/helpers/DATA/pidgin/cve/001_fix_CVE-2022-26491.patch new file mode 100644 index 0000000..5d39537 --- /dev/null +++ b/helpers/DATA/pidgin/cve/001_fix_CVE-2022-26491.patch @@ -0,0 +1,77 @@ +Remove _xmppconnect support + +It has always been vulnerable to MITM attacks when it is not used with DNSSEC, +and has been removed from XEP-0156 because of that. We have been issued +CVE-2022-26491 for this issue. + +More discussion can be found at +https://mail.jabber.org/pipermail/standards/2022-February/038759.html. + +Testing Done: +Compiled + +Reviewed at https://reviews.imfreedom.org/r/1357/ + +--- a/libpurple/protocols/jabber/jabber.c Sat Apr 23 05:05:54 2022 -0500 ++++ b/libpurple/protocols/jabber/jabber.c Wed Apr 27 23:41:06 2022 -0500 +@@ -798,48 +798,6 @@ + } + + static void +-txt_resolved_cb(GList *responses, gpointer data) +-{ +- JabberStream *js = data; +- gboolean found = FALSE; +- +- js->srv_query_data = NULL; +- +- while (responses) { +- PurpleTxtResponse *resp = responses->data; +- gchar **token; +- token = g_strsplit(purple_txt_response_get_content(resp), "=", 2); +- if (purple_strequal(token[0], "_xmpp-client-xbosh")) { +- purple_debug_info("jabber","Found alternative connection method using %s at %s.\n", token[0], token[1]); +- js->bosh = jabber_bosh_connection_init(js, token[1]); +- g_strfreev(token); +- break; +- } +- g_strfreev(token); +- purple_txt_response_destroy(resp); +- responses = g_list_delete_link(responses, responses); +- } +- +- if (js->bosh) { +- found = TRUE; +- jabber_bosh_connection_connect(js->bosh); +- } +- +- if (!found) { +- purple_debug_warning("jabber", "Unable to find alternative XMPP connection " +- "methods after failing to connect directly.\n"); +- purple_connection_error_reason(js->gc, +- PURPLE_CONNECTION_ERROR_NETWORK_ERROR, +- _("Unable to connect")); +- return; +- } +- +- if (responses) { +- g_list_free_full(responses, (GDestroyNotify)purple_txt_response_destroy); +- } +-} +- +-static void + jabber_login_callback(gpointer data, gint source, const gchar *error) + { + PurpleConnection *gc = data; +@@ -849,11 +807,6 @@ + if (js->srv_rec != NULL) { + purple_debug_error("jabber", "Unable to connect to server: %s. Trying next SRV record or connecting directly.\n", error); + try_srv_connect(js); +- } else { +- purple_debug_info("jabber","Couldn't connect directly to %s. Trying to find alternative connection methods, like BOSH.\n", js->user->domain); +- js->srv_query_data = purple_txt_resolve_account( +- purple_connection_get_account(gc), "_xmppconnect", +- js->user->domain, txt_resolved_cb, js); + } + return; + } diff --git a/helpers/DATA/pkgsel/patch_changes/000-propagate_installer-chosen_locale_to_tasksel.patch b/helpers/DATA/pkgsel/patch_changes/000-propagate_installer-chosen_locale_to_tasksel.patch deleted file mode 100644 index 83b0403..0000000 --- a/helpers/DATA/pkgsel/patch_changes/000-propagate_installer-chosen_locale_to_tasksel.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/debian/postinst b/debian/postinst -index 2f35032b..da97a4c7 100755 ---- a/debian/postinst -+++ b/debian/postinst -@@ -158,8 +158,18 @@ fi - if db_get pkgsel/run_tasksel && [ "$RET" = true ]; then - log "starting tasksel" - db_progress INFO pkgsel/progress/tasksel -+ # Propagate installer-chosen locale to tasksel so tests/lang can auto-select l10n -+ db_get debian-installer/locale || true -+ LOCALE="$RET" -+ if [ -n "$LOCALE" ]; then -+ LANG="$LOCALE" -+ NOENC="${LOCALE%%.*}" -+ BASE="${NOENC%%_*}" -+ LANGUAGE="${NOENC}:${BASE}" -+ export LANG LANGUAGE -+ fi - apt-install tasksel # ensure tasksel is installed -- DEBIAN_TASKS_ONLY=1 in-target sh -c "tasksel --new-install --debconf-apt-progress='--from $tasksel_start --to $tasksel_end --logstderr'" || aptfailed -+ DEBIAN_TASKS_ONLY=1 in-target sh -c "LANG='$LANG' LANGUAGE='$LANGUAGE' tasksel --new-install --debconf-apt-progress='--from $tasksel_start --to $tasksel_end --logstderr'" || aptfailed - fi - - if db_get pkgsel/include/install-recommends; then diff --git a/helpers/DATA/plymouth/background.png b/helpers/DATA/plymouth/background.png index c11c419..eace0e4 100644 Binary files a/helpers/DATA/plymouth/background.png and b/helpers/DATA/plymouth/background.png differ diff --git a/helpers/DATA/plymouth/patch_changes/10ac8d2dc927b112ce6aeb06bc73d9c46550954c.patch b/helpers/DATA/plymouth/patch_changes/10ac8d2dc927b112ce6aeb06bc73d9c46550954c.patch deleted file mode 100644 index a9d0f78..0000000 --- a/helpers/DATA/plymouth/patch_changes/10ac8d2dc927b112ce6aeb06bc73d9c46550954c.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 10ac8d2dc927b112ce6aeb06bc73d9c46550954c Mon Sep 17 00:00:00 2001 -From: n3rdopolis -Date: Tue, 6 Feb 2024 18:52:25 -0500 -Subject: [PATCH] ply-boot-splash: Set unbuffered input when creating a text - display - ---- - src/libply-splash-core/ply-boot-splash.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/libply-splash-core/ply-boot-splash.c b/src/libply-splash-core/ply-boot-splash.c -index 12fb6c102..217f455e0 100644 ---- a/src/libply-splash-core/ply-boot-splash.c -+++ b/src/libply-splash-core/ply-boot-splash.c -@@ -173,6 +173,7 @@ ply_boot_splash_add_text_display (ply_boot_splash_t *splash, - ply_text_display_t *display) - { - int number_of_columns, number_of_rows; -+ ply_terminal_t *terminal; - - if (splash->plugin_interface->add_text_display == NULL) - return; -@@ -183,6 +184,11 @@ ply_boot_splash_add_text_display (ply_boot_splash_t *splash, - ply_trace ("adding %dx%d text display", number_of_columns, number_of_rows); - - splash->plugin_interface->add_text_display (splash->plugin, display); -+ -+ terminal = ply_text_display_get_terminal (display); -+ if (terminal) -+ ply_terminal_set_unbuffered_input (terminal); -+ - ply_list_append_data (splash->text_displays, display); - } - --- -GitLab - diff --git a/helpers/DATA/plymouth/script.script b/helpers/DATA/plymouth/script.script index dcce10a..d7149d0 100644 --- a/helpers/DATA/plymouth/script.script +++ b/helpers/DATA/plymouth/script.script @@ -1,85 +1,45 @@ -initialwidth = Window.GetWidth(); - -logofile = "trisquel_logo.png"; +# This is an example plymouth plugin script bits_per_pixel = Window.GetBitsPerPixel (); if (bits_per_pixel == 4) { Window.SetBackgroundColor (0, 0, 0); logo.image = Image("trisquel_logo16.png"); } else { - logo.image = Image(logofile); - logobg.image = Image("trisquel_logo-bg.png"); - bg.image = Image("background.png"); - } + logo.image = Image("special://logo"); + + bg_image = Image("background.png"); + bg_sprite = Sprite(bg_image); -fun init () { customlogo.image = Image("custom.png"); customlogo.sprite = Sprite(customlogo.image); customlogo.sprite.SetX (0); customlogo.sprite.SetY (0); customlogo.sprite.SetOpacity (1); - screen_aspect = Window.GetWidth() / Window.GetHeight(); - bg_width = bg.image.GetWidth(); - bg_height = bg.image.GetHeight(); - bg_aspect = bg_width / bg_height; + screen_width = Window.GetWidth(); + screen_height = Window.GetHeight(); + resized_bg_image = bg_image.Scale(screen_width, screen_height); + bg_sprite.SetImage(resized_bg_image); +} - if (bg_aspect > screen_aspect) { - scale_factor = Window.GetHeight() / bg_height; - } else { - scale_factor = Window.GetWidth() / bg_width; - } - new_width = bg_width * scale_factor; - new_height = bg_height * scale_factor; - scaled_bg_img = bg.image.Scale(new_width, new_height); - - crop_x = (new_width - Window.GetWidth()) / 2; - crop_y = (new_height - Window.GetHeight()) / 2; - - resized_bg_img = scaled_bg_img.Crop(crop_x, crop_y, Window.GetWidth(), Window.GetHeight()); - - bg.sprite = Sprite(bg.image); - bg.sprite.SetImage(resized_bg_img); - - logoscale = 1.2; - resized_logo_image = logo.image.Scale(Window.GetHeight() / logoscale, Window.GetHeight() / logoscale); - logo.sprite = Sprite(resized_logo_image); - logo.opacity_angle = 0; - logo.sprite.SetX (Window.GetWidth() / 2 - resized_logo_image.GetWidth() / 2); - logo.sprite.SetY (Window.GetHeight() / 2.3 - resized_logo_image.GetHeight() / 2); - logo.sprite.SetOpacity (1); - - resized_logobg_image = logobg.image.Scale(Window.GetHeight() / logoscale, Window.GetHeight() / logoscale); - logobg.sprite = Sprite(resized_logobg_image); - logobg.sprite.SetX (Window.GetWidth() / 2 - resized_logobg_image.GetWidth() / 2); - logobg.sprite.SetY (Window.GetHeight() / 2.3 - resized_logobg_image.GetHeight() / 2); - if (logofile == "trisquel_logo.png") - logobg.sprite.SetOpacity (1); - } - - if (bits_per_pixel != 4) - init(); +resized_logo_image = logo.image.Scale(screen_height / 3, screen_height / 3); +logo.sprite = Sprite(resized_logo_image); +logo.opacity_angle = 0; +logo.sprite.SetX (Window.GetX() + Window.GetWidth() / 2 - resized_logo_image.GetWidth() / 2); +logo.sprite.SetY (Window.GetY() + (Window.GetHeight() / 2) - resized_logo_image.GetHeight() / 2); +logo.sprite.SetOpacity (1); fun refresh_callback () { if ((status == "normal") && (bits_per_pixel != 4)) - { - if (initialwidth != Window.GetWidth()) - { - initialwidth = Window.GetWidth(); - logo.sprite.SetOpacity (0); - logobg.sprite.SetOpacity (0); - init(); - } + { logo.opacity_angle += ((2 * 3.14) / 50) * 0.25; # 0.25 HZ - min_opacity = 0.25; + min_opacity = 0.3; opacity = (Math.Cos(logo.opacity_angle) + 1) / 2; opacity *= 1 - min_opacity; opacity += min_opacity; logo.sprite.SetOpacity (opacity); - if (logofile == "trisquel_logo.png") - logobg.sprite.SetOpacity (1); } } @@ -91,7 +51,6 @@ status = "normal"; fun dialog_setup() { - dialog_opacity (1); local.box; local.lock; local.entry; @@ -107,13 +66,13 @@ fun dialog_setup() box.sprite.SetPosition(box.x, box.y, box.z); lock.sprite = Sprite(lock.image); - lock.x = box.x - 10 + box.image.GetWidth()/2 - (lock.image.GetWidth() + entry.image.GetWidth()) / 2; + lock.x = box.x + box.image.GetWidth()/2 - (lock.image.GetWidth() + entry.image.GetWidth()) / 2; lock.y = box.y + box.image.GetHeight()/2 - lock.image.GetHeight()/2; lock.z = box.z + 1; lock.sprite.SetPosition(lock.x, lock.y, lock.z); entry.sprite = Sprite(entry.image); - entry.x = lock.x + lock.image.GetWidth() + 10; + entry.x = lock.x + lock.image.GetWidth(); entry.y = box.y + box.image.GetHeight()/2 - entry.image.GetHeight()/2; entry.z = box.z + 1; entry.sprite.SetPosition(entry.x, entry.y, entry.z); @@ -122,12 +81,12 @@ fun dialog_setup() global.dialog.lock = lock; global.dialog.entry = entry; global.dialog.bullet_image = Image("bullet.png"); + dialog_opacity (1); } fun dialog_opacity(opacity) { logo.sprite.SetOpacity (0); - logobg.sprite.SetOpacity (0); dialog.box.sprite.SetOpacity (opacity); dialog.lock.sprite.SetOpacity (opacity); dialog.entry.sprite.SetOpacity (opacity); @@ -140,7 +99,6 @@ fun dialog_opacity(opacity) fun display_normal_callback () { global.status = "normal"; - logo.opacity_angle = 0; if (global.dialog) dialog_opacity (0); } @@ -152,12 +110,12 @@ fun display_password_callback (prompt, bullets) dialog_setup(); else dialog_opacity(1); - for (index = 0; dialog.bullet[index] || index < 27; index++) + for (index = 0; dialog.bullet[index] || index < bullets; index++) { if (!dialog.bullet[index]) { dialog.bullet[index].sprite = Sprite(dialog.bullet_image); - dialog.bullet[index].x = dialog.entry.x + index * dialog.bullet_image.GetWidth() + 5; + dialog.bullet[index].x = dialog.entry.x + index * dialog.bullet_image.GetWidth(); dialog.bullet[index].y = dialog.entry.y + dialog.entry.image.GetHeight() / 2 - dialog.bullet_image.GetHeight() / 2; dialog.bullet[index].z = dialog.entry.z + 1; dialog.bullet[index].sprite.SetPosition(dialog.bullet[index].x, dialog.bullet[index].y, dialog.bullet[index].z); @@ -177,7 +135,6 @@ Plymouth.SetDisplayPasswordFunction(display_password_callback); fun quit_callback () { logo.sprite.SetOpacity (1); - logobg.sprite.SetOpacity (1); } Plymouth.SetQuitFunction(quit_callback); @@ -186,44 +143,11 @@ Plymouth.SetQuitFunction(quit_callback); message_sprite = Sprite(); message_sprite.SetPosition(10, 10, 10000); -message2_sprite = Sprite(); -message2_sprite.SetPosition(10, 10, 10000); -textbg_sprite = Sprite(); fun message_callback (text) { - my_image = Image.Text(text, 0, 0, 0); - - # scale proportionally to vertical resolution - scaling = 1; - if (Window.GetHeight() > 720) - scaling = Window.GetHeight() / 720; - # but no bigger than screen width - if ((my_image.GetWidth() * scaling) > Window.GetWidth() - 40) - scaling = Window.GetWidth() / (my_image.GetWidth() + 40); - message_sprite.SetImage(my_image.Scale(my_image.GetWidth() * scaling, my_image.GetHeight() * scaling)); - message_x = (Window.GetX() + Window.GetWidth() / 2 - my_image.GetWidth() * scaling / 2); - message_y = (Window.GetY() + Window.GetHeight() / 1.4 - my_image.GetHeight() / 2); - message_z = 10001; - - ## debug text - #my_image2 = Image.Text(message_x, 0, 0, 0); - #message2_sprite.SetImage(my_image2); - - textbg_img = Image("entry.png"); - textbg_scaled = textbg_img.Scale(my_image.GetWidth() * scaling + 16, my_image.GetHeight() * scaling + 10); - - textbg_sprite.SetImage(textbg_scaled); - textbg_x = (Window.GetX() + Window.GetWidth() / 2 - my_image.GetWidth() * scaling / 2); - textbg_y = (Window.GetY() + Window.GetHeight() / 1.4 - my_image.GetHeight() / 2); - textbg_sprite.SetOpacity(0.8); - if (my_image.GetWidth() == 0) - textbg_sprite.SetOpacity(0); - textbg_z = 10000; - - textbg_sprite.SetPosition(textbg_x, textbg_y, textbg_z); - message_sprite.SetPosition(message_x + 8, message_y + 5, message_z); - + my_image = Image.Text(text, 1, 1, 1); + message_sprite.SetImage(my_image); } Plymouth.SetMessageFunction(message_callback); diff --git a/helpers/DATA/plymouth/sugar.png b/helpers/DATA/plymouth/sugar.png index a8be6e6..734d4b1 100644 Binary files a/helpers/DATA/plymouth/sugar.png and b/helpers/DATA/plymouth/sugar.png differ diff --git a/helpers/DATA/plymouth/trisquel_logo-bg.png b/helpers/DATA/plymouth/trisquel_logo-bg.png deleted file mode 100644 index ef96c80..0000000 Binary files a/helpers/DATA/plymouth/trisquel_logo-bg.png and /dev/null differ diff --git a/helpers/DATA/plymouth/trisquel_logo.png b/helpers/DATA/plymouth/trisquel_logo.png index 857d152..9c1ecea 100644 Binary files a/helpers/DATA/plymouth/trisquel_logo.png and b/helpers/DATA/plymouth/trisquel_logo.png differ diff --git a/helpers/DATA/plymouth/trisquel_logo16.png b/helpers/DATA/plymouth/trisquel_logo16.png index a11da14..14303c5 100644 Binary files a/helpers/DATA/plymouth/trisquel_logo16.png and b/helpers/DATA/plymouth/trisquel_logo16.png differ diff --git a/helpers/DATA/postgresql-common/supported-versions-trisquel.patch b/helpers/DATA/postgresql-common/supported-versions-trisquel.patch index 0ef32e0..ce88977 100644 --- a/helpers/DATA/postgresql-common/supported-versions-trisquel.patch +++ b/helpers/DATA/postgresql-common/supported-versions-trisquel.patch @@ -1,54 +1,52 @@ -diff --git a/debian/supported-versions b/tmp/supported-versions -index 9edb220..6d16f58 100755 ---- a/debian/supported-versions -+++ b/debian/supported-versions -@@ -48,6 +48,9 @@ DEFAULT="16" +--- debian/supported-versions.orig 2016-03-29 04:53:13.000000000 -0400 ++++ debian/supported-versions 2017-02-10 14:20:08.503521825 -0500 +@@ -55,9 +55,12 @@ + default() { - . /etc/os-release - case "$ID" in + case "$DISTRO" in + [tT]risquel) -+ trisquel ++ trisquel "$RELEASE" + ;; [uU]buntu) - ubuntu + ubuntu "$RELEASE" ;; -@@ -56,7 +59,10 @@ default() { + [dD]ebian) + debian "$RELEASE" + ;; +@@ -76,6 +82,36 @@ ;; - *) - echo "supported-versions: WARNING! Unknown distribution ID in /etc/os-release: $ID" >&2 -- if echo $ID_LIKE | grep -E '(^| )ubuntu($| )' > /dev/null; then -+ if echo $ID_LIKE | grep -E '(^| )trisquel($| )' > /dev/null; then -+ echo "trisqueln found in ID_LIKE, treating as Trisquel" >&2 -+ trisquel -+ elif echo $ID_LIKE | grep -E '(^| )ubuntu($| )' > /dev/null; then - echo "ubuntu found in ID_LIKE, treating as Ubuntu" >&2 - ubuntu - elif echo $ID_LIKE | grep -E '(^| )debian($| )' > /dev/null; then -@@ -76,6 +76,27 @@ default() { esac } - ++ +trisquel() { + case "$1" in ++ 4.0*) # Taranis ++ /bin/echo -e "8.4" ++ ;; ++ 6.0*) # Toutatis ++ /bin/echo -e "9.1" ++ ;; ++ 7.0*) # Belenos ++ /bin/echo -e "9.3" ++ ;; ++ 8.0*) # Flidas ++ /bin/echo -e "9.5" ++ ;; ++ 9.0*) # Etiona ++ /bin/echo -e "10" ++ ;; + 10.0*) # Nabia + /bin/echo -e "12" + ;; + 11.0*) # Aramo + /bin/echo -e "14" + ;; -+ 12.0*) # Ecne -+ /bin/echo -e "16" -+ ;; + *) + echo "supported_versions: WARNING: Unknown Trisquel release: $1" >&2 + /bin/echo -e "$DEFAULT" + ;; + esac +} -+ -+trisquel() { -+ echo "$DEFAULT" -+} + ubuntu() { - echo "$DEFAULT" - } + case "$1" in diff --git a/helpers/DATA/psensor/fix-ftbfs-debian-patch.patch b/helpers/DATA/psensor/fix-ftbfs-debian-patch.patch new file mode 100644 index 0000000..61e4bf4 --- /dev/null +++ b/helpers/DATA/psensor/fix-ftbfs-debian-patch.patch @@ -0,0 +1,32 @@ +diff -Nru psensor-1.1.5/debian/patches/fix-ftbfs.patch psensor-1.1.5/debian/patches/fix-ftbfs.patch +--- psensor-1.1.5/debian/patches/fix-ftbfs.patch 1970-01-01 01:00:00.000000000 +0100 ++++ psensor-1.1.5/debian/patches/fix-ftbfs.patch 2022-09-02 23:32:48.000000000 +0100 +@@ -0,0 +1,20 @@ ++Description: Fix FTBFS with gcc-11 ++ Fix the indentation while keeping the logic same as before. ++ ++Author: Sudip Mukherjee ++--- ++ ++Bug-Debian: https://bugs.debian.org/984298 ++Forwarded: no ++ ++--- psensor-1.1.5.orig/src/lib/pudisks2.c +++++ psensor-1.1.5/src/lib/pudisks2.c ++@@ -83,7 +83,7 @@ static void smart_update(struct psensor ++ PROVIDER_NAME, ++ data->path); ++ ++- data->last_smart_update = t; +++ data->last_smart_update = t; ++ } ++ ++ void udisks2_psensor_list_update(struct psensor **sensors) +diff -Nru psensor-1.1.5/debian/patches/series psensor-1.1.5/debian/patches/series +--- psensor-1.1.5/debian/patches/series 2021-02-06 19:50:55.000000000 +0000 ++++ psensor-1.1.5/debian/patches/series 2022-09-02 23:33:02.000000000 +0100 +@@ -1,3 +1,4 @@ + 0001-Update-rsensor.c-drop-is_error-macro-definition.patch + 14.patch + ayatana-appindicator.patch ++fix-ftbfs.patch diff --git a/helpers/DATA/pygame/01_update_surface_test.patch b/helpers/DATA/pygame/01_update_surface_test.patch new file mode 100644 index 0000000..a587991 --- /dev/null +++ b/helpers/DATA/pygame/01_update_surface_test.patch @@ -0,0 +1,22 @@ +diff --git a/test/surface_test.py b/test/surface_test.py +index 4323503..1c161ad 100644 +--- a/test/surface_test.py ++++ b/test/surface_test.py +#@@ -1481,7 +1481,7 @@ class GeneralSurfaceTests(AssertRaisesRegexMixin, unittest.TestCase): +# self.assertEqual(results, results_expected) +# +# @unittest.skipIf( +#- "arm" in platform.machine() or "aarch64" in platform.machine() or "mips" in platform.machine() or "ppc64le" in platform.machine() or "s390x" in platform.machine(), +#+ "arm" in platform.machine() or "aarch64" in platform.machine() or "mips" in platform.machine() or "ppc64le" in platform.machine() or "s390x" in platform.machine() or "riscv64" in platform.machine(), +# "sdl2 blitter produces different results on arm", +# ) +# def test_src_alpha_sdl2_blitter(self): +@@ -2013,7 +2013,7 @@ class GeneralSurfaceTests(AssertRaisesRegexMixin, unittest.TestCase): + mask8 = (224, 28, 3, 0) + mask15 = (31744, 992, 31, 0) + mask16 = (63488, 2016, 31, 0) +- mask24 = (4278190080, 16711680, 65280, 0) ++ mask24 = (16711680, 65280, 255, 0) + mask32 = (4278190080, 16711680, 65280, 255) + + # Surfaces with standard depths and masks diff --git a/helpers/DATA/pygame/02_c105540bb10df5d29a101f593f2a3801c1fa0799.patch b/helpers/DATA/pygame/02_c105540bb10df5d29a101f593f2a3801c1fa0799.patch new file mode 100644 index 0000000..1c47b70 --- /dev/null +++ b/helpers/DATA/pygame/02_c105540bb10df5d29a101f593f2a3801c1fa0799.patch @@ -0,0 +1,26 @@ +From c105540bb10df5d29a101f593f2a3801c1fa0799 Mon Sep 17 00:00:00 2001 +From: gernot steinegger +Date: Sun, 9 Jan 2022 13:01:25 +0100 +Subject: [PATCH] "SDL_CreateWindowFrom" in "display" module + +if the environment variable "SDL_WINDOWID" is set, use "SDL_CreateWindowFrom" to create the window in "display.set_mode" +--- + src_c/display.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src_c/display.c b/src_c/display.c +index d37c29765a..26f07f77e9 100644 +--- a/src_c/display.c ++++ b/src_c/display.c +@@ -1096,7 +1096,10 @@ pg_set_mode(PyObject *self, PyObject *arg, PyObject *kwds) + + if (!win) { + /*open window*/ +- win = SDL_CreateWindow(title, x, y, w_1, h_1, sdl_flags); ++ const char *window_handle = SDL_getenv("SDL_WINDOWID"); ++ win = window_handle ++ ? SDL_CreateWindowFrom((const void*)atoll(window_handle)) ++ : SDL_CreateWindow(title, x, y, w_1, h_1, sdl_flags); + if (!win) + return RAISE(pgExc_SDLError, SDL_GetError()); + init_flip = 1; diff --git a/helpers/DATA/python-apt/parse-mirror-masterlist.py b/helpers/DATA/python-apt/parse-mirror-masterlist.py index f21a218..6867e53 100644 --- a/helpers/DATA/python-apt/parse-mirror-masterlist.py +++ b/helpers/DATA/python-apt/parse-mirror-masterlist.py @@ -32,13 +32,9 @@ parser.add_argument( help="Filter by country (e.g., AU, BR, CA)", default=None) parser.add_argument( - "--mirmon-https", + "--mirmon", action="store_true", - help="List https mirrors suitable for mirmon output") -parser.add_argument( - "--mirmon-http", - action="store_true", - help="List http mirrors suitable for mirmon output") + help="List mirrors suitable for mirmon output") args = parser.parse_args() with open(args.file, 'r') as file: @@ -76,20 +72,14 @@ for block in blocks: mirrors[country][site] = {"https": https_urls, "http": http_urls} # Print mirmon output if selected -if args.mirmon_https: +if args.mirmon: for country, sites in sorted(mirrors.items()): if args.country and country != args.country: continue for site, urls in sites.items(): if urls["https"]: print(f"{country.lower()} {urls['https'][0]}") - exit(0) -if args.mirmon_http: - for country, sites in sorted(mirrors.items()): - if args.country and country != args.country: - continue - for site, urls in sites.items(): - if urls["http"]: + elif urls["http"]: print(f"{country.lower()} {urls['http'][0]}") exit(0) diff --git a/helpers/DATA/python-apt/patch_changes/000-add_cmxsl_mirror.patch b/helpers/DATA/python-apt/patch_changes/000-add_cmxsl_mirror.patch deleted file mode 100644 index 424fa1f..0000000 --- a/helpers/DATA/python-apt/patch_changes/000-add_cmxsl_mirror.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/data/templates/Trisquel.mirrors b/data/templates/Trisquel.mirrors -index b6c391e..e4b0bca 100644 ---- a/data/templates/Trisquel.mirrors -+++ b/data/templates/Trisquel.mirrors -@@ -22,6 +22,9 @@ https://quantum-mirror.hu/mirrors/pub/trisquel/packages/ - http://quantum-mirror.hu/mirrors/pub/trisquel/packages/ - #LOC:JP - https://repo.jing.rocks/trisquel/ -+#LOC:MX -+https://mirror.cmxsl.org/trisquel/ -+http://mirror.cmxsl.org/trisquel/ - #LOC:SE - https://ftp.acc.umu.se/mirror/trisquel/packages/ - http://ftp.acc.umu.se/mirror/trisquel/packages/ diff --git a/helpers/DATA/python-apt/patch_changes/pep440.patch b/helpers/DATA/python-apt/patch_changes/pep440.patch deleted file mode 100644 index ac50a64..0000000 --- a/helpers/DATA/python-apt/patch_changes/pep440.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/setup.py b/setup.py -index 9648d871..a63a2c66 100644 ---- a/setup.py -+++ b/setup.py -@@ -6,6 +6,7 @@ import os - import shutil - import subprocess - import sys -+import re - - from setuptools import Extension, setup - from setuptools.command.install import install -@@ -64,6 +64,10 @@ def get_version(): - version = version.replace("tanglu", "+tanglu") - version = version.split("build")[0] - -+ # Trisquel-style suffix: "3.1.0trisquel12" -> "3.1.0+trisquel12" (PEP 440 local) -+ if "+" not in version: -+ version = re.sub(r"(?<=\d)([A-Za-z])", r"+\1", version, count=1) -+ - return version - - diff --git a/helpers/DATA/python-virtualenv/rm_python-pip_dependency.patch b/helpers/DATA/python-virtualenv/rm_python-pip_dependency.patch new file mode 100644 index 0000000..d555bb8 --- /dev/null +++ b/helpers/DATA/python-virtualenv/rm_python-pip_dependency.patch @@ -0,0 +1,24 @@ +diff --git a/debian/control b/debian/control_ +index 75143e1..e88cd28 100644 +--- a/debian/control ++++ b/debian/control_ +@@ -18,8 +18,6 @@ Build-Depends-Indep: python3-distlib (>= 0.3.1), + python3-distutils, + python3-filelock, + python3-importlib-metadata (>= 3.6), +- python3-pip, +- python3-pip-whl, + python3-platformdirs, + python3-setuptools, + python3-setuptools-scm, +@@ -31,9 +29,7 @@ Rules-Requires-Root: no + + Package: python3-virtualenv + Architecture: all +-Depends: python3-pip (>= 20.1-1~), +- python3-pip-whl, +- python3-setuptools-whl, ++Depends: python3-setuptools-whl, + python3-wheel-whl, + ${misc:Depends}, + ${python3:Depends}, diff --git a/helpers/DATA/reprepro/ddeb.patch b/helpers/DATA/reprepro/ddeb.patch index c6c4e49..85e2398 100644 --- a/helpers/DATA/reprepro/ddeb.patch +++ b/helpers/DATA/reprepro/ddeb.patch @@ -1,12 +1,12 @@ -diff -ru a/atoms.c b/atoms.c ---- a/atoms.c 2016-12-23 19:11:30.000000000 -0500 -+++ b/atoms.c 2020-11-01 16:33:38.182181608 -0500 +diff -ru reprepro.orig/source/atoms.c reprepro/source/atoms.c +--- reprepro.orig/source/atoms.c 2016-12-23 19:11:30.000000000 -0500 ++++ reprepro/source/atoms.c 2020-11-01 16:33:38.182181608 -0500 @@ -26,7 +26,7 @@ const char **atoms_architectures; const char **atoms_components; --static const char * const packagetypes[4] = { "!!NONE!!", "dsc", "deb", "udeb" }; -+static const char * const packagetypes[5] = { "!!NONE!!", "dsc", "deb", "udeb", "ddeb" }; +-const char * const packagetypes[4] = { "!!NONE!!", "dsc", "deb", "udeb" }; ++const char * const packagetypes[5] = { "!!NONE!!", "dsc", "deb", "udeb", "ddeb" }; const char **atoms_packagetypes = (const char **)&packagetypes; const char **atoms_commands; static int command_count; @@ -34,9 +34,9 @@ diff -ru a/atoms.c b/atoms.c return atom_unknown; } -diff -ru a/atoms.h b/atoms.h ---- a/atoms.h 2016-12-23 19:11:30.000000000 -0500 -+++ b/atoms.h 2020-11-01 16:33:38.182181608 -0500 +diff -ru reprepro.orig/source/atoms.h reprepro/source/atoms.h +--- reprepro.orig/source/atoms.h 2016-12-23 19:11:30.000000000 -0500 ++++ reprepro/source/atoms.h 2020-11-01 16:33:38.182181608 -0500 @@ -19,6 +19,7 @@ #define pt_dsc ((packagetype_t)1) #define pt_deb ((packagetype_t)2) @@ -45,9 +45,9 @@ diff -ru a/atoms.h b/atoms.h #define atom_defined(a) ((a) > (atom_t)0) -diff -ru a/changes.c b/changes.c ---- a/changes.c 2016-12-23 19:11:30.000000000 -0500 -+++ b/changes.c 2020-11-01 16:33:38.182181608 -0500 +diff -ru reprepro.orig/source/changes.c reprepro/source/changes.c +--- reprepro.orig/source/changes.c 2016-12-23 19:11:30.000000000 -0500 ++++ reprepro/source/changes.c 2020-11-01 16:33:38.182181608 -0500 @@ -164,6 +164,8 @@ if (l >= 4 && memcmp(p-4, ".deb", 4) == 0) @@ -76,8 +76,8 @@ diff -ru a/changes.c b/changes.c /* if it uses a known compression, things are easy, diff -ru source.or/changes.h source/changes.h ---- a/changes.h 2018-09-09 01:17:15.000000000 -0400 -+++ b/changes.h 2022-03-08 19:52:49.495104016 -0500 +--- reprepro.orig/source/changes.h 2018-09-09 01:17:15.000000000 -0400 ++++ reprepro/source/changes.h 2022-03-08 19:52:49.495104016 -0500 @@ -7,7 +7,7 @@ typedef enum { @@ -98,9 +98,9 @@ diff -ru source.or/changes.h source/changes.h #define FE_SOURCE(ft) ((ft) == fe_DIFF || (ft) == fe_ORIG || (ft) == fe_TAR || (ft) == fe_DSC || (ft) == fe_UNKNOWN || (ft) == fe_ALTSRC || (ft) == fe_SIG) struct hash_data; -diff -ru a/checkin.c b/checkin.c ---- a/checkin.c 2016-12-28 10:03:44.000000000 -0500 -+++ b/checkin.c 2020-11-01 16:33:38.182181608 -0500 +diff -ru reprepro.orig/source/checkin.c reprepro/source/checkin.c +--- reprepro.orig/source/checkin.c 2016-12-28 10:03:44.000000000 -0500 ++++ reprepro/source/checkin.c 2020-11-01 16:33:38.182181608 -0500 @@ -207,6 +207,11 @@ *ignoredlines_p = true; return RET_NOTHING; @@ -145,9 +145,9 @@ diff -ru a/checkin.c b/checkin.c } else if (e->type == fe_UDEB) { r = deb_addprepared(e->pkg.deb, /* architecture all needs this, the rest is -diff -ru a/checkindeb.c b/checkindeb.c ---- a/checkindeb.c 2016-12-28 10:13:15.000000000 -0500 -+++ b/checkindeb.c 2020-11-01 16:33:38.182181608 -0500 +diff -ru reprepro.orig/source/checkindeb.c reprepro/source/checkindeb.c +--- reprepro.orig/source/checkindeb.c 2016-12-28 10:13:15.000000000 -0500 ++++ reprepro/source/checkindeb.c 2020-11-01 16:33:38.182181608 -0500 @@ -105,7 +105,13 @@ const struct overridedata *oinfo; retvalue r; @@ -223,9 +223,9 @@ diff -ru a/checkindeb.c b/checkindeb.c !IGNORING(surprisingbinary, "'%s' has packagename '%s' not listed in the .changes file!\n", debfilename, packagenametocheck)) { -diff -ru a/contents.c b/contents.c ---- a/contents.c 2016-12-23 19:11:30.000000000 -0500 -+++ b/contents.c 2020-11-01 16:33:38.182181608 -0500 +diff -ru reprepro.orig/source/contents.c reprepro/source/contents.c +--- reprepro.orig/source/contents.c 2016-12-23 19:11:30.000000000 -0500 ++++ reprepro/source/contents.c 2020-11-01 16:33:38.182181608 -0500 @@ -43,6 +43,7 @@ cf_uncompressed, cf_gz, cf_bz2, cf_xz, cf_percomponent, cf_allcomponents, @@ -352,9 +352,9 @@ diff -ru a/contents.c b/contents.c } return result; } -diff -ru a/contents.h b/contents.h ---- a/contents.h 2016-12-23 19:11:30.000000000 -0500 -+++ b/contents.h 2020-11-01 16:33:38.182181608 -0500 +diff -ru reprepro.orig/source/contents.h reprepro/source/contents.h +--- reprepro.orig/source/contents.h 2016-12-23 19:11:30.000000000 -0500 ++++ reprepro/source/contents.h 2020-11-01 16:33:38.182181608 -0500 @@ -19,6 +19,7 @@ bool percomponent; bool allcomponents; @@ -363,9 +363,9 @@ diff -ru a/contents.h b/contents.h } flags; compressionset compressions; }; -diff -ru a/copypackages.c b/copypackages.c ---- a/copypackages.c 2016-12-23 19:11:30.000000000 -0500 -+++ b/copypackages.c 2020-11-01 16:33:38.182181608 -0500 +diff -ru reprepro.orig/source/copypackages.c reprepro/source/copypackages.c +--- reprepro.orig/source/copypackages.c 2016-12-23 19:11:30.000000000 -0500 ++++ reprepro/source/copypackages.c 2020-11-01 16:33:38.182181608 -0500 @@ -779,7 +779,14 @@ into->codename, atoms_architectures[architecture]); @@ -382,9 +382,9 @@ diff -ru a/copypackages.c b/copypackages.c if (!atomlist_in(&into->components, component)) { fprintf(stderr, "Distribution '%s' does not contain component '%s!'\n", -diff -ru a/distribution.c b/distribution.c ---- a/distribution.c 2016-12-23 19:11:30.000000000 -0500 -+++ b/distribution.c 2020-11-01 16:33:38.182181608 -0500 +diff -ru reprepro.orig/source/distribution.c reprepro/source/distribution.c +--- reprepro.orig/source/distribution.c 2016-12-23 19:11:30.000000000 -0500 ++++ reprepro/source/distribution.c 2020-11-01 16:33:38.182181608 -0500 @@ -69,8 +69,10 @@ exportmode_done(&distribution->dsc); exportmode_done(&distribution->deb); @@ -491,9 +491,9 @@ diff -ru a/distribution.c b/distribution.c CF("DebIndices", distribution, deb), CF("DebOverride", distribution, deb_override), CF("Description", distribution, description), -diff -ru a/distribution.h b/distribution.h ---- a/distribution.h 2016-12-23 19:11:30.000000000 -0500 -+++ b/distribution.h 2020-11-01 16:33:38.182181608 -0500 +diff -ru reprepro.orig/source/distribution.h reprepro/source/distribution.h +--- reprepro.orig/source/distribution.h 2016-12-23 19:11:30.000000000 -0500 ++++ reprepro/source/distribution.h 2020-11-01 16:33:38.182181608 -0500 @@ -63,8 +63,10 @@ /* the list of components containing a debian-installer dir, * normally only "main" */ @@ -521,9 +521,9 @@ diff -ru a/distribution.h b/distribution.h udebcomponents_set; /* A list of all targets contained in the distribution*/ struct target *targets; -diff -ru a/incoming.c b/incoming.c ---- a/incoming.c 2016-12-28 10:10:28.000000000 -0500 -+++ b/incoming.c 2020-11-01 16:33:38.182181608 -0500 +diff -ru reprepro.orig/source/incoming.c reprepro/source/incoming.c +--- reprepro.orig/source/incoming.c 2016-12-28 10:10:28.000000000 -0500 ++++ reprepro/source/incoming.c 2020-11-01 16:33:38.182181608 -0500 @@ -1264,9 +1264,13 @@ assert (file == package->master); if (file->type == fe_DEB) @@ -563,9 +563,9 @@ diff -ru a/incoming.c b/incoming.c r = prepare_deb(i, c, d, file); break; case fe_DSC: -diff -ru a/main.c b/main.c ---- a/main.c 2016-12-28 10:02:44.000000000 -0500 -+++ b/main.c 2020-11-01 16:35:21.842197208 -0500 +diff -ru reprepro.orig/source/main.c reprepro/source/main.c +--- reprepro.orig/source/main.c 2016-12-28 10:02:44.000000000 -0500 ++++ reprepro/source/main.c 2020-11-01 16:35:21.842197208 -0500 @@ -2512,7 +2512,9 @@ retvalue result, r; @@ -647,9 +647,9 @@ diff -ru a/main.c b/main.c " includeudeb <.udeb-file>\n" " Include the given installer binary package.\n" " includedsc <.dsc-file>\n" -diff -ru a/target.c b/target.c ---- a/target.c 2016-12-23 19:11:30.000000000 -0500 -+++ b/target.c 2020-11-01 16:33:38.186181609 -0500 +diff -ru reprepro.orig/source/target.c reprepro/source/target.c +--- reprepro.orig/source/target.c 2016-12-23 19:11:30.000000000 -0500 ++++ reprepro/source/target.c 2020-11-01 16:33:38.186181609 -0500 @@ -53,6 +53,10 @@ return mprintf("u|%s|%s|%s", codename, atoms_components[component], @@ -687,9 +687,9 @@ diff -ru a/target.c b/target.c exportmode, readonly, noexport, target); } retvalue target_initialize_binary(struct distribution *d, component_t component, architecture_t architecture, const struct exportmode *exportmode, bool readonly, bool noexport, const char *fakecomponentprefix, struct target **target) { -diff -ru a/target.h b/target.h ---- a/target.h 2016-12-23 19:11:30.000000000 -0500 -+++ b/target.h 2020-11-01 16:33:38.186181609 -0500 +diff -ru reprepro.orig/source/target.h reprepro/source/target.h +--- reprepro.orig/source/target.h 2016-12-23 19:11:30.000000000 -0500 ++++ reprepro/source/target.h 2020-11-01 16:33:38.186181609 -0500 @@ -76,6 +76,7 @@ }; @@ -698,9 +698,9 @@ diff -ru a/target.h b/target.h retvalue target_initialize_binary(/*@dependant@*/struct distribution *, component_t, architecture_t, /*@dependent@*/const struct exportmode *, bool /*readonly*/, bool /*noexport*/, /*@NULL@*/const char *fakecomponentprefix, /*@out@*/struct target **); retvalue target_initialize_source(/*@dependant@*/struct distribution *, component_t, /*@dependent@*/const struct exportmode *, bool /*readonly*/, bool /*noexport*/, /*@NULL@*/const char *fakecomponentprefix, /*@out@*/struct target **); retvalue target_free(struct target *); -diff -ru a/tests/genpackage.sh b/tests/genpackage.sh ---- a/tests/genpackage.sh 2016-12-23 19:11:30.000000000 -0500 -+++ b/tests/genpackage.sh 2020-11-01 16:33:38.186181609 -0500 +diff -ru reprepro.orig/source/tests/genpackage.sh reprepro/source/tests/genpackage.sh +--- reprepro.orig/source/tests/genpackage.sh 2016-12-23 19:11:30.000000000 -0500 ++++ reprepro/source/tests/genpackage.sh 2020-11-01 16:33:38.186181609 -0500 @@ -9,6 +9,8 @@ fi diff --git a/helpers/DATA/ring/ffmpeg_time_base_frame.patch b/helpers/DATA/ring/ffmpeg_time_base_frame.patch new file mode 100644 index 0000000..831d128 --- /dev/null +++ b/helpers/DATA/ring/ffmpeg_time_base_frame.patch @@ -0,0 +1,27 @@ +From b7dd425660c420466d951f09e3c67e9d5f9eec90 Mon Sep 17 00:00:00 2001 +From: Aline Gondim Santos +Date: Wed, 5 Oct 2022 10:19:27 -0300 +Subject: [PATCH] misc: set frame time_base when decoding + +To properly get the time_base and framerate in the plugins, +we need to set the frame properties when decoding. + +GitLab: https://git.jami.net/savoirfairelinux/jami-plugins/-/issues/23 + +Change-Id: I69a2235c46b13a15414c4d01821cc1eba5b73987 +--- + src/media/media_decoder.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/daemon/src/media/media_decoder.cpp b/daemon/src/media/media_decoder.cpp +index 7cba58abe63..cd1698a5048 100644 +--- a/daemon/src/media/media_decoder.cpp ++++ b/daemon/src/media/media_decoder.cpp +@@ -644,6 +644,7 @@ MediaDecoder::decode(AVPacket& packet) + #endif + auto frame = f->pointer(); + ret = avcodec_receive_frame(decoderCtx_, frame); ++ frame->time_base = decoderCtx_->time_base; + if (resolutionChangedCallback_) { + if (decoderCtx_->width != width_ or decoderCtx_->height != height_) { + JAMI_DBG("Resolution changed from %dx%d to %dx%d", diff --git a/helpers/DATA/rpl b/helpers/DATA/rpl index 262057e..8da0013 100755 --- a/helpers/DATA/rpl +++ b/helpers/DATA/rpl @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/python2.7 import optparse, sys, os, tempfile, re try: import readline @@ -6,7 +6,7 @@ except ImportError: pass from stat import * def show_license(*eat): - print("""rpl - replace strings in files + print """rpl - replace strings in files Copyright (C) 2004-2005 Goran Weinholt Copyright (C) 2004 Christian Haggstrom @@ -23,7 +23,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -""") +""" sys.exit(0) def get_files(filenames, recurse, suffixen, verbose, hidden_files): @@ -31,7 +31,7 @@ def get_files(filenames, recurse, suffixen, verbose, hidden_files): for filename in filenames: try: perms = os.lstat(filename) - except OSError as e: + except OSError, e: sys.stderr.write("\nrpl: Unable to read permissions of %s." % filename) sys.stderr.write("\nrpl: Error: %s" % e) @@ -71,43 +71,26 @@ def unescape(s): regex = re.compile(r'\\([0-7]{1,3}|x[0-9a-fA-F]{2}|[nrtvafb\\])') return regex.sub(lambda match: eval('"%s"' % match.group()), s) +def blockrepl(instream, outstream, regex, before, after, blocksize=None): + patlen = len(before) + sum = 0 + if not blocksize: blocksize = 2*patlen + tonext = '' + while 1: + block = instream.read(blocksize) + if not block: break + parts = regex.split(tonext+block) + sum += len(parts)-1 + lastpart = parts[-1] + if lastpart: + tonext = lastpart[-patlen:] + parts[-1] = lastpart[:-len(tonext)] + else: + tonext = '' + outstream.write(after.join(parts)) + outstream.write(tonext) + return sum -def blockrepl(instream, outstream, regex, before, after, blocksize=None, encoding="latin-1"): - """ - Read blocks as bytes, decode, regex-replace, re-encode, write. - Keeps python2 behavior but avoids str/bytes errors on python3. - """ - patlen = len(before) - if blocksize is None: - blocksize = 2 * patlen if patlen else 4096 - - matches = 0 - carry = "" # tail carried to the next block, as str - - while True: - chunk = instream.read(blocksize) - if not chunk: - break - # Decode the new bytes and prepend any carry‑over from previous loop - block = carry + chunk.decode(encoding, errors="surrogateescape") - - parts = regex.split(block) - matches += len(parts) - 1 - - # Preserve the last *patlen* chars in case the pattern straddles blocks - tail = parts[-1] - if tail: - carry = tail[-patlen:] - parts[-1] = tail[:-len(carry)] - else: - carry = "" - - outstream.write(after.join(parts).encode(encoding, errors="surrogateescape")) - - if carry: - outstream.write(carry.encode(encoding, errors="surrogateescape")) - - return matches def main(): # First we parse the command line arguments... usage = "usage: %prog [options] old_string new_string target_file(s)" @@ -180,7 +163,7 @@ def main(): sys.stderr.write("(ignoring case)? (Y/[N]) ") else: sys.stderr.write("(case sensitive)? (Y/[N]) ") - line = input() + line = raw_input() if line != "" and line[0] in "nN": sys.stderr.write("\nrpl: User cancelled operation.\n") sys.exit(os.EX_TEMPFAIL) @@ -212,7 +195,7 @@ def main(): for filename, perms in files: # Open the input file try: f = open(filename, "rb") - except IOError as e: + except IOError, e: sys.stderr.write("\nrpl: Unable to open %s for reading." % fn) sys.stderr.write("\nrpl: Error: %s" % e) sys.stderr.write("\nrpl: SKIPPING %s\n\n" % fn) @@ -226,7 +209,7 @@ def main(): try: o, tmp_path = tempfile.mkstemp("", ".tmp.") o = os.fdopen(o, "wb") - except OSError as e: + except OSError, e: sys.stderr.write("\nrpl: Unable to create temp file.") sys.stderr.write("\nrpl: Error: %s" % e) sys.stderr.write("\nrpl: (Type \"rpl -h\" and consider \"-t\" to specify temp file location.)") @@ -237,7 +220,7 @@ def main(): try: os.chown(tmp_path, perms.st_uid, perms.st_gid) os.chmod(tmp_path, perms.st_mode) - except OSError as e: + except OSError, e: sys.stderr.write("\nrpl: Unable to set owner/group/perms of %s" % filename) sys.stderr.write("\nrpl: Error: %s" % e) @@ -267,7 +250,7 @@ def main(): if opts.dry_run: try: fn = os.path.realpath(filename) - except OSError as e: + except OSError, e: fn = filename if not opts.quiet: sys.stderr.write(" %s\n" % fn) os.unlink(tmp_path) @@ -278,7 +261,7 @@ def main(): sys.stderr.write("\nSave '%s' ? ([Y]/N) " % filename) line = "" while line == "" or line[0] not in "Yy\nnN": - line = input() + line = raw_input() if line[0] in "nN": sys.stderr.write("Not Saved.\n") os.unlink(tmp_path) @@ -287,14 +270,14 @@ def main(): if opts.do_backup: try: os.rename(filename, filename + "~") - except OSError as e: + except OSError, e: sys.stderr.write("rpl: An error occured renaming %s to %s." % (filename, filename + "~")) sys.stderr.write("\nrpl: Error: %s" % e) continue # Rename the file try: os.rename(tmp_path, filename) - except OSError as e: + except OSError, e: sys.stderr.write("rpl: An error occured replacing %s with %s." % (tmp_path, filename)) sys.stderr.write("\nrpl: Error: %s" % e) @@ -304,7 +287,7 @@ def main(): # Restore the times if opts.keep_times: try: os.utime(filename, (perms.st_atime, perms.st_mtime)) - except OSError as e: + except OSError, e: sys.stderr.write("\nrpl: An error occured setting the access time and mod time of the file %s.", filename) sys.stderr.write("\nrpl: Error: %s" % e) total_matches += matches diff --git a/helpers/DATA/rustc-1.82/patch_changes/000-edit_rules_job_numbers_for_amd64.patch b/helpers/DATA/rustc-1.82/patch_changes/000-edit_rules_job_numbers_for_amd64.patch new file mode 100644 index 0000000..5f55fc3 --- /dev/null +++ b/helpers/DATA/rustc-1.82/patch_changes/000-edit_rules_job_numbers_for_amd64.patch @@ -0,0 +1,18 @@ +diff --git a/debian/rules b/debian/rules +index 5651361f..26738cfd 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -70,9 +70,13 @@ ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + ifeq ($(DEB_HOST_ARCH),riscv64) + NJOBS := -j $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + else ++ifeq ($(DEB_HOST_ARCH),amd64) ++NJOBS := -j 8 ++else + NJOBS := -j 4 + endif + endif ++endif + RUSTBUILD = RUST_BACKTRACE=1 python3 src/bootstrap/bootstrap.py $(NJOBS) + RUSTBUILD_FLAGS = --stage 2 --config debian/config.toml --on-fail env + # rust-tidy depends on lots of modules that we strip out of the build. diff --git a/helpers/DATA/rustc-1.82/patch_changes/001-set_pkg-config_manual_path_for_aramo.patch b/helpers/DATA/rustc-1.82/patch_changes/001-set_pkg-config_manual_path_for_aramo.patch new file mode 100644 index 0000000..2a93689 --- /dev/null +++ b/helpers/DATA/rustc-1.82/patch_changes/001-set_pkg-config_manual_path_for_aramo.patch @@ -0,0 +1,12 @@ +diff --git a/debian/rules b/debian/rules +index 5651361f..2cc90e7b 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -4,6 +4,7 @@ + # The build regressed back when LTO was systematized in Ubuntu. + # This should be periodically revisited. + export DEB_BUILD_MAINT_OPTIONS=optimize=-lto ++export PKG_CONFIG=/usr/bin/pkg-config + + include /usr/share/dpkg/pkg-info.mk + include /usr/share/dpkg/vendor.mk diff --git a/helpers/DATA/sbuild/patch_changes/000-add_distro-info_auto-detect.patch b/helpers/DATA/sbuild/patch_changes/000-add_distro-info_auto-detect.patch deleted file mode 100644 index e804847..0000000 --- a/helpers/DATA/sbuild/patch_changes/000-add_distro-info_auto-detect.patch +++ /dev/null @@ -1,75 +0,0 @@ -diff --git a/lib/Sbuild/Conf.pm b/lib/Sbuild/Conf.pm -index 79ae1c15..4ae269ce 100644 ---- a/lib/Sbuild/Conf.pm -+++ b/lib/Sbuild/Conf.pm -@@ -42,9 +42,35 @@ BEGIN { - @EXPORT = qw(new setup read); - } - --my $ubuntu_mmdebstrap_extra_args = {}; - use Debian::DistroInfo; --for my $series (UbuntuDistroInfo->new()->supported()) { -+ -+# Add distro-info provider auto-detect switch -+our $DISTROINFO_CLASS; -+our $IS_TRISQUEL = 0; -+BEGIN { -+ eval { -+ require Debian::DistroInfo; -+ Debian::DistroInfo->import(); -+ 1; -+ }; -+ if (defined &UbuntuDistroInfo::new) { -+ $DISTROINFO_CLASS = 'UbuntuDistroInfo'; -+ warn "sbuild: Debian::DistroInfo used: Ubuntu\n"; -+ } elsif (defined &TrisquelDistroInfo::new) { -+ $DISTROINFO_CLASS = 'TrisquelDistroInfo'; -+ $IS_TRISQUEL = 1; -+ warn "sbuild: Debian::DistroInfo used: Trisquel\n"; -+ } else { -+ $DISTROINFO_CLASS = undef; -+ warn "sbuild: Debian::DistroInfo not available; mmdebstrap extras disabled at build-time\n"; -+ } -+} -+ -+my $ubuntu_mmdebstrap_extra_args = {}; -+my $trisquel_mmdebstrap_extra_args = {}; -+ -+if (defined $DISTROINFO_CLASS && $DISTROINFO_CLASS eq 'UbuntuDistroInfo') { -+ for my $series (UbuntuDistroInfo->new()->supported()) { - $ubuntu_mmdebstrap_extra_args->{$series} = [ '--components=main,universe' ]; - # We use snapshot.ubuntu.com here so it works both for ports and non-ports architectures without having to do complicated architecture detection logic - $ubuntu_mmdebstrap_extra_args->{"$series-proposed"} = [ -@@ -63,6 +83,32 @@ for my $series (UbuntuDistroInfo->new()->supported()) { - '--components=main,universe', - '--setup-hook=sed -i /-updates/d "$1"/etc/apt/sources.list', - ]; -+ } -+} -+ -+if (defined $DISTROINFO_CLASS && $DISTROINFO_CLASS eq 'TrisquelDistroInfo') { -+ for my $series (TrisquelDistroInfo->new()->supported()) { -+ $trisquel_mmdebstrap_extra_args->{$series} = [ '--components=main' ]; -+ $trisquel_mmdebstrap_extra_args->{"$series-updates"} = [ -+ '--components=main', -+ '--include=ca-certificates', -+ '--setup-hook=echo "deb [signed-by=/usr/share/keyrings/trisquel-archive-keyring.gpg] https://archive.trisquel.org/trisquel ' . $series . '-updates main" > "$1"/etc/apt/sources.list.d/updates.list' -+ ]; -+ $trisquel_mmdebstrap_extra_args->{"$series-security"} = [ -+ '--components=main', -+ '--include=ca-certificates', -+ '--setup-hook=echo "deb [signed-by=/usr/share/keyrings/trisquel-archive-keyring.gpg] https://archive.trisquel.org/trisquel ' . $series . '-security main" > "$1"/etc/apt/sources.list.d/security.list' -+ ]; -+ $trisquel_mmdebstrap_extra_args->{"$series-backports"} = [ -+ '--components=main', -+ '--include=ca-certificates', -+ '--setup-hook=echo "deb [signed-by=/usr/share/keyrings/trisquel-archive-keyring.gpg] https://archive.trisquel.org/trisquel ' . $series . '-backports main" > "$1"/etc/apt/sources.list.d/backports.list' -+ ]; -+ } -+} -+ -+if ($IS_TRISQUEL) { -+ $ubuntu_mmdebstrap_extra_args = $trisquel_mmdebstrap_extra_args; - } - - sub setup ($); diff --git a/helpers/DATA/software-properties/fix_PPA_upstream_codename.patch b/helpers/DATA/software-properties/fix_PPA_upstream_codename.patch new file mode 100644 index 0000000..f74374d --- /dev/null +++ b/helpers/DATA/software-properties/fix_PPA_upstream_codename.patch @@ -0,0 +1,21 @@ +diff -Nru software-properties-0.99.22.4+11.0trisquel9/softwareproperties/ppa.py software-properties-0.99.22.4+11.0trisquel9_fix/softwareproperties/ppa.py +--- software-properties-0.99.22.4+11.0trisquel9/softwareproperties/ppa.py 2023-01-21 14:29:00.314035991 -0600 ++++ software-properties-0.99.22.4+11.0trisquel9_fix/softwareproperties/ppa.py 2023-01-21 14:31:47.658510565 -0600 +@@ -32,6 +32,8 @@ + + from urllib.parse import urlparse + ++from softwareproperties.trisquel_info import trisquel_upstream_rel ++ + + PPA_URI_FORMAT = 'https://ppa.launchpadcontent.net/{team}/{ppa}/ubuntu/' + PRIVATE_PPA_URI_FORMAT = 'https://private-ppa.launchpadcontent.net/{team}/{ppa}/ubuntu/' +@@ -85,7 +87,7 @@ + + uri_format = PRIVATE_PPA_URI_FORMAT if self.lpppa.private else PPA_URI_FORMAT + uri = uri_format.format(team=self.teamname, ppa=self.ppaname) +- line = ('%s %s %s %s' % (self.binary_type, uri, self.dist, ' '.join(comps))) ++ line = ('%s %s %s %s' % (self.binary_type, uri, trisquel_upstream_rel, ' '.join(comps))) + self._set_source_entry(line) + + @property diff --git a/helpers/DATA/software-properties/l10n/de_po_r202405.po.patch b/helpers/DATA/software-properties/l10n/de_po_r202405.po.patch index 03cdbdb..85ef4a1 100644 --- a/helpers/DATA/software-properties/l10n/de_po_r202405.po.patch +++ b/helpers/DATA/software-properties/l10n/de_po_r202405.po.patch @@ -1,20 +1,17 @@ diff --git a/po/de.po b/po/de.po -index d3910630..fd57d848 100644 +index f851b42..291b247 100644 --- a/po/de.po +++ b/po/de.po -@@ -1083,7 +1083,7 @@ msgstr "Wenn andere Aktualisierungen verfügbar sind:" - - #: ../data/gtkbuilder/main.ui.h:32 - msgid "Notify me of a new Trisquel version:" --msgstr "Über neue Trisquel-Versionen benachrichtigen:" +@@ -2077,3 +2077,12 @@ msgstr "Besten Server au_swählen" + #~ "Für folgende Pakete sind neue Versionen verfügbar. Die Aktualisierung " + #~ "kann durch einen Klick auf die Schaltfläche »Installieren« vorgenommen " + #~ "werden." ++ ++msgid "Notify me of a new Trisquel version:" +msgstr "Mich benachrichtigen, wenn eine neue Version von Trisquel verfügbar ist:" - - #: ../data/gtkbuilder/main.ui.h:33 - msgid "Updates" -@@ -1423,3 +1423,6 @@ msgstr "_Abbrechen" - #: ../data/gtkbuilder/dialog-ua-fips-enable.ui.h:8 - msgid "_Continue" - msgstr "_Fortsetzen" + +msgid "This system has:" +msgstr "Aktuelle Version des Systems:" ++ ++msgid "Automatically check for updates:" ++msgstr "Automatisch nach Aktualisierungen suchen:" diff --git a/helpers/DATA/software-properties/l10n/es_po_r202312.po.patch b/helpers/DATA/software-properties/l10n/es_po_r202312.po.patch new file mode 100644 index 0000000..e0dcbb0 --- /dev/null +++ b/helpers/DATA/software-properties/l10n/es_po_r202312.po.patch @@ -0,0 +1,16 @@ +diff --git a/po/es.po b/po/es.po +index e38d16e..49e88bf 100644 +--- a/po/es.po ++++ b/po/es.po +@@ -2027,3 +2027,11 @@ msgstr "Servidor maś cercano" + #~ "\n" + #~ "El gestor de actualizaciones encontró los siguientes paquetes " + #~ "actualizables. Puede actualizarlos usando el botón Instalar." ++ ++# data/gtkbuilder/main.ui:822 ++msgid "Notify me of a new Trisquel version:" ++msgstr "Notificarme de una nueva versión de Trisquel:" ++ ++# data/gtkbuilder/main.ui:549 ++msgid "This system has:" ++msgstr "Este sistema tiene:" diff --git a/helpers/DATA/software-properties/l10n/es_po_r202405.po.patch b/helpers/DATA/software-properties/l10n/es_po_r202405.po.patch deleted file mode 100644 index 24e14ff..0000000 --- a/helpers/DATA/software-properties/l10n/es_po_r202405.po.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/po/es.po b/po/es.po -index 1745f863..2a424020 100644 ---- a/po/es.po -+++ b/po/es.po -@@ -1401,3 +1401,7 @@ msgstr "Cance_lar" - #: ../data/gtkbuilder/dialog-ua-fips-enable.ui.h:8 - msgid "_Continue" - msgstr "_Continuar" -+ -+# data/gtkbuilder/main.ui:549 -+msgid "This system has:" -+msgstr "Este sistema tiene:" diff --git a/helpers/DATA/software-properties/l10n/fr_po_r202312.po.patch b/helpers/DATA/software-properties/l10n/fr_po_r202312.po.patch new file mode 100644 index 0000000..c952516 --- /dev/null +++ b/helpers/DATA/software-properties/l10n/fr_po_r202312.po.patch @@ -0,0 +1,20 @@ +diff --git a/po/fr.po b/po/fr.po +index 70cb85e..0f9e7bd 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -2029,3 +2029,15 @@ msgstr "Serveur le plus proche" + + #~ msgid "0" + #~ msgstr "0" ++ ++# data/gtkbuilder/main.ui:822 ++msgid "Notify me of a new Trisquel version:" ++msgstr "M’avertir lorsqu’une nouvelle version de Trisquel est disponible :" ++ ++# data/gtkbuilder/main.ui:549 ++msgid "This system has:" ++msgstr "Version actuelle du système :" ++ ++# data/gtkbuilder/main.ui:682 ++msgid "Automatically check for updates:" ++msgstr "Vérifier automatiquement si les logiciels sont à jour :" diff --git a/helpers/DATA/software-properties/l10n/fr_po_r202405.po.patch b/helpers/DATA/software-properties/l10n/fr_po_r202405.po.patch deleted file mode 100644 index 3f59617..0000000 --- a/helpers/DATA/software-properties/l10n/fr_po_r202405.po.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/po/fr.po b/po/fr.po -index 73a64794..6f57ce1a 100644 ---- a/po/fr.po -+++ b/po/fr.po -@@ -1058,7 +1058,7 @@ msgstr "Abonné à :" - - #: ../data/gtkbuilder/main.ui.h:29 - msgid "Automatically check for updates:" --msgstr "Vérifier automatiquement les mises à jour :" -+msgstr "Vérifier automatiquement si les logiciels sont à jour :" - - #: ../data/gtkbuilder/main.ui.h:30 - msgid "When there are security updates:" -@@ -1070,7 +1070,7 @@ msgstr "Lorsqu’il y a d’autres mises à jour :" - - #: ../data/gtkbuilder/main.ui.h:32 - msgid "Notify me of a new Trisquel version:" --msgstr "Me prévenir lorsqu'une nouvelle version d’Trisquel est disponible :" -+msgstr "M’avertir lorsqu’une nouvelle version de Trisquel est disponible :" - - #: ../data/gtkbuilder/main.ui.h:33 - msgid "Updates" -@@ -1371,3 +1371,7 @@ msgstr "_Annuler" - #: ../data/gtkbuilder/dialog-ua-fips-enable.ui.h:8 - msgid "_Continue" - msgstr "_Continuer" -+ -+# data/gtkbuilder/main.ui:549 -+msgid "This system has:" -+msgstr "Version actuelle du système :" diff --git a/helpers/DATA/software-properties/patch_changes/003-fix_PPA_upstream_codename.patch b/helpers/DATA/software-properties/patch_changes/003-fix_PPA_upstream_codename.patch deleted file mode 100644 index 6e1ac8f..0000000 --- a/helpers/DATA/software-properties/patch_changes/003-fix_PPA_upstream_codename.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/softwareproperties/ppa.py b/softwareproperties/ppa.py -index a979a3c9..c4e7cadc 100644 ---- a/softwareproperties/ppa.py -+++ b/softwareproperties/ppa.py -@@ -32,6 +32,8 @@ - - from urllib.parse import urlparse - -+from softwareproperties.trisquel_info import trisquel_upstream_rel -+ - - PPA_URI_FORMAT = 'https://ppa.launchpadcontent.net/{team}/{ppa}/ubuntu/' - PRIVATE_PPA_URI_FORMAT = 'https://private-ppa.launchpadcontent.net/{team}/{ppa}/ubuntu/' -@@ -98,7 +98,7 @@ class PPAShortcutHandler(ShortcutHandler): - entry = Deb822SourceEntry(None, '') - entry.types = [self.binary_type] - entry.uris = [uri] -- entry.suites = [self.dist] -+ entry.suites = [trisquel_upstream_rel] - entry.comps = comps - - self._set_source_entry(str(entry)) diff --git a/helpers/DATA/software-properties/patch_changes/005-rm_extend_esm_url_link.patch b/helpers/DATA/software-properties/patch_changes/005-rm_extend_esm_url_link.patch deleted file mode 100644 index a458a71..0000000 --- a/helpers/DATA/software-properties/patch_changes/005-rm_extend_esm_url_link.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/softwareproperties/gtk/SoftwarePropertiesGtk.py b/softwareproperties/gtk/SoftwarePropertiesGtk.py -index d76513f7..0a08c820 100644 ---- a/softwareproperties/gtk/SoftwarePropertiesGtk.py -+++ b/softwareproperties/gtk/SoftwarePropertiesGtk.py -@@ -454,9 +454,6 @@ class SoftwarePropertiesGtk(SoftwareProperties, SimpleGtkbuilderApp): - else: - eol_expiry_text = _("Active until %s") % eol_date.strftime("%x") - self.label_eol.set_label(eol_expiry_text) -- self.label_esm_subscribe.set_markup( -- "%s" % (esm_url, _("Extend…")) -- ) - self.label_esm_subscribe.set_visible( - esm_available and not esm_enabled - ) diff --git a/helpers/DATA/software-properties/patch_changes/006-add_new_dependency_for_s-p-111.patch b/helpers/DATA/software-properties/patch_changes/006-add_new_dependency_for_s-p-111.patch deleted file mode 100644 index ffc4da1..0000000 --- a/helpers/DATA/software-properties/patch_changes/006-add_new_dependency_for_s-p-111.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/debian/control b/debian/control -index 2dc835cb..d7ec094e 100644 ---- a/debian/control -+++ b/debian/control -@@ -102,6 +102,7 @@ Depends: debconf-kde-helper, - python3-pyqt6, - python3-sip, - python3-software-properties (= ${binary:Version}), -+ pyqt6-dev-tools, - software-properties-common, - ${misc:Depends}, - ${python3:Depends} diff --git a/helpers/DATA/software-properties/patch_changes/004-removal_of_snaps_other_packages_referral.patch b/helpers/DATA/software-properties/removal_of_snaps_other_packages_referral.patch similarity index 100% rename from helpers/DATA/software-properties/patch_changes/004-removal_of_snaps_other_packages_referral.patch rename to helpers/DATA/software-properties/removal_of_snaps_other_packages_referral.patch diff --git a/helpers/DATA/software-properties/patch_changes/002-remove_proposed_updates.patch b/helpers/DATA/software-properties/remove_proposed_updates.patch similarity index 100% rename from helpers/DATA/software-properties/patch_changes/002-remove_proposed_updates.patch rename to helpers/DATA/software-properties/remove_proposed_updates.patch diff --git a/helpers/DATA/software-properties/remove_snap_label.patch b/helpers/DATA/software-properties/remove_snap_label.patch index da2427a..57dccb7 100644 --- a/helpers/DATA/software-properties/remove_snap_label.patch +++ b/helpers/DATA/software-properties/remove_snap_label.patch @@ -1,5 +1,5 @@ ---- a/data/gtkbuilder/main.ui 2021-11-26 14:49:57.068200377 -0600 -+++ b/data/gtkbuilder/main.ui_remove_label 2021-11-26 15:06:51.035673116 -0600 +--- data/gtkbuilder/main.ui 2021-11-26 14:49:57.068200377 -0600 ++++ data/gtkbuilder/main.ui_remove_label 2021-11-26 15:06:51.035673116 -0600 @@ -534,19 +534,6 @@ 12 18 diff --git a/helpers/DATA/software-properties/patch_changes/001-remove_ubuntu_subscription_tab.patch b/helpers/DATA/software-properties/remove_ubuntu_suscription_tab.patch similarity index 96% rename from helpers/DATA/software-properties/patch_changes/001-remove_ubuntu_subscription_tab.patch rename to helpers/DATA/software-properties/remove_ubuntu_suscription_tab.patch index 2c4dfaa..6038afb 100644 --- a/helpers/DATA/software-properties/patch_changes/001-remove_ubuntu_subscription_tab.patch +++ b/helpers/DATA/software-properties/remove_ubuntu_suscription_tab.patch @@ -1,12 +1,10 @@ -diff --git a/data/gtkbuilder/main.ui b/data/gtkbuilder/main.ui -index 01aa294e..9734153f 100644 ---- a/data/gtkbuilder/main.ui -+++ b/data/gtkbuilder/main.ui -@@ -1225,427 +1225,6 @@ - 5 +diff -Nru software-properties-0.99.22.5+11.0trisquel12/data/gtkbuilder/main.ui software-properties-0.99.22.5+11.0trisquel12_fix/data/gtkbuilder/main.ui +--- software-properties-0.99.22.5+11.0trisquel12/data/gtkbuilder/main.ui 2023-01-26 15:15:06.253819392 -0600 ++++ software-properties-0.99.22.5+11.0trisquel12_fix/data/gtkbuilder/main.ui 2023-01-26 15:17:19.325782731 -0600 +@@ -1211,423 +1211,6 @@ -- + - - True - False @@ -19,7 +17,7 @@ index 01aa294e..9734153f 100644 - - - -- False +- True - - - True @@ -272,7 +270,7 @@ index 01aa294e..9734153f 100644 - vertical - 12 - -- +- - True - <b>Compliance &amp; Hardening</b> - True @@ -280,7 +278,7 @@ index 01aa294e..9734153f 100644 - - - -- +- - True - Only recommended to assist with FedRAMP, HIPAA, and other compliance and hardening requirements. Includes FIPS 140-2 certified modules, DISA-STIG, CIS and Common Criteria. - True @@ -317,7 +315,7 @@ index 01aa294e..9734153f 100644 - - - True -- <b>FIPS 140-2</b> +- <b>FIPS 140-2</b> - True - 0 - @@ -385,10 +383,6 @@ index 01aa294e..9734153f 100644 - - - -- -- -- -- - - - @@ -427,6 +421,7 @@ index 01aa294e..9734153f 100644 - - - - +- True + False diff --git a/helpers/DATA/software-properties/rm_init_ubuntu_pro_if_lts.patch b/helpers/DATA/software-properties/rm_init_ubuntu_pro_if_lts.patch deleted file mode 100644 index 744ae18..0000000 --- a/helpers/DATA/software-properties/rm_init_ubuntu_pro_if_lts.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/softwareproperties/gtk/SoftwarePropertiesGtk.py b/softwareproperties/gtk/SoftwarePropertiesGtk.py -index a91d2595..940fd790 100644 ---- a/softwareproperties/gtk/SoftwarePropertiesGtk.py -+++ b/softwareproperties/gtk/SoftwarePropertiesGtk.py -@@ -251,9 +251,6 @@ class SoftwarePropertiesGtk(SoftwareProperties, SimpleGtkbuilderApp): - self.show_distro() - # Setup and show the Additonal Drivers tab - self.init_drivers() -- # Setup and show the Trisquel Pro tab if the serie is a LTS -- if is_current_distro_lts(): -- self.init_ubuntu_pro() - - # Connect to switch-page before setting initial tab. Otherwise the - # first switch goes unnoticed. -diff --git a/softwareproperties/gtk/SoftwarePropertiesGtk.py b/softwareproperties/gtk/SoftwarePropertiesGtk.py -index c18bcd09..15f78ef3 100644 ---- a/softwareproperties/gtk/SoftwarePropertiesGtk.py -+++ b/softwareproperties/gtk/SoftwarePropertiesGtk.py -@@ -1636,5 +1636,3 @@ class SoftwarePropertiesGtk(SoftwareProperties, SimpleGtkbuilderApp): - else: - self.label_driver_action.set_label(_("No proprietary drivers are in use.")) - -- def init_ubuntu_pro(self): -- self.ubuntu_pro_page = TrisquelProPage(self) diff --git a/helpers/DATA/software-properties/trisquel_info.py b/helpers/DATA/software-properties/trisquel_info.py index 95f29fc..66f4115 100644 --- a/helpers/DATA/software-properties/trisquel_info.py +++ b/helpers/DATA/software-properties/trisquel_info.py @@ -1,5 +1,5 @@ # -# Copyright (C) 2024 Luis Guzman +# Copyright (C) 2021 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,15 +16,12 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -# replaced lsb_release in favor of distro import csv +import lsb_release from datetime import datetime -from distro import distro -release_name = distro.codename() -release_description = distro.name(pretty=True) -#print(release_name) -#print(release_description) +release_name = lsb_release.get_distro_information()['CODENAME'] +release_description = lsb_release.get_distro_information()['DESCRIPTION'] def trisquel_eol(): with open('/usr/share/distro-info/trisquel.csv', 'r') as distro_data: diff --git a/helpers/DATA/sugar-toolkit-gtk3/git-20201017.patch b/helpers/DATA/sugar-toolkit-gtk3/git-20201017.patch new file mode 100644 index 0000000..8ecfad1 --- /dev/null +++ b/helpers/DATA/sugar-toolkit-gtk3/git-20201017.patch @@ -0,0 +1,5017 @@ +diff --git b/.flake8 a/.flake8 +new file mode 100644 +index 0000000..0146a5f +--- /dev/null ++++ a/.flake8 +@@ -0,0 +1,6 @@ ++[flake8] ++ ++# E402 module level import not at top of file ++# gi.require_version() is required before later imports ++ ++ignore = E402 +diff --git b/MAINTAINERS a/MAINTAINERS +new file mode 100644 +index 0000000..d9dcae7 +--- /dev/null ++++ a/MAINTAINERS +@@ -0,0 +1,3 @@ ++Daniel Drake dsd@laptop.org ++Simon Schampijer simon@laptop.org ++ +diff --git b/README.md a/README.md +new file mode 100644 +index 0000000..c074e93 +--- /dev/null ++++ a/README.md +@@ -0,0 +1,47 @@ ++Sugar Toolkit ++============= ++ ++Sugar Toolkit provides services and a set of GTK+ widgets to build ++activities and other Sugar components on Linux based computers. ++ ++This is the GTK+ 3 binding of the Sugar Toolkit. ++ ++https://www.sugarlabs.org/ ++ ++https://wiki.sugarlabs.org/ ++ ++Installing on Debian or Ubuntu ++------------------------------ ++ ++Automatically done when you install [Sugar ++desktop](https://github.com/sugarlabs/sugar). ++ ++To install Sugar Toolkit alone without Sugar desktop, ++ ++``` ++sudo apt install python-sugar3 ++``` ++ ++Installing on Fedora ++-------------------- ++ ++Automatically done when you install [Sugar ++desktop](https://github.com/sugarlabs/sugar). ++ ++To install Sugar Toolkit alone without Sugar desktop, ++ ++``` ++sudo dnf install sugar-toolkit-gtk3 ++``` ++ ++Building ++-------- ++ ++Sugar Toolkit follows the [GNU Coding ++Standards](https://www.gnu.org/prep/standards/). ++ ++Install all dependencies, especially sugar-artwork and ++sugar-datastore. ++ ++Clone the repository, run `autogen.sh`, then `make` and `make ++install`. +diff --git b/autogen.sh a/autogen.sh +new file mode 100755 +index 0000000..dac7bf4 +--- /dev/null ++++ a/autogen.sh +@@ -0,0 +1,15 @@ ++#!/bin/sh ++ ++test -n "${srcdir}" || srcdir=`dirname "$0"` ++test -n "${srcdir}" || srcdir="$(pwd)" ++ ++olddir="$(pwd)" ++cd "$srcdir" ++ ++mkdir -p m4 ++ ++intltoolize ++autoreconf -i ++ ++cd "$olddir" ++"$srcdir/configure" --enable-maintainer-mode "$@" +diff --git b/bin/sugar-activity-web a/bin/sugar-activity-web +index 8fd7a59..d1db3fd 100644 +--- b/bin/sugar-activity-web ++++ a/bin/sugar-activity-web +@@ -17,8 +17,4 @@ + # Free Software Foundation, Inc., 59 Temple Place - Suite 330, + # Boston, MA 02111-1307, USA. + +-if [ "$SUGAR_USE_WEBKIT1" = "yes" ]; then +- exec sugar-activity3 sugar3.activity.webkit1.WebActivity $@ +-else +- exec sugar-activity3 sugar3.activity.webactivity.WebActivity $@ +-fi ++exec sugar-activity3 sugar3.activity.webactivity.WebActivity $@ +diff --git b/doc/Makefile a/doc/Makefile +new file mode 100644 +index 0000000..60e9ad5 +--- /dev/null ++++ a/doc/Makefile +@@ -0,0 +1,193 @@ ++# Makefile for Sphinx documentation ++# ++ ++# You can set these variables from the command line. ++SPHINXOPTS = ++SPHINXBUILD = sphinx-build ++PAPER = ++BUILDDIR = _build ++ ++# User-friendly check for sphinx-build ++ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) ++$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) ++endif ++ ++# Internal variables. ++PAPEROPT_a4 = -D latex_paper_size=a4 ++PAPEROPT_letter = -D latex_paper_size=letter ++ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . ++# the i18n builder cannot share the environment and doctrees with the others ++I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . ++ ++.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext ++ ++help: ++ @echo "Please use \`make ' where is one of" ++ @echo " html to make standalone HTML files" ++ @echo " dirhtml to make HTML files named index.html in directories" ++ @echo " singlehtml to make a single large HTML file" ++ @echo " pickle to make pickle files" ++ @echo " json to make JSON files" ++ @echo " htmlhelp to make HTML files and a HTML help project" ++ @echo " qthelp to make HTML files and a qthelp project" ++ @echo " applehelp to make an Apple Help Book" ++ @echo " devhelp to make HTML files and a Devhelp project" ++ @echo " epub to make an epub" ++ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" ++ @echo " latexpdf to make LaTeX files and run them through pdflatex" ++ @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" ++ @echo " text to make text files" ++ @echo " man to make manual pages" ++ @echo " texinfo to make Texinfo files" ++ @echo " info to make Texinfo files and run them through makeinfo" ++ @echo " gettext to make PO message catalogs" ++ @echo " changes to make an overview of all changed/added/deprecated items" ++ @echo " xml to make Docutils-native XML files" ++ @echo " pseudoxml to make pseudoxml-XML files for display purposes" ++ @echo " linkcheck to check all external links for integrity" ++ @echo " doctest to run all doctests embedded in the documentation (if enabled)" ++ @echo " coverage to run coverage check of the documentation (if enabled)" ++ ++clean: ++ rm -rf $(BUILDDIR)/* ++ ++html: ++ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html ++ @echo ++ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." ++ ++dirhtml: ++ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml ++ @echo ++ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." ++ ++singlehtml: ++ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml ++ @echo ++ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." ++ ++pickle: ++ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle ++ @echo ++ @echo "Build finished; now you can process the pickle files." ++ ++json: ++ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json ++ @echo ++ @echo "Build finished; now you can process the JSON files." ++ ++htmlhelp: ++ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp ++ @echo ++ @echo "Build finished; now you can run HTML Help Workshop with the" \ ++ ".hhp project file in $(BUILDDIR)/htmlhelp." ++ ++qthelp: ++ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp ++ @echo ++ @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ++ ".qhcp project file in $(BUILDDIR)/qthelp, like this:" ++ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/SugarToolkitGTK3.qhcp" ++ @echo "To view the help file:" ++ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/SugarToolkitGTK3.qhc" ++ ++applehelp: ++ $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp ++ @echo ++ @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." ++ @echo "N.B. You won't be able to view it unless you put it in" \ ++ "~/Library/Documentation/Help or install it in your application" \ ++ "bundle." ++ ++devhelp: ++ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp ++ @echo ++ @echo "Build finished." ++ @echo "To view the help file:" ++ @echo "# mkdir -p $$HOME/.local/share/devhelp/SugarToolkitGTK3" ++ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/SugarToolkitGTK3" ++ @echo "# devhelp" ++ ++epub: ++ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub ++ @echo ++ @echo "Build finished. The epub file is in $(BUILDDIR)/epub." ++ ++latex: ++ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex ++ @echo ++ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." ++ @echo "Run \`make' in that directory to run these through (pdf)latex" \ ++ "(use \`make latexpdf' here to do that automatically)." ++ ++latexpdf: ++ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex ++ @echo "Running LaTeX files through pdflatex..." ++ $(MAKE) -C $(BUILDDIR)/latex all-pdf ++ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." ++ ++latexpdfja: ++ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex ++ @echo "Running LaTeX files through platex and dvipdfmx..." ++ $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja ++ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." ++ ++text: ++ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text ++ @echo ++ @echo "Build finished. The text files are in $(BUILDDIR)/text." ++ ++man: ++ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man ++ @echo ++ @echo "Build finished. The manual pages are in $(BUILDDIR)/man." ++ ++texinfo: ++ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo ++ @echo ++ @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." ++ @echo "Run \`make' in that directory to run these through makeinfo" \ ++ "(use \`make info' here to do that automatically)." ++ ++info: ++ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo ++ @echo "Running Texinfo files through makeinfo..." ++ make -C $(BUILDDIR)/texinfo info ++ @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." ++ ++gettext: ++ $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale ++ @echo ++ @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." ++ ++changes: ++ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes ++ @echo ++ @echo "The overview file is in $(BUILDDIR)/changes." ++ ++linkcheck: ++ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck ++ @echo ++ @echo "Link check complete; look for any errors in the above output " \ ++ "or in $(BUILDDIR)/linkcheck/output.txt." ++ ++doctest: ++ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest ++ @echo "Testing of doctests in the sources finished, look at the " \ ++ "results in $(BUILDDIR)/doctest/output.txt." ++ ++coverage: ++ $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage ++ @echo "Testing of coverage in the sources finished, look at the " \ ++ "results in $(BUILDDIR)/coverage/python.txt." ++ ++xml: ++ $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml ++ @echo ++ @echo "Build finished. The XML files are in $(BUILDDIR)/xml." ++ ++pseudoxml: ++ $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml ++ @echo ++ @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." ++ +diff --git b/doc/conf.py a/doc/conf.py +new file mode 100644 +index 0000000..26a811e +--- /dev/null ++++ a/doc/conf.py +@@ -0,0 +1,305 @@ ++# -*- coding: utf-8 -*- ++# ++# Sugar Toolkit GTK3 documentation build configuration file, created by ++# sphinx-quickstart on Sat Aug 1 21:36:44 2015. ++# ++# This file is execfile()d with the current directory set to its ++# containing dir. ++# ++# Note that not all possible configuration values are present in this ++# autogenerated file. ++# ++# All configuration values have a default; values that are commented out ++# serve to show the default. ++ ++import sys ++import os ++from sphinx import version_info ++ ++major, minor, patch, label, label_number = version_info ++ ++# If extensions (or modules to document with autodoc) are in another directory, ++# add these directories to sys.path here. If the directory is relative to the ++# documentation root, use os.path.abspath to make it absolute, like shown here. ++sys.path.insert(0, os.path.abspath('../src')) ++ ++# -- General configuration ------------------------------------------------ ++ ++# If your documentation needs a minimal Sphinx version, state it here. ++#needs_sphinx = '1.0' ++ ++# Add any Sphinx extension module names here, as strings. They can be ++# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ++# ones. ++extensions = [ ++ 'sphinx.ext.autodoc', ++ 'sphinx.ext.intersphinx' ++] ++if major >= 1 and minor >= 3: ++ # Included in Sphinx 1.3 ++ extensions.append('sphinx.ext.napoleon') ++else: ++ extensions.append('sphinxcontrib.napoleon') ++ ++intersphinx_mapping = { ++ 'glib': ('http://lazka.github.io/pgi-docs/GLib-2.0', None), ++ 'gobject': ('http://lazka.github.io/pgi-docs/GObject-2.0', None), ++ 'gio': ('http://lazka.github.io/pgi-docs/Gio-2.0', None), ++ 'gtk': ('http://lazka.github.io/pgi-docs/Gtk-3.0', None) ++} ++ ++primary_domain = "py" ++ ++# Add any paths that contain templates here, relative to this directory. ++templates_path = ['_templates'] ++ ++# The suffix(es) of source filenames. ++# You can specify multiple suffix as a list of string: ++# source_suffix = ['.rst', '.md'] ++source_suffix = '.rst' ++ ++# The encoding of source files. ++#source_encoding = 'utf-8-sig' ++ ++# The master toctree document. ++master_doc = 'index' ++ ++# General information about the project. ++project = u'Sugar Toolkit GTK3' ++copyright = u'2017, Sugar Labs' ++author = u'Sugar Labs' ++ ++# The version info for the project you're documenting, acts as replacement for ++# |version| and |release|, also used in various other places throughout the ++# built documents. ++# ++# The short X.Y version. ++version = '0.117' ++# The full version, including alpha/beta/rc tags. ++release = '0.117' ++ ++# The language for content autogenerated by Sphinx. Refer to documentation ++# for a list of supported languages. ++# ++# This is also used if you do content translation via gettext catalogs. ++# Usually you set "language" from the command line for these cases. ++language = None ++ ++# There are two options for replacing |today|: either, you set today to some ++# non-false value, then it is used: ++#today = '' ++# Else, today_fmt is used as the format for a strftime call. ++#today_fmt = '%B %d, %Y' ++ ++# List of patterns, relative to source directory, that match files and ++# directories to ignore when looking for source files. ++exclude_patterns = ['_build'] ++ ++# The reST default role (used for this markup: `text`) to use for all ++# documents. ++#default_role = None ++ ++# If true, '()' will be appended to :func: etc. cross-reference text. ++#add_function_parentheses = True ++ ++# If true, the current module name will be prepended to all description ++# unit titles (such as .. function::). ++#add_module_names = True ++ ++# If true, sectionauthor and moduleauthor directives will be shown in the ++# output. They are ignored by default. ++#show_authors = False ++ ++# The name of the Pygments (syntax highlighting) style to use. ++pygments_style = 'sphinx' ++ ++# A list of ignored prefixes for module index sorting. ++#modindex_common_prefix = [] ++ ++# If true, keep warnings as "system message" paragraphs in the built documents. ++#keep_warnings = False ++ ++# If true, `todo` and `todoList` produce output, else they produce nothing. ++todo_include_todos = False ++ ++ ++# -- Options for HTML output ---------------------------------------------- ++ ++# The theme to use for HTML and HTML Help pages. See the documentation for ++# a list of builtin themes. ++if major >= 1 and minor >= 3: ++ # Added in Sphinx 1.3 ++ html_theme = 'alabaster' ++ ++# Theme options are theme-specific and customize the look and feel of a theme ++# further. For a list of options available for each theme, see the ++# documentation. ++#html_theme_options = {} ++ ++# Add any paths that contain custom themes here, relative to this directory. ++#html_theme_path = [] ++ ++# The name for this set of Sphinx documents. If None, it defaults to ++# " v documentation". ++#html_title = None ++ ++# A shorter title for the navigation bar. Default is the same as html_title. ++#html_short_title = None ++ ++# The name of an image file (relative to this directory) to place at the top ++# of the sidebar. ++#html_logo = None ++ ++# The name of an image file (within the static path) to use as favicon of the ++# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 ++# pixels large. ++#html_favicon = None ++ ++# Add any paths that contain custom static files (such as style sheets) here, ++# relative to this directory. They are copied after the builtin static files, ++# so a file named "default.css" will overwrite the builtin "default.css". ++html_static_path = ['_static'] ++ ++# Add any extra paths that contain custom files (such as robots.txt or ++# .htaccess) here, relative to this directory. These files are copied ++# directly to the root of the documentation. ++#html_extra_path = [] ++ ++# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, ++# using the given strftime format. ++#html_last_updated_fmt = '%b %d, %Y' ++ ++# If true, SmartyPants will be used to convert quotes and dashes to ++# typographically correct entities. ++#html_use_smartypants = True ++ ++# Custom sidebar templates, maps document names to template names. ++#html_sidebars = {} ++ ++# Additional templates that should be rendered to pages, maps page names to ++# template names. ++#html_additional_pages = {} ++ ++# If false, no module index is generated. ++#html_domain_indices = True ++ ++# If false, no index is generated. ++#html_use_index = True ++ ++# If true, the index is split into individual pages for each letter. ++#html_split_index = False ++ ++# If true, links to the reST sources are added to the pages. ++#html_show_sourcelink = True ++ ++# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. ++#html_show_sphinx = True ++ ++# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. ++#html_show_copyright = True ++ ++# If true, an OpenSearch description file will be output, and all pages will ++# contain a tag referring to it. The value of this option must be the ++# base URL from which the finished HTML is served. ++#html_use_opensearch = '' ++ ++# This is the file name suffix for HTML files (e.g. ".xhtml"). ++#html_file_suffix = None ++ ++# Language to be used for generating the HTML full-text search index. ++# Sphinx supports the following languages: ++# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' ++# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' ++#html_search_language = 'en' ++ ++# A dictionary with options for the search language support, empty by default. ++# Now only 'ja' uses this config value ++#html_search_options = {'type': 'default'} ++ ++# The name of a javascript file (relative to the configuration directory) that ++# implements a search results scorer. If empty, the default will be used. ++#html_search_scorer = 'scorer.js' ++ ++# Output file base name for HTML help builder. ++htmlhelp_basename = 'SugarToolkitGTK3doc' ++ ++# -- Options for LaTeX output --------------------------------------------- ++ ++latex_elements = { ++ # The paper size ('letterpaper' or 'a4paper'). ++ #'papersize': 'letterpaper', ++ ++ # The font size ('10pt', '11pt' or '12pt'). ++ #'pointsize': '10pt', ++ ++ # Additional stuff for the LaTeX preamble. ++ #'preamble': '', ++ ++ # Latex figure (float) alignment ++ #'figure_align': 'htbp', ++} ++ ++# Grouping the document tree into LaTeX files. List of tuples ++# (source start file, target name, title, ++# author, documentclass [howto, manual, or own class]). ++latex_documents = [ ++ (master_doc, 'SugarToolkitGTK3.tex', u'Sugar Toolkit GTK3 Documentation', ++ u'Sugar Labs', 'manual'), ++] ++ ++# The name of an image file (relative to this directory) to place at the top of ++# the title page. ++#latex_logo = None ++ ++# For "manual" documents, if this is true, then toplevel headings are parts, ++# not chapters. ++#latex_use_parts = False ++ ++# If true, show page references after internal links. ++#latex_show_pagerefs = False ++ ++# If true, show URL addresses after external links. ++#latex_show_urls = False ++ ++# Documents to append as an appendix to all manuals. ++#latex_appendices = [] ++ ++# If false, no module index is generated. ++#latex_domain_indices = True ++ ++ ++# -- Options for manual page output --------------------------------------- ++ ++# One entry per manual page. List of tuples ++# (source start file, name, description, authors, manual section). ++man_pages = [ ++ (master_doc, 'sugartoolkitgtk3', u'Sugar Toolkit GTK3 Documentation', ++ [author], 1) ++] ++ ++# If true, show URL addresses after external links. ++#man_show_urls = False ++ ++ ++# -- Options for Texinfo output ------------------------------------------- ++ ++# Grouping the document tree into Texinfo files. List of tuples ++# (source start file, target name, title, author, ++# dir menu entry, description, category) ++texinfo_documents = [ ++ (master_doc, 'SugarToolkitGTK3', u'Sugar Toolkit GTK3 Documentation', ++ author, 'SugarToolkitGTK3', 'One line description of project.', ++ 'Miscellaneous'), ++] ++ ++# Documents to append as an appendix to all manuals. ++#texinfo_appendices = [] ++ ++# If false, no module index is generated. ++#texinfo_domain_indices = True ++ ++# How to display URL addresses: 'footnote', 'no', or 'inline'. ++#texinfo_show_urls = 'footnote' ++ ++# If true, do not generate a @detailmenu in the "Top" node's menu. ++#texinfo_no_detailmenu = False +diff --git b/doc/index.rst a/doc/index.rst +new file mode 100644 +index 0000000..ba28b9f +--- /dev/null ++++ a/doc/index.rst +@@ -0,0 +1,33 @@ ++Sugar Toolkit GTK3 ++================== ++ ++Sugar Toolkit GTK3, or `sugar3`, is a toolkit for writing Sugar ++activities in Python: ++ ++* write a `setup.py` which calls :class:`~sugar3.activity.bundlebuilder`, ++* write an `activity/activity.info` file with metadata, see :class:`~sugar3.bundle`, ++* write a class derived from :class:`~sugar3.activity.activity.Activity`, ++* use the :class:`~sugar3.graphics` module classes to build a user interface. ++ ++Optional modules include: ++ ++* use the :class:`~sugar3.profile` module to fetch user profile information, ++* use the :class:`~sugar3.presence` module classes to implement sharing, ++* use the :class:`~sugar3.logger` module for debug logging, ++* use the :class:`~sugar3.network` module for downloading data, ++* use the :class:`~sugar3.speech` module for speech synthesis. ++ ++Indices and tables ++================== ++ ++* :ref:`Functions and classes ` ++* :ref:`Modules ` ++* :ref:`search` ++ ++Table of Contents ++================= ++ ++.. toctree:: ++ :maxdepth: 5 ++ ++ sugar3 +diff --git b/doc/modules.rst a/doc/modules.rst +new file mode 100644 +index 0000000..126de53 +--- /dev/null ++++ a/doc/modules.rst +@@ -0,0 +1,7 @@ ++src ++=== ++ ++.. toctree:: ++ :maxdepth: 4 ++ ++ sugar3 +diff --git b/examples/alert.py a/examples/alert.py +new file mode 100644 +index 0000000..f0425cb +--- /dev/null ++++ a/examples/alert.py +@@ -0,0 +1,33 @@ ++from gi.repository import Gtk ++from sugar3.graphics.alert import TimeoutAlert ++from common import set_theme ++ ++ ++set_theme() ++w = Gtk.Window() ++w.connect("delete-event", Gtk.main_quit) ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++w.add(box) ++ ++# Create a TimeoutAlert Object ++alert = TimeoutAlert(5) ++alert.props.title = '' ++alert.props.msg = '' ++ ++# Add Timeout Object to the box ++box.pack_start(alert, False, False, 0) ++ ++ ++# Called when an alert object throws a response event. ++def __alert_response_cb(alert, response_id): ++ if response_id is Gtk.ResponseType.OK: ++ print('Continue Button was clicked.') ++ elif response_id is Gtk.ResponseType.CANCEL: ++ print('Cancel Button was clicked.') ++ elif response_id == -1: ++ print('Timeout occurred') ++ ++ ++alert.connect('response', __alert_response_cb) ++w.show_all() ++Gtk.main() +diff --git b/examples/animator.py a/examples/animator.py +new file mode 100644 +index 0000000..c6ede6f +--- /dev/null ++++ a/examples/animator.py +@@ -0,0 +1,46 @@ ++from gi.repository import Gtk ++ ++from sugar3.graphics import animator ++from sugar3.graphics.icon import Icon ++from sugar3.graphics import style ++ ++from common import set_theme ++set_theme() ++ ++ ++class _Animation(animator.Animation): ++ ++ def __init__(self, icon, start_size, end_size): ++ animator.Animation.__init__(self, 0.0, 1.0) ++ ++ self._icon = icon ++ self.start_size = start_size ++ self.end_size = end_size ++ ++ def next_frame(self, current): ++ d = (self.end_size - self.start_size) * current ++ self._icon.props.pixel_size = int(self.start_size + d) ++ ++ ++def __animation_completed_cb(anim): ++ print('Animation completed') ++ ++ ++w = Gtk.Window() ++w.connect('delete-event', Gtk.main_quit) ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++w.add(box) ++ ++anim = animator.Animator(5) ++anim.connect('completed', __animation_completed_cb) ++ ++my_icon = Icon(icon_name='go-next') ++box.pack_start(my_icon, False, False, 0) ++ ++anim.add(_Animation(my_icon, style.STANDARD_ICON_SIZE, style.XLARGE_ICON_SIZE)) ++anim.start() ++ ++w.show_all() ++ ++Gtk.main() +diff --git b/examples/buttons.py a/examples/buttons.py +new file mode 100644 +index 0000000..5c679c2 +--- /dev/null ++++ a/examples/buttons.py +@@ -0,0 +1,64 @@ ++from gi.repository import Gtk ++ ++import common ++ ++ ++test = common.Test() ++test.show() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++test.pack_start(box, True, True, 0) ++box.show() ++ ++# test Gtk.SpinButton: ++ ++adj = Gtk.Adjustment(0, 0, 10, 1, 32, 0) ++spin = Gtk.SpinButton() ++spin.set_adjustment(adj) ++box.pack_start(spin, False, False, 1) ++spin.show() ++ ++# test Gtk.RadioButton: ++ ++radio_1 = Gtk.RadioButton.new_with_label_from_widget(None, 'Radio 1') ++box.pack_start(radio_1, False, False, 1) ++radio_1.show() ++radio_2 = Gtk.RadioButton.new_with_label_from_widget(radio_1, 'Radio 2') ++box.pack_start(radio_2, False, False, 1) ++radio_2.show() ++radio_3 = Gtk.RadioButton.new_with_label_from_widget(radio_1, 'Radio 3') ++box.pack_start(radio_3, False, False, 1) ++radio_3.show() ++ ++# test Gtk.CheckButton: ++ ++check_1 = Gtk.CheckButton('Check 1') ++box.pack_start(check_1, False, False, 1) ++check_1.show() ++ ++check_2 = Gtk.CheckButton('Check 2') ++box.pack_start(check_2, False, False, 1) ++check_2.show() ++ ++# test Gtk.Button: ++ ++button = Gtk.Button('Button') ++box.pack_start(button, False, False, 1) ++button.show() ++ ++# test Gtk.Button insensitive: ++ ++insensitive_button = Gtk.Button('Insensitive Button') ++box.pack_start(insensitive_button, False, False, 1) ++insensitive_button.props.sensitive = False ++insensitive_button.show() ++ ++# test Gtk.ToggleButton: ++ ++toggle_button = Gtk.ToggleButton('ToggleButton') ++box.pack_start(toggle_button, False, False, 1) ++toggle_button.show() ++ ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/cellrenderericon.py a/examples/cellrenderericon.py +new file mode 100644 +index 0000000..e280204 +--- /dev/null ++++ a/examples/cellrenderericon.py +@@ -0,0 +1,37 @@ ++from gi.repository import Gtk ++ ++from sugar3.graphics import style ++from sugar3.graphics.icon import CellRendererIcon ++ ++import common ++ ++ ++test = common.Test() ++test.show() ++ ++model = Gtk.ListStore(str) ++for icon in ['one', 'two', 'three']: ++ model.append([icon]) ++ ++treeview = Gtk.TreeView() ++treeview.set_model(model) ++test.pack_start(treeview, True, True, 0) ++treeview.show() ++ ++col = Gtk.TreeViewColumn() ++treeview.append_column(col) ++ ++cell_icon = CellRendererIcon() ++cell_icon.props.width = style.GRID_CELL_SIZE ++cell_icon.props.height = style.GRID_CELL_SIZE ++cell_icon.props.size = style.SMALL_ICON_SIZE ++cell_icon.props.icon_name = 'emblem-favorite' ++col.pack_start(cell_icon, expand=False) ++ ++cell_text = Gtk.CellRendererText() ++col.pack_start(cell_text, expand=True) ++col.add_attribute(cell_text, 'text', 0) ++ ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/colorbutton.py a/examples/colorbutton.py +new file mode 100644 +index 0000000..09db068 +--- /dev/null ++++ a/examples/colorbutton.py +@@ -0,0 +1,37 @@ ++from gi.repository import Gtk ++ ++from sugar3.graphics.toolbarbox import ToolbarBox ++from sugar3.graphics.colorbutton import ColorToolButton ++ ++ ++import common ++ ++ ++test = common.Test() ++test.show() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++test.pack_start(box, True, True, 0) ++box.show() ++ ++toolbar_box = ToolbarBox() ++box.pack_start(toolbar_box, False, False, 0) ++toolbar_box.show() ++ ++separator = Gtk.SeparatorToolItem() ++toolbar_box.toolbar.insert(separator, -1) ++separator.show() ++ ++ ++def color_changed_cb(button, pspec): ++ print(button.get_color()) ++ ++ ++color_button = ColorToolButton() ++color_button.connect("notify::color", color_changed_cb) ++toolbar_box.toolbar.insert(color_button, -1) ++color_button.show() ++ ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/combobox.py a/examples/combobox.py +new file mode 100644 +index 0000000..6d1c1a0 +--- /dev/null ++++ a/examples/combobox.py +@@ -0,0 +1,25 @@ ++from gi.repository import Gtk ++ ++from sugar3.graphics.combobox import ComboBox ++from common import set_theme ++set_theme() ++ ++ ++def __combo_changed_cb(combo): ++ print('Combo changed to %r' % combo.get_value()) ++ ++ ++w = Gtk.Window() ++w.connect("delete-event", Gtk.main_quit) ++ ++combo = ComboBox() ++combo.append_item(True, 'one') ++combo.append_item(2, 'two', 'go-next') ++combo.append_item('3', 'three') ++# This will make 'two' active (zero indexed) ++combo.set_active(1) ++combo.connect('changed', __combo_changed_cb) ++w.add(combo) ++ ++w.show_all() ++Gtk.main() +diff --git b/examples/common.py a/examples/common.py +new file mode 100644 +index 0000000..906eb50 +--- /dev/null ++++ a/examples/common.py +@@ -0,0 +1,77 @@ ++# Copyright (C) 2007, Red Hat, Inc. ++# ++# This library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2 of the License, or (at your option) any later version. ++# ++# This library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with this library; if not, write to the ++# Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++# Boston, MA 02111-1307, USA. ++ ++from gi.repository import Gtk ++from gi.repository import GObject ++ ++from sugar3.graphics.toolbutton import ToolButton ++ ++import os ++ ++ ++def set_theme(): ++ settings = Gtk.Settings.get_default() ++ sugar_theme = 'sugar-72' ++ if 'SUGAR_SCALING' in os.environ: ++ if os.environ['SUGAR_SCALING'] == '100': ++ sugar_theme = 'sugar-100' ++ settings.set_property('gtk-theme-name', sugar_theme) ++ settings.set_property('gtk-icon-theme-name', 'sugar') ++ ++ ++class Test(Gtk.Box): ++ ++ def __init__(self): ++ GObject.GObject.__init__(self, orientation=Gtk.Orientation.VERTICAL) ++ ++ set_theme() ++ ++ ++class TestPalette(Test): ++ ++ def __init__(self): ++ Test.__init__(self) ++ ++ toolbar = Gtk.Toolbar() ++ ++ self._invoker = ToolButton('go-previous') ++ toolbar.insert(self._invoker, -1) ++ self._invoker.show() ++ ++ self.pack_start(toolbar, False, False, 0) ++ toolbar.show() ++ ++ def set_palette(self, palette): ++ self._invoker.set_palette(palette) ++ ++ ++class TestRunner(object): ++ ++ def run(self, test): ++ window = Gtk.Window() ++ window.connect('delete-event', Gtk.main_quit) ++ window.add(test) ++ test.show() ++ ++ window.show() ++ ++ ++def main(test): ++ runner = TestRunner() ++ runner.run(test) ++ ++ Gtk.main() +diff --git b/examples/customdestroy.py a/examples/customdestroy.py +new file mode 100644 +index 0000000..fc33eb9 +--- /dev/null ++++ a/examples/customdestroy.py +@@ -0,0 +1,47 @@ ++from gi.repository import Gtk ++ ++""" ++Since GTK+3 Gtk.CellRenderer doesn't have a destroy signal anymore. ++We can do the cleanup in the python destructor method instead. ++ ++""" ++ ++ ++class MyCellRenderer(Gtk.CellRenderer): ++ ++ def __init__(self): ++ Gtk.CellRenderer.__init__(self) ++ ++ def __del__(self): ++ print("cellrenderer destroy") ++ ++ def do_render(self, cairo_t, widget, background_area, cell_area, flags): ++ pass ++ ++ ++def window_destroy_cb(*kwargs): ++ print("window destroy") ++ Gtk.main_quit() ++ ++ ++window = Gtk.Window(Gtk.WindowType.TOPLEVEL) ++window.connect("destroy", window_destroy_cb) ++window.show() ++ ++ ++def treeview_destroy_cb(*kwargs): ++ print("treeview destroy") ++ ++ ++treeview = Gtk.TreeView() ++treeview.connect("destroy", treeview_destroy_cb) ++window.add(treeview) ++treeview.show() ++ ++col = Gtk.TreeViewColumn() ++treeview.append_column(col) ++ ++cel = MyCellRenderer() ++col.pack_start(cel, expand=True) ++ ++Gtk.main() +diff --git b/examples/gtktreesensitive.py a/examples/gtktreesensitive.py +new file mode 100644 +index 0000000..58fea99 +--- /dev/null ++++ a/examples/gtktreesensitive.py +@@ -0,0 +1,48 @@ ++#!/usr/bin/python3 ++from gi.repository import Gtk ++ ++import common ++test = common.Test() ++test.show() ++ ++ ++class MyBox(Gtk.Box): ++ ++ def __init__(self): ++ Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL) ++ ++ scrolled = Gtk.ScrolledWindow() ++ scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, ++ Gtk.PolicyType.AUTOMATIC) ++ ++ store = Gtk.ListStore(str, str) ++ for i in range(5): ++ store.append([str(i), 'Item %s' % i]) ++ ++ treeview = Gtk.TreeView(store) ++ renderer_no_sens = Gtk.CellRendererText() ++ # set 'sensitive' property ++ renderer_no_sens.set_property('sensitive', False) ++ ++ renderer = Gtk.CellRendererText() ++ ++ column = Gtk.TreeViewColumn('\'sensitive\' False', ++ renderer_no_sens, text=0) ++ treeview.append_column(column) ++ ++ column = Gtk.TreeViewColumn('\'sensitive\' True', ++ renderer, text=1) ++ treeview.append_column(column) ++ ++ scrolled.add(treeview) ++ self.pack_start(scrolled, True, True, 0) ++ ++ self.show_all() ++ ++ ++box = MyBox() ++test.pack_start(box, True, True, 0) ++box.show() ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/iconbadges.py a/examples/iconbadges.py +new file mode 100644 +index 0000000..545f0d0 +--- /dev/null ++++ a/examples/iconbadges.py +@@ -0,0 +1,42 @@ ++from gi.repository import Gtk ++ ++from sugar3.graphics.icon import EventIcon ++from sugar3.graphics.icon import Icon ++from sugar3.graphics import style ++from sugar3.graphics.xocolor import XoColor ++from sugar3.graphics.palette import Palette ++ ++import common ++ ++ ++test = common.Test() ++test.show() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++test.pack_start(box, True, True, 0) ++box.show() ++ ++# An XO Icon, normal size, setting the color via the XoColor object ++icon = Icon(icon_name='computer-xo', ++ pixel_size=style.STANDARD_ICON_SIZE, ++ xo_color=XoColor('#00BEFF,#FF7800')) ++box.pack_start(icon, False, False, 0) ++icon.show() ++ ++# You can mix constructor keyword argument and setting ++# properties after creation ++icon = EventIcon(icon_name='network-wireless-080', ++ pixel_size=style.STANDARD_ICON_SIZE) ++# Badges are little icons displayed ++icon.props.badge_name = 'emblem-favorite' ++# Instead of using the XoColor, you can use any SVG color specifier: ++icon.props.fill_color = 'rgb(230, 0, 10)' ++icon.props.stroke_color = '#78E600' ++# Unlike normal icons, EventIcons support palettes: ++icon.props.palette = Palette('Hello World') ++box.pack_start(icon, False, False, 0) ++icon.show() ++ ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/iconcache.py a/examples/iconcache.py +new file mode 100644 +index 0000000..a766a37 +--- /dev/null ++++ a/examples/iconcache.py +@@ -0,0 +1,72 @@ ++# Copyright (C) 2007, Red Hat, Inc. ++# ++# This library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2 of the License, or (at your option) any later version. ++# ++# This library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with this library; if not, write to the ++# Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++# Boston, MA 02111-1307, USA. ++ ++""" ++Test the sugar3.graphics.icon.* cache. ++""" ++ ++from gi.repository import Gtk ++ ++from sugar3.graphics.icon import Icon ++from sugar3.graphics.xocolor import XoColor ++from sugar3.graphics import style ++ ++import common ++ ++test = common.Test() ++ ++data = [ ++ ['battery-000', '#FF8F00,#FF2B34'], ++ ['battery-010', '#D1A3FF,#00A0FF'], ++ ['battery-020', '#FF8F00,#FF2B34'], ++ ['battery-030', '#00A0FF,#D1A3FF'], ++ ['battery-040', '#AC32FF,#FF2B34'], ++ ['battery-050', '#D1A3FF,#00A0FF'], ++ ['battery-060', '#AC32FF,#FF2B34'], ++ ['battery-070', '#00A0FF,#D1A3FF'], ++ ['battery-080', '#FF8F00,#FF2B34'], ++ ['battery-090', '#D1A3FF,#00A0FF'], ++ ['battery-100', '#AC32FF,#FF2B34']] ++ ++ ++def _button_activated_cb(button): ++ import random ++ ++ global data ++ random.shuffle(data) ++ ++ for i in range(0, len(test.get_children()) - 1): ++ test.get_children()[i].props.icon_name = data[i][0] ++ test.get_children()[i].props.xo_color = XoColor(data[i][1]) ++ ++ ++for d in data: ++ icon = Icon(icon_name=d[0], ++ pixel_size=style.STANDARD_ICON_SIZE, ++ xo_color=XoColor(d[1])) ++ test.pack_start(icon, True, True, 0) ++ icon.show() ++ ++button = Gtk.Button('mec mac') ++test.pack_start(button, True, True, 0) ++button.connect('activate', _button_activated_cb) ++button.show() ++ ++test.show() ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/iconentry.py a/examples/iconentry.py +new file mode 100644 +index 0000000..e35c601 +--- /dev/null ++++ a/examples/iconentry.py +@@ -0,0 +1,32 @@ ++from gi.repository import Gtk ++ ++from sugar3.graphics import iconentry ++from common import set_theme ++set_theme() ++ ++ ++def __go_next_cb(entry, icon_pos, data=None): ++ print('Go next') ++ ++ ++def __entry_activate_cb(widget, data=None): ++ print('Entry activate') ++ ++ ++w = Gtk.Window() ++w.connect("delete-event", Gtk.main_quit) ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++w.add(box) ++ ++entry = iconentry.IconEntry() ++entry.set_icon_from_name(iconentry.ICON_ENTRY_SECONDARY, ++ 'go-next') ++entry.connect('icon-press', __go_next_cb) ++entry.connect('activate', __entry_activate_cb) ++entry.set_progress_fraction(0.3) ++box.pack_start(entry, False, False, 0) ++ ++w.show_all() ++ ++Gtk.main() +diff --git b/examples/iconwidget.py a/examples/iconwidget.py +new file mode 100644 +index 0000000..2854b4c +--- /dev/null ++++ a/examples/iconwidget.py +@@ -0,0 +1,88 @@ ++# Copyright (C) 2007, Red Hat, Inc. ++# ++# This library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2 of the License, or (at your option) any later version. ++# ++# This library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with this library; if not, write to the ++# Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++# Boston, MA 02111-1307, USA. ++ ++""" ++Test the sugar3.graphics.icon.Icon widget. ++""" ++ ++from gi.repository import Gtk ++ ++from sugar3.graphics.icon import Icon ++from sugar3.graphics.xocolor import XoColor ++from sugar3.graphics import style ++ ++import common ++ ++test = common.Test() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) ++test.pack_start(box, True, True, 0) ++sensitive_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++insensitive_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++ ++box.pack_start(sensitive_box, True, True, 0) ++box.pack_start(insensitive_box, True, True, 0) ++box.show_all() ++ ++ ++def create_icon_widgets(box, sensitive=True): ++ icon = Icon(icon_name='go-previous') ++ icon.props.pixel_size = style.STANDARD_ICON_SIZE ++ box.pack_start(icon, True, True, 0) ++ icon.set_sensitive(sensitive) ++ icon.show() ++ ++ icon = Icon(icon_name='computer-xo', ++ pixel_size=style.STANDARD_ICON_SIZE, ++ xo_color=XoColor()) ++ box.pack_start(icon, True, True, 0) ++ icon.set_sensitive(sensitive) ++ icon.show() ++ ++ icon = Icon(icon_name='battery-000', ++ pixel_size=style.STANDARD_ICON_SIZE, ++ badge_name='emblem-busy') ++ box.pack_start(icon, True, True, 0) ++ icon.set_sensitive(sensitive) ++ icon.show() ++ ++ icon = Icon(icon_name='gtk-new', ++ pixel_size=style.STANDARD_ICON_SIZE, ++ badge_name='gtk-cancel') ++ box.pack_start(icon, True, True, 0) ++ icon.set_sensitive(sensitive) ++ icon.show() ++ ++ ++create_icon_widgets(sensitive_box, True) ++create_icon_widgets(insensitive_box, False) ++ ++test.show() ++ ++# This can be used to test for leaks by setting the LRU cache size ++# in icon.py to 1. ++# def idle_cb(): ++# import gc ++# gc.collect() ++# test.queue_draw() ++# return True ++# ++# from gi.repository import GLib ++# GLib.idle_add(idle_cb) ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/notebook.py a/examples/notebook.py +new file mode 100644 +index 0000000..7462e0d +--- /dev/null ++++ a/examples/notebook.py +@@ -0,0 +1,32 @@ ++from gi.repository import Gtk ++ ++from sugar3.graphics.notebook import Notebook ++from common import set_theme ++set_theme() ++ ++ ++w = Gtk.Window() ++w.connect("delete-event", Gtk.main_quit) ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++w.add(box) ++ ++nb = Notebook(can_close_tabs=True) ++box.pack_start(nb, False, False, 0) ++ ++for i in range(5): ++ bufferf = "Prepend Frame %d" % (i + 1) ++ bufferl = "PPage %d" % (i + 1) ++ ++ frame = Gtk.Frame() ++ frame.set_border_width(10) ++ frame.set_size_request(100, 75) ++ label = Gtk.Label(bufferf) ++ frame.add(label) ++ label.show() ++ nb.add_page(bufferl, frame) ++ frame.show() ++ ++w.show_all() ++ ++Gtk.main() +diff --git b/examples/progress.py a/examples/progress.py +new file mode 100644 +index 0000000..62a9313 +--- /dev/null ++++ a/examples/progress.py +@@ -0,0 +1,20 @@ ++from gi.repository import Gtk ++ ++import common ++ ++ ++test = common.Test() ++test.show() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) ++test.pack_start(box, True, False, 10) ++box.show() ++ ++bar = Gtk.ProgressBar() ++bar.set_fraction(0.5) ++box.pack_start(bar, True, True, 10) ++bar.show() ++ ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/progressicon.py a/examples/progressicon.py +new file mode 100644 +index 0000000..4bf3d99 +--- /dev/null ++++ a/examples/progressicon.py +@@ -0,0 +1,58 @@ ++from gi.repository import Gtk ++from gi.repository import GLib ++ ++from sugar3.graphics.toolbarbox import ToolbarBox ++from sugar3.graphics.progressicon import ProgressIcon ++from sugar3.graphics import style ++ ++import common ++ ++ ++test = common.Test() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++test.pack_start(box, True, True, 0) ++ ++toolbar_box = ToolbarBox() ++box.pack_start(toolbar_box, False, False, 0) ++ ++separator = Gtk.SeparatorToolItem() ++toolbar_box.toolbar.insert(separator, -1) ++ ++icon = ProgressIcon( ++ pixel_size=style.LARGE_ICON_SIZE, ++ icon_name='computer-xo', ++ stroke_color=style.COLOR_BUTTON_GREY.get_svg(), ++ fill_color=style.COLOR_WHITE.get_svg()) ++test.pack_start(icon, True, True, 0) ++icon.show() ++ ++icon2 = ProgressIcon( ++ pixel_size=style.LARGE_ICON_SIZE, ++ icon_name='computer-xo', ++ stroke_color=style.COLOR_BUTTON_GREY.get_svg(), ++ fill_color=style.COLOR_WHITE.get_svg(), ++ direction='horizontal') ++test.pack_start(icon2, True, True, 0) ++icon2.show() ++ ++test.show_all() ++ ++progress = 0 ++ ++ ++def timeout_cb(): ++ global progress ++ progress += 0.05 ++ icon.update(progress) ++ icon2.update(progress) ++ if progress >= 1: ++ return False ++ return True ++ ++ ++GLib.timeout_add(50, timeout_cb) ++ ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/radiopalette.py a/examples/radiopalette.py +new file mode 100644 +index 0000000..8537144 +--- /dev/null ++++ a/examples/radiopalette.py +@@ -0,0 +1,78 @@ ++from gi.repository import Gtk ++ ++from sugar3.graphics.radiopalette import RadioPalette, RadioMenuButton, \ ++ RadioToolsButton ++from sugar3.graphics.radiotoolbutton import RadioToolButton ++from common import set_theme ++set_theme() ++ ++ ++window = Gtk.Window() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++window.add(box) ++ ++toolbar = Gtk.Toolbar() ++box.pack_start(toolbar, False, False, 0) ++ ++text_view = Gtk.TextView() ++box.pack_start(text_view, True, True, 0) ++ ++ ++def echo(button, label): ++ if not button.props.active: ++ return ++ text_view.props.buffer.props.text += '\n' + label ++ ++ ++# RadioMenuButton ++ ++palette = RadioPalette() ++ ++group = RadioToolButton( ++ icon_name='document-open') ++group.connect('clicked', lambda button: echo(button, 'document-open')) ++palette.append(group, 'menu.document-open') ++ ++button = RadioToolButton( ++ icon_name='document-save', ++ group=group) ++button.connect('clicked', lambda button: echo(button, 'document-save')) ++palette.append(button, 'menu.document-save') ++ ++button = RadioToolButton( ++ icon_name='document-send', ++ group=group) ++button.connect('clicked', lambda button: echo(button, 'document-send')) ++palette.append(button, 'menu.document-send') ++ ++button = RadioMenuButton(palette=palette) ++toolbar.insert(button, -1) ++ ++# RadioToolsButton ++ ++palette = RadioPalette() ++ ++group = RadioToolButton( ++ icon_name='document-open') ++group.connect('clicked', lambda button: echo(button, 'document-open')) ++palette.append(group, 'menu.document-open') ++ ++button = RadioToolButton( ++ icon_name='document-save', ++ group=group) ++button.connect('clicked', lambda button: echo(button, 'document-save')) ++palette.append(button, 'menu.document-save') ++ ++button = RadioToolButton( ++ icon_name='document-send', ++ group=group) ++button.connect('clicked', lambda button: echo(button, 'document-send')) ++palette.append(button, 'menu.document-send') ++ ++button = RadioToolsButton(palette=palette) ++toolbar.insert(button, -1) ++ ++window.connect('delete-event', Gtk.main_quit) ++window.show_all() ++Gtk.main() +diff --git b/examples/radiotoolbutton.py a/examples/radiotoolbutton.py +new file mode 100644 +index 0000000..5d0b547 +--- /dev/null ++++ a/examples/radiotoolbutton.py +@@ -0,0 +1,48 @@ ++from gi.repository import Gtk ++from sugar3.graphics.radiotoolbutton import RadioToolButton ++from sugar3.graphics.radiopalette import RadioPalette, RadioMenuButton ++from sugar3.graphics.xocolor import XoColor ++ ++ ++from common import set_theme ++set_theme() ++ ++window = Gtk.Window() ++window.show() ++window.connect("delete-event", Gtk.main_quit) ++ ++box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) ++window.add(box) ++box.show() ++ ++ ++def echo(button, label): ++ if not button.props.active: ++ return ++ print(label) ++ ++ ++palette = RadioPalette() ++# Adding 3 RadioToolButtons to a palette ++ ++button1 = RadioToolButton(icon_name='document-save', accelerator="S", ++ xo_color=XoColor("white")) ++button1.connect('toggled', lambda button: echo(button, 'document-save')) ++palette.append(button1, 'menu.document-save') ++ ++button2 = RadioToolButton(icon_name='document-open', accelerator="O", ++ xo_color=XoColor("white"), group=button1) ++button2.connect('toggled', lambda button: echo(button, 'document-open')) ++palette.append(button2, 'menu.document-open') ++ ++button3 = RadioToolButton(icon_name='document-send', accelerator="F", ++ xo_color=XoColor("white"), group=button1) ++button3.connect('toggled', lambda button: echo(button, 'document-send')) ++palette.append(button3, 'menu.document-send') ++ ++button = RadioMenuButton(palette=palette) ++box.pack_start(button, False, False, 1) ++button.show() ++ ++if __name__ == '__main__': ++ Gtk.main() +diff --git b/examples/scrollingdetector.py a/examples/scrollingdetector.py +new file mode 100644 +index 0000000..df0c70a +--- /dev/null ++++ a/examples/scrollingdetector.py +@@ -0,0 +1,73 @@ ++import os ++import time ++ ++from gi.repository import Gtk ++ ++from sugar3.graphics import style ++from sugar3.graphics.icon import CellRendererIcon ++from sugar3.graphics.xocolor import XoColor ++from sugar3.graphics.scrollingdetector import ScrollingDetector ++from sugar3.graphics.palettewindow import TreeViewInvoker ++import common ++ ++ ++def _scroll_start_cb(event, treeview, invoker): ++ print("Scroll starts") ++ invoker.detach() ++ ++ ++def _scroll_end_cb(event, treeview, invoker): ++ print("Scroll ends") ++ invoker.attach_treeview(treeview) ++ ++ ++test = common.Test() ++test.show() ++ ++model = Gtk.ListStore(str) ++ ++data_dir = os.getenv('GTK_DATA_PREFIX', '/usr/') ++ ++iconlist = os.listdir(os.path.join(data_dir, ++ 'share/icons/sugar/scalable/actions/')) ++print("Displaying %s icons" % len(iconlist)) ++for icon in iconlist: ++ icon = os.path.basename(icon) ++ icon = icon[:icon.find('.')] ++ model.append([icon]) ++ ++scrolled = Gtk.ScrolledWindow() ++scrolled.set_size_request(800, 800) ++treeview = Gtk.TreeView() ++ ++treeview.set_model(model) ++scrolled.add(treeview) ++test.pack_start(scrolled, True, True, 0) ++test.show_all() ++ ++col = Gtk.TreeViewColumn() ++treeview.append_column(col) ++ ++xo_color = XoColor('#FF0000,#00FF00') ++cell_icon = CellRendererIcon() ++cell_icon.props.width = style.GRID_CELL_SIZE ++cell_icon.props.height = style.GRID_CELL_SIZE ++cell_icon.props.size = style.STANDARD_ICON_SIZE ++cell_icon.props.xo_color = xo_color ++ ++col.pack_start(cell_icon, expand=False) ++col.add_attribute(cell_icon, 'icon-name', 0) ++cell_text = Gtk.CellRendererText() ++col.pack_start(cell_text, expand=True) ++col.add_attribute(cell_text, 'text', 0) ++ ++invoker = TreeViewInvoker() ++invoker.attach_treeview(treeview) ++ ++detector = ScrollingDetector(scrolled) ++detector.connect('scroll-start', _scroll_start_cb, treeview, invoker) ++detector.connect('scroll-end', _scroll_end_cb, treeview, invoker) ++ ++if __name__ == '__main__': ++ time_ini = time.time() ++ common.main(test) +diff --git b/examples/tabs.py a/examples/tabs.py +new file mode 100644 +index 0000000..7a8b52f +--- /dev/null ++++ a/examples/tabs.py +@@ -0,0 +1,46 @@ ++#!/usr/bin/python3 ++from gi.repository import Gtk ++ ++from sugar3.graphics.icon import Icon ++ ++import common ++test = common.Test() ++test.show() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) ++test.pack_start(box, True, True, 0) ++box.show() ++ ++# notebook without button ++ ++notebook = Gtk.Notebook() ++box.pack_start(notebook, True, True, 0) ++notebook.show() ++ ++for i in range(3): ++ hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) ++ notebook.append_page(hbox, Gtk.Label('Page %d' % (i + 1))) ++ hbox.show() ++ ++# notebook with buttons ++ ++notebook = Gtk.Notebook() ++box.pack_start(notebook, True, True, 0) ++notebook.show() ++ ++add_icon = Icon(icon_name='add') ++button = Gtk.Button() ++button.props.focus_on_click = False ++button.add(add_icon) ++add_icon.show() ++ ++notebook.set_action_widget(button, Gtk.PackType.END) ++button.show() ++ ++for i in range(3): ++ hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) ++ notebook.append_page(hbox, Gtk.Label('Page %d' % (i + 1))) ++ hbox.show() ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/ticket2855.py a/examples/ticket2855.py +new file mode 100644 +index 0000000..59a2917 +--- /dev/null ++++ a/examples/ticket2855.py +@@ -0,0 +1,60 @@ ++# Copyright (C) 2007, Red Hat, Inc. ++# ++# This library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2 of the License, or (at your option) any later version. ++# ++# This library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with this library; if not, write to the ++# Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++# Boston, MA 02111-1307, USA. ++ ++""" ++Test the style of toggle and radio buttons inside a palette. The buttons ++contains only an icon and should be rendered similarly to the toolbar ++controls. Ticket #2855. ++""" ++ ++from gi.repository import Gtk ++ ++from sugar3.graphics.palette import Palette ++from sugar3.graphics.icon import Icon ++from sugar3.graphics import style ++ ++import common ++ ++test = common.TestPalette() ++ ++palette = Palette('Test radio and toggle') ++test.set_palette(palette) ++ ++box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) ++ ++toggle = Gtk.ToggleButton() ++ ++icon = Icon(icon_name='go-previous', pixel_size=style.STANDARD_ICON_SIZE) ++toggle.set_image(icon) ++ ++box.pack_start(toggle, False, False, 0) ++toggle.show() ++ ++radio = Gtk.RadioButton() ++ ++icon = Icon(icon_name='go-next', pixel_size=style.STANDARD_ICON_SIZE) ++radio.set_image(icon) ++ ++radio.set_mode(False) ++box.pack_start(radio, False, False, 0) ++radio.show() ++ ++palette.set_content(box) ++box.show() ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/bin/sugar-activity-web a/examples/ticket2999.py +similarity index 66% +copy from bin/sugar-activity-web +copy to examples/ticket2999.py +index 8fd7a59..0d42297 100644 +--- b/bin/sugar-activity-web ++++ a/examples/ticket2999.py +@@ -1,6 +1,4 @@ +-#!/bin/sh +- +-# Copyright (C) 2013 Daniel Narvaez ++# Copyright (C) 2007, One Laptop Per Child + # + # This library is free software; you can redistribute it and/or + # modify it under the terms of the GNU Lesser General Public +@@ -17,8 +15,21 @@ + # Free Software Foundation, Inc., 59 Temple Place - Suite 330, + # Boston, MA 02111-1307, USA. + +-if [ "$SUGAR_USE_WEBKIT1" = "yes" ]; then +- exec sugar-activity3 sugar3.activity.webkit1.WebActivity $@ +-else +- exec sugar-activity3 sugar3.activity.webactivity.WebActivity $@ +-fi ++""" ++Spec in ticket #2999. ++""" ++ ++from gi.repository import Gtk ++ ++import common ++ ++test = common.Test() ++test.set_border_width(60) ++ ++text_view = Gtk.TextView() ++text_view.props.buffer.props.text = 'Blah blah blah, blah blah blah.' ++test.pack_start(text_view, True, True, 0) ++text_view.show() ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/bin/sugar-activity-web a/examples/ticket3000.py +similarity index 56% +copy from bin/sugar-activity-web +copy to examples/ticket3000.py +index 8fd7a59..488985e 100644 +--- b/bin/sugar-activity-web ++++ a/examples/ticket3000.py +@@ -1,6 +1,4 @@ +-#!/bin/sh +- +-# Copyright (C) 2013 Daniel Narvaez ++# Copyright (C) 2007, One Laptop Per Child + # + # This library is free software; you can redistribute it and/or + # modify it under the terms of the GNU Lesser General Public +@@ -17,8 +15,34 @@ + # Free Software Foundation, Inc., 59 Temple Place - Suite 330, + # Boston, MA 02111-1307, USA. + +-if [ "$SUGAR_USE_WEBKIT1" = "yes" ]; then +- exec sugar-activity3 sugar3.activity.webkit1.WebActivity $@ +-else +- exec sugar-activity3 sugar3.activity.webactivity.WebActivity $@ +-fi ++""" ++Spec in ticket #3000. ++""" ++ ++from gi.repository import Gtk ++ ++from sugar3.graphics.toolbutton import ToolButton ++ ++import common ++ ++test = common.Test() ++ ++toolbar = Gtk.Toolbar() ++test.pack_start(toolbar, False, False, 0) ++toolbar.show() ++ ++button = ToolButton('go-previous') ++toolbar.insert(button, -1) ++button.show() ++ ++separator = Gtk.SeparatorToolItem() ++toolbar.add(separator) ++separator.show() ++ ++button = ToolButton('go-next') ++toolbar.insert(button, -1) ++button.show() ++ ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/toggletoolbutton.py a/examples/toggletoolbutton.py +new file mode 100644 +index 0000000..bc37c17 +--- /dev/null ++++ a/examples/toggletoolbutton.py +@@ -0,0 +1,33 @@ ++from gi.repository import Gtk ++ ++from sugar3.graphics.toolbarbox import ToolbarBox ++from sugar3.graphics.toggletoolbutton import ToggleToolButton ++ ++import common ++ ++ ++test = common.Test() ++test.show() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++test.pack_start(box, True, True, 0) ++box.show() ++ ++toolbar_box = ToolbarBox() ++box.pack_start(toolbar_box, False, False, 0) ++toolbar_box.show() ++ ++favorite_button = ToggleToolButton('emblem-favorite') ++favorite_button.set_tooltip('Favorite') ++toolbar_box.toolbar.insert(favorite_button, -1) ++favorite_button.show() ++ ++favorite_button2 = ToggleToolButton('emblem-favorite') ++favorite_button2.set_tooltip('Favorite') ++toolbar_box.toolbar.insert(favorite_button2, -1) ++favorite_button2.set_active(True) ++favorite_button2.show() ++ ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/toolbar.py a/examples/toolbar.py +new file mode 100644 +index 0000000..dc3cb41 +--- /dev/null ++++ a/examples/toolbar.py +@@ -0,0 +1,56 @@ ++from gi.repository import Gtk ++ ++from sugar3.graphics.toolbutton import ToolButton ++from sugar3.graphics.toolbarbox import ToolbarBox, ToolbarButton ++from common import set_theme ++set_theme() ++ ++ ++window = Gtk.Window() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++window.add(box) ++ ++toolbar = ToolbarBox() ++box.pack_start(toolbar, False, False, 0) ++ ++tollbarbutton_1 = ToolbarButton( ++ page=Gtk.Button('sub-widget #1'), ++ icon_name='computer-xo') ++toolbar.toolbar.insert(tollbarbutton_1, -1) ++ ++tollbarbutton_2 = ToolbarButton( ++ page=Gtk.Button('sub-widget #2'), ++ icon_name='button_cancel', ++ tooltip='with custom palette instead of sub-widget') ++toolbar.toolbar.insert(tollbarbutton_2, -1) ++ ++toolbar.toolbar.insert(Gtk.SeparatorToolItem(), -1) ++ ++ ++def del_cb(widget): ++ toolbar.toolbar.remove(tollbarbutton_3) ++ ++ ++del_b = Gtk.Button('delete sub-widget #3') ++del_b.connect('clicked', del_cb) ++tollbarbutton_3 = ToolbarButton( ++ page=del_b, ++ icon_name='activity-journal') ++toolbar.toolbar.insert(tollbarbutton_3, -1) ++ ++subbar = Gtk.Toolbar() ++subbutton = ToolButton( ++ icon_name='document-send', ++ tooltip='document-send') ++subbar.insert(subbutton, -1) ++subbar.show_all() ++ ++tollbarbutton_4 = ToolbarButton( ++ page=subbar, ++ icon_name='document-save') ++toolbar.toolbar.insert(tollbarbutton_4, -1) ++ ++window.connect('delete-event', Gtk.main_quit) ++window.show_all() ++Gtk.main() +diff --git b/examples/toolbarpalettes.py a/examples/toolbarpalettes.py +new file mode 100644 +index 0000000..5d9ee9a +--- /dev/null ++++ a/examples/toolbarpalettes.py +@@ -0,0 +1,65 @@ ++# Copyright (C) 2007, Red Hat, Inc. ++# ++# This library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2 of the License, or (at your option) any later version. ++# ++# This library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with this library; if not, write to the ++# Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++# Boston, MA 02111-1307, USA. ++ ++""" ++Test palette positioning for toolbar and tray. ++""" ++ ++from gi.repository import Gtk ++ ++from sugar3.graphics.tray import HTray, TrayButton ++from sugar3.graphics.toolbutton import ToolButton ++ ++import common ++ ++test = common.Test() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++ ++theme_icons = Gtk.IconTheme.get_default().list_icons() ++ ++toolbar = Gtk.Toolbar() ++box.pack_start(toolbar, False, False, 0) ++toolbar.show() ++ ++for i in range(0, 5): ++ button = ToolButton(icon_name=theme_icons[i]) ++ button.set_tooltip('Icon %d' % i) ++ toolbar.insert(button, -1) ++ button.show() ++ ++content = Gtk.Label() ++box.pack_start(content, True, True, 0) ++content.show() ++ ++tray = HTray() ++box.pack_start(tray, False, False, 0) ++tray.show() ++ ++for i in range(0, 30): ++ button = TrayButton(icon_name=theme_icons[i]) ++ button.set_tooltip('Icon %d' % i) ++ tray.add_item(button) ++ button.show() ++ ++test.pack_start(box, True, True, 0) ++box.show() ++ ++test.show() ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/toolbutton.py a/examples/toolbutton.py +new file mode 100644 +index 0000000..c4a2649 +--- /dev/null ++++ a/examples/toolbutton.py +@@ -0,0 +1,36 @@ ++from gi.repository import Gtk ++ ++from sugar3.graphics.toolbarbox import ToolbarBox ++from sugar3.graphics.toolbutton import ToolButton ++ ++import common ++ ++ ++test = common.Test() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++test.pack_start(box, True, True, 0) ++ ++toolbar_box = ToolbarBox() ++box.pack_start(toolbar_box, False, False, 0) ++ ++separator = Gtk.SeparatorToolItem() ++toolbar_box.toolbar.insert(separator, -1) ++ ++ ++def __clicked_cb(button): ++ n = int(button.get_tooltip()) ++ button.set_tooltip(str(n + 1)) ++ print("tool button click count %d" % n) ++ ++ ++tool_button = ToolButton(icon_name='view-radial', tooltip='0') ++tool_button.connect('clicked', __clicked_cb) ++tool_button.set_hide_tooltip_on_click(False) ++tool_button.set_accelerator('') ++toolbar_box.toolbar.insert(tool_button, -1) ++ ++test.show_all() ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/toolbuttons.py a/examples/toolbuttons.py +new file mode 100644 +index 0000000..75e9e49 +--- /dev/null ++++ a/examples/toolbuttons.py +@@ -0,0 +1,46 @@ ++from gi.repository import Gtk ++ ++from sugar3.graphics.toolbarbox import ToolbarBox ++from sugar3.graphics.colorbutton import ColorToolButton ++from sugar3.graphics.radiotoolbutton import RadioToolButton ++from sugar3.graphics.toggletoolbutton import ToggleToolButton ++ ++import common ++ ++ ++test = common.Test() ++test.show() ++ ++box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++test.pack_start(box, True, True, 0) ++box.show() ++ ++toolbar_box = ToolbarBox() ++box.pack_start(toolbar_box, False, False, 0) ++toolbar_box.show() ++ ++radial_button = RadioToolButton(icon_name='view-radial') ++toolbar_box.toolbar.insert(radial_button, -1) ++radial_button.show() ++ ++list_button = RadioToolButton(icon_name='view-list') ++list_button.props.group = radial_button ++toolbar_box.toolbar.insert(list_button, -1) ++list_button.show() ++ ++separator = Gtk.SeparatorToolItem() ++toolbar_box.toolbar.insert(separator, -1) ++separator.show() ++ ++color_button = ColorToolButton() ++toolbar_box.toolbar.insert(color_button, -1) ++color_button.show() ++ ++favorite_button = ToggleToolButton('emblem-favorite') ++favorite_button.set_tooltip('Favorite') ++toolbar_box.toolbar.insert(favorite_button, -1) ++favorite_button.show() ++ ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/examples/tray.py a/examples/tray.py +new file mode 100644 +index 0000000..b336a92 +--- /dev/null ++++ a/examples/tray.py +@@ -0,0 +1,82 @@ ++# Copyright (C) 2007, Red Hat, Inc. ++# ++# This library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2 of the License, or (at your option) any later version. ++# ++# This library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with this library; if not, write to the ++# Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++# Boston, MA 02111-1307, USA. ++ ++""" ++Test the sugar3.graphics.icon.Icon widget. ++""" ++ ++from gi.repository import Gtk ++ ++from sugar3.graphics.tray import HTray, VTray ++from sugar3.graphics.tray import TrayButton, TrayIcon ++ ++import common ++ ++test = common.Test() ++ ++vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ++ ++tray = HTray() ++vbox.pack_start(tray, False, False, 0) ++tray.show() ++ ++theme_icons = Gtk.IconTheme.get_default().list_icons(context=None) ++ ++for i in range(0, 100): ++ button = TrayButton(icon_name=theme_icons[i]) ++ tray.add_item(button) ++ button.show() ++ ++tray = HTray() ++vbox.pack_start(tray, False, False, 0) ++tray.show() ++ ++for i in range(0, 10): ++ icon = TrayIcon(icon_name=theme_icons[i]) ++ tray.add_item(icon) ++ icon.show() ++ ++hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) ++ ++tray = VTray() ++hbox.pack_start(tray, False, False, 0) ++tray.show() ++ ++for i in range(0, 100): ++ button = TrayButton(icon_name=theme_icons[i]) ++ tray.add_item(button) ++ button.show() ++ ++tray = VTray() ++hbox.pack_start(tray, False, False, 0) ++tray.show() ++ ++for i in range(0, 4): ++ button = TrayButton(icon_name=theme_icons[i]) ++ tray.add_item(button) ++ button.show() ++ ++vbox.pack_start(hbox, True, True, 0) ++hbox.show() ++ ++test.pack_start(vbox, True, True, 0) ++vbox.show() ++ ++test.show() ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/m4/.gitignore a/m4/.gitignore +new file mode 100644 +index 0000000..e08c7c8 +--- /dev/null ++++ a/m4/.gitignore +@@ -0,0 +1,3 @@ ++intltool.m4 ++libtool.m4 ++lt*.m4 +diff --git b/m4/python.m4 a/m4/python.m4 +new file mode 100644 +index 0000000..e1c5266 +--- /dev/null ++++ a/m4/python.m4 +@@ -0,0 +1,62 @@ ++## this one is commonly used with AM_PATH_PYTHONDIR ... ++dnl AM_CHECK_PYMOD(MODNAME [,SYMBOL [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]]) ++dnl Check if a module containing a given symbol is visible to python. ++AC_DEFUN([AM_CHECK_PYMOD], ++[AC_REQUIRE([AM_PATH_PYTHON]) ++py_mod_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'` ++AC_MSG_CHECKING(for ifelse([$2],[],,[$2 in ])python module $1) ++AC_CACHE_VAL(py_cv_mod_$py_mod_var, [ ++ifelse([$2],[], [prog=" ++import sys ++try: ++ import $1 ++except ImportError: ++ sys.exit(1) ++except: ++ sys.exit(0) ++sys.exit(0)"], [prog=" ++import $1 ++$1.$2"]) ++if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC ++ then ++ eval "py_cv_mod_$py_mod_var=yes" ++ else ++ eval "py_cv_mod_$py_mod_var=no" ++ fi ++]) ++py_val=`eval "echo \`echo '$py_cv_mod_'$py_mod_var\`"` ++if test "x$py_val" != xno; then ++ AC_MSG_RESULT(yes) ++ ifelse([$3], [],, [$3 ++])dnl ++else ++ AC_MSG_RESULT(no) ++ ifelse([$4], [],, [$4 ++])dnl ++fi ++]) ++ ++dnl a macro to check for ability to create python extensions ++dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE]) ++dnl function also defines PYTHON_INCLUDES ++AC_DEFUN([AM_CHECK_PYTHON_HEADERS], ++[AC_REQUIRE([AM_PATH_PYTHON]) ++AC_MSG_CHECKING(for headers required to compile python extensions) ++dnl deduce PYTHON_INCLUDES ++py_prefix=`$PYTHON -c "import sys; print sys.prefix"` ++py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` ++PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" ++if test "$py_prefix" != "$py_exec_prefix"; then ++ PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" ++fi ++AC_SUBST(PYTHON_INCLUDES) ++dnl check if the headers exist: ++save_CPPFLAGS="$CPPFLAGS" ++CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" ++AC_TRY_CPP([#include ],dnl ++[AC_MSG_RESULT(found) ++$1],dnl ++[AC_MSG_RESULT(not found) ++$2]) ++CPPFLAGS="$save_CPPFLAGS" ++]) +diff --git b/make-doc.sh a/make-doc.sh +new file mode 100755 +index 0000000..d8721d9 +--- /dev/null ++++ a/make-doc.sh +@@ -0,0 +1,4 @@ ++#!/bin/sh ++ ++sphinx-apidoc --force --separate --output-dir=doc src ++make -C doc html +diff --git b/po/.gitignore a/po/.gitignore +new file mode 100644 +index 0000000..da9bbde +--- /dev/null ++++ a/po/.gitignore +@@ -0,0 +1,4 @@ ++*.gmo ++Makefile.in.in ++POTFILES ++stamp-it +diff --git b/po/ast.po a/po/ast.po +new file mode 100644 +index 0000000..983872f +--- /dev/null ++++ a/po/ast.po +@@ -0,0 +1,559 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# FIRST AUTHOR , YEAR. ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2017-10-16 18:58+1100\n" ++"PO-Revision-Date: 2016-10-05 03:47+0000\n" ++"Last-Translator: Chris \n" ++"Language-Team: LANGUAGE \n" ++"Language: ast\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Pootle 2.5.1.1\n" ++"X-POOTLE-MTIME: 1475639246.000000\n" ++ ++#: ../src/sugar3/activity/activity.py:416 src/sugar3/activity/activity.py:467 ++#, python-format ++msgid "%s Activity" ++msgstr "" ++ ++#: ../src/sugar3/activity/activity.py:967 src/sugar3/activity/activity.py:1127 ++msgid "Keep error" ++msgstr "" ++ ++#: ../src/sugar3/activity/activity.py:968 src/sugar3/activity/activity.py:1128 ++msgid "Keep error: all changes will be lost" ++msgstr "" ++ ++#: ../src/sugar3/activity/activity.py:971 src/sugar3/activity/activity.py:1131 ++msgid "Don't stop" ++msgstr "" ++ ++#: ../src/sugar3/activity/activity.py:975 src/sugar3/activity/activity.py:1135 ++msgid "Stop anyway" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:86 src/sugar3/activity/activity.py:1169 ++#: src/sugar3/activity/widgets.py:86 ++msgid "Stop" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:98 src/sugar3/activity/widgets.py:99 ++msgid "Undo" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:106 src/sugar3/activity/widgets.py:107 ++msgid "Redo" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:113 src/sugar3/activity/widgets.py:114 ++msgid "Copy" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:121 src/sugar3/activity/widgets.py:122 ++msgid "Paste" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:132 src/sugar3/activity/widgets.py:133 ++msgid "Private" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:139 src/sugar3/activity/widgets.py:140 ++msgid "My Neighborhood" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:233 src/sugar3/activity/widgets.py:234 ++msgid "Description" ++msgstr "" ++ ++#: ../src/sugar3/graphics/alert.py:287 ../src/sugar3/graphics/alert.py:429 ++#: src/sugar3/activity/activity.py:1189 src/sugar3/graphics/alert.py:301 ++#: src/sugar3/graphics/alert.py:467 ++msgid "Cancel" ++msgstr "" ++ ++#: ../src/sugar3/graphics/alert.py:291 ../src/sugar3/graphics/alert.py:337 ++#: ../src/sugar3/graphics/alert.py:479 src/sugar3/graphics/alert.py:305 ++#: src/sugar3/graphics/alert.py:346 src/sugar3/graphics/alert.py:393 ++#: src/sugar3/graphics/alert.py:512 ++msgid "Ok" ++msgstr "" ++ ++#: ../src/sugar3/graphics/alert.py:434 src/sugar3/graphics/alert.py:464 ++msgid "Continue" ++msgstr "" ++ ++#: ../src/sugar3/graphics/colorbutton.py:54 ++#: src/sugar3/graphics/colorbutton.py:55 ++msgid "Choose a color" ++msgstr "" ++ ++#: ../src/sugar3/graphics/colorbutton.py:279 ++#: src/sugar3/graphics/colorbutton.py:300 ++msgid "Red" ++msgstr "" ++ ++#: ../src/sugar3/graphics/colorbutton.py:281 ++#: src/sugar3/graphics/colorbutton.py:302 ++#, fuzzy ++msgid "Green" ++msgstr "griegu" ++ ++#: ../src/sugar3/graphics/colorbutton.py:283 ++#: src/sugar3/graphics/colorbutton.py:304 ++msgid "Blue" ++msgstr "" ++ ++#: ../src/sugar3/util.py:217 src/sugar3/util.py:217 ++msgid " and " ++msgstr "" ++ ++#: ../src/sugar3/util.py:218 src/sugar3/util.py:218 ++msgid ", " ++msgstr "" ++ ++#. TRANS: Indicating something that just happened, eg. "just now", "moments ago" ++#: ../src/sugar3/util.py:221 src/sugar3/util.py:221 ++msgid "Seconds ago" ++msgstr "" ++ ++#. TRANS: Indicating time passed, eg. "[10 day, 5 hours] ago", ++#. "[2 minutes] in the past", or "[3 years, 1 month] earlier" ++#: ../src/sugar3/util.py:225 src/sugar3/util.py:225 ++#, python-format ++msgid "%s ago" ++msgstr "" ++ ++#. TRANS: Relative dates (eg. 1 month and 5 days). ++#: ../src/sugar3/util.py:240 src/sugar3/util.py:240 ++#, python-format ++msgid "%d year" ++msgid_plural "%d years" ++msgstr[0] "" ++msgstr[1] "" ++ ++#: ../src/sugar3/util.py:241 src/sugar3/util.py:241 ++#, python-format ++msgid "%d month" ++msgid_plural "%d months" ++msgstr[0] "" ++msgstr[1] "" ++ ++#: ../src/sugar3/util.py:242 src/sugar3/util.py:242 ++#, python-format ++msgid "%d week" ++msgid_plural "%d weeks" ++msgstr[0] "" ++msgstr[1] "" ++ ++#: ../src/sugar3/util.py:243 src/sugar3/util.py:243 ++#, python-format ++msgid "%d day" ++msgid_plural "%d days" ++msgstr[0] "" ++msgstr[1] "" ++ ++#: ../src/sugar3/util.py:244 src/sugar3/util.py:244 ++#, python-format ++msgid "%d hour" ++msgid_plural "%d hours" ++msgstr[0] "" ++msgstr[1] "" ++ ++#: ../src/sugar3/util.py:245 src/sugar3/util.py:245 ++#, python-format ++msgid "%d minute" ++msgid_plural "%d minutes" ++msgstr[0] "" ++msgstr[1] "" ++ ++#: ../src/sugar3/util.py:346 src/sugar3/util.py:346 ++msgid "Empty" ++msgstr "" ++ ++#: ../src/sugar3/util.py:348 src/sugar3/util.py:348 ++#, python-format ++msgid "%d B" ++msgstr "" ++ ++#: ../src/sugar3/util.py:350 src/sugar3/util.py:350 ++#, python-format ++msgid "%d KB" ++msgstr "" ++ ++#: ../src/sugar3/util.py:352 src/sugar3/util.py:352 ++#, python-format ++msgid "%d MB" ++msgstr "" ++ ++#: ../src/sugar3/util.py:354 src/sugar3/util.py:354 ++#, python-format ++msgid "%d GB" ++msgstr "" ++ ++#: ../src/sugar3/mime.py:56 src/sugar3/mime.py:59 ++msgid "Text" ++msgstr "Testu" ++ ++#: ../src/sugar3/mime.py:63 src/sugar3/mime.py:66 ++msgid "Image" ++msgstr "" ++ ++#: ../src/sugar3/mime.py:68 src/sugar3/mime.py:71 ++msgid "Audio" ++msgstr "" ++ ++#: ../src/sugar3/mime.py:75 src/sugar3/mime.py:78 ++msgid "Video" ++msgstr "" ++ ++#: ../src/sugar3/mime.py:86 src/sugar3/mime.py:89 ++msgid "Link" ++msgstr "" ++ ++#: ../src/sugar3/mime.py:91 src/sugar3/mime.py:94 ++msgid "Bundle" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:48 src/sugar3/speech.py:56 ++msgid "Afrikaans" ++msgstr "afrikaans" ++ ++#: ../src/sugar3/speech.py:49 src/sugar3/speech.py:58 ++msgid "Aragonese" ++msgstr "aragonés" ++ ++#: ../src/sugar3/speech.py:50 src/sugar3/speech.py:60 ++msgid "Bulgarian" ++msgstr "búlgaru" ++ ++#: ../src/sugar3/speech.py:51 src/sugar3/speech.py:62 ++msgid "Bosnian" ++msgstr "bosniu" ++ ++#: ../src/sugar3/speech.py:52 src/sugar3/speech.py:64 ++msgid "Catalan" ++msgstr "catalán" ++ ++#: ../src/sugar3/speech.py:53 src/sugar3/speech.py:66 ++msgid "Czech" ++msgstr "checu" ++ ++#: ../src/sugar3/speech.py:54 src/sugar3/speech.py:68 ++msgid "Welsh" ++msgstr "galés" ++ ++#: ../src/sugar3/speech.py:55 src/sugar3/speech.py:70 ++msgid "Danish" ++msgstr "danés" ++ ++#: ../src/sugar3/speech.py:56 src/sugar3/speech.py:72 ++msgid "German" ++msgstr "alemán" ++ ++#: ../src/sugar3/speech.py:57 src/sugar3/speech.py:74 ++msgid "Greek" ++msgstr "griegu" ++ ++#: ../src/sugar3/speech.py:58 ++msgid "Default" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:59 src/sugar3/speech.py:77 ++msgid "English Britain" ++msgstr "inglés de Gran Bretaña" ++ ++#: ../src/sugar3/speech.py:60 src/sugar3/speech.py:79 ++#, fuzzy ++msgid "English scottish" ++msgstr "inglés" ++ ++#: ../src/sugar3/speech.py:61 src/sugar3/speech.py:80 ++#, fuzzy ++msgid "English-north" ++msgstr "inglés" ++ ++#: ../src/sugar3/speech.py:62 src/sugar3/speech.py:82 ++msgid "English_rp" ++msgstr "inglés" ++ ++#: ../src/sugar3/speech.py:63 src/sugar3/speech.py:84 ++#, fuzzy ++msgid "English_wmids" ++msgstr "inglés" ++ ++#: ../src/sugar3/speech.py:64 src/sugar3/speech.py:86 ++msgid "English USA" ++msgstr "Inglés (EE.XX.)" ++ ++#: ../src/sugar3/speech.py:65 ++#, fuzzy ++msgid "English west indies" ++msgstr "inglés" ++ ++#: ../src/sugar3/speech.py:66 src/sugar3/speech.py:90 ++msgid "Esperanto" ++msgstr "esperanto" ++ ++#: ../src/sugar3/speech.py:67 src/sugar3/speech.py:92 ++msgid "Spanish" ++msgstr "español" ++ ++#: ../src/sugar3/speech.py:68 src/sugar3/speech.py:93 ++#, fuzzy ++msgid "Spanish latin american" ++msgstr "español" ++ ++#: ../src/sugar3/speech.py:69 src/sugar3/speech.py:95 ++msgid "Estonian" ++msgstr "estoniu" ++ ++#: ../src/sugar3/speech.py:70 src/sugar3/speech.py:97 ++msgid "Farsi" ++msgstr "persa" ++ ++#: ../src/sugar3/speech.py:71 src/sugar3/speech.py:99 ++msgid "Farsi-pinglish" ++msgstr "persa-inglés" ++ ++#: ../src/sugar3/speech.py:72 src/sugar3/speech.py:101 ++msgid "Finnish" ++msgstr "finlandés" ++ ++#: ../src/sugar3/speech.py:73 src/sugar3/speech.py:103 ++msgid "French belgium" ++msgstr "Francés (Bélxica)" ++ ++#: ../src/sugar3/speech.py:74 src/sugar3/speech.py:105 ++msgid "French" ++msgstr "francés" ++ ++#: ../src/sugar3/speech.py:75 src/sugar3/speech.py:107 ++msgid "Irish-gaeilge" ++msgstr "irlandés" ++ ++#: ../src/sugar3/speech.py:76 src/sugar3/speech.py:109 ++msgid "Greek-ancient" ++msgstr "Griegu, Antiguu" ++ ++#: ../src/sugar3/speech.py:77 src/sugar3/speech.py:111 ++msgid "Hindi" ++msgstr "hindi" ++ ++#: ../src/sugar3/speech.py:78 src/sugar3/speech.py:113 ++msgid "Croatian" ++msgstr "croata" ++ ++#: ../src/sugar3/speech.py:79 src/sugar3/speech.py:115 ++msgid "Hungarian" ++msgstr "húngaru" ++ ++#: ../src/sugar3/speech.py:80 src/sugar3/speech.py:117 ++msgid "Armenian" ++msgstr "armeniu" ++ ++#: ../src/sugar3/speech.py:81 src/sugar3/speech.py:119 ++#, fuzzy ++msgid "Armenian (west)" ++msgstr "armeniu" ++ ++#: ../src/sugar3/speech.py:82 src/sugar3/speech.py:121 ++msgid "Indonesian" ++msgstr "indonesiu" ++ ++#: ../src/sugar3/speech.py:83 src/sugar3/speech.py:123 ++msgid "Icelandic" ++msgstr "islandés" ++ ++#: ../src/sugar3/speech.py:84 src/sugar3/speech.py:125 ++msgid "Italian" ++msgstr "italianu" ++ ++#: ../src/sugar3/speech.py:85 src/sugar3/speech.py:127 ++msgid "Lojban" ++msgstr "lojban" ++ ++#: ../src/sugar3/speech.py:86 src/sugar3/speech.py:129 ++msgid "Georgian" ++msgstr "xeorxanu" ++ ++#: ../src/sugar3/speech.py:87 src/sugar3/speech.py:131 ++msgid "Kannada" ++msgstr "canarés" ++ ++#: ../src/sugar3/speech.py:88 src/sugar3/speech.py:133 ++msgid "Kurdish" ++msgstr "curdu" ++ ++#: ../src/sugar3/speech.py:89 src/sugar3/speech.py:135 ++msgid "Latin" ++msgstr "llatín" ++ ++#: ../src/sugar3/speech.py:90 src/sugar3/speech.py:137 ++msgid "Lithuanian" ++msgstr "lituanu" ++ ++#: ../src/sugar3/speech.py:91 src/sugar3/speech.py:139 ++msgid "Latvian" ++msgstr "letón" ++ ++#: ../src/sugar3/speech.py:92 src/sugar3/speech.py:141 ++msgid "Macedonian" ++msgstr "macedoniu" ++ ++#: ../src/sugar3/speech.py:93 src/sugar3/speech.py:143 ++msgid "Malayalam" ++msgstr "malayalam" ++ ++#: ../src/sugar3/speech.py:94 src/sugar3/speech.py:145 ++msgid "Malay" ++msgstr "malayu" ++ ++#: ../src/sugar3/speech.py:95 src/sugar3/speech.py:147 ++msgid "Nepali" ++msgstr "nepalés" ++ ++#: ../src/sugar3/speech.py:96 src/sugar3/speech.py:149 ++msgid "Dutch" ++msgstr "neerlandés" ++ ++#: ../src/sugar3/speech.py:97 src/sugar3/speech.py:151 ++msgid "Norwegian" ++msgstr "noruegu" ++ ++#: ../src/sugar3/speech.py:98 src/sugar3/speech.py:153 ++msgid "Punjabi" ++msgstr "punyabí" ++ ++#: ../src/sugar3/speech.py:99 src/sugar3/speech.py:155 ++msgid "Polish" ++msgstr "polacu" ++ ++#: ../src/sugar3/speech.py:100 src/sugar3/speech.py:157 ++msgid "Portuguese (Brazil)" ++msgstr "Portugués (Brasil)" ++ ++#: ../src/sugar3/speech.py:101 src/sugar3/speech.py:159 ++msgid "Portuguese (Portugal)" ++msgstr "Portugués (Portugal)" ++ ++#: ../src/sugar3/speech.py:102 src/sugar3/speech.py:161 ++msgid "Romanian" ++msgstr "rumanu" ++ ++#: ../src/sugar3/speech.py:103 src/sugar3/speech.py:163 ++msgid "Russian" ++msgstr "rusu" ++ ++#: ../src/sugar3/speech.py:104 src/sugar3/speech.py:165 ++msgid "Slovak" ++msgstr "eslovacu" ++ ++#: ../src/sugar3/speech.py:105 src/sugar3/speech.py:167 ++msgid "Albanian" ++msgstr "albanu" ++ ++#: ../src/sugar3/speech.py:106 src/sugar3/speech.py:169 ++msgid "Serbian" ++msgstr "serbiu" ++ ++#: ../src/sugar3/speech.py:107 src/sugar3/speech.py:171 ++msgid "Swedish" ++msgstr "suecu" ++ ++#: ../src/sugar3/speech.py:108 ++msgid "Swahili-test" ++msgstr "suaḥili" ++ ++#: ../src/sugar3/speech.py:109 src/sugar3/speech.py:175 ++msgid "Tamil" ++msgstr "tamil" ++ ++#: ../src/sugar3/speech.py:110 src/sugar3/speech.py:177 ++msgid "Turkish" ++msgstr "turcu" ++ ++#: ../src/sugar3/speech.py:111 src/sugar3/speech.py:179 ++msgid "Vietnam" ++msgstr "vietnamín" ++ ++#: ../src/sugar3/speech.py:112 src/sugar3/speech.py:180 ++msgid "Vietnam_hue" ++msgstr "vietnamín_hue" ++ ++#: ../src/sugar3/speech.py:113 src/sugar3/speech.py:181 ++msgid "Vietnam_sgn" ++msgstr "vietnamín_sgn" ++ ++#: ../src/sugar3/speech.py:114 src/sugar3/speech.py:183 ++#, fuzzy ++msgid "Mandarin" ++msgstr "chinu" ++ ++#: ../src/sugar3/speech.py:115 src/sugar3/speech.py:185 ++#, fuzzy ++msgid "Cantonese" ++msgstr "chinu" ++ ++#: src/sugar3/activity/activity.py:1170 ++msgid "Stop: name your journal entry" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1193 ++msgid "Cancel stop and continue the activity" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1230 ++msgid "Save new" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1231 ++msgid "Save a new journal entry" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1234 ++msgid "Save" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1235 ++msgid "Save into the old journal entry" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1241 ++msgid "Erase changes" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1242 ++msgid "Erase what you have done, and leave your old journal entry unchanged" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1245 ++msgid "Erase" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1246 ++msgid "Erase what you have done, and avoid making a journal entry" ++msgstr "" ++ ++#: src/sugar3/graphics/popwindow.py:179 ++msgid "Close" ++msgstr "" ++ ++#: src/sugar3/speech.py:75 ++msgid "English" ++msgstr "" ++ ++#: src/sugar3/speech.py:88 ++#, fuzzy ++msgid "English West Indies" ++msgstr "inglés" ++ ++#: src/sugar3/speech.py:173 ++msgid "Swahili" ++msgstr "" +diff --git b/po/nah.po a/po/nah.po +new file mode 100644 +index 0000000..17e8938 +--- /dev/null ++++ a/po/nah.po +@@ -0,0 +1,552 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# FIRST AUTHOR , YEAR. ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2017-10-16 18:58+1100\n" ++"PO-Revision-Date: 2013-08-30 17:49+0200\n" ++"Last-Translator: Chris \n" ++"Language-Team: LANGUAGE \n" ++"Language: nah\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Pootle 2.0.5\n" ++ ++#: ../src/sugar3/activity/activity.py:416 src/sugar3/activity/activity.py:467 ++#, python-format ++#, python-format, fuzzy ++msgid "%s Activity" ++msgstr "tlen ti chiuas %s" ++ ++#: ../src/sugar3/activity/activity.py:967 src/sugar3/activity/activity.py:1127 ++#, fuzzy ++msgid "Keep error" ++msgstr "kuapolo" ++ ++#: ../src/sugar3/activity/activity.py:968 src/sugar3/activity/activity.py:1128 ++msgid "Keep error: all changes will be lost" ++msgstr "kuapolo kema ti ajukui katli ti chijki pulus" ++ ++#: ../src/sugar3/activity/activity.py:971 src/sugar3/activity/activity.py:1131 ++msgid "Don't stop" ++msgstr "inka moketsas" ++ ++#: ../src/sugar3/activity/activity.py:975 src/sugar3/activity/activity.py:1135 ++msgid "Stop anyway" ++msgstr "moketsas" ++ ++#: ../src/sugar3/activity/widgets.py:86 src/sugar3/activity/activity.py:1169 ++#: src/sugar3/activity/widgets.py:86 ++#, fuzzy ++msgid "Stop" ++msgstr "Moketsas" ++ ++#: ../src/sugar3/activity/widgets.py:98 src/sugar3/activity/widgets.py:99 ++msgid "Undo" ++msgstr "patik" ++ ++#: ../src/sugar3/activity/widgets.py:106 src/sugar3/activity/widgets.py:107 ++msgid "Redo" ++msgstr "ompawi" ++ ++#: ../src/sugar3/activity/widgets.py:113 src/sugar3/activity/widgets.py:114 ++msgid "Copy" ++msgstr "ixcopina" ++ ++#: ../src/sugar3/activity/widgets.py:121 src/sugar3/activity/widgets.py:122 ++msgid "Paste" ++msgstr "tlatskis" ++ ++#: ../src/sugar3/activity/widgets.py:132 src/sugar3/activity/widgets.py:133 ++msgid "Private" ++msgstr "san iyaya" ++ ++#: ../src/sugar3/activity/widgets.py:139 src/sugar3/activity/widgets.py:140 ++msgid "My Neighborhood" ++msgstr "nechicokalime" ++ ++#: ../src/sugar3/activity/widgets.py:233 src/sugar3/activity/widgets.py:234 ++msgid "Description" ++msgstr "tlaixkuilolli" ++ ++#: ../src/sugar3/graphics/alert.py:287 ../src/sugar3/graphics/alert.py:429 ++#: src/sugar3/activity/activity.py:1189 src/sugar3/graphics/alert.py:301 ++#: src/sugar3/graphics/alert.py:467 ++#, fuzzy ++msgid "Cancel" ++msgstr "Tlamilti" ++ ++#: ../src/sugar3/graphics/alert.py:291 ../src/sugar3/graphics/alert.py:337 ++#: ../src/sugar3/graphics/alert.py:479 src/sugar3/graphics/alert.py:305 ++#: src/sugar3/graphics/alert.py:346 src/sugar3/graphics/alert.py:393 ++#: src/sugar3/graphics/alert.py:512 ++msgid "Ok" ++msgstr "selis" ++ ++#: ../src/sugar3/graphics/alert.py:434 src/sugar3/graphics/alert.py:464 ++msgid "Continue" ++msgstr "mosentokilis" ++ ++#: ../src/sugar3/graphics/colorbutton.py:54 ++#: src/sugar3/graphics/colorbutton.py:55 ++msgid "Choose a color" ++msgstr "xitlapejoeni se tlapalli" ++ ++#: ../src/sugar3/graphics/colorbutton.py:279 ++#: src/sugar3/graphics/colorbutton.py:300 ++msgid "Red" ++msgstr "chichiltik" ++ ++#: ../src/sugar3/graphics/colorbutton.py:281 ++#: src/sugar3/graphics/colorbutton.py:302 ++msgid "Green" ++msgstr "xoxowik" ++ ++#: ../src/sugar3/graphics/colorbutton.py:283 ++#: src/sugar3/graphics/colorbutton.py:304 ++msgid "Blue" ++msgstr "axoxoltik" ++ ++#: ../src/sugar3/util.py:217 src/sugar3/util.py:217 ++msgid " and " ++msgstr " wan " ++ ++#: ../src/sugar3/util.py:218 src/sugar3/util.py:218 ++msgid ", " ++msgstr ", " ++ ++#. TRANS: Indicating something that just happened, eg. "just now", "moments ago" ++#: ../src/sugar3/util.py:221 src/sugar3/util.py:221 ++msgid "Seconds ago" ++msgstr "omekawiltsitsi ikatlaika" ++ ++#. TRANS: Indicating time passed, eg. "[10 day, 5 hours] ago", ++#. "[2 minutes] in the past", or "[3 years, 1 month] earlier" ++#: ../src/sugar3/util.py:225 src/sugar3/util.py:225 ++#, python-format ++msgid "%s ago" ++msgstr "%s katlaika" ++ ++#. TRANS: Relative dates (eg. 1 month and 5 days). ++#: ../src/sugar3/util.py:240 src/sugar3/util.py:240 ++#, python-format ++msgid "%d year" ++msgid_plural "%d years" ++msgstr[0] "%d xiwitl" ++msgstr[1] "%d xiwimej" ++ ++#: ../src/sugar3/util.py:241 src/sugar3/util.py:241 ++#, python-format ++msgid "%d month" ++msgid_plural "%d months" ++msgstr[0] "%d meestli" ++msgstr[1] "%d meestlimej" ++ ++#: ../src/sugar3/util.py:242 src/sugar3/util.py:242 ++#, python-format ++msgid "%d week" ++msgid_plural "%d weeks" ++msgstr[0] "%d chikontonal" ++msgstr[1] "%d chikontonalmej" ++ ++#: ../src/sugar3/util.py:243 src/sugar3/util.py:243 ++#, python-format ++msgid "%d day" ++msgid_plural "%d days" ++msgstr[0] "%d tonal" ++msgstr[1] "%d tonalmej" ++ ++#: ../src/sugar3/util.py:244 src/sugar3/util.py:244 ++#, python-format ++msgid "%d hour" ++msgid_plural "%d hours" ++msgstr[0] "%d kawitl" ++msgstr[1] "%d kawitlmej" ++ ++#: ../src/sugar3/util.py:245 src/sugar3/util.py:245 ++#, python-format ++msgid "%d minute" ++msgid_plural "%d minutes" ++msgstr[0] "%d kawiltsi" ++msgstr[1] "%d kawilmej" ++ ++#: ../src/sugar3/util.py:346 src/sugar3/util.py:346 ++msgid "Empty" ++msgstr "kaktok" ++ ++#: ../src/sugar3/util.py:348 src/sugar3/util.py:348 ++#, python-format ++msgid "%d B" ++msgstr "%d B" ++ ++#: ../src/sugar3/util.py:350 src/sugar3/util.py:350 ++#, python-format ++msgid "%d KB" ++msgstr "%de KB" ++ ++#: ../src/sugar3/util.py:352 src/sugar3/util.py:352 ++#, python-format ++msgid "%d MB" ++msgstr "%d MB" ++ ++#: ../src/sugar3/util.py:354 src/sugar3/util.py:354 ++#, python-format ++msgid "%d GB" ++msgstr "%d GB" ++ ++#: ../src/sugar3/mime.py:56 src/sugar3/mime.py:59 ++msgid "Text" ++msgstr "tlakuilolpa" ++ ++#: ../src/sugar3/mime.py:63 src/sugar3/mime.py:66 ++msgid "Image" ++msgstr "ixnextli" ++ ++#: ../src/sugar3/mime.py:68 src/sugar3/mime.py:71 ++msgid "Audio" ++msgstr "kakiilistli" ++ ++#: ../src/sugar3/mime.py:75 src/sugar3/mime.py:78 ++msgid "Video" ++msgstr "ixnextilli" ++ ++#: ../src/sugar3/mime.py:86 src/sugar3/mime.py:89 ++msgid "Link" ++msgstr "saloli" ++ ++#: ../src/sugar3/mime.py:91 src/sugar3/mime.py:94 ++msgid "Bundle" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:48 src/sugar3/speech.py:56 ++msgid "Afrikaans" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:49 src/sugar3/speech.py:58 ++msgid "Aragonese" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:50 src/sugar3/speech.py:60 ++msgid "Bulgarian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:51 src/sugar3/speech.py:62 ++msgid "Bosnian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:52 src/sugar3/speech.py:64 ++msgid "Catalan" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:53 src/sugar3/speech.py:66 ++msgid "Czech" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:54 src/sugar3/speech.py:68 ++msgid "Welsh" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:55 src/sugar3/speech.py:70 ++msgid "Danish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:56 src/sugar3/speech.py:72 ++msgid "German" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:57 src/sugar3/speech.py:74 ++msgid "Greek" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:58 ++msgid "Default" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:59 src/sugar3/speech.py:77 ++msgid "English Britain" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:60 src/sugar3/speech.py:79 ++msgid "English scottish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:61 src/sugar3/speech.py:80 ++msgid "English-north" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:62 src/sugar3/speech.py:82 ++msgid "English_rp" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:63 src/sugar3/speech.py:84 ++msgid "English_wmids" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:64 src/sugar3/speech.py:86 ++msgid "English USA" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:65 ++msgid "English west indies" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:66 src/sugar3/speech.py:90 ++msgid "Esperanto" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:67 src/sugar3/speech.py:92 ++msgid "Spanish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:68 src/sugar3/speech.py:93 ++msgid "Spanish latin american" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:69 src/sugar3/speech.py:95 ++msgid "Estonian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:70 src/sugar3/speech.py:97 ++msgid "Farsi" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:71 src/sugar3/speech.py:99 ++msgid "Farsi-pinglish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:72 src/sugar3/speech.py:101 ++msgid "Finnish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:73 src/sugar3/speech.py:103 ++msgid "French belgium" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:74 src/sugar3/speech.py:105 ++msgid "French" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:75 src/sugar3/speech.py:107 ++msgid "Irish-gaeilge" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:76 src/sugar3/speech.py:109 ++msgid "Greek-ancient" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:77 src/sugar3/speech.py:111 ++msgid "Hindi" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:78 src/sugar3/speech.py:113 ++msgid "Croatian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:79 src/sugar3/speech.py:115 ++msgid "Hungarian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:80 src/sugar3/speech.py:117 ++msgid "Armenian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:81 src/sugar3/speech.py:119 ++msgid "Armenian (west)" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:82 src/sugar3/speech.py:121 ++msgid "Indonesian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:83 src/sugar3/speech.py:123 ++msgid "Icelandic" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:84 src/sugar3/speech.py:125 ++msgid "Italian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:85 src/sugar3/speech.py:127 ++msgid "Lojban" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:86 src/sugar3/speech.py:129 ++msgid "Georgian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:87 src/sugar3/speech.py:131 ++msgid "Kannada" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:88 src/sugar3/speech.py:133 ++msgid "Kurdish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:89 src/sugar3/speech.py:135 ++msgid "Latin" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:90 src/sugar3/speech.py:137 ++msgid "Lithuanian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:91 src/sugar3/speech.py:139 ++msgid "Latvian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:92 src/sugar3/speech.py:141 ++msgid "Macedonian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:93 src/sugar3/speech.py:143 ++msgid "Malayalam" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:94 src/sugar3/speech.py:145 ++msgid "Malay" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:95 src/sugar3/speech.py:147 ++msgid "Nepali" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:96 src/sugar3/speech.py:149 ++msgid "Dutch" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:97 src/sugar3/speech.py:151 ++msgid "Norwegian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:98 src/sugar3/speech.py:153 ++msgid "Punjabi" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:99 src/sugar3/speech.py:155 ++msgid "Polish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:100 src/sugar3/speech.py:157 ++msgid "Portuguese (Brazil)" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:101 src/sugar3/speech.py:159 ++msgid "Portuguese (Portugal)" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:102 src/sugar3/speech.py:161 ++msgid "Romanian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:103 src/sugar3/speech.py:163 ++msgid "Russian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:104 src/sugar3/speech.py:165 ++msgid "Slovak" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:105 src/sugar3/speech.py:167 ++msgid "Albanian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:106 src/sugar3/speech.py:169 ++msgid "Serbian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:107 src/sugar3/speech.py:171 ++msgid "Swedish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:108 ++msgid "Swahili-test" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:109 src/sugar3/speech.py:175 ++msgid "Tamil" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:110 src/sugar3/speech.py:177 ++msgid "Turkish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:111 src/sugar3/speech.py:179 ++msgid "Vietnam" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:112 src/sugar3/speech.py:180 ++msgid "Vietnam_hue" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:113 src/sugar3/speech.py:181 ++msgid "Vietnam_sgn" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:114 src/sugar3/speech.py:183 ++msgid "Mandarin" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:115 src/sugar3/speech.py:185 ++msgid "Cantonese" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1170 ++msgid "Stop: name your journal entry" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1193 ++msgid "Cancel stop and continue the activity" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1230 ++msgid "Save new" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1231 ++msgid "Save a new journal entry" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1234 ++msgid "Save" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1235 ++msgid "Save into the old journal entry" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1241 ++msgid "Erase changes" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1242 ++msgid "Erase what you have done, and leave your old journal entry unchanged" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1245 ++msgid "Erase" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1246 ++msgid "Erase what you have done, and avoid making a journal entry" ++msgstr "" ++ ++#: src/sugar3/graphics/popwindow.py:179 ++msgid "Close" ++msgstr "" ++ ++#: src/sugar3/speech.py:75 ++msgid "English" ++msgstr "" ++ ++#: src/sugar3/speech.py:88 ++msgid "English West Indies" ++msgstr "" ++ ++#: src/sugar3/speech.py:173 ++msgid "Swahili" ++msgstr "" +diff --git b/po/sugar-toolkit-gtk3.pot a/po/sugar-toolkit-gtk3.pot +new file mode 100644 +index 0000000..adfc7a5 +--- /dev/null ++++ a/po/sugar-toolkit-gtk3.pot +@@ -0,0 +1,569 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# FIRST AUTHOR , YEAR. ++# ++#, fuzzy ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2019-03-13 14:50+1100\n" ++"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" ++"Last-Translator: FULL NAME \n" ++"Language-Team: LANGUAGE \n" ++"Language: \n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=CHARSET\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" ++ ++#: ../src/sugar3/activity/activity.py:416 src/sugar3/activity/activity.py:467 ++#: src/sugar3/activity/activity.py:475 ++#, python-format ++msgid "%s Activity" ++msgstr "" ++ ++#: ../src/sugar3/activity/activity.py:967 src/sugar3/activity/activity.py:1127 ++#: src/sugar3/activity/activity.py:1122 ++msgid "Keep error" ++msgstr "" ++ ++#: ../src/sugar3/activity/activity.py:968 src/sugar3/activity/activity.py:1128 ++#: src/sugar3/activity/activity.py:1123 ++msgid "Keep error: all changes will be lost" ++msgstr "" ++ ++#: ../src/sugar3/activity/activity.py:971 src/sugar3/activity/activity.py:1131 ++#: src/sugar3/activity/activity.py:1126 ++msgid "Don't stop" ++msgstr "" ++ ++#: ../src/sugar3/activity/activity.py:975 src/sugar3/activity/activity.py:1135 ++#: src/sugar3/activity/activity.py:1130 ++msgid "Stop anyway" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:86 src/sugar3/activity/activity.py:1169 ++#: src/sugar3/activity/widgets.py:86 src/sugar3/activity/activity.py:1164 ++#: src/sugar3/activity/widgets.py:88 ++msgid "Stop" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:98 src/sugar3/activity/widgets.py:99 ++#: src/sugar3/activity/widgets.py:101 ++msgid "Undo" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:106 src/sugar3/activity/widgets.py:107 ++#: src/sugar3/activity/widgets.py:109 ++msgid "Redo" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:113 src/sugar3/activity/widgets.py:114 ++#: src/sugar3/activity/widgets.py:116 ++msgid "Copy" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:121 src/sugar3/activity/widgets.py:122 ++#: src/sugar3/activity/widgets.py:124 ++msgid "Paste" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:132 src/sugar3/activity/widgets.py:133 ++#: src/sugar3/activity/widgets.py:135 ++msgid "Private" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:139 src/sugar3/activity/widgets.py:140 ++#: src/sugar3/activity/widgets.py:142 ++msgid "My Neighborhood" ++msgstr "" ++ ++#: ../src/sugar3/activity/widgets.py:233 src/sugar3/activity/widgets.py:234 ++#: src/sugar3/activity/widgets.py:249 ++msgid "Description" ++msgstr "" ++ ++#: ../src/sugar3/graphics/alert.py:287 ../src/sugar3/graphics/alert.py:429 ++#: src/sugar3/activity/activity.py:1189 src/sugar3/graphics/alert.py:301 ++#: src/sugar3/graphics/alert.py:467 src/sugar3/activity/activity.py:1184 ++#: src/sugar3/graphics/alert.py:308 src/sugar3/graphics/alert.py:476 ++msgid "Cancel" ++msgstr "" ++ ++#: ../src/sugar3/graphics/alert.py:291 ../src/sugar3/graphics/alert.py:337 ++#: ../src/sugar3/graphics/alert.py:479 src/sugar3/graphics/alert.py:305 ++#: src/sugar3/graphics/alert.py:346 src/sugar3/graphics/alert.py:393 ++#: src/sugar3/graphics/alert.py:512 src/sugar3/graphics/alert.py:312 ++#: src/sugar3/graphics/alert.py:353 src/sugar3/graphics/alert.py:402 ++#: src/sugar3/graphics/alert.py:521 ++msgid "Ok" ++msgstr "" ++ ++#: ../src/sugar3/graphics/alert.py:434 src/sugar3/graphics/alert.py:464 ++#: src/sugar3/graphics/alert.py:473 ++msgid "Continue" ++msgstr "" ++ ++#: ../src/sugar3/graphics/colorbutton.py:54 ++#: src/sugar3/graphics/colorbutton.py:55 src/sugar3/graphics/colorbutton.py:60 ++msgid "Choose a color" ++msgstr "" ++ ++#: ../src/sugar3/graphics/colorbutton.py:279 ++#: src/sugar3/graphics/colorbutton.py:300 ++#: src/sugar3/graphics/colorbutton.py:305 ++msgid "Red" ++msgstr "" ++ ++#: ../src/sugar3/graphics/colorbutton.py:281 ++#: src/sugar3/graphics/colorbutton.py:302 ++#: src/sugar3/graphics/colorbutton.py:307 ++msgid "Green" ++msgstr "" ++ ++#: ../src/sugar3/graphics/colorbutton.py:283 ++#: src/sugar3/graphics/colorbutton.py:304 ++#: src/sugar3/graphics/colorbutton.py:309 ++msgid "Blue" ++msgstr "" ++ ++#: ../src/sugar3/util.py:217 src/sugar3/util.py:217 src/sugar3/util.py:224 ++msgid " and " ++msgstr "" ++ ++#: ../src/sugar3/util.py:218 src/sugar3/util.py:218 src/sugar3/util.py:225 ++msgid ", " ++msgstr "" ++ ++#. TRANS: Indicating something that just happened, eg. "just now", "moments ago" ++#: ../src/sugar3/util.py:221 src/sugar3/util.py:221 src/sugar3/util.py:228 ++msgid "Seconds ago" ++msgstr "" ++ ++#. TRANS: Indicating time passed, eg. "[10 day, 5 hours] ago", ++#. "[2 minutes] in the past", or "[3 years, 1 month] earlier" ++#: ../src/sugar3/util.py:225 src/sugar3/util.py:225 src/sugar3/util.py:232 ++#, python-format ++msgid "%s ago" ++msgstr "" ++ ++#. TRANS: Relative dates (eg. 1 month and 5 days). ++#: ../src/sugar3/util.py:240 src/sugar3/util.py:240 src/sugar3/util.py:247 ++#, python-format ++msgid "%d year" ++msgid_plural "%d years" ++msgstr[0] "" ++msgstr[1] "" ++ ++#: ../src/sugar3/util.py:241 src/sugar3/util.py:241 src/sugar3/util.py:248 ++#, python-format ++msgid "%d month" ++msgid_plural "%d months" ++msgstr[0] "" ++msgstr[1] "" ++ ++#: ../src/sugar3/util.py:242 src/sugar3/util.py:242 src/sugar3/util.py:249 ++#, python-format ++msgid "%d week" ++msgid_plural "%d weeks" ++msgstr[0] "" ++msgstr[1] "" ++ ++#: ../src/sugar3/util.py:243 src/sugar3/util.py:243 src/sugar3/util.py:250 ++#, python-format ++msgid "%d day" ++msgid_plural "%d days" ++msgstr[0] "" ++msgstr[1] "" ++ ++#: ../src/sugar3/util.py:244 src/sugar3/util.py:244 src/sugar3/util.py:251 ++#, python-format ++msgid "%d hour" ++msgid_plural "%d hours" ++msgstr[0] "" ++msgstr[1] "" ++ ++#: ../src/sugar3/util.py:245 src/sugar3/util.py:245 src/sugar3/util.py:252 ++#, python-format ++msgid "%d minute" ++msgid_plural "%d minutes" ++msgstr[0] "" ++msgstr[1] "" ++ ++#: ../src/sugar3/util.py:346 src/sugar3/util.py:346 src/sugar3/util.py:354 ++msgid "Empty" ++msgstr "" ++ ++#: ../src/sugar3/util.py:348 src/sugar3/util.py:348 src/sugar3/util.py:356 ++#, python-format ++msgid "%d B" ++msgstr "" ++ ++#: ../src/sugar3/util.py:350 src/sugar3/util.py:350 src/sugar3/util.py:358 ++#, python-format ++msgid "%d KB" ++msgstr "" ++ ++#: ../src/sugar3/util.py:352 src/sugar3/util.py:352 src/sugar3/util.py:360 ++#, python-format ++msgid "%d MB" ++msgstr "" ++ ++#: ../src/sugar3/util.py:354 src/sugar3/util.py:354 src/sugar3/util.py:362 ++#, python-format ++msgid "%d GB" ++msgstr "" ++ ++#: ../src/sugar3/mime.py:56 src/sugar3/mime.py:59 src/sugar3/mime.py:61 ++msgid "Text" ++msgstr "" ++ ++#: ../src/sugar3/mime.py:63 src/sugar3/mime.py:66 src/sugar3/mime.py:68 ++msgid "Image" ++msgstr "" ++ ++#: ../src/sugar3/mime.py:68 src/sugar3/mime.py:71 src/sugar3/mime.py:73 ++msgid "Audio" ++msgstr "" ++ ++#: ../src/sugar3/mime.py:75 src/sugar3/mime.py:78 src/sugar3/mime.py:80 ++msgid "Video" ++msgstr "" ++ ++#: ../src/sugar3/mime.py:86 src/sugar3/mime.py:89 src/sugar3/mime.py:91 ++msgid "Link" ++msgstr "" ++ ++#: ../src/sugar3/mime.py:91 src/sugar3/mime.py:94 src/sugar3/mime.py:96 ++msgid "Bundle" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:48 src/sugar3/speech.py:56 ++msgid "Afrikaans" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:49 src/sugar3/speech.py:58 ++msgid "Aragonese" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:50 src/sugar3/speech.py:60 ++msgid "Bulgarian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:51 src/sugar3/speech.py:62 ++msgid "Bosnian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:52 src/sugar3/speech.py:64 ++msgid "Catalan" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:53 src/sugar3/speech.py:66 ++msgid "Czech" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:54 src/sugar3/speech.py:68 ++msgid "Welsh" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:55 src/sugar3/speech.py:70 ++msgid "Danish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:56 src/sugar3/speech.py:72 ++msgid "German" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:57 src/sugar3/speech.py:74 ++msgid "Greek" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:58 ++msgid "Default" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:59 src/sugar3/speech.py:77 ++msgid "English Britain" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:60 src/sugar3/speech.py:79 ++msgid "English scottish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:61 src/sugar3/speech.py:80 ++msgid "English-north" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:62 src/sugar3/speech.py:82 ++msgid "English_rp" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:63 src/sugar3/speech.py:84 ++msgid "English_wmids" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:64 src/sugar3/speech.py:86 ++msgid "English USA" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:65 ++msgid "English west indies" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:66 src/sugar3/speech.py:90 ++msgid "Esperanto" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:67 src/sugar3/speech.py:92 ++msgid "Spanish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:68 src/sugar3/speech.py:93 ++msgid "Spanish latin american" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:69 src/sugar3/speech.py:95 ++msgid "Estonian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:70 src/sugar3/speech.py:97 ++msgid "Farsi" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:71 src/sugar3/speech.py:99 ++msgid "Farsi-pinglish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:72 src/sugar3/speech.py:101 ++msgid "Finnish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:73 src/sugar3/speech.py:103 ++msgid "French belgium" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:74 src/sugar3/speech.py:105 ++msgid "French" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:75 src/sugar3/speech.py:107 ++msgid "Irish-gaeilge" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:76 src/sugar3/speech.py:109 ++msgid "Greek-ancient" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:77 src/sugar3/speech.py:111 ++msgid "Hindi" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:78 src/sugar3/speech.py:113 ++msgid "Croatian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:79 src/sugar3/speech.py:115 ++msgid "Hungarian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:80 src/sugar3/speech.py:117 ++msgid "Armenian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:81 src/sugar3/speech.py:119 ++msgid "Armenian (west)" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:82 src/sugar3/speech.py:121 ++msgid "Indonesian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:83 src/sugar3/speech.py:123 ++msgid "Icelandic" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:84 src/sugar3/speech.py:125 ++msgid "Italian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:85 src/sugar3/speech.py:127 ++msgid "Lojban" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:86 src/sugar3/speech.py:129 ++msgid "Georgian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:87 src/sugar3/speech.py:131 ++msgid "Kannada" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:88 src/sugar3/speech.py:133 ++msgid "Kurdish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:89 src/sugar3/speech.py:135 ++msgid "Latin" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:90 src/sugar3/speech.py:137 ++msgid "Lithuanian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:91 src/sugar3/speech.py:139 ++msgid "Latvian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:92 src/sugar3/speech.py:141 ++msgid "Macedonian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:93 src/sugar3/speech.py:143 ++msgid "Malayalam" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:94 src/sugar3/speech.py:145 ++msgid "Malay" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:95 src/sugar3/speech.py:147 ++msgid "Nepali" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:96 src/sugar3/speech.py:149 ++msgid "Dutch" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:97 src/sugar3/speech.py:151 ++msgid "Norwegian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:98 src/sugar3/speech.py:153 ++msgid "Punjabi" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:99 src/sugar3/speech.py:155 ++msgid "Polish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:100 src/sugar3/speech.py:157 ++msgid "Portuguese (Brazil)" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:101 src/sugar3/speech.py:159 ++msgid "Portuguese (Portugal)" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:102 src/sugar3/speech.py:161 ++msgid "Romanian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:103 src/sugar3/speech.py:163 ++msgid "Russian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:104 src/sugar3/speech.py:165 ++msgid "Slovak" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:105 src/sugar3/speech.py:167 ++msgid "Albanian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:106 src/sugar3/speech.py:169 ++msgid "Serbian" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:107 src/sugar3/speech.py:171 ++msgid "Swedish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:108 ++msgid "Swahili-test" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:109 src/sugar3/speech.py:175 ++msgid "Tamil" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:110 src/sugar3/speech.py:177 ++msgid "Turkish" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:111 src/sugar3/speech.py:179 ++msgid "Vietnam" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:112 src/sugar3/speech.py:180 ++msgid "Vietnam_hue" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:113 src/sugar3/speech.py:181 ++msgid "Vietnam_sgn" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:114 src/sugar3/speech.py:183 ++msgid "Mandarin" ++msgstr "" ++ ++#: ../src/sugar3/speech.py:115 src/sugar3/speech.py:185 ++msgid "Cantonese" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1170 src/sugar3/activity/activity.py:1165 ++msgid "Stop: name your journal entry" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1193 src/sugar3/activity/activity.py:1188 ++msgid "Cancel stop and continue the activity" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1230 src/sugar3/activity/activity.py:1225 ++msgid "Save new" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1231 src/sugar3/activity/activity.py:1226 ++msgid "Save a new journal entry" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1234 src/sugar3/activity/activity.py:1229 ++msgid "Save" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1235 src/sugar3/activity/activity.py:1230 ++msgid "Save into the old journal entry" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1241 src/sugar3/activity/activity.py:1236 ++msgid "Erase changes" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1242 src/sugar3/activity/activity.py:1237 ++msgid "Erase what you have done, and leave your old journal entry unchanged" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1245 src/sugar3/activity/activity.py:1240 ++msgid "Erase" ++msgstr "" ++ ++#: src/sugar3/activity/activity.py:1246 src/sugar3/activity/activity.py:1241 ++msgid "Erase what you have done, and avoid making a journal entry" ++msgstr "" ++ ++#: src/sugar3/graphics/popwindow.py:179 ++msgid "Close" ++msgstr "" ++ ++#: src/sugar3/speech.py:75 ++msgid "English" ++msgstr "" ++ ++#: src/sugar3/speech.py:88 ++msgid "English West Indies" ++msgstr "" ++ ++#: src/sugar3/speech.py:173 ++msgid "Swahili" ++msgstr "" +diff --git b/src/sugar3/.gitignore a/src/sugar3/.gitignore +new file mode 100644 +index 0000000..de24e35 +--- /dev/null ++++ a/src/sugar3/.gitignore +@@ -0,0 +1,4 @@ ++sugar-marshal.c ++sugar-marshal.h ++_sugarext.c ++_sugarext.c +diff --git b/src/sugar3/.license a/src/sugar3/.license +new file mode 100644 +index 0000000..6989ebe +--- /dev/null ++++ a/src/sugar3/.license +@@ -0,0 +1 @@ ++LGPL +diff --git b/src/sugar3/activity/Makefile.am a/src/sugar3/activity/Makefile.am +index e3cf05b..1f7a433 100644 +--- b/src/sugar3/activity/Makefile.am ++++ a/src/sugar3/activity/Makefile.am +@@ -7,7 +7,6 @@ sugar_PYTHON = \ + activityhandle.py \ + activityservice.py \ + bundlebuilder.py \ +- webkit1.py \ + webactivity.py \ + i18n.py \ + widgets.py +diff --git b/src/sugar3/activity/activity.py a/src/sugar3/activity/activity.py +index a459d64..4f7c9a2 100644 +--- b/src/sugar3/activity/activity.py ++++ a/src/sugar3/activity/activity.py +@@ -854,7 +854,7 @@ class Activity(Window, Gtk.Container): + is seeing at the time. + + Returns: +- str: image data in PNG format ++ bytes: image data in PNG format + + Activities may override this method, and return a string with + image data in PNG format with a width and height of +diff --git b/src/sugar3/activity/bundlebuilder.py a/src/sugar3/activity/bundlebuilder.py +index 9fd3839..cc32d60 100644 +--- b/src/sugar3/activity/bundlebuilder.py ++++ a/src/sugar3/activity/bundlebuilder.py +@@ -42,7 +42,7 @@ import logging + from glob import glob + from fnmatch import fnmatch + from six.moves.configparser import ConfigParser +-import xml.etree.cElementTree as ET ++import xml.etree.ElementTree as ET + from six.moves.html_parser import HTMLParser + + from sugar3 import env +@@ -629,9 +629,9 @@ def start(): + source_dir = os.path.abspath(os.path.dirname(sys.argv[0])) + config = Config(source_dir) + +- try: +- globals()['cmd_' + options.command](config, options) +- except (KeyError, IndexError): ++ if 'cmd_' + (options.command or '') in globals(): ++ globals()['cmd_' + (options.command or '')](config, options) ++ else: + parser.print_help() + + +diff --git b/src/sugar3/graphics/style.py a/src/sugar3/graphics/style.py +index 8dafd5b..4b34351 100644 +--- b/src/sugar3/graphics/style.py ++++ a/src/sugar3/graphics/style.py +@@ -155,7 +155,7 @@ def zoom(units): + Returns size of units pixels at current zoom level + + Args: +- units (int): size of item at full size ++ units (int or float): size of item at full size + ''' + return int(ZOOM_FACTOR * units) + +diff --git b/src/sugar3/presence/test_presence.txt a/src/sugar3/presence/test_presence.txt +new file mode 100644 +index 0000000..d0736a9 +--- /dev/null ++++ a/src/sugar3/presence/test_presence.txt +@@ -0,0 +1,26 @@ ++This is a test of presence. ++ ++To test this service we will start up a mock dbus library: ++ ++ >>> from sugar.testing import mockdbus ++ >>> import dbus ++ >>> pres_service = mockdbus.MockService( ++ ... 'org.laptop.Presence', '/org/laptop/Presence', name='pres') ++ >>> pres_service.install() ++ >>> pres_interface = dbus.Interface(pres_service, 'org.laptop.Presence') ++ ++Then we import the library (second, to make sure it connects to our ++mocked system, though the lazy instantiation in get_instance() should ++handle it): ++ ++ >>> from sugar.presence import PresenceService ++ >>> ps = PresenceService.get_instance() ++ >>> pres_interface.make_response('getServices', []) ++ >>> ps.get_services() ++ Called pres.org.laptop.Presence:getServices() ++ [] ++ >>> pres_interface.make_response('getBuddies', []) ++ >>> ps.get_buddies() ++ Called pres.org.laptop.Presence:getBuddies() ++ [] ++ +diff --git b/tests/data/mime.svg a/tests/data/mime.svg +new file mode 100644 +index 0000000..d4e6db3 +--- /dev/null ++++ a/tests/data/mime.svg +@@ -0,0 +1,3 @@ ++ ++ ++ +diff --git b/tests/data/sample.activity/activity.py a/tests/data/sample.activity/activity.py +new file mode 100644 +index 0000000..ea4e983 +--- /dev/null ++++ a/tests/data/sample.activity/activity.py +@@ -0,0 +1,9 @@ ++from gettext import gettext as _ ++ ++from sugar3.activity import activity ++ ++ ++class SampleActivity(activity.Activity): ++ def __init__(self, handle): ++ activity.Activity.__init__(self, handle) ++ self._text = _("Text string") +diff --git b/tests/data/sample.activity/activity/activity-sample.svg a/tests/data/sample.activity/activity/activity-sample.svg +new file mode 100644 +index 0000000..8da7c63 +--- /dev/null ++++ a/tests/data/sample.activity/activity/activity-sample.svg +@@ -0,0 +1,26 @@ ++ ++ ++]> ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git b/tests/data/sample.activity/activity/activity.info a/tests/data/sample.activity/activity/activity.info +new file mode 100644 +index 0000000..820c07a +--- /dev/null ++++ a/tests/data/sample.activity/activity/activity.info +@@ -0,0 +1,7 @@ ++[Activity] ++name = Sample ++activity_version = 1 ++bundle_id = org.sugarlabs.Sample ++exec = sugar-activity3 activity.SampleActivity ++icon = activity-sample ++license = GPLv2+ +diff --git b/tests/data/sample.activity/po/Sample.pot a/tests/data/sample.activity/po/Sample.pot +new file mode 100644 +index 0000000..0cee357 +--- /dev/null ++++ a/tests/data/sample.activity/po/Sample.pot +@@ -0,0 +1,26 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# FIRST AUTHOR , YEAR. ++# ++#, fuzzy ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2012-12-06 20:10+0100\n" ++"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" ++"Last-Translator: FULL NAME \n" ++"Language-Team: LANGUAGE \n" ++"Language: \n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=CHARSET\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: activity/activity.info:2 ++msgid "Sample" ++msgstr "" ++ ++#: activity.py:8 ++msgid "Text string" ++msgstr "" +diff --git b/tests/data/sample.activity/po/es.po a/tests/data/sample.activity/po/es.po +new file mode 100644 +index 0000000..a1a6adb +--- /dev/null ++++ a/tests/data/sample.activity/po/es.po +@@ -0,0 +1,26 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# FIRST AUTHOR , YEAR. ++# ++#, fuzzy ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2012-12-06 20:10+0100\n" ++"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" ++"Last-Translator: FULL NAME \n" ++"Language-Team: LANGUAGE \n" ++"Language: \n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: activity/activity.info:2 ++msgid "Sample" ++msgstr "" ++ ++#: activity.py:8 ++msgid "Text string" ++msgstr "" +diff --git b/tests/data/sample.activity/setup.py a/tests/data/sample.activity/setup.py +new file mode 100755 +index 0000000..191204b +--- /dev/null ++++ a/tests/data/sample.activity/setup.py +@@ -0,0 +1,5 @@ ++#!/usr/bin/env python3 ++ ++from sugar3.activity import bundlebuilder ++ ++bundlebuilder.start() +diff --git b/tests/data/sample.content/index.html a/tests/data/sample.content/index.html +new file mode 100644 +index 0000000..e69de29 +diff --git b/tests/data/sample.content/library/library.info a/tests/data/sample.content/library/library.info +new file mode 100644 +index 0000000..fb372df +--- /dev/null ++++ a/tests/data/sample.content/library/library.info +@@ -0,0 +1,10 @@ ++[Library] ++name = sample ++long_name = sample ++global_name = org.sugarlabs.samplecontent ++library_version = 1 ++host_version = 1 ++l10n = false ++locale = en ++license = CC-BY 2.0 ++category = media +diff --git b/tests/graphics/cellrendererprogress.py a/tests/graphics/cellrendererprogress.py +new file mode 100644 +index 0000000..94c1b9a +--- /dev/null ++++ a/tests/graphics/cellrendererprogress.py +@@ -0,0 +1,46 @@ ++""" ++ ++http://developer.gnome.org/gtk3/stable/GtkCellRendererProgress.html ++ ++""" ++ ++from gi.repository import Gtk ++ ++from sugar3.graphics import style ++ ++import common ++ ++ ++test = common.Test() ++test.show() ++ ++model = Gtk.ListStore(str, int, int) ++for item in [('one', 72, -1), ++ ('two', 50, -1), ++ ('three', 35, -1), ++ ('four', 0, 5)]: ++ model.append(item) ++ ++treeview = Gtk.TreeView() ++treeview.set_model(model) ++treeview.set_headers_visible(False) ++test.pack_start(treeview, True, True, 0) ++treeview.show() ++ ++col = Gtk.TreeViewColumn() ++treeview.append_column(col) ++ ++cell_text = Gtk.CellRendererText() ++cell_text.props.height = style.GRID_CELL_SIZE ++col.pack_start(cell_text, expand=False) ++col.add_attribute(cell_text, 'text', 0) ++ ++cell_progress = Gtk.CellRendererProgress() ++cell_progress.props.ypad = style.GRID_CELL_SIZE / 4 ++col.pack_start(cell_progress, expand=True) ++col.add_attribute(cell_progress, 'value', 1) ++col.add_attribute(cell_progress, 'pulse', 2) ++ ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/tests/graphics/combobox.py a/tests/graphics/combobox.py +new file mode 100644 +index 0000000..0c329a0 +--- /dev/null ++++ a/tests/graphics/combobox.py +@@ -0,0 +1,24 @@ ++from gi.repository import Gtk ++ ++import common ++ ++ ++test = common.Test() ++test.show() ++ ++# test Gtk.ComboBox: ++ ++store = Gtk.ListStore(int, str) ++for i in range(100): ++ description = "combo test entry %d" % i ++ store.append([i, description]) ++ ++combobox = Gtk.ComboBox(model=store) ++cell = Gtk.CellRendererText() ++combobox.pack_start(cell, True) ++combobox.add_attribute(cell, 'text', 1) ++test.pack_start(combobox, True, True, 0) ++combobox.show() ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/tests/graphics/progressicon.py a/tests/graphics/progressicon.py +new file mode 100644 +index 0000000..b756d2f +--- /dev/null ++++ a/tests/graphics/progressicon.py +@@ -0,0 +1,66 @@ ++# Copyright (C) 2013, One Laptop Per Child ++# ++# This library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2 of the License, or (at your option) any later version. ++# ++# This library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with this library; if not, write to the ++# Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++# Boston, MA 02111-1307, USA. ++ ++""" ++Test the sugar3.graphics.progressicon.ProgressIcon widget. ++""" ++ ++ ++from gi.repository import GLib ++ ++from sugar3.graphics.progressicon import ProgressIcon ++from sugar3.graphics import style ++ ++import common ++ ++test = common.Test() ++test.show() ++ ++icon = ProgressIcon( ++ pixel_size=style.LARGE_ICON_SIZE, ++ icon_name='computer-xo', ++ stroke_color=style.COLOR_BUTTON_GREY.get_svg(), ++ fill_color=style.COLOR_WHITE.get_svg()) ++test.pack_start(icon, True, True, 0) ++icon.show() ++ ++icon2 = ProgressIcon( ++ pixel_size=style.LARGE_ICON_SIZE, ++ icon_name='computer-xo', ++ stroke_color=style.COLOR_BUTTON_GREY.get_svg(), ++ fill_color=style.COLOR_WHITE.get_svg(), ++ direction='horizontal') ++test.pack_start(icon2, True, True, 0) ++icon2.show() ++ ++progress = 0 ++ ++ ++def timeout_cb(): ++ global progress ++ progress += 0.05 ++ icon.update(progress) ++ icon2.update(progress) ++ if progress >= 1: ++ return False ++ return True ++ ++ ++GLib.timeout_add(50, timeout_cb) ++ ++if __name__ == '__main__': ++ common.main(test) +diff --git b/tests/test_bundle.py a/tests/test_bundle.py +new file mode 100644 +index 0000000..9d343d2 +--- /dev/null ++++ a/tests/test_bundle.py +@@ -0,0 +1,49 @@ ++# Copyright (C) 2013, One Laptop per Child ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++import os ++import unittest ++import subprocess ++ ++from sugar3.bundle.helpers import bundle_from_dir, bundle_from_archive ++from sugar3.bundle.activitybundle import ActivityBundle ++from sugar3.bundle.contentbundle import ContentBundle ++ ++tests_dir = os.path.dirname(__file__) ++data_dir = os.path.join(tests_dir, "data") ++SAMPLE_ACTIVITY_PATH = os.path.join(data_dir, 'sample.activity') ++SAMPLE_CONTENT_PATH = os.path.join(data_dir, 'sample.content') ++ ++ ++class TestBundle(unittest.TestCase): ++ def test_bundle_from_dir(self): ++ bundle = bundle_from_dir(SAMPLE_ACTIVITY_PATH) ++ self.assertIsInstance(bundle, ActivityBundle) ++ bundle = bundle_from_dir(SAMPLE_CONTENT_PATH) ++ self.assertIsInstance(bundle, ContentBundle) ++ ++ def test_activity_bundle_from_archive(self): ++ os.chdir(SAMPLE_ACTIVITY_PATH) ++ subprocess.check_call(["./setup.py", "dist_xo"]) ++ xo_path = os.path.join(".", "dist", "Sample-1.xo") ++ bundle = bundle_from_archive(xo_path) ++ self.assertIsInstance(bundle, ActivityBundle) ++ ++ def test_content_bundle_from_archive(self): ++ os.chdir(data_dir) ++ subprocess.check_call(["zip", "-r", "sample-1.xol", "sample.content"]) ++ bundle = bundle_from_archive("./sample-1.xol") ++ self.assertIsInstance(bundle, ContentBundle) +diff --git b/tests/test_bundlebuilder.py a/tests/test_bundlebuilder.py +new file mode 100644 +index 0000000..bda1af6 +--- /dev/null ++++ a/tests/test_bundlebuilder.py +@@ -0,0 +1,245 @@ ++# Copyright (C) 2012, Daniel Narvaez ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++import os ++import unittest ++import shutil ++import subprocess ++import tempfile ++import tarfile ++import zipfile ++ ++tests_dir = os.path.dirname(__file__) ++data_dir = os.path.join(tests_dir, "data") ++ ++ ++class TestGit(unittest.TestCase): ++ _source_files = ["activity.py", ++ "setup.py", ++ "po/Sample.pot", ++ "po/es.po", ++ "activity/activity.info", ++ "activity/activity-sample.svg"] ++ ++ _activity_locale_files = ["locale/es/activity.linfo"] ++ ++ _share_locale_files = ["locale/es/LC_MESSAGES/org.sugarlabs.Sample.mo"] ++ ++ def _get_all_locale_files(self): ++ expected = self._share_locale_files[:] ++ expected.extend(self._activity_locale_files) ++ return expected ++ ++ def _create_repo(self): ++ cwd = os.getcwd() ++ path = tempfile.mkdtemp() ++ os.chdir(path) ++ ++ subprocess.check_call(["git", "init"]) ++ subprocess.check_call(["git", "config", "user.name", "Test Test"]) ++ subprocess.check_call(["git", "config", "user.email", "test@test.org"]) ++ ++ for source in self._source_files: ++ source_path = os.path.join(data_dir, "sample.activity", source) ++ dest_path = os.path.join(path, source) ++ ++ try: ++ os.makedirs(os.path.dirname(dest_path)) ++ except OSError: ++ pass ++ ++ shutil.copyfile(source_path, dest_path) ++ shutil.copymode(source_path, dest_path) ++ ++ subprocess.check_call(["git", "add", source]) ++ ++ subprocess.check_call(["git", "commit", "-m", "Initial commit", "-a"]) ++ ++ os.chdir(cwd) ++ ++ return path ++ ++ def _strip_root_dir(self, paths): ++ return [path[path.find("/") + 1:] for path in paths] ++ ++ def _test_dist_xo(self, source_path, build_path): ++ cwd = os.getcwd() ++ os.chdir(build_path) ++ ++ setup_path = os.path.join(source_path, "setup.py") ++ subprocess.call([setup_path, "dist_xo"]) ++ ++ xo_path = os.path.join(build_path, "dist", "Sample-1.xo") ++ filenames = zipfile.ZipFile(xo_path).namelist() ++ ++ stripped_filenames = self._strip_root_dir(filenames) ++ expected = self._source_files[:] ++ expected.extend(self._get_all_locale_files()) ++ self.assertItemsEqual(stripped_filenames, expected) ++ ++ os.chdir(cwd) ++ ++ def _test_dist_source(self, source_path, build_path): ++ cwd = os.getcwd() ++ os.chdir(build_path) ++ ++ setup_path = os.path.join(source_path, "setup.py") ++ subprocess.call([setup_path, "dist_source"]) ++ ++ xo_path = os.path.join(build_path, "dist", "Sample-1.tar.bz2") ++ filenames = tarfile.open(name=xo_path, mode="r:bz2").getnames() ++ ++ stripped_filenames = self._strip_root_dir(filenames) ++ self.assertItemsEqual(stripped_filenames, self._source_files) ++ ++ os.chdir(cwd) ++ ++ def _test_build(self, source_path, build_path): ++ cwd = os.getcwd() ++ os.chdir(build_path) ++ ++ setup_path = os.path.join(source_path, "setup.py") ++ subprocess.call([setup_path, "build"]) ++ ++ locale_path = os.path.join(build_path, "locale") ++ ++ filenames = [] ++ for root, dirs, files in os.walk(locale_path): ++ rel_root = root[len(build_path) + 1:] ++ filenames.extend([os.path.join(rel_root, name) for name in files]) ++ ++ self.assertItemsEqual(filenames, self._get_all_locale_files()) ++ ++ os.chdir(cwd) ++ ++ def _test_dev(self, source_path, build_path): ++ activities_path = tempfile.mkdtemp() ++ ++ cwd = os.getcwd() ++ os.chdir(build_path) ++ ++ os.environ["SUGAR_ACTIVITIES_PATH"] = activities_path ++ ++ setup_path = os.path.join(source_path, "setup.py") ++ subprocess.call([setup_path, "dev"]) ++ ++ activity_py_path = os.path.join(activities_path, "Sample.activity", ++ "activity.py") ++ self.assertTrue(os.path.exists(activity_py_path)) ++ ++ os.chdir(cwd) ++ ++ def _test_genpot(self, source_path, build_path): ++ cwd = os.getcwd() ++ os.chdir(build_path) ++ ++ pot_path = os.path.join(source_path, "po", "Sample.pot") ++ os.unlink(pot_path) ++ ++ setup_path = os.path.join(source_path, "setup.py") ++ subprocess.call([setup_path, "genpot"]) ++ ++ self.assertTrue(os.path.exists(pot_path)) ++ ++ os.chdir(cwd) ++ ++ def _test_install(self, source_path, build_path): ++ install_path = tempfile.mkdtemp() ++ ++ cwd = os.getcwd() ++ os.chdir(build_path) ++ ++ setup_path = os.path.join(source_path, "setup.py") ++ subprocess.call([setup_path, "install", "--prefix", install_path]) ++ ++ filenames = [] ++ activity_dir = os.path.join(install_path, "share", ++ "sugar", "activities", "Sample.activity") ++ for root, dirs, files in os.walk(activity_dir): ++ rel_root = root[len(activity_dir) + 1:] ++ filenames.extend([os.path.join(rel_root, name) for name in files]) ++ ++ expected = self._source_files[:] ++ expected.extend(self._activity_locale_files) ++ ++ self.assertItemsEqual(filenames, expected) ++ ++ filenames = [] ++ share_dir = os.path.join(install_path, "share") ++ locale_dir = os.path.join(share_dir, "locale") ++ for root, dirs, files in os.walk(locale_dir): ++ rel_root = root[len(share_dir) + 1:] ++ for name in files: ++ if "org.sugarlabs.Sample" in name: ++ filenames.append(os.path.join(rel_root, name)) ++ ++ self.assertItemsEqual(filenames, self._share_locale_files) ++ ++ os.chdir(cwd) ++ ++ def test_dist_xo_in_source(self): ++ repo_path = self._create_repo() ++ self._test_dist_xo(repo_path, repo_path) ++ ++ def test_dist_xo_out_of_source(self): ++ repo_path = self._create_repo() ++ build_path = tempfile.mkdtemp() ++ self._test_dist_xo(repo_path, build_path) ++ ++ def test_dist_source_in_source(self): ++ repo_path = self._create_repo() ++ self._test_dist_source(repo_path, repo_path) ++ ++ def test_dist_source_out_of_source(self): ++ repo_path = self._create_repo() ++ build_path = tempfile.mkdtemp() ++ self._test_dist_source(repo_path, build_path) ++ ++ def test_install_in_source(self): ++ repo_path = self._create_repo() ++ self._test_install(repo_path, repo_path) ++ ++ def test_install_out_of_source(self): ++ repo_path = self._create_repo() ++ build_path = tempfile.mkdtemp() ++ self._test_install(repo_path, build_path) ++ ++ def test_build_in_source(self): ++ repo_path = self._create_repo() ++ self._test_build(repo_path, repo_path) ++ ++ def test_build_out_of_source(self): ++ repo_path = self._create_repo() ++ build_path = tempfile.mkdtemp() ++ self._test_build(repo_path, build_path) ++ ++ def test_dev_in_source(self): ++ repo_path = self._create_repo() ++ self._test_dev(repo_path, repo_path) ++ ++ def test_dev_out_of_source(self): ++ repo_path = self._create_repo() ++ build_path = tempfile.mkdtemp() ++ self._test_dev(repo_path, build_path) ++ ++ def test_genpot_in_source(self): ++ repo_path = self._create_repo() ++ self._test_genpot(repo_path, repo_path) ++ ++ def test_genpot_out_of_source(self): ++ repo_path = self._create_repo() ++ build_path = tempfile.mkdtemp() ++ self._test_genpot(repo_path, build_path) +diff --git b/tests/test_mime.py a/tests/test_mime.py +new file mode 100644 +index 0000000..9e478de +--- /dev/null ++++ a/tests/test_mime.py +@@ -0,0 +1,109 @@ ++#!/usr/bin/env python3 ++ ++# Copyright (C) 2006, Red Hat, Inc. ++# Copyright (C) 2007, One Laptop Per Child ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++import os ++import unittest ++ ++from sugar3 import mime ++ ++tests_dir = os.path.dirname(__file__) ++data_dir = os.path.join(tests_dir, "data") ++ ++ ++class TestMime(unittest.TestCase): ++ def test_split_uri_list(self): ++ self.assertSequenceEqual(mime.split_uri_list("http://one\nhttp://two"), ++ ("http://one", "http://two")) ++ ++ def test_get_mime_parents(self): ++ self.assertListEqual(mime.get_mime_parents("image/svg+xml"), ++ ["application/xml"]) ++ ++ # If the mime type don't have parents, should return a empty array ++ self.assertListEqual(mime.get_mime_parents("application/octet-stream"), ++ []) ++ ++ def test_get_for_file(self): ++ self.assertEqual(mime.get_for_file(os.path.join(data_dir, "mime.svg")), ++ 'image/svg+xml') ++ ++ def test_from_file_name(self): ++ self.assertEqual(mime.get_from_file_name('test.pdf'), ++ 'application/pdf') ++ ++ def test_choose_most_significant(self): ++ # Mozilla's text in dnd ++ mime_type = mime.choose_most_significant( ++ ['text/plain', 'text/_moz_htmlcontext', 'text/unicode', ++ 'text/html', 'text/_moz_htmlinfo']) ++ self.assertEqual(mime_type, 'text/html') ++ ++ # Mozilla's text in c&v ++ mime_type = mime.choose_most_significant( ++ ['text/_moz_htmlcontext', ++ 'STRING', ++ 'text/html', ++ 'text/_moz_htmlinfo', ++ 'text/x-moz-url-priv', ++ 'UTF8_STRING', ++ 'COMPOUND_TEXT']) ++ self.assertEqual(mime_type, 'text/html') ++ ++ # Mozilla gif in dnd ++ mime_type = mime.choose_most_significant( ++ ['application/x-moz-file-promise-url', ++ 'application/x-moz-file-promise-dest-filename', ++ 'text/_moz_htmlinfo', 'text/x-moz-url-desc', ++ 'text/_moz_htmlcontext', 'text/x-moz-url-data', ++ 'text/uri-list']) ++ self.assertEqual(mime_type, 'text/uri-list') ++ ++ # Mozilla url in dnd ++ mime_type = mime.choose_most_significant( ++ ['text/_moz_htmlcontext', ++ 'text/html', ++ 'text/_moz_htmlinfo', ++ '_NETSCAPE_URL', ++ 'text/x-moz-url', ++ 'text/x-moz-url-desc', ++ 'text/x-moz-url-data', ++ 'text/plain', ++ 'text/unicode']) ++ self.assertEqual(mime_type, 'text/x-moz-url') ++ ++ # Abiword text in dnd ++ mime_type = mime.choose_most_significant( ++ ['text/rtf', 'text/uri-list']) ++ self.assertEqual(mime_type, 'text/uri-list') ++ ++ # Abiword text in c&v ++ mime_type = mime.choose_most_significant( ++ ['UTF8_STRING', 'STRING', 'text/html', 'TEXT', 'text/rtf', ++ 'COMPOUND_TEXT', 'application/rtf', 'text/plain', ++ 'application/xhtml+xml']) ++ self.assertEqual(mime_type, 'application/rtf') ++ ++ # Abiword text in c&v ++ mime_type = mime.choose_most_significant( ++ ['GTK_TEXT_BUFFER_CONTENTS', ++ 'application/x-gtk-text-buffer-rich-text', ++ 'UTF8_STRING', 'COMPOUND_TEXT', 'TEXT', 'STRING', ++ 'text/plain;charset=utf-8', 'text/plain;charset=UTF-8', ++ 'text/plain']) ++ self.assertEqual(mime_type, 'text/plain') +diff --git b/tests/test_uitree.py a/tests/test_uitree.py +new file mode 100644 +index 0000000..b7c7da4 +--- /dev/null ++++ a/tests/test_uitree.py +@@ -0,0 +1,54 @@ ++# Copyright (C) 2012, Daniel Narvaez ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++import sys ++import subprocess ++import unittest ++ ++from sugar3.test import uitree ++ ++ ++class TestUITree(unittest.TestCase): ++ def test_tree(self): ++ process = subprocess.Popen(["python3", __file__, "show_window1"]) ++ ++ try: ++ root = uitree.get_root() ++ window = root.find_child(name="window1", role_name="frame") ++ button = window.find_child(name="button1", role_name="push button") ++ finally: ++ process.terminate() ++ ++ self.assertIsNotNone(button) ++ ++ ++def show_window1(): ++ from gi.repository import Gtk ++ ++ window = Gtk.Window() ++ window.set_title("window1") ++ ++ button = Gtk.Button(label="button1") ++ window.add(button) ++ button.show() ++ ++ window.show() ++ ++ Gtk.main() ++ ++ ++if __name__ == '__main__': ++ globals()[sys.argv[1]]() diff --git a/helpers/DATA/tasksel/Makefile b/helpers/DATA/tasksel/Makefile index 1b04dc5..33b1f58 100644 --- a/helpers/DATA/tasksel/Makefile +++ b/helpers/DATA/tasksel/Makefile @@ -10,22 +10,9 @@ UDESCDIR=trisquel-tasks DESCPO=$(DESCDIR)/po VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Version: \(.*\)' | cut -d - -f 1) LANGS=ar bg bn bs ca cs cy da de dz el eo es et eu fa fi fr gl gu he hi hr hu hy id it ja km ko lt lv mg mk nb ne nl nn pa pl pt_BR pt ro ru sk sl sq sv ta te th tl tr uk vi wo zh_CN zh_TW -LANGS_DESC=ar bg bn bs ca cs cy da de dz el eo es et eu fi fr gl gu he hi hr hu id it ja km ko lt lv mg mk nb ne nl nn pa pl pt_BR pt ro ru sk sl sq sv te th tl tr uk vi wo zh_CN zh_TW +LANGS_DESC=ar bg bn bs ca cs cy da de dz el eo es et et eu fi fr gl gu he hi hr hu id it ja km ko lt lv mg mk nb ne nl nn pa pl pt_BR pt ro ru sk sl sq sv te th tl tr uk vi wo zh_CN zh_TW LOCALEDIR=$(DESTDIR)/usr/share/locale -# ---- L10N generation ---- -# l10n base -L10N_PKGS = language-pack hunspell hyphen mythes -# Desktops l10n -L10N_PKGS += language-pack-gnome language-pack-kde -# Apps l10n (condition in runtime) -L10N_PKGS += abrowser-locale icedove-locale libreoffice-l10n -GEN_LANG_STAMP = $(UDESCDIR)/.lang_generated - -$(GEN_LANG_STAMP): lang-gen.sh - ./lang-gen.sh "$(LANGS_DESC)" "$(L10N_PKGS)" $(UDESCDIR) - touch $@ - all: $(UTASKDESC) po/build_stamp $(TASKDESC): makedesc.pl $(DESCDIR)/[a-z]??* @@ -35,10 +22,8 @@ $(TASKDESC): makedesc.pl $(DESCDIR)/[a-z]??* $(UDESCDIR): trisquel-seeds.pl USUITE=$CODENAME -$(UTASKDESC): $(GEN_LANG_STAMP) makedesc.pl $(UDESCDIR)/* +$(UTASKDESC): makedesc.pl $(UDESCDIR)/[a-z]??* ./makedesc.pl $(UDESCDIR) $(UTASKDESC) - # drop a blank first line if present to avoid parser warnings - sed -i '1{/^$$/d}' $(UTASKDESC) %.o: %.c $(COMPILE) $< @@ -71,12 +56,10 @@ install: pod2man --section=8 --center "Debian specific manpage" --release $(VERSION) tasksel.pod | gzip -9c > $(DESTDIR)/usr/share/man/man8/tasksel.8.gz for lang in $(LANGS); do \ [ ! -d $(LOCALEDIR)/$$lang/LC_MESSAGES/ ] && mkdir -p $(LOCALEDIR)/$$lang/LC_MESSAGES/; \ - if [ -f po/$$lang.mo ]; then \ - install -m 644 po/$$lang.mo $(LOCALEDIR)/$$lang/LC_MESSAGES/tasksel.mo; \ - fi; \ + install -m 644 po/$$lang.mo $(LOCALEDIR)/$$lang/LC_MESSAGES/tasksel.mo; \ done -install-data: $(UTASKDESC) +install-data: install -d $(DESTDIR)$(TASKDIR)/descs \ $(DESTDIR)/usr/lib/tasksel/info \ $(DESTDIR)/usr/lib/tasksel/tests @@ -94,9 +77,15 @@ install-data: $(UTASKDESC) [ "$$package" = "packages/list" ] && continue; \ install -m 755 $$package $(DESTDIR)/usr/lib/tasksel/packages/; \ done +#Dropped +# for lang in $(LANGS_DESC); do \ +# [ ! -d $(LOCALEDIR)/$$lang/LC_MESSAGES/ ] && mkdir -p $(LOCALEDIR)/$$lang/LC_MESSAGES/; \ +# install -m 644 $(DESCDIR)/po/$$lang.mo $(LOCALEDIR)/$$lang/LC_MESSAGES/$(DOMAIN).mo; \ +# done clean: rm -f $(TASKDESC) $(UTASKDESC) *~ rm -rf debian/external-overrides $(MAKE) -C po clean $(MAKE) -C $(DESCPO) clean + diff --git a/helpers/DATA/tasksel/lang-gen.sh b/helpers/DATA/tasksel/lang-gen.sh deleted file mode 100755 index 9fe89da..0000000 --- a/helpers/DATA/tasksel/lang-gen.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -set -e - -# Args: -# $1 = LANGS_DESC (lista de códigos crudos) -# $2 = L10N_PKGS (familias base: language-pack, -gnome, hunspell, hyphen, mythes) -# $3 = destino (directorio trisquel-tasks) - -raw_langs="$1" -families="$2" -dest="$3" - -canon() { - case "$1" in - pt_BR) echo pt ;; - zh_CN) echo zh-hans ;; - zh_TW) echo zh-hant ;; - *) echo "${1%%_*}" ;; - esac -} - -have_pkg() { apt-cache show "$1" >/dev/null 2>&1; } - -mkdir -p "$dest" - -# de-dup -uniq_langs=$(for l in $raw_langs; do canon "$l"; done | tr ' ' '\n' | sort -u) - -for lang in $uniq_langs; do - base="language-pack-$lang" - if ! have_pkg "$base"; then - echo "skip: $lang (no $base)" >&2 - continue - fi - f="$dest/l10n-$lang" - { - echo "Task: $lang" - echo "Description: $lang environment" - echo " This task localises the desktop in $lang." - echo "Key:" - echo " $base" - echo "Packages: list" - for fam in $families; do - echo " ${fam}-${lang}" - done - echo "Section: l10n" - echo "Test-lang: $lang" - echo - } > "$f" -done diff --git a/helpers/DATA/tasksel/list b/helpers/DATA/tasksel/list deleted file mode 100644 index 664cb5f..0000000 --- a/helpers/DATA/tasksel/list +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# $1 = task name, $2..$N = packages (from "Packages: list") -# Runtime policy: -# - language-pack-gnome-* > MATE/GNOME/LXDE -# - language-pack-kde-* > KDE (Triskel) -# - abrowser-/firefox-locale-* > all desktops (MATE/GNOME/LXDE/KDE), not console -# - libreoffice-l10n-*, icedove-locale-* > MATE/GNOME/KDE; not LXDE/console -# - skip non-existent candidates (avoid APT 100) - -shift 1 - -debconf_get() { - [ -x /usr/bin/debconf-communicate ] || return - printf 'GET %s\n' "$1" | /usr/bin/debconf-communicate 2>/dev/null \ - | awk 'NR==1 && $1==0 { $1=""; sub(/^ /,""); print }' -} - -has_pkg() { /usr/bin/dpkg-query -W -f='${Status}\n' "$1" 2>/dev/null | grep -q 'ok installed'; } -exists() { LC_ALL=C /usr/bin/apt-cache policy "$1" 2>/dev/null | awk '/Candidate:/ {print $2}' | grep -qxv '(none)'; } - -sel="$(debconf_get pkgsel/desktop) $(debconf_get tasksel/first)" -case "$sel" in - *triskel*) FLAVOR=kde ;; - *trisquel-mini*) FLAVOR=lxde ;; - *trisquel-gnome*) FLAVOR=gnome ;; - *trisquel-desktop*) FLAVOR=mate ;; - *) FLAVOR=unknown ;; -esac - -if [ "$FLAVOR" = unknown ]; then - if has_pkg triskel || has_pkg plasma-desktop; then FLAVOR=kde - elif has_pkg trisquel-mini || has_pkg lxde-core; then FLAVOR=lxde - elif has_pkg trisquel-gnome || has_pkg gnome-shell; then FLAVOR=gnome - elif has_pkg trisquel-desktop || has_pkg mate-desktop-environment; then FLAVOR=mate - else FLAVOR=console - fi -fi - -is_kde=false; [ "$FLAVOR" = kde ] && is_kde=true -is_gtk=false; echo "$FLAVOR" | grep -Eq '^(mate|gnome|lxde)$' && is_gtk=true -is_console=false; [ "$FLAVOR" = console ] && is_console=true -is_desktop=true; $is_console && is_desktop=false - -emit() { - p="$1"; [ -n "$p" ] || return - case "$p" in - language-pack-gnome-*) $is_gtk || return ;; - language-pack-kde-*) $is_kde || return ;; - abrowser-l10n-*|abrowser-locale-*|firefox-locale-*) - $is_desktop || return ;; - libreoffice-l10n-*) echo "$FLAVOR" | grep -Eq '^(lxde|console)$' && return ;; - icedove-locale-*) echo "$FLAVOR" | grep -Eq '^(lxde|console)$' && return ;; - esac - exists "$p" && printf '%s\n' "$p" -} - -for p in "$@"; do emit "$p"; done diff --git a/helpers/DATA/tasksel/trisquel-tasks/dns-server b/helpers/DATA/tasksel/trisquel-tasks/dns-server index d6ea37f..61e4c25 100644 --- a/helpers/DATA/tasksel/trisquel-tasks/dns-server +++ b/helpers/DATA/tasksel/trisquel-tasks/dns-server @@ -2,5 +2,6 @@ Task: dns-server Section: server Description: Bind9 DNS server Selects the BIND DNS server and its documentation. +Packages: list Key: bind9 diff --git a/helpers/DATA/tasksel/trisquel-tasks/ltsp-server b/helpers/DATA/tasksel/trisquel-tasks/ltsp-server index d1c78e0..c409aa2 100644 --- a/helpers/DATA/tasksel/trisquel-tasks/ltsp-server +++ b/helpers/DATA/tasksel/trisquel-tasks/ltsp-server @@ -2,6 +2,7 @@ Task: ltsp-server Section: user Description: LTSP server This task provides a LTSP server on a Trisquel console environment with a server optimized kernel. +Packages: list Key: trisquel-base trisquel-base-recommended diff --git a/helpers/DATA/tasksel/trisquel-tasks/mail-server b/helpers/DATA/tasksel/trisquel-tasks/mail-server index ff9c0e3..ec68eb7 100644 --- a/helpers/DATA/tasksel/trisquel-tasks/mail-server +++ b/helpers/DATA/tasksel/trisquel-tasks/mail-server @@ -3,5 +3,6 @@ Section: server Description: Postfix mail server This task selects a variety of package useful for a general purpose mail server system. +Packages: list Key: postfix diff --git a/helpers/DATA/tasksel/trisquel-tasks/openssh-server b/helpers/DATA/tasksel/trisquel-tasks/openssh-server index 6760c48..e495f0d 100644 --- a/helpers/DATA/tasksel/trisquel-tasks/openssh-server +++ b/helpers/DATA/tasksel/trisquel-tasks/openssh-server @@ -2,5 +2,6 @@ Task: openssh-server Section: server Description: OpenSSH secure shell server Selects packages needed for an OpenSSH server. +Packages: list Key: openssh-server diff --git a/helpers/DATA/tasksel/trisquel-tasks/print-server b/helpers/DATA/tasksel/trisquel-tasks/print-server index eda12e5..26642cc 100644 --- a/helpers/DATA/tasksel/trisquel-tasks/print-server +++ b/helpers/DATA/tasksel/trisquel-tasks/print-server @@ -2,6 +2,7 @@ Task: print-server Section: server Description: Cups print server This task sets up your system to be a print server. +Packages: list Key: cups cups-bsd diff --git a/helpers/DATA/tasksel/trisquel-tasks/samba-server b/helpers/DATA/tasksel/trisquel-tasks/samba-server index 50f7d6b..e1dfc41 100644 --- a/helpers/DATA/tasksel/trisquel-tasks/samba-server +++ b/helpers/DATA/tasksel/trisquel-tasks/samba-server @@ -3,5 +3,6 @@ Section: server Description: Samba SMB file server This task sets up your system to be a Samba file server, which is especially suitable in networks with both Windows and GNU/Linux systems. +Packages: list Key: samba diff --git a/helpers/DATA/tasksel/trisquel-tasks/triskel b/helpers/DATA/tasksel/trisquel-tasks/triskel index 3bcd9ec..61df555 100644 --- a/helpers/DATA/tasksel/trisquel-tasks/triskel +++ b/helpers/DATA/tasksel/trisquel-tasks/triskel @@ -2,6 +2,7 @@ Task: triskel Section: user Description: Triskel desktop environment This task provides a KDE based Trisquel desktop environment and applications. +Packages: list Key: triskel triskel-recommended diff --git a/helpers/DATA/tasksel/trisquel-tasks/trisquel-console b/helpers/DATA/tasksel/trisquel-tasks/trisquel-console index 7f37a0a..b0ed169 100644 --- a/helpers/DATA/tasksel/trisquel-tasks/trisquel-console +++ b/helpers/DATA/tasksel/trisquel-tasks/trisquel-console @@ -2,6 +2,7 @@ Task: trisquel-console Section: user Description: Trisquel console environment This task provides a basic Trisquel console environment +Packages: list Key: trisquel-base trisquel-base-recommended diff --git a/helpers/DATA/tasksel/trisquel-tasks/trisquel-desktop b/helpers/DATA/tasksel/trisquel-tasks/trisquel-desktop index 0106fe0..8e77753 100644 --- a/helpers/DATA/tasksel/trisquel-tasks/trisquel-desktop +++ b/helpers/DATA/tasksel/trisquel-tasks/trisquel-desktop @@ -2,6 +2,7 @@ Task: trisquel-desktop Section: user Description: Trisquel desktop environment This task provides the standard Trisquel desktop environment and applications. +Packages: list Key: trisquel trisquel-recommended diff --git a/helpers/DATA/tasksel/trisquel-tasks/trisquel-gnome b/helpers/DATA/tasksel/trisquel-tasks/trisquel-gnome index 8a9c0a7..358db11 100644 --- a/helpers/DATA/tasksel/trisquel-tasks/trisquel-gnome +++ b/helpers/DATA/tasksel/trisquel-tasks/trisquel-gnome @@ -2,6 +2,7 @@ Task: trisquel-gnome Section: user Description: Trisquel GNOME environment This task provides a Trisquel desktop based on the GNOME environment +Packages: list Key: trisquel-gnome trisquel-gnome-recommended diff --git a/helpers/DATA/tasksel/trisquel-tasks/trisquel-mini b/helpers/DATA/tasksel/trisquel-tasks/trisquel-mini index 9534af5..4af6cff 100644 --- a/helpers/DATA/tasksel/trisquel-tasks/trisquel-mini +++ b/helpers/DATA/tasksel/trisquel-tasks/trisquel-mini @@ -2,6 +2,7 @@ Task: trisquel-mini Section: user Description: Trisquel mini environment This task provides a small Trisquel desktop environment +Packages: list Key: trisquel-mini trisquel-mini-recommended diff --git a/helpers/DATA/tasksel/trisquel-tasks/web-server b/helpers/DATA/tasksel/trisquel-tasks/web-server index 279e037..7ca2b2d 100644 --- a/helpers/DATA/tasksel/trisquel-tasks/web-server +++ b/helpers/DATA/tasksel/trisquel-tasks/web-server @@ -2,6 +2,7 @@ Task: web-server Section: server Description: GLAMP web server Selects a ready-made GNU+Linux/Apache/MySQL/PHP server. +Packages: list Key: apache2 mysql-server diff --git a/helpers/DATA/transmission/patch_changes/001-update_path_for_daemon_due_dep17_migration.patch b/helpers/DATA/transmission/patch_changes/001-update_path_for_daemon_due_dep17_migration.patch deleted file mode 100644 index 6ea7b2c..0000000 --- a/helpers/DATA/transmission/patch_changes/001-update_path_for_daemon_due_dep17_migration.patch +++ /dev/null @@ -1,15 +0,0 @@ -Based on -https://salsa.debian.org/debian/transmission/-/commit/4c54d7e15dbb7bd81cbb50f9f9dbc9c37e584966 - -More info about the DEP17 migration at: https://dep-team.pages.debian.net/deps/dep17/ - -diff --git a/debian/transmission-daemon.install b/debian/transmission-daemon.install -index 697f57e2..4c65104a 100644 ---- a/debian/transmission-daemon.install -+++ b/debian/transmission-daemon.install -@@ -1,4 +1,4 @@ --daemon/transmission-daemon.service lib/systemd/system -+daemon/transmission-daemon.service usr/lib/systemd/system - debian/README.json etc/transmission-daemon - debian/settings.json etc/transmission-daemon - usr/bin/transmission-daemon diff --git a/helpers/DATA/trisquel-wallpapers/README.md b/helpers/DATA/trisquel-wallpapers/README.md deleted file mode 100644 index 5351c5f..0000000 --- a/helpers/DATA/trisquel-wallpapers/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# trisquel-wallpapers -This folder centralize on the package-helpers repo the final wallpaper for -the release. - -The final artwork should come from trisquel-packages/$VERSION/trisquel-wallpapers -repository, make sure to review helper on the designed stage prior to -release, so it uses right artwork when released. - -This should be copied with something like this: - -``` -cp $(find DATA/trisquel-wallpapers/ -name $CODENAME.*) \ - warty-final-ubuntukylin.jpg -``` - -Helpers using this image should be identified using the tag: - -* `#STAGE-5-DESKTOP|ARTWORK` - -To ease identification. - -## Final wallpaper format -Please note that the final wallpaper artwork file could be in JPG or PNG -form (or any other format), make sure to make the necessary test to confirm -that the format specific file is not an issue on your desired package helper -use. diff --git a/helpers/DATA/trisquel-wallpapers/ecne.jpg b/helpers/DATA/trisquel-wallpapers/ecne.jpg deleted file mode 100644 index bfd0658..0000000 Binary files a/helpers/DATA/trisquel-wallpapers/ecne.jpg and /dev/null differ diff --git a/helpers/DATA/ubiquity/99trisquel b/helpers/DATA/ubiquity/99trisquel deleted file mode 100755 index 9972b27..0000000 --- a/helpers/DATA/ubiquity/99trisquel +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -set -e - -file="$1" - -: "${ROOT:=/target}" -SD="$ROOT/etc/apt/sources.list.d" -SF="$SD/trisquel.sources" -MSG="# Trisquel sources have moved to /etc/apt/sources.list.d/trisquel.sources" -SAVETO="$ROOT/etc/apt/sources.list.new" -mkdir -p "$SD" - -FASTEST=https://archive.trisquel.org/trisquel/ -SPEED=1000000000000 - -if nm-online -xq -then - for i in $(grep '//' /usr/share/python-apt/templates/Trisquel.mirrors | sed 's|/$||') - do - echo Testing $i - TIME=$(date +%s%N) - wget --no-check-certificate -t 1 -T 5 --max-redirect=0 -o /dev/null -O /dev/null $i/speedtest || continue - TIME2=$(date +%s%N) - ELAPSED=$(expr $TIME2 - $TIME) - echo Time: $ELAPSED - if [ $ELAPSED -lt $SPEED ] - then - FASTEST=$i - SPEED=$ELAPSED - fi - done -fi - -echo "Selected mirror: $FASTEST" - -MIRROR=$FASTEST -RELEASE=$(lsb_release -c | cut -f 2) - -# Ensure MIRROR ends with a single trailing slash for Deb822 URIs -case "$MIRROR" in - */) : ;; - *) MIRROR="$MIRROR/";; -esac - -# Use keyring in /usr/share/keyrings -SIGNED_BY="/usr/share/keyrings/trisquel-archive-keyring.gpg" - -# Write Deb822 sources file in the requested structure -cat << EOF > "$SF" -# Trisquel repositories for supported software and updates -Types: deb -URIs: ${MIRROR} -Suites: ${RELEASE} ${RELEASE}-updates ${RELEASE}-security -Components: main -Signed-By: ${SIGNED_BY} - -# Source package repositories -Types: deb-src -URIs: ${MIRROR} -Suites: ${RELEASE} ${RELEASE}-updates ${RELEASE}-security -Components: main -Signed-By: ${SIGNED_BY} - -# Optional backports repository -Enabled: no -Types: deb deb-src -URIs: ${MIRROR} -Suites: ${RELEASE}-backports -Components: main -Signed-By: ${SIGNED_BY} -EOF - -# Keep the legacy file and the pipeline temp file as a single breadcrumb line -printf '%s\n' "$MSG" > "$SAVETO" -: > "$file" - -exit 0 diff --git a/helpers/DATA/ubiquity/patch_changes/003-a11y.patch b/helpers/DATA/ubiquity/a11y.patch similarity index 100% rename from helpers/DATA/ubiquity/patch_changes/003-a11y.patch rename to helpers/DATA/ubiquity/a11y.patch diff --git a/helpers/DATA/ubiquity/patch_changes/004-crash_report_point_to_trisquel_forge.patch b/helpers/DATA/ubiquity/crash_report_point_to_trisquel_forge.patch similarity index 100% rename from helpers/DATA/ubiquity/patch_changes/004-crash_report_point_to_trisquel_forge.patch rename to helpers/DATA/ubiquity/crash_report_point_to_trisquel_forge.patch diff --git a/helpers/DATA/ubiquity/patch_changes/001-grub-installer.patch b/helpers/DATA/ubiquity/grub-installer.patch similarity index 100% rename from helpers/DATA/ubiquity/patch_changes/001-grub-installer.patch rename to helpers/DATA/ubiquity/grub-installer.patch diff --git a/helpers/DATA/ubiquity/patch_changes/002-no_confrirmation_when_crypto.patch b/helpers/DATA/ubiquity/no_confrirmation_when_crypto.patch similarity index 100% rename from helpers/DATA/ubiquity/patch_changes/002-no_confrirmation_when_crypto.patch rename to helpers/DATA/ubiquity/no_confrirmation_when_crypto.patch diff --git a/helpers/DATA/ubiquity/patch_changes/000-set_trisquel_default_partman_recipe.patch b/helpers/DATA/ubiquity/patch_changes/000-set_trisquel_default_partman_recipe.patch deleted file mode 100644 index 8b6f6cc..0000000 --- a/helpers/DATA/ubiquity/patch_changes/000-set_trisquel_default_partman_recipe.patch +++ /dev/null @@ -1,234 +0,0 @@ -diff --git a/d-i/source/partman-auto/recipes-alpha/multi b/d-i/source/partman-auto/recipes-alpha/multi -index 186decf7..5916d8ee 100644 ---- a/d-i/source/partman-auto/recipes-alpha/multi -+++ b/d-i/source/partman-auto/recipes-alpha/multi -@@ -10,7 +10,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - method{ format } - format{ } - use_filesystem{ } -diff --git a/d-i/source/partman-auto/recipes-armel-kirkwood/multi b/d-i/source/partman-auto/recipes-armel-kirkwood/multi -index 690676a3..bcdea3fa 100644 ---- a/d-i/source/partman-auto/recipes-armel-kirkwood/multi -+++ b/d-i/source/partman-auto/recipes-armel-kirkwood/multi -@@ -9,7 +9,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/d-i/source/partman-auto/recipes-armel-orion5x/multi b/d-i/source/partman-auto/recipes-armel-orion5x/multi -index 690676a3..bcdea3fa 100644 ---- a/d-i/source/partman-auto/recipes-armel-orion5x/multi -+++ b/d-i/source/partman-auto/recipes-armel-orion5x/multi -@@ -9,7 +9,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/d-i/source/partman-auto/recipes-armhf-efikasb/multi b/d-i/source/partman-auto/recipes-armhf-efikasb/multi -index 690676a3..bcdea3fa 100644 ---- a/d-i/source/partman-auto/recipes-armhf-efikasb/multi -+++ b/d-i/source/partman-auto/recipes-armhf-efikasb/multi -@@ -9,7 +9,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/d-i/source/partman-auto/recipes-hppa/multi b/d-i/source/partman-auto/recipes-hppa/multi -index c984ae28..eabbfbb4 100644 ---- a/d-i/source/partman-auto/recipes-hppa/multi -+++ b/d-i/source/partman-auto/recipes-hppa/multi -@@ -12,7 +12,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext4 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - $bootable{ } - method{ format } -diff --git a/d-i/source/partman-auto/recipes-mipsel-loongson-2f/multi b/d-i/source/partman-auto/recipes-mipsel-loongson-2f/multi -index cf0e860a..0eab6089 100644 ---- a/d-i/source/partman-auto/recipes-mipsel-loongson-2f/multi -+++ b/d-i/source/partman-auto/recipes-mipsel-loongson-2f/multi -@@ -9,7 +9,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - method{ format } - format{ } -diff --git a/d-i/source/partman-auto/recipes-powerpc-apus/multi b/d-i/source/partman-auto/recipes-powerpc-apus/multi -index 1ac8e5d9..5dd492ce 100644 ---- a/d-i/source/partman-auto/recipes-powerpc-apus/multi -+++ b/d-i/source/partman-auto/recipes-powerpc-apus/multi -@@ -14,7 +14,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/d-i/source/partman-auto/recipes-powerpc-chrp_ibm/multi b/d-i/source/partman-auto/recipes-powerpc-chrp_ibm/multi -index f42943e8..341d40fc 100644 ---- a/d-i/source/partman-auto/recipes-powerpc-chrp_ibm/multi -+++ b/d-i/source/partman-auto/recipes-powerpc-chrp_ibm/multi -@@ -14,7 +14,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/d-i/source/partman-auto/recipes-powerpc-chrp_pegasos/multi b/d-i/source/partman-auto/recipes-powerpc-chrp_pegasos/multi -index d8effcff..b947d8d6 100644 ---- a/d-i/source/partman-auto/recipes-powerpc-chrp_pegasos/multi -+++ b/d-i/source/partman-auto/recipes-powerpc-chrp_pegasos/multi -@@ -7,7 +7,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - method{ format } - format{ } -diff --git a/d-i/source/partman-auto/recipes-powerpc-powermac_newworld/multi b/d-i/source/partman-auto/recipes-powerpc-powermac_newworld/multi -index 1d3b421b..c213840b 100644 ---- a/d-i/source/partman-auto/recipes-powerpc-powermac_newworld/multi -+++ b/d-i/source/partman-auto/recipes-powerpc-powermac_newworld/multi -@@ -7,7 +7,7 @@ partman-auto/text/multi_scheme :: - filesystem{ hfs } - mountpoint{ /boot/grub } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - method{ format } - format{ } -diff --git a/d-i/source/partman-auto/recipes-powerpc-powermac_oldworld/multi b/d-i/source/partman-auto/recipes-powerpc-powermac_oldworld/multi -index d8effcff..b947d8d6 100644 ---- a/d-i/source/partman-auto/recipes-powerpc-powermac_oldworld/multi -+++ b/d-i/source/partman-auto/recipes-powerpc-powermac_oldworld/multi -@@ -7,7 +7,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - method{ format } - format{ } -diff --git a/d-i/source/partman-auto/recipes-powerpc-prep/multi b/d-i/source/partman-auto/recipes-powerpc-prep/multi -index f206800c..43c4774a 100644 ---- a/d-i/source/partman-auto/recipes-powerpc-prep/multi -+++ b/d-i/source/partman-auto/recipes-powerpc-prep/multi -@@ -5,7 +5,7 @@ partman-auto/text/multi_scheme :: - $bootable{ } - method{ prep } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/d-i/source/partman-auto/recipes-sparc/multi b/d-i/source/partman-auto/recipes-sparc/multi -index ed9aec7e..4b950102 100644 ---- a/d-i/source/partman-auto/recipes-sparc/multi -+++ b/d-i/source/partman-auto/recipes-sparc/multi -@@ -14,7 +14,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext2 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - method{ format } - format{ } -diff --git a/d-i/source/partman-auto/recipes/multi b/d-i/source/partman-auto_/recipes/multi -index b4b70373..d115e4d9 100644 ---- a/d-i/source/partman-auto/recipes/multi -+++ b/d-i/source/partman-auto_/recipes/multi -@@ -20,7 +20,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext4 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - method{ format } - format{ } -diff --git a/d-i/source/partman-auto/recipes-amd64-efi/multi b/d-i/source/partman-auto_/recipes-amd64-efi/multi -index bbf8aa4e..7fa47d15 100644 ---- a/d-i/source/partman-auto/recipes-amd64-efi/multi -+++ b/d-i/source/partman-auto_/recipes-amd64-efi/multi -@@ -15,7 +15,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext4 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - method{ format } - format{ } -diff --git a/d-i/source/partman-auto/recipes-armhf/multi b/d-i/source/partman-auto_/recipes-armhf/multi -index b3a9e77b..f490e8fd 100644 ---- a/d-i/source/partman-auto/recipes-armhf/multi -+++ b/d-i/source/partman-auto_/recipes-armhf/multi -@@ -9,7 +9,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext4 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } -diff --git a/d-i/source/partman-auto/recipes-ia64/multi b/d-i/source/partman-auto_/recipes-ia64/multi -index 3b120834..2fa16eaa 100644 ---- a/d-i/source/partman-auto/recipes-ia64/multi -+++ b/d-i/source/partman-auto_/recipes-ia64/multi -@@ -5,7 +5,7 @@ partman-auto/text/multi_scheme :: - method{ efi } - format{ } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $primary{ } - method{ format } - format{ } -diff --git a/d-i/source/partman-auto/recipes-ppc64el/multi b/d-i/source/partman-auto_/recipes-ppc64el/multi -index b95319b9..d86962fa 100644 ---- a/d-i/source/partman-auto/recipes-ppc64el/multi -+++ b/d-i/source/partman-auto_/recipes-ppc64el/multi -@@ -15,7 +15,7 @@ partman-auto/text/multi_scheme :: - filesystem{ ext4 } - mountpoint{ /boot } . - --2000 3500 25000 $default_filesystem -+8000 10000 51200 $default_filesystem - $lvmok{ } - $primary{ } - method{ format } diff --git a/helpers/DATA/ubiquity/patch_changes/005-prevent_ubiquity-dm_error_due_missing_gsettings.patch b/helpers/DATA/ubiquity/patch_changes/005-prevent_ubiquity-dm_error_due_missing_gsettings.patch deleted file mode 100644 index a39d8b3..0000000 --- a/helpers/DATA/ubiquity/patch_changes/005-prevent_ubiquity-dm_error_due_missing_gsettings.patch +++ /dev/null @@ -1,21 +0,0 @@ -# Present in first alpha Ecne ISO. - -diff --git a/bin/ubiquity-dm b/bin/ubiquity-dm -index 67ffdb27..ea14e068 100755 ---- a/bin/ubiquity-dm -+++ b/bin/ubiquity-dm -@@ -505,9 +505,11 @@ EndSection - gsettings_keys.append( - ('org.gnome.settings-daemon.plugins.background', - 'active', 'false')) -- gsettings_keys.remove( -- ('org.gnome.desktop.wm.preferences', 'num-workspaces', -- '1')) -+ # Prevent error out if settings aren't there -+ key = ('org.gnome.desktop.wm.preferences', 'num-workspaces', '1') -+ if key in gsettings_keys: -+ gsettings_keys.remove(key) -+ - os.environ['XDG_SESSION_TYPE'] = 'x11' - - if (osextras.find_on_path('gnome-shell')): diff --git a/helpers/DATA/ubiquity/patch_changes/006-force_environment_software_gl_for_ubiquity.patch b/helpers/DATA/ubiquity/patch_changes/006-force_environment_software_gl_for_ubiquity.patch deleted file mode 100644 index 59707e7..0000000 --- a/helpers/DATA/ubiquity/patch_changes/006-force_environment_software_gl_for_ubiquity.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/bin/ubiquity b/bin/ubiquity -index e3f07a0c..5254f1f7 100755 ---- a/bin/ubiquity -+++ b/bin/ubiquity -@@ -22,6 +22,9 @@ import locale - from operator import attrgetter - import optparse - import os -+# Force software GL for the installer; overridable by environment. (TPH!1804) -+if 'LIBGL_ALWAYS_SOFTWARE' not in os.environ: -+ os.environ['LIBGL_ALWAYS_SOFTWARE'] = '1' - import pwd - import shutil - import subprocess diff --git a/helpers/DATA/ubiquity/patch_changes/007-setup_deb822_mirrors_setup.patch b/helpers/DATA/ubiquity/patch_changes/007-setup_deb822_mirrors_setup.patch deleted file mode 100644 index 6fde74a..0000000 --- a/helpers/DATA/ubiquity/patch_changes/007-setup_deb822_mirrors_setup.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/d-i/source/apt-setup/generators/01setup b/d-i/source/apt-setup/generators/01setup -index b4b0ea40..c4933286 100755 ---- a/d-i/source/apt-setup/generators/01setup -+++ b/d-i/source/apt-setup/generators/01setup -@@ -5,6 +5,22 @@ set -e - - file="$1" - -+# Ensure ROOT default; allow override -+: "${ROOT:=/target}" -+ -+# If Deb822 sources already exist in the target, don't emit anything, let 99trisquel to take over. -+if [ -d "$ROOT/etc/apt/sources.list.d" ] && ls "$ROOT/etc/apt/sources.list.d/"*.sources >/dev/null 2>&1; then -+ : > "$file" -+ exit 0 -+else -+ # Fallback: add old file as comments (tolerant if missing) -+ if [ -r "$ROOT/etc/apt/sources.list" ]; then -+ sed 's/^/# /' < "$ROOT/etc/apt/sources.list" | sed 's/^# # */# /' > "$file" -+ else -+ : > "$file" -+ fi -+fi -+ - # add old file as comments - sed 's/^/# /' < $ROOT/etc/apt/sources.list | sed 's/^# # */# /' > $file - diff --git a/helpers/DATA/ubuntu-release-upgrader/DistUpgrade.cfg b/helpers/DATA/ubuntu-release-upgrader/DistUpgrade.cfg index 0a5bed4..8b65961 100644 --- a/helpers/DATA/ubuntu-release-upgrader/DistUpgrade.cfg +++ b/helpers/DATA/ubuntu-release-upgrader/DistUpgrade.cfg @@ -68,8 +68,8 @@ BackupExt=distUpgrade LogDir=/var/log/dist-upgrade/ [Sources] -From=aramo -To=ecne +From=nabia +To=aramo ValidOrigin=Trisquel ValidMirrors = mirrors.cfg Components=main diff --git a/helpers/DATA/ubuntu-release-upgrader/DistUpgrade.cfg.aramo b/helpers/DATA/ubuntu-release-upgrader/DistUpgrade.cfg.aramo deleted file mode 100644 index 0a5bed4..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/DistUpgrade.cfg.aramo +++ /dev/null @@ -1,93 +0,0 @@ -[View] -# the views will be tried in this order, if one fails to import, the next -# is tried -View=DistUpgradeViewGtk3,DistUpgradeViewKDE,DistUpgradeViewText -#View=DistUpgradeViewNonInteractive -#Depends= apt (>= 1.0.10.2ubuntu2) -# the views below support upgrades over ssh connection -SupportSSH=DistUpgradeViewText,DistUpgradeViewNonInteractive - -# Distro contains global information about the upgrade -[Distro] -# the meta-pkgs we support -MetaPkgs=trisquel, trisquel-mini, triskel, trisquel-sugar, trisquel-gnome -BaseMetaPkgs=trisquel-minimal, trisquel-base -IgnoredTasks=minimal, standard -Demotions=demoted.cfg -RemovalDenylistFile=removal_denylist.cfg -# if those packages were installed, make sure to keep them installed -KeepInstalledPkgs=xserver-xorg-video-all -KeepInstalledSection=translations -RemoveObsoletes=yes -PurgeObsoletes=yes -#ForcedObsoletes=ksplash-engine-moodin, powernowd, laptop-mode-tools -# hints for for stuff that should be done right after the cache calculated -# the dist-upgrade (not to be confused with the PostUpgrade hooks in the -# quirks handling) -#PostUpgradePurge=linux-restricted-modules-common -#PostUpgradeRemove=xsettings-kde -PostUpgradeRemove=resolvconf,notification-daemon -#PostUpgradeUpgrade=brasero,edubuntu-desktop -#PostUpgradeInstall=apt -#PostInstallScripts=./trisquel-postinstall.sh -EnableApport=no -# this supported deny listing certain versions to ensure we do not upgrade -# - blcr-dkms fails to build on kernel 2.6.35 -#BadVersions=blcr-dkms_0.8.2-13 -# ubiquity slideshow -#SlideshowUrl=http://people.canonical.com/~mvo/ubiquity-slideshow-upgrade/slides/ - -[trisquel] -KeyDependencies=lightdm, mate-desktop-environment, marco, ubuntu-mate-default-settings, lightdm-gtk-greeter -# those pkgs will be marked remove right after the distUpgrade in the cache -PostUpgradeRemove=casper, xscreensaver, powermanagement-interface, compiz-core, gdm, gnome-ppp, resolvconf -ForcedObsoletes= cups-pdf, notification-daemon, libcogl15, resolvconf - -[trisquel-mini] -KeyDependencies=lxde -#Remove previous gnome component from ltrisquel to avoid pulling gnome depends on upgrade (LP: #945215) -PostUpgradeRemove=casper, gnome-bluetooth, resolvconf -ForcedObsoletes= cups-pdf, notification-daemon, libcogl15, resolvconf - -[triskel] -KeyDependencies=triskel-settings-desktop, plasma-desktop, sddm -PostUpgradeRemove=powermanagement-interface, guidance-power-manager, kde-guidance-powermanager, kmix -# those packages are marked as obsolete right after the upgrade -ForcedObsoletes=ivman, gtk-qt-engine -# help the resolver a bit: LP: #1426132 -PostUpgradeInstall=baloo-kf5 - -[trisquel-sugar] -KeyDependencies=sugar, lightdm-gtk-greeter - -[trisquel-gnome] -KeyDependencies=gnome-core, gdm3 - -[Files] -BackupExt=distUpgrade -LogDir=/var/log/dist-upgrade/ - -[Sources] -From=aramo -To=ecne -ValidOrigin=Trisquel -ValidMirrors = mirrors.cfg -Components=main -Pockets=security,updates,backports -;AllowThirdParty=False - -;[PreRequists] -;Packages=release-upgrader-apt,release-upgrader-dpkg -;SourcesList=prerequists-sources.list -;SourcesList-ia64=prerequists-sources.ports.list -;SourcesList-hppa=prerequists-sources.ports.list - -[Network] -MaxRetries=3 - -[NonInteractive] -ForceOverwrite=yes -RealReboot=no -DebugBrokenScripts=no -DpkgProgressLog=no -;TerminalTimeout=2400 diff --git a/helpers/DATA/ubuntu-release-upgrader/patch_changes/000-automatic_install_usrmerge_for_t-r-u.patch b/helpers/DATA/ubuntu-release-upgrader/patch_changes/000-automatic_install_usrmerge_for_t-r-u.patch deleted file mode 100644 index 9d2e828..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/patch_changes/000-automatic_install_usrmerge_for_t-r-u.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/DistUpgrade/DistUpgradeQuirks.py b/DistUpgrade/DistUpgradeQuirks.py -index 9423f091..00d9b84c 100644 ---- a/DistUpgrade/DistUpgradeQuirks.py -+++ b/DistUpgrade/DistUpgradeQuirks.py -@@ -2000,17 +2000,27 @@ class DistUpgradeQuirks(object): - break - - if fail: -- logging.debug('System is not /usr-merged!') -- self._view.error( -- _( -- f'Cannot upgrade system with unmerged /usr' -- ), -- _( -- 'Please install the usrmerge package to fix this, ' -- 'and then try the upgrade again.' -- ), -+ logging.warning( -+ "System is not /usr-merged. Installing usrmerge before continuing..." -+ ) -+ res = subprocess.run(["apt-get", "update"]) -+ res2 = subprocess.run(["apt-get", "-y", "install", "usrmerge"]) -+ -+ if res2.returncode != 0: -+ # Installation failed, abort the upgrade with a clear message -+ self.controller.error(_( -+ "The system is not /usr-merged and 'usrmerge' could not be " -+ "installed automatically. Please install it manually and " -+ "try again." -+ )) -+ return -+ -+ # Re-check that /usr merge is now in place -+ # (ensure /bin -> /usr/bin, /lib -> /usr/lib, etc.) -+ logging.info( -+ "usrmerge installed successfully; system is now /usr-merged. " -+ "Proceeding with the upgrade." - ) -- self.controller.abort() - - def _disable_cloud_init(self): - """ diff --git a/helpers/DATA/ubuntu-release-upgrader/patch_changes/001-prevent_lxde-trisquel-mini_logging_session_start.patch b/helpers/DATA/ubuntu-release-upgrader/patch_changes/001-prevent_lxde-trisquel-mini_logging_session_start.patch deleted file mode 100644 index f0cbf24..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/patch_changes/001-prevent_lxde-trisquel-mini_logging_session_start.patch +++ /dev/null @@ -1,82 +0,0 @@ -diff --git a/DistUpgrade/DistUpgradeQuirks.py b/DistUpgrade/DistUpgradeQuirks.py -index 9423f091..c20e3079 100644 ---- a/DistUpgrade/DistUpgradeQuirks.py -+++ b/DistUpgrade/DistUpgradeQuirks.py -@@ -190,6 +190,7 @@ class DistUpgradeQuirks(object): - """ run right before calculating the dist-upgrade """ - logging.debug("running Quirks.PreDistUpgradeCache") - # self._install_python_is_python2() -+ self._protect_essential_gui() - self._maybe_remove_gpg_wks_server() - self._install_t64_replacement_packages() - self._install_pipewire_audio_on_ubuntu_studio() -@@ -204,6 +205,69 @@ class DistUpgradeQuirks(object): - self._disable_cloud_init() - - # helpers -+ def _is_lxde_system(self): -+ """Return True if LXDE (trisquel-mini) is detected as installed.""" -+ cache = self.controller.cache -+ for name in ("lxsession", "lxpanel", "lxde-core", "trisquel-mini"): -+ try: -+ if name in cache and getattr(cache[name], "is_installed", False): -+ return True -+ except Exception: -+ pass -+ return False -+ -+ def _protect_essential_gui(self): -+ """ -+ Prevent the solver from removing essential GUI session packages -+ (LightDM/LXDE). Only acts on packages that are already present. -+ """ -+ # Skip on non-LXDE systems to avoid touching other desktops (KDE/Xfce, etc.) -+ if not self._is_lxde_system(): -+ logging.debug("protect_essential_gui: not an LXDE system, skipping") -+ return -+ -+ essential = { -+ "lightdm", -+ "lightdm-gtk-greeter", -+ "lxsession", -+ "lxpanel", -+ "lxsession-logout", -+ } -+ cache = self.controller.cache -+ resolver = apt.ProblemResolver(self.controller.cache) -+ logging.info("protect_essential_gui: conservative protection enabled") -+ -+ for name in essential: -+ if name not in cache: -+ # Not in cache (e.g. different desktop), do nothing. -+ continue -+ pkg = cache[name] -+ # Keep package from being considered auto-removable in the future -+ try: -+ if hasattr(pkg, "mark_auto"): -+ pkg.mark_auto(auto=False) -+ except Exception: -+ logging.debug("protect_essential_gui: mark_auto(False) failed for %s", name) -+ # If installed, mark as user-requested and protect in the solver -+ try: -+ if getattr(pkg, "is_installed", False): -+ pkg.mark_install(from_user=True, auto_fix=True) -+ try: -+ resolver.protect(pkg) -+ except Exception: -+ logging.debug("protect_essential_gui: protect() failed for %s", name) -+ except Exception: -+ logging.debug("protect_essential_gui: keep/install failed for %s", name) -+ -+ # Diagnostics: warn if APT still plans to remove any essential package -+ try: -+ to_remove = {p.name for p in cache.get_changes() if getattr(p, "marked_delete", False)} -+ bad = sorted(essential & to_remove) -+ if bad: -+ logging.warning("APT still wants to remove essential GUI packages: %s", ", ".join(bad)) -+ except Exception: -+ pass -+ - def _get_pci_ids(self): - """ return a set of pci ids of the system (using lspci -n) """ - lspci = set() diff --git a/helpers/DATA/ubuntu-release-upgrader/patch_changes/002-prevent_trisquel-sugar_to_fail_dependency_resolve.patch b/helpers/DATA/ubuntu-release-upgrader/patch_changes/002-prevent_trisquel-sugar_to_fail_dependency_resolve.patch deleted file mode 100644 index c16c7c4..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/patch_changes/002-prevent_trisquel-sugar_to_fail_dependency_resolve.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff --git a/DistUpgrade/DistUpgradeQuirks.py b/DistUpgrade/DistUpgradeQuirks.py -index f7427ac2..51f85b32 100644 ---- a/DistUpgrade/DistUpgradeQuirks.py -+++ b/DistUpgrade/DistUpgradeQuirks.py -@@ -190,6 +190,7 @@ class DistUpgradeQuirks(object): - """ run right before calculating the dist-upgrade """ - logging.debug("running Quirks.PreDistUpgradeCache") - # self._install_python_is_python2() -+ self._t64_transition_helper() - self._protect_essential_gui() - self._maybe_remove_gpg_wks_server() - self._install_t64_replacement_packages() -@@ -205,6 +206,53 @@ class DistUpgradeQuirks(object): - self._disable_cloud_init() - - # helpers -+ def _t64_transition_helper(self): -+ """ -+ Help the resolver by preferring t64 variants for commonly-blocking libs. -+ Safe to run multiple times. -+ """ -+ cache = getattr(self.controller, "cache", None) -+ if cache is None: -+ return -+ log = logging.getLogger("DistUpgrade") -+ -+ pairs = [ -+ ("libglib2.0-0", "libglib2.0-0t64"), -+ ("libqt5core5a", "libqt5core5t64"), -+ ("libelf1", "libelf1t64"), -+ ("libssl3", "libssl3t64"), -+ ("libpsl5", "libpsl5t64"), -+ ("libdb5.3", "libdb5.3t64"), -+ ("libgdbm6", "libgdbm6t64"), -+ ("libpng16-16", "libpng16-16t64"), -+ ("libtevent0", "libtevent0t64"), -+ ("libmtdev1", "libmtdev1t64"), -+ ("libts0", "libts0t64"), -+ ("libtirpc3", "libtirpc3t64"), -+ ("libqt6core6", "libqt6core6t64"), -+ ("libqt6dbus6", "libqt6dbus6t64"), -+ ("libparted2", "libparted2t64"), -+ ] -+ -+ # Run only if at least one of the target t64 packages is in the cache. -+ if not any(new in cache for _, new in pairs): -+ log.debug("t64-helper: no target t64 packages in cache; skipping") -+ return -+ -+ touched = [] -+ for old, newpkg in pairs: -+ if old in cache and newpkg in cache: -+ try: -+ if getattr(cache[old], "is_installed", False) or getattr(cache[old], "marked_install", False): -+ cache[newpkg].mark_install(from_user=True, auto_fix=True) -+ touched.append(newpkg) -+ except Exception as e: -+ log.debug("t64-helper: mark_install(%s) failed: %s", newpkg, e) -+ -+ if touched: -+ log.info("t64-helper: forced %s", ", ".join(touched)) -+ -+ - def _is_lxde_system(self): - """Return True if LXDE (trisquel-mini) is detected as installed.""" - cache = self.controller.cache diff --git a/helpers/DATA/ubuntu-release-upgrader/patch_changes/003-prevent_trisquel_old_versioning_overcome_ecnes_new_version_scheme.patch b/helpers/DATA/ubuntu-release-upgrader/patch_changes/003-prevent_trisquel_old_versioning_overcome_ecnes_new_version_scheme.patch deleted file mode 100644 index 4a6c121..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/patch_changes/003-prevent_trisquel_old_versioning_overcome_ecnes_new_version_scheme.patch +++ /dev/null @@ -1,112 +0,0 @@ -diff --git a/DistUpgrade/DistUpgradeQuirks.py b/DistUpgrade/DistUpgradeQuirks.py -index 243efc14..a63db6bb 100644 ---- a/DistUpgrade/DistUpgradeQuirks.py -+++ b/DistUpgrade/DistUpgradeQuirks.py -@@ -189,6 +189,18 @@ class DistUpgradeQuirks(object): - def PreDistUpgradeCache(self): - """ run right before calculating the dist-upgrade """ - logging.debug("running Quirks.PreDistUpgradeCache") -+ -+ cache = self._get_cache() -+ self.__resolver = None -+ # Ensure recommends are ON for desktops, avoids resolver dead-ends -+ try: -+ self.ensure_recommends_are_installed_on_desktops() -+ except Exception as e: -+ logging.debug("ensure_recommends skipped: %s", e) -+ -+ # Prefer Ecne-style candidates before marking transitions -+ self._prefer_ecne_suffix(cache) -+ - # self._install_python_is_python2() - self._t64_transition_helper() - self._protect_essential_gui() -@@ -206,6 +208,88 @@ class DistUpgradeQuirks(object): - self._disable_cloud_init() - - # helpers -+ def _get_cache(self): -+ """ -+ Return the active apt cache used by the upgrader, regardless of how -+ this DistUpgradeQuirks instance was wired in this fork. -+ """ -+ for attr in ("cache", "_cache", "apt_cache"): -+ c = getattr(self, attr, None) -+ if c is not None: -+ return c -+ ctrl = getattr(self, "controller", None) or getattr(self, "_controller", None) -+ if ctrl: -+ for attr in ("cache", "_cache"): -+ c = getattr(ctrl, attr, None) -+ if c is not None: -+ return c -+ return None -+ -+ def _prefer_ecne_suffix(self, cache): -+ """ -+ Force candidate versions to Ecne-style (e.g. '101trisquel1') when the -+ installed version uses the older '+11.0trisquel' scheme. This avoids -+ holding back old packages and enables the intended transition/downgrade. -+ """ -+ import logging -+ import apt_pkg -+ -+ if cache is None or not hasattr(cache, "_depcache"): -+ logging.debug("prefer-ecne-suffix: cache not available, skipping") -+ return -+ -+ changed = 0 -+ depcache = cache._depcache -+ -+ for pkg in cache: -+ # Only act on installed packages with the old '+11.0trisquel' suffix -+ if not getattr(pkg, "is_installed", False): -+ continue -+ inst = pkg.installed -+ if not inst: -+ continue -+ inst_ver = getattr(inst, "version", "") -+ if "+11.0trisquel" not in inst_ver: -+ continue -+ -+ # Find a target version that is trisquel*-style but NOT '+11.0trisquel' -+ target = None -+ for ver in pkg.versions: -+ vstr = getattr(ver, "version", "") -+ if "+11.0trisquel" in vstr: -+ continue -+ if "trisquel" in vstr: -+ target = ver -+ break -+ if not target: -+ continue -+ -+ # Resolve the underlying apt_pkg.Version so we can set it as candidate -+ aptpkg_pkg = pkg._pkg -+ aptpkg_ver = None -+ for v in aptpkg_pkg.version_list: -+ if v.ver_str == target.version: -+ aptpkg_ver = v -+ break -+ if aptpkg_ver is None: -+ continue -+ -+ # Force candidate and request an upgrade/install to pull it in -+ depcache.set_candidate_ver(aptpkg_pkg, aptpkg_ver) -+ try: -+ pkg.mark_upgrade() -+ except Exception: -+ try: -+ pkg.mark_install() -+ except Exception: -+ continue -+ changed += 1 -+ -+ if changed: -+ logging.info("prefer-ecne-suffix: changed packages=%d", changed) -+ else: -+ logging.debug("prefer-ecne-suffix: no candidates changed") -+ - def _t64_transition_helper(self): - """ - Provides a minimal t64 transition focused on GLib and Qt5Core. diff --git a/helpers/DATA/ubuntu-release-upgrader/patch_changes/004-add_helper_to_prevent_mta-postfix_to_be_installed_on_desktop_systems.patch b/helpers/DATA/ubuntu-release-upgrader/patch_changes/004-add_helper_to_prevent_mta-postfix_to_be_installed_on_desktop_systems.patch deleted file mode 100644 index 5afc47b..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/patch_changes/004-add_helper_to_prevent_mta-postfix_to_be_installed_on_desktop_systems.patch +++ /dev/null @@ -1,249 +0,0 @@ -diff --git a/DistUpgrade/DistUpgradeQuirks.py b/DistUpgrade/DistUpgradeQuirks.py -index a63db6bb..c91dff31 100644 ---- a/DistUpgrade/DistUpgradeQuirks.py -+++ b/DistUpgrade/DistUpgradeQuirks.py -@@ -27,6 +27,7 @@ import logging - import os - import pwd - import re -+import errno - import hashlib - import subprocess - import pathlib -@@ -113,7 +113,10 @@ class DistUpgradeQuirks(object): - def PreCacheOpen(self): - """ run before the apt cache is opened the first time """ - logging.debug("running Quirks.PreCacheOpen") -- self._add_apport_ignore_list() -+ if hasattr(self, "_add_apport_ignore_list"): -+ self._add_apport_ignore_list() -+ self._wks_write_pin_if_desktop() -+ self._mta_write_pin_if_desktop() - - # individual quirks handler that run *after* the cache is opened - def ecnePostInitialUpdate(self): -@@ -148,6 +151,8 @@ class DistUpgradeQuirks(object): - self._calculateSnapSizeRequirements() - - def ecnePostUpgrade(self): -+ self._wks_remove_pin() -+ self._mta_remove_pin() - logging.debug("running Quirks.ecnePostUpgrade") - cache = self.controller.cache - if 'snapd' not in cache: -@@ -173,7 +176,8 @@ class DistUpgradeQuirks(object): - def PostCleanup(self): - " run after cleanup " - logging.debug("running Quirks.PostCleanup") -- self._remove_apport_ignore_list() -+ if hasattr(self, "_remove_apport_ignore_list"): -+ self._remove_apport_ignore_list() - - # run right before the first packages get installed - def StartUpgrade(self): -@@ -193,6 +193,15 @@ class DistUpgradeQuirks(object): - - # individual quirks handler that run *right before* the dist-upgrade - # is calculated in the cache -+ # --- WKS hard-block config --- -+ WKS_BLOCK_PREF = "/etc/apt/preferences.d/zz-urug-block-wks.pref" -+ WKS_PACKAGES = ("gpg-wks-server", "gnupg-wks-server") -+ DESKTOP_METAS = ("trisquel", "trisquel-mini", "trisquel-sugar", -+ "trisquel-gnome", "triskel", "trisquel-desktop-common") -+ -+ # --- MTA hard-block config (postfix only, temporary during upgrade) --- -+ MTA_BLOCK_PREF = "/etc/apt/preferences.d/zz-urug-block-mta-postfix.pref" -+ - def PreDistUpgradeCache(self): - """ run right before calculating the dist-upgrade """ - logging.debug("running Quirks.PreDistUpgradeCache") -@@ -209,9 +218,11 @@ class DistUpgradeQuirks(object): - self._prefer_ecne_suffix(cache) - - # self._install_python_is_python2() -+ self._wks_purge_from_cache() -+ self._mta_cancel_selection() - self._t64_transition_helper() - self._protect_essential_gui() -- self._maybe_remove_gpg_wks_server() -+ # self._maybe_remove_gpg_wks_server() - self._install_t64_replacement_packages() - self._install_pipewire_audio_on_ubuntu_studio() - self._handle_ufw_breaks() -@@ -206,8 +222,176 @@ class DistUpgradeQuirks(object): - logging.debug("running Quirks.PostDistUpgradeCache") - self._install_linux_metapackage() - self._disable_cloud_init() -+ self._wks_purge_from_cache() - - # helpers -+ def _dpkg_has(self, pkgname): -+ """ -+ Checks /var/lib/dpkg/status to see if 'pkgname' is installed. -+ Does not depend on apt.Cache(), useful in PreCacheOpen. -+ """ -+ try: -+ with open("/var/lib/dpkg/status", "r", encoding="utf-8", errors="ignore") as f: -+ name = None -+ installed = False -+ for line in f: -+ if line.startswith("Package: "): -+ # New block -+ if name == pkgname and installed: -+ return True -+ name = line.split(":", 1)[1].strip() -+ installed = False -+ elif line.startswith("Status: ") and " installed" in line: -+ if name: -+ installed = True -+ # Last block -+ return (name == pkgname and installed) -+ except FileNotFoundError: -+ return False -+ -+ def _is_desktop_system(self): -+ """ -+ Detects 'desktop' by already installed Trisquel metapackages, -+ without opening apt.Cache(). -+ """ -+ for meta in self.DESKTOP_METAS: -+ if self._dpkg_has(meta): -+ return True -+ return False -+ -+ def _wks_write_pin_if_desktop(self): -+ """ -+ If it's a desktop, write an APT pin that prevents installing/upgrading -+ gpg-wks-server/gnupg-wks-server during the upgrade. -+ """ -+ if not self._is_desktop_system(): -+ logging.debug("wks-pin: no-desktop detected, skipping pin write") -+ return -+ try: -+ os.makedirs(os.path.dirname(self.WKS_BLOCK_PREF), exist_ok=True) -+ content = ( -+ "# Block WKS only during release-upgrade to avoid MTA pull-in\n" -+ "Package: gpg-wks-server\n" -+ "Pin: version *\n" -+ "Pin-Priority: -1000\n\n" -+ "Package: gnupg-wks-server\n" -+ "Pin: version *\n" -+ "Pin-Priority: -1000\n" -+ ) -+ with open(self.WKS_BLOCK_PREF, "w", encoding="utf-8") as f: -+ f.write(content) -+ logging.info("wks-pin: wrote %s", self.WKS_BLOCK_PREF) -+ except Exception as e: -+ logging.warning("wks-pin: failed to write pin: %s", e) -+ -+ def _wks_remove_pin(self): -+ """ Remove the APT pin at the end of the process. """ -+ try: -+ os.unlink(self.WKS_BLOCK_PREF) -+ logging.info("wks-pin: removed %s", self.WKS_BLOCK_PREF) -+ except FileNotFoundError: -+ pass -+ except Exception as e: -+ logging.warning("wks-pin: failed to remove pin: %s", e) -+ -+ def _wks_purge_from_cache(self): -+ """ -+ Ensures that WKS packages are neither installed nor marked -+ for installation/update in the resolver cache. -+ """ -+ cache = self._get_cache() -+ if cache is None: -+ logging.debug("wks-purge: no cache available; skipping") -+ return -+ -+ removed = [] -+ kept = [] -+ for name in self.WKS_PACKAGES: -+ if name not in cache: -+ continue -+ try: -+ pkg = cache[name] -+ if getattr(pkg, "is_installed", False): -+ logging.info("wks-purge: removing %s", name) -+ pkg.mark_delete(purge=True) -+ removed.append(name) -+ elif getattr(pkg, "marked_install", False) or getattr(pkg, "marked_upgrade", False): -+ logging.info("wks-purge: unmark %s (keep)", name) -+ pkg.mark_keep() -+ kept.append(name) -+ except Exception as e: -+ logging.debug("wks-purge: failed processing %s: %s", name, e) -+ -+ if removed: -+ logging.info("wks-purge: marked for removal: %s", ", ".join(sorted(set(removed)))) -+ if kept: -+ logging.info("wks-purge: kept (unmarked): %s", ", ".join(sorted(set(kept)))) -+ -+ def _mta_write_pin_if_desktop(self): -+ """ -+ If this is a desktop system and *postfix* is not already installed, -+ write a temporary APT pin to block postfix from being pulled in -+ (e.g. via WKS or virtual default-mta) during the release-upgrade. -+ Removed at the end of the upgrade. -+ """ -+ try: -+ if not self._is_desktop_system(): -+ return -+ if self._dpkg_has("postfix"): -+ return -+ os.makedirs(os.path.dirname(self.MTA_BLOCK_PREF), exist_ok=True) -+ content = ( -+ "# Block postfix only during release-upgrade to avoid unwanted MTA install\n" -+ "Package: postfix\n" -+ "Pin: version *\n" -+ "Pin-Priority: -1000\n" -+ ) -+ with open(self.MTA_BLOCK_PREF, "w", encoding="utf-8") as f: -+ f.write(content) -+ logging.info("mta-pin: wrote %s", self.MTA_BLOCK_PREF) -+ except Exception as e: -+ logging.warning("mta-pin: failed to write pin: %s", e) -+ -+ def _mta_remove_pin(self): -+ "Remove the temporary postfix APT pin created for the upgrade." -+ try: -+ os.unlink(self.MTA_BLOCK_PREF) -+ logging.info("mta-pin: removed %s", self.MTA_BLOCK_PREF) -+ except FileNotFoundError: -+ pass -+ except Exception as e: -+ logging.warning("mta-pin: failed to remove pin: %s", e) -+ -+ def _mta_cancel_selection(self): -+ """ -+ Safety net: if postfix somehow ended up selected for install/upgrade -+ in the resolver cache, cancel that selection (keep state). -+ """ -+ cache = self._get_cache() -+ if cache is None or "postfix" not in cache: -+ return -+ try: -+ pkg = cache["postfix"] -+ if getattr(pkg, "marked_install", False) or getattr(pkg, "marked_upgrade", False): -+ logging.info("mta-pin: unmark install/upgrade for postfix") -+ pkg.mark_keep() -+ except Exception as e: -+ logging.debug("mta-pin: unable to unmark postfix: %s", e) -+ for n in self.WKS_PACKAGES: -+ if n not in cache: -+ continue -+ try: -+ pkg = cache[n] -+ if getattr(pkg, "is_installed", False): -+ logging.info("wks-purge: removing %s", n) -+ # mark_delete(purge=True) if you want to purge conffiles -+ pkg.mark_delete() -+ elif getattr(pkg, "marked_install", False) or getattr(pkg, "marked_upgrade", False): -+ logging.info("wks-purge: unmark %s (keep)", n) -+ pkg.mark_keep() -+ except Exception as e: -+ logging.info("wks-purge: failed processing %s: %s", n, e) -+ - def _get_cache(self): - """ - Return the active apt cache used by the upgrader, regardless of how diff --git a/helpers/DATA/ubuntu-release-upgrader/patch_changes/005-prevent_package_with_no_candidate_summary_break.patch b/helpers/DATA/ubuntu-release-upgrader/patch_changes/005-prevent_package_with_no_candidate_summary_break.patch deleted file mode 100644 index 5bba0a6..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/patch_changes/005-prevent_package_with_no_candidate_summary_break.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/DistUpgrade/DistUpgradeViewGtk3.py b/DistUpgrade/DistUpgradeViewGtk3.py -index f656c611..a291e321 100644 ---- a/DistUpgrade/DistUpgradeViewGtk3.py -+++ b/DistUpgrade/DistUpgradeViewGtk3.py -@@ -736,7 +736,7 @@ class DistUpgradeViewGtk3(DistUpgradeView,SimpleGtkbuilderApp): - [parent_text % len(details_list)]) - for pkg in details_list: - self.details_list.append(node, ["%s - %s" % ( -- pkg.name, GLib.markup_escape_text(getattr(pkg.candidate, "summary", None)))]) -+ pkg.name, GLib.markup_escape_text(getattr(pkg.candidate, "summary", "") or ""))]) - # prepare dialog - self.dialog_changes.realize() - self.dialog_changes.set_transient_for(self.window_main) diff --git a/helpers/DATA/ubuntu-release-upgrader/patch_changes/006-tune-final_sources.list.patch b/helpers/DATA/ubuntu-release-upgrader/patch_changes/006-tune-final_sources.list.patch deleted file mode 100644 index 8e2998c..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/patch_changes/006-tune-final_sources.list.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/DistUpgrade/DistUpgradeController.py b/DistUpgrade/DistUpgradeController.py -index a03dad7a..1f1b74df 100644 ---- a/DistUpgrade/DistUpgradeController.py -+++ b/DistUpgrade/DistUpgradeController.py -@@ -174,15 +174,11 @@ class DistUpgradeController(object): - # Defaults for deb sources - self.default_sources_filepath = os.path.join( - apt_pkg.config.find_dir("Dir::Etc::sourceparts"), -- "ubuntu.sources" -+ "trisquel.sources" - ) - -- if self.arch in ("amd64", "i386"): -- self.default_source_uri = "http://{}archive.trisquel.org/trisquel".format(country_mirror()) -- self.security_source_uri = "http://archive.trisquel.org/trisquel" -- else: -- self.default_source_uri = "http://ports.ubuntu.com/ubuntu-ports" -- self.security_source_uri = "http://ports.ubuntu.com/ubuntu-ports" -+ self.default_source_uri = "http://{}archive.trisquel.org/trisquel".format(country_mirror()) -+ self.security_source_uri = "http://archive.trisquel.org/trisquel" - - # we run with --force-overwrite by default - if "RELEASE_UPGRADE_NO_FORCE_OVERWRITE" not in os.environ: -@@ -932,8 +928,8 @@ class DistUpgradeController(object): - # Figure out where this new entry is going. - if entry.file == sourcelist_file: - if self.isMirror(entry.uri): -- # sources.list -> sources.list.d/ubuntu.sources -- new_filepath = os.path.join(sourceparts_dir, 'ubuntu.sources') -+ # sources.list -> sources.list.d/trisquel.sources -+ new_filepath = os.path.join(sourceparts_dir, 'trisquel.sources') - else: - # sources.list -> sources.list.d/third-party.sources - new_filepath = os.path.join(sourceparts_dir, 'third-party.sources') -@@ -989,7 +985,7 @@ class DistUpgradeController(object): - for entry in index.values(): - filepath = entry['filepath'] - -- if filepath == os.path.join(sourceparts_dir, 'ubuntu.sources'): -+ if filepath == os.path.join(sourceparts_dir, 'trisquel.sources'): - entry['signed-by'] = ' /usr/share/keyrings/trisquel-archive-keyring.gpg' - else: - # Check if there is a ppa.gpg corresponding to ppa.list. -@@ -1046,7 +1042,7 @@ class DistUpgradeController(object): - # the migration. - with open(sourcelist_file, 'w') as f: - f.write('# Trisquel sources have moved to {}\n' -- .format(os.path.join(sourceparts_dir, 'ubuntu.sources'))) -+ .format(os.path.join(sourceparts_dir, 'trisquel.sources'))) - - def _addDefaultSources(self): - e = self.sources.add( -@@ -1281,7 +1277,7 @@ class DistUpgradeController(object): - and self.useNetwork): - #hm, still nothing useful ... - prim = _("Generate default sources?") -- secon = _("After scanning your 'ubuntu.sources' no " -+ secon = _("After scanning your 'trisquel.sources' no " - "valid entry for '%s' was found.\n\n" - "Should default entries for '%s' be " - "added? If you select 'No', the upgrade " diff --git a/helpers/DATA/ubuntu-release-upgrader/patch_changes/007-ensure_reinstall_desktop_meta_on_upgrade.patch b/helpers/DATA/ubuntu-release-upgrader/patch_changes/007-ensure_reinstall_desktop_meta_on_upgrade.patch deleted file mode 100644 index c12f842..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/patch_changes/007-ensure_reinstall_desktop_meta_on_upgrade.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/DistUpgrade/DistUpgradeQuirks.py b/DistUpgrade/DistUpgradeQuirks.py -index f1337e12..9250dd3a 100644 ---- a/DistUpgrade/DistUpgradeQuirks.py -+++ b/DistUpgrade/DistUpgradeQuirks.py -@@ -209,6 +209,7 @@ class DistUpgradeQuirks(object): - self._wks_purge_from_cache() - self._mta_cancel_selection() - self._t64_transition_helper() -+ self._ensure_trisquel_meta_selected() - self._protect_essential_gui() - # self._maybe_remove_gpg_wks_server() - self._install_t64_replacement_packages() -@@ -476,6 +477,36 @@ class DistUpgradeQuirks(object): - else: - logging.debug("prefer-ecne-suffix: no candidates changed") - -+ def _ensure_trisquel_meta_selected(self): -+ """ -+ Ensure base Trisquel meta-packages are explicitly selected for installation/upgrade. -+ This nudges APT's resolver to plan the transition (e.g., PipeWire replacing PulseAudio) -+ in the same run, instead of deferring meta-packages as "Not Upgrading". -+ """ -+ # Get the apt cache from the controller (attribute name varies across releases) -+ cache = getattr(self.controller, "cache", None) or getattr(self.controller, "_cache", None) -+ if cache is None: -+ # Best effort: nothing to do if cache is not yet attached here -+ return -+ -+ # Root meta-packages by flavour plus the common desktop pivot -+ roots = [ -+ "trisquel", "triskel", "trisquel-mini", "trisquel-gnome", "trisquel-sugar", -+ "trisquel-desktop-common", -+ ] -+ for name in roots: -+ try: -+ pkg = cache[name] -+ except KeyError: -+ continue # package not present in this flavour -+ if getattr(pkg, "is_installed", False): -+ try: -+ # Mark as user-requested so the resolver upgrades it with its peers -+ pkg.mark_install(from_user=True) -+ except Exception: -+ # Non-fatal: keep going -+ pass -+ - def _t64_transition_helper(self): - """ - Provides a minimal t64 transition focused on GLib and Qt5Core. diff --git a/helpers/DATA/ubuntu-release-upgrader/patch_changes/008-ensure_pipewire_upgrade_stack.patch b/helpers/DATA/ubuntu-release-upgrader/patch_changes/008-ensure_pipewire_upgrade_stack.patch deleted file mode 100644 index c605033..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/patch_changes/008-ensure_pipewire_upgrade_stack.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/DistUpgrade/DistUpgradeQuirks.py b/DistUpgrade/DistUpgradeQuirks.py -index 35ed55bd..b70a8899 100644 ---- a/DistUpgrade/DistUpgradeQuirks.py -+++ b/DistUpgrade/DistUpgradeQuirks.py -@@ -209,6 +209,7 @@ class DistUpgradeQuirks(object): - self._wks_purge_from_cache() - self._mta_cancel_selection() - self._t64_transition_helper() -+ self._ensure_pipewire_stack() - self._ensure_trisquel_meta_selected() - self._protect_essential_gui() - # self._maybe_remove_gpg_wks_server() -@@ -605,6 +606,51 @@ class DistUpgradeQuirks(object): - except Exception: - pass - -+ def _ensure_pipewire_stack(self): -+ """ -+ Nudge APT to pick the PipeWire stack so desktop metas can upgrade. -+ Also remove PulseAudio family to resolve Conflicts/Breaks with pipewire-audio. -+ """ -+ cache = getattr(self.controller, "cache", None) -+ if cache is None: -+ return -+ log = logging.getLogger("DistUpgrade") -+ -+ touched_i, touched_d = [], [] -+ -+ # Full PipeWire stack -+ for n in ("pipewire-audio", "pipewire-alsa", "pipewire-pulse", "gstreamer1.0-pipewire", "wireplumber"): -+ if self._apt_mark_install(n, protect=True): touched_i.append(n) -+ -+ # Remove PulseAudio family to avoid conflicts -+ for n in ("pulseaudio", "pulseaudio-module-bluetooth", "pulseaudio-module-gsettings", "pulseaudio-module-jack", "pulseaudio-utils"): -+ if self._apt_mark_delete(n): touched_d.append(n) -+ -+ if touched_i or touched_d: -+ log.info("pipewire-helper: install=%s remove=%s", -+ ", ".join(touched_i) if touched_i else "-", -+ ", ".join(touched_d) if touched_d else "-") -+ -+ -+ def mark(name): -+ if name in cache and getattr(cache[name], "candidate", None): -+ try: -+ cache[name].mark_install(from_user=True) -+ return True -+ except Exception: -+ pass -+ return False -+ -+ touched = [] -+ for n in ("pipewire-alsa", "pipewire-audio", "gstreamer1.0-pipewire"): -+ if mark(n): -+ touched.append(n) -+ -+ if touched: -+ logging.getLogger("DistUpgrade").info( -+ "pipewire-helper: preselected %s", ", ".join(touched) -+ ) -+ - def _get_pci_ids(self): - """ return a set of pci ids of the system (using lspci -n) """ - lspci = set() diff --git a/helpers/DATA/ubuntu-release-upgrader/patch_changes/009-add_parted_transition_helper.patch b/helpers/DATA/ubuntu-release-upgrader/patch_changes/009-add_parted_transition_helper.patch deleted file mode 100644 index c7299b5..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/patch_changes/009-add_parted_transition_helper.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/DistUpgrade/DistUpgradeQuirks.py b/DistUpgrade/DistUpgradeQuirks.py -index 484ceaae..c390003a 100644 ---- a/DistUpgrade/DistUpgradeQuirks.py -+++ b/DistUpgrade/DistUpgradeQuirks.py -@@ -209,6 +209,7 @@ class DistUpgradeQuirks(object): - self._wks_purge_from_cache() - self._mta_cancel_selection() - self._t64_transition_helper() -+ self._parted_transition_helper() - self._ensure_pipewire_stack() - self._ensure_trisquel_meta_selected() - self._protect_essential_gui() -@@ -618,6 +624,44 @@ class DistUpgradeQuirks(object): - except Exception: - pass - -+ -+ def _parted_transition_helper(self): -+ """ -+ Handle libparted/udisks2 transition seen in logs: -+ - Remove libparted-fs-resize0 (obsolete transitional) -+ - Prefer libparted2t64 when available, else libparted2 -+ - Protect libblockdev-fs2 and udisks2 from accidental removal -+ """ -+ cache = getattr(self.controller, "cache", None) -+ if cache is None: -+ return -+ log = logging.getLogger("DistUpgrade") -+ -+ touched_i, touched_d = [], [] -+ -+ if self._apt_mark_delete("libparted-fs-resize0"): -+ touched_d.append("libparted-fs-resize0") -+ -+ # Prefer t64 if present -+ if "libparted2t64" in cache: -+ if self._apt_mark_install("libparted2t64"): -+ touched_i.append("libparted2t64") -+ else: -+ if self._apt_mark_install("libparted2"): -+ touched_i.append("libparted2") -+ -+ # Keep storage stack in place -+ for keep in ("libblockdev-fs2", "udisks2"): -+ try: -+ if keep in cache and (getattr(cache[keep], "is_installed", False) or getattr(cache[keep], "marked_install", False)): -+ if self._resolver(): self._resolver().protect(cache[keep]) -+ except Exception: pass -+ -+ if touched_i or touched_d: -+ log.info("parted-helper: install=%s remove=%s", -+ ", ".join(touched_i) if touched_i else "-", -+ ", ".join(touched_d) if touched_d else "-") -+ - def _ensure_pipewire_stack(self): - """ - Nudge APT to pick the PipeWire stack so desktop metas can upgrade. diff --git a/helpers/DATA/ubuntu-release-upgrader/patch_changes/010_define_independent_solver.patch b/helpers/DATA/ubuntu-release-upgrader/patch_changes/010_define_independent_solver.patch deleted file mode 100644 index 7837827..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/patch_changes/010_define_independent_solver.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/DistUpgrade/DistUpgradeQuirks.py b/DistUpgrade/DistUpgradeQuirks.py -index 4c599207..2c3fd680 100644 ---- a/DistUpgrade/DistUpgradeQuirks.py -+++ b/DistUpgrade/DistUpgradeQuirks.py -@@ -202,6 +202,41 @@ class DistUpgradeQuirks(object): - # --- MTA hard-block config (postfix only, temporary during upgrade) --- - MTA_BLOCK_PREF = "/etc/apt/preferences.d/zz-urug-block-mta-postfix.pref" - -+ def _resolver(self): -+ # use only one ProblemResolver per stage -+ if not hasattr(self, "__resolver") or self.__resolver is None: -+ try: -+ import apt -+ self.__resolver = apt.ProblemResolver(self._get_cache()) -+ except Exception: -+ self.__resolver = None -+ return self.__resolver -+ -+ def _apt_mark_install(self, name, protect=False, auto_fix=True, from_user=True): -+ cache = self._get_cache() -+ if cache and name in cache and getattr(cache[name], "candidate", None): -+ try: -+ cache[name].mark_install(from_user=from_user, auto_fix=auto_fix) -+ if protect and self._resolver(): -+ try: self._resolver().protect(cache[name]) -+ except Exception: pass -+ return True -+ except Exception: -+ return False -+ return False -+ -+ def _apt_mark_delete(self, name, purge=False): -+ cache = self._get_cache() -+ if cache and name in cache: -+ pkg = cache[name] -+ if getattr(pkg, "is_installed", False) or getattr(pkg, "marked_install", False): -+ try: -+ pkg.mark_delete(auto_fix=False) -+ return True -+ except Exception: -+ return False -+ return False -+ - def PreDistUpgradeCache(self): - """ run right before calculating the dist-upgrade """ - logging.debug("running Quirks.PreDistUpgradeCache") diff --git a/helpers/DATA/ubuntu-release-upgrader/pep440.patch b/helpers/DATA/ubuntu-release-upgrader/pep440.patch deleted file mode 100644 index 481c6d0..0000000 --- a/helpers/DATA/ubuntu-release-upgrader/pep440.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/setup.py 2024-08-24 23:17:50.141778711 -0400 -+++ b/setup.py 2024-08-24 23:11:05.728064936 -0400 -@@ -1,6 +1,7 @@ - #!/usr/bin/env python3 - - import glob -+import re - - from distutils.core import setup - from subprocess import check_output -@@ -15,6 +16,7 @@ - # PEP 440 uses '!' for the epoch separator: - # https://peps.python.org/pep-0440/#version-epochs - version = value.strip().replace(':','!') -+ version = re.sub("([a-zA-Z])", r"+\1", version, count=1) - break - else: - raise RuntimeError('No version found in debian/changelog') diff --git a/helpers/DATA/ubuntukylin-wallpapers/aramo.jpg b/helpers/DATA/ubuntukylin-wallpapers/aramo.jpg new file mode 100644 index 0000000..1310cde Binary files /dev/null and b/helpers/DATA/ubuntukylin-wallpapers/aramo.jpg differ diff --git a/helpers/DATA/ubuntukylin-wallpapers/pep440.patch b/helpers/DATA/ubuntukylin-wallpapers/pep440.patch deleted file mode 100644 index 33b4dd2..0000000 --- a/helpers/DATA/ubuntukylin-wallpapers/pep440.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/setup.py b/setup.py -index afd2fb91..6b73c251 100644 ---- a/setup.py -+++ b/setup.py -@@ -9,8 +9,8 @@ changelog = "debian/changelog" - if os.path.exists(changelog): - head=open(changelog).readline() - match = re.compile(".*\((.*)\).*").match(head) -- if match: -- version = match.group(1) -+ version = match.group(1) -+ version = re.sub("([a-zA-Z])", r"+\1", version, count=1) - - setup( - name = 'ubuntukylin-wallpapers', diff --git a/helpers/DATA/ungoogled-chromium/patch_changes/000-adding_ublock_webext_as_recommendation.patch b/helpers/DATA/ungoogled-chromium/patch_changes/000-adding_ublock_webext_as_recommendation.patch deleted file mode 100644 index 22e6be4..0000000 --- a/helpers/DATA/ungoogled-chromium/patch_changes/000-adding_ublock_webext_as_recommendation.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/debian/control b/debian/control -index 0327415f..e97daaf3 100644 ---- a/debian/control -+++ b/debian/control -@@ -103,6 +103,7 @@ Depends: - ungoogled-chromium-common (= ${binary:Version}), - Recommends: - ungoogled-chromium-sandbox, -+ webext-ublock-origin-chromium, - Suggests: - ungoogled-chromium-l10n, - ungoogled-chromium-shell, diff --git a/helpers/DATA/unzip/match.patch b/helpers/DATA/unzip/match.patch index 6781ebb..6ba65fe 100644 --- a/helpers/DATA/unzip/match.patch +++ b/helpers/DATA/unzip/match.patch @@ -7,14 +7,14 @@ - Copyright on recmatch() from Zip's util.c (although recmatch() was almost - certainly written by Mark Adler...ask me how I can tell :-) ): + Copyright on recmatch() from Zip's util.c -+ Copyright (c) 1990-2005 Info-ZIP. All rights reserved. ++ Copyright (c) 1990-2005 Info-ZIP. All rights reserved. - Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly, - Kai Uwe Rommel and Igor Mandrichenko. -+ See the accompanying file LICENSE, version 2004-May-22 or later -+ for terms of use. -+ If, for some reason, both of these files are missing, the Info-ZIP license -+ also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html ++ See the accompanying file LICENSE, version 2004-May-22 or later ++ for terms of use. ++ If, for some reason, both of these files are missing, the Info-ZIP license ++ also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html - Permission is granted to any individual or institution to use, copy, - or redistribute this software so long as all of the original files are @@ -23,6 +23,15 @@ --------------------------------------------------------------------------- +@@ -53,7 +51,7 @@ + + A set is composed of characters or ranges; a range looks like ``character + hyphen character'' (as in 0-9 or A-Z). [0-9a-zA-Z_] is the minimal set of +- characters allowed in the [..] pattern construct. Other characters are ++ characters ALlowed in the [..] pattern construct. Other characters are + allowed (i.e., 8-bit characters) if your system will support them. + + To suppress the special syntactic significance of any of ``[]*?!^-\'', in- @@ -101,8 +99,32 @@ # define WILDCHAR '?' # define BEG_RANGE '[' diff --git a/helpers/DATA/update-manager/extra/99_pycodestyle_pass.patch b/helpers/DATA/update-manager/extra/99_pycodestyle_pass.patch deleted file mode 100644 index c58b3c0..0000000 --- a/helpers/DATA/update-manager/extra/99_pycodestyle_pass.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/UpdateManager/Core/UpdateList.py b/UpdateManager/Core/UpdateList.py -index 0f887633..5f919829 100644 ---- a/UpdateManager/Core/UpdateList.py -+++ b/UpdateManager/Core/UpdateList.py -@@ -184,7 +184,7 @@ class UpdatePackageGroup(UpdateGroup): - - class UpdateSystemGroup(UpdateGroup): - def __init__(self, cache, to_remove, sensitive=True): -- # Translators: the %s is a distro name, like 'Trisquel' and 'base' as in -+ # Translators: %s is a distro name, like 'Trisquel' and 'base' as in - # the core components and packages. - name = "Trisquel base" - icon = Gio.ThemedIcon.new("distributor-logo") -diff --git a/UpdateManager/UpdatesAvailable.py b/UpdateManager/UpdatesAvailable.py -index 2cb7f3d3..0410578f 100644 ---- a/UpdateManager/UpdatesAvailable.py -+++ b/UpdateManager/UpdatesAvailable.py -@@ -862,8 +862,8 @@ class UpdatesAvailable(InternalDialog): - self.button_pro.destroy() - elif (self.list.ubuntu_pro_fake_groups - and not self.list.ubuntu_pro_groups): -- download_str = _("You need to enable Trisquel Pro to install" -- " these updates.") -+ download_str = _("You need to enable Trisquel Pro to" -+ " install these updates.") - self.button_install.hide() - else: - download_str = _("There are no updates to install.") diff --git a/helpers/DATA/update-manager/prevent-autoconnection.patch b/helpers/DATA/update-manager/prevent-autoconnection.patch index 8aa10d8..2712c3a 100644 --- a/helpers/DATA/update-manager/prevent-autoconnection.patch +++ b/helpers/DATA/update-manager/prevent-autoconnection.patch @@ -1,69 +1,44 @@ -diff --git a/UpdateManager/Dialogs.py b/UpdateManager/Dialogs.py -index a5d13ad4..89603956 100644 ---- a/UpdateManager/Dialogs.py -+++ b/UpdateManager/Dialogs.py -@@ -175,6 +175,23 @@ class NoUpdatesDialog(InternalDialog): - Gtk.STOCK_OK, self.window_main.close - ) - -+ +diff -ru source.orig/UpdateManager/Dialogs.py source/UpdateManager/Dialogs.py +--- source.orig/UpdateManager/Dialogs.py 2018-02-12 20:44:33.321329066 -0500 ++++ source/UpdateManager/Dialogs.py 2018-02-12 20:45:28.141249480 -0500 +@@ -161,7 +162,21 @@ + self.add_settings_button() + self.focus_button = self.add_button(Gtk.STOCK_OK, + self.window_main.close) +class ShouldUpdateDialog(InternalDialog): + def __init__(self, window_main): -+ + + InternalDialog.__init__(self, window_main) + self.set_header(_("Include latest updates from the Internet?")) + self.set_desc(_('''To prevent unwanted connections to the Internet +Trisquel will not automatically check for updates +unless you say so in the Settings panel.''')) + self.add_settings_button() -+ self.add_button(_("Check for Updates"), self.check) ++ self.add_button(_("Check for Updates"),self.check) + self.add_button(_("Ask Me Later"), self.window_main.close) + + def check(self): + self.window_main.options.no_update = False + self.window_main.check_update() -+ class DistUpgradeDialog(InternalDialog): def __init__(self, window_main, meta_release): -diff --git a/UpdateManager/UpdateManager.py b/UpdateManager/UpdateManager.py -index b6cdc8ab..d82db9dd 100644 ---- a/UpdateManager/UpdateManager.py -+++ b/UpdateManager/UpdateManager.py -@@ -56,6 +56,7 @@ from .Dialogs import ( - ErrorDialog, - HWEUpgradeDialog, - NeedRestartDialog, -+ ShouldUpdateDialog, - NoUpdatesDialog, - NoUpgradeForYouDialog, - PartialUpgradeDialog, -@@ -125,11 +126,13 @@ class UpdateManager(Gtk.Window): - ) - - # Look for a new release in a thread -- self.meta_release = MetaRelease( -- self.options and self.options.devel_release, -- self.options and self.options.use_proposed, -- self.options and self.options.debug, -- ) -+ if (self.options.check_dist_upgrades -+ and apt_pkg.config.find_i("APT::Periodic::Update-Package-Lists") -+ != 0): -+ self.meta_release = MetaRelease( -+ self.options and self.options.devel_release, -+ self.options and self.options.use_proposed, -+ self.options and self.options.debug) - - def begin_user_resizable(self, stored_width=0, stored_height=0): - self.set_resizable(True) -@@ -205,6 +206,19 @@ +diff -ru source.orig/UpdateManager/UpdateManager.py source/UpdateManager/UpdateManager.py +--- source.orig/UpdateManager/UpdateManager.py 2018-02-12 20:44:33.317329071 -0500 ++++ source/UpdateManager/UpdateManager.py 2018-02-12 20:45:28.133249491 -0500 +@@ -52,6 +52,7 @@ + ErrorDialog, + HWEUpgradeDialog, + NeedRestartDialog, ++ ShouldUpdateDialog, + NoUpdatesDialog, + PartialUpgradeDialog, + StoppedUpdatesDialog, +@@ -205,6 +206,17 @@ self.start_available() def start_update(self): -+ if (not self.options.no_check_screen -+ and apt_pkg.config.find_i("APT::Periodic::Update-Package-Lists") -+ == 0): ++ if not self.options.no_check_screen and apt_pkg.config.find_i("APT::Periodic::Update-Package-Lists") == 0: + self._start_pane(ShouldUpdateDialog(self)) + return + if self.options.no_update: @@ -77,7 +52,52 @@ index b6cdc8ab..d82db9dd 100644 if self.options.no_update: self.start_available() return -@@ -231,6 +232,11 @@ class UpdateManager(Gtk.Window): +diff -ru source.orig/update-manager source/update-manager +--- source.orig/update-manager 2023-05-04 19:26:47.710184166 -0400 ++++ source/update-manager 2023-05-04 19:29:09.884636731 -0400 +@@ -79,7 +79,7 @@ + default="/usr/share/update-manager/", + help=_("Directory that contains the data files")) + parser.add_option ("-c", "--check-dist-upgrades", action="store_true", +- dest="check_dist_upgrades", default=False, ++ dest="check_dist_upgrades", default=True, + help=_("Check if a new Ubuntu release is available")) + parser.add_option ("-d", "--devel-release", action="store_true", + dest="devel_release", default=False, + +diff -ru source.orig/update-manager source/update-manager +--- source.orig/update-manager 2023-04-30 19:59:16.611564826 -0400 ++++ source/update-manager 2023-04-30 20:10:25.515512178 -0400 +@@ -92,6 +92,9 @@ + parser.add_option ("--no-update", action="store_true", + dest="no_update", default=False, + help=_("Do not check for updates when starting")) ++ parser.add_option ("--no-check-screen", action="store_true", ++ dest="no_check_screen", default=False, ++ help=_("Don't show screen preventing unwanted connections to the Internet")) + parser.add_option ("", "--debug", action="store_true", default=False, + help=_("Show debug messages")) + +diff -ru source.orig/UpdateManager/UpdateManager.py source/UpdateManager/UpdateManager.py +--- source.orig/UpdateManager/UpdateManager.py 2023-05-01 10:29:34.494164650 -0400 ++++ source/UpdateManager/UpdateManager.py 2023-05-01 12:04:53.000000000 -0400 +@@ -121,10 +121,11 @@ + "focus-in-event", self.on_initial_focus_in) + + # Look for a new release in a thread +- self.meta_release = MetaRelease( +- self.options and self.options.devel_release, +- self.options and self.options.use_proposed, +- self.options and self.options.debug) ++ if self.options.check_dist_upgrades and apt_pkg.config.find_i("APT::Periodic::Update-Package-Lists") != 0: ++ self.meta_release = MetaRelease( ++ self.options and self.options.devel_release, ++ self.options and self.options.use_proposed, ++ self.options and self.options.debug) + + def begin_user_resizable(self, stored_width=0, stored_height=0): + self.set_resizable(True) +@@ -234,6 +235,11 @@ self.start_available() return @@ -89,25 +109,3 @@ index b6cdc8ab..d82db9dd 100644 update_backend = get_backend(self, InstallBackend.ACTION_UPDATE) self._start_pane(update_backend) -diff -ru a/update-manager b/update-manager ---- a/update-manager 2023-05-04 19:26:47.710184166 -0400 -+++ b/update-manager 2023-05-04 19:29:09.884636731 -0400 -@@ -79,7 +79,7 @@ - default="/usr/share/update-manager/", - help=_("Directory that contains the data files")) - parser.add_option ("-c", "--check-dist-upgrades", action="store_true", -- dest="check_dist_upgrades", default=False, -+ dest="check_dist_upgrades", default=True, - help=_("Check if a new Ubuntu release is available")) - parser.add_option ("-d", "--devel-release", action="store_true", - dest="devel_release", default=False, -@@ -92,6 +92,9 @@ - parser.add_option ("--no-update", action="store_true", - dest="no_update", default=False, - help=_("Do not check for updates when starting")) -+ parser.add_option ("--no-check-screen", action="store_true", -+ dest="no_check_screen", default=False, -+ help=_("Don't show screen preventing unwanted connections to the Internet")) - parser.add_option ("", "--debug", action="store_true", default=False, - help=_("Show debug messages")) - diff --git a/helpers/DATA/update-manager/remove-livepatch2.patch b/helpers/DATA/update-manager/remove-livepatch2.patch index 16aa4af..3eec2bb 100644 --- a/helpers/DATA/update-manager/remove-livepatch2.patch +++ b/helpers/DATA/update-manager/remove-livepatch2.patch @@ -1,24 +1,16 @@ diff --git a/UpdateManager/Dialogs.py b/UpdateManager/Dialogs.py -index dd5d0b01..73e69b8e 100644 +index a33f9c0..5a9e36c 100644 --- a/UpdateManager/Dialogs.py +++ b/UpdateManager/Dialogs.py -@@ -35,15 +35,10 @@ warnings.filterwarnings( - import logging - import datetime - import dbus --import distro_info +@@ -38,7 +38,6 @@ import distro_info import os import HweSupportStatus.consts -from .Core.LivePatchSocket import LivePatchSocket --from .Core.utils import get_dist -- + from .Core.utils import get_dist + from gettext import gettext as _ --from gettext import ngettext - - - class Dialog(object): -@@ -149,69 +149,6 @@ class InternalDialog(BuilderDialog): +@@ -148,62 +147,6 @@ class InternalDialog(BuilderDialog): self.main_container.add(content_widget) self.main_container.set_visible(bool(content_widget)) @@ -31,18 +23,12 @@ index dd5d0b01..73e69b8e 100644 - self.set_desc(None) - - if not active: -- if ( -- self._is_livepatch_supported() -- and self.settings_button -- and self.settings.get_int("launch-count") >= 4 -- ): -- self.set_desc( -- _( -- "Tip: You can use Livepatch with " -- "Ubuntu Pro to keep your computer more " -- "secure between restarts." -- ) -- ) +- if self._is_livepatch_supported() and \ +- self.settings_button and \ +- self.settings.get_int('launch-count') >= 4: +- self.set_desc(_("Tip: You can use Livepatch with " +- "Ubuntu Pro to keep your computer more " +- "secure between restarts.")) - self.settings_button.set_label(_("Settings & Pro…")) - return - @@ -57,21 +43,19 @@ index dd5d0b01..73e69b8e 100644 - needs_reschedule = True - elif ps == "applied": - fixes = [fix for fix in fixes if fix.patched] -- d = ngettext( -- "%d Livepatch update applied since the last restart.", -- "%d Livepatch updates applied since the last restart.", -- len(fixes), -- ) % len(fixes) +- d = ngettext("%d Livepatch update applied since the last " +- "restart.", +- "%d Livepatch updates applied since the last " +- "restart.", +- len(fixes)) % len(fixes) - self.set_desc(d) - elif ps == "applied-with-bug" or ps == "apply-failed": - fixes = [fix for fix in fixes if fix.patched] -- d = ngettext( -- "%d Livepatch update failed to apply since the " -- "last restart.", -- "%d Livepatch updates failed to apply since the " -- "last restart.", -- len(fixes), -- ) % len(fixes) +- d = ngettext("%d Livepatch update failed to apply since the " +- "last restart.", +- "%d Livepatch updates failed to apply since the " +- "last restart.", +- len(fixes)) % len(fixes) - self.set_desc(d) - elif ps == "nothing-to-apply": - pass @@ -85,13 +69,14 @@ index dd5d0b01..73e69b8e 100644 - self.lp_socket = LivePatchSocket() - self.lp_socket.get_status(self.on_livepatch_status_ready) - - +- class StoppedUpdatesDialog(InternalDialog): - def __init__(self, window_main): -@@ -255,7 +192,6 @@ class NoUpdatesDialog(InternalDialog): - self.focus_button = self.add_button( - Gtk.STOCK_OK, self.window_main.close - ) + def __init__(self, window_main): + InternalDialog.__init__(self, window_main) +@@ -227,7 +170,6 @@ class NoUpdatesDialog(InternalDialog): + self.settings_button = self.add_settings_button() + self.focus_button = self.add_button(Gtk.STOCK_OK, + self.window_main.close) - self.check_livepatch_status() diff --git a/helpers/DATA/update-manager/rm_pro.packages.updates_from_u-m.patch b/helpers/DATA/update-manager/rm_pro.packages.updates_from_u-m.patch index 6349f3e..f4cf669 100644 --- a/helpers/DATA/update-manager/rm_pro.packages.updates_from_u-m.patch +++ b/helpers/DATA/update-manager/rm_pro.packages.updates_from_u-m.patch @@ -1,15 +1,3 @@ -diff --git a/debian/control b/debian/control -index ac30f400..e504ab58 100644 ---- a/debian/control -+++ b/debian/control -@@ -27,7 +27,6 @@ Section: admin - Depends: distro-info-data, - python3-distro-info, - python3-update-manager (= ${source:Version}), -- ubuntu-pro-client, - ubuntu-release-upgrader-core (>= 1:18.04.9), - ${misc:Depends}, - ${python3:Depends}, diff --git a/UpdateManager/UpdateManager.py b/UpdateManager.py index 3b9eaa58..d44040d5 100644 --- a/UpdateManager/UpdateManager.py @@ -22,14 +10,14 @@ index 3b9eaa58..d44040d5 100644 GdkX11 # pyflakes -@@ -40,7 +39,6 @@ import fnmatch - import os +@@ -40,7 +40,6 @@ import os import subprocess import sys --import threading import time +-import threading from gettext import gettext as _ + import dbus @@ -90,7 +88,6 @@ class UpdateManager(Gtk.Window): self.unity = UnitySupport() self.controller = None @@ -38,8 +26,8 @@ index 3b9eaa58..d44040d5 100644 self.update_list = None self.meta_release = None self.hwe_replacement_packages = None -@@ -295,43 +295,6 @@ class UpdateManager(Gtk.Window): - if fnmatch.fnmatch(pkg.name, "oem-*-meta") and pkg.installed: +@@ -286,43 +286,6 @@ class UpdateManager(Gtk.Window): + and pkg.installed: self.oem_metapackages.add(pkg) - def _fetch_ua_updates(self): @@ -79,9 +67,9 @@ index 3b9eaa58..d44040d5 100644 - ) - self.cache.create_pro_cache(self.ua_security_packages) - - def _make_available_pane( - self, - install_count, + def _make_available_pane(self, install_count, need_reboot=False, + cancelled_update=False, error_occurred=False): + self._check_hwe_support_status() @@ -495,8 +460,6 @@ class UpdateManager(Gtk.Window): self._check_oem_metapackages() @@ -91,21 +79,24 @@ index 3b9eaa58..d44040d5 100644 for pkgname in self.oem_metapackages: try: if not self.cache[pkgname].is_installed: -@@ -510,7 +473,6 @@ class UpdateManager(Gtk.Window): - self.cache, - eventloop_callback=iterate, - duplicate_packages=self.duplicate_packages, -- ua_security_packages=self.ua_security_packages, - ) +@@ -488,9 +451,7 @@ class UpdateManager(Gtk.Window): + self.update_list = UpdateList(self) + try: + self.update_list.update(self.cache, eventloop_callback=iterate, +- duplicate_packages=self.duplicate_packages, +- ua_security_packages=self. +- ua_security_packages) ++ duplicate_packages=self.duplicate_packages) except SystemError as e: header = _("Could not calculate the upgrade") -diff --git a/UpdateManager/Core/MyCache.py b/UpdateManager/Core/MyCache.py_ -index 3e61b840..dfbacbb1 100644 + desc = _("An unresolvable problem occurred while " +diff --git a/UpdateManager/Core/MyCache.py b/UpdateManager/Core/MyCache.py +index fc227822..89f4a774 100644 --- a/UpdateManager/Core/MyCache.py +++ b/UpdateManager/Core/MyCache.py -@@ -468,54 +468,3 @@ class MyCache(DistUpgrade.DistUpgradeCache.MyCache): - "Please check your Internet connection." - ) +@@ -424,48 +424,3 @@ class MyCache(DistUpgrade.DistUpgradeCache.MyCache): + "Failed to download the list of changes. \n" + "Please check your Internet connection.") self.all_changes[name] += error_message - - # If the machine is not attached to Ubuntu Pro, Update Manager advertises @@ -117,44 +108,38 @@ index 3e61b840..dfbacbb1 100644 - self.pro_versions[name] = version - - def get_changelog(self, name): -- "get the changelog file from the changelog location" +- " get the changelog file from the changelog location " - origins = self[name].candidate.origins - version = self.pro_versions.get(name, self[name].candidate.version) -- self.all_changes[name] = _( -- "Changes for %s versions:\n" -- "Installed version: %s\n" -- "Available version: %s\n\n" -- ) % ( -- name, -- getattr(self[name].installed, "version", None), -- version, -- ) +- self.all_changes[name] = _("Changes for %s versions:\n" +- "Installed version: %s\n" +- "Available version: %s\n\n") % \ +- (name, getattr(self[name].installed, "version", None), version) - if self.CHANGELOG_ORIGIN not in [o.origin for o in origins]: - self._fetch_changelog_for_third_party_package(name, origins) - return - # fixup epoch handling version - srcpkg = self[name].candidate.source_name -- srcver_epoch = self[name].candidate.source_version.replace(":", "%3A") +- srcver_epoch = self[name].candidate.source_version.replace(':', '%3A') - try: - changelog = self._get_changelog_or_news(name, "changelog") - if len(changelog) == 0: -- changelog = _( -- "The changelog does not contain any relevant changes.\n\n" -- "Please use http://launchpad.net/ubuntu/+source/" -- "%s/%s/+changelog\n" -- "until the changes become available or try again later." -- ) % (srcpkg, srcver_epoch) +- changelog = _("The changelog does not contain any relevant " +- "changes.\n\n" +- "Please use http://launchpad.net/ubuntu/+source/" +- "%s/%s/+changelog\n" +- "until the changes become available or try " +- "again later.") % (srcpkg, srcver_epoch) - except HTTPError: -- changelog = _( -- "The list of changes is not available yet.\n\n" -- "Please use http://launchpad.net/ubuntu/+source/" -- "%s/%s/+changelog\n" -- "until the changes become available or try again later." -- ) % (srcpkg, srcver_epoch) +- changelog = _("The list of changes is not available yet.\n\n" +- "Please use http://launchpad.net/ubuntu/+source/" +- "%s/%s/+changelog\n" +- "until the changes become available or try again " +- "later.") % (srcpkg, srcver_epoch) - except (IOError, BadStatusLine, socket.error) as e: - print("caught exception: ", e) -- changelog = _( -- "Failed to download the list of changes. \n" -- "Please check your Internet connection." -- ) +- changelog = _("Failed to download the list " +- "of changes. \nPlease " +- "check your Internet " +- "connection.") - self.all_changes[name] += changelog diff --git a/helpers/DATA/update-manager/rm_snap_backend.patch b/helpers/DATA/update-manager/rm_snap_backend.patch deleted file mode 100644 index fae2e4b..0000000 --- a/helpers/DATA/update-manager/rm_snap_backend.patch +++ /dev/null @@ -1,329 +0,0 @@ -diff --git a/UpdateManager/backend/__init__.py b/UpdateManager/backend/__init__.py -index 72a60318..1cb398fc 100644 ---- a/UpdateManager/backend/__init__.py -+++ b/UpdateManager/backend/__init__.py -@@ -7,8 +7,7 @@ - import gi - - gi.require_version("Gtk", "3.0") --gi.require_version("Snapd", "2") --from gi.repository import GLib, Gtk, Snapd -+from gi.repository import GLib, Gtk - - from apt import Cache - import json -@@ -109,314 +108,6 @@ class InstallBackend(Dialog): - """Commit the cache changes""" - raise NotImplementedError - -- def get_snap_seeds(self): -- seeded_snaps = {} -- unseeded_snaps = {} -- -- curr_channel = "stable/ubuntu-" + get_dist_version() -- cache = self.window_main.cache -- -- try: -- d2s_file = open( -- "/usr/share/ubuntu-release-upgrader/deb2snap.json", "r" -- ) -- d2s = json.load(d2s_file) -- d2s_file.close() -- -- for snap in d2s["seeded"]: -- seed = d2s["seeded"][snap] -- deb = seed.get("deb", None) -- to_channel = seed.get("to_channel", curr_channel) -- metapkg = seed.get("metapkg", None) -- if metapkg not in cache: -- continue -- if metapkg and cache[metapkg].is_installed is False: -- continue -- seeded_snaps[snap] = (deb, to_channel) -- -- for snap in d2s["unseeded"]: -- unseed = d2s["unseeded"][snap] -- from_channel = unseed.get("from_channel", curr_channel) -- metapkg = seed.get("metapkg", None) -- if metapkg not in cache: -- continue -- if metapkg and cache[metapkg].is_installed is False: -- continue -- unseeded_snaps[snap] = from_channel -- except Exception as e: -- logging.debug("error reading deb2snap.json file (%s)" % e) -- -- return seeded_snaps, unseeded_snaps -- -- def get_deb2snap_dups(self): -- # update and grab the latest cache -- try: -- if self.window_main.cache is None: -- self.window_main.cache = MyCache(None) -- else: -- self.window_main.cache.open(None) -- self.window_main.cache._initDepCache() -- cache = self.window_main.cache -- except Exception as e: -- # just return an empty array for now, it's perfectly safe to -- # postpone this duplicates check to a later update. -- logging.debug("error reading cache (%s)" % e) -- return [] -- -- duplicates = [] -- seeded_snaps, _ = self.get_snap_seeds() -- -- for snap, (deb, _) in seeded_snaps.items(): -- # if the deb is installed and was not manually installed, -- # replace it -- if deb in cache and cache[deb].is_installed: -- deb_is_auto = True -- cache[deb].mark_delete() -- -- for pkg in cache.get_changes(): -- if ( -- pkg.is_installed -- and pkg.marked_delete -- and not pkg.is_auto_installed -- ): -- deb_is_auto = False -- break -- -- cache.clear() -- -- if deb_is_auto: -- duplicates.append(deb) -- -- return duplicates -- -- def get_snap_transitions(self): -- # populate snap_list with deb2snap transitions -- snap_list = {} -- seeded_snaps, unseeded_snaps = self.get_snap_seeds() -- -- for snap, (deb, to_channel) in seeded_snaps.items(): -- snap_object = {} -- # check if the snap is already installed -- snap_info = subprocess.Popen( -- ["snap", "info", snap], -- universal_newlines=True, -- stdout=subprocess.PIPE, -- ).communicate() -- if re.search("^installed: ", snap_info[0], re.MULTILINE): -- logging.debug("Snap %s is installed" % snap) -- continue -- elif deb in self.window_main.duplicate_packages: -- # install the snap if the deb was just marked delete -- snap_object["command"] = "install" -- snap_object["channel"] = to_channel -- snap_list[snap] = snap_object -- -- for snap, (from_channel) in unseeded_snaps.items(): -- snap_object = {} -- # check if the snap is already installed -- snap_info = subprocess.Popen( -- ["snap", "info", snap], -- universal_newlines=True, -- stdout=subprocess.PIPE, -- ).communicate() -- if re.search("^installed: ", snap_info[0], re.MULTILINE): -- logging.debug("Snap %s is installed" % snap) -- # its not tracking the release channel so don't remove -- re_channel = "stable/ubuntu-[0-9][0-9].[0-9][0-9]" -- if not re.search( -- r"^tracking:.*%s" % re_channel, snap_info[0], re.MULTILINE -- ): -- logging.debug( -- "Snap %s is not tracking the release channel" % snap -- ) -- continue -- -- snap_object["command"] = "remove" -- -- # check if this snap is being used by any other snaps -- conns = subprocess.Popen( -- ["snap", "connections", snap], -- universal_newlines=True, -- stdout=subprocess.PIPE, -- ).communicate() -- -- for conn in conns[0].split("\n"): -- conn_cols = conn.split() -- if len(conn_cols) != 4: -- continue -- plug = conn_cols[1] -- slot = conn_cols[2] -- -- if slot.startswith(snap + ":"): -- plug_snap = plug.split(":")[0] -- if ( -- plug_snap != "-" -- and plug_snap not in unseeded_snaps -- ): -- logging.debug( -- "Snap %s is being used by %s. " -- "Switching it to stable track" -- % (snap, plug_snap) -- ) -- snap_object["command"] = "refresh" -- snap_object["channel"] = "stable" -- break -- -- snap_list[snap] = snap_object -- -- return snap_list -- -- def update_snap_cb(self, client, change, _, user_data): -- index, count, progress_bar = user_data -- if not progress_bar: -- return -- -- # determine how much of this change has been done -- task_total = 0 -- task_done = 0 -- for task in change.get_tasks(): -- task_total += task.get_progress_total() -- task_done += task.get_progress_done() -- -- task_fraction = task_done / task_total -- -- # determine how much total progress has been made -- total_fraction = (task_fraction / count) + (index / count) -- -- # change.get_tasks() can increase between callbacks so we must -- # avoid jumping backward in progress here -- if total_fraction > progress_bar.get_fraction(): -- GLib.idle_add(progress_bar.set_fraction, total_fraction) -- -- def update_snaps(self): -- # update status and progress bar -- def update_status(status): -- GLib.idle_add(self.label_details.set_label, status) -- -- def update_progress(progress_bar): -- progress_bar.pulse() -- return True -- -- update_status(_("Updating snaps")) -- -- progress_bar = None -- progress_timer = None -- -- progress_bars = self.progressbar_slot.get_children() -- if progress_bars and isinstance(progress_bars[0], Gtk.ProgressBar): -- progress_bar = progress_bars[0] -- progress_timer = GLib.timeout_add( -- 100, update_progress, progress_bar -- ) -- -- # populate snap_list with deb2snap transitions -- snap_list = self.get_snap_transitions() -- -- if progress_timer: -- GLib.source_remove(progress_timer) -- progress_bar.set_fraction(0) -- -- # (un)install (un)seeded snap(s) -- try: -- client = Snapd.Client() -- client.connect_sync() -- index = 0 -- count = len(snap_list) -- for snap, snap_object in snap_list.items(): -- command = snap_object["command"] -- if command == "refresh": -- update_status(_("Refreshing %s snap" % snap)) -- client.refresh_sync( -- snap, -- snap_object["channel"], -- self.update_snap_cb, -- progress_callback_data=(index, count, progress_bar), -- ) -- elif command == "remove": -- update_status(_("Removing %s snap" % snap)) -- client.remove_sync( -- snap, -- self.update_snap_cb, -- progress_callback_data=(index, count, progress_bar), -- ) -- else: -- update_status(_("Installing %s snap" % snap)) -- client.install_sync( -- snap, -- snap_object["channel"], -- self.update_snap_cb, -- progress_callback_data=(index, count, progress_bar), -- ) -- index += 1 -- except GLib.Error as e: -- logging.debug("error updating snaps (%s)" % e) -- GLib.idle_add( -- self.window_main.start_error, -- False, -- _("Upgrade only partially completed."), -- _( -- "An error occurred while updating snaps. " -- "Please check your network connection." -- ), -- ) -- return -- -- # continue with the rest of the updates -- GLib.idle_add(self.window_main.start_available) -- -- def _action_done( -- self, -- action, -- authorized, -- success, -- error_string, -- error_desc, -- trans_failed=False, -- ): -- -- # If the progress dialog should be closed automatically afterwards -- # settings = Gio.Settings.new("com.ubuntu.update-manager") -- # close_after_install = settings.get_boolean( -- # "autoclose-install-window") -- # FIXME: confirm with mpt whether this should still be a setting -- # close_after_install = False -- -- if action == self.ACTION_PRE_INSTALL and success: -- # Now do the regular updates -- self.action = self.ACTION_INSTALL -- self.start() -- elif action == self.ACTION_INSTALL: -- if ( -- success -- and os.path.exists("/usr/bin/snap") -- and hasattr(self, "pane_update_progress") -- ): -- Thread(target=self.update_snaps).start() -- elif success: -- self.window_main.start_available() -- elif error_string: -- self.window_main.start_error( -- trans_failed, error_string, error_desc -- ) -- else: -- # exit gracefuly, we can't just exit as this will trigger -- # a crash if system.exit() is called in a exception handler -- GLib.timeout_add(1, self.window_main.exit) -- else: -- if error_string: -- self.window_main.start_error(True, error_string, error_desc) -- elif ( -- success -- and os.path.exists("/usr/bin/snap") -- and hasattr(self, "pane_update_progress") -- ): -- self.window_main.duplicate_packages = self.get_deb2snap_dups() -- self.window_main.start_available() -- else: -- is_cancelled_update = not success -- self.window_main.start_available(is_cancelled_update) -- -- - # try aptdaemon - if ( - os.path.exists("/usr/sbin/aptd") diff --git a/helpers/DATA/update-manager/trisquel-versions.patch b/helpers/DATA/update-manager/trisquel-versions.patch index 3a7c999..de3de2c 100644 --- a/helpers/DATA/update-manager/trisquel-versions.patch +++ b/helpers/DATA/update-manager/trisquel-versions.patch @@ -1,31 +1,27 @@ -diff --git a/UpdateManager/Core/utils.py b/UpdateManager/Core/utils.py -index fbabac1a..62171fe1 100644 ---- a/UpdateManager/Core/utils.py -+++ b/UpdateManager/Core/utils.py -@@ -432,7 +432,8 @@ def get_ubuntu_flavor_package(cache=None): +--- a/UpdateManager/Core/utils.py 2015-10-21 04:05:26.461825091 +0200 ++++ b/UpdateManager/Core/utils.py 2015-10-21 04:03:30.461825105 +0200 +@@ -426,7 +426,7 @@ # From spec, first if ubuntu-desktop is installed, use that. # Second, grab first installed one from DistUpgrade.cfg. # Lastly, fallback to ubuntu-desktop again. -- meta_pkgs = ["ubuntu-desktop"] -+ meta_pkgs = ["trisquel", "trisquel-mini", "trisquel-sugar", -+ "triskel", "trisquel-gnome"] +- meta_pkgs = ['ubuntu-desktop'] ++ meta_pkgs = ['trisquel','trisquel-mini','trisquel-sugar', 'triskel', 'trisquel-gnome'] try: meta_pkgs.extend(sorted(_load_meta_pkg_list())) -@@ -445,13 +445,14 @@ def get_ubuntu_flavor_package(cache=None): +@@ -439,13 +439,13 @@ cache_pkg = cache[meta_pkg] if meta_pkg in cache else None if cache_pkg and cache_pkg.is_installed: return meta_pkg -- return "ubuntu-desktop" -+ return "trisquel" +- return 'ubuntu-desktop' ++ return 'trisquel' def get_ubuntu_flavor_name(cache=None): - """try to guess the flavor name based on the running desktop""" + """ try to guess the flavor name based on the running desktop """ pkg = get_ubuntu_flavor_package(cache=cache) -- lookup = {"ubuntustudio-desktop": "Ubuntu Studio"} -+ lookup = {"trisquel-mini": "Trisquel Mini", -+ "trisquel-sugar": "Trisquel Sugar"} +- lookup = {'ubuntustudio-desktop': 'Ubuntu Studio'} ++ lookup = {'trisquel-mini': 'Trisquel Mini', 'trisquel-sugar': 'Trisquel Sugar' } if pkg in lookup: return lookup[pkg] - elif pkg.endswith("-desktop"): + elif pkg.endswith('-desktop'): diff --git a/helpers/DATA/update-notifier/patch_changes/000-check_updates_with_update_manager.patch b/helpers/DATA/update-notifier/check_updates_with_update_manager.patch similarity index 82% rename from helpers/DATA/update-notifier/patch_changes/000-check_updates_with_update_manager.patch rename to helpers/DATA/update-notifier/check_updates_with_update_manager.patch index ce4019c..b915d5a 100644 --- a/helpers/DATA/update-notifier/patch_changes/000-check_updates_with_update_manager.patch +++ b/helpers/DATA/update-notifier/check_updates_with_update_manager.patch @@ -1,8 +1,6 @@ -# Check updates with update-notifier instead of aptdaemon - -diff -ru a/data/backend_helper.py b/data/backend_helper.py ---- a/data/backend_helper.py 2023-04-30 21:20:07.986410268 -0400 -+++ b/data/backend_helper.py 2023-04-30 21:35:59.442841302 -0400 +diff -ru source.bak/data/backend_helper.py source/data/backend_helper.py +--- source.bak/data/backend_helper.py 2023-04-30 21:20:07.986410268 -0400 ++++ source/data/backend_helper.py 2023-04-30 21:35:59.442841302 -0400 @@ -58,35 +58,14 @@ return _install_all_updates_synaptic() @@ -45,9 +43,9 @@ diff -ru a/data/backend_helper.py b/data/backend_helper.py # start packagemanager -diff -ru a/data/backend_helper.py b/data/backend_helper.py ---- a/data/backend_helper.py 2023-05-01 10:18:12.941023681 -0400 -+++ b/data/backend_helper.py 2023-05-01 10:27:12.724396819 -0400 +diff -ru source.orig/data/backend_helper.py source/data/backend_helper.py +--- source.orig/data/backend_helper.py 2023-05-01 10:18:12.941023681 -0400 ++++ source/data/backend_helper.py 2023-05-01 10:27:12.724396819 -0400 @@ -53,9 +53,10 @@ def install_all_updates(): """ install all updates either with synaptic or aptdaemon """ @@ -61,9 +59,9 @@ diff -ru a/data/backend_helper.py b/data/backend_helper.py def check_updates(): -diff -ru a/data/backend_helper.py b/data/backend_helper.py ---- a/data/backend_helper.py 2023-05-04 20:33:23.000867005 -0400 -+++ b/data/backend_helper.py 2023-05-04 20:37:57.616904543 -0400 +diff -ru source.orig/data/backend_helper.py source/data/backend_helper.py +--- source.orig/data/backend_helper.py 2023-05-04 20:33:23.000867005 -0400 ++++ source/data/backend_helper.py 2023-05-04 20:37:57.616904543 -0400 @@ -5,6 +5,7 @@ import os import subprocess diff --git a/helpers/DATA/update-notifier/patch_changes/001-improve_responsiveness.patch b/helpers/DATA/update-notifier/improve_responsiveness.patch similarity index 67% rename from helpers/DATA/update-notifier/patch_changes/001-improve_responsiveness.patch rename to helpers/DATA/update-notifier/improve_responsiveness.patch index c840251..af10999 100644 --- a/helpers/DATA/update-notifier/patch_changes/001-improve_responsiveness.patch +++ b/helpers/DATA/update-notifier/improve_responsiveness.patch @@ -1,8 +1,6 @@ -# Reduce the timeout to refresh the status of the tray icon - -diff -ru a/src/update-notifier.c b/src/update-notifier.c ---- a/src/update-notifier.c 2023-05-01 12:24:36.171054235 -0400 -+++ b/src/update-notifier.c 2023-05-01 13:54:27.833304128 -0400 +diff -ru source.orig/src/update-notifier.c source/src/update-notifier.c +--- source.orig/src/update-notifier.c 2023-05-01 12:24:36.171054235 -0400 ++++ source/src/update-notifier.c 2023-05-01 13:54:27.833304128 -0400 @@ -53,7 +53,7 @@ gboolean update_timer_finished(gpointer data); @@ -12,7 +10,7 @@ diff -ru a/src/update-notifier.c b/src/update-notifier.c // the timeout (in sec) when a further activity from dpkg/apt // causes the applet to "ungray" -@@ -398,10 +398,9 @@ monitor_init(UpgradeNotifier *un) +@@ -388,10 +388,9 @@ // monitor these dirs static const char *monitor_dirs[] = { @@ -22,20 +20,20 @@ diff -ru a/src/update-notifier.c b/src/update-notifier.c + "/var/cache/apt/archives/", HOOKS_DIR, - CRASHREPORT_DIR, - DPKG_INFO_DIR, NULL}; for(i=0;monitor_dirs[i] != NULL;i++) { -@@ -422,7 +421,6 @@ monitor_init(UpgradeNotifier *un) + if (getenv("UPSTART_SESSION") && monitor_dirs[i] == CRASHREPORT_DIR) { +@@ -411,7 +410,6 @@ "/var/lib/dpkg/status", "/var/lib/update-notifier/dpkg-run-stamp", "/var/lib/apt/periodic/update-success-stamp", - LIVEPATCH_FILE, - REBOOT_FILE, NULL}; for(i=0;monitor_files[i] != NULL;i++) { -diff -ru a/src/update.c b/src/update.c ---- a/src/update.c 2023-05-01 14:30:39.889778059 -0400 -+++ b/src/update.c 2023-05-01 18:05:21.754318730 -0400 + GError *error = NULL; +diff -ru source.orig/src/update.c source/src/update.c +--- source.orig/src/update.c 2023-05-01 14:30:39.889778059 -0400 ++++ source/src/update.c 2023-05-01 18:05:21.754318730 -0400 @@ -702,7 +702,8 @@ // show the notification with some delay. otherwise on a login @@ -46,9 +44,9 @@ diff -ru a/src/update.c b/src/update.c return TRUE; } -diff -ru a/src/update.c b/src/update.c ---- a/src/update.c 2023-05-01 14:30:39.889778059 -0400 -+++ b/src/update.c 2023-05-01 20:45:14.717390627 -0400 +diff -ru source.orig/src/update.c source/src/update.c +--- source.orig/src/update.c 2023-05-01 14:30:39.889778059 -0400 ++++ source/src/update.c 2023-05-01 20:45:14.717390627 -0400 @@ -251,7 +251,7 @@ GTK_STOCK_DIALOG_INFO, 48,0,NULL); notify_notification_set_icon_from_pixbuf (n, pix); diff --git a/helpers/DATA/update-notifier/patch_changes/002-actually_show_the_indicator_icon.patch b/helpers/DATA/update-notifier/patch_changes/002-actually_show_the_indicator_icon.patch deleted file mode 100644 index 0c68d81..0000000 --- a/helpers/DATA/update-notifier/patch_changes/002-actually_show_the_indicator_icon.patch +++ /dev/null @@ -1,14 +0,0 @@ -# Actually show the indicator icon - -diff --git a/src/update.c b/src/update.c -index 588fa66..951a24f 100644 ---- a/src/update.c -+++ b/src/update.c -@@ -687,7 +687,6 @@ update_check (TrayApplet *ta) - - g_child_watch_add (pid, launch_update_manager, NULL); - } -- return TRUE; - - // if we are already visible, skip the rest - if(tray_applet_ui_get_visible (ta)) diff --git a/helpers/DATA/update-notifier/patch_changes/003-add_missing_wayland_compatibility.patch b/helpers/DATA/update-notifier/patch_changes/003-add_missing_wayland_compatibility.patch deleted file mode 100644 index e637af7..0000000 --- a/helpers/DATA/update-notifier/patch_changes/003-add_missing_wayland_compatibility.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/src/update-notifier.c b/src/update-notifier.c -index ea81f78f..4c678b2e 100644 ---- a/src/update-notifier.c -+++ b/src/update-notifier.c -@@ -163,6 +163,7 @@ void invoke(const gchar *cmd, const gchar *desktop, gboolean with_pkexec) - - // normal launch - context = gdk_display_get_app_launch_context (gdk_display_get_default ()); -+ #ifdef GDK_WINDOWING_X11 - if (GDK_IS_X11_DISPLAY (gdk_display_get_default ())) { - // fake window to get the current server time *urgh* - if (!w) { -@@ -172,8 +173,16 @@ void invoke(const gchar *cmd, const gchar *desktop, gboolean with_pkexec) - - guint32 timestamp = gdk_x11_get_server_time (gtk_widget_get_window (w)); - gdk_app_launch_context_set_timestamp (context, timestamp); -+ } else { -+ guint32 timestamp = (guint32) (g_get_monotonic_time () / 1000); -+ gdk_app_launch_context_set_timestamp (context, timestamp); - } -- -+ #else -+ { -+ guint32 timestamp = (guint32) (g_get_monotonic_time () / 1000); -+ gdk_app_launch_context_set_timestamp (context, timestamp); -+ } -+ #endif - appinfo = g_app_info_create_from_commandline(cmd, - cmd, - G_APP_INFO_CREATE_NONE, diff --git a/helpers/DATA/update-notifier/patch_changes/004-removal_of_whoopsie_and_apport_dependecnies.patch b/helpers/DATA/update-notifier/patch_changes/004-removal_of_whoopsie_and_apport_dependecnies.patch deleted file mode 100644 index c73a97c..0000000 --- a/helpers/DATA/update-notifier/patch_changes/004-removal_of_whoopsie_and_apport_dependecnies.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/debian/control 2023-04-06 12:43:17.147156435 -0600 -+++ b/debian/control 2023-04-06 12:46:32.883071182 -0600 -@@ -34,11 +34,9 @@ - ubuntu-release-upgrader-gtk, - gnome-shell | notification-daemon , - policykit-1 --Recommends: apport-gtk (>=2.8-0ubuntu3), -- python3-aptdaemon.gtk3widgets | synaptic (>= 0.75.12), -+Recommends: python3-aptdaemon.gtk3widgets | synaptic (>= 0.75.12), - software-properties-gtk, -- python3-aptdaemon, -- whoopsie (>= 0.2.77) -+ python3-aptdaemon - Description: Daemon which notifies about package updates - Puts an icon in the user's notification area when package updates are - available. diff --git a/helpers/DATA/util-linux/lsfd--fix-2399-use-fifo-in-test-cases.patch b/helpers/DATA/util-linux/lsfd--fix-2399-use-fifo-in-test-cases.patch deleted file mode 100644 index 666f88b..0000000 --- a/helpers/DATA/util-linux/lsfd--fix-2399-use-fifo-in-test-cases.patch +++ /dev/null @@ -1,93 +0,0 @@ -diff --git a/tests/ts/lsfd/option-inet b/tests/ts/lsfd/option-inet_ -old mode 100755 -new mode 100644 -index 011a9b3a..b0910f23 ---- a/tests/ts/lsfd/option-inet -+++ b/tests/ts/lsfd/option-inet_ -@@ -25,23 +25,54 @@ ts_skip_docker - ts_check_test_command "$TS_CMD_LSFD" - ts_check_test_command "$TS_HELPER_MKFDS" - -+ts_check_prog "mkfifo" -+ - ts_cd "$TS_OUTDIR" - -+FIFO=./test_mkfds-option-inet.fifo - { -- "$TS_HELPER_MKFDS" -q tcp 3 4 5 server-port=34567 client-port=23456 & -- PID0=$! -- -- "$TS_HELPER_MKFDS" -q tcp6 3 4 5 server-port=34567 client-port=23456 & -- PID1=$! -- -- "$TS_HELPER_MKFDS" -q ro-regular-file 3 file=/etc/passwd & -- PID2=$! -- -- "$TS_HELPER_MKFDS" -q udp 3 4 server-port=34567 client-port=23456 server-do-bind=1 client-do-bind=1 client-do-connect=1& -- PID3=$! -- -- "$TS_HELPER_MKFDS" -q udp6 3 4 lite=1 server-port=34567 client-port=23456 server-do-bind=1 client-do-bind=1 client-do-connect=1& -- PID4=$! -+ rm -f "${FIFO}" -+ if ! mkfifo "${FIFO}"; then -+ ts_finalize "failed in creating a fifo" -+ fi -+ -+ "$TS_HELPER_MKFDS" tcp 3 4 5 server-port=34567 client-port=23456 > "${FIFO}" & -+ if ! read PID0 < "${FIFO}"; then -+ rm "${FIFO}" -+ ts_finalize "$TS_HELPER_MKFDS tcp...doesn't report its pid" -+ fi -+ -+ "$TS_HELPER_MKFDS" tcp6 3 4 5 server-port=34567 client-port=23456 > "${FIFO}" & -+ if ! read PID1 < "${FIFO}"; then -+ kill -CONT "${PID0}" -+ wait "${PID0}" -+ rm "${FIFO}" -+ ts_finalize "$TS_HELPER_MKFDS tcp6...doesn't report its pid" -+ fi -+ -+ "$TS_HELPER_MKFDS" ro-regular-file 3 file=/etc/passwd > "${FIFO}" & -+ if ! read PID2 < "${FIFO}"; then -+ kill -CONT "${PID0}" "${PID1}" -+ wait "${PID0}" "${PID1}" -+ rm "${FIFO}" -+ ts_finalize "$TS_HELPER_MKFDS ro-regular-file...doesn't report its pid" -+ fi -+ -+ "$TS_HELPER_MKFDS" udp 3 4 server-port=34567 client-port=23456 server-do-bind=1 client-do-bind=1 client-do-connect=1 > "${FIFO}" & -+ if ! read PID3 < "${FIFO}"; then -+ kill -CONT "${PID0}" "${PID1}" "${PID2}" -+ wait "${PID0}" "${PID1}" "${PID2}" -+ rm "${FIFO}" -+ ts_finalize "$TS_HELPER_MKFDS udp...doesn't report its pid" -+ fi -+ -+ "$TS_HELPER_MKFDS" udp6 3 4 lite=1 server-port=34567 client-port=23456 server-do-bind=1 client-do-bind=1 client-do-connect=1 > "${FIFO}" & -+ if ! read PID4 < "${FIFO}"; then -+ kill -CONT "${PID0}" "${PID1}" "${PID2}" "${PID3}" -+ wait "${PID0}" "${PID1}" "${PID2}" "${PID3}" -+ rm "${FIFO}" -+ ts_finalize "$TS_HELPER_MKFDS udp6 lite=1...doesn't report its pid" -+ fi - - OPT='--inet' - echo "# $OPT" -@@ -85,14 +116,9 @@ ts_cd "$TS_OUTDIR" - -o ASSOC,TYPE,NAME \ - -Q "(PID == $PID0) or (PID == $PID1) or (PID == $PID2) or (PID == $PID3) or (PID == $PID4)" - -- kill -CONT "${PID0}" -- wait "${PID0}" -- -- kill -CONT "${PID1}" -- wait "${PID1}" -- -- kill -CONT "${PID2}" -- wait "${PID2}" -+ kill -CONT "${PID0}" "${PID1}" "${PID2}" "${PID3}" "${PID4}" -+ wait "${PID0}" "${PID1}" "${PID2}" "${PID3}" "${PID4}" -+ rm "${FIFO}" - } > "$TS_OUTPUT" 2>&1 - - ts_finalize diff --git a/helpers/DATA/util-linux/tests-mark-fadvise-drop-as-known-failing-on-buildds.patch b/helpers/DATA/util-linux/tests-mark-fadvise-drop-as-known-failing-on-buildds.patch deleted file mode 100644 index f61bf60..0000000 --- a/helpers/DATA/util-linux/tests-mark-fadvise-drop-as-known-failing-on-buildds.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Chris Hofstaedtler -Date: Tue, 2 Apr 2024 21:52:47 +0200 -Subject: tests: mark fadvise/drop as known failing on buildds - -buildds build on a tmpfs, but this is not visible inside the build environment. ---- - tests/ts/fadvise/drop | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/tests/ts/fadvise/drop b/tests/ts/fadvise/drop -index 45dcb91..c01e16c 100755 ---- a/tests/ts/fadvise/drop -+++ b/tests/ts/fadvise/drop -@@ -6,6 +6,9 @@ TS_DESC="drop page caches related to a file" - . "$TS_TOPDIR"/functions.sh - ts_init "$*" - -+# fails on Debian buildds, because the buildds use tmpfs hidden behind an unshare namespace. -+TS_KNOWN_FAIL="yes" -+ - ts_check_test_command "$TS_CMD_FADVISE" - ts_check_test_command "$TS_CMD_FINCORE" - ts_check_test_command "$TS_CMD_FINDMNT" diff --git a/helpers/config b/helpers/config index af1ea53..e075c63 100755 --- a/helpers/config +++ b/helpers/config @@ -41,16 +41,15 @@ CMXSLVER=${CMXSLVER:-0} export DEBIAN_FRONTEND=noninteractive export DEBEMAIL=devel@cmxsl.org export DEBFULLNAME="Capitulo Mexicano de Software Libre" -export CODENAME=ecne -export REVISION=12.0 +export CODENAME=aramo +export REVISION=11.0 export RELEASE=cmxsl export DOMAIN=cmxsl.org -export UPSTREAM=noble -export UPSTREAMRELEASE=24.04 -MIRROR=http://archive.ubuntu.com/ubuntu/ +export UPSTREAM=jammy +export UPSTREAMRELEASE=22.04 +MIRROR=http://archive.ubuntu.com/ubuntu LOCALMIRROR=http://archive.trisquel.org/trisquel -GIT_TPH_REPO=https://git.cmxsl.org/CMXSL.org/package-helpers-cmxsl -LOCAL_APT=`mktemp -d` +LOCAL_APT=`mktemp -d` if [[ "$PACKAGE" =~ ^linux(-hwe-[0-9]+\.[0-9]+)?$ && -n "$LP_VERSION" ]]; then # Function to truncate the version string to the major version (e.g., 6.5.0) truncate_version() { @@ -106,10 +105,9 @@ changelog(){ head -n 1 debian/changelog | grep -q $UPSTREAM-security && REPO=$CODENAME-security || REPO=$CODENAME [ "$SECURITY" = true ] && REPO=${CODENAME}-security [ "$BACKPORT" = true ] || [ "$BACKPORTS" = true ] && REPO=${CODENAME}-backports - - local msg="$1" - - changelog_multiline "$msg" "$FULLVERSION" "$REPO" +#Name convention issue "+" breaking packages build like console-setup, using "-" instead. +local msg="$1" +changelog_multiline "$msg" "$FULLVERSION" "$REPO" # Make sure the changelog file is identical between archs /bin/sed "/-- Desarrollo/s/.*/ -- Desarrollo CMXSL $DATE/" -i debian/changelog @@ -219,7 +217,10 @@ cd source UPSTREAMVERSION=$(dpkg-parsechangelog --show-field Version) -export FULLVERSION=$(dpkg-parsechangelog --show-field Version)trisquel${VERSION}cmxsl${CMXSLVER} +# This needs to be enabled (and reviewed) as first step of t12 release. Making it break here to force review +[ "$REVISION" == 12.0 ] && echo Review version string generation before building t12 packages! && exit 1 +export FULLVERSION=$(dpkg-parsechangelog --show-field Version)+${REVISION}trisquel${VERSION}cmxsl${CMXSLVER} +[ "$PACKAGE" == "console-setup" ] && export FULLVERSION=$(dpkg-parsechangelog --show-field Version)-${REVISION}trisquel${VERSION}cmxsl${CMXSLVER} # Use 3.0 (native) deb source format [ -f debian/source/format ] && echo "3 (native)" > debian/source/format diff --git a/helpers/make-0ad b/helpers/make-0ad index fb5375d..0115465 100644 --- a/helpers/make-0ad +++ b/helpers/make-0ad @@ -18,12 +18,15 @@ # VERSION=2 -EXTERNAL='deb-src https://ppa.launchpadcontent.net/oibaf/graphics-drivers/ubuntu $UPSTREAM main' +EXTERNAL="deb-src https://ppa.launchpadcontent.net/oibaf/graphics-drivers/ubuntu noble main" REPOKEY="957D2708A03A4626" BACKPORTS=true +BUILD_UNTIL=11.0 . ./config +sed -i 's|libwxgtk3.2-dev|libwxgtk3.0-gtk3-dev|' debian/control + changelog "Backported to get latest version into Trisquel" package diff --git a/helpers/make-0ad-data b/helpers/make-0ad-data index 0179b03..21829ae 100644 --- a/helpers/make-0ad-data +++ b/helpers/make-0ad-data @@ -18,9 +18,10 @@ # VERSION=2 -EXTERNAL='deb-src https://ppa.launchpadcontent.net/oibaf/graphics-drivers/ubuntu $UPSTREAM main' +EXTERNAL="deb-src https://ppa.launchpadcontent.net/oibaf/graphics-drivers/ubuntu noble main" REPOKEY="957D2708A03A4626" BACKPORTS=true +BUILD_UNTIL=11.0 . ./config diff --git a/helpers/make-akregator b/helpers/make-akregator index f9a613b..a40118a 100644 --- a/helpers/make-akregator +++ b/helpers/make-akregator @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2022 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,16 +17,14 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=5 +VERSION=4 . ./config # Patch trisquel feeds -patch_p1 $DATA/trisquel_feeds.patch -# Remove upstream one. -remove_patch kubuntu_debianize_akregator_default.diff +patch --no-backup-if-mismatch src/akregator_part.cpp < $DATA/trisquel_feeds.patch -# Prevent ppc64el arch since qtwebengine is not build for ppc64el either. +#Prevent ppc64el arch since qtwebengine is not build for ppc64el either. sed -i 's|Architecture: any|Architecture: amd64 arm64 armhf i386|g' debian/control changelog "Patched feeds for Trisquel" diff --git a/helpers/make-anna b/helpers/make-anna index 64981ca..707f203 100644 --- a/helpers/make-anna +++ b/helpers/make-anna @@ -18,8 +18,8 @@ # VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-ansible b/helpers/make-ansible new file mode 100644 index 0000000..c0b72e8 --- /dev/null +++ b/helpers/make-ansible @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Copyright (C) 2019 Ruben Rodriguez +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=2 + +. ./config + +sed 's=KDE neon=Trisquel GNU/Linux=' -i lib/ansible/module_utils/facts/system/distribution.py + + +changelog "Identify os_family as Debian" + +package diff --git a/helpers/make-app-install-data-ubuntu b/helpers/make-app-install-data-ubuntu index 5094a24..b8341c2 100644 --- a/helpers/make-app-install-data-ubuntu +++ b/helpers/make-app-install-data-ubuntu @@ -17,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=5 +VERSION=4 . ./config @@ -25,10 +25,7 @@ VERSION=5 cp $DATA/applications.menu menu-data/applications.menu # We remove any info about non-free packages -for i in multiverse restricted -do - grep -lr "X-AppInstall-Section=$i" . | xargs -r rm -done +egrep -lr 'X-AppInstall-Section=(multiverse|restricted)' . | xargs -r rm for i in firefox jockey ndisgtk chromium-browser bughugger testdrive menueditor lp-review-list groundcontrol gstreamer nvidia dell-recovery ubufox thunderbird do find -name *$i*xpm -exec rm {} \; diff --git a/helpers/make-apparmor b/helpers/make-apparmor index 83edbc6..b27194e 100644 --- a/helpers/make-apparmor +++ b/helpers/make-apparmor @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2024 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,38 +17,14 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=4 +VERSION=1 . ./config -# Add custom unconfined profiles for abrowser and icedove, deliberately patch -# upon an original upstream profile copy to force track original files and -# update patch accordinlgy, as it's an important security feature starting -# at upstream 23.10: -# https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces +# Apply fix for pipewire on apparmor, see more at: +# https://bugs.launchpad.net/apparmor/+bug/2003702 +patch --no-backup-if-mismatch -p1 < $DATA/b5a7641dd3502fcfb897d3b96e197628b674ce3c.patch -cp profiles/apparmor.d/{thunderbird,icedove} -for i in abrowser icecat -do - cp profiles/apparmor.d/firefox profiles/apparmor.d/$i -done -patch_p1 $DATA/002-add-unconfined-profile-firefox-icedove-icecat.patch - -for i in abrowser icecat -do - cp profiles/apparmor/profiles/extras/firefox \ - profiles/apparmor/profiles/extras/$i -done -patch_p1 $DATA/003-add-extra-profile-for-abrowser-icecat.patch -# Note: look for updates on abrowser.sh profile on each helper/patch change: -patch_p1 $DATA/004-update-profile-extra-firefox-sh.patch - -# Update trasnmission apparmor profile to fix daemon management -patch_p1 $DATA/005-update_trasnmission_profile_for_daemon_service_fix.patch - -changelog "Apply fix LP:2003702 for pidgin like clients. -Add unconfined profiles for firefox and icedove. -Improve transmission daemon service profile to improve management. -Add custom profiles for icecat" +changelog "Apply fix LP:2003702 for pidgin like clients." package diff --git a/helpers/make-apparmor-profiles-extra b/helpers/make-apparmor-profiles-extra index 600425b..13124ff 100644 --- a/helpers/make-apparmor-profiles-extra +++ b/helpers/make-apparmor-profiles-extra @@ -2,7 +2,6 @@ # # Copyright (C) 2008-2010 Rubén Rodríguez # Copyright (C) 2025 Jacob K -# Copyright (C) 2025 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -19,19 +18,15 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 +VERSION=1 . ./config -# Apply patches for screen reader on in pidgin, see more at: +# Apply fix for screen reader on in pidgin, see more at: # https://gitlab.trisquel.org/trisquel/package-helpers/-/issues/198 +patch_p1 $DATA/70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch -apply_patch_changes - - -changelog " -Apply fix for issue TPH#198 for using pidgin with the screen reader. -Apply fix for pidgin not able to access ibus socket -" +changelog "Apply fix for issue #198 for using pidgin with the screen reader." package + diff --git a/helpers/make-apt b/helpers/make-apt index 23eadb0..5de73ac 100644 --- a/helpers/make-apt +++ b/helpers/make-apt @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán # Copyright (C) 2008-2018 Rubén Rodríguez # # This program is free software; you can redistribute it and/or modify @@ -18,13 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-1-DEBOOTSTRAP - -VERSION=5 -CMXSLVER=1 +VERSION=4 COMPONENT=main -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 . ./config @@ -35,12 +29,8 @@ replace Ubuntu Trisquel . sed -i "s|trisquel-codename \".*\"|trisquel-codename \"$CODENAME\"|" doc/apt-verbatim.ent replace "http://archive.ubuntu.com/ubuntu/project/ubuntu-archive-keyring.gpg" "http://archive.trisquel.org/trisquel/trisquel-archive-signkey.gpg" . -replace http://security.ubuntu.com/ubuntu http://archive.trisquel.org/trisquel . -replace http://archive.ubuntu.com/ubuntu/ http://archive.trisquel.org/trisquel . replace ubuntu-keyring trisquel-keyring . replace ubuntu-archive-keyring trisquel-archive-keyring . -sed -i 's|https://snapshot.ubuntu.com/ubuntu/|https://archive.trisquel.org/trisquel/|' abicheck/symbol-merge.py -sed -i 's|debian.sources|trisquel.sources|' abicheck/symbol-merge.py # hack, preserve this test untouched cp test/libapt/cdromfindpackages_test.cc /tmp @@ -113,7 +103,7 @@ EOF ## end non-free examples -/bin/sed -i 's_http://archive.ubuntu.com/ubuntu/project/_http://archive.trisquel.info/trisquel/_g; s/ubuntu-archive-keyring/trisquel-archive-keyring/g; s/ubuntu-keyring/trisquel-keyring/g; ' debian/control* +/bin/sed -i 's_http://archive.ubuntu.com/ubuntu/project/_http://archive.trisquel.info/trisquel/_g; s/ubuntu-archive-keyring/trisquel-archive-keyring/g; s/ubuntu-keyring/trisquel-keyring/g; ' cmdline/apt-key.in debian/control* replace Ubuntu Trisquel methods/http.cc replace ubuntu-archive.gpg trisquel-archive.gpg . diff --git a/helpers/make-apt-mirror b/helpers/make-apt-mirror index 91fa63a..5962b05 100644 --- a/helpers/make-apt-mirror +++ b/helpers/make-apt-mirror @@ -18,10 +18,13 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=4 +VERSION=5 . ./config +# Set version number due to source origin change +export FULLVERSION="$(sed 's|ubuntu0.22.04.1||' <<< $FULLVERSION)" + cp $DATA/Trisquel-mirror.list debian/ @@ -51,6 +54,7 @@ index e9c85e9..b6c1c97 100755 EOF changelog "Added config and update manpage for Trisquel." +head -n1 debian/changelog | grep -q ubuntu && echo "error: update upstream version" && exit package diff --git a/helpers/make-apt-setup b/helpers/make-apt-setup index eef82c8..33b4c15 100644 --- a/helpers/make-apt-setup +++ b/helpers/make-apt-setup @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzman +# Copyright (C) 2022 Luis Guzman # Copyright (C) 2009-2017 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify @@ -18,19 +18,34 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=5 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=78DBA3BC47EF2265 +VERSION=3 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config -find debian -name apt-mirror-setup.templates-ubuntu | xargs -r rm +cat << EOF > debian/rules +#! /usr/bin/make -f +%: + dh \$@ +EOF + +rm debian/apt-mirror-setup.templates-ubuntu # Remove multiarch support -#sed '/chroot/,$d' generators/01setup -i +sed '/chroot/,$d' generators/01setup -i -# use patch to remove non-free-firmware, non-free, contrib -apply_patch_changes +# getline "seed" file +getline(){ +grep -n "$1" "$2" |cut -d: -f1 +} + +START=$(getline apt-setup/non-free debian/apt-mirror-setup.templates) +END=$(getline "Please choose whether you want to have it available anyway." debian/apt-mirror-setup.templates) +sed ${START},${END}d debian/apt-mirror-setup.templates -i +START=$(getline apt-setup/contrib debian/apt-mirror-setup.templates) +END=$(getline "Please choose whether you want this software to be made available to you." debian/apt-mirror-setup.templates) +sed ${START},${END}d debian/apt-mirror-setup.templates -i #Ubuntu legacy (udeb) /bin/sed '/canonical/d; @@ -76,27 +91,127 @@ done find archive.trisquel.org/ |egrep '(index.html|robots.txt)'|xargs rm cd .. -rm generators/9[1-9]* generators/50mirror -find generators -name 50mirror.ubuntu | xargs -r rm +rm generators/9[1-9]* generators/50mirror generators/50mirror.ubuntu sed -i '/generators\/9[1-9]*/d' debian/apt-setup-udeb.install -# Set custom scripts -cp $DATA/50mirror.trisquel generators/ -cp $DATA/99deb822-breadcrumb generators/ -cp $DATA/93trisquel-sources-clean finish-install.d/ +echo "generators/50mirror.trisquel usr/lib/apt-setup/generators +release-files/archive.trisquel.org usr/share/apt-setup/release-files" > debian/apt-mirror-setup.install -cat << EOF >> debian/apt-setup-udeb.install -finish-install.d/93trisquel-sources-clean usr/lib/finish-install.d +echo '#!/bin/sh +set -e + +. /usr/share/debconf/confmodule + +file="$1" + +log() { + logger -t apt-setup "$@" +} +warning() { + log "warning: $@" +} + +# Ask if a mirror should be used if the base system can be installed from CD +if [ -e /cdrom/.disk/base_installable ] || [ "$OVERRIDE_BASE_INSTALLABLE" ]; then + if ! search-path choose-mirror; then + warning "choose-mirror is not available; cannot offer network mirror" + exit 1 + fi + + # Default to false if no network selected in netcfg + if db_get netcfg/dhcp_options && \ + [ "$RET" = "Do not configure the network at this time" ]; then + use_mirror=false + fi + + # Set default if no value (see Debian mirror generator) + db_get apt-setup/use_mirror + [ "$RET" ] || db_set apt-setup/use_mirror true + + # Text is variable for Debian + db_metaget apt-mirror/use/netinst_old description + db_subst apt-setup/use_mirror EXPLANATION "$RET" + + db_input medium apt-setup/use_mirror || [ $? -eq 30 ] + db_go # or exit 10 + + db_get apt-setup/use_mirror + if [ "$RET" = false ]; then + exit 1 + fi + + if db_get cdrom/codename && [ "$RET" ]; then + db_set mirror/codename $RET + fi + if db_get cdrom/suite && [ "$RET" ]; then + db_set mirror/suite $RET + fi + choose-mirror -n # no progress bar +fi + +db_input low apt-setup/backports || true + +dists="main" + +db_get mirror/protocol +protocol="$RET" +db_get mirror/codename +codename="$RET" +db_get mirror/$protocol/hostname +hostname="$RET" +db_get mirror/$protocol/directory +directory="/${RET#/}" + +if [ "$protocol" = http ]; then + db_get mirror/$protocol/proxy + proxy="$RET" + if [ -n "$proxy" ]; then + if ! grep -iq "Acquire::$protocol::Proxy" $ROOT/etc/apt/apt.conf.new; then + echo "Acquire::$protocol::Proxy \"$proxy\";" >> $ROOT/etc/apt/apt.conf.new + fi + fi +fi + + +cat > $file < debian/apt-mirror-setup.install -generators/50mirror.trisquel usr/lib/apt-setup/generators -generators/99deb822-breadcrumb usr/lib/apt-setup/generators -release-files/archive.trisquel.org usr/share/apt-setup/release-files +# Even if the backports repository is not enabled, we write example lines for +# it. +echo >> $file +if db_get apt-setup/backports && [ "$RET" = true ]; then + COMMENT= +else + cat >> $file <> $file < generators/50mirror.trisquel #sed '/The partner/,/^*/d; s/services-select-ubuntu/services-select-trisquel/' -i debian/apt-setup-udeb.templates sed 's/services-select/services-select-trisquel/' -i debian/apt-setup-udeb.templates +chmod 755 generators/50mirror.trisquel + changelog "Rebranded and adapted for Trisquel" package diff --git a/helpers/make-aptitude b/helpers/make-aptitude index 848ad8c..7e56ba4 100644 --- a/helpers/make-aptitude +++ b/helpers/make-aptitude @@ -17,15 +17,13 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 +VERSION=1 . ./config sed -i 's/changelogs\.ubuntu\.com/packages\.trisquel\.org/g' debian/patches/04_changelog sed -i 's/Ubuntu/Trisquel/g' debian/patches/04_changelog -# Note: i386 rebuild requires no change on helper or other helpers as binaries can be -# easily recompiled from the jenkins dashboard by arch specific, avoiding helpers - changelog "Imported into Trisquel" + package diff --git a/helpers/make-aptly b/helpers/make-aptly new file mode 100644 index 0000000..433e892 --- /dev/null +++ b/helpers/make-aptly @@ -0,0 +1,28 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports main' +REPOKEY=0E98404D386FA1D9 +BUILD_UNTIL=11.0 +. ./config + + +changelog "Backport to get zstd compression support from debian bullseye." +package diff --git a/helpers/make-arctica-greeter b/helpers/make-arctica-greeter index 0450cc2..da681fe 100644 --- a/helpers/make-arctica-greeter +++ b/helpers/make-arctica-greeter @@ -17,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=4 +VERSION=3 . ./config # Custom settings @@ -28,6 +28,7 @@ cp $DATA/system-ready.ogg data/sounds/stereo/system-ready.ogg # Custom artwork sed '/logo-bare/d; /rm.*logo.png/d' -i debian/rules +#sed '/paint_with_alpha/s/0.5/1.0/' -i src/background.vala cp $DATA/logo.png data/logo.png cp $DATA/logo.png . cp $DATA/logo-bare.png data/logo-bare.png @@ -36,10 +37,17 @@ cp $DATA/badge.png ./data/badges/trisquel_badge.png cp $DATA/badge.png data/badges/unknown_badge.png replace ubuntu_badge trisquel_badge . -sed '/set_source_rgba/s/(0.4, 0.4, 0.4, 0.4)/(0.0, 0.0, 0.0, 0.7)/' -i src/dash-box.vala +sed '/paint_with_alpha/s/0.4/0.7/' -i src/menubar.vala +sed '/set_source_rgb/s/(0.1, 0.1, 0.1)/(0.0, 0.0, 0.0)/' -i src/menubar.vala +sed '/set_source_rgba/s/(0.1, 0.1, 0.1, 0.4)/(0.0, 0.0, 0.0, 0.7)/' -i src/dash-box.vala +sed 's/Cabin/Sans/g' -i debian/30_arctica* +sed 's/Cantarell/Sans/g' -i src/shutdown-dialog.vala debian/patches/2002_shutdown-dialog-font.patch sed '/fonts-/d' -i debian/control +# The high_contrast theme makes almost no difference, disabling +sed '/high_contrast_item/d' -i src/menubar.vala + # Fix selection highlight on toggle buttons cat << EOF | patch --no-backup-if-mismatch -p1 --- a/src/toggle-box.vala 2022-12-05 19:49:25.898324331 -0500 @@ -55,8 +63,27 @@ cat << EOF | patch --no-backup-if-mismatch -p1 selected_key = selected_button.get_data ("toggle-list-key"); EOF +# Custom orca wrapper +sed '/Shell.parse_argv/s/orca.*splash-window,/orca-arctica-wrapper/' -i src/menubar.vala +cat << EOF > orca-arctica-wrapper +#!/bin/sh + +# Make sure that pulseaudio is running and not muted. This prevents sound initialization errors in the lightdm session +pulseaudio --start +pactl set-sink-mute @DEFAULT_SINK@ true +pactl set-sink-mute @DEFAULT_SINK@ false + +which espeak paplay >/dev/null && espeak "Trisquel login" --stdout|paplay +exec orca --replace --no-setup --disable splash-window, \$@ +EOF +chmod 755 orca-arctica-wrapper +echo orca-arctica-wrapper /usr/bin >> debian/arctica-greeter.install + +# correct gsettings path +sed 's/org.mate.settings-daemon.plugins/org.mate.SettingsDaemon.plugins/' -i src/settings-daemon.vala + # Prevent lightdm failure on removal -sed '/very serious/,/^$/d' -i data/90-arctica-greeter.conf +sed '/very serious/,/^$/d' -i debian/90-arctica-greeter.conf changelog "Adapted for Trisquel" diff --git a/helpers/make-asunder b/helpers/make-asunder index bf86c64..209b519 100644 --- a/helpers/make-asunder +++ b/helpers/make-asunder @@ -1,7 +1,7 @@ #!/bin/sh # # Copyright (C) 2011 Santiago Rodríguez -# Copyright (C) 2024 Luis Guzman +# Copyright (C) 2021 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,8 +22,8 @@ VERSION=3 . ./config -patch_p1 $DATA/asunder_2.9.5-acc.patch -patch_p1 $DATA/asunder_2.9.5-monkey.patch +patch --no-backup-if-mismatch -p1 < $DATA/asunder_2.9.5-acc.patch +patch --no-backup-if-mismatch -p1 < $DATA/asunder_2.9.5-monkey.patch changelog "Removed non-free formats. Closes #4061" diff --git a/helpers/make-at-spi2-core b/helpers/make-at-spi2-core index 37f06bb..dd6d95c 100644 --- a/helpers/make-at-spi2-core +++ b/helpers/make-at-spi2-core @@ -17,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 +VERSION=1 COMPONENT=main . ./config @@ -27,6 +27,9 @@ X-MATE-AutoRestart=true X-MATE-Autostart-Phase=Initialization EOF +#Remove unnecessary requirement. +sed -i '/gedit/d' debian/control + changelog "Enable on MATE" package diff --git a/helpers/make-ayatana-indicator-sound b/helpers/make-ayatana-indicator-sound new file mode 100644 index 0000000..25d8b6b --- /dev/null +++ b/helpers/make-ayatana-indicator-sound @@ -0,0 +1,32 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +BUILD_UNTIL=11.0 + +. ./config + +# Remove helper once upstream version is 1.5.27 or later. + +# Apply patch to fix volume change notification +patch --no-backup-if-mismatch -p1 < $DATA/fix_volume_change_notification.patch + +changelog "Fix volume change notification on MATE and XFCE." + +package diff --git a/helpers/make-base-files b/helpers/make-base-files index 229143a..d9847e9 100644 --- a/helpers/make-base-files +++ b/helpers/make-base-files @@ -17,13 +17,11 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-1-DEBOOTSTRAP - -VERSION=7 +VERSION=8 . ./config CODENAMECAPS=$(echo $CODENAME | /bin/sed -e "s/\b\(.\)/\u\1/g") -POINT_RELEASE="" +POINT_RELEASE=".1" # Disable dynamic motd find -name *motd-news* -delete diff --git a/helpers/make-base-installer b/helpers/make-base-installer index 9f095ad..7d45305 100644 --- a/helpers/make-base-installer +++ b/helpers/make-base-installer @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán # Copyright (C) 2009-2020 Rubén Rodríguez # # This program is free software; you can redistribute it and/or modify @@ -18,21 +17,23 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=78DBA3BC47EF2265 +VERSION=3 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config cp $DATA/archs/* kernel/ -apply_patch_changes -sed -i "s|@REVISION@|$REVISION|" kernel/amd64.sh + +#sed s/KERNEL_PRIO=medium/KERNEL_PRIO=high/g library.sh -i #already high #sed 's/main,restricted/main/; s/ubuntu/trisquel/' -i library.sh ./debian/bootstrap-base.postinst sed 's/archive.gpg/trisquel-archive-keyring.gpg/' -i ./debian/bootstrap-base.postinst sed 's/debian-archive-keyring/trisquel-archive-keyring/' -i ./debian/control +#Fix kernel detection +patch --no-backup-if-mismatch -p1 < $DATA/kernel_update_list.patch cat << EOF > kernel/tests/amd64/cittagazze.test cpuinfo cittagazze.cpuinfo majors 2.6 @@ -40,20 +41,20 @@ flavour amd64 kernel-2.6 \ linux-generic \ linux-image-generic \ - linux-generic-hwe-$REVISION \ - linux-image-generic-hwe-$REVISION \ + linux-generic-hwe-20.04 \ + linux-image-generic-hwe-20.04 \ linux-lowlatency \ linux-image-lowlatency \ - linux-lowlatency-hwe-$REVISION \ - linux-image-lowlatency-hwe-$REVISION \ - linux-oem-$REVISION \ - linux-image-oem-$REVISION \ + linux-lowlatency-hwe-20.04 \ + linux-image-lowlatency-hwe-20.04 \ + linux-oem-20.04 \ + linux-image-oem-20.04 \ linux-virtual \ linux-image-virtual \ linux-image-extra-virtual \ - linux-virtual-hwe-$REVISION \ - linux-image-virtual-hwe-$REVISION \ - linux-image-extra-virtual-hwe-$REVISION + linux-virtual-hwe-20.04 \ + linux-image-virtual-hwe-20.04 \ + linux-image-extra-virtual-hwe-20.04 usable \ linux-generic \ linux-server \ @@ -90,7 +91,7 @@ unusable \ env KERNEL_FLAVOUR generic EOF -# Disable i386 +#Temporary disable i386 sed -i "/ARCHES =/s|i386 ||" kernel/Makefile changelog "Rebranded and adapted for Trisquel" diff --git a/helpers/make-bash b/helpers/make-bash index d82ffd0..28c80e0 100644 --- a/helpers/make-bash +++ b/helpers/make-bash @@ -17,8 +17,6 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-1-DEBOOTSTRAP - VERSION=1 . ./config diff --git a/helpers/make-birdtray b/helpers/make-birdtray new file mode 100644 index 0000000..766abca --- /dev/null +++ b/helpers/make-birdtray @@ -0,0 +1,64 @@ +#!/bin/sh +# +# Copyright (C) 2022 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=2 +. ./config + +#Replace name & paths. +rpl -R '/.thunderbird' '/.icedove' . +rpl -R 'Mozilla Thunderbird' 'Icedove Mail' . +rpl -R 'Thunderbirda' 'Icedove' src/translations +rpl -R 'Thunderbird' 'Icedove' src/translations \ + contrib \ + debian \ + CMakeLists.txt \ + README.md +rpl -R ' Thunderbird' ' Icedove' src/ +rpl -R 'thunderbird' 'icedove' debian/ +sed -i '/bindir/s|thunderbird|icedove|' $(find . -name birdtray.spec) +sed -i 's|Thunderbird|Icedove|g' $(find . -name com.ulduzsoft.Birdtray.desktop) +sed -i '/return/s|Thunderbird|Icedove|g' src/utils.cpp +sed -i '/return/s|thunderbird|icedove|g' src/utils.cpp +sed -si '/string/s|Thunderbird|Icedove|g' src/*.ui + +#Replace icons +cp -r $DATA/* src/res/ + +#Set path +cat << EOF | patch --no-backup-if-mismatch -p0 +--- src/utils.cpp 2022-09-08 03:46:23.713263610 -0500 ++++ src/utils.cpp_fix 2022-09-08 03:48:19.925695988 -0500 +@@ -195,13 +195,7 @@ + } + + QStringList Utils::getDefaultThunderbirdCommand() { +-#if defined (OPT_THUNDERBIRD_CMDLINE) +- return Utils::splitCommandLine( OPT_THUNDERBIRD_CMDLINE ); +-#elif defined (Q_OS_WIN) +- return {R"("%ProgramFiles(x86)%\Icedove Mail\icedove.exe")"}; +-#else + return { "/usr/bin/icedove" }; +-#endif + } + + QStringList Utils::splitCommandLine(const QString &src) +EOF + +changelog "Customization for Icedove." +package diff --git a/helpers/make-bleachbit b/helpers/make-bleachbit index 04974e3..24a46f4 100644 --- a/helpers/make-bleachbit +++ b/helpers/make-bleachbit @@ -22,7 +22,7 @@ VERSION=3 . ./config -patch_p1 $DATA/bleachbit-FSDG.patch +patch --no-backup-if-mismatch -p1 < $DATA/bleachbit-FSDG.patch # Non-free programs. Remove to avoid advertisement for CLEANER in adobe_reader amsn chromium discord flash google_chrome google_earth google_toolbar internet_explorer microsoft_office opera paint realplayer safari secondlife_viewer silverlight skype smartftp teamviewer winamp windows_defender windows_explorer windows_media_player winrar winzip wordpad yahoo_messenger diff --git a/helpers/make-brltty b/helpers/make-brltty index 0e67799..463f568 100644 --- a/helpers/make-brltty +++ b/helpers/make-brltty @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2022 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-budgie-artwork b/helpers/make-budgie-artwork index 4e89607..84fe916 100644 --- a/helpers/make-budgie-artwork +++ b/helpers/make-budgie-artwork @@ -17,14 +17,9 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-5-DESKTOP|ARTWORK - -VERSION=3 +VERSION=2 . ./config -# Set default trisquel wallpaper variable -TRISQUEL_WALLP="$(find $DATA/../trisquel-wallpapers/ -name $CODENAME.*|xargs basename)" - # Rebrand and tweak grep -rl 'font-name='|xargs -r sed -i '/font-name/s|Ubuntu 11|Sans 11|' replace ubuntu trisquel @@ -42,7 +37,7 @@ cp $DATA/trisquel-budgie-logo_200_solid.png usr/share/plymouth/themes/trisquel-b cp $DATA/trisquel-budgie-logo_200_alpha.png usr/share/plymouth/themes/trisquel-budgie-logo/trisquel-budgie-logo@2.png #Background -sed -i "s|background=.*|background=\'/usr/share/backgrounds/$TRISQUEL_WALLP\'|g" debian/budgie-lightdm-theme.gsettings-override +sed -i "s|background=.*|background=\'/usr/share/backgrounds/$CODENAME.jpg\'|g" debian/budgie-lightdm-theme.gsettings-override changelog "Rebuild for trisquel" package diff --git a/helpers/make-budgie-desktop-environment b/helpers/make-budgie-desktop-environment index 5abc047..961b7bb 100644 --- a/helpers/make-budgie-desktop-environment +++ b/helpers/make-budgie-desktop-environment @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2022 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,25 +17,17 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-5-DESKTOP|ARTWORK - -VERSION=3 +VERSION=1 . ./config #Set default trisquel wallpaper -BUDGIE_WALLP="budgie-codename.png" -TRISQUEL_WALLP="$(find $DATA/../trisquel-wallpapers/ -name $CODENAME.*|xargs basename)" - +BUDGIE_WALLP="usr/share/backgrounds/budgie/ubuntu_budgie_wallpaper1.jpg" +TRISQUEL_WALLP="usr/share/backgrounds/$CODENAME.jpg" grep -lr "$BUDGIE_WALLP" | xargs -r sed -i "s|$BUDGIE_WALLP|$TRISQUEL_WALLP|g" #menu-icon cp $DATA/logo-trisquel.svg distrologo/trisquel-logo.svg -# Make sure to review helper on the designed stage prior to release, so it uses -# right artwork when released. -cp $(find $DATA/../trisquel-wallpapers/ -name $CODENAME.*) codename-wallpapers/ -rm codename-wallpapers/$BUDGIE_WALLP - #Tweak default handlers sed -i "s|thunderbird|icedove|g" etc/budgie-desktop/defaults.list sed -i "s|firefox|abrowser|g" etc/budgie-desktop/defaults.list diff --git a/helpers/make-casper b/helpers/make-casper index 255ad40..caa9396 100644 --- a/helpers/make-casper +++ b/helpers/make-casper @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright (C) 2012-2025 Ruben Rodriguez -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2012-2022 Ruben Rodriguez +# Copyright (C) 2023 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,13 +18,16 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=28 +VERSION=18 . ./config # Only generate the locale selected at boot sed 's/keep-existing/keep-existing $LANG/' -i scripts/casper-bottom/14locales +# Make sure we disable ureadahead +sed 's/readahead-list/ureadahead/' -i scripts/casper-bottom/25configure_init + # Enable a11y on mate sed '/gset org.gnome.desktop.interface toolkit-accessibility true/a \ \ \ \ \ \ \ \ gset org.mate.desktop.interface accessibility true' -i bin/casper-a11y-enable sed "/gset org.gnome.desktop.interface toolkit-accessibility true/a \ \ \ \ \ \ \ \ gset com.canonical.a11y-profile-manager active-profile \"'blindness\'\"" -i bin/casper-a11y-enable @@ -34,19 +37,18 @@ rm scripts/casper-premount/10driver_updates rm scripts/casper-bottom/33enable_apport_crashes # Add localechooser-data dependency -#sed 's/Depends:/Depends: localechooser-data,\n/' -i debian/control +sed 's/Depends:/Depends: localechooser-data,\n/' -i debian/control # Fix error in lang2locale function sed "s/cut/cut -d: -f2- | cut/" -i scripts/casper-functions sed "s/head -n1/sed -n 1p/" -i scripts/casper-functions -# Apply custom trisquel patches -apply_patch_changes +# Set trisquel isos as default suggestion. +patch --no-backup-if-mismatch -p1 < $DATA/set_trisquel_iso_suggestion.patch +# FIX T11 only: Set live user uid as 1000, which fails due to +# systemd taking 999 in later versions (LP: #2004092) remove on T12. +patch --no-backup-if-mismatch -p1 < $DATA/set_liveuser_uid_1000.patch -# Enable apparmor profiles for live even on installation -cp $DATA/36apparmor_live scripts/casper-bottom -chmod 755 scripts/casper-bottom/36apparmor_live - -changelog "Compiled and customized for Trisquel enviroment." +changelog "Compiled for Trisquel" package diff --git a/helpers/make-cdebconf b/helpers/make-cdebconf index 3318c35..423a287 100644 --- a/helpers/make-cdebconf +++ b/helpers/make-cdebconf @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2024 Luis Guzman # Copyright (C) 2014 Rubén Rodríguez # # This program is free software; you can redistribute it and/or modify @@ -18,15 +17,14 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-1-DEBOOTSTRAP - VERSION=2 NETINST=true . ./config -patch_p1 $DATA/restore-udeb-build-w_o-profile.patch -patch_p1 $DATA/new-default-color-palet-usage.patch +rm debian/palette.ubuntu +ln -sf palette.original debian/palette +sed '/palette.ubuntu/d' -i ./debian/cdebconf-newt-udeb.install changelog "Color palette set back to default" diff --git a/helpers/make-cdebconf-entropy b/helpers/make-cdebconf-entropy index 684cc30..9534c9f 100644 --- a/helpers/make-cdebconf-entropy +++ b/helpers/make-cdebconf-entropy @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-cdrkit b/helpers/make-cdrkit index b0587d7..af6a271 100644 --- a/helpers/make-cdrkit +++ b/helpers/make-cdrkit @@ -29,7 +29,7 @@ rm -rf genisoimage/apple_driver* rm -rf doc/genisoimage/README.hfs_boot -changelog "Compiled for Trisquel" +changelog "Compiled for Trisquel" package diff --git a/helpers/make-cdrom-checker b/helpers/make-cdrom-checker index 8c94030..4906187 100644 --- a/helpers/make-cdrom-checker +++ b/helpers/make-cdrom-checker @@ -17,9 +17,9 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=1 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-cdrom-detect b/helpers/make-cdrom-detect index 684cc30..9534c9f 100644 --- a/helpers/make-cdrom-detect +++ b/helpers/make-cdrom-detect @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-cdrom-retriever b/helpers/make-cdrom-retriever index 684cc30..9534c9f 100644 --- a/helpers/make-cdrom-retriever +++ b/helpers/make-cdrom-retriever @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-choose-mirror b/helpers/make-choose-mirror index 12b1d7f..cde9778 100644 --- a/helpers/make-choose-mirror +++ b/helpers/make-choose-mirror @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2024 Luis Guzmán # Copyright (C) 2009-2018 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify @@ -18,23 +18,20 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=9 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=7 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config -#FIXME: Propose a way to integrate from git and avoid fetching via wget/curl. Mirrors_masterlist_git="trisquel-packages/-/raw/master/extra/mirrors/Mirrors.masterlist" -patch_p1 $DATA/Makefile_mirrors-masterlist.patch -patch_p1 $DATA/choose-mirror-bin.templates-in.patch +patch_Rp1 $DATA/rev_Makefile.patch +patch_Rp1 $DATA/rev_choose-mirror-bin.templates-in.patch sed -i '/oldstable/d; /testing/d; /unstable/d;' mirrors.h sed -i "s|stable|$CODENAME|" mirrors.h -sed -i "s|https://salsa.debian.org.*Mirrors.masterlist.in|https://gitlab.trisquel.org/trisquel/$Mirrors_masterlist_git|" \ - debian/choose-mirror-bin.templates.http-in replace "_CODENAME_" "$CODENAME" replace "deb.debian.org" "archive.trisquel.org" . diff --git a/helpers/make-clock-setup b/helpers/make-clock-setup index 684cc30..9534c9f 100644 --- a/helpers/make-clock-setup +++ b/helpers/make-clock-setup @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-compiz b/helpers/make-compiz index 81587c9..dbc12f6 100644 --- a/helpers/make-compiz +++ b/helpers/make-compiz @@ -17,13 +17,10 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 +VERSION=1 . ./config -# Remove patch already applied at source, making quilt fail. -# and genearing a FTBFS issue (remove tweak when necessary). -remove_patch 64-bit-time-t-compat.patch # Need to remove an 'option' in the XML file. # It extends for five lines, so we will comment diff --git a/helpers/make-conky b/helpers/make-conky new file mode 100644 index 0000000..1cb6495 --- /dev/null +++ b/helpers/make-conky @@ -0,0 +1,28 @@ +#!/bin/sh +# +# Copyright (C) 2021 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=2 + +. ./config + +# restore libxnvctrl lib for nvidia hardware detection. + +changelog "Restore nvidia-settings dependency." + +package diff --git a/helpers/make-cron b/helpers/make-cron index 1b70b03..df4d767 100644 --- a/helpers/make-cron +++ b/helpers/make-cron @@ -18,7 +18,6 @@ # VERSION=2 -BUILD_UNTIL=12 . ./config diff --git a/helpers/make-transmission b/helpers/make-cups similarity index 84% rename from helpers/make-transmission rename to helpers/make-cups index 5dbee55..891e3fa 100644 --- a/helpers/make-transmission +++ b/helpers/make-cups @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2023 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,11 +18,11 @@ # VERSION=0 +BUILD_UNTIL=11.0 . ./config -apply_patch_changes -changelog "Patched to prevenr daemon issues due to DEP17 migration" +changelog "Add helper to force rebuild and reindex on i386 repo." package diff --git a/helpers/make-libcupsfilters b/helpers/make-cups-filters similarity index 100% rename from helpers/make-libcupsfilters rename to helpers/make-cups-filters diff --git a/helpers/make-cwidget b/helpers/make-cwidget index eee34af..773f80d 100644 --- a/helpers/make-cwidget +++ b/helpers/make-cwidget @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2023 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,11 +17,14 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=1 +VERSION=0 +BUILD_UNTIL=11.0 . ./config +#Apply patch to fix Debian's #1714264 +patch --no-backup-if-mismatch -p1 < $DATA/0002-Fix-cwidget-and-aptitude-FTBFS.patch -changelog "Rebuild as dependency of aptitude for i386" +changelog "Apply patch to fix Debian's #1015925 affecting aramo." package diff --git a/helpers/make-aptdaemon b/helpers/make-cython similarity index 76% rename from helpers/make-aptdaemon rename to helpers/make-cython index 4690c7e..4c4a468 100644 --- a/helpers/make-aptdaemon +++ b/helpers/make-cython @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2023 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,14 +18,14 @@ # VERSION=1 -EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu resolute main' -REPOKEY=871920D1991BC93C -BUILD_UNTIL=12.0 +EXTERNAL='deb-src http://ftp.debian.org/debian bookworm main' +REPOKEY=0E98404D386FA1D9 +BACKPORT=true +BUILD_UNTIL=11.0 . ./config -changelog "Upgrade Ecne's version to manage apt 3.0 upgrade" +changelog "Backported from debian bookworm as dependency of opendht 3.0." package - diff --git a/helpers/make-debian-installer b/helpers/make-debian-installer index 45bcf0b..6fb0ee7 100644 --- a/helpers/make-debian-installer +++ b/helpers/make-debian-installer @@ -1,7 +1,7 @@ #!/bin/sh # # Copyright (C) 2009-2020 Ruben Rodriguez -# Copyright (C) 2025 Luis Guzman +# Copyright (C) 2023 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,32 +18,20 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=20 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=18 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true - -HWEKR=6.8 -HWE_ENABLED=0 -[ $HWE_ENABLED != 1 ] && \ -CONTROL_PACKAGE=linux -[ $HWE_ENABLED = 1 ] && \ -CONTROL_PACKAGE=linux-hwe-$HWEKR - . ./config -# Keep legacy version format ("+12.0trisquelx") exclusively for -# identification purposes on makeiso. -export FULLVERSION=$(sed "s|trisquel|+${REVISION}trisquel|" <<< $FULLVERSION) - # Set kernel from release/main packages. set_kernel_release() { -LASTKERNEL="$(apt-cache madison -c ${LOCAL_APT}/etc/apt_${CODENAME}.conf $CONTROL_PACKAGE-tools-common |\ +KRNL_REL=6.5 +LASTKERNEL="$(apt-cache madison -c ${LOCAL_APT}/etc/apt_${CODENAME}.conf linux-hwe-$KRNL_REL-tools-common |\ grep ${CODENAME}/main |\ awk '{print$3}'|head -n1 |\ cut -d. -f1,2,3)" } -DEBIAN_KERNEL="$(awk '/^LINUX_KERNEL_ABI/{print$3}' build/config/common)" cat << EOF > ${LOCAL_APT}/etc/apt_${CODENAME}.conf Dir::State "${LOCAL_APT}/var/lib/apt"; @@ -67,36 +55,14 @@ EOF find build/pkg-lists -type f | xargs -r sed -i /media-retriever/d apt-get update -c ${LOCAL_APT}/etc/apt_${CODENAME}.conf -# Disable proposed-updates patch -patch_p1 $DATA/001_remove-proposed-updates.patch - -# Ensure that ld-linux is executable -patch_p1 $DATA/002_chmod_755_ld-linux2.patch - -# HACK: include ditto for libassuan.so & libnpth.so from host into iso image, as runtime dependencies of gpgv -sed '/$(DEB_HOST_MULTIARCH)\/libgcc_s.so/a\\tcp /usr/lib/$(DEB_HOST_MULTIARCH)/libnpth.so* $(TREE)/lib/$(DEB_HOST_MULTIARCH)' -i build/Makefile -sed '/$(DEB_HOST_MULTIARCH)\/libgcc_s.so/a\\tcp /usr/lib/$(DEB_HOST_MULTIARCH)/libassuan.so* $(TREE)/lib/$(DEB_HOST_MULTIARCH)' -i build/Makefile -sed '/$(DEB_HOST_MULTIARCH)\/libgcc_s.so/a\\t# HACK ALERT: ditto for libassuan.so & libnpth.so -- Trisquel' -i build/Makefile - -# HACK: include ditto liblzma.so and liblz4.so from host into iso image, as runtime dependencies of zstd -sed '/$(DEB_HOST_MULTIARCH)\/libgcc_s.so/a\\tcp /usr/lib/$(DEB_HOST_MULTIARCH)/liblzma.so.5* $(TREE)/lib/$(DEB_HOST_MULTIARCH)' -i build/Makefile -sed '/$(DEB_HOST_MULTIARCH)\/libgcc_s.so/a\\tcp /usr/lib/$(DEB_HOST_MULTIARCH)/liblz4.so* $(TREE)/lib/$(DEB_HOST_MULTIARCH)' -i build/Makefile -sed '/$(DEB_HOST_MULTIARCH)\/libgcc_s.so/a\\t# HACK ALERT: ditto for liblzma & liblz4 -- Trisquel' -i build/Makefile -sed -i '/Build-Depends:/a\\tliblzma5, liblz4-1,' debian/control - -# Fix mini.iso boot on EFI systems -sed 's|/debian|/trisquel|' -i ./build/util/efi-image -grep -lr 'EFI/debian' build/config | xargs -r sed -i 's|EFI/debian|EFI/trisquel|' - # Set kernel release for images set_kernel_release sed -i "s|LINUX_KERNEL_ABI ?= .*|LINUX_KERNEL_ABI ?= $LASTKERNEL|" build/config/common sed -i '/LINUX_KERNEL_ABI/d' build/config/ppc64el.cfg # Patch MEDIUM_SUPPORTED -patch_p1 $DATA/003_medium_supported.patch -# Apply Debian kernel version replacement to Trisquel's -for i in amd64 arm64 armhf ppc64el riscv64 +patch --no-backup-if-mismatch -p1 < $DATA/medium_supported.patch +for i in amd64 arm64 armhf ppc64el do sed -i "/^KERNELVERSION =/i BASEVERSION = $LASTKERNEL" build/config/$i.cfg sed -i 's/^KERNELVERSION = .*/KERNELVERSION = $(BASEVERSION)-generic/g' build/config/$i.cfg @@ -104,26 +70,17 @@ do sed -i '/^KERNEL_FLAVOUR = di/a KERNELIMAGEVERSION = $(KERNELVERSION)' build/config/$i.cfg done -sed -i "/linux-image/s|$DEBIAN_KERNEL|@@DEBIAN_KERNEL@@|" debian/control -patch_p1 $DATA/004_set-kernel-on-control-file.patch -sed -i "/linux-image-/s|@@DEBIAN_KERNEL@@|$LASTKERNEL|" debian/control -patch_p1 $DATA/006_prevent_error_unversioned_kernel_usage.patch - ##TODO: fix the EFI bootloader image sed -i '/shim/s|signed|unsigned|g' debian/control sed -i 's|grub-efi-amd64-signed|grub-efi-amd64-bin|' debian/control sed -i 's|-signed||' debian/control -grep -q win32-loader debian/control && sed -i '/win32-loader/d' debian/control +sed -i '/win32-loader/d' debian/control -# use unsigned shim +#use unsigned shim grep -rl "efi\.signed" | xargs -r sed -i 's|efi\.signed|efi|g' -# adjust path and name files from debian to trisquel -# $arch-bin efi file (/usr/lib/grub/x86_64-efi/monolithic/grubx64.efi) +#adjust path and name files from debian to trisquel | $arch-bin efi file (/usr/lib/grub/x86_64-efi/monolithic/grubx64.efi) sed -i 's|\$platform-signed/grub|\$platform/monolithic/grub|' build/util/efi-image sed -i 's|\$efi_name-installer.efi|\$efi_name.efi|' build/util/efi-image - -# enable experimental ChromeOS devices support with depthcharge -#patch_p1 $DATA/005_customize-chromeos-devices-build.patch ##EO-TODO rm -r build/boot/artwork/11-homeworld @@ -136,13 +93,13 @@ grep -rl 'rows 12' build/boot | xargs -r sed -i '/rows/s|12|10|g' cat << EOF > build/sources.list.udeb.local deb $LOCALMIRROR $CODENAME main/debian-installer deb $LOCALMIRROR $CODENAME-updates main/debian-installer -deb $LOCALMIRROR $CODENAME-security main/debian-installer +#deb $LOCALMIRROR $CODENAME-security main/debian-installer EOF -# firmware-linux-free-udeb is missing +#firmware-linux-free-udeb is missing cat << EOF >> build/pkg-lists/netboot/common #open-ath9k-htc-firmware-udeb -#openfwwf-udeb +openfwwf-udeb EOF rpl "2004-20.." "2004-20$(date +'%y')" . -R @@ -163,11 +120,10 @@ rpl ubuntu-archive-keyring trisquel-archive-keyring . -R rpl Debian Trisquel . -R rpl DEBIAN TRISQUEL . -R rpl http://ftp.debian.org/debian http://archive.trisquel.org/trisquel . -R -rpl http://www.debian.org/doc/ https://trisquel.info/wiki/documentation . -R rpl http://www.debian.org/ https://trisquel.info build/boot/ -R # Replace the debian release for the trisquel one. -rpl $RELNAME $CODENAME . -R +rpl bullseye $CODENAME . -R rpl debian-archive-keyring trisquel-keyring debian/control rpl debian-ports-archive-keyring trisquel-keyring debian/control rpl debian-archive-keyring.gpg trisquel-archive-keyring.gpg . -R @@ -178,13 +134,30 @@ rpl debian-ports-archive-keyring-udeb trisquel-keyring-udeb . -R # build/config/common grep -rl TRISQUEL_VERSION |xargs -r sed -i "s|TRISQUEL_VERSION =.*|TRISQUEL_VERSION = $REVISION ($CODENAME)|" +# Disable proposed-updates patch +patch --no-backup-if-mismatch -p1 < $DATA/remove-proposed-updates.patch + echo "# Remove gtk related packages, not looking for graphical installer" rm $(find build/pkg-lists -type f -path "*/gtk/*") echo "Remove unused modules from d-i pkg-list" grep -rl acpi-modules- build/pkg-lists/ |xargs -r sed -i '/acpi-modules-/d' grep -rl cdrom-core-modules- build/pkg-lists/ |xargs -r sed -i '/cdrom-core-modules-/d' grep -rl cdebconf-gtk-entropy build/config/ | xargs -r sed -i 's/cdebconf-gtk-entropy//' -apply_patch_changes + +# Ensure that ld-linux is executable +patch --no-backup-if-mismatch -p1 < $DATA/chmod_755_ld-linux2.patch + +# HACK: include liblzma.so and liblz4.so from host into iso image, as runtime dependencies of zstd +sed '/not packaged as a udeb/a\\tcp /lib/$(DEB_HOST_MULTIARCH)/liblzma.so.5* $(TREE)/lib/$(DEB_HOST_MULTIARCH)' -i build/Makefile +sed '/not packaged as a udeb/a\\tcp /lib/$(DEB_HOST_MULTIARCH)/liblz4.so* $(TREE)/lib/$(DEB_HOST_MULTIARCH)' -i build/Makefile +sed -i '/Build-Depends:/a\\tliblzma5, liblz4-1,' debian/control + +# Fix mini.iso boot on EFI systems +sed 's|/debian|/trisquel|' -i ./build/util/efi-image +sed 's|EFI/debian|EFI/trisquel|' -i ./build/config/arm.cfg ./build/config/x86.cfg + +#Fix u-boot naming debian>ubuntu +sed -i 's|.imx|-dtb.imx|g' build/boot/arm/u-boot-image-config # replace references to the OS as 'Linux' with 'GNU/Linux' match_rxs=( # ASSERT: aligns with '$replace_rxs' @@ -215,7 +188,8 @@ done ## https://bazaar.launchpad.net/~xnox/debian-installer/di-focal/changes?filter_path=build/Makefile for patch in $(ls -v ${DATA}/di_focal/*.diff) do - patch_p1 $patch + echo "Applying $patch" + patch --no-backup-if-mismatch -Np0 < $patch done changelog "Rebranded and adapted for Trisquel" diff --git a/helpers/make-debian-installer-utils b/helpers/make-debian-installer-utils index d4941a5..9540301 100644 --- a/helpers/make-debian-installer-utils +++ b/helpers/make-debian-installer-utils @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=3 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=2 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-debian-reference b/helpers/make-debian-reference new file mode 100644 index 0000000..3127d9c --- /dev/null +++ b/helpers/make-debian-reference @@ -0,0 +1,74 @@ +#!/bin/bash +# +# Copyright (C) 2015 Andrew M. Lindley +# Copyright (C) 2019 Mason Hock +# Copyright (C) 2022 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +# One release to rule them all :) +VERSION=4 + +#. ./config +QUILT=skip +. ./config + +# Drop languages Trisquel modifications haven't been translated for yet +sed "s|^LANGPO.*|LANGPO :=\t|" -i debian/rules +sed -i 's|"LANGPO=$(LANGPO)"||' debian/rules +sed '/^\Package: debian-reference-de/,$ d' debian/control -i +sed '/debian-reference-fr/,/Description: metapackage/{//p;d;}' debian/control -i +sed '/debian-reference-fr/d' debian/control -i + +# English ASCIIDOC source +# remove references to the non-GNU FSDG contrib and non-free repos +sed -i 's/ contrib non-free//' rawxml/02_debian_package_management.rawxml +sed -i 's| and no dependency to non-free ||' rawxml/02_debian_package_management.rawxml +#Be carefull to avoid break items or xml structure deleting complete lines. +sed -i 's|We will be guided by the needs.*such uses of the system.||' rawxml/02_debian_package_management.rawxml +sed -i 's|We acknowledge that some of our .*system and mailing lists).||' rawxml/02_debian_package_management.rawxml +sed -i 's|Users should be aware.*areas:||' rawxml/02_debian_package_management.rawxml +sed -i 's|Please note that the number of.*system as free as you wish.||' rawxml/02_debian_package_management.rawxml + +sed -i '/non-free/d' rawxml/02_debian_package_management.rawxml +sed -i 's/ contrib//' rawxml/02_debian_package_management.rawxml + +sed -i 's/(non-free)//' rawxml/04_authentication.rawxml +#Be carefull to avoid break items or xml structure deleting complete lines. +sed -i 's|Although most hardware devices.*and_firmware"\/>.||' rawxml/05_network_setup.rawxml +#sed -i '/non-free/d' rawxml/05_network_setup.rawxml + +sed -i 's/Debian also offers helper programs to install non-free browser plugin packages as contrib or non-free archive area.//' rawxml/06_network_applications.rawxml +sed -i '/contrib/d' -i rawxml/06_network_applications.rawxml +#sed -i 's/previously non-free,//' rawxml/07_gui_system.rawxml +sed -i '/non-free/d' rawxml/07_gui_system.rawxml +#sed -i '/sharing some commercial/,/contaminating/d' rawxml/07_gui_system.rawxml + +#Be carefull to avoid break items or xml structure deleting complete lines. +sed -i 's|Softmodem driver ||' rawxml/09_system_tips.rawxml +sed -i 's| martian-modem and sl-modem-dkms packages (non-free) ||' rawxml/09_system_tips.rawxml +sed -i 's|Please note that.*100_free_software"/>.||' rawxml/09_system_tips.rawxml +sed -i 's|Please also note.*-free.||' rawxml/09_system_tips.rawxml + +sed -i 's|, and non-free for binary-only drivers supported by the vendor||' rawxml/09_system_tips.rawxml +sed -i '/non-free/d' rawxml/09_system_tips.rawxml +#sed -i '/Softmodem/d' -i rawxml/09_system_tips.rawxml +sed -i 's| You may need to include the contrib and non-free archives in addition to the main archive since some GFDL documentations are not considered to be DFSG compliant.||' rawxml/12_programming.rawxml + +changelog 'Remove references to non-free repos #5950, remove already applied patch' + +package + diff --git a/helpers/make-debootstrap b/helpers/make-debootstrap index a7d3914..644dd69 100644 --- a/helpers/make-debootstrap +++ b/helpers/make-debootstrap @@ -18,6 +18,7 @@ # VERSION=7 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble main' NETINST=true . ./config diff --git a/helpers/make-deja-dup b/helpers/make-deja-dup index 19868db..06c706e 100644 --- a/helpers/make-deja-dup +++ b/helpers/make-deja-dup @@ -17,12 +17,12 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 +VERSION=1 COMPONENT=main . ./config -sed -i 's/Categories.*/Categories=Application;System;Settings;/g' data/app.desktop.in +sed -i 's/Categories.*/Categories=Application;System;Settings;/g' data/org.gnome.DejaDup.desktop.in changelog "Compiled for Trisquel adjusting package category settings." diff --git a/helpers/make-deluge b/helpers/make-deluge new file mode 100644 index 0000000..137fc38 --- /dev/null +++ b/helpers/make-deluge @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (C) 2020 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +EXTERNAL='deb-src http://ppa.launchpad.net/deluge-team/stable/ubuntu $UPSTREAM main' +REPOKEY="C5E6A5ED249AD24C" +BACKPORT=true +BUILD_UNTIL=11.0 + +. ./config + +changelog "Imported to Trisquel from oficial PPA" + +package + diff --git a/helpers/make-desktop-file-utils b/helpers/make-desktop-file-utils new file mode 100644 index 0000000..814c509 --- /dev/null +++ b/helpers/make-desktop-file-utils @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Copyright (C) 2011 Rubén Rodríguez +# Copyright (C) 2021 Pablo Correa Gómez +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=2 + +. ./config + +#% Replace default applications in /usr/share/applications/defaults.list (makes icecat appear in gnome-default-applications-properties) +sed 's/firefox/abrowser/g; s/snap-store_ubuntu-software-local-file/gdebi/g; s/banshee/vlc.desktop/g;' -i debian/defaults.list + +changelog "Rebranded for Trisquel" + +package diff --git a/helpers/make-devscripts b/helpers/make-devscripts index e14c518..e907dc8 100644 --- a/helpers/make-devscripts +++ b/helpers/make-devscripts @@ -1,6 +1,7 @@ #!/bin/sh # -# Copyright (C) 2026 Luis Guzman +# Copyright (C) 2022 Trisquel GNU/Linux developers +# # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,14 +18,16 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=3 +VERSION=2 . ./config -# Make sure uses TrisquelDistroinfo +#Make sure uses TrisquelDistroinfo sed -i 's|UbuntuDistroInfo|TrisquelDistroInfo|' scripts/debchange.pl -# Remove patch now applied upstream +#Prevent debian test failing. +sed -i '/verifyGuessedDistribution/s|buster-backports|bookworm-backports|g' test/test_debchange +rm scripts/devscripts/test/test_flake8.py changelog "Make use of TrisquelDistroInfo from distro-info package." diff --git a/helpers/make-dh-cargo b/helpers/make-dh-cargo new file mode 100644 index 0000000..1f693f1 --- /dev/null +++ b/helpers/make-dh-cargo @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Copyright (C) 2025 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble main' +BACKPORT=true +BUILD_UNTIL=11.0 + +. ./config + +changelog "Adding package as a dependency for newer abrowser releases." + +package diff --git a/helpers/make-dino-im b/helpers/make-dino-im new file mode 100644 index 0000000..7a0702d --- /dev/null +++ b/helpers/make-dino-im @@ -0,0 +1,33 @@ +#!/bin/sh +# +# Copyright (C) 2024 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +BUILD_UNTIL=11.0 +. ./config + +# Apply missing CVEs upstream +for patch in $(ls -v ${DATA}/cve/*.patch) +do + echo "> Applying $(echo $patch|xargs basename)" + patch --no-backup-if-mismatch -Np1 < $patch +done + + +changelog "Add missing CVEs at upstream: · CVE-2023-28686" +package diff --git a/helpers/make-distro-info b/helpers/make-distro-info index 5fcfa50..93ee79e 100644 --- a/helpers/make-distro-info +++ b/helpers/make-distro-info @@ -31,20 +31,19 @@ sed -i 's|,eol-server,eol-esm||' trisquel-distro-info.c sed -i 's|Ubuntu|Trisquel GNU/Linux|' shell/ubuntu-distro-info.in # distro-info-util.c -patch_p1 $DATA/distro-info-util_c.patch +patch --no-backup-if-mismatch -p1 < $DATA/distro-info-util_c.patch #test-ubuntu-distro-info cp $DATA/test-trisquel-distro-info . #python dir -patch_p1 $DATA/distro_info_py.patch -patch_p1 $DATA/test_distro_info.py.patch - +patch --no-backup-if-mismatch -p1 < $DATA/distro_info_py.patch replace Ubuntu Trisquel replace ubuntu trisquel #Maybe too much #sed -i '/__init__/s|"Trisquel"|"Trisquel GNU/Linux"|' python/distro_info.py mv python/ubuntu-distro-info python/trisquel-distro-info +cp $DATA/test_distro_info.py python/distro_info_test/ #perl cp $DATA/test.pl perl/ diff --git a/helpers/make-distro-info-data b/helpers/make-distro-info-data index cfb7727..255de93 100644 --- a/helpers/make-distro-info-data +++ b/helpers/make-distro-info-data @@ -17,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=7 +VERSION=8 . ./config diff --git a/helpers/make-dpkg b/helpers/make-dpkg index 6651cb1..789a4d4 100644 --- a/helpers/make-dpkg +++ b/helpers/make-dpkg @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2024 Luis Guzmán # Copyright (C) 2012-2022 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify @@ -18,9 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-1-DEBOOTSTRAP - -VERSION=5 +VERSION=4 COMPONENT=main . ./config @@ -35,14 +32,11 @@ EOF cp scripts/t/Dpkg_BuildFlags_Ubuntu.t scripts/t/Dpkg_BuildFlags_Trisquel.t cp scripts/t/Dpkg_Changelog_Ubuntu.t scripts/t/Dpkg_Changelog_Trisquel.t sed 's/Ubuntu/Trisquel/g' -i scripts/t/Dpkg_BuildFlags_Trisquel.t +cp $DATA/Trisquel.pm scripts/Dpkg/Vendor/Trisquel.pm -# Patch a copy from the Ubuntu.pm file to force track changes more often, -# and rebuild easier the original changes. -cp scripts/Dpkg/Vendor/Ubuntu.pm scripts/Dpkg/Vendor/Trisquel.pm -patch_p1 $DATA/patch-Trisquel_pm-from-Ubuntu_pm.patch - -# Use patch to track changes at Makefile.{in,am} files. -patch_p1 $DATA/patch-Makefile_in_am-to-add-trisquel-options.patch +sed '/Ubuntu.pm/a\\tDpkg/Vendor/Trisquel.pm \\' -i scripts/Makefile.in scripts/Makefile.am +sed '/Dpkg_BuildFlags_Ubuntu.t/a\\tt/Dpkg_BuildFlags_Trisquel.t \\' -i scripts/Makefile.in scripts/Makefile.am +sed '/Dpkg_Changelog_Ubuntu.t/a\\tt/Dpkg_Changelog_Trisquel.t \\' -i scripts/Makefile.in scripts/Makefile.am # Trisquel.pm in now here, not at trisquel-base-data sed '/Package: libdpkg-perl/,/^$/s/Depends:/Replaces: trisquel-base-data\nDepends:/' -i debian/control diff --git a/helpers/make-dia b/helpers/make-dsniff similarity index 78% rename from helpers/make-dia rename to helpers/make-dsniff index fcaee2b..a661d1e 100644 --- a/helpers/make-dia +++ b/helpers/make-dsniff @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guznán +# Copyright (C) 2015 Santiago Rodríguez # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -21,10 +21,9 @@ VERSION=1 . ./config -apply_patch_changes -# See more at: https://gitlab.gnome.org/GNOME/dia/-/merge_requests/114 +rm debian/patches/23_urlsnarf_timestamp.patch +sed -i 's/23_urlsnarf_timestamp.patch//g' debian/patches/series -changelog "Apply MR 114 on GNOME to fix delay to open text properties" +changelog "Remove patch to avoid segfault" package - diff --git a/helpers/make-e2fsprogs b/helpers/make-e2fsprogs index 835333e..5523cb8 100644 --- a/helpers/make-e2fsprogs +++ b/helpers/make-e2fsprogs @@ -23,8 +23,6 @@ # such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=0 NETINST=true . ./config diff --git a/helpers/make-efi-reader b/helpers/make-efi-reader index 684cc30..9534c9f 100644 --- a/helpers/make-efi-reader +++ b/helpers/make-efi-reader @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-electrum b/helpers/make-electrum index d340e8c..cccd5d1 100644 --- a/helpers/make-electrum +++ b/helpers/make-electrum @@ -17,19 +17,13 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=3 -EXTERNAL='deb-src http://ftp.debian.org/debian bookworm main' -REPOKEY=6ED0E7B82643E131 +VERSION=1 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 +DEPENDS=aiorpcx,aiohttp-socks,protobuf . ./config -# Replace deprecated distutils : -# electrum/_vendor/distutils/version.py should be provided by -# /usr/lib/python3/dist-packages/packaging/version.py, confirm. -sed -i 's|python3-distutils,|python3-packaging,|' debian/control -remove_patch Replace-vendored-distutils.patch -patch_p1 $DATA/replace_distutils_by_packaging.patch - -changelog "Backported from debian bookworm" +changelog "Backported from debian bullseye" package diff --git a/helpers/make-emacs b/helpers/make-emacs index d60e7f9..aabac13 100644 --- a/helpers/make-emacs +++ b/helpers/make-emacs @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2022 Luis Guzman +# Copyright (C) 2025 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,12 +16,17 @@ # along with this program. If not, see . -VERSION=1 +VERSION=1.1 +EXTERNAL='deb-src http://ftp.debian.org/debian bookworm-backports main' +REPOKEY=0E98404D386FA1D9 +BUILD_UNTIL=11.0 . ./config +apply_patch_changes + sed -i 's|emacs-common-non-dfsg|emacs-common-gfdl|g' debian/control -changelog "Adjust emacs suggestion to emacs-common-gfdl" +changelog "Adjust emacs suggestion to emacs-common-gfdl | Backport emacs v30.1" package diff --git a/helpers/make-enblend-enfuse b/helpers/make-enblend-enfuse new file mode 100644 index 0000000..9790bb2 --- /dev/null +++ b/helpers/make-enblend-enfuse @@ -0,0 +1,28 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 +BUILD_UNTIL=11.0 +. ./config + + +changelog "Build as dependency of hugin." +package diff --git a/helpers/make-caja b/helpers/make-enigmail similarity index 67% rename from helpers/make-caja rename to helpers/make-enigmail index c9d1431..a3c195e 100644 --- a/helpers/make-caja +++ b/helpers/make-enigmail @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzman +# Copyright (C) 2017-2019 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -21,13 +21,12 @@ VERSION=2 . ./config -# Debian MATE and Ubuntu Mate both show System Tools, we don't, so we -# customize it. -sed -i "s|^NoDisplay=true|#NoDisplay=true|" data/caja.desktop.in.in +sed 's/Thunderbird/Icedove/' -i debian/control +sed 's/thunderbird/icedove/' -i debian/control -apply_patch_changes +#Complete dependencies for test suite. +sed -i 's|node-text-table ,|node-text-table , node-chalk , node-strip-ansi ,|' debian/control -changelog "Apply fallback to fast-content-type patch -Enable display caja desktop for Trisquel menu" +changelog "Imported into Trisquel" package diff --git a/helpers/make-epiphany-browser b/helpers/make-epiphany-browser index e51a2bb..dea6f3c 100644 --- a/helpers/make-epiphany-browser +++ b/helpers/make-epiphany-browser @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán # Copyright (C) 2011 Santiago Rodríguez # # This program is free software; you can redistribute it and/or modify @@ -18,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 +VERSION=1 . ./config @@ -29,8 +28,6 @@ VendorSub=$CODENAME $REVISION VendorComment=@PACKAGEVERSION@ EOF -apply_patch_changes - changelog "Epiphany browser compiled for Trisquel" #Branding purposes. Closes bug 1413 package diff --git a/helpers/make-depthcharge-tools b/helpers/make-epoptes similarity index 77% rename from helpers/make-depthcharge-tools rename to helpers/make-epoptes index 05e1390..db9c450 100644 --- a/helpers/make-depthcharge-tools +++ b/helpers/make-epoptes @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2021 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,13 +17,12 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-4-UDEBS-DEBIAN-INSTALLER - VERSION=1 -NETINST=true +EXTERNAL='deb-src http://ppa.launchpad.net/ltsp/ppa/ubuntu $UPSTREAM main' +REPOKEY=B64988E8F9B7EF68 + . ./config -apply_patch_changes +changelog "Backported from oficial PPA as companion to ltsp package." -changelog "Patch kernel discovery to match version-less vmlinuz in Ecne for debian-installer." package diff --git a/helpers/make-expat b/helpers/make-expat index 1ac27f9..711f534 100644 --- a/helpers/make-expat +++ b/helpers/make-expat @@ -23,11 +23,15 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=2 +VERSION=5 NETINST=true . ./config +#FIXME:T12 +# Set version number due to source origin change +export FULLVERSION="$(sed 's|ubuntu0.6||' <<< $FULLVERSION)" changelog "Fetch and build as udeb dependency for debian-installer." +head -n1 debian/changelog | grep -q ubuntu && echo "> error: update upstream version" && exit package diff --git a/helpers/make-fai b/helpers/make-fai-server similarity index 99% rename from helpers/make-fai rename to helpers/make-fai-server index 7340534..50ad9b2 100644 --- a/helpers/make-fai +++ b/helpers/make-fai-server @@ -45,4 +45,3 @@ sed "s#^FAI_DEBOOTSTRAP=.*#FAI_DEBOOTSTRAP=\"$CODENAME http://archive.trisquel.o changelog "Adapted for Trisquel. Fixes #28007" package - diff --git a/helpers/make-fastfetch b/helpers/make-fastfetch index a725a50..cb62ba6 100644 --- a/helpers/make-fastfetch +++ b/helpers/make-fastfetch @@ -21,7 +21,7 @@ VERSION=1 EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' REPOKEY=6ED0E7B82643E131 BACKPORT=true -BUILD_UNTIL=12.0 +BUILD_UNTIL=11.0 . ./config changelog "Backported to get latest version into Trisquel." diff --git a/helpers/make-finish-install b/helpers/make-finish-install index f857337..7ef1db2 100644 --- a/helpers/make-finish-install +++ b/helpers/make-finish-install @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2022 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,16 +23,13 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=3 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=1 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config -apply_patch_changes - -# Add splash to desktop environments installations -cp $DATA/09trisquel-uefi-splash finish-install.d/ +patch --no-backup-if-mismatch -p1 < $DATA/fix_keyboard-configure-netinstall.patch changelog "Fetch and build as udeb dependency for debian-installer." package diff --git a/helpers/make-firmware-free b/helpers/make-firmware-free index fd7643d..12acdd4 100644 --- a/helpers/make-firmware-free +++ b/helpers/make-firmware-free @@ -18,24 +18,23 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=5 -EXTERNAL='deb-src http://ftp.us.debian.org/debian trixie main' +VERSION=4 +EXTERNAL='deb-src http://ftp.us.debian.org/debian bookworm main' REPOKEY=6ED0E7B82643E131 . ./config -sed -i '/Provides:/d' debian/templates/binary.control.in -sed '/Suggests/s/$/\nProvides: linux-firmware/' -i debian/control \ - debian/templates/binary.control.in +sed '/Suggests/s/$/\nProvides: linux-firmware/' -i debian/control \ + debian/templates/control.binary.in changelog "Imported into Trisquel" md5sum debian/bin/gencontrol.py \ debian/config/defines \ debian/config/linux-free/defines \ - debian/changelog \ + debian/changelog \ debian/templates/control.binary.udeb.in \ - debian/templates/binary.control.in \ - debian/templates/source.control.in > debian/control.md5sum + debian/templates/control.binary.in \ + debian/templates/control.source.in > debian/control.md5sum package diff --git a/helpers/make-fsplib b/helpers/make-flit-scm similarity index 62% rename from helpers/make-fsplib rename to helpers/make-flit-scm index eee34af..20184fd 100644 --- a/helpers/make-fsplib +++ b/helpers/make-flit-scm @@ -1,10 +1,10 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2026 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, @@ -13,15 +13,17 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# +# along with this program. If not, see . + VERSION=1 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble universe' +BACKPORT=true +BUILD_UNTIL=11.0 . ./config -changelog "Rebuild as dependency of aptitude for i386" +changelog "Backport dependency for newer yt-dlp" package diff --git a/helpers/make-freecad b/helpers/make-freecad deleted file mode 100644 index 4c46229..0000000 --- a/helpers/make-freecad +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2025 Kurt Kremitzki -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -VERSION=1 - -# FreeCAD was not present in Debian Testing when Ubuntu 24.04 was released; -# jump forward to pull the version from 24.10 -EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu oracular universe' - -. ./config - -changelog "Package freecad for trisquel" -# Disable patches needed for Ubuntu 24.10 versions -remove_patch "0030-octt78.patch" -remove_patch "3000-vtk9.3.patch" -# Remove OpenCASCADE version pin associated with previous patch -sed -i 's/ (>= 7.8.1+dfsg1)//' debian/control - -package diff --git a/helpers/make-freedom-maker b/helpers/make-freedom-maker index 34ac16b..18237cc 100644 --- a/helpers/make-freedom-maker +++ b/helpers/make-freedom-maker @@ -2,7 +2,6 @@ # trisquel package helper for 'freedom-maker' # -# Copyright (C) 2024 Luis Guzmán # Copyright (C) 2022 bill-auger # # This program is free software: you can redistribute it and/or modify @@ -25,7 +24,8 @@ VERSION=1 for patch in $(ls -v ${DATA}/*.patch) do - patch_p1 $patch +echo "Applying $patch" +patch --no-backup-if-mismatch -Np1 < $patch done changelog "Build from Trisquel repos - Delete support for non-free hardware and emulators" diff --git a/helpers/make-gajim b/helpers/make-gajim new file mode 100644 index 0000000..f1b6eab --- /dev/null +++ b/helpers/make-gajim @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports main' +REPOKEY=0E98404D386FA1D9 +DEPENDS=python-nbxmpp +BACKPORTS=true +BUILD_UNTIL=11.0 +. ./config + + +changelog "Backport from debian to a closer supported state upstream." +package diff --git a/helpers/make-gajim-omemo b/helpers/make-gajim-omemo new file mode 100644 index 0000000..2de528d --- /dev/null +++ b/helpers/make-gajim-omemo @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports main' +REPOKEY=0E98404D386FA1D9 +BACKPORTS=true +BUILD_UNTIL=11.0 +. ./config + + +changelog "Backport from debian to a closer supported state upstream." +package diff --git a/helpers/make-gajim-openpgp b/helpers/make-gajim-openpgp new file mode 100644 index 0000000..2de528d --- /dev/null +++ b/helpers/make-gajim-openpgp @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports main' +REPOKEY=0E98404D386FA1D9 +BACKPORTS=true +BUILD_UNTIL=11.0 +. ./config + + +changelog "Backport from debian to a closer supported state upstream." +package diff --git a/helpers/make-gajim-pgp b/helpers/make-gajim-pgp new file mode 100644 index 0000000..2de528d --- /dev/null +++ b/helpers/make-gajim-pgp @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports main' +REPOKEY=0E98404D386FA1D9 +BACKPORTS=true +BUILD_UNTIL=11.0 +. ./config + + +changelog "Backport from debian to a closer supported state upstream." +package diff --git a/helpers/make-gajim-triggers b/helpers/make-gajim-triggers new file mode 100644 index 0000000..2de528d --- /dev/null +++ b/helpers/make-gajim-triggers @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports main' +REPOKEY=0E98404D386FA1D9 +BACKPORTS=true +BUILD_UNTIL=11.0 +. ./config + + +changelog "Backport from debian to a closer supported state upstream." +package diff --git a/helpers/make-glibc b/helpers/make-glibc index 0e48b55..af6a383 100644 --- a/helpers/make-glibc +++ b/helpers/make-glibc @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2024 Luis Guzman # Copyright (C) 2022 Rubén Rodríguez # # This program is free software; you can redistribute it and/or modify @@ -18,12 +17,33 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=1 . ./config +cat << EOF |patch --no-backup-if-mismatch -p1 +diff -ru glibc-2.35/debian/debhelper.in/libc-udeb.install glibc-2.35/debian/debhelper.in/libc-udeb.install + +There is no file containing "-" (dash) on their udeb name pattern. Also debian +udeb libraries don't have any of such files. + +--- glibc-2.35/debian/debhelper.in/libc-udeb.install 2022-07-04 17:58:49.000000000 -0500 ++++ glibc-2.35/debian/debhelper.in/libc-udeb.install 2022-09-10 10:35:44.037341872 -0500 +@@ -1,12 +1,9 @@ + TMPDIR/RTLDDIR/*.so* RTLDDIR + TMPDIR/SLIBDIR/ld*.so* SLIBDIR +-TMPDIR/SLIBDIR/libm-*.so* SLIBDIR + TMPDIR/SLIBDIR/libm.so* SLIBDIR +-TMPDIR/SLIBDIR/libmvec-* SLIBDIR + TMPDIR/SLIBDIR/libmvec.so* SLIBDIR + TMPDIR/SLIBDIR/libdl*.so* SLIBDIR + TMPDIR/SLIBDIR/libresolv*.so* SLIBDIR +-TMPDIR/SLIBDIR/libc-*.so* SLIBDIR + TMPDIR/SLIBDIR/libc.so* SLIBDIR + TMPDIR/SLIBDIR/libutil* SLIBDIR + TMPDIR/SLIBDIR/libcrypt* SLIBDIR +EOF + changelog "Rebuild as part of udeb repository for debian-installer." package diff --git a/helpers/make-gnome-boxes b/helpers/make-gnome-boxes index 2b16ac6..5e869c2 100644 --- a/helpers/make-gnome-boxes +++ b/helpers/make-gnome-boxes @@ -19,12 +19,14 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=5 +VERSION=6 . ./config -# Add trisquel logo patch. -patch_p1 $DATA/001_add_trisquel_gnome-boxes_logo.patch +remove_patch Update-recommended-downloads.patch + +#Required dependencies not in upstream. +sed -i 's|libvirt-dev,|libvirt-dev, cmake, libsasl2-dev, libpulse-dev,|' debian/control* cat << recommended-os > data/recommended-downloads.xml @@ -39,7 +41,6 @@ cat << recommended-os > data/recommended-downloads.xml --> http://trisquel.info/trisquel/11 - http://trisquel.info/trisquel/10 http://guix.gnu.org/guix/1.3 http://hyperbola.info/hyperbola/03 http://pureos.net/pureos/8 @@ -49,6 +50,9 @@ recommended-os # Remove gnome recommendation. grep -rl ".*.iso.*" data/osinfo/|xargs -r sed -i "/.iso/d" +# Apply patch_changes +apply_patch_changes + changelog "Replace recommended downloads." package diff --git a/helpers/make-gnome-online-accounts b/helpers/make-gnome-online-accounts index 272643e..a55515a 100644 --- a/helpers/make-gnome-online-accounts +++ b/helpers/make-gnome-online-accounts @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2024 Luis Guzmán # Copyright (C) 2019 Mason Hock # # This program is free software; you can redistribute it and/or modify @@ -18,10 +17,24 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=4 +VERSION=2 . ./config +# revert ubuntu/snap customizations +sed '/libsnapd-glib-dev/d' -i debian/control +sed '/libsnapd-glib-dev/d' -i debian/control.in +sed '/python3-macaroonbakery/d' -i debian/control +sed '/python3-macaroonbakery/d' -i debian/control.in +sed '/lpa_helper.py/d' -i debian/gnome-online-accounts.install +sed '/ubuntu_sso_provider/d' -i debian/libgoa-backend-1.0-1.symbols +rm debian/patches/0001-ubuntu-sso-provider.patch debian/patches/0002-livepatch-auth.patch +sed '/0001-ubuntu-sso-provider.patch/d' -i debian/patches/series +sed '/0002-livepatch-auth.patch/d' -i debian/patches/series +sed '/--enable-ubuntu-sso/d' -i debian/rules +sed 's/--enable-foursquare \\/--enable-foursquare/' -i debian/rules + + ## Avoid promote questionable online services via dconf, ## still available for users who enable them. #https://help.gnome.org/admin/system-admin-guide/stable/lockdown-online-accounts.html.en @@ -49,10 +62,7 @@ EOF dconf update EO-GOA -#TODO: Drop g-o-a completely from i386 -# https://salsa.debian.org/gnome-team/gnome-online-accounts/-/commit/fc54f13bc07e75cd60a436b97f857eb7cef9c1af - -changelog "Avoid promote questionable online services." +changelog "Remove Snap build dependency" package diff --git a/helpers/make-gnome-shell b/helpers/make-gnome-shell new file mode 100644 index 0000000..ba020ab --- /dev/null +++ b/helpers/make-gnome-shell @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +BUILD_UNTIL=11.0 + +. ./config + +# Apply patch to drop deprecated scripts running on trisquel-mini +patch --no-backup-if-mismatch -p1 < $DATA/drop_gnome-shell-overrides-migration.patch +sed -i "/gnome-shell-overrides-migration.desktop/d" debian/gnome-shell.install + +changelog "Drop deprecated scripts running on trisquel-mini." + +package diff --git a/helpers/make-gnome-software b/helpers/make-gnome-software index ae6d79d..a87a59f 100644 --- a/helpers/make-gnome-software +++ b/helpers/make-gnome-software @@ -17,12 +17,12 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=3 +VERSION=1 . ./config # Remove snap and fwup support patch_p1 $DATA/rm_snap_fwup_support.patch rm debian/gnome-software-plugin-snap.install -changelog "Disable snap & fwupd plugin support in Trisquel" +changelog "Disable snap plugin support in Trisquel" package diff --git a/helpers/make-gnupg2 b/helpers/make-gnupg2 index 2a3cd5e..ff522b3 100644 --- a/helpers/make-gnupg2 +++ b/helpers/make-gnupg2 @@ -23,13 +23,11 @@ # such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=1 NETINST=true . ./config -patch_p1 $DATA/001_add-gpgv-udeb-dependencies-hack.patch +patch_p1 $DATA/001-reduce_gpg-wks-server_dependency_to_match_later_releases.patch changelog "Fetch and build as udeb dependency for debian-installer." package diff --git a/helpers/make-group-service b/helpers/make-group-service new file mode 100644 index 0000000..4d40903 --- /dev/null +++ b/helpers/make-group-service @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +EXTERNAL='deb-src http://ftp.us.debian.org/debian bookworm main' +REPOKEY=6ED0E7B82643E131 +BUILD_UNTIL=11.0 + +. ./config + + +changelog "Imported as dependency of mate-user-admin." + +package diff --git a/helpers/make-grub-installer b/helpers/make-grub-installer index 4c26ea2..6c74eea 100644 --- a/helpers/make-grub-installer +++ b/helpers/make-grub-installer @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzman +# Copyright (C) 2024 Luis Guzman # Copyright (C) 2022 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify @@ -18,9 +18,9 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=4 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=3 +EXTERNAL='deb-src http://ftp.debian.org/debian bookworm main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config @@ -29,8 +29,32 @@ replace grub-efi-amd64-signed grub-efi-amd64 sed 's/shim-signed/shim/' -i grub-installer -# Apply patches for this release -apply_patch_changes +cat << EOF | patch --no-backup-if-mismatch -p1 +diff -ru a/grub-installer b/grub-installer +--- a/grub-installer 2022-11-25 19:04:53.765346384 -0500 ++++ b/grub-installer 2022-11-25 19:16:10.042175329 -0500 +@@ -508,8 +508,12 @@ + grub-efi-ia32-bin grub-efi-ia32 + ;; + grub-efi*) ++ export DEBIAN_PRIORITY=critical ++ export DEBIAN_FRONTEND=noninteractive ++ unset DEBIAN_HAS_FRONTEND ++ unset DEBCONF_REDIR + log-output -t grub-installer \$chroot \$ROOT dpkg -P \\ +- grub grub-legacy grub-pc-bin grub-pc ++ grub grub-legacy grub-pc-bin grub-pc grub-gfxpayload-lists + ;; + esac + +EOF + +# Apply newer fixes over stable release (bookworm) using git patches. +for patch in $(ls -v ${DATA}/custom/*.patch) +do + echo "> Applying $patch" + patch --no-backup-if-mismatch -Np1 < $patch +done changelog "Remove grub-efi-amd64-signed dependency. | Non-fatal fail if mkdir efivars fails." diff --git a/helpers/make-grub2 b/helpers/make-grub2 index d7649dc..03aad0a 100644 --- a/helpers/make-grub2 +++ b/helpers/make-grub2 @@ -2,7 +2,7 @@ # # Copyright (C) 2011-2017 Ruben Rodriguez # Copyright (C) 2019 Mason Hock -# Copyright (C) 2024 Luis Guzman +# Copyright (C) 2021 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -19,52 +19,49 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=10 +VERSION=7 COMPONENT=main DEPENDS=base-files . ./config -apply_patch_changes +# http://grub.johnlane.ie/ +## updated to 2.04-1 on https://aur.archlinux.org/packages/grub-luks-keyfile/ +for i in $DATA/*.patch; do +echo Applying patch $i +patch --no-backup-if-mismatch -p1 < $i +done -# Remove patch renaming GNU/Linux as default distributor. -remove_patch ubuntu-zfs-mkconfig-ubuntu-distributor.patch +#apt-get remove -y --force-yes dosfstools +#sed '/dosfstools/d' -i debian/control +sed '/mkfs.minix/s/-B $BLKSIZE//g' -i tests/util/grub-fs-tester.in + +#remove_patch install-efi-ubuntu-flavours.patch remove_patch mkconfig-ubuntu-distributor.patch -# Allow passwords https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1311302 -for i in $(grep -rl 'CLASS="' util/grub.d/|grep -v 30_os-prober.in) -do - echo "> Allow password with --unrestricted at: $i" - sed '/CLASS=/s/class os/class os --unrestricted/' -i $i -done -echo "> Allow password with --unrestricted at: util/grub.d/30_os-prober.in" -sed 's/--class os /--class os --unrestricted /' -i util/grub.d/30_os-prober.in +#Allow passwords https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1311302 +/bin/sed '/CLASS=/s/class os/class os --unrestricted/' -i util/grub.d/* debian/patches/mkconfig-other-inits.patch replace "with Linux" "with Linux-Libre" util replace "with Linux" "with Linux-Libre" debian replace "Linux" "Linux-Libre" po -replace Kubuntu Triskel . -replace kubuntu triskel . replace Ubuntu Trisquel . replace ubuntu trisquel . -find . |grep ubuntu|xargs rename s/ubuntu/trisquel/ +find |grep ubuntu|xargs rename s/ubuntu/trisquel/ -# Prevent "replace"ment break patches +#Prevent "replace"ment break patches sed -i '/^trisquel/s|-trisquel|-ubuntu|g' debian/patches/series -# Avoid the use of signed grub efi package +#Avoid the use of signed grub efi package sed -i '/Recommends:/s|grub-efi-amd64-signed|grub-efi-amd64|' debian/control # Allow Windows and MacOX entries to boot without a password -#sed 's/class osx/class osx --unrestricted/; s/class windows/class osx --unrestricted/;' -i ./util/grub.d/30_os-prober.in +sed 's/class osx/class osx --unrestricted/; s/class windows/class osx --unrestricted/;' -i ./util/grub.d/30_os-prober.in sed -i '/set -e/aexit 77' tests/grub_cmd_set_date.in -# Apply in case not building on a Trisquel schroot -if [ $(dpkg-vendor --query vendor) != "Trisquel" ]; then - sed -i '/DPKG_VENDOR ?/s|=.*|= Trisquel|' debian/rules - sed -i '/SB_EFI_VENDOR ?/s|=.*|= trisquel|' debian/rules -fi +# Remove this change once building on a trisquel schroot +sed -i '/SB_EFI_VENDOR ?/s|=.*|= trisquel|' debian/rules changelog "skip test grub_cmd_set_date.in" diff --git a/helpers/make-grub2-unsigned b/helpers/make-grub2-unsigned index 8f82218..1118c7c 100644 --- a/helpers/make-grub2-unsigned +++ b/helpers/make-grub2-unsigned @@ -2,7 +2,7 @@ # # Copyright (C) 2011-2017 Ruben Rodriguez # Copyright (C) 2019 Mason Hock -# Copyright (C) 2025 Luis Guzman +# Copyright (C) 2022 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -19,52 +19,55 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=10 +VERSION=7 COMPONENT=main DEPENDS=base-files . ./config -apply_patch_changes +#Prevent to built grub2-unsigned on armhf and ppc64el arch +sed -i "/Architecture:/s|any-ppc64*||g" debian/control +sed -i "/Architecture:/s|any-arm$|armel|g;s|any-arm |armel|g" debian/control +sed -i "/Architecture:/s|linux-any|linux|" debian/control +sed -i '/Package: grub-common/,/Built-Using:/s|Architecture: any|Architecture: any-i386 any-amd64 any-ia64 any-arm64 riscv64|' debian/control -# Remove patch renaming GNU/Linux as default distributor. -remove_patch ubuntu-zfs-mkconfig-ubuntu-distributor.patch +# http://grub.johnlane.ie/ +## updated to 2.04-1 on https://aur.archlinux.org/packages/grub-luks-keyfile/ +for i in $DATA/*.patch; do +echo Applying patch $i +patch --no-backup-if-mismatch -p1 < $i +done + +#apt-get remove -y --force-yes dosfstools +#sed '/dosfstools/d' -i debian/control +sed '/mkfs.minix/s/-B $BLKSIZE//g' -i tests/util/grub-fs-tester.in + +#remove_patch install-efi-ubuntu-flavours.patch remove_patch mkconfig-ubuntu-distributor.patch -# Allow passwords https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1311302 -for i in $(grep -rl 'CLASS="' util/grub.d/|grep -v 30_os-prober.in) -do - echo "> Allow password with --unrestricted at: $i" - sed '/CLASS=/s/class os/class os --unrestricted/' -i $i -done -echo "> Allow password with --unrestricted at: util/grub.d/30_os-prober.in" -sed 's/--class os /--class os --unrestricted /' -i util/grub.d/30_os-prober.in +#Allow passwords https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1311302 +/bin/sed '/CLASS=/s/class os/class os --unrestricted/' -i util/grub.d/* debian/patches/mkconfig-other-inits.patch replace "with Linux" "with Linux-Libre" util replace "with Linux" "with Linux-Libre" debian replace "Linux" "Linux-Libre" po -replace Kubuntu Triskel . -replace kubuntu triskel . replace Ubuntu Trisquel . replace ubuntu trisquel . -find . |grep ubuntu|xargs rename s/ubuntu/trisquel/ +find |grep ubuntu|xargs rename s/ubuntu/trisquel/ -# Prevent "replace"ment break patches +#Prevent "replace"ment break patches sed -i '/^trisquel/s|-trisquel|-ubuntu|g' debian/patches/series -# Avoid the use of signed grub efi package +#Avoid the use of signed grub efi package sed -i '/Recommends:/s|grub-efi-amd64-signed|grub-efi-amd64|' debian/control # Allow Windows and MacOX entries to boot without a password -#sed 's/class osx/class osx --unrestricted/; s/class windows/class osx --unrestricted/;' -i ./util/grub.d/30_os-prober.in +sed 's/class osx/class osx --unrestricted/; s/class windows/class osx --unrestricted/;' -i ./util/grub.d/30_os-prober.in sed -i '/set -e/aexit 77' tests/grub_cmd_set_date.in -# Apply in case not building on a Trisquel schroot -if [ $(dpkg-vendor --query vendor) != "Trisquel" ]; then - sed -i '/DPKG_VENDOR ?/s|=.*|= Trisquel|' debian/rules - sed -i '/SB_EFI_VENDOR ?/s|=.*|= trisquel|' debian/rules -fi +# Remove this change once building on a trisquel schroot +sed -i '/SB_EFI_VENDOR ?/s|=.*|= trisquel|' debian/rules changelog "skip test grub_cmd_set_date.in" diff --git a/helpers/make-gtk+3.0 b/helpers/make-gtk+3.0 deleted file mode 100644 index d343e86..0000000 --- a/helpers/make-gtk+3.0 +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2025 Luis Guzman -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# - -VERSION=1 - -. ./config - -# TODO: Keep an eye on this final fix to match changes accordingly. -# - 000-fix_tooltip_gtk+3.0_lxde.patch -# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8216 -apply_patch_changes - -changelog "Apply fix for tooltip on lxde / trisquel-mini." - -package diff --git a/helpers/make-guix b/helpers/make-guix index 19b74d0..35673d6 100644 --- a/helpers/make-guix +++ b/helpers/make-guix @@ -21,13 +21,22 @@ VERSION=1 SECURITY=true . ./config +export FULLVERSION="$(sed 's|1.3.0-4|1.3.0-4+really1.3.0-5|' <<< $FULLVERSION)" + +# Upgrade 1.3.0-4 to 1.3.0-5 +patch_p1 $DATA/guix-1.3.0.4-to-1.3.0-5.patch + # Apply missing CVEs upstream: -## 1. https://issues.guix.gnu.org/73919 +## 1.CVE-2024-27297 +## 2. https://issues.guix.gnu.org/73919 for patch in $(ls -v ${DATA}/cve/*.patch) do patch_p1 $patch done -changelog "Apply latest fix for #73919 on Ecne" +# TODO: Confirm fix for nix package. +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066812 + +changelog "Apply latest fix for #73919 || Upgrade to 1.3.0-5 and apply missing CVE-2024-27297 upstream patch." package diff --git a/helpers/make-hatchling b/helpers/make-hatchling index 1d9f19b..fc127f2 100644 --- a/helpers/make-hatchling +++ b/helpers/make-hatchling @@ -20,11 +20,10 @@ VERSION=1 EXTERNAL='deb-src http://deb.debian.org/debian trixie main' REPOKEY=6ED0E7B82643E131 BACKPORTS=true -BUILD_UNTIL=12.0 +BUILD_UNTIL=11.0 . ./config - changelog "Backport dependency for newer yt-dlp" package diff --git a/helpers/make-hugin b/helpers/make-hugin new file mode 100644 index 0000000..cc70247 --- /dev/null +++ b/helpers/make-hugin @@ -0,0 +1,28 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 +BUILD_UNTIL=11.0 +. ./config + + +changelog "Build to reintroduce package in aramo repository." +package diff --git a/helpers/make-hw-detect b/helpers/make-hw-detect index b234850..579b3a5 100644 --- a/helpers/make-hw-detect +++ b/helpers/make-hw-detect @@ -17,9 +17,9 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=1 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config @@ -35,7 +35,5 @@ sed ${START},${END}d debian/hw-detect.templates -i sed -i '/non-free/,/^fi$/ d' hw-detect.post-base-installer.d/50install-firmware -apply_patch_changes - changelog "Rebranded and adapted for Trisquel" package diff --git a/helpers/make-hwloc b/helpers/make-hwloc new file mode 100644 index 0000000..1cb6495 --- /dev/null +++ b/helpers/make-hwloc @@ -0,0 +1,28 @@ +#!/bin/sh +# +# Copyright (C) 2021 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=2 + +. ./config + +# restore libxnvctrl lib for nvidia hardware detection. + +changelog "Restore nvidia-settings dependency." + +package diff --git a/helpers/make-ibus b/helpers/make-ibus new file mode 100644 index 0000000..0bde4c7 --- /dev/null +++ b/helpers/make-ibus @@ -0,0 +1,35 @@ +#!/bin/sh +# +# Copyright (C) 2022 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +BUILD_UNTIL=11.0 + +. ./config + +# Remove helper once upstream version is 1.5.27 or later. + +# Add missing file on tarball (1.5.26) +cp $DATA/denylist.txt engine/ +# Apply patch to fix removal of Latin American Spanish +patch --no-backup-if-mismatch -p1 < $DATA/fix_latam_spanish_blacklist.patch +patch --no-backup-if-mismatch -p1 < $DATA/simple.xml.in_1.5.27.patch + +changelog "Fix missing latam keyboard layout." + +package diff --git a/helpers/make-icecat b/helpers/make-icecat index d06939e..a62598b 100644 --- a/helpers/make-icecat +++ b/helpers/make-icecat @@ -18,11 +18,11 @@ # VERSION=1 -EXTERNAL="deb-src http://repos.cmxsl.org/ecne ecne main" +EXTERNAL="deb-src http://repos.cmxsl.org/aramo aramo main" REPOKEY=3FFC4B92F7FFB890 . ./config -changelog "Imported into Trisquel 12 - ecne" +changelog "Imported into Trisquel 11 - aramo" package diff --git a/helpers/make-ifupdown b/helpers/make-ifupdown new file mode 100644 index 0000000..7f1e725 --- /dev/null +++ b/helpers/make-ifupdown @@ -0,0 +1,27 @@ +#!/bin/sh +# +# Copyright (C) 2022 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +BUILD_UNTIL=11.0 +. ./config + +# Previously fixed LP: #1907878 + +changelog "Clean helper from manually patching previous bugs." +package diff --git a/helpers/make-indicator-sensors b/helpers/make-indicator-sensors new file mode 100644 index 0000000..1cb6495 --- /dev/null +++ b/helpers/make-indicator-sensors @@ -0,0 +1,28 @@ +#!/bin/sh +# +# Copyright (C) 2021 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=2 + +. ./config + +# restore libxnvctrl lib for nvidia hardware detection. + +changelog "Restore nvidia-settings dependency." + +package diff --git a/helpers/make-inetutils b/helpers/make-inetutils index 015b366..f21bbe4 100644 --- a/helpers/make-inetutils +++ b/helpers/make-inetutils @@ -17,7 +17,6 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -BUILD_UNTIL=12.0 VERSION=0 . ./config @@ -26,9 +25,8 @@ VERSION=0 # Applying these patches is a proactive mitigation effort for known issues and does not # endorse continued use of telnetd. The patch co-author recommends deprecating it. -# Remove patch now applied upstream +apply_patch_changes -changelog "Restore build to upstream changes -Apply security patches to mitigate known issues proactively; telnetd is not recommended: avoid in production." +changelog "Apply security patches to mitigate known issues proactively; telnetd is not recommended: avoid in production." package diff --git a/helpers/make-initramfs-tools b/helpers/make-initramfs-tools new file mode 100644 index 0000000..92b34e7 --- /dev/null +++ b/helpers/make-initramfs-tools @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Copyright (C) 2023 Ruben Rodriguez +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=2 + +. ./config + +patch --no-backup-if-mismatch -p1 < $DATA/no-warn-firmware.patch + +changelog "Do not warn of missing firmware" + +package + + diff --git a/helpers/make-installation-locale b/helpers/make-installation-locale index 684cc30..9534c9f 100644 --- a/helpers/make-installation-locale +++ b/helpers/make-installation-locale @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-installation-report b/helpers/make-installation-report index 684cc30..9534c9f 100644 --- a/helpers/make-installation-report +++ b/helpers/make-installation-report @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-iso-scan b/helpers/make-iso-scan index 684cc30..9534c9f 100644 --- a/helpers/make-iso-scan +++ b/helpers/make-iso-scan @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-kernel-wedge b/helpers/make-kernel-wedge index c39f778..dc05a4e 100644 --- a/helpers/make-kernel-wedge +++ b/helpers/make-kernel-wedge @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2023 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,10 +26,7 @@ VERSION=0 . ./config # Restore udeb build functions for dtbs / firmware packaging on ARM. -patch_p1 $DATA/diff-kernel-wedge-2105_to_296u3.patch -# Set legacy compatibility build (only once). -sed -i '/Build-Depends:/ s|debhelper-compat (= 13)|debhelper-compat (= 9)|' debian/control -rm debian/compat +patch --no-backup-if-mismatch -p2 < $DATA/2.96-ubuntu3.patch -changelog "Rollback 2.96ubuntu3 on ecne." +changelog "Rollback 2.96ubuntu3 on aramo." package diff --git a/helpers/make-kickseed b/helpers/make-kickseed index 684cc30..9534c9f 100644 --- a/helpers/make-kickseed +++ b/helpers/make-kickseed @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-kolourpaint b/helpers/make-kolourpaint deleted file mode 100644 index 279e8f5..0000000 --- a/helpers/make-kolourpaint +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2025 Luis Guzmán -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# - -VERSION=1 -. ./config - -apply_patch_changes - -changelog "Set icon theme recommendation for non-KDE environments" - -package diff --git a/helpers/make-kopete b/helpers/make-kopete new file mode 100644 index 0000000..5a2667b --- /dev/null +++ b/helpers/make-kopete @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (C) 2011 Santiago Rodríguez +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +COMPONENT=main +. ./config + +sed -i 's/Skype protocol" ON/Skype protocol" OFF/g' protocols/CMakeLists.txt +rm -rf protocols/skype +sed 's/, Skype//' -i ./doc/index.docbook + +changelog "Compiled for Trisquel" + +package + diff --git a/helpers/make-kubuntu-settings b/helpers/make-kubuntu-settings index 880519c..21cc4d7 100644 --- a/helpers/make-kubuntu-settings +++ b/helpers/make-kubuntu-settings @@ -16,27 +16,15 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-5-DESKTOP|ARTWORK -#TODO: reuse the wallpaper at DATA/trisquel-wallpaper -VERSION=16 +VERSION=12 . ./config -# Update current release values 'til the next artwork is ready. -CURRENT_RELEASE="Ecne" -SUFFIX_ARTWORK=".jpg" -TW_FSIZE="3840x2160" -TW_WIDTH="${TW_FSIZE%x*}" -TW_HEIGHT="${TW_FSIZE#*x}" - # Rebrand logo rm desktop/usr-share/kubuntu-circle-128.png -rm desktop/usr-share/kubuntu*.svg cp $DATA/TrisquelLogo.png desktop/usr-share/ cp $DATA/TrisquelLogo.png desktop/kubuntu-logo.png -cp $DATA/face.icon desktop/sddm/themes/kubuntu/faces/.face.icon -cp $DATA/usr-share/* desktop/usr-share/ sed 's/kubuntu-circle-128\.png/TrisquelLogo\.png/' -i $(find -name 'kcm-about-distrorc') sed '/plymouth-theme-kubuntu-logo/,$d; /ttf-ubuntu/d' -i debian/control @@ -79,14 +67,14 @@ X-KDE-PluginInfo-Website=http://plasma.kde.org X-KDE-PluginInfo-Category= X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=LGPLv2+ -X-KDE-PluginInfo-EnabledByDefault=true +X-KDE-PluginInfo-EnabledByDefault=true X-Plasma-API=5.0 - + [Wallpaper] -defaultWallpaperTheme=$CURRENT_RELEASE -defaultFileSuffix=$SUFFIX_ARTWORK -defaultWidth=$TW_WIDTH -defaultHeight=$TW_HEIGHT +defaultWallpaperTheme=Aramo +defaultFileSuffix=.jpg +defaultWidth=5120 +defaultHeight=2880 [ContrastEffect] enabled=true @@ -133,7 +121,7 @@ Theme=breeze name=breeze-dark [Wallpaper] -Image=$CURRENT_RELEASE +Image=Aramo [Desktop][org.kde.plasma.desktop] Containment=org.kde.plasma.folder @@ -189,7 +177,7 @@ dpkg-divert --package trisquel-desktop-common-data --add --rename --divert "\$it cat << EOF > \$item include "/usr/share/themes/Breeze/gtk-2.0/gtkrc" -style "user-font" +style "user-font" { font_name="Noto Sans Regular" } @@ -212,20 +200,10 @@ sed '1s/triskel/kubuntu/' -i debian/control cp $DATA/start.svgz desktop/theme/desktoptheme/triskel/icons/start.svgz cp $DATA/fullscreenpreview.jpg $DATA/preview.png desktop/theme/look-and-feel/org.triskel.desktop/contents/previews/ -sed -i "s|TriskelLight|$CURRENT_RELEASE|" desktop/sddm/themes/triskel/theme.conf -sed -i "/trisquel.info/s|feature-tour/|wiki/$CODENAME|" desktop/plasma/plasma-welcome-extra-pages/01-Kubuntu.qml - -# Replace original image with new release value -ORIG_SIZE_FILE="$(grep ^background desktop/sddm/themes/triskel/theme.conf | \ - xargs basename)" -sed -i "/background/s|$ORIG_SIZE_FILE|$TW_FSIZE$SUFFIX_ARTWORK|" desktop/sddm/themes/triskel/theme.conf # Use regular task manager instead of icon-only version sed 's/plasma.icontasks/plasma.taskmanager/' -i desktop/theme/layout-templates/org.triskel.desktop.defaultPanel/contents/layout.js -# Apply patches -apply_patch_changes - changelog "Adapted for Triskel" package diff --git a/helpers/make-language-selector b/helpers/make-language-selector index 9240819..08e83b6 100644 --- a/helpers/make-language-selector +++ b/helpers/make-language-selector @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán # Copyright (C) 2011 Rubén Rodríguez # # This program is free software; you can redistribute it and/or modify @@ -18,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=4 +VERSION=2 COMPONENT=main . ./config @@ -28,11 +27,31 @@ echo "Aymara;1;aym;aym_PE.UTF-8;aym;PE;aym_PE:aym:en_GB:en;kbd=lat0-sun16(utf8)" echo "quz:quz_PE" >> ./data/langcode2locale echo "aym:aym_PE" >> ./data/langcode2locale -apply_patch_changes +# Add icedove and abrowser to the supported language-selector apps. +cat << EOF | patch --no-backup-if-mismatch -p1 +diff --git a/data/pkg_depends b/data/pkg_depends +index 2ddc062..a81f854 100644 +--- a/data/pkg_depends ++++ b/data/pkg_depends +@@ -11,13 +11,14 @@ tr::gvfs:language-pack-gnome- + # Format: %LCODE% or %LCODE%-%CCODE% + tr::libreoffice-common:libreoffice-l10n- + tr::libreoffice-common:libreoffice-help- +-tr::thunderbird:thunderbird-locale- ++tr::icedove:icedove-locale- ++tr::abrowser:abrowser-locale- + tr::lightning-extension:lightning-extension-locale- + tr::sunbird:sunbird-locale- + tr::sword-text-gerlut1545:sword-language-pack- + tr::gimp:gimp-help- + tr::evolution:evolution-documentation- +-tr::chromium-browser:chromium-browser-l10n ++#tr::chromium-browser:chromium-browser-l10n + tr::sylpheed:sylpheed-i18n + tr::amarok:amarok-help- + tr::gnome-user-docs:gnome-user-docs- +EOF -changelog "Added quz and aym locales -Added support for abrowser and icedove -Added support for ungoogled-chromium -Added support for icecat" +changelog "Added quz and aym locales | Added support for abrowser and icedove." package diff --git a/helpers/make-libcap2 b/helpers/make-libcap2 index 7d14ad7..13a704b 100644 --- a/helpers/make-libcap2 +++ b/helpers/make-libcap2 @@ -23,8 +23,6 @@ # such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=1 NETINST=true . ./config diff --git a/helpers/make-libgcrypt20 b/helpers/make-libgcrypt20 index 835333e..5523cb8 100644 --- a/helpers/make-libgcrypt20 +++ b/helpers/make-libgcrypt20 @@ -23,8 +23,6 @@ # such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=0 NETINST=true . ./config diff --git a/helpers/make-libgit2 b/helpers/make-libgit2 new file mode 100644 index 0000000..1f693f1 --- /dev/null +++ b/helpers/make-libgit2 @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Copyright (C) 2025 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble main' +BACKPORT=true +BUILD_UNTIL=11.0 + +. ./config + +changelog "Adding package as a dependency for newer abrowser releases." + +package diff --git a/helpers/make-libgpg-error b/helpers/make-libgpg-error index 835333e..5523cb8 100644 --- a/helpers/make-libgpg-error +++ b/helpers/make-libgpg-error @@ -23,8 +23,6 @@ # such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=0 NETINST=true . ./config diff --git a/helpers/make-libmateweather b/helpers/make-libmateweather index 4e9f2b2..3b5951f 100644 --- a/helpers/make-libmateweather +++ b/helpers/make-libmateweather @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2023 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,7 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=1 +VERSION=2 +BUILD_UNTIL=11.0 . ./config diff --git a/helpers/make-libmd b/helpers/make-libmd index 60f8636..49ec864 100644 --- a/helpers/make-libmd +++ b/helpers/make-libmd @@ -23,8 +23,6 @@ # or fetch such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=0 NETINST=true . ./config diff --git a/helpers/make-libreoffice b/helpers/make-libreoffice index 31358b1..dfa401b 100644 --- a/helpers/make-libreoffice +++ b/helpers/make-libreoffice @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2023 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,22 +17,18 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=5 +VERSION=4 EXTERNAL='deb-src http://ppa.launchpad.net/libreoffice/ppa/ubuntu $UPSTREAM main' -REPOKEY="73AEE920AD55F5A0" +REPOKEY="83FBA1751378B444" BACKPORT=true . ./config -patch_p1 $DATA/debian-rules_7.3.patch +patch --no-backup-if-mismatch -p1 < $DATA/debian-rules_7.3.patch # Increase CPU usage for amd64 build. sed -i "/NUM_CPUS=/s|3|7|" debian/rules -# Remote pip test -rm pyuno/qa/pytests/testpip.py -sed -i '/python3-pip/d' debian/control - changelog "Backport libreoffice fresh into Trisquel" package diff --git a/helpers/make-acpi-support b/helpers/make-libsdl2 similarity index 82% rename from helpers/make-acpi-support rename to helpers/make-libsdl2 index b5c1400..00d3b76 100644 --- a/helpers/make-acpi-support +++ b/helpers/make-libsdl2 @@ -17,12 +17,14 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' +VERSION=0 +EXTERNAL='deb-src http://ftp.us.debian.org/debian bookworm main' REPOKEY=6ED0E7B82643E131 +BUILD_UNTIL=11.0 . ./config -changelog "Readd package from debian trixie" + +changelog "Backport latest fixes from bookworm to improve/fix SDL support on aramo." package diff --git a/helpers/make-libselinux b/helpers/make-libselinux index f3e2326..13a704b 100644 --- a/helpers/make-libselinux +++ b/helpers/make-libselinux @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2022 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,15 +23,10 @@ # such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=1 NETINST=true . ./config -# fix dependency on python3-pip for a simple install -sed -i '/python3-pip/d' debian/control -apply_patch_changes changelog "Fetch and build as udeb dependency for debian-installer." package diff --git a/helpers/make-libsrtp2 b/helpers/make-libsrtp2 new file mode 100644 index 0000000..2f4a909 --- /dev/null +++ b/helpers/make-libsrtp2 @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +EXTERNAL='deb-src http://ftp.debian.org/debian bookworm main' +REPOKEY=0E98404D386FA1D9 +BACKPORT=true +BUILD_UNTIL=11.0 + +. ./config + + +changelog "Backported from debian bookworm as dependency of libtgwot for openssl 3.0 support." + +package diff --git a/helpers/make-libstrophe b/helpers/make-libstrophe new file mode 100644 index 0000000..78adb26 --- /dev/null +++ b/helpers/make-libstrophe @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports main' +REPOKEY=0E98404D386FA1D9 +BACKPORT=true +BUILD_UNTIL=11.0 + +. ./config + + +changelog "Backported from debian bullseye as dependency of profanity." + +package diff --git a/helpers/make-libtext-markdown-discount-perl b/helpers/make-libtext-markdown-discount-perl deleted file mode 100644 index eee34af..0000000 --- a/helpers/make-libtext-markdown-discount-perl +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2025 Luis Guzmán -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# - -VERSION=1 - -. ./config - - -changelog "Rebuild as dependency of aptitude for i386" - -package diff --git a/helpers/make-libtgowt b/helpers/make-libtgowt new file mode 100644 index 0000000..789b160 --- /dev/null +++ b/helpers/make-libtgowt @@ -0,0 +1,39 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=5 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports main' +REPOKEY=0E98404D386FA1D9 +BACKPORT=true + +. ./config + +# Apply patches to use system's libsrtp2 +for patch in $(ls -v ${DATA}/*.patch) +do + echo "Applying $patch" + patch --no-backup-if-mismatch -Np1 < $patch +done + +# Manually remove third_party src +rm -r src/third_party/libsrtp + +changelog "Applied libsrtp system usage update to bullseye-backports." + +package diff --git a/helpers/make-discount b/helpers/make-libva similarity index 84% rename from helpers/make-discount rename to helpers/make-libva index eee34af..91be45d 100644 --- a/helpers/make-discount +++ b/helpers/make-libva @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2020 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -21,7 +21,8 @@ VERSION=1 . ./config +sed '/nouveau/d' -i va/drm/va_drm_utils.c -changelog "Rebuild as dependency of aptitude for i386" +changelog "Disabled nouveau support" package diff --git a/helpers/make-libvigraimpex b/helpers/make-libvigraimpex new file mode 100644 index 0000000..091e39a --- /dev/null +++ b/helpers/make-libvigraimpex @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bookworm main' +REPOKEY=6ED0E7B82643E131 +BUILD_UNTIL=11.0 +. ./config + + +changelog "Build as dependency of hugin." + +package diff --git a/helpers/make-libxcrypt b/helpers/make-libxcrypt index 835333e..5523cb8 100644 --- a/helpers/make-libxcrypt +++ b/helpers/make-libxcrypt @@ -23,8 +23,6 @@ # such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=0 NETINST=true . ./config diff --git a/helpers/make-libyaml-libyaml-perl b/helpers/make-libyaml-libyaml-perl deleted file mode 100644 index eee34af..0000000 --- a/helpers/make-libyaml-libyaml-perl +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2025 Luis Guzmán -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# - -VERSION=1 - -. ./config - - -changelog "Rebuild as dependency of aptitude for i386" - -package diff --git a/helpers/make-libzstd b/helpers/make-libzstd index 9582db2..33c1f2c 100644 --- a/helpers/make-libzstd +++ b/helpers/make-libzstd @@ -24,8 +24,6 @@ # or fetch such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=1 NETINST=true . ./config diff --git a/helpers/make-lightdm-gtk-greeter b/helpers/make-lightdm-gtk-greeter index ed367d8..8fdd362 100644 --- a/helpers/make-lightdm-gtk-greeter +++ b/helpers/make-lightdm-gtk-greeter @@ -17,9 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-5-DESKTOP|ARTWORK - -VERSION=6 +VERSION=5 COMPONENT=main . ./config @@ -45,7 +43,7 @@ cat << EOF > debian/01_trisquel.conf # screensaver-timeout = Timeout (in seconds) until the screen blanks when the greeter is called as lockscreen # [greeter] -background=/usr/share/backgrounds/$CODENAME.jpg +background=/usr/share/backgrounds/aramo.jpg theme-name=Trisquel-dark icon-theme-name=trisquel indicators = ~clock;~spacer;~host;~spacer;~a11y;~language;~session;~power diff --git a/helpers/make-linux b/helpers/make-linux index 3a135dd..9c0f367 100644 --- a/helpers/make-linux +++ b/helpers/make-linux @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2026 Luis Guzman +# Copyright (C) 2024 Luis Guzman # Copyright (C) 2008-2023 Ruben Rodriguez # Copyright (C) 2019 David Trudgian # @@ -19,16 +19,14 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -# Advice: fixes to 000-silent-accept-firmware.patch could speed up by testing changes -# disabling deblob in order to apply changes. - -VERSION=35 -HWEKR=6.8 -DI_ENABLED=1 -HWE_ENABLED=0 +VERSION=31 +HWEKR=5.15 # DI_ENABLED = 1 enables udeb build, 0 or any other value disables them. +DI_ENABLED=1 # HWE_ENABLED = 1 enables HWE stack build, 0 or any other value disables it. +HWE_ENABLED=0 + [ $HWE_ENABLED != 1 ] && \ DEBIAN_PATH=debian.master && \ CONTROL_PACKAGE=linux @@ -60,12 +58,13 @@ drivers/net/wireless/realtek/rtlwifi/rtl8723be drivers/net/wireless/realtek/rtlwifi/rtl8821ae drivers/net/wireless/broadcom/brcm80211 ' -# HWEKR - 6.8 +# HWEKR - 5.15 [ $HWE_ENABLED != 1 ] && \ -PRESERVEDIRS="$PRESERVEDIRS" +PRESERVEDIRS="$PRESERVEDIRS +drivers/gpu/drm/r128" TMPDIR=$(mktemp -d preserve-XXXX) -PRESERVE=$(grep '^+++' $DATA/000-silent-accept-firmware.patch | /bin/sed 's/+++ //; s/\t.*//;' | cut -d/ -f2- | sort -u ) +PRESERVE=$(grep '^+++' $DATA/silent-accept-firmware.patch | /bin/sed 's/+++ //; s/\t.*//;' | cut -d/ -f2- | sort -u ) for FILE in $PRESERVE; do cp $FILE $TMPDIR --parents -a done @@ -75,29 +74,28 @@ done sh $DATA/deblob-$HWEKR -echo "Reverting deblobbing for files patched by 000-silent-accept-firmware" +echo "Reverting deblobbing for files patched by silent-accept-firmware" cp $TMPDIR/* . -av rm -rf $TMPDIR for PATCH in $DATA/*.patch ; do - patch_p1 $PATCH + echo $PATCH + patch --no-backup-if-mismatch -p1 < $PATCH done ## Simple test for finding missing cases of silent_accept_firmware method -search_for_missing_cases_silent_patch() { - for dir in $PRESERVEDIRS; do - grep -i "load.*firmware.*%" $PRESERVEDIRS -r|grep -vi info - grep -i "load.*ucode.*%" $PRESERVEDIRS -r|grep -vi info - done -} -#search_for_missing_cases_silent_patch +#for dir in $PRESERVEDIRS; do +# grep -i "load.*firmware.*%" $PRESERVEDIRS -r|grep -vi info +# grep -i "load.*ucode.*%" $PRESERVEDIRS -r|grep -vi info +#done # Re-enable udebs enable_udebs() { #Apply udeb/d-i related patches. for PATCH in $DATA/udeb/*.patch ; do - patch_p1 $PATCH + echo $PATCH + patch --no-backup-if-mismatch -p1 < $PATCH done cp $DATA/udeb/5-udebs.mk debian/rules.d @@ -255,6 +253,10 @@ for i in $(grep -rl family=ubuntu debian/rules.d/) do sed -i s/family=ubuntu/family=trisquel/ $i done +cat << EOF > $DEBIAN_PATH/etc/kernelconfig +archs="i386 amd64 armhf arm64 ppc64el" +family='trisquel' +EOF rename s/ubuntu/trisquel/ debian.*/config/config.common.ubuntu for i in $(grep -lr config.common.ubuntu debian*/) @@ -272,52 +274,45 @@ sed 's/on DESC//; s/PKGVER on/PKGVER/; /^ DESC.$/d;' debian*/control.d/flavour-c #echo > ./debian.master/d-i/firmware/scsi-modules # Disable using udev as a fallback for firmware loading -# Read more at: Documentation/driver-api/firmware/fallback-mechanisms.rst -#replace "CONFIG_FW_LOADER_USER_HELPER=y" "CONFIG_FW_LOADER_USER_HELPER=n" $DEBIAN_PATH/config +replace "CONFIG_FW_LOADER_USER_HELPER=y" "CONFIG_FW_LOADER_USER_HELPER=n" $DEBIAN_PATH/config # Disable aaeon & ubuntu odm drivers, remove on both paths to match annotations. -for i in CONFIG_GPIO_AAEON CONFIG_LEDS_AAEON CONFIG_MFD_AAEON CONFIG_SENSORS_AAEON +for i in AAEON CONFIG_UBUNTU_ODM_DRIVERS do - echo "> Modifying $i annotations value:" - python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch amd64 --flavour generic --config $i --write - + grep -rl "$i" debian.*/config/annotations | \ + xargs -r sed -i "/$i/d" done -for i in amd64 arm64 armhf ppc64el riscv64 s390x -do - echo "> Modifying CONFIG_UBUNTU_ODM_DRIVERS for arch $i:" - python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch $i --flavour generic --config CONFIG_UBUNTU_ODM_DRIVERS --write n -done -python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch arm64 --flavour generic-64k --config CONFIG_UBUNTU_ODM_DRIVERS --write n -## Disable ppc64el Werroron amdgpu -python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch ppc64el --flavour generic --config CONFIG_DRM_AMDGPU_WERROR --write n - -## Remove disabled modules from generic list (starting at 6.2) -for module in gpio-aaeon hwmon-aaeon leds-aaeon mfd-aaeon spl -do - for i in $(grep -rl "^$module$" $DEBIAN_PATH/abi/*/) - do - sed -i "/^$module$/d" $i - done -done # Custom changes for linux and linux-hwe. if [ $HWE_ENABLED != 1 ]; then -## HWEKR - 6.8 - for i in CONFIG_AX88796B_RUST_PHY CONFIG_CONSTRUCTORS CONFIG_RUST_BUILD_ASSERT_ALLOW \ - CONFIG_RUST_DEBUG_ASSERTIONS CONFIG_RUST_OVERFLOW_CHECKS CONFIG_RUST_PHYLIB_ABSTRACTIONS \ - CONFIG_SAMPLES_RUST - do - echo "> Modifying $i annotations value:" - python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch amd64 --flavour generic --config $i --write - - done - python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch amd64 --flavour generic --config CONFIG_RUST --write n +## HWEKR - 5.15 + ## Removal wireguard 5.15 specific. + sed '/ifeq ($(do_dkms_wireguard),false)/,/endif$/d' -i debian/rules + ## Fix ports build + sed -i "/CONFIG_FW_LOADER_USER_HELPER/s|'armhf': 'y',|'armhf': 'n',|g" debian.master/config/annotations + sed -i "/CONFIG_FW_LOADER_USER_HELPER/s|'arm64': 'y',|'arm64': 'n',|g" debian.master/config/annotations + sed -i "/CONFIG_FW_LOADER_USER_HELPER/s|'ppc64el': 'y',|'ppc64el': 'n',|g" debian.master/config/annotations + sed -i "/CONFIG_FW_LOADER_USER_HELPER_FALLBACK/s|'armhf': 'n',|'armhf': '-',|g" debian.master/config/annotations + sed -i "/CONFIG_FW_LOADER_USER_HELPER_FALLBACK/s|'arm64': 'n',|'arm64': '-',|g" debian.master/config/annotations + sed -i "/CONFIG_FW_LOADER_USER_HELPER_FALLBACK/s|'ppc64el': 'n',|'ppc64el': '-',|g" debian.master/config/annotations + ## Tweak 5.15.0-94.104 + sed -i "/CONFIG_GPIO_M058SSAN/s|'amd64': 'm'|'amd64': '-'|" debian.master/config/annotations + sed -i "/CONFIG_RTC_DRV_PCF85263/s|'amd64': 'm'|'amd64': '-'|" debian.master/config/annotations else - echo "# HWEKR - 6.X+" +# HWEKR - 6.5+ + ## Disable ppc64el Werroron amdgpu + for i in $(grep -rl CONFIG_DRM_AMDGPU_WERROR debian.*/config/annotations) + do + sed -i "/CONFIG_DRM_AMDGPU_WERROR/s|'ppc64el': 'y'|'ppc64el': 'n'|" $i + done + ## Remove disabled modules from generic list (starting at 6.2) + for module in gpio-aaeon hwmon-aaeon leds-aaeon mfd-aaeon spl + do + for i in $(grep -rl "^$module$" $DEBIAN_PATH/abi/*/) + do + sed -i "/^$module$/d" $i + done + done fi grep -rl '^Vcs-Git:' | \ diff --git a/helpers/make-linux-hwe-5.19 b/helpers/make-linux-hwe-5.19 new file mode 100644 index 0000000..6ba259e --- /dev/null +++ b/helpers/make-linux-hwe-5.19 @@ -0,0 +1,239 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzman +# Copyright (C) 2008-2023 Ruben Rodriguez +# Copyright (C) 2019 David Trudgian +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=23 + +HWEKR=5.19 + +. ./config + +PRESERVEDIRS=' +drivers/bluetooth +drivers/gpu/drm/i915 +drivers/gpu/drm/amd/amdgpu +drivers/gpu/drm/amd/pm/powerplay +drivers/gpu/drm/r128 +drivers/gpu/drm/radeon +drivers/net/wireless/intel/ipw2x00 +drivers/net/wireless/intel/iwlegacy +drivers/net/wireless/intel/iwlwifi +drivers/net/wireless/realtek/rtl8xxxu +drivers/net/wireless/realtek/rtlwifi +drivers/net/wireless/realtek/rtlwifi/rtl8188ee +drivers/net/wireless/realtek/rtlwifi/rtl8192ce +drivers/net/wireless/realtek/rtlwifi/rtl8192cu +drivers/net/wireless/realtek/rtlwifi/rtl8192de +drivers/net/wireless/realtek/rtlwifi/rtl8192ee +drivers/net/wireless/realtek/rtlwifi/rtl8192se +drivers/net/wireless/realtek/rtlwifi/rtl8723ae +drivers/net/wireless/realtek/rtlwifi/rtl8723be +drivers/net/wireless/realtek/rtlwifi/rtl8821ae +drivers/net/wireless/broadcom/brcm80211 +' + +TMPDIR=$(mktemp -d preserve-XXXX) +PRESERVE=$(grep '^+++' $DATA/silent-accept-firmware.patch | /bin/sed 's/+++ //; s/\t.*//;' | cut -d/ -f2- | sort -u ) +for FILE in $PRESERVE; do + cp $FILE $TMPDIR --parents -a +done +for DIR in $PRESERVEDIRS; do + cp $DIR $TMPDIR --parents -a +done + +sh $DATA/deblob-$HWEKR + +echo "Reverting deblobbing for files patched by silent-accept-firmware" +cp $TMPDIR/* . -av +rm -rf $TMPDIR + +for PATCH in $DATA/*.patch ; do + echo $PATCH + patch --no-backup-if-mismatch -p1 < $PATCH +done + +# Simple test for finding missing cases of silent_accept_firmware method +#for dir in $PRESERVEDIRS; do +# grep -i "load.*firmware.*%" $PRESERVEDIRS -r +# grep -i "load.*ucode.*%" $PRESERVEDIRS -r +#done + +# Re-enable udebs +cp $DATA/5-udebs.mk debian/rules.d +cp -a $DATA/d-i debian.hwe-$HWEKR + +cat << EOF >> debian/control +Package: linux-hwe-$HWEKR-udebs-generic +Build-Profiles: +XC-Package-Type: udeb +Section: debian-installer +Architecture: amd64 armhf arm64 ppc64el s390x +Depends: \${udeb:Depends} +Description: Metapackage depending on kernel udebs + This package depends on the all udebs that the kernel build generated, + for easier version and migration tracking. + +Package: linux-hwe-$HWEKR-udebs-generic-lpae +Build-Profiles: +XC-Package-Type: udeb +Section: debian-installer +Architecture: armhf +Depends: \${udeb:Depends} +Description: Metapackage depending on kernel udebs + This package depends on the all udebs that the kernel build generated, + for easier version and migration tracking. + +Package: linux-hwe-$HWEKR-udebs-lowlatency +Build-Profiles: +XC-Package-Type: udeb +Section: debian-installer +Architecture: amd64 +Depends: \${udeb:Depends} +Description: Metapackage depending on kernel udebs + This package depends on the all udebs that the kernel build generated, + for easier version and migration tracking. +EOF + +cat << EOF >> debian.hwe-$HWEKR/control.d/flavour-control.stub +Package: SRCPKGNAME-udebs-FLAVOUR +Build-Profiles: +XC-Package-Type: udeb +Section: debian-installer +Architecture: ARCH +Depends: \${udeb:Depends} +Description: Metapackage depending on kernel udebs + This package depends on the all udebs that the kernel build generated, + for easier version and migration tracking. +EOF + +sed '/include.*2-binary-arch.mk/a\\n# Rules for building the udebs ($(DEBIAN)-installer)\ninclude $(DROOT)/rules.d/5-udebs.mk' -i debian/rules +sed 's/+= binary-debs/+= binary-udebs/' -i debian/rules.d/2-binary-arch.mk +for i in dctrl-tools kernel-wedge +do + sed "/Build-Depends:/a\ $i <\!stage1> <\!noudeb> <\!cross> <\!autopkgtest>," -i debian/control \ + debian.hwe-$HWEKR/control.stub.in +done + +# Wipe dkms-versions +# lists zfs / v4l2loopback versions +echo > debian/dkms-versions + +# Remove ZFS +rm zfs spl debian/scripts/misc/update-zfs.sh -rf +/bin/sed 's/spl-dkms, zfs-dkms//' -i debian/control \ + debian.master/control.d/vars.generic \ + debian.master/control.d/vars.* + +/bin/sed -i '/ifeq ($(do_zfs),false)/,/endif$/d' debian/rules +/bin/sed -i '/zfs/d' debian.master/abi/*/*.modules \ + debian/rules.d/2-binary-arch.mk \ + debian.master/rules.d/* \ + debian/rules +# debian.master/d-i/modules/fs-core-modules \ +# debian.master/control.d/generic.inclusion-list \ +# debian.master/control.d/vars.* + +# Remove VBox +#sed -i '/vbox/s|true|false|' debian.master/rules.d/amd64.mk + +# Remove v4l2loopback +/bin/sed -i '/ifeq ($(do_v4l2loopback),false)/,/endif$/d' debian/rules +/bin/sed -i '/v4l2loopback/d' debian/rules.d/2-binary-arch.mk \ + debian/rules +/bin/sed -i '/do_v4l2loopback/d' debian.master/rules.d/* + +# Remove nvidia +rm -rf debian/scripts/dkms-build--nvidia-N +grep -l dkms-build--nvidia-N debian.*/reconstruct|xargs -r sed -i '/dkms-build--nvidia-N/d' + +#/bin/sed '/do_dkms_nvidia = true/d' -i debian.master/abi/*/*/*.modules \ +# debian/rules \ +# debian.master/control.d/vars.* + +# Remove wireguard +/bin/sed '/ifeq ($(do_dkms_wireguard),false)/,/endif$/d' -i debian/rules +#sed '/do_dkms_wireguard/d' -i debian/rules.d/2-binary-arch.mk +#/bin/sed '/do_dkms_wireguard/d' -i debian.master/rules.d/* + +# Compile with less modules and avoid abi check +echo 'skipmodule = true' >> debian.master/rules.d/0-common-vars.mk +echo 'skipabi = true' >> debian.master/rules.d/0-common-vars.mk +echo 'skipmodule = true' >> debian/rules.d/0-common-vars.mk +echo 'skipabi = true' >> debian/rules.d/0-common-vars.mk + +# Skip the retpoline check as there is no last release to chaeck against +echo 'skipretpoline = true' >> debian.master/rules.d/0-common-vars.mk +echo 'skipretpoline = true' >> debian/rules.d/0-common-vars.mk + +# Do not label packages as unsigned +sed '/bin_pkg_name_unsigned/s/linux-image-unsigned/linux-image/' -i debian/rules.d/0-common-vars.mk +sed 's/.unsigned//' -i debian/scripts/control-create + +line=$(grep -n ')-Ubuntu' debian/rules.d/0-common-vars.mk|cut -d: -f1) +sed $(expr $line - 1 ),$(expr $line + 1 )d debian/rules.d/0-common-vars.mk -i +#sed s/family=ubuntu/family=trisquel/ -i debian/rules.d/0-common-vars.mk +cat << EOF > debian.master/etc/kernelconfig +archs="amd64 i386 armhf arm64 ppc64el" +family='trisquel' +EOF + +rename s/ubuntu/trisquel/ debian.*/config/config.common.ubuntu +grep -lr config.common.ubuntu debian*/ | xargs -r sed -i 's|config.common.ubuntu|config.common.trisquel|g' + +find debian* -type f -name *control* -exec sed 's/ with Ubuntu patches//; s/Linux/Linux-libre/g' -i {} \; + +# Descriptions should not change based on the build arch +sed 's/on DESC//; s/PKGVER on/PKGVER/; /^ DESC.$/d;' debian*/control.d/flavour-control.stub -i + +sed '/^firmware/d' ./debian*/abi/fwinfo -i +#echo > ./debian.master/d-i/firmware/nic-modules +#echo > ./debian.master/d-i/firmware/scsi-modules + +# Disable using udev as a fallback for firmware loading +replace "CONFIG_FW_LOADER_USER_HELPER=y" "CONFIG_FW_LOADER_USER_HELPER=n" debian.master/config + +# Fix ports build +sed -i "/CONFIG_FW_LOADER_USER_HELPER/s|'armhf': 'y',|'armhf': 'n',|g" debian.master/config/annotations +sed -i "/CONFIG_FW_LOADER_USER_HELPER/s|'arm64': 'y',|'arm64': 'n',|g" debian.master/config/annotations +sed -i "/CONFIG_FW_LOADER_USER_HELPER/s|'ppc64el': 'y',|'ppc64el': 'n',|g" debian.master/config/annotations +sed -i "/CONFIG_FW_LOADER_USER_HELPER_FALLBACK/s|'armhf': 'n',|'armhf': '-',|g" debian.master/config/annotations +sed -i "/CONFIG_FW_LOADER_USER_HELPER_FALLBACK/s|'arm64': 'n',|'arm64': '-',|g" debian.master/config/annotations +sed -i "/CONFIG_FW_LOADER_USER_HELPER_FALLBACK/s|'ppc64el': 'n',|'ppc64el': '-',|g" debian.master/config/annotations + +# Disable aaeon. +sed -i "/AAEON/d" debian.master/config/annotations + +# Aramo using gcc-11 requires to disbale the following anottations, +# see more at: debian.hwe-5.19/scripts/helpers/local-mangle +sed -i '/CONFIG_INIT_STACK_ALL_ZERO/s|y|-|g' debian.master/config/annotations +sed -i '/CONFIG_SHADOW_CALL_STACK/s|y|-|g' debian.master/config/annotations + +cp debian.master/config debian.hwe-$HWEKR -a + +# HWE specific changes, check against the current one. +sed -i "/CONFIG_ZERO_CALL_USED_REGS/s|y|-|g" debian.master/config/annotations +sed -i "/CONFIG_SLS/s|y|-|g" debian.master/config/annotations + +changelog "Removed non-free bits" + +cp debian/changelog debian.master/changelog +cp debian/changelog debian.hwe-$HWEKR/changelog + +package diff --git a/helpers/make-linux-hwe-6.2 b/helpers/make-linux-hwe-6.2 new file mode 100644 index 0000000..dad5fb5 --- /dev/null +++ b/helpers/make-linux-hwe-6.2 @@ -0,0 +1,236 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzman +# Copyright (C) 2008-2023 Ruben Rodriguez +# Copyright (C) 2019 David Trudgian +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=26 +HWEKR=6.2 + +. ./config + +PRESERVEDIRS=' +drivers/bluetooth +drivers/gpu/drm/i915 +drivers/gpu/drm/amd/amdgpu +drivers/gpu/drm/amd/pm/powerplay +drivers/gpu/drm/r128 +drivers/gpu/drm/radeon +drivers/net/wireless/intel/ipw2x00 +drivers/net/wireless/intel/iwlegacy +drivers/net/wireless/intel/iwlwifi +drivers/net/wireless/realtek/rtl8xxxu +drivers/net/wireless/realtek/rtlwifi +drivers/net/wireless/realtek/rtlwifi/rtl8188ee +drivers/net/wireless/realtek/rtlwifi/rtl8192ce +drivers/net/wireless/realtek/rtlwifi/rtl8192cu +drivers/net/wireless/realtek/rtlwifi/rtl8192de +drivers/net/wireless/realtek/rtlwifi/rtl8192ee +drivers/net/wireless/realtek/rtlwifi/rtl8192se +drivers/net/wireless/realtek/rtlwifi/rtl8723ae +drivers/net/wireless/realtek/rtlwifi/rtl8723be +drivers/net/wireless/realtek/rtlwifi/rtl8821ae +drivers/net/wireless/broadcom/brcm80211 +' + +TMPDIR=$(mktemp -d preserve-XXXX) +PRESERVE=$(grep '^+++' $DATA/silent-accept-firmware.patch | /bin/sed 's/+++ //; s/\t.*//;' | cut -d/ -f2- | sort -u ) +for FILE in $PRESERVE; do + cp $FILE $TMPDIR --parents -a +done +for DIR in $PRESERVEDIRS; do + cp $DIR $TMPDIR --parents -a +done + +sh $DATA/deblob-$HWEKR + +echo "Reverting deblobbing for files patched by silent-accept-firmware" +cp $TMPDIR/* . -av +rm -rf $TMPDIR + +for PATCH in $DATA/*.patch ; do + echo $PATCH + patch --no-backup-if-mismatch -p1 < $PATCH +done + +## Simple test for finding missing cases of silent_accept_firmware method +#for dir in $PRESERVEDIRS; do +# grep -i "load.*firmware.*%" $PRESERVEDIRS -r +# grep -i "load.*ucode.*%" $PRESERVEDIRS -r +#done + +# Re-enable udebs +cp $DATA/5-udebs.mk debian/rules.d +cp -a $DATA/d-i debian.hwe-$HWEKR + +cat << EOF >> debian/control +Package: linux-hwe-$HWEKR-udebs-generic +Build-Profiles: +XC-Package-Type: udeb +Section: debian-installer +Architecture: amd64 armhf arm64 ppc64el s390x +Depends: \${udeb:Depends} +Description: Metapackage depending on kernel udebs + This package depends on the all udebs that the kernel build generated, + for easier version and migration tracking. + +Package: linux-hwe-$HWEKR-udebs-generic-lpae +Build-Profiles: +XC-Package-Type: udeb +Section: debian-installer +Architecture: armhf +Depends: \${udeb:Depends} +Description: Metapackage depending on kernel udebs + This package depends on the all udebs that the kernel build generated, + for easier version and migration tracking. + +Package: linux-hwe-$HWEKR-udebs-lowlatency +Build-Profiles: +XC-Package-Type: udeb +Section: debian-installer +Architecture: amd64 +Depends: \${udeb:Depends} +Description: Metapackage depending on kernel udebs + This package depends on the all udebs that the kernel build generated, + for easier version and migration tracking. +EOF + +cat << EOF >> debian.hwe-$HWEKR/control.d/flavour-control.stub +Package: SRCPKGNAME-udebs-FLAVOUR +Build-Profiles: +XC-Package-Type: udeb +Section: debian-installer +Architecture: ARCH +Depends: \${udeb:Depends} +Description: Metapackage depending on kernel udebs + This package depends on the all udebs that the kernel build generated, + for easier version and migration tracking. +EOF + +sed '/include.*2-binary-arch.mk/a\\n# Rules for building the udebs ($(DEBIAN)-installer)\ninclude $(DROOT)/rules.d/5-udebs.mk' -i debian/rules +sed 's/+= binary-debs/+= binary-udebs/' -i debian/rules.d/2-binary-arch.mk +for i in dctrl-tools kernel-wedge +do + sed "/Build-Depends:/a\ $i <\!stage1> <\!noudeb> <\!cross> <\!autopkgtest>," -i debian/control \ + debian.hwe-$HWEKR/control.stub.in +done + +# Wipe dkms-versions +# lists zfs / v4l2loopback versions +echo > debian/dkms-versions + +# Remove ZFS - adjusting to each release +rm debian/scripts/dkms-build-configure--zfs + +grep -lr zfs debian.{master,hwe-$HWEKR}/reconstruct \ + debian.{master,hwe-$HWEKR}/abi/*/*.modules \ + debian/rules.d/2-binary-arch.mk \ + debian.{master,hwe-$HWEKR}/rules.d/ \ + debian/rules \ + debian.hwe-$HWEKR/d-i/modules/fs-core-modules \ + debian.{master,hwe-$HWEKR}/control.d/ | xargs -r sed -i '/zfs/d' + +#/bin/sed 's/spl-dkms, zfs-dkms//' -i debian/control \ +# debian.master/control.d/vars.generic \ +# debian.master/control.d/vars.* + +#/bin/sed -i '/ifeq ($(do_zfs),false)/,/endif$/d' debian/rules + +# Remove VBox +#sed -i '/vbox/s|true|false|' debian.master/rules.d/amd64.mk + +# Remove v4l2loopback +grep -lr v4l2loopback debian.{master,hwe-$HWEKR}/reconstruct \ + debian.{master,hwe-$HWEKR}/abi/*/*.modules \ + debian/rules.d/2-binary-arch.mk \ + debian.{master,hwe-$HWEKR}/rules.d/ \ + debian/rules \ + debian.hwe-$HWEKR/d-i/modules/fs-core-modules \ + debian.{master,hwe-$HWEKR}/control.d/ | xargs -r sed -i '/v4l2loopback/d' + +#/bin/sed -i '/ifeq ($(do_v4l2loopback),false)/,/endif$/d' debian/rules +#/bin/sed -i '/do_v4l2loopback/d' debian.master/rules.d/* + +# Remove nvidia driver +rm -rf debian/scripts/dkms-build--nvidia-N +grep -l dkms-build--nvidia-N debian.{master,hwe-$HWEKR}/reconstruct|xargs -r sed -i '/dkms-build--nvidia-N/d' + +# Remove wireguard +grep -lr wireguard debian.{master,hwe-$HWEKR}/reconstruct \ + debian.{master,hwe-$HWEKR}/abi/*/*.modules \ + debian/rules.d/2-binary-arch.mk \ + debian.{master,hwe-$HWEKR}/rules.d/ \ + debian/rules \ + debian.hwe-$HWEKR/d-i/modules/fs-core-modules \ + debian.{master,hwe-$HWEKR}/control.d/ | xargs -r sed -i '/wireguard/d' + +#/bin/sed '/ifeq ($(do_dkms_wireguard),false)/,/endif$/d' -i debian/rules +#sed '/do_dkms_wireguard/d' -i debian/rules.d/2-binary-arch.mk +#/bin/sed '/do_dkms_wireguard/d' -i debian.master/rules.d/* + +# Compile with less modules and avoid abi check +echo -e 'skipmodule = true\nskipabi = true' | tee -a debian.{master,hwe-$HWEKR}/rules.d/0-common-vars.mk \ + debian/rules.d/0-common-vars.mk + +# Skip the retpoline check as there is no last release to check against +echo 'skipretpoline = true' | tee -a debian.master/rules.d/0-common-vars.mk \ + debian/rules.d/0-common-vars.mk + +# Do not label packages as unsigned +sed '/bin_pkg_name_unsigned/s/linux-image-unsigned/linux-image/' -i debian/rules.d/0-common-vars.mk +sed 's/.unsigned//' -i debian/scripts/control-create + +line=$(grep -n ')-Ubuntu' debian/rules.d/0-common-vars.mk|cut -d: -f1) +sed $(expr $line - 1 ),$(expr $line + 1 )d debian/rules.d/0-common-vars.mk -i +#sed s/family=ubuntu/family=trisquel/ -i debian/rules.d/0-common-vars.mk +cat << EOF > debian.master/etc/kernelconfig +archs="i386 amd64 armhf arm64 ppc64el" +family='trisquel' +EOF + +rename s/ubuntu/trisquel/ debian.*/config/config.common.ubuntu +grep -lr config.common.ubuntu debian*/ | xargs -r sed -i 's|config.common.ubuntu|config.common.trisquel|g' + +find debian* -type f -name *control* -exec sed 's/ with Ubuntu patches//; s/Linux/Linux-libre/g' -i {} \; + +# Descriptions should not change based on the build arch +sed 's/on DESC//; s/PKGVER on/PKGVER/; /^ DESC.$/d;' debian*/control.d/flavour-control.stub -i + +sed '/^firmware/d' ./debian*/abi/fwinfo -i +#echo > ./debian.master/d-i/firmware/nic-modules +#echo > ./debian.master/d-i/firmware/scsi-modules + +# Disable using udev as a fallback for firmware loading +replace "CONFIG_FW_LOADER_USER_HELPER=y" "CONFIG_FW_LOADER_USER_HELPER=n" debian.master/config + +# Disable aaeon & ubuntu odm drivers. +sed -i "/AAEON/d" debian.master/config/annotations +sed -i "/CONFIG_UBUNTU_ODM_DRIVERS/d" debian.master/config/annotations + +# Remove disabled modules from generic list (starting at 6.2) +for module in gpio-aaeon hwmon-aaeon icp leds-aaeon mfd-aaeon spl zavl zcommon zlua znvpair zunicode zzstd +do + grep -rl "^$module$" debian.hwe-$HWEKR/abi/*/ | xargs -r sed -i "/^$module$/d" +done + +changelog "Removed non-free bits" + +cp debian/changelog debian.master/changelog +cp debian/changelog debian.hwe-$HWEKR/changelog + +package diff --git a/helpers/make-linux-hwe-6.14 b/helpers/make-linux-hwe-6.5 similarity index 72% rename from helpers/make-linux-hwe-6.14 rename to helpers/make-linux-hwe-6.5 index c41210e..861f63b 100644 --- a/helpers/make-linux-hwe-6.14 +++ b/helpers/make-linux-hwe-6.5 @@ -19,15 +19,14 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=37 -HWEKR=6.14 -DI_ENABLED=0 -HWE_ENABLED=1 -SEARCH_MISSING_CASES=0 +VERSION=30 +HWEKR=6.5 + +# DI_ENABLED = 1 enables udeb build, 0 or any other value disables them. +DI_ENABLED=1 +# HWE_ENABLED = 1 enables HWE stack build, 0 or any other value disables it. +HWE_ENABLED=1 -# DI_ENABLED = 1, enables udeb build, 0 or any other value disables them. -# HWE_ENABLED = 1, enables HWE stack build, 0 or any other value disables it. -# SEARCH_MISSING_CASES = 1, enabled the function that shows possible firmware silent cases. [ $HWE_ENABLED != 1 ] && \ DEBIAN_PATH=debian.master && \ CONTROL_PACKAGE=linux @@ -59,12 +58,13 @@ drivers/net/wireless/realtek/rtlwifi/rtl8723be drivers/net/wireless/realtek/rtlwifi/rtl8821ae drivers/net/wireless/broadcom/brcm80211 ' -# HWEKR - 6.8 +# HWEKR - 5.15 [ $HWE_ENABLED != 1 ] && \ -PRESERVEDIRS="$PRESERVEDIRS" +PRESERVEDIRS="$PRESERVEDIRS +drivers/gpu/drm/r128" TMPDIR=$(mktemp -d preserve-XXXX) -PRESERVE=$(grep '^+++' $DATA/000-silent-accept-firmware.patch | /bin/sed 's/+++ //; s/\t.*//;' | cut -d/ -f2- | sort -u ) +PRESERVE=$(grep '^+++' $DATA/silent-accept-firmware.patch | /bin/sed 's/+++ //; s/\t.*//;' | cut -d/ -f2- | sort -u ) for FILE in $PRESERVE; do cp $FILE $TMPDIR --parents -a done @@ -74,7 +74,7 @@ done sh $DATA/deblob-$HWEKR -echo "Reverting deblobbing for files patched by 000-silent-accept-firmware" +echo "Reverting deblobbing for files patched by silent-accept-firmware" cp $TMPDIR/* . -av rm -rf $TMPDIR @@ -83,13 +83,13 @@ for PATCH in $DATA/*.patch ; do done ## Simple test for finding missing cases of silent_accept_firmware method -search_for_missing_cases_silent_patch() { +test_missing_cases_silent_patch() { for dir in $PRESERVEDIRS; do grep -i "load.*firmware.*%" $PRESERVEDIRS -r|grep -vi info grep -i "load.*ucode.*%" $PRESERVEDIRS -r|grep -vi info done } -[ "$SEARCH_MISSING_CASES" = 1 ] && search_for_missing_cases_silent_patch +#test_missing_cases_silent_patch # Re-enable udebs enable_udebs() { @@ -146,7 +146,7 @@ Description: Metapackage depending on kernel udebs for easier version and migration tracking. EOF -sed '/include.*2-binary-arch.mk/a\\n# Rules for building the udebs ($(DEBIAN)-installer)\ninclude debian/rules.d/5-udebs.mk' -i debian/rules +sed '/include.*2-binary-arch.mk/a\\n# Rules for building the udebs ($(DEBIAN)-installer)\ninclude $(DROOT)/rules.d/5-udebs.mk' -i debian/rules sed 's/+= binary-debs/+= binary-udebs/' -i debian/rules.d/2-binary-arch.mk for i in dctrl-tools kernel-wedge @@ -254,6 +254,10 @@ for i in $(grep -rl family=ubuntu debian/rules.d/) do sed -i s/family=ubuntu/family=trisquel/ $i done +cat << EOF > $DEBIAN_PATH/etc/kernelconfig +archs="i386 amd64 armhf arm64 ppc64el" +family='trisquel' +EOF rename s/ubuntu/trisquel/ debian.*/config/config.common.ubuntu for i in $(grep -lr config.common.ubuntu debian*/) @@ -264,67 +268,51 @@ done find debian* -type f -name *control* -exec sed 's/ with Ubuntu patches//; s/Linux/Linux-libre/g' -i {} \; # Descriptions should not change based on the build arch -#6.14#sed 's/on DESC//; s/PKGVER on/PKGVER/; /^ DESC.$/d;' debian*/control.d/flavour-control.stub -i +sed 's/on DESC//; s/PKGVER on/PKGVER/; /^ DESC.$/d;' debian*/control.d/flavour-control.stub -i #sed '/^firmware/d' ./debian*/abi/fwinfo -i #echo > ./debian.master/d-i/firmware/nic-modules #echo > ./debian.master/d-i/firmware/scsi-modules # Disable using udev as a fallback for firmware loading -# Read more at: Documentation/driver-api/firmware/fallback-mechanisms.rst -#replace "CONFIG_FW_LOADER_USER_HELPER=y" "CONFIG_FW_LOADER_USER_HELPER=n" $DEBIAN_PATH/config +replace "CONFIG_FW_LOADER_USER_HELPER=y" "CONFIG_FW_LOADER_USER_HELPER=n" $DEBIAN_PATH/config # Disable aaeon & ubuntu odm drivers, remove on both paths to match annotations. -for i in CONFIG_GPIO_AAEON CONFIG_LEDS_AAEON CONFIG_MFD_AAEON CONFIG_SENSORS_AAEON +for i in AAEON CONFIG_UBUNTU_ODM_DRIVERS do - echo "> Modifying $i annotations value:" - python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch amd64 --flavour generic --config $i --write - + grep -rl "$i" debian.*/config/annotations | \ + xargs -r sed -i "/$i/d" done -for i in amd64 arm64 armhf ppc64el riscv64 s390x -do - echo "> Modifying CONFIG_UBUNTU_ODM_DRIVERS for arch $i:" - python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch $i --flavour generic --config CONFIG_UBUNTU_ODM_DRIVERS --write n -done -python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch arm64 --flavour generic-64k --config CONFIG_UBUNTU_ODM_DRIVERS --write n -python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch amd64 --flavour generic --config CONFIG_RUST --write - - -## Disable ppc64el Werroron amdgpu -python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch ppc64el --flavour generic --config CONFIG_DRM_AMDGPU_WERROR --write n - -## Remove disabled modules from generic list (starting at 6.2) -for module in gpio-aaeon hwmon-aaeon leds-aaeon mfd-aaeon spl -do - for i in $(grep -rl "^$module$" $DEBIAN_PATH/abi/*/) - do - sed -i "/^$module$/d" $i - done -done # Custom changes for linux and linux-hwe. if [ $HWE_ENABLED != 1 ]; then -## HWEKR - 6.8 - for i in CONFIG_AX88796B_RUST_PHY CONFIG_CONSTRUCTORS CONFIG_RUST_BUILD_ASSERT_ALLOW \ - CONFIG_RUST_DEBUG_ASSERTIONS CONFIG_RUST_OVERFLOW_CHECKS CONFIG_RUST_PHYLIB_ABSTRACTIONS \ - CONFIG_SAMPLES_RUST - do - echo "> Modifying $i annotations value:" - python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch amd64 --flavour generic --config $i --write - - done +## HWEKR - 5.15 + ## Removal wireguard 5.15 specific. + sed '/ifeq ($(do_dkms_wireguard),false)/,/endif$/d' -i debian/rules + ## Fix ports build + sed -i "/CONFIG_FW_LOADER_USER_HELPER/s|'armhf': 'y',|'armhf': 'n',|g" debian.master/config/annotations + sed -i "/CONFIG_FW_LOADER_USER_HELPER/s|'arm64': 'y',|'arm64': 'n',|g" debian.master/config/annotations + sed -i "/CONFIG_FW_LOADER_USER_HELPER/s|'ppc64el': 'y',|'ppc64el': 'n',|g" debian.master/config/annotations + sed -i "/CONFIG_FW_LOADER_USER_HELPER_FALLBACK/s|'armhf': 'n',|'armhf': '-',|g" debian.master/config/annotations + sed -i "/CONFIG_FW_LOADER_USER_HELPER_FALLBACK/s|'arm64': 'n',|'arm64': '-',|g" debian.master/config/annotations + sed -i "/CONFIG_FW_LOADER_USER_HELPER_FALLBACK/s|'ppc64el': 'n',|'ppc64el': '-',|g" debian.master/config/annotations + ## Tweak 5.15.0-94.104 + sed -i "/CONFIG_GPIO_M058SSAN/s|'amd64': 'm'|'amd64': '-'|" debian.master/config/annotations + sed -i "/CONFIG_RTC_DRV_PCF85263/s|'amd64': 'm'|'amd64': '-'|" debian.master/config/annotations else - echo "# HWEKR - 6.14" - for i in CONFIG_AX88796B_RUST_PHY CONFIG_CONSTRUCTORS CONFIG_RUST_BUILD_ASSERT_ALLOW \ - CONFIG_RUST_DEBUG_ASSERTIONS CONFIG_RUST_OVERFLOW_CHECKS CONFIG_RUST_PHYLIB_ABSTRACTIONS \ - CONFIG_SAMPLES_RUST CONFIG_BLK_DEV_RUST_NULL CONFIG_RUST_FW_LOADER_ABSTRACTIONS +# HWEKR - 6.5+ + ## Disable ppc64el Werroron amdgpu + for i in $(grep -rl CONFIG_DRM_AMDGPU_WERROR debian.*/config/annotations) do - echo "> Modifying $i annotations value:" - python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch amd64 --flavour generic --config $i --write - + sed -i "/CONFIG_DRM_AMDGPU_WERROR/s|'ppc64el': 'y'|'ppc64el': 'n'|" $i + done + ## Remove disabled modules from generic list (starting at 6.2) + for module in gpio-aaeon hwmon-aaeon leds-aaeon mfd-aaeon spl + do + for i in $(grep -rl "^$module$" $DEBIAN_PATH/abi/*/) + do + sed -i "/^$module$/d" $i + done done fi diff --git a/helpers/make-linux-hwe-6.11 b/helpers/make-linux-hwe-6.8 similarity index 93% rename from helpers/make-linux-hwe-6.11 rename to helpers/make-linux-hwe-6.8 index 3929f5f..c6d62a0 100644 --- a/helpers/make-linux-hwe-6.11 +++ b/helpers/make-linux-hwe-6.8 @@ -19,11 +19,10 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=36 -HWEKR=6.11 +VERSION=34 +HWEKR=6.8 DI_ENABLED=1 HWE_ENABLED=1 -SEARCH_MISSING_CASES=0 # DI_ENABLED = 1 enables udeb build, 0 or any other value disables them. # HWE_ENABLED = 1 enables HWE stack build, 0 or any other value disables it. @@ -88,7 +87,7 @@ search_for_missing_cases_silent_patch() { grep -i "load.*ucode.*%" $PRESERVEDIRS -r|grep -vi info done } -[ "$SEARCH_MISSING_CASES" = 1 ] && search_for_missing_cases_silent_patch +#search_for_missing_cases_silent_patch # Re-enable udebs enable_udebs() { @@ -253,6 +252,10 @@ for i in $(grep -rl family=ubuntu debian/rules.d/) do sed -i s/family=ubuntu/family=trisquel/ $i done +#cat << EOF > $DEBIAN_PATH/etc/kernelconfig +#archs="i386 amd64 armhf arm64 ppc64el" +#family='trisquel' +#EOF rename s/ubuntu/trisquel/ debian.*/config/config.common.ubuntu for i in $(grep -lr config.common.ubuntu debian*/) @@ -289,9 +292,6 @@ done python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ --arch arm64 --flavour generic-64k --config CONFIG_UBUNTU_ODM_DRIVERS --write n -python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch amd64 --flavour generic --config CONFIG_RUST --write n - ## Disable ppc64el Werroron amdgpu python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ --arch ppc64el --flavour generic --config CONFIG_DRM_AMDGPU_WERROR --write n @@ -315,16 +315,10 @@ if [ $HWE_ENABLED != 1 ]; then python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ --arch amd64 --flavour generic --config $i --write - done + python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ + --arch amd64 --flavour generic --config CONFIG_RUST --write n else - echo "# HWEKR - 6.11" - for i in CONFIG_AX88796B_RUST_PHY CONFIG_CONSTRUCTORS CONFIG_RUST_BUILD_ASSERT_ALLOW \ - CONFIG_RUST_DEBUG_ASSERTIONS CONFIG_RUST_OVERFLOW_CHECKS CONFIG_RUST_PHYLIB_ABSTRACTIONS \ - CONFIG_SAMPLES_RUST CONFIG_BLK_DEV_RUST_NULL CONFIG_RUST_FW_LOADER_ABSTRACTIONS - do - echo "> Modifying $i annotations value:" - python3 debian/scripts/misc/annotations -f $DEBIAN_PATH/config/annotations \ - --arch amd64 --flavour generic --config $i --write - - done + echo "# HWEKR - 6.X+" fi grep -rl '^Vcs-Git:' | \ diff --git a/helpers/make-acl b/helpers/make-linux-meta-hwe-5.19 similarity index 54% rename from helpers/make-acl rename to helpers/make-linux-meta-hwe-5.19 index 4114991..aeb42f2 100644 --- a/helpers/make-acl +++ b/helpers/make-linux-meta-hwe-5.19 @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2017-2018 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,18 +17,19 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -## -# This helper is part of a series of packages that are now droppped on upstream -# Ubuntu, therefore in order to build a working debian-installer we now fetch -# such packages from Debian in order to build the required udeb packages. -## - -#STAGE-4-UDEBS - -VERSION=0 -NETINST=true +VERSION=6 . ./config +sed 's/22.04/11.0/g' -i debian/control \ + debian/variants +#sed 's/20.04/10.0/g' -i debian/control +#sed 's/Xenial/Flidas/; s/Bionic/Etiona/' -i debian/control +sed 's/linux-firmware/firmware-linux-free/' -i debian/control ./debian/control.d/generic* +#sed 's/Ubuntu/upstream/' -i debian/control +sed 's/Linux/Linux-libre/g' -i debian/control ./debian/control.d/generic* +sed 's/, intel-microcode \[amd64\]//; s/, amd64-microcode \[amd64\]//;' -i debian/control debian/control.d/generic + + +changelog "Removed linux-firmware dependency, renamed release for Trisquel" -changelog "Fetch and build as udeb dependency for debian-installer." package diff --git a/helpers/make-linux-meta-hwe-6.14 b/helpers/make-linux-meta-hwe-6.2 similarity index 88% rename from helpers/make-linux-meta-hwe-6.14 rename to helpers/make-linux-meta-hwe-6.2 index 193e9c1..7e79f69 100644 --- a/helpers/make-linux-meta-hwe-6.14 +++ b/helpers/make-linux-meta-hwe-6.2 @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán # Copyright (C) 2017-2018 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify @@ -21,9 +20,12 @@ VERSION=7 . ./config -sed "s/$UPSTREAMRELEASE/$REVISION/g" -i debian/control \ +sed 's/22.04/11.0/g' -i debian/control \ debian/variants +#sed 's/20.04/10.0/g' -i debian/control +#sed 's/Xenial/Flidas/; s/Bionic/Etiona/' -i debian/control sed 's/linux-firmware/firmware-linux-free/' -i debian/control ./debian/control.d/generic* +#sed 's/Ubuntu/upstream/' -i debian/control sed 's/Linux/Linux-libre/g' -i debian/control ./debian/control.d/generic* sed 's/, intel-microcode \[amd64\]//; s/, amd64-microcode \[amd64\]//;' -i debian/control debian/control.d/generic diff --git a/helpers/make-linux-meta-hwe-6.5 b/helpers/make-linux-meta-hwe-6.5 new file mode 100644 index 0000000..7e79f69 --- /dev/null +++ b/helpers/make-linux-meta-hwe-6.5 @@ -0,0 +1,39 @@ +#!/bin/sh +# +# Copyright (C) 2017-2018 Ruben Rodriguez +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=7 +. ./config + +sed 's/22.04/11.0/g' -i debian/control \ + debian/variants +#sed 's/20.04/10.0/g' -i debian/control +#sed 's/Xenial/Flidas/; s/Bionic/Etiona/' -i debian/control +sed 's/linux-firmware/firmware-linux-free/' -i debian/control ./debian/control.d/generic* +#sed 's/Ubuntu/upstream/' -i debian/control +sed 's/Linux/Linux-libre/g' -i debian/control ./debian/control.d/generic* +sed 's/, intel-microcode \[amd64\]//; s/, amd64-microcode \[amd64\]//;' -i debian/control debian/control.d/generic + +# Remove wireguard dependencies. +sed -i '/gencontrol_flags += -Vdkms:wireguard-linux-compat-modules/d' debian/rules +grep -rl dkms:wireguard-linux-compat-modules | xargs -r sed -i '/^Provides: ${dkms:wireguard-linux-compat-modules}$/d' + + +changelog "Removed linux-firmware dependency, renamed release for Trisquel" + +package diff --git a/helpers/make-linux-meta-hwe-6.11 b/helpers/make-linux-meta-hwe-6.8 similarity index 92% rename from helpers/make-linux-meta-hwe-6.11 rename to helpers/make-linux-meta-hwe-6.8 index 193e9c1..1b80316 100644 --- a/helpers/make-linux-meta-hwe-6.11 +++ b/helpers/make-linux-meta-hwe-6.8 @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2024 Luis Guzmán # Copyright (C) 2017-2018 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify @@ -21,7 +21,7 @@ VERSION=7 . ./config -sed "s/$UPSTREAMRELEASE/$REVISION/g" -i debian/control \ +sed 's/22.04/11.0/g' -i debian/control \ debian/variants sed 's/linux-firmware/firmware-linux-free/' -i debian/control ./debian/control.d/generic* sed 's/Linux/Linux-libre/g' -i debian/control ./debian/control.d/generic* diff --git a/helpers/make-llvm-toolchain-18 b/helpers/make-llvm-toolchain-18 new file mode 100644 index 0000000..3c340bc --- /dev/null +++ b/helpers/make-llvm-toolchain-18 @@ -0,0 +1,32 @@ +#!/bin/sh +# +# Copyright (C) 2024 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +EXTERNAL='deb-src https://ppa.launchpadcontent.net/mozillateam/build-support/ubuntu $UPSTREAM main' +REPOKEY=AEBDF4819BE21867 +BACKPORTS=true + +. ./config + +# Set distro as part of matching upstream one. +sed -i "s|$UPSTREAM|$UPSTREAM $CODENAME|" debian/rules + +changelog "Import as dependency of newer abrowser/icedove deb dependencies." + +package diff --git a/helpers/make-llvm-toolchain-19 b/helpers/make-llvm-toolchain-19 index 81c50f7..c097abd 100644 --- a/helpers/make-llvm-toolchain-19 +++ b/helpers/make-llvm-toolchain-19 @@ -18,7 +18,7 @@ # VERSION=1 -EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu $UPSTREAM universe' +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble universe' BACKPORTS=true . ./config diff --git a/helpers/make-localechooser b/helpers/make-localechooser index d21d6aa..0970faf 100644 --- a/helpers/make-localechooser +++ b/helpers/make-localechooser @@ -18,8 +18,8 @@ # VERSION=2 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-lowmem b/helpers/make-lowmem index 684cc30..9534c9f 100644 --- a/helpers/make-lowmem +++ b/helpers/make-lowmem @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-ltsp b/helpers/make-ltsp new file mode 100644 index 0000000..52678c2 --- /dev/null +++ b/helpers/make-ltsp @@ -0,0 +1,43 @@ +#!/bin/sh +# +# Copyright (C) 2011 Rubén Rodríguez +# Copyright (C) 2017 Pablo Correa +# Copyright (C) 2019 Mason Hock +# Copyright (C) 2021 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +EXTERNAL='deb-src http://ppa.launchpad.net/ltsp/ppa/ubuntu $UPSTREAM main' +REPOKEY=B64988E8F9B7EF68 + +. ./config + +sed -i '/ubuntu-advantage-tools/d' ltsp/client/init/55-cron.sh + +replace ubuntu-mate trisquel . +replace ubuntu. trisquel. . +replace Xubuntu Trisquel\ Mini . +replace xubuntu-18.04-desktop-amd64.iso trisquel-mini_9.0_amd64.iso . +replace xubuntu-18.04 trisquel-mini-9.0 . +replace ubuntu-mate-18.04.1-desktop-i386.iso trisquel_9.0_i686.iso . + +replace edubuntu trisquel . +replace Edubuntu Trisquel . + +changelog "Backported from oficial PPA and some rebranding." + +package diff --git a/helpers/make-lvm2 b/helpers/make-lvm2 index fa99d0d..088a3a4 100644 --- a/helpers/make-lvm2 +++ b/helpers/make-lvm2 @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2024 Luis Guzmán +# Copyright (C) 2022 Luis Guzmán # Copyright (C) 2022 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify @@ -29,6 +29,12 @@ NETINST=true . ./config +#Enable udeb path by default +patch --no-backup-if-mismatch -p1 < $DATA/enable_udeb_build.patch + +#Fix udeb path usr/lib... instead of lib/... +patch --no-backup-if-mismatch -p1 < $DATA/fix_path_on_udeb_files.patch + # dmsetup is needed for lvm work, the installer hangs without it sed '/Package: lvm2-udeb/,/^$/s/^Depends:/Depends: dmsetup-udeb,/' -i debian/control diff --git a/helpers/make-lxde-metapackages b/helpers/make-lxde-metapackages deleted file mode 100644 index 1eed2a7..0000000 --- a/helpers/make-lxde-metapackages +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2025 Luis Guzmán -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# - -VERSION=1 - -. ./config - -apply_patch_changes - -changelog "Set correct browser dependencies order on Trisquel environment." - -package diff --git a/helpers/make-main-menu b/helpers/make-main-menu index 40267cc..dd0e8e2 100644 --- a/helpers/make-main-menu +++ b/helpers/make-main-menu @@ -18,8 +18,8 @@ # VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-mate-panel b/helpers/make-mate-panel index 4e7388c..d400ee9 100644 --- a/helpers/make-mate-panel +++ b/helpers/make-mate-panel @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2024 Luis Guzmán # Copyright (C) 2016-2020 Ruben Rodriguez # Copyright (C) 2017 Mason Hock # @@ -19,7 +18,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=14 +VERSION=12 . ./config @@ -31,7 +30,7 @@ cat << EOF > data/panel-default-layout.layout [Toplevel top] orientation=bottom expand=true -size=46 +size=44 [Object menu] locked=true @@ -126,11 +125,13 @@ EOF sed -i "//s|true|false|" \ applets/wncklet/org.mate.panel.applet.window-list-previews.gschema.xml.in -# Apply patches changes -apply_patch_changes +# Apply selected upstream fixes from mate-panel - 1.26.3 +for i in $(find $DATA/ -name *.patch|sort) +do + patch --no-backup-if-mismatch -p1 < $i +done -changelog "Fix workspace switcher aspect ratio -Changed default layout" +changelog "Changed default layout" package diff --git a/helpers/make-mate-sensors-applet b/helpers/make-mate-sensors-applet new file mode 100644 index 0000000..1cb6495 --- /dev/null +++ b/helpers/make-mate-sensors-applet @@ -0,0 +1,28 @@ +#!/bin/sh +# +# Copyright (C) 2021 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=2 + +. ./config + +# restore libxnvctrl lib for nvidia hardware detection. + +changelog "Restore nvidia-settings dependency." + +package diff --git a/helpers/make-mate-system-monitor b/helpers/make-mate-system-monitor new file mode 100644 index 0000000..b5fe0d1 --- /dev/null +++ b/helpers/make-mate-system-monitor @@ -0,0 +1,56 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +BUILD_UNTIL=11.0 + +. ./config + +# Fix Information Fields not being saved - https://github.com/mate-desktop/mate-system-monitor/pull/224 +cat << PATCH | patch --no-backup-if-mismatch -p1 +From ddeb66b5af61a5367c8b72a5e5845317e82b62a4 Mon Sep 17 00:00:00 2001 +From: mbkma +Date: Wed, 8 Sep 2021 21:28:55 +0200 +Subject: [PATCH] Fix Information Fields not being saved + +--- + src/procman.cpp | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/procman.cpp b/src/procman.cpp +index b8a084dc..12d3d347 100644 +--- a/src/procman.cpp ++++ b/src/procman.cpp +@@ -97,10 +97,6 @@ procman_get_tree_state (GSettings *settings, GtkWidget *tree, const gchar *child + visible = g_settings_get_boolean (pt_settings, key); + g_free (key); + +- column = gtk_tree_view_get_column (GTK_TREE_VIEW (tree), id); +- if (column == NULL) +- continue; +- + gtk_tree_view_column_set_visible (column, visible); + if (visible) { + /* ensure column is really visible */ +PATCH + +changelog "Fix mate-system-monitor bug(s) for Trisquel" + +package + diff --git a/helpers/make-mate-user-admin b/helpers/make-mate-user-admin index adc7703..b86424f 100644 --- a/helpers/make-mate-user-admin +++ b/helpers/make-mate-user-admin @@ -17,14 +17,20 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 +VERSION=3 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble universe' . ./config +# Set version number due to source origin change +export FULLVERSION="$(sed 's|build3||' <<< $FULLVERSION)" + # Add cracklib-runtime dependency to debian/control apply_patch_changes changelog "Added cracklib-runtime dependency. Added custom implementation to use adduser regex for user creation" +head -n1 debian/changelog | grep -q build && echo "error: update upstream version" && exit + package diff --git a/helpers/make-media-retriever b/helpers/make-media-retriever index 684cc30..9534c9f 100644 --- a/helpers/make-media-retriever +++ b/helpers/make-media-retriever @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-eom b/helpers/make-minetest similarity index 84% rename from helpers/make-eom rename to helpers/make-minetest index 8e3f4ff..625c216 100644 --- a/helpers/make-eom +++ b/helpers/make-minetest @@ -18,11 +18,12 @@ # VERSION=1 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble universe' +BACKPORT=true +BUILD_UNTIL=11.0 . ./config -apply_patch_changes - -changelog "Apply fallback to fast-content-type patch" +changelog "Backporting release to fix CVE-2022-35978" package diff --git a/helpers/make-mlt b/helpers/make-mlt new file mode 100644 index 0000000..8a99298 --- /dev/null +++ b/helpers/make-mlt @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Copyright (C) 2021 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=2 +EXTERNAL='deb-src http://ppa.launchpad.net/kdenlive/kdenlive-stable/ubuntu $UPSTREAM main' +REPOKEY=2763B0EE7709FE97 +BACKPORT=true + +. ./config + +changelog "Backported from official PPA for kdenlive as a dependency of kdenlive" + +package diff --git a/helpers/make-mountmedia b/helpers/make-mountmedia index 92b991a..7536e66 100644 --- a/helpers/make-mountmedia +++ b/helpers/make-mountmedia @@ -23,10 +23,10 @@ # or fetch such packages from Debian in order to build the required udeb packages. ## -VERSION=2 +VERSION=1 NETINST=true -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 . ./config diff --git a/helpers/make-mplayer b/helpers/make-mplayer index db32b61..68ed7d5 100644 --- a/helpers/make-mplayer +++ b/helpers/make-mplayer @@ -17,47 +17,23 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 +VERSION=1 . ./config -rm ./TOOLS/w32codec_dl.pl ./TOOLS/binary_codecs.sh -# Patch copyright file from removed files. -cat << EOF | patch --no-backup-if-mismatch -p1 -diff --git a/debian/copyright b/debian/copyright -index ed1aea5c..d269dec2 100644 ---- a/debian/copyright -+++ b/debian/copyright -@@ -138,7 +138,6 @@ Files: - TOOLS/asfinfo.c - TOOLS/avi-fix.c - TOOLS/avisubdump.c -- TOOLS/binary_codecs.sh - TOOLS/checktree.sh - TOOLS/compare.c - TOOLS/divx2svcd.sh -@@ -259,12 +258,6 @@ Copyright: - 1994 Sun Microsystems, Inc - License: other-1 - --Files: TOOLS/w32codec_dl.pl --Copyright: -- 2002 Tom Lees --License: public-domain-tom -- By Tom Lees, 2002. I hereby place this script into the public domain. -- - Files: TOOLS/vobshift.py - Copyright: - Gábor Farkas -EOF +rm ./TOOLS/w32codec_dl.pl ./TOOLS/binary_codecs.sh ./rpm/mplayer-codecs.spec cp $DATA/README ./TOOLS/README #sed -i /Win32/d debian/control sed -i /binary_codecs/d ./debian/mplayer.install -sed -i 's/\(--disable-arts \\\)/\1\n\t--disable-win32dll \\/' debian/rules -sed -i 's/\(--disable-arts \\\)/\1\n\t--disable-qtx \\/' debian/rules -sed -i 's/\(--disable-arts \\\)/\1\n\t--disable-xanim \\/' debian/rules -sed -i 's/\(--disable-arts \\\)/\1\n\t--disable-real \\/' debian/rules +#sed -i '/w32codec/,/binary_codecs.sh\ uninstall/d' debian/copyright +sed -i 's/\(--disable-arts \\\)/\1\n\t--disable-win32dll \\/' debian/rules +sed -i 's/\(--disable-arts \\\)/\1\n\t--disable-qtx \\/' debian/rules +sed -i 's/\(--disable-arts \\\)/\1\n\t--disable-xanim \\/' debian/rules +sed -i 's/\(--disable-arts \\\)/\1\n\t--disable-real \\/' debian/rules + +# fix https://trac.mplayerhq.hu/ticket/2343 +sed -i 's/.*\#include.*/\#define _GNU_SOURCE\n\n&/' cpudetect.c changelog "Removed references to non-free stuff" diff --git a/helpers/make-mtpaint b/helpers/make-mtpaint index e4b5a3f..d8cd4a2 100644 --- a/helpers/make-mtpaint +++ b/helpers/make-mtpaint @@ -25,6 +25,6 @@ VERSION=0 #Apply path for handle open with, fix LP:#1714264 patch --no-backup-if-mismatch -p1 < $DATA/mtpaint-desktop.patch -changelog "Apply path for handle open with, fix LP:#1714264" +changelog "Remove nvidia-settings dependency." package diff --git a/helpers/make-multipath-tools b/helpers/make-multipath-tools index 31eb58e..f70cb8c 100644 --- a/helpers/make-multipath-tools +++ b/helpers/make-multipath-tools @@ -27,6 +27,7 @@ VERSION=2 NETINST=true . ./config +sed 's/fail-missing/list-missing/g' -i debian/rules changelog "Rebuild upstream to get udeb dependency for debian-installer." package diff --git a/helpers/make-mypaint b/helpers/make-mypaint deleted file mode 100644 index e7a4429..0000000 --- a/helpers/make-mypaint +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2025 Luis Guzmán -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# - -VERSION=1 - -. ./config - -apply_patch_changes - -changelog "Cherry-pick upstream patch to fix segfault when libmypaint is built with OpenMP." - -package diff --git a/helpers/make-nano b/helpers/make-nano index 49ec864..6187584 100644 --- a/helpers/make-nano +++ b/helpers/make-nano @@ -23,10 +23,15 @@ # or fetch such packages from Debian in order to build the required udeb packages. ## -VERSION=0 +VERSION=1 NETINST=true . ./config +# Set version number due to source origin change +export FULLVERSION="$(sed 's|ubuntu0.1||' <<< $FULLVERSION)" + +changelog "Fetch and build as udeb dependency for debian-installer." +head -n1 debian/changelog | grep -q ubuntu && echo "error: update upstream version" && exit changelog "Rebuild upstream to get udeb dependency for debian-installer." package diff --git a/helpers/make-ncurses b/helpers/make-ncurses index 9e349f0..7f494e0 100644 --- a/helpers/make-ncurses +++ b/helpers/make-ncurses @@ -23,13 +23,19 @@ # such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=2 NETINST=true +BUILD_UNTIL=11.0 . ./config +#FIXME:T12 +# Set version number due to source origin change +export FULLVERSION="$(sed 's|ubuntu0.1||' <<< $FULLVERSION)" + +# Apply Debian#1035621: ncurses: FTBFS: dh_autoreconf error on various architectures +patch --no-backup-if-mismatch -p1 < $DATA/bbd46b3955647bf401325951d9f31db054e8d889.patch changelog "Rebuild as udeb dependency for debian-installer and patch dh_autoreconf." +head -n1 debian/changelog | grep -q ubuntu && echo "error: update upstream version" && exit package diff --git a/helpers/make-neofetch b/helpers/make-neofetch index 54dc252..2a23426 100644 --- a/helpers/make-neofetch +++ b/helpers/make-neofetch @@ -26,3 +26,4 @@ patch --no-backup-if-mismatch -p1 < $DATA/1946.patch changelog "Adding ASC-II trisquel logo update, thanks to @LegoLeprechaun" package + diff --git a/helpers/make-net-retriever b/helpers/make-net-retriever index 7421057..fcb16bf 100644 --- a/helpers/make-net-retriever +++ b/helpers/make-net-retriever @@ -17,13 +17,16 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=3 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=2 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config +#sed -i s/security.ubuntu.com/security.trisquel.org/g net-retriever +#sed -i s/ports.ubuntu.com/archive.trisquel.org/g net-retriever sed -i s/debian-archive-keyring-udeb/trisquel-keyring-udeb/g debian/control +#sed -i s/ubuntu/trisquel/g net-retriever replace '/usr/share/keyrings/archive.gpg' '/usr/share/keyrings/trisquel-archive-keyring.gpg' . changelog "Rebranded and adapted for Trisquel" diff --git a/helpers/make-netcfg b/helpers/make-netcfg index ddac516..33f32d6 100644 --- a/helpers/make-netcfg +++ b/helpers/make-netcfg @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán # Copyright (C) 2009-2021 Rubén Rodríguez # # This program is free software; you can redistribute it and/or modify @@ -18,15 +17,19 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=78DBA3BC47EF2265 +VERSION=4 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config # Re apply upstream behavior and configuration features from last release (focal). # https://git.launchpad.net/ubuntu/+source/netcfg/log/?h=ubuntu/focal -apply_patch_changes +for patch in $(ls -v ${DATA}/*.patch) +do +echo "Applying $patch" +patch --no-backup-if-mismatch -Np1 < $patch +done changelog "Rebranded and adapted for Trisquel" package diff --git a/helpers/make-network-console b/helpers/make-network-console index 684cc30..9534c9f 100644 --- a/helpers/make-network-console +++ b/helpers/make-network-console @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-network-manager b/helpers/make-network-manager index 1ac66e9..8569129 100644 --- a/helpers/make-network-manager +++ b/helpers/make-network-manager @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2024 Luis Guzmán # Copyright (C) 2020 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify @@ -18,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=4 +VERSION=2 COMPONENT=main . ./config @@ -31,9 +30,6 @@ sed '/send fqdn/s|added by NetworkManager|Enable at /etc/dhcp/dhclient.conf|' -i sed '/HOSTNAME4_TAG/s|added by NetworkManager|Enable at /etc/dhcp/dhclient.conf|' -i src/core/dhcp/nm-dhcp-dhclient-utils.c sed '/FQDN_TAG/s|added by NetworkManager|Enable at /etc/dhcp/dhclient.conf|' -i src/core/dhcp/nm-dhcp-dhclient-utils.c -# Patch debian/rules to match Trisquel on i386 build. -patch_p1 $DATA/define_trisquel_for_i386.patch - changelog "Do not send hostname on dhcp, plus other features" package diff --git a/helpers/make-network-manager-applet b/helpers/make-network-manager-applet index 82cb949..da1ba9a 100644 --- a/helpers/make-network-manager-applet +++ b/helpers/make-network-manager-applet @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2024 Luis Guzman +# Copyright (C) 2022 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,12 +17,13 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=1 +VERSION=0 . ./config #Remove gnome-shell and notification-daemon dependency -patch_p1 $DATA/remove_gnome-shell_and_notification-daemon_dependencies.patch +sed -i 's/gnome-shell | //g' debian/control +sed -i 's/notification-daemon /policykit-1-gnome /g' debian/control changelog "Remove gnome-shell and notification-daemon dependency from network-manager-gnome" diff --git a/helpers/make-nheko b/helpers/make-nheko new file mode 100644 index 0000000..9fb6fb2 --- /dev/null +++ b/helpers/make-nheko @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Copyright (C) 2024 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble universe' +BACKPORT=true + +. ./config + +patch_p1 $DATA/001_hidde_sso_promotion_with_main_stream_services.patch + +changelog "Backported from noble to improve matrix support on Aramo and hide promotion of privacy conflicting SSO services." + +package diff --git a/helpers/make-nobootloader b/helpers/make-nobootloader index 684cc30..9534c9f 100644 --- a/helpers/make-nobootloader +++ b/helpers/make-nobootloader @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-nodejs b/helpers/make-nodejs new file mode 100644 index 0000000..20e012c --- /dev/null +++ b/helpers/make-nodejs @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Copyright (C) 2022 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + + +VERSION=0 +EXTERNAL='deb-src http://ppa.launchpadcontent.net/mozillateam/build-support/ubuntu $UPSTREAM main' +REPOKEY=9BDB3D89CE49EC21 +BACKPORTS=true +BUILD_UNTIL=11.0 +. ./config + + +changelog "Import as dependency of newer abrowser (deb) dependencies." +package diff --git a/helpers/make-notmuch b/helpers/make-notmuch new file mode 100644 index 0000000..415f223 --- /dev/null +++ b/helpers/make-notmuch @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Copyright (C) 2024 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports main' +REPOKEY=0E98404D386FA1D9 +BUILD_UNTIL=11.0 +BACKPORTS=true +. ./config + +sed -i "s/gdb-minimal,/gdb (>= 12.1-0ubuntu1~22.04),/" debian/control + +changelog "Backport latest fixes from debian." +package diff --git a/helpers/make-nvidia-settings b/helpers/make-nvidia-settings index f05b5a5..bf56d09 100644 --- a/helpers/make-nvidia-settings +++ b/helpers/make-nvidia-settings @@ -17,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=0 +VERSION=1 EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu $UPSTREAM main' . ./config diff --git a/helpers/make-oldsys-preseed b/helpers/make-oldsys-preseed index 684cc30..9534c9f 100644 --- a/helpers/make-oldsys-preseed +++ b/helpers/make-oldsys-preseed @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-opendht b/helpers/make-opendht new file mode 100644 index 0000000..a5f0957 --- /dev/null +++ b/helpers/make-opendht @@ -0,0 +1,36 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +EXTERNAL='deb-src http://ftp.us.debian.org/debian bookworm main' +REPOKEY=6ED0E7B82643E131 +BUILD_UNTIL=11.0 +. ./config + +#Remove symbols missing at trisquel +sed -i '/ZNSt12_Vector_baseIhSaIhEED1Ev@Base/d' debian/libopendht-c2.symbols +sed -i '/ZNSt12_Vector_baseIhSaIhEED2Ev@Base/d' debian/libopendht-c2.symbols +sed -i '/ZNSt14_Function_baseD1Ev@Base/d' debian/libopendht-c2.symbols +sed -i '/ZNSt14_Function_baseD2Ev@Base/d' debian/libopendht-c2.symbols +sed -i '/ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M/d' debian/libopendht-c2.symbols +sed -i '/ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M/d' debian/libopendht-c2.symbols + +changelog "Imported into trisquel backports as part of jami dependency." + +package diff --git a/helpers/make-elinks b/helpers/make-opendmarc similarity index 82% rename from helpers/make-elinks rename to helpers/make-opendmarc index eee34af..1068cd6 100644 --- a/helpers/make-elinks +++ b/helpers/make-opendmarc @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2024 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,11 +17,10 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=1 - +VERSION=0 +BUILD_UNTIL=11.0 . ./config -changelog "Rebuild as dependency of aptitude for i386" - +changelog "Rebuild to introduce missing armhf package in aramo repository." package diff --git a/helpers/make-openssh b/helpers/make-openssh index acea93d..e914e1a 100644 --- a/helpers/make-openssh +++ b/helpers/make-openssh @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán # Copyright (C) 2011-2016 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify @@ -18,16 +17,20 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=6 +VERSION=9 NETINST=true . ./config +#FIXME:T12 +# Set version number due to source origin change +export FULLVERSION="$(sed 's|ubuntu0.13||' <<< $FULLVERSION)" + sed 's:Ubuntu:Trisquel\ GNU/Linux:g' -i debian/rules sed "s|^SSH_EXTRAVERSION.*|SSH_EXTRAVERSION := Trisquel_GNU/Linux_$REVISION-$VERSION|" -i debian/rules -sed '/dpkg-vendor/s|Trisquel GNU/Linux|Trisquel|' -i debian/rules changelog "Rebranded for Trisquel" +head -n1 debian/changelog | grep -q ubuntu && echo "error: update upstream version" && exit package diff --git a/helpers/make-openssl b/helpers/make-openssl index 835333e..5523cb8 100644 --- a/helpers/make-openssl +++ b/helpers/make-openssl @@ -23,8 +23,6 @@ # such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=0 NETINST=true . ./config diff --git a/helpers/make-osinfo-db b/helpers/make-osinfo-db index f74009a..e14e656 100644 --- a/helpers/make-osinfo-db +++ b/helpers/make-osinfo-db @@ -20,12 +20,17 @@ VERSION=9 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble universe' + . ./config rd_domain=($(cat $DATA/recommended-distros|grep -v \#|awk '{print$3}')) -# Apply patches -apply_patch_changes +# Apply latest patches +for patch in $(ls -v ${DATA}/*.patch) +do + patch_p1 $patch +done # Remove non-free distros references. TMPDIR=$(mktemp -d os-XXXX) diff --git a/helpers/make-7zip b/helpers/make-p7zip similarity index 79% rename from helpers/make-7zip rename to helpers/make-p7zip index c3ac55d..e1a0227 100644 --- a/helpers/make-7zip +++ b/helpers/make-p7zip @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2024 Luis Guzmán # Copyright (C) 2011 Santiago Rodríguez # # This program is free software; you can redistribute it and/or modify @@ -18,15 +17,16 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 +VERSION=1 . ./config -# Use patch to modify control file -patch_p1 $DATA/000_remove-non-free-suggestions-from-control-file.patch - +sed -i '/Suggests: p7zip-rar/d' debian/control +#Our versions doesn't handle rar files, due to licenses +sed -i 's/RAR (only//; s/if non-free p7zip-rar package is installed),//' debian/control +# changelog "Remove non free suggests" #Closes https://trisquel.info/es/issues/4360 -package +PARALLEL=false package diff --git a/helpers/make-packagekit b/helpers/make-packagekit index 502c5d3..af717a9 100644 --- a/helpers/make-packagekit +++ b/helpers/make-packagekit @@ -18,9 +18,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 -EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu resolute main' -REPOKEY=871920D1991BC93C +VERSION=1 . ./config diff --git a/helpers/make-partman-auto b/helpers/make-partman-auto index 8031ebf..9534c9f 100644 --- a/helpers/make-partman-auto +++ b/helpers/make-partman-auto @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2022 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,14 +23,12 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=2 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config -apply_patch_changes -changelog "Fetch and build as udeb dependency for debian-installer. -Set trisquel default size partition recipe." +changelog "Fetch and build as udeb dependency for debian-installer." package diff --git a/helpers/make-partman-auto-crypto b/helpers/make-partman-auto-crypto index 684cc30..9534c9f 100644 --- a/helpers/make-partman-auto-crypto +++ b/helpers/make-partman-auto-crypto @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-auto-lvm b/helpers/make-partman-auto-lvm index 684cc30..9534c9f 100644 --- a/helpers/make-partman-auto-lvm +++ b/helpers/make-partman-auto-lvm @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-auto-raid b/helpers/make-partman-auto-raid index 684cc30..9534c9f 100644 --- a/helpers/make-partman-auto-raid +++ b/helpers/make-partman-auto-raid @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-base b/helpers/make-partman-base index 684cc30..9534c9f 100644 --- a/helpers/make-partman-base +++ b/helpers/make-partman-base @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-basicfilesystems b/helpers/make-partman-basicfilesystems index 684cc30..9534c9f 100644 --- a/helpers/make-partman-basicfilesystems +++ b/helpers/make-partman-basicfilesystems @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-basicmethods b/helpers/make-partman-basicmethods index 684cc30..9534c9f 100644 --- a/helpers/make-partman-basicmethods +++ b/helpers/make-partman-basicmethods @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-btrfs b/helpers/make-partman-btrfs index 684cc30..9534c9f 100644 --- a/helpers/make-partman-btrfs +++ b/helpers/make-partman-btrfs @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-crypto b/helpers/make-partman-crypto index 684cc30..9534c9f 100644 --- a/helpers/make-partman-crypto +++ b/helpers/make-partman-crypto @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-efi b/helpers/make-partman-efi index 684cc30..9534c9f 100644 --- a/helpers/make-partman-efi +++ b/helpers/make-partman-efi @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-ext3 b/helpers/make-partman-ext3 index 684cc30..9534c9f 100644 --- a/helpers/make-partman-ext3 +++ b/helpers/make-partman-ext3 @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-iscsi b/helpers/make-partman-iscsi index 684cc30..9534c9f 100644 --- a/helpers/make-partman-iscsi +++ b/helpers/make-partman-iscsi @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-jfs b/helpers/make-partman-jfs index 684cc30..9534c9f 100644 --- a/helpers/make-partman-jfs +++ b/helpers/make-partman-jfs @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-lvm b/helpers/make-partman-lvm index 684cc30..9534c9f 100644 --- a/helpers/make-partman-lvm +++ b/helpers/make-partman-lvm @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-md b/helpers/make-partman-md index 684cc30..9534c9f 100644 --- a/helpers/make-partman-md +++ b/helpers/make-partman-md @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-partitioning b/helpers/make-partman-partitioning index 684cc30..9534c9f 100644 --- a/helpers/make-partman-partitioning +++ b/helpers/make-partman-partitioning @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-target b/helpers/make-partman-target index 684cc30..9534c9f 100644 --- a/helpers/make-partman-target +++ b/helpers/make-partman-target @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-partman-xfs b/helpers/make-partman-xfs index 684cc30..9534c9f 100644 --- a/helpers/make-partman-xfs +++ b/helpers/make-partman-xfs @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-pcre2 b/helpers/make-pcre2 index 835333e..5523cb8 100644 --- a/helpers/make-pcre2 +++ b/helpers/make-pcre2 @@ -23,8 +23,6 @@ # such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=0 NETINST=true . ./config diff --git a/helpers/make-pidgin b/helpers/make-pidgin index cfaf8ba..675d722 100644 --- a/helpers/make-pidgin +++ b/helpers/make-pidgin @@ -33,8 +33,8 @@ sed '/PIDGIN_PREFS_ROOT.*conv_focus/s/TRUE/FALSE/' -i pidgin/gtksound.c # apply upstream pidgin security fixes / patches not yet in ubuntu. for patch in $(ls -v ${DATA}/cve/*.patch) do - echo "Applying $(echo $patch|xargs basename)" - patch_p1 $patch + echo "Applying $patch" + patch --no-backup-if-mismatch -Np1 < $patch done changelog "Compiled for Trisquel" diff --git a/helpers/make-pkgsel b/helpers/make-pkgsel index 27ac459..bb896df 100644 --- a/helpers/make-pkgsel +++ b/helpers/make-pkgsel @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán # Copyright (C) 2009-2021 Rubén Rodríguez # # This program is free software; you can redistribute it and/or modify @@ -18,13 +17,11 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=3 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=1 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config -apply_patch_changes - -changelog "Add propagation of installer-chosen locale to tasksel" +changelog "Rebranded and adapted for Trisquel" package diff --git a/helpers/make-plasma-desktop b/helpers/make-plasma-desktop index 5b25017..4ea0a9b 100644 --- a/helpers/make-plasma-desktop +++ b/helpers/make-plasma-desktop @@ -18,7 +18,6 @@ # VERSION=1 -DEPENDS=plasma-workspace . ./config diff --git a/helpers/make-plasma-discover b/helpers/make-plasma-discover index 3b48d7e..e0d7fff 100644 --- a/helpers/make-plasma-discover +++ b/helpers/make-plasma-discover @@ -33,9 +33,6 @@ rm debian/plasma-discover-backend-*.install #rm -r libdiscover/backends/$i #done -# Remove libfwupd-dev dependency from build depends. -sed -i '/libfwupd-dev/d' debian/control - # Do not show Plasma Addons in the main menu /bin/sed -n '0,/^ <\/Menu>/p' -i ./libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml echo '' >> ./libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml @@ -46,6 +43,6 @@ override_dh_missing: dh_missing --list-missing RULES -changelog "Disable kns, snap, fwupd and flatpack backend" +changelog "Disable kns, snap and flatpack backend" package diff --git a/helpers/make-plasma-workspace b/helpers/make-plasma-workspace index c69953f..75b7db6 100644 --- a/helpers/make-plasma-workspace +++ b/helpers/make-plasma-workspace @@ -1,6 +1,5 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán # Copyright (C) 2021-2022 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify @@ -18,23 +17,15 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=4 +VERSION=3 . ./config -# Use wallpaper details from the kubuntu-settings package. -TW_RELEASE="Ecne" -TW_FILW_SIZE="3840x2160.jpg" - # Smaller clock size on panel sed -i 's/main.height \* 0.56 : main.height \* 0.71/main.height * 0.4 : main.height * 0.4/' applets/digital-clock/package/contents/ui/DigitalClock.qml # Use trisquel background -for i in $(find -name theme.conf.cmake) -do - echo -e "\n> customizing wallpaper at $i file:\n" - sed "s|/Next/contents/images/5120x2880.*|/${TW_RELEASE}/contents/images/${TW_FILW_SIZE}|" -i $i -done +sed 's|/Next/contents/images/5120x2880.jpg|/Aramo/contents/images/5120x2880.jpg|' -i sddm-theme/theme.conf.cmake changelog "Customized for Trisquel" diff --git a/helpers/make-plymouth b/helpers/make-plymouth index 339317b..2cbf3ed 100644 --- a/helpers/make-plymouth +++ b/helpers/make-plymouth @@ -1,7 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán -# Copyright (C) 2008-2025 Ruben Rodriguez +# Copyright (C) 2008-2022 Ruben Rodriguez # Copyright (C) 2019 Mason Hock # # This program is free software; you can redistribute it and/or modify @@ -19,9 +18,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-5-DESKTOP|ARTWORK - -VERSION=19 +VERSION=12 QUILT=skip . ./config @@ -30,24 +27,6 @@ quilt push -a cat << EOF >> debian/control -Package: plymouth-theme-trisquel-logo -Architecture: linux-any -Depends: - \${misc:Depends}, - \${shlibs:Depends}, - plymouth (= \${binary:Version}), - plymouth-label (= \${binary:Version}), -Provides: plymouth-theme, -Description: boot animation, logger and I/O multiplexer - trisquel-logo theme - Plymouth provides a boot-time I/O multiplexing framework - the most obvious - use for which is to provide an attractive graphical animation in place of - the text messages that normally get shown during boot. (The messages are - instead redirected to a logfile for later viewing.) However, in event-driven - boot systems Plymouth can also usefully handle user interaction such as - password prompts for encrypted file systems. - . - This package contains the trisquel-logo theme. - Package: plymouth-theme-sugar Architecture: linux-any Depends: @@ -78,7 +57,6 @@ cp $DATA/plymouth-theme-trisquel-logo.postinst debian/plymouth-theme-sugar.posti cp $DATA/plymouth-theme-trisquel-logo.prerm debian/plymouth-theme-sugar.prerm echo usr/share/plymouth/themes/sugar/ > debian/plymouth-theme-sugar.install -echo usr/share/plymouth/themes/trisquel-logo/ > debian/plymouth-theme-trisquel-logo.install /bin/sed 's/trisquel-logo/sugar/g' debian/plymouth-theme-sugar* -i @@ -111,18 +89,15 @@ replace "Name=Kubuntu" "Name=Trisquel-mini" . replace "Name=Ubuntu" "Name=Trisquel" . replace 2c001e 000000 . replace ff4012 0051FF . -replace "Kubuntu $UPSTREAMRELEASE" "Trisquel mini $REVISION" . replace "Ubuntu $UPSTREAMRELEASE" "Trisquel $REVISION" . +replace "Kubuntu $UPSTREAMRELEASE" "Trisquel mini $REVISION" . replace "Ubuntu [0-9][0-9].[0-9][0-9] LTS" "Trisquel $REVISION" cp $DATA/*.png themes/script cp $DATA/script.script themes/script/script.script -cp $DATA/trisquel_logo.png debian/local/trisquel-logo.png -cp $DATA/trisquel_logo16.png debian/local/bgrt-fallback.png cat << EOF > debian/source/include-binaries themes/script/background.png -themes/script/trisquel_logo.png themes/script/trisquel_logo16.png themes/glow/sugar.png themes/glow/trisquel_logo16.png @@ -132,36 +107,29 @@ EOF rm themes/trisquel-logo themes/glow -rf cp themes/script -a themes/trisquel-logo cp $DATA/background.png themes/trisquel-logo/ -for i in trisquel_logo16.png background.png trisquel_logo.png -do - sed -i "/'progress_bar.png'/a\ \ '$i'," themes/trisquel-logo/meson.build -done +cp $DATA/trisquel_logo.png themes/trisquel-logo/trisquel-logo.png +cp $DATA/trisquel_logo16.png themes/trisquel-logo/trisquel-logo16.png +sed -i 's/progress_bar.png/progress_bar.png\\\n\t\tbackground.png\\\n\t\ttrisquel_logo16.png/' themes/trisquel-logo/Makefile* sed s:/script:/trisquel-logo:g -i themes/trisquel-logo/script.plymouth.in sed 's:=Script:=Trisquel-logo:g' -i themes/trisquel-logo/script.plymouth.in -sed 's/script\.script/trisquel-logo\.rtoken/g' -i themes/trisquel-logo/meson.build -sed 's/script/trisquel-logo/g' -i themes/trisquel-logo/meson.build -sed 's/rtoken/script/g' -i themes/trisquel-logo/meson.build +sed 's/script\.script/trisquel-logo\.rtoken/g' -i themes/trisquel-logo/Make* +sed 's/script/trisquel-logo/g' -i themes/trisquel-logo/Make* +sed 's/rtoken/script/g' -i themes/trisquel-logo/Make* rename s/script.script/trisquel-logo.script/g themes/trisquel-logo/* rename s/script.plymouth.in/trisquel-logo.plymouth.in/g themes/trisquel-logo/* -echo "subdir('trisquel-logo')" >> themes/meson.build -echo "usr/share/plymouth/themes/trisquel-logo" >> debian/plymouth-themes.install -sed -i 's|trisquel-logo_plymouth =|trisquel_logo_plymouth =|' themes/trisquel-logo/meson.build cp themes/script -a themes/glow sed s:/script:/glow:g -i themes/glow/script.plymouth.in sed 's:=Script:=Glow:g' -i themes/glow/script.plymouth.in -sed 's/script\.script/glow\.rtoken/g' -i themes/glow/meson.build -sed 's/script/glow/g' -i themes/glow/meson.build -sed 's/rtoken/script/g' -i themes/glow/meson.build +sed 's/script\.script/glow\.rtoken/g' -i themes/glow/Make* +sed 's/script/glow/g' -i themes/glow/Make* +sed 's/rtoken/script/g' -i themes/glow/Make* cp $DATA/sugar.png $DATA/trisquel_logo16.png $DATA/trisquel_logo-sugar.png themes/glow/ /bin/sed -i s/background/sugar/g themes/glow/* -sed -i '/^logofile/s/trisquel_logo.png/trisquel_logo-sugar.png/g; s/0.3/0.8/' themes/glow/*.script +sed -i 's_special://logo_trisquel\_logo-sugar.png_g; s/0.3/0.8/' themes/glow/*.script rename s/script.script/glow.script/g themes/glow/* rename s/script.plymouth.in/glow.plymouth.in/g themes/glow/* -for i in trisquel_logo-sugar.png trisquel_logo16.png sugar.png -do - sed -i "/'progress_bar.png'/a\ \ '$i'," themes/glow/meson.build -done +sed -i 's/progress_bar.png/progress_bar.png\\\n\t\tsugar.png\\\n\t\ttrisquel_logo16.png\\\n\t\ttrisquel_logo-sugar.png/' themes/glow/Makefile* find -type d |xargs rename s/glow/sugar/g find -type f |xargs rename s/glow/sugar/g @@ -171,11 +139,7 @@ replace Glow Sugar . sed s/Ubuntu/Trisquel/ -i debian/plymouth-theme-trisquel-text.postinst -# Clean up -rm ./debian/plymouth-theme-ubuntu-logo.postinst - -apply_patch_changes - changelog "Plymouth themes modified for Trisquel" package + diff --git a/helpers/make-postgresql-common b/helpers/make-postgresql-common index 1862a02..f824246 100644 --- a/helpers/make-postgresql-common +++ b/helpers/make-postgresql-common @@ -17,12 +17,11 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 +VERSION=1 . ./config -# Update patch for supported version. -patch_p1 $DATA/supported-versions-trisquel.patch +patch --no-backup-if-mismatch -p0 < $DATA/supported-versions-trisquel.patch changelog "Imported into Trisquel" diff --git a/helpers/make-preseed b/helpers/make-preseed index 684cc30..9534c9f 100644 --- a/helpers/make-preseed +++ b/helpers/make-preseed @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-profanity b/helpers/make-profanity new file mode 100644 index 0000000..7a9b389 --- /dev/null +++ b/helpers/make-profanity @@ -0,0 +1,32 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports main' +REPOKEY=0E98404D386FA1D9 +DEPENDS=libstrophe +BACKPORT=true +BUILD_UNTIL=11.0 + +. ./config + + +changelog "Backported from debian bullseye fixing logs issues." + +package diff --git a/helpers/make-psensor b/helpers/make-psensor new file mode 100644 index 0000000..1a2d801 --- /dev/null +++ b/helpers/make-psensor @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (C) 2020 Pablo Correa Gómez +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=2 + +. ./config + +# restore libxnvctrl lib for nvidia hardware detection. + +#Apply fix ftbfs patch +patch --no-backup-if-mismatch -p1 < $DATA/fix-ftbfs-debian-patch.patch + +changelog "Restore nvidia-settings dependency." + +package diff --git a/helpers/make-pulseaudio b/helpers/make-pulseaudio index a46267b..83b8d37 100644 --- a/helpers/make-pulseaudio +++ b/helpers/make-pulseaudio @@ -21,13 +21,8 @@ VERSION=1 . ./config -for i in 0702-add-snappy-policy-module.patch \ - 0701-enable-snap-policy-module.patch \ - 0700-modules-add-snappy-policy-module.patch -do - remove_patch $i -done - +rm debian/patches/0701-enable-snap-policy-module.patch debian/patches/0700-modules-add-snappy-policy-module.patch +sed '/snappy/d; /enable-snap/d' -i debian/patches/series sed '/libsnap/d' -i debian/control sed '/snap/d' -i debian/pulseaudio.install sed '/snap/d' -i debian/rules @@ -35,3 +30,4 @@ sed '/snap/d' -i debian/rules changelog "Removed snap dependency" package + diff --git a/helpers/make-pupnp b/helpers/make-pupnp new file mode 100644 index 0000000..09ccc09 --- /dev/null +++ b/helpers/make-pupnp @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' +REPOKEY=6ED0E7B82643E131 +BACKPORT=true +BUILD_UNTIL=11.0 +. ./config + +sed -i '/dpkg-dev/s|1.22.5|1.21.1ubuntu2.3|' debian/control + +changelog "Imported into trisquel backports as part of jami dependency." + +package diff --git a/helpers/make-pygame b/helpers/make-pygame new file mode 100644 index 0000000..015dc37 --- /dev/null +++ b/helpers/make-pygame @@ -0,0 +1,35 @@ +#!/bin/sh +# +# Copyright (C) 2024 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +BUILD_UNTIL=11.0 + +. ./config + +# 01_Rebuild to use the latest SDL support on aramo. +# 02_SDL_CreateWindowFrom in "display" module +for patch in $(ls -v ${DATA}/*.patch) +do + echo "Applying $patch" + patch --no-backup-if-mismatch -Np1 < $patch +done + +changelog "Rebuild to use the latest SDL support on aramo. | Fix 'SDL_CreateWindowFrom' in 'display' module" + +package diff --git a/helpers/make-python-apt b/helpers/make-python-apt index 3f7512f..c53eae2 100644 --- a/helpers/make-python-apt +++ b/helpers/make-python-apt @@ -22,17 +22,16 @@ # 'choose-mirror' package as a dependency for debian-installer, so when # a new release of the 'debian-installer' also ships the latest mirror # list available on the resulting netinstall (mini.iso) image. -# The same way as 'ubiquity' is for for the next Live Desktop ISOs. -VERSION=13 -CMXSLVER=1 -EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu resolute main' -REPOKEY=871920D1991BC93C +VERSION=11 COMPONENT=main #Be aware to not pull/build before publish date on T12. . ./config +# Fix version number due to early release. +export FULLVERSION="$(sed 's|ubuntu4||' <<< $FULLVERSION)" + # Use git Mirrors.masterlist as source. Mirrors_masterlist=$(mktemp) Mirrors_masterlist_git="trisquel-packages/-/raw/master/extra/mirrors/Mirrors.masterlist" @@ -42,7 +41,7 @@ wget https://gitlab.trisquel.org/trisquel/$Mirrors_masterlist_git -o /dev/null - python3 $DATA/parse-mirror-masterlist.py $Mirrors_masterlist > data/templates/Trisquel.mirrors rm $Mirrors_masterlist -cat << EOF > data/templates/trisquel.info.in +cat << EOF > data/templates/Trisquel.info.in _ChangelogURI: https://packages.trisquel.org/changelogs/pool/%s/%s/%s/%s_%s/changelog Suite: $CODENAME @@ -90,11 +89,10 @@ diff -ru source.orig/apt/progress/base.py source/apt/progress/base.py self.percent = float(percent) EOF -apply_patch_changes export DEB_BUILD_OPTIONS=nocheck -changelog "Compiled for Trisquel -Fixed PEP440 version issue." +changelog "Compiled for Trisquel" +head -n1 debian/changelog | grep -q ubuntu && echo "error: update FULLVERSION value" && exit package diff --git a/helpers/make-sbuild b/helpers/make-python-nbxmpp similarity index 75% rename from helpers/make-sbuild rename to helpers/make-python-nbxmpp index 05fc53a..99a8f56 100644 --- a/helpers/make-sbuild +++ b/helpers/make-python-nbxmpp @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2022 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,15 +17,13 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=1 -EXTERNAL='deb-src https://archive.ubuntu.com/ubuntu $UPSTREAM-backports main' +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports main' +REPOKEY=0E98404D386FA1D9 +BUILD_UNTIL=11.0 BACKPORTS=true - . ./config -apply_patch_changes - -changelog "Add switch to use Trisquel's DistroInfo on 0.88.3 and later versions" +changelog "Backport as a dependency for gajim backport from debian." package - diff --git a/helpers/make-python-packaging b/helpers/make-python-packaging index 9c7f81a..fc127f2 100644 --- a/helpers/make-python-packaging +++ b/helpers/make-python-packaging @@ -20,7 +20,7 @@ VERSION=1 EXTERNAL='deb-src http://deb.debian.org/debian trixie main' REPOKEY=6ED0E7B82643E131 BACKPORTS=true -BUILD_UNTIL=12.0 +BUILD_UNTIL=11.0 . ./config diff --git a/helpers/make-python-pathspec b/helpers/make-python-pathspec new file mode 100644 index 0000000..20184fd --- /dev/null +++ b/helpers/make-python-pathspec @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Copyright (C) 2026 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +VERSION=1 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble universe' +BACKPORT=true +BUILD_UNTIL=11.0 + +. ./config + + +changelog "Backport dependency for newer yt-dlp" + +package diff --git a/helpers/make-python-virtualenv b/helpers/make-python-virtualenv new file mode 100644 index 0000000..ef73ee7 --- /dev/null +++ b/helpers/make-python-virtualenv @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (C) 2024 Luis Guzmán +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=0 +. ./config + +# Apply required patches +for patch in $(ls -v ${DATA}/*.patch) +do + echo "> Applying $(echo $patch|xargs basename)" + patch --no-backup-if-mismatch -Np1 < $patch +done + +changelog "Remove python3-pip dependency to install." +package diff --git a/helpers/make-reprepro b/helpers/make-reprepro index d335b7a..4f8c98e 100644 --- a/helpers/make-reprepro +++ b/helpers/make-reprepro @@ -21,7 +21,7 @@ VERSION=1 . ./config -patch_p1 $DATA/ddeb.patch +patch --no-backup-if-mismatch -p2 < $DATA/ddeb.patch #https://github.com/ionos-cloud/reprepro changelog "Adds support for ddeb files" diff --git a/helpers/make-rescue b/helpers/make-rescue index 684cc30..9534c9f 100644 --- a/helpers/make-rescue +++ b/helpers/make-rescue @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-vboot-utils b/helpers/make-restinio similarity index 84% rename from helpers/make-vboot-utils rename to helpers/make-restinio index 89a4ebb..7330308 100644 --- a/helpers/make-vboot-utils +++ b/helpers/make-restinio @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2023 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -20,8 +20,10 @@ VERSION=1 EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' REPOKEY=6ED0E7B82643E131 +BACKPORT=true +BUILD_UNTIL=11.0 . ./config -changelog "Backported package fixing vboot-utils non-free test data." +changelog "Imported into trisquel backports as part of jami dependency." package diff --git a/helpers/make-rhythmbox b/helpers/make-rhythmbox index 0be2f47..adc48bf 100644 --- a/helpers/make-rhythmbox +++ b/helpers/make-rhythmbox @@ -25,8 +25,8 @@ COMPONENT=main for i in 03_magnatune_partner.patch do - echo "> Removing patch $i:" - remove_patch $i + rm debian/patches/$i + sed /$i/d debian/patches/series -i done changelog "Changed referer for magnatune. diff --git a/helpers/make-ring b/helpers/make-ring new file mode 100644 index 0000000..dc928f9 --- /dev/null +++ b/helpers/make-ring @@ -0,0 +1,71 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble universe' +VERSION=2 + +. ./config + +# Fix version number due to source origin change. +export FULLVERSION="$(sed 's|ubuntu0.1||' <<< $FULLVERSION)" + +# Add trisquel aramo's dependencies +sed -i "/# Qt client/i # trisquel's aramo dependencies" debian/control +for i in "libgl1-mesa-dev" \ + "libqt6opengl6-dev" \ + "libvulkan-dev" \ + "libxkbcommon-dev" +do + sed -i "/# Qt client/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $i," debian/control +done + + +# Add aramo's missing runtime dependencies +for i in "libqt6multimediaquick6" \ + "libqt6quickshapes6" \ + "libqt6quicktemplates2-6" \ + "qt6-qpa-plugins" +do + sed -i "/jami-daemon (=/i \ \ \ \ \ \ \ \ \ $i," debian/control +done + +# Remove not available qt libraries at Trisquel 11.0 +for i in qt6-5compat-dev \ + qml6-module-qtquick3d-spatialaudio +do + sed -i "/$i/d" debian/control +done + +# Removing ffmpeg time_base feature req. from jami so it builds +# against libavutil56 (ffmpeg 4.4). Can be removed on Trisquel 12 +remove_patch fc975f0cacde4b06c6adde3d7f0c02f71abfb38c.patch +patch --no-backup-if-mismatch -R -p1 < $DATA/ffmpeg_time_base_frame.patch + +# Backport latest changes required at experimental - Remove once package +# keep up with changes at testing or unstable release. +for patch in $(ls -v ${DATA}/debian_backport/*.patch) +do +echo "Applying $patch" +patch --no-backup-if-mismatch -Np1 < $patch +done + +changelog "Backport ring/jammi to aramo from LTS noble" +head -n1 debian/changelog | grep -q ubuntu && echo "error: update upstream version" && exit + +package diff --git a/helpers/make-riseup-vpn b/helpers/make-riseup-vpn deleted file mode 100644 index 308eb53..0000000 --- a/helpers/make-riseup-vpn +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2025 Luis Guzmán -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# - -VERSION=1 -EXTERNAL='deb-src https://ppa.launchpadcontent.net/leapcodes/riseup-vpn/ubuntu $UPSTREAM main ' -REPOKEY=F4F9F002F64469DC -. ./config - -changelog "Backported stable maintained package." - -package diff --git a/helpers/make-rootskel b/helpers/make-rootskel index 684cc30..9534c9f 100644 --- a/helpers/make-rootskel +++ b/helpers/make-rootskel @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-rootskel-gtk b/helpers/make-rootskel-gtk index 684cc30..9534c9f 100644 --- a/helpers/make-rootskel-gtk +++ b/helpers/make-rootskel-gtk @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-rustc-1.81 b/helpers/make-rustc-1.76 similarity index 91% rename from helpers/make-rustc-1.81 rename to helpers/make-rustc-1.76 index 83fa935..0a1f067 100644 --- a/helpers/make-rustc-1.81 +++ b/helpers/make-rustc-1.76 @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (C) 2025 Luis Guzman +# Copyright (C) 2024 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ # VERSION=0 -EXTERNAL='deb-src https://ppa.launchpadcontent.net/liushuyu-011/rust-updates-1.81/ubuntu $UPSTREAM main' +EXTERNAL='deb-src https://ppa.launchpadcontent.net/liushuyu-011/rust-bpo-1.76/ubuntu $UPSTREAM main' REPOKEY=327405FE663500EF BACKPORTS=true diff --git a/helpers/make-rustc-1.82 b/helpers/make-rustc-1.82 index bb6258f..a768f04 100644 --- a/helpers/make-rustc-1.82 +++ b/helpers/make-rustc-1.82 @@ -18,12 +18,15 @@ # VERSION=0 -EXTERNAL='deb-src https://ppa.launchpadcontent.net/liushuyu-011/rust-updates-1.82/ubuntu $UPSTREAM main' +EXTERNAL='deb-src https://ppa.launchpadcontent.net/liushuyu-011/rust-updates-1.82/ubuntu noble main' REPOKEY=327405FE663500EF BACKPORTS=true +BUILD_UNTIL=11.0 . ./config +apply_patch_changes + changelog "Adding package as a dependency for newer abrowser releases." package diff --git a/helpers/make-shim b/helpers/make-shim index 1b00c4f..33344e7 100644 --- a/helpers/make-shim +++ b/helpers/make-shim @@ -24,8 +24,8 @@ ## VERSION=0 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-software-properties b/helpers/make-software-properties index e3a2996..d2dc6eb 100644 --- a/helpers/make-software-properties +++ b/helpers/make-software-properties @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzman +# Copyright (C) 2024 Luis Guzman # Copyright (C) 2011-2022 Ruben Rodriguez # Copyright (C) 2019 Mason Hock # Copyright (C) 2011 Carlos Pais @@ -20,8 +20,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=17 -EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu plucky main' +VERSION=15 . ./config @@ -30,12 +29,11 @@ rm data/ubuntu-pro-logo*.svg sed -i '/ubuntu-pro-logo/d' debian/software-properties-gtk.install rm softwareproperties/gtk/UbuntuProPage.py -patch_p1 $DATA/remove_snap_label.patch +patch --no-backup-if-mismatch -p0 < $DATA/remove_snap_label.patch #Python specific changes cp $DATA/trisquel_info.py softwareproperties/ -sed -i '/import softwareproperties.SoftwareProperties/a from softwareproperties.trisquel_info import trisquel_rel_desc, trisquel_eol' \ - softwareproperties/gtk/SoftwarePropertiesGtk.py +sed -i '/import softwareproperties.SoftwareProperties/a from softwareproperties.trisquel_info import trisquel_rel_desc, trisquel_eol' softwareproperties/gtk/SoftwarePropertiesGtk.py sed -i 's|eol_date = distro.eol|eol_date = trisquel_eol|' softwareproperties/gtk/SoftwarePropertiesGtk.py sed -i 's|eol_text = .*|eol_text = trisquel_rel_desc|' softwareproperties/gtk/SoftwarePropertiesGtk.py #Allow to start and remove drivers tab for qt flavor @@ -54,13 +52,13 @@ replace TrisquelDistribution UbuntuDistribution . sed '/NoDisplay/d; s/Trisquel/Ubuntu/' -i data/software-properties-gtk.desktop.in sed '/ubuntu-drivers-common/d' -i debian/control -sed '/ubuntu-pro-client/d' -i debian/control +sed '/ubuntu-advantage-tools/d' -i debian/control sed '/ubuntu-advantage-desktop-daemon/d' -i debian/control sed '/software-properties-drivers/d' -i debian/software-properties-gtk.install setup.cfg replace "Trisquel-Gettext" "Ubuntu-Gettext" . -#sed '/test_suite/d' -i setup.py +sed '/test_suite/d' -i setup.py rm -rf tests rm data/software-properties-drivers.desktop.in @@ -73,16 +71,16 @@ sed -i '/software-properties-livepatch.desktop.in/d' setup.cfg sed -i '/software-properties-livepatch.desktop/s|^|#|' debian/software-properties-gtk.install #Remove ProPage -patch_p1 $DATA/rm_init_ubuntu_pro_if_lts.patch -sed -i '/.TrisquelProPage/d' softwareproperties/gtk/SoftwarePropertiesGtk.py +sed -i '/TrisquelProPage/d' softwareproperties/gtk/SoftwarePropertiesGtk.py +sed -i '/init_ubuntu_pro/d' softwareproperties/gtk/SoftwarePropertiesGtk.py -##Apply patch changes -# Livepatch - aramo -# Patch codename for PPAs -# Fix mention of "other packages" as we don't distribute snap. -# Remove extend esm url from update tabs -# Add s-p - 111 new dependency -apply_patch_changes +#Livepatch - aramo +patch --no-backup-if-mismatch -p1 < $DATA/remove_ubuntu_suscription_tab.patch +patch --no-backup-if-mismatch -p1 < $DATA/remove_proposed_updates.patch +#Patch codename for PPAs +patch --no-backup-if-mismatch -p1 < $DATA/fix_PPA_upstream_codename.patch +#Fix mention of "other packages" as we don't distribute snap. +patch --no-backup-if-mismatch -p1 < $DATA/removal_of_snaps_other_packages_referral.patch # Make software-properties-qt visible on Triskel sed -i '/^NoDisplay=/s|true|false|' data/software-properties-qt.desktop.in @@ -92,11 +90,10 @@ sed -i '/^Icon=/s|applications-other|system-software-install|' data/software-pro for patch in $(ls -v ${DATA}/l10n/*.patch) do echo "> Applying $(echo $patch|xargs basename)" - patch_p1 $patch + patch --no-backup-if-mismatch -Np1 < $patch done -changelog "Removed Ubuntu-specifc tests, Livepatch, Snap and fix PPA integration. -Backport v111 on Ecne for improved deb822 sources support." +changelog "Removed Ubuntu-specifc tests, Livepatch, Snap and fix PPA integration." package diff --git a/helpers/make-lxpanel b/helpers/make-sugar similarity index 51% rename from helpers/make-lxpanel rename to helpers/make-sugar index 9b9da8f..1f48667 100644 --- a/helpers/make-lxpanel +++ b/helpers/make-sugar @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2022 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,21 +18,27 @@ # VERSION=2 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu kinetic universe' . ./config -apply_patch_changes +# https://github.com/sugarlabs/sugar/issues/962 +cat << EOF | patch --no-backup-if-mismatch -p1 +--- a/src/jarabe/main.py 2022-04-23 02:53:15.000000000 -0400 ++++ b/src/jarabe/main.py 2022-12-02 09:08:53.666508572 -0500 +@@ -297,10 +297,6 @@ + os.environ['no_proxy'] = ",".join(Gio.Settings.new( + 'org.sugarlabs.system.proxy').get_strv('ignore-hosts')) + +- elif g_mode == 'none': +- for each_env_variable in env_variables: +- os.environ[each_env_variable] = '' +- + + def setup_theme(): + settings = Gtk.Settings.get_default() +EOF -# To use the multi-line change log, the message must be enclosed in quotes. -changelog "Backport patches from upstream lxpanel to improve stability and functionality: - - Fix scrolling issue in volume plugin (MR#46)/(TPH#218). - Handle 'not charging' battery state correctly (MR#53). - Prevent wincmd plugin from triggering button clicks incorrectly (MR#78). - Avoid panel freeze caused by pop-down menu detach (MR#84). - Restore disabled functionality in cpufreq plugin (MR#89, 4 commits). - Add debian changes to fix armhf cpufreq plugin. - -These changes improve reliability in power and task management plugins." +changelog "Backported from kinetic" package diff --git a/helpers/make-debconf b/helpers/make-sugar-artwork similarity index 82% rename from helpers/make-debconf rename to helpers/make-sugar-artwork index 3bfde9c..d6bf26f 100644 --- a/helpers/make-debconf +++ b/helpers/make-sugar-artwork @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2022 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,11 +18,10 @@ # VERSION=1 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu kinetic universe' . ./config -apply_patch_changes - -changelog "Add undef guard for Template.pm and Cache.pm" +changelog "Backported from kinetic" package diff --git a/helpers/make-sugar-datastore b/helpers/make-sugar-datastore new file mode 100644 index 0000000..d6bf26f --- /dev/null +++ b/helpers/make-sugar-datastore @@ -0,0 +1,27 @@ +#!/bin/sh +# +# Copyright (C) 2022 Ruben Rodriguez +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu kinetic universe' + +. ./config + +changelog "Backported from kinetic" + +package diff --git a/helpers/make-sugar-toolkit-gtk3 b/helpers/make-sugar-toolkit-gtk3 new file mode 100644 index 0000000..d6bf26f --- /dev/null +++ b/helpers/make-sugar-toolkit-gtk3 @@ -0,0 +1,27 @@ +#!/bin/sh +# +# Copyright (C) 2022 Ruben Rodriguez +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=1 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu kinetic universe' + +. ./config + +changelog "Backported from kinetic" + +package diff --git a/helpers/make-synaptic b/helpers/make-synaptic index bb54718..94d1bc3 100644 --- a/helpers/make-synaptic +++ b/helpers/make-synaptic @@ -18,15 +18,13 @@ # VERSION=0 -EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu resolute universe' -REPOKEY=871920D1991BC93C -BUILD_UNTIL=12.0 +BUILD_UNTIL=11.0 . ./config apply_patch_changes -changelog "Upgrade Ecne's version to manage apt 3.0 upgrade" +changelog "Fix synaptic screenshot url issue." package diff --git a/helpers/make-system-config-printer b/helpers/make-system-config-printer index bb4ed39..4090bf9 100644 --- a/helpers/make-system-config-printer +++ b/helpers/make-system-config-printer @@ -17,16 +17,20 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=3 +VERSION=2 COMPONENT=main . ./config -sed -i '/+NotShowIn/s|;GNOME;|;|g' debian/patches/Do-not-autostart-the-applet-on-LXDE-or-Unity.patch +sed -i '/+NotShowIn/s|;GNOME;|;|g' debian/patches/Hide-Printers-app-in-GNOME-and-KDE.patch \ + debian/patches/Do-not-autostart-the-applet-on-LXDE-or-Unity.patch remove_patch Allow-installing-non-free-drivers-from-OpenPrinting.patch remove_patch Allow-installing-packages-from-OpenPrinting.patch +#mkdir debian/local/ +#cp $DATA/testpage* debian/local/ + #Recommend trisquel-app-installer over gnome-software sed 's|gnome-software.*|trisquel-app-install,|g' -i debian/control diff --git a/helpers/make-systemd b/helpers/make-systemd index 0a49347..d13d3ec 100644 --- a/helpers/make-systemd +++ b/helpers/make-systemd @@ -23,8 +23,6 @@ # or fetch such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=1 NETINST=true . ./config diff --git a/helpers/make-tasksel b/helpers/make-tasksel index fe9f219..8b94f62 100644 --- a/helpers/make-tasksel +++ b/helpers/make-tasksel @@ -1,7 +1,7 @@ #!/bin/sh # # Copyright (C) 2008-2020 Ruben Rodriguez -# Copyright (C) 2025 Luis Guzman +# Copyright (C) 2022 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=7 +VERSION=6 COMPONENT=main . ./config @@ -26,21 +26,17 @@ COMPONENT=main # No install recommends sed 's/Install-Recommends=true/Install-Recommends=false/g' -i tasksel.pl -# Remove debian generic-tasks +#Remove debian generic-tasks sed -i '/Package: task-desktop/,/$p/d' debian/control -# Setup trisquel task required customization. +#Setup trisquel task required customization. cp -r $DATA/trisquel-tasks . cp $DATA/Makefile . cp $DATA/filter-tasks . -cp $DATA/lang-gen.sh . -cp $DATA/list packages/list - sed "/USUITE/s/.*/USUITE=$CODENAME/" Makefile -i replace "debian-tasks.desc" "trisquel-tasks.desc" -changelog "Added Trisquel's tasks -Added Trisquel's l10n tasksel implementation for d-i" +changelog "Added Trisquel's tasks" package diff --git a/helpers/make-telegram-desktop b/helpers/make-telegram-desktop new file mode 100644 index 0000000..1276d90 --- /dev/null +++ b/helpers/make-telegram-desktop @@ -0,0 +1,34 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=4 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye-backports-sloppy main' +REPOKEY=0E98404D386FA1D9 +BACKPORT=true + +. ./config + +#Remove stable backport workaround to keep using libmsgsl-dev 3.0 +sed -i 's|\-I\$(CURDIR)/debian||' debian/rules + +# Bump VERSION=4 to rebuild against newer libtgowt with openssl 3.0 support. + +changelog "Backported from debian bullseye-backports-sloppy | * Bump VERSION=4 to rebuild against libtgowt (0~git20230105.5098730+dfsg-1~bpo11+1+11.0trisquel5) with openssl 3.0 support." + +package diff --git a/helpers/make-tor b/helpers/make-tor index 5e49686..95730f8 100644 --- a/helpers/make-tor +++ b/helpers/make-tor @@ -17,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=5 +VERSION=3 EXTERNAL='deb-src http://deb.torproject.org/torproject.org $UPSTREAM main' REPOKEY=EE8CBC9E886DDD89 diff --git a/helpers/make-tre b/helpers/make-tre index eee34af..2328928 100644 --- a/helpers/make-tre +++ b/helpers/make-tre @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2023 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,11 +17,12 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=1 +VERSION=0 +BUILD_UNTIL=11.0 . ./config -changelog "Rebuild as dependency of aptitude for i386" +changelog "Add helper to force re-index on i386 repo." package diff --git a/helpers/make-trove-classifiers b/helpers/make-trove-classifiers new file mode 100644 index 0000000..20184fd --- /dev/null +++ b/helpers/make-trove-classifiers @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Copyright (C) 2026 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +VERSION=1 +EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble universe' +BACKPORT=true +BUILD_UNTIL=11.0 + +. ./config + + +changelog "Backport dependency for newer yt-dlp" + +package diff --git a/helpers/make-tzsetup b/helpers/make-tzsetup index 684cc30..9534c9f 100644 --- a/helpers/make-tzsetup +++ b/helpers/make-tzsetup @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-ubiquity b/helpers/make-ubiquity index 09cfb5d..3a29b05 100644 --- a/helpers/make-ubiquity +++ b/helpers/make-ubiquity @@ -1,7 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011-2025 Ruben Rodriguez -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2011-2024 Ruben Rodriguez # Copyright (C) 2019 Mason Hock # # This program is free software; you can redistribute it and/or modify @@ -19,15 +18,22 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=44 +VERSION=36 . ./config -Mirrors_masterlist_git="trisquel-packages/-/raw/master/extra/mirrors/Mirrors.masterlist" +# Avoid the need for a custom cdrom:// repo +patch --no-backup-if-mismatch -p1 < $DATA/grub-installer.patch +truncate -s 0 d-i/source/apt-setup/generators/40cdrom -## Apply patches upfront -# Please look for DATA/ubiquity/patch_changes for more info on applied patches by function: -apply_patch_changes +# Disable confirmation popups, as they are innacurate and buggy +patch --no-backup-if-mismatch -p1 < $DATA/no_confrirmation_when_crypto.patch + +# Fix some gtk labels for Orca +patch --no-backup-if-mismatch -p1 < $DATA/a11y.patch + +# Point ubiquity crash to trisquel's forge. +patch --no-backup-if-mismatch -p1 < $DATA/crash_report_point_to_trisquel_forge.patch # Remove test_timezone to prevent error out future builds on different daylight time. rm tests/test_timezone.py @@ -76,7 +82,7 @@ sed 's:\(targetdb)\):\1\n os.system("sudo chmod 644 /target/var/cache/deb # Fix https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1080701 sed '/from ubiquity import osextras/s/$/\nos.system("sudo swapoff -a")/' bin/ubiquity-wrapper -i -for i in $(ls -1 d-i/source/apt-setup/generators |grep -v 01setup) canonical.com security.ubuntu.com extras.ubuntu.com +for i in $(ls -1 d-i/source/apt-setup/generators |grep -v 01setup|grep -v 40cdrom) canonical.com security.ubuntu.com extras.ubuntu.com do /bin/sed /$i/d -i debian/ubiquity.install-any d-i/source/apt-setup/debian/*.install done @@ -86,8 +92,52 @@ echo "d-i/source/apt-setup/generators/99trisquel usr/lib/ubiquity/apt-setup/gene cp $DATA/trisquel.png data/ubiquity.png # remove Ubuntu apt setup for the installer -find d-i/source/apt-setup/generators -type f | grep -v 01setup | xargs -r rm -cp $DATA/99trisquel d-i/source/apt-setup/generators/ +find d-i/source/apt-setup/generators -type f | grep -v 01setup |grep -v 40cdrom| xargs -r rm +cat << EOF1 > d-i/source/apt-setup/generators/99trisquel +#!/bin/sh +set -e + +file="\$1" + +FASTEST=https://archive.trisquel.org/trisquel/ +SPEED=1000000000000 + +if nm-online -xq +then + for i in \$(grep '//' /usr/share/python-apt/templates/Trisquel.mirrors | sed 's|/$||') + do + echo Testing \$i + TIME=\$(date +%s%N) + wget --no-check-certificate -t 1 -T 5 --max-redirect=0 -o /dev/null -O /dev/null \$i/speedtest || continue + TIME2=\$(date +%s%N) + ELAPSED=\$(expr \$TIME2 - \$TIME) + echo Time: \$ELAPSED + if [ \$ELAPSED -lt \$SPEED ] + then + FASTEST=\$i + SPEED=\$ELAPSED + fi + done +fi + +echo "Selected mirror: \$FASTEST" + +MIRROR=\$FASTEST +RELEASE=\$(lsb_release -c | cut -f 2) + +cat << EOF > \$file +# Trisquel repositories for supported software and updates +deb \$MIRROR \$RELEASE main +deb-src \$MIRROR \$RELEASE main +deb \$MIRROR \$RELEASE-security main +deb-src \$MIRROR \$RELEASE-security main +deb \$MIRROR \$RELEASE-updates main +deb-src \$MIRROR \$RELEASE-updates main +#deb \$MIRROR \$RELEASE-backports main +#deb-src \$MIRROR \$RELEASE-backports main +EOF +EOF1 +chmod 755 d-i/source/apt-setup/generators/99trisquel # Redirect ports.ubuntu.com sed '/ports.ubuntu.com/d' -i ./d-i/source/apt-setup/debian/apt-mirror-setup.install @@ -95,7 +145,7 @@ sed 's/ports.ubuntu.com/archive.trisquel.org/g; s/ubuntu-ports/trisquel/g; s/ubu sed 's/CC.ports.ubuntu.com/archive.trisquel.org/g; s/.ports.ubuntu.com/archive.trisquel.org/g' -i ./d-i/source/choose-mirror/choose-mirror.c ./d-i/source/choose-mirror/debian/choose-mirror-bin.templates.ftp.sel-in ./d-i/source/choose-mirror/debian/choose-mirror-bin.templates.http-in # Set Mirrors.masterlist -wget https://gitlab.trisquel.org/trisquel/$Mirrors_masterlist_git -O ./d-i/source/choose-mirror/Mirrors.masterlist +wget https://archive.trisquel.org/trisquel/Mirrors.masterlist -O ./d-i/source/choose-mirror/Mirrors.masterlist sed '/Location/d; /Comment/d;' -i ./d-i/source/choose-mirror/Mirrors.masterlist cp ./d-i/source/choose-mirror/Mirrors.masterlist ./d-i/source/choose-mirror/Mirrors.masterlist.trisquel rm ./d-i/source/choose-mirror/Mirrors.masterlist.ubuntu @@ -264,8 +314,6 @@ EOF1 # Fix dependency for triskel sed '/Package: ubiquity-frontend-kde/,/Depends/s/Depends:/Depends: libkf5kdelibs4support5-bin,/' -i debian/control -sed '/shim/d' -i debian/control -sed '/ubuntu-drivers/d' -i debian/control sed 's/Trisquel/Trsql/' -i ubiquity/plugins/ubi-partman.py sed 's/Trisquel-Battersea/Ubuntu-Battersea/' -i tests/test_gtkwidgets.py diff --git a/helpers/make-ublock-origin b/helpers/make-ublock-origin index ce1d844..231e900 100644 --- a/helpers/make-ublock-origin +++ b/helpers/make-ublock-origin @@ -17,17 +17,25 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=1 +VERSION=0 . ./config sed -i 's|firefox-esr|icecat|g' debian/control sed -i '/Package:/!s|firefox|abrowser|g' debian/control sed -i 's|Firefox|Abrowser|g' debian/control -#sed -i 's|webext-ublock-origin-abrowser|webext-ublock-origin-firefox|g' debian/control +sed -i 's|webext-ublock-origin-abrowser|webext-ublock-origin-firefox|g' debian/control sed -i '/Package:/!s|chromium|ungoogled-chromium|g' debian/control sed -i 's|Chromium|Ungoogled-Chromium|g' debian/control -#sed -i 's|webext-ublock-origin-ungoogled-chromium|webext-ublock-origin-chromium|g' debian/control +sed -i 's|webext-ublock-origin-ungoogled-chromium|webext-ublock-origin-chromium|g' debian/control + +#Fix ftbfs jammy - https://github.com/WebAssembly/wabt/issues/1937 +upd_func() { + grep -rl $1 . |xargs -rr sed -i "s|$1|$2|" +} +upd_func get_local local.get +upd_func tee_local local.tee +upd_func set_local local.set changelog "Avoid recommend non-free browser options." diff --git a/helpers/make-ubuntu-budgie-meta b/helpers/make-ubuntu-budgie-meta index 700ebc8..ed65eca 100644 --- a/helpers/make-ubuntu-budgie-meta +++ b/helpers/make-ubuntu-budgie-meta @@ -17,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=5 +VERSION=4 . ./config # Rebrand and tweak packages @@ -26,7 +26,7 @@ sed -i '/^Package:/s|ubuntu-budgie-desktop|trisquel-budgie-desktop|' debian/cont sed -i '/raspi/d' metapackage-map sed -i '/budgie-desktop-raspi/,/it not be removed./d' debian/control -# Remove deprecated + nonfree packages +# Remove deprecated packages grep -l ubuntu-drivers-common desktop*| xargs -r sed -i '/ubuntu-drivers-common/d' grep -l snapd desktop*| xargs -r sed -i '/snapd/d' grep -l whoopsie desktop* | xargs -r sed -i '/whoopsie/d' @@ -35,10 +35,9 @@ grep -l ubuntu-budgie desktop*| xargs -r sed -i 's|ubuntu-budgie|trisquel-budgie sed -i 's|ubuntu-budgie|trisquel-budgie|' metapackage-map # Add custom trisquel packages -grep -l firefox desktop* | xargs -r sed -i "/firefox/a icedove" -grep -l firefox desktop* | xargs -r sed -i "/firefox/a trisquel-app-install" -grep -l firefox desktop* | xargs -r sed -i "s|firefox|abrowser|" -#grep -l gnome-software desktop* | xargs -r sed -i "s|gnome-software|trisquel-app-install|g" +grep -l thunderbird desktop* | xargs -r sed -i "/thunderbird/a abrowser" +grep -l thunderbird desktop* | xargs -r sed -i "s|thunderbird|icedove|" +grep -l gnome-software desktop* | xargs -r sed -i "s|gnome-software|trisquel-app-install|g" replace 'ubuntu-release-upgrader-gtk' 'trisquel-release-upgrader-gtk' replace 'fonts-ubuntu' 'fonts-trisquel' diff --git a/helpers/make-ubuntu-mate-settings b/helpers/make-ubuntu-mate-settings index ad0be92..553947c 100644 --- a/helpers/make-ubuntu-mate-settings +++ b/helpers/make-ubuntu-mate-settings @@ -17,21 +17,17 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=7 +VERSION=6 . ./config replace "Ubuntu MATE" "Trisquel" . -replace "Ubuntu-MATE" "Trisquel" usr/share/glib-2.0/schemas/30_ubuntu-mate.gschema.override +sed '/font/s/Ubuntu/Sans/' -i \ +usr/share/ubuntu-mate/settings-overlay/config/Trolltech.conf \ +usr/share/ubuntu-mate/settings-overlay/config/tilda/config_0 \ +usr/share/ubuntu-mate/settings-overlay/config/smplayer/smplayer.ini -for a in usr/share/ubuntu-mate/settings-overlay/config/ usr/share/glib-2.0/schemas/ -do - for b in $(grep -rl 'font' $a) - do - echo "> Modify Ubuntu font at: $i" - sed -i '/font/s|Ubuntu|Sans|' $b - done -done +sed 's/Ubuntu-MATE/Trisquel/; /font/s/Ubuntu/Sans/' -i usr/share/glib-2.0/schemas/30_ubuntu-mate.gschema.override cat << EOF > usr/share/applications/mate-mimeapps.list [Default Applications] @@ -103,16 +99,15 @@ sed '/dropbox/d' -i debian/ubuntu-mate-default-settings.install #Remove abrowser/firefox policies (starting on Jammy/Aramo). rm etc/firefox/policies/policies.json -# Do not customize arctica-greeter +#Do not customize arctica-greeter sed '/org.ArcticaProject.arctica-greeter/,/^$/d' -i usr/share/glib-2.0/schemas/30_ubuntu-mate.gschema.override -# Remove upstream firefox policies.json file. -sed -i '/exit/i if [ -f /etc/firefox/policies/policies.json ]; then' debian/ubuntu-mate-default-settings.postinst \ - debian/ubuntu-mate-default-settings.postrm -sed -i '/exit/i rm -f /etc/firefox/policies/policies.json' debian/ubuntu-mate-default-settings.postinst \ - debian/ubuntu-mate-default-settings.postrm -sed -i '/exit/i fi' debian/ubuntu-mate-default-settings.postinst \ - debian/ubuntu-mate-default-settings.postrm +#sed -i '/exit/i if [ -f /etc/firefox/policies/policies.json ]; then' debian/ubuntu-mate-default-settings.postinst \ +# debian/ubuntu-mate-default-settings.postrm +#sed -i '/exit/i rm -f /etc/firefox/policies/policies.json' debian/ubuntu-mate-default-settings.postinst \ +# debian/ubuntu-mate-default-settings.postrm +#sed -i '/exit/i fi' debian/ubuntu-mate-default-settings.postinst \ +# debian/ubuntu-mate-default-settings.postrm changelog "Customized for Trisquel" diff --git a/helpers/make-ubuntu-release-upgrader b/helpers/make-ubuntu-release-upgrader index d9a902b..bf9d451 100644 --- a/helpers/make-ubuntu-release-upgrader +++ b/helpers/make-ubuntu-release-upgrader @@ -1,7 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán -# Copyright (C) 2008-2024 Ruben Rodriguez +# Copyright (C) 2008-2023 Ruben Rodriguez # Copyright (C) 2014 Santiago Rodriguez # Copyright (C) 2019 Mason Hock # @@ -25,20 +24,9 @@ # Also, don't forget to update the meta-release files at archive and packages.t.i # The "obsoletes" list from ubuntu has been removed -VERSION=20 +VERSION=15 . ./config -# Previous upstream release name, update for each release. -PREV_UPS_REL=jammy -PREV_TRIS_REL=aramo -# Use git Mirrors.masterlist as source. -Mirrors_masterlist=$(mktemp) -Mirrors_masterlist_git="trisquel-packages/-/raw/master/extra/mirrors/Mirrors.masterlist" -TPH_GIT_URL="https://gitlab.trisquel.org/trisquel/package-helpers/" - -# Fix PEP440 version compatibility -# https://salsa.debian.org/debian/distro-info/-/commit/e2877dc44659d034155495e91976874c209a3c02 -patch_p1 $DATA/pep440.patch #%FSDG: Remove functions to deal with proprietary drivers rm ./DistUpgrade/xorg_fix_proprietary.py @@ -128,7 +116,7 @@ that you have found a bug please send it to us via https://gitlab.trisquel.org/trisquel/package-helpers/-/issues If you have a question, or if you think you may have found a bug but -aren't sure, first try asking on the #trisquel IRC channel on LiberaChat, +aren't sure, first try asking on the #trisquel IRC channel on Freenode, on the Trisquel Users mailing list, or on the Trisquel forums: https://listas.trisquel.info/ @@ -185,7 +173,7 @@ that you have found a bug please send it to us via https://gitlab.trisquel.org/trisquel/package-helpers/-/issues If you have a question, or if you think you may have found a bug but -aren't sure, first try asking on the #trisquel IRC channel on LiberaChat, +aren't sure, first try asking on the #trisquel IRC channel on Freenode, on the Trisquel Users mailing list, or on the Trisquel forums: https://listas.trisquel.info/ @@ -213,12 +201,12 @@ perl $DATA/parsewiki DistUpgrade/DevelReleaseAnnouncement > DistUpgrade/DevelRel cat < data/removal_denylist.cfg # list of packages that should never be removed -^trisquel-base$ -^trisquel-minimal$ -^trisquel-desktop-common$ -^trisquel-mini$ -^triskel$ -^trisquel-sugar$ +trisquel-base +trisquel-minimal +trisquel-desktop-common +trisquel-mini +triskel +trisquel-sugar # update-manager should not remove itself update-manager update-manager-core @@ -234,11 +222,25 @@ trisquel-release-upgrader-core EOF rm data/mirrors.cfg -# https://gitlab.trisquel.org/trisquel/trisquel-packages/-/tree/master/extra/mirrors -# FIXME: Propose a way to integrate from git and avoid fetching via wget/curl. -wget https://gitlab.trisquel.org/trisquel/$Mirrors_masterlist_git -o /dev/null -O $Mirrors_masterlist -python3 $DATA/../python-apt/parse-mirror-masterlist.py $Mirrors_masterlist|grep https|sort > data/mirrors.cfg -rm $Mirrors_masterlist +#https://mirmon.trisquel.org/conf.txt +cat << EOF > data/mirrors.cfg +https://archive.trisquel.info/trisquel/ +https://archive.trisquel.org/trisquel/ +https://mirror.fsf.org/trisquel/ +https://mirror.cedia.org.ec/trisquel.packages/ +https://mirrors.ustc.edu.cn/trisquel/ +https://ftp.caliu.cat/pub/distribucions/trisquel/packages/ +https://ftp.acc.umu.se/mirror/trisquel/packages/ +https://mirrors.ocf.berkeley.edu/trisquel/ +https://mirror.librelabucm.org/trisquel/ +https://mirror.linux.pizza/trisquel/packages/ +https://quantum-mirror.hu/mirrors/pub/trisquel/packages/ +https://mirror.csclub.uwaterloo.ca/trisquel/packages/ +https://ftpmirror1.infania.net/mirror/trisquel/packages/ +https://mirrors.nju.edu.cn/trisquel/ +https://mirror.math.princeton.edu/pub/trisquel-packages/ +https://mirrors.dotsrc.org/trisquel/ +EOF replace changelogs.ubuntu.com packages.trisquel.org . @@ -262,7 +264,6 @@ rpl 20\.04 10\.0 po/* -R rpl 20\.04 10\.0 DistUpgrade/*.ui -R replace '20.04' '10.0' replace '22.04' '11.0' -replace '24.04' '12.0' rpl oneiric brigantia . -R rpl natty dagda . -R rpl maverick slaine . -R @@ -277,28 +278,20 @@ rpl xenial flidas . -R rpl bionic etiona . -R rpl focal nabia . -R rpl jammy aramo . -R -rpl noble ecne . -R rm data/DistUpgrade.cfg* cp $DATA/DistUpgrade.cfg* data/ -cat << EOF | tee -a utils/demoted.cfg utils/demoted.cfg.$PREV_UPS_REL +cat << EOF >> data/demoted.cfg notification-daemon resolvconf eom -desktop-common EOF -for i in utils/demoted.cfg utils/demoted.cfg.$PREV_UPS_REL -do - sort -o $i $i -done -mv data/demoted.cfg.$PREV_UPS_REL data/demoted.cfg.$PREV_TRIS_REL - -sed -i "s|the command .ubuntu-bug ubuntu-release-upgrader-core. in a terminal|$TPH_GIT_URL|" DistUpgrade/DistUpgradeCache.py -replace "https*://launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+filebug" "${TPH_GIT_URL}-/issues" . -replace "https*://launchpad.net/ubuntu/+source/ubuntu-release-upgrader" "$TPH_GIT_URL" . -replace "https*://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+filebug" "${TPH_GIT_URL}-/issues" . +sed 's|.ubuntu-bug ubuntu-release-upgrader-core. in a terminal|https://gitlab.trisquel.org/trisquel/package-helpers in a browser.|' DistUpgrade/DistUpgradeCache.py -i +replace "https*://launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+filebug" "https://gitlab.trisquel.org/trisquel/package-helpers/-/issues" . +replace "https*://launchpad.net/ubuntu/+source/ubuntu-release-upgrader" "https://gitlab.trisquel.org/trisquel/package-helpers/" . +replace "https*://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+filebug" "https://gitlab.trisquel.org/trisquel/package-helpers/-/issues" . find -type f |xargs rename 's/ubuntu-release-upgrader/trisquel-release-upgrader/g' replace "ubuntu-release-upgrader" "trisquel-release-upgrader" . mv kubuntu-devel-release-upgrade triskel-devel-release-upgrade @@ -320,34 +313,22 @@ rpl security.ubuntu.com/ubuntu archive.trisquel.org/trisquel . -R rpl archive.ubuntu.com archive.trisquel.org . -R rpl security.ubuntu.com archive.trisquel.org . -R -sed "s/.main., .restricted., .universe., .multiverse./'main'/g" DistUpgrade/DistUpgradeController.py -i utils/demotions.py +sed 's/"main", "restricted", "universe", "multiverse"/"main"/g' DistUpgrade/DistUpgradeController.py -i utils/demotions.py sed '/restricted/d' -i utils/demotions.py +sed 's/"main", "restricted"/"main"/g' DistUpgrade/DistUpgradeController.py -i rpl "main restricted" "main" DistUpgrade -R +sed 's/,"restricted"//g' DistUpgrade/DistUpgradeController.py -i +#sed 's/","restricted"/\\n"/g' DistUpgrade/DistUpgradeController.py -i +#rpl '10.04' $REVISION DistUpgrade po -R replace Ubuntu Trisquel replace Canonical Trisquel replace "https*://www.ubuntu.com/" "https://trisquel.info" . -replace "https*://wiki.ubuntu.com/X/Bugs/" "${TPH_GIT_URL}-/issues" . +replace "https*://wiki.ubuntu.com/X/Bugs/" "https://gitlab.trisquel.org/trisquel/package-helpers/-/issues" . replace "https*://wiki.ubuntu.com/" "https://trisquel.info/wiki" . replace "https*://help.ubuntu.com/community" "https://trisquel.info/wiki" . -/bin/sed -i \ - -e 's/kubuntu/triskel/g' \ - -e 's/xubuntu/trisquel-mini/g' \ - -e 's/�~Lubuntu/�~Ltrisquel/g' \ - -e 's/被ubuntu/被trisquel/g' \ - -e "s#http://launchpad.net/ubuntu/+source/%s/%s/+changelog#$TPH_GIT_URL#g" \ - -e 's/<.*@ubuntu.com/\"|" DistUpgrade/build-dist.sh - -#NOTE: In order to run build-dist.sh it is required: -# - apt-clone -# - intltool - changelog "Compiled for Trisquel" PARALLEL=false package diff --git a/helpers/make-ubuntu-themes b/helpers/make-ubuntu-themes index 0db902d..b3e725f 100644 --- a/helpers/make-ubuntu-themes +++ b/helpers/make-ubuntu-themes @@ -17,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=1 +VERSION=2 . ./config # Rebrand logo @@ -34,19 +34,18 @@ do cp $DATA/logo-trisquel-dark.svg $b done ## regular -for c in $(find . -name *.svg|grep "computer\|package-supported") +for c in $(find . -name *.svg|grep "computer\|package-supported"|grep -v devices) do echo "> copying trisquel-logo.svg to $c" cp $DATA/trisquel-logo.svg $c done -## no longer suru theme, keeping png images for future usage. #suru -#cp $DATA/png/trisquel-logo_512.png suru-icons/places/512/distributor-logo.png -#cp $DATA/png/trisquel-logo_256.png suru-icons/places/256/distributor-logo.png -#cp $DATA/png/trisquel-logo_128.png suru-icons/places/128/distributor-logo.png -#cp $DATA/png/trisquel-logo_48.png suru-icons/places/48/distributor-logo.png -#cp $DATA/trisquel-logo.svg suru-icons/places/scalable/distributor-logo.svg +cp $DATA/png/trisquel-logo_512.png suru-icons/places/512/distributor-logo.png +cp $DATA/png/trisquel-logo_256.png suru-icons/places/256/distributor-logo.png +cp $DATA/png/trisquel-logo_128.png suru-icons/places/128/distributor-logo.png +cp $DATA/png/trisquel-logo_48.png suru-icons/places/48/distributor-logo.png +cp $DATA/trisquel-logo.svg suru-icons/places/scalable/distributor-logo.svg cp $DATA/png/trisquel-logo.png distributor-logo.png diff --git a/helpers/make-ubuntukylin-default-settings b/helpers/make-ubuntukylin-default-settings index 96f151d..015195d 100644 --- a/helpers/make-ubuntukylin-default-settings +++ b/helpers/make-ubuntukylin-default-settings @@ -17,8 +17,6 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-5-DESKTOP|ARTWORK - VERSION=2 . ./config diff --git a/helpers/make-ubuntukylin-wallpapers b/helpers/make-ubuntukylin-wallpapers index 7e0aa6a..d7d44e6 100644 --- a/helpers/make-ubuntukylin-wallpapers +++ b/helpers/make-ubuntukylin-wallpapers @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2024 Luis Guzmán +# Copyright (C) 2022 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,22 +17,17 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-5-DESKTOP|ARTWORK - VERSION=3 . ./config -# Patch PEP440 version. -patch_p1 $DATA/pep440.patch - # Tune default background for kylin sed -i "s|background=.*|background=\"/usr/share/backgrounds/$CODENAME.jpg\"|" 30_ubuntukylin-wallpapers.gschema.override sed -i "s|picture-uri=.*|picture-uri=\'file:///usr/share/backgrounds/$CODENAME.jpg\'|" 30_ubuntukylin-wallpapers.gschema.override -# Make sure to review helper on the designed stage prior to release, so it uses -# right artwork when released. -cp $(find $DATA/../trisquel-wallpapers/ -name $CODENAME.*) warty-final-ubuntukylin.jpg +# Copy final artwork from trisquel-packages/$VERSION/trisquel-wallpapers repository. +# Make sure to force helper fail on release update, so it's fixed once the new artwork is released. +cp $DATA/$CODENAME.jpg warty-final-ubuntukylin.jpg # Add current release wallpaper to any possible xml release kylin-wallpaper file. for i in $(find -name \*.xml.in) diff --git a/helpers/make-udpkg b/helpers/make-udpkg index 684cc30..9534c9f 100644 --- a/helpers/make-udpkg +++ b/helpers/make-udpkg @@ -23,9 +23,9 @@ # such packages from Debian in order to build the required udeb packages. ## -VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +VERSION=0 +EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main' +REPOKEY=0E98404D386FA1D9 NETINST=true . ./config diff --git a/helpers/make-umbrello b/helpers/make-umbrello index cd83a4d..e9b628e 100644 --- a/helpers/make-umbrello +++ b/helpers/make-umbrello @@ -19,8 +19,9 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # +#Backport from jammy kde neon to aramo backports. VERSION=1 -EXTERNAL='deb-src http://archive.neon.kde.org/user $UPSTREAM main' +EXTERNAL='deb-src http://archive.neon.kde.org/user jammy main' REPOKEY="E6D4736255751E5D" BACKPORT=true diff --git a/helpers/make-ungoogled-chromium b/helpers/make-ungoogled-chromium deleted file mode 100644 index e4dbe31..0000000 --- a/helpers/make-ungoogled-chromium +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2025 Luis Guzman -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -# -VERSION=0 -EXTERNAL='deb-src https://ppa.launchpadcontent.net/xtradeb/apps/ubuntu $UPSTREAM main' -REPOKEY=82BB6851C64F6880 - -. ./config - -# Disable privative codecs. -sed -i '/proprietary_codecs/s|true|false|' debian/rules -sed -i '/enable_widevine/s|true|false|' debian/rules - -# Remove non-free and prebuilt binaries -while read -r file; do - rm -rf $file -done << EOF -src/3rdparty/chromium/net/tools/testserver/dist/*.pyd -src/3rdparty/chromium/third_party/blink/manual_tests/plugins/*.swf -src/3rdparty/chromium/third_party/blink/manual_tests/resources/spinbox.swf -src/3rdparty/chromium/third_party/breakpad/breakpad/src/tools/windows/binaries -src/3rdparty/chromium/third_party/breakpad/symupload.exe -src/3rdparty/chromium/third_party/crashpad/crashpad/handler/win/z7_test.dll -src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_fuzzer_corpus -src/3rdparty/chromium/third_party/lzma_sdk/7zr.exe -src/3rdparty/chromium/third_party/lzma_sdk/Executable/7za.exe -src/3rdparty/chromium/third_party/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe -src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh -src/3rdparty/chromium/third_party/lzma_sdk/Executable/7zS2.sfx -src/3rdparty/chromium/third_party/arcore-android-sdk -src/3rdparty/chromium/third_party/swiftshader/third_party/PowerVR_SDK -tests/auto/widgets/resources/test.swf -src/3rdparty/chromium/third_party/icu/windows/icudt.dll -src/3rdparty/chromium/third_party/sfntly/src/cpp/ext/redist/cmake-2.8.5-win32-x86.zip -src/3rdparty/chromium/third_party/sfntly/src/cpp/ext/redist/icu4c-4_6_1-Win32-msvc10.zip -src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/mac/testapp/crashduringload -src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/mac/testapp/crashInMain -src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/mac/gcov/libgcov.a -src/3rdparty/chromium/third_party/skia/platform_tools/android/bin/mac/perfhost -src/3rdparty/chromium/third_party/openh264/src/autotest/performanceTest/ios/fruitstrap -src/3rdparty/chromium/third_party/openh264/src/autotest/performanceTest/ios/iFileTransfer -src/3rdparty/chromium/third_party/blink/renderer/devtools/scripts/closure/closure_runner/closure_runner.jar -src/3rdparty/chromium/third_party/blink/renderer/devtools/scripts/closure/compiler.jar -src/3rdparty/chromium/third_party/blink/renderer/devtools/scripts/jsdoc_validator/jsdoc_validator.jar -src/3rdparty/chromium/third_party/unrar -src/3rdparty/chromium/third_party/win_build_output -src/3rdparty/chromium/build/android/CheckInstallApk-debug.apk -src/3rdparty/chromium/third_party/blink/manual_tests/accessibility/resources/AppletTest.class -src/3rdparty/chromium/third_party/blink/manual_tests/resources/*.class -src/3rdparty/chromium/third_party/blink/manual_tests/WebKitSite.webarchive -EOF - -# TODO: study implementarion of ppc64el changes to actually build it. -# https://github.com/llebout/ungoogled-chromium -sed -i '/Architecture:/s|ppc64el||' debian/control - -apply_patch_changes - -changelog "Backported ungoogled-chromium package from xtradeb community." - -package diff --git a/helpers/make-unity-greeter b/helpers/make-unity-greeter index d0a31b4..a94d0c4 100644 --- a/helpers/make-unity-greeter +++ b/helpers/make-unity-greeter @@ -17,8 +17,6 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -#STAGE-5-DESKTOP|ARTWORK - VERSION=6 . ./config diff --git a/helpers/make-readline b/helpers/make-unknown-horizons similarity index 65% rename from helpers/make-readline rename to helpers/make-unknown-horizons index 4114991..e3200dc 100644 --- a/helpers/make-readline +++ b/helpers/make-unknown-horizons @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2024 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,18 +17,16 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -## -# This helper is part of a series of packages that are now droppped on upstream -# Ubuntu, therefore in order to build a working debian-installer we now fetch -# such packages from Debian in order to build the required udeb packages. -## - -#STAGE-4-UDEBS - VERSION=0 -NETINST=true +EXTERNAL='deb-src http://ftp.us.debian.org/debian bookworm main' +REPOKEY=6ED0E7B82643E131 +BUILD_UNTIL=11.0 + . ./config +# Restore unifont.ttf usage for T11.0 only. +sed -i 's|/usr/share/fonts/opentype/unifont/unifont.otf|/usr/share/fonts/truetype/unifont/unifont.ttf|' debian/links + +changelog "Backport latest fixes from bookworm, while still using unifont.ttf on aramo." -changelog "Fetch and build as udeb dependency for debian-installer." package diff --git a/helpers/make-unzip b/helpers/make-unzip index c0a9258..d637f88 100644 --- a/helpers/make-unzip +++ b/helpers/make-unzip @@ -23,8 +23,6 @@ COMPONENT=main # Origin: # http://lists.nongnu.org/archive/html/gnu-linux-libre/2011-09/msg00001.html -# Santiago ported recmatch() from util.c found in the zip package, which follows -# ftp://ftp.info-zip.org/pub/infozip/license.html patch --no-backup-if-mismatch -p0 < $DATA/match.patch diff --git a/helpers/make-update-manager b/helpers/make-update-manager index 6dac24f..b47b38e 100644 --- a/helpers/make-update-manager +++ b/helpers/make-update-manager @@ -1,7 +1,7 @@ #!/bin/sh # # Copyright (C) 2008-2023 Ruben Rodriguez -# Copyright (C) 2024 Luis Guzmán +# Copyright (C) 2023 Luis Guzmán # Copyright (C) 2019 Mason Hock # # This program is free software; you can redistribute it and/or modify @@ -19,19 +19,18 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=24 -DEPENDS=at-spi2-core +VERSION=23 . ./config -PRE_REVISION=11.0 -PRE_UPSTREAMRELEASE=22.04 +PRE_REVISION=10.0 +PRE_UPSTREAMRELEASE=20.04 rm UpdateManager/Core/LivePatchSocket.py rm tests/test_livepatch_socket.py - # Important patch make sure to update when necessary. patch_p1 $DATA/remove-livepatch2.patch +sed -i "/ubuntu-advantage-tools/d" debian/control #Closes #12545 patch_p1 $DATA/trisquel-versions.patch @@ -42,13 +41,9 @@ cp $DATA/index.docbook help/C/index.docbook patch_p1 $DATA/prevent-autoconnection.patch # NOTE: prevent-autoconnection.patch l10n is now part of the DATA/l10n/ patches. -# Remove Ubuntu Pro packages updates ; yet another important patch. +# Roll back the usage of uaclient.api.u.pro.packages.updates.v1 patch_p1 $DATA/rm_pro.packages.updates_from_u-m.patch -# Remove snap backend. -#sed -i "/gir1.2-snapd-2,/d" debian/control -#patch_p1 $DATA/rm_snap_backend.patch - replace internet Internet . replace Ubuntu Trisquel . replace TrisquelDistroInfo UbuntuDistroInfo . @@ -62,10 +57,7 @@ replace xubuntu-desktop trisquel-mini . replace edubuntu-desktop toast . replace ubuntu-desktop trisquel . -# Remove upstream name flavor and python translation module sed '/%s base/ s/name.*/name = "Trisquel base"/' -i ./UpdateManager/Core/UpdateList.py -sed -i '/from gettext import gettext as _/d' ./UpdateManager/Core/UpdateList.py - sed 's_https://changelogs.ubuntu.com/changelogs/pool/_https://packages.trisquel.org/changelogs/pool/_' -i UpdateManager/Core/MyCache.py #Make sure apt_pkg is enabled for prevent-autoconnection.patch to work. @@ -73,13 +65,11 @@ sed 's_https://changelogs.ubuntu.com/changelogs/pool/_https://packages.trisquel. sed -i '/import distro_info/i import apt_pkg' UpdateManager/UpdateManager.py #Make use of new TrisquelDistroInfo -for i in UpdateManager/UpdateManager.py hwe-support-status \ - ubuntu-security-status tests/test_meta_release_core.py \ - UpdateManager/Core/MetaRelease.py -do - sed -i 's|UbuntuDistroInfo|TrisquelDistroInfo|g' $i -done - +sed -i 's|UbuntuDistroInfo|TrisquelDistroInfo|g' UpdateManager/UpdateManager.py +sed -i 's|UbuntuDistroInfo|TrisquelDistroInfo|g' hwe-support-status +sed -i 's|UbuntuDistroInfo|TrisquelDistroInfo|g' ubuntu-security-status +sed -i 's|UbuntuDistroInfo|TrisquelDistroInfo|g' tests/test_meta_release_core.py +sed -i 's|UbuntuDistroInfo|TrisquelDistroInfo|g' UpdateManager/Core/MetaRelease.py #Fix partial upgrade button sed -i '/do-partial-upgrade/s|ubuntu-release|trisquel-release|' UpdateManager/Dialogs.py @@ -92,10 +82,6 @@ do patch_p1 $patch done -# Add global pycodestyle patch -echo "> Apply 99_pycodestyle_pass.patch" -patch_p1 $DATA/extra/99_pycodestyle_pass.patch - changelog "Compiled for Trisquel" package diff --git a/helpers/make-update-notifier b/helpers/make-update-notifier index 814b3aa..b7e918a 100644 --- a/helpers/make-update-notifier +++ b/helpers/make-update-notifier @@ -1,7 +1,7 @@ #!/bin/sh # # Copyright (C) 2012-2023 Ruben Rodriguez -# Copyright (C) 2024 Luis Guzmán +# Copyright (C) 2023 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=14 +VERSION=13 COMPONENT=main . ./config @@ -27,6 +27,8 @@ COMPONENT=main sed '/update-manager/s/--no-update/--no-update", "--no-check-screen/' -i data/backend_helper.py # Actually install all upgrades in "Install all upgrades" menu entry sed '/client.upgrade_system/s/safe_mode=True/safe_mode=False/' -i data/backend_helper.py +# Check updates with update-notifier instead of aptdaemon +patch --no-backup-if-mismatch -p1 < $DATA/check_updates_with_update_manager.patch # Shorter check times for apt task ending sed '/TIMEOUT_APT_RUN/s/600/60/g' -i src/update-notifier.c # Set the right path for 'check-new-release-gtk' and 'trisquel-release-upgrader' @@ -35,6 +37,9 @@ grep -rl lib/ubuntu-release-upgrader | xargs -r sed -i 's|lib/ubuntu-release-upg # Use update-manager to checks for dist-upgrades. #FIXME: sed '/RELEASE_UPGRADE_CHECKER/s|/usr/lib/ubuntu-release-upgrader/check-new-release-gtk|sleep 5; nice ionice -c3 /usr/lib/update-notifier/backend_helper.py reminder_check|' -i src/update-notifier.h +# Reduce the timeout to refresh the status of the tray icon +patch --no-backup-if-mismatch -p1 < $DATA/improve_responsiveness.patch + #Use custom apt-check to fix motd update notification by striping esm stuff. cp $DATA/apt_check.py data/apt_check.py sed -i '/test_motd.py/d' debian/rules @@ -52,7 +57,21 @@ sed '/Update-Package-Lists/s/1/0/' -i debian/10periodic # Allow to run under KDE sed '/NotShowIn=KDE/d' -i data/update-notifier.desktop.in -apply_patch_changes +# Actually show the indicator icon +cat << EOF | patch --no-backup-if-mismatch -p1 +diff --git a/src/update.c b/src/update.c +index 588fa66..951a24f 100644 +--- a/src/update.c ++++ b/src/update.c +@@ -687,7 +687,6 @@ update_check (TrayApplet *ta) + + g_child_watch_add (pid, launch_update_manager, NULL); + } +- return TRUE; + + // if we are already visible, skip the rest + if(tray_applet_ui_get_visible (ta)) +EOF # Custom icons cp $DATA/icons/* ./pixmaps/scalable @@ -64,10 +83,51 @@ sed '/usr\/share\/icons\/hicolor\/..x../d' -i debian/update-notifier.install # Disable livepatch sed '/livepatch/d' -i debian/update-notifier.install +# Wayland compatibility +cat << EOF | patch --no-backup-if-mismatch -p1 +--- a/src/update-notifier.c 2023-01-20 13:50:39.000000000 -0500 ++++ b/src/update-notifier.c 2023-02-07 11:08:58.883996715 -0500 +@@ -168,7 +168,13 @@ + + // normal launch + context = gdk_display_get_app_launch_context (gdk_display_get_default ()); +- guint32 timestamp = gdk_x11_get_server_time (gtk_widget_get_window (w)); ++ guint32 timestamp; ++#ifdef GDK_WINDOWING_X11 ++ if (GDK_IS_X11_DISPLAY (gdk_display_get_default ())) ++ timestamp = gdk_x11_get_server_time (gtk_widget_get_window (w)); ++ else ++#endif ++ timestamp = (guint32) (g_get_monotonic_time () / 1000); + appinfo = g_app_info_create_from_commandline(cmd, + cmd, + G_APP_INFO_CREATE_NONE, +EOF + +# Removal of whoopsie & apport +cat << EOF | patch --no-backup-if-mismatch -p1 +--- a/debian/control 2023-04-06 12:43:17.147156435 -0600 ++++ b/debian/control 2023-04-06 12:46:32.883071182 -0600 +@@ -34,11 +34,9 @@ + ubuntu-release-upgrader-gtk, + gnome-shell | notification-daemon , + policykit-1 +-Recommends: apport-gtk (>=2.8-0ubuntu3), +- python3-aptdaemon.gtk3widgets | synaptic (>= 0.75.12), ++Recommends: python3-aptdaemon.gtk3widgets | synaptic (>= 0.75.12), + software-properties-gtk, +- python3-aptdaemon, +- whoopsie (>= 0.2.77) ++ python3-aptdaemon + Description: Daemon which notifies about package updates + Puts an icon in the user's notification area when package updates are + available. +EOF + # Removal daemons from ubuntu-advantage truncate -s 0 data/ubuntu-advantage-notification.desktop.in sed -i '/ubuntu-advantage-notification/d' debian/update-notifier.install -sed -i '/ubuntu-advantage-notification.desktop.in.h/,+2d' po/*.po +sed -i '/ubuntu-advantage-notification.desktop.in.h/,+2d' po/*.po po/*.pot # Remove ubuntu-advantage services cat << EOF >> debian/postrm @@ -78,6 +138,10 @@ rm -rf /etc/xdg/autostart/ubuntu-advantage-notification.desktop #DEBHELPER# EOF +# Force removal of old services on previous version. +sed -i '/Description: Daemon/i Breaks: update-notifier-common (<= 3.192.54.6+11.0trisquel8)' debian/control +sed -i '/Suggests: policykit-1/i Breaks: update-notifier-common (<= 3.192.54.6+11.0trisquel8)' debian/control + # Improve gtk dependency sed '/Package: update-notifier$/,/^$/s/policykit-1/policykit-1, python3-aptdaemon.gtk3widgets/' -i debian/control diff --git a/helpers/make-util-linux b/helpers/make-util-linux index 796da99..49ec864 100644 --- a/helpers/make-util-linux +++ b/helpers/make-util-linux @@ -23,17 +23,10 @@ # or fetch such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - -VERSION=1 +VERSION=0 NETINST=true . ./config -# Fix FTBFS when rebuild at Ecne. -# - lsfd/option-inet -patch_p1 $DATA/lsfd--fix-2399-use-fifo-in-test-cases.patch -# - fadvise/drop -patch_p1 $DATA/tests-mark-fadvise-drop-as-known-failing-on-buildds.patch changelog "Rebuild upstream to get udeb dependency for debian-installer." package diff --git a/helpers/make-videomass b/helpers/make-videomass index 4eb4f81..b21dce2 100644 --- a/helpers/make-videomass +++ b/helpers/make-videomass @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2021 Luis Guzman +# Copyright (C) 2025 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=1 +VERSION=2 EXTERNAL='deb-src http://ppa.launchpad.net/jeanslack/videomass/ubuntu $UPSTREAM main' REPOKEY=1829041B1114F671 BACKPORT=true diff --git a/helpers/make-vokoscreen-ng b/helpers/make-vokoscreen similarity index 100% rename from helpers/make-vokoscreen-ng rename to helpers/make-vokoscreen diff --git a/helpers/make-weechat b/helpers/make-weechat index c6cbbdf..d5b5f39 100644 --- a/helpers/make-weechat +++ b/helpers/make-weechat @@ -19,7 +19,7 @@ VERSION=1 EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 +REPOKEY=0E98404D386FA1D9 BACKPORT=true . ./config diff --git a/helpers/make-wireless-regdb b/helpers/make-wireless-regdb index 5b48f81..b51a92c 100644 --- a/helpers/make-wireless-regdb +++ b/helpers/make-wireless-regdb @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2022 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,11 +24,12 @@ ## VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' +EXTERNAL='deb-src http://ftp.debian.org/debian bookworm main' REPOKEY=6ED0E7B82643E131 NETINST=true . ./config +#Track testing 'til stable tracks version 2022.06.06-1 changelog "Rebuild upstream to get udeb dependency for debian-installer." package diff --git a/helpers/make-wireless-tools b/helpers/make-wireless-tools index 0e67799..13a704b 100644 --- a/helpers/make-wireless-tools +++ b/helpers/make-wireless-tools @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2025 Luis Guzmán +# Copyright (C) 2022 Luis Guzmán # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,8 +24,6 @@ ## VERSION=1 -EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' -REPOKEY=6ED0E7B82643E131 NETINST=true . ./config diff --git a/helpers/make-xfce4-sensors-plugin b/helpers/make-xfce4-sensors-plugin new file mode 100644 index 0000000..1cb6495 --- /dev/null +++ b/helpers/make-xfce4-sensors-plugin @@ -0,0 +1,28 @@ +#!/bin/sh +# +# Copyright (C) 2021 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=2 + +. ./config + +# restore libxnvctrl lib for nvidia hardware detection. + +changelog "Restore nvidia-settings dependency." + +package diff --git a/helpers/make-xz-utils b/helpers/make-xz-utils deleted file mode 100644 index 4114991..0000000 --- a/helpers/make-xz-utils +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2025 Luis Guzmán -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# - -## -# This helper is part of a series of packages that are now droppped on upstream -# Ubuntu, therefore in order to build a working debian-installer we now fetch -# such packages from Debian in order to build the required udeb packages. -## - -#STAGE-4-UDEBS - -VERSION=0 -NETINST=true -. ./config - - -changelog "Fetch and build as udeb dependency for debian-installer." -package diff --git a/helpers/make-youtube-dl b/helpers/make-youtube-dl new file mode 100644 index 0000000..3e224d8 --- /dev/null +++ b/helpers/make-youtube-dl @@ -0,0 +1,36 @@ +#!/bin/sh +# +# Copyright (C) 2011 Rubén Rodríguez +# Copyright (C) 2021 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +VERSION=4 +EXTERNAL='deb-src http://ftp.debian.org/debian bookworm main' +REPOKEY=6ED0E7B82643E131 +. ./config + +SUPPORTED_SITES="https://ytdl-org.github.io/youtube-dl/supportedsites.html" +LAST_SUPPORTED="$(tail -n1 debian/control|sed 's|^ ||')" + +sed -i "/Currently supported/s|are:|are at:|" debian/control +/bin/sed -n -i '/Currently supported/{p;:a;N;/'$LAST_SUPPORTED'/!ba;s| .*| '$SUPPORTED_SITES'\n|};p' -i debian/control +# Make sure it fails if we don't get the wanted output. +[ "$SUPPORTED_SITES" != "$(tail -n2 debian/control|awk NF|sed 's|^ ||')" ] && echo -e ">>>Site replacement needs fixing, exiting...<<<\n" && exit + +changelog "Imported into Trisquel" + +package diff --git a/helpers/make-yt-dlp b/helpers/make-yt-dlp index 30dbff9..02b9bd6 100644 --- a/helpers/make-yt-dlp +++ b/helpers/make-yt-dlp @@ -34,6 +34,6 @@ sed -i "/Currently supported/s|are:|are at:|" debian/control apply_patch_changes -changelog "Remove explicit site listing, redirecting to website author." +changelog "Track latest release and remove explicit site listing, redirecting to website author." package diff --git a/helpers/make-yyjson b/helpers/make-yyjson index a725a50..cb62ba6 100644 --- a/helpers/make-yyjson +++ b/helpers/make-yyjson @@ -21,7 +21,7 @@ VERSION=1 EXTERNAL='deb-src http://ftp.debian.org/debian trixie main' REPOKEY=6ED0E7B82643E131 BACKPORT=true -BUILD_UNTIL=12.0 +BUILD_UNTIL=11.0 . ./config changelog "Backported to get latest version into Trisquel." diff --git a/helpers/make-zlib b/helpers/make-zlib index 835333e..5523cb8 100644 --- a/helpers/make-zlib +++ b/helpers/make-zlib @@ -23,8 +23,6 @@ # such packages from Debian in order to build the required udeb packages. ## -#STAGE-4-UDEBS || #STAGE-1-DEBOOTSTRAP - VERSION=0 NETINST=true . ./config