kernel: retire 0040/0041 — upstream took the userspace fix for the Switch IMU and LED names - #173
Merged
Merged
Conversation
…witch IMU and LED names Linux-Kernel_MiSTer PRs #96 (keep the " IMU" suffix) and #97 (restore the 5.15 player/home LED classdev names) were closed by the maintainer in favour of the Main_MiSTer alternatives offered alongside them: #1307 also matches "(IMU)", #1308 falls back to ":green:player-1".."-4" and ":blue:player-5". Both merged 2026-09-12 and are in Main_MiSTer Release 20260912, so the kernel no longer needs to carry the stock names. Delete 0040-hid-nintendo-imu-name-suffix and 0041-hid-nintendo-stock-led-classdev-names from the shared series and the beta/DE25 symlinks to them; drop the two series entries. 0032's ":combo" node and 0035's non-fatal registration are unaffected. Build evidence: the surviving hid-nintendo stack (0015 0032 0034 0035 0038 0039 0049) re-applies at -F0 with zero fuzz on pristine 6.18.51 and, via the beta copies, 7.2.5, restoring mainline's "%s (IMU)" and LED_FUNCTION_PLAYER5 names in both; reverse-applying 0040/0041 in the existing output/build/linux-6.18.51 and linux-rt-7.2.5 trees produced byte-identical hid-nintendo.c to those replays, and hid-nintendo.o cross-compiled W=1 with zero warnings on both (trees restored afterwards). lint-kernel-patches: 39 patches / 2 series PASS. No full kernel relink; the removed hunks only renamed strings. NOTE for local checkouts: Buildroot does not re-patch an extracted tree, so run `make linux-dirclean linux-rt-dirclean` before the next build or the old names stay in. Docs: provenance rows marked RETIRED (slot left empty, like 0005), with the SDL2 " IMU" consumer noted as uncovered (stock-identical); series header, rt-beta-kernel.md, buildroot-config.md, README and the DE25 series README/audit counts go 40 -> 38 shared, 42 -> 40 beta entries, 36 -> 34 DE25; 0049's header and the three LED-class comments no longer cite the retired patches; the two recon records drop the retired file from carried_patches (reduce.py: 136 records, 0 problems; regenerated outputs committed); STATUS.md D6, fork-sync-2026-09.md, kernel-export.md and upstream-candidates/README.md record the PR outcomes; README and docs/user/beta-testing.md state the Main_MiSTer >= 20260912 floor. Requires Main_MiSTer 20260912 or newer on the card: on an older Main the Switch IMU node is pooled as a phantom controller and the player/home LEDs stay dark, exactly the 5.15-parity gap these patches closed. The sdcard payload pin (release.yml STOCK_RELEASE_*) still stages release_20260907 and needs its own deliberate bump to release_20260912. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Su9UEMbDZLx5pQRYgQfVuV
…with #1307/#1308) The previous commit retires kernel patches 0040/0041 because Main_MiSTer #1307/#1308 now handle the Switch IMU/LED names in userspace -- but the sdcard payload pin (release.yml STOCK_RELEASE_*) still staged release_20260907, whose files/MiSTer predates those PRs. A tag-built sdcard.img would have paired the new kernel with a Main that only matches the old names. Move the pin to release_20260912, the first stock release that carries them. New pin (SD-Installer commit cd80db9c0, "Release 20260912."): two volumes 83,886,080 + 42,660,398 B, joined 126,546,478 B, MD5 7cec2206e2a1133a a307c541219aa08f, SHA-256 35fcbaca57cd2471b1d353f3dd4bae7c7e67256f8c5c8b 2d6d5cbcc78269a7ea. Mirrored into fetch-sdcard-payload.sh's defaults and verify-stock-payload.sh's example block, per their own "do not let these drift" rule. Measured, not assumed: the two joined archives differ in exactly three members -- files/linux/linux.img and zImage_dtb (ours replace them) and files/MiSTer (1,162,128 -> 1,166,224 B; strings shows "(IMU)", ":green:player-1", ":blue:player-5"). uboot.img and updateboot are byte-identical, so STOCK_UBOOT_*/STOCK_UPDATEBOOT_* do not move. Stock's modules are still 6.18.38-MiSTer; zImage_dtb was rebuilt with kernel PRs #93/#94/#95/#98 and the image-creator's missing-firmware commits. Verified locally with the new values: verify-stock-payload.sh fetch-stock -> verify-stock (size/MD5/SHA-256/CRC) -> extract-stock -> verify-uboot all PASS, and scripts/fetch-sdcard-payload.sh ran end to end on its new defaults (stock archive verified, boot files confirmed, update_all.sh and wifi.sh pins still verify). No Distribution_MiSTer mirror of 20260912 existed yet and its db.json still has "linux": null. Docs: ci.md stock-payload sourcing, reference-materials.md (new §1 entry, 20260907 demoted to previous), renovate.md's not-managed paragraph, downloader-contract.md §11.1 dated note, and a short docs/verification/stock-release-20260912.md. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Su9UEMbDZLx5pQRYgQfVuV
Owner
Author
|
Local build on this branch (WSL2 workstation, 2026-09-12), after
Not done: no boot on the DE10-Nano rig. |
mcfbytes
added a commit
that referenced
this pull request
Sep 16, 2026
kernel: retire 0040/0041 — upstream took the userspace fix for the Switch IMU and LED names
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Upstream closed the two kernel PRs we sent for the Switch controller names and took the userspace alternatives instead:
" IMU"suffix"(IMU)"player1..4/homeLED names:green:player-N/:blue:player-5Both Main_MiSTer PRs merged 2026-09-12 and are in Release 20260912, so our kernel no longer needs to carry the stock names.
What changes
0040-hid-nintendo-imu-name-suffix.patchand0041-hid-nintendo-stock-led-classdev-names.patchfrom the shared series, plus the beta and DE25 symlinks to them, and their twoseriesentries. Slots left empty (same convention as0005).rt-beta-kernel.md,buildroot-config.md, README and the DE25 series README/audit counts move 40 → 38 shared, 42 → 40 beta entries, 36 → 34 DE25; the two recon records drop the retired file fromcarried_patchesandreduce.py's regenerated outputs are committed;upstream-candidates/README.mdrecords the PR outcomes.0032's:combonode and0035's non-fatal home-LED registration are unaffected (:combohas no mainline name to fall back to).Verification
0015 0032 0034 0035 0038 0039 0049) re-applied withpatch -p1 -F0on pristine 6.18.51 and, via the beta copies, 7.2.5: 7/7 each, zero fuzz; mainline's"%s (IMU)"andLED_FUNCTION_PLAYER5names are back in both trees.scripts/lint-kernel-patches.sh: PASS, 39 patches in 2 series.python3 docs/kernel-recon/reduce.py: 136 records, 0 problems (no orphans).series: 40 non-comment entries, every one resolves.0040/0041in the existingoutput/build/linux-6.18.51andlinux-rt-7.2.5trees:hid-nintendo.ccame out byte-identical to the pristine replays above, andhid-nintendo.ocross-compiledW=1with zero warnings on both (trees restored afterwards).0049's header and three LED-class comments, README count drift, "not sent" wording in the fork-sync/export docs, missing build evidence, user-facing version floor) are folded in.After checkout
Buildroot never re-patches an already-extracted tree, so a local
makewould keep the old names: runmake linux-dirclean linux-rt-dircleanfirst. CI is unaffected.Note for anyone flashing this
Requires Main_MiSTer 20260912 or newer on the card. On an older Main the Switch IMU node is pooled as a phantom controller and the player/home LEDs stay dark — exactly the gap the two patches closed.
Follow-ups (not in this PR)
Bump the sdcard payload pin to
release_20260912.release.yml'sSTOCK_RELEASE_*(mirrored inscripts/fetch-sdcard-payload.shanddocs/ci.md) still stagesrelease_20260907, whosefiles/MiSTerpredates #1307/#1308 — a tag-builtsdcard.imgwould pair this kernel with a Main that only matches the old names. Perdocs/renovate.mdthat pin moves only by a deliberate, reviewed change with its own verification (docs/verification/stock-release-20260907.md§6.2 template), so it is a separate PR. Values already measured for it, from SD-Installer commitcd80db9c0ab64ba38be95071a090a80c367d63cf("Release 20260912."):release_20260912.7z.001(83,886,080 B) +.002(42,660,398 B)7cec2206e2a1133aa307c541219aa08f35fcbaca57cd2471b1d353f3dd4bae7c7e67256f8c5c8b2d6d5cbcc78269a7eauboot.img/updateboote2d46cf9…/6ff2d50a…— theSTOCK_UBOOT_*/STOCK_UPDATEBOOT_*pins hold)files/MiSTerstringsshows(IMU),:green:player-1,:blue:player-50042(lightbar:red/:green/:blue) and0037's BTN_Z scoping are the same class of change and were never sent; given this outcome a Main_MiSTer fallback is the likelier route for0042.🤖 Generated with Claude Code
https://claude.ai/code/session_01Su9UEMbDZLx5pQRYgQfVuV