From: Linus Walleij <[email protected]> [ Upstream commit 8d57bb61734b23f6342e9de781173f1d83f90d3a ]
The G5 defconfig is clearly intended for the G5 Powermac series, and that should enable all the available windfarm drivers, or the machine will overheat a short while after booting and shut itself down, which is annoying. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Madhavan Srinivasan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Sasha Levin <[email protected]> --- LLM Generated explanations, may be completely bogus: ## Phase 1: Commit Message Forensics Record 1.1: Subsystem `powerpc/g5`; action verb `Enable`; intent: enable all existing windfarm thermal drivers in `g5_defconfig`. Record 1.2: Tags found: `Signed-off-by: Linus Walleij <[email protected]>`, `Signed-off-by: Madhavan Srinivasan <[email protected]>`, `Link: https://patch.msgid.link/20260505- [email protected]`. No `Fixes:`, `Reported-by:`, `Tested-by:`, `Reviewed-by:`, `Acked-by:`, or `Cc: stable`. Record 1.3: The body says G5 machines using this defconfig may overheat shortly after boot and shut down if not all windfarm drivers are enabled. Root cause: the G5 defconfig enables some, but not all, G5 windfarm thermal control drivers. Record 1.4: This is a hidden bug fix despite “Enable” wording: it changes default configuration to include missing existing thermal- management drivers, preventing hardware overheat shutdown. ## Phase 2: Diff Analysis Record 2.1: One file changed: `arch/powerpc/configs/g5_defconfig`, `+2/-0`. No functions modified. Scope: single-file surgical defconfig fix. Record 2.2: Before: `g5_defconfig` enabled `WINDFARM_PM81`, `PM91`, `PM112`, and `PM121`, but omitted `PM72` and `RM31`. After: it also enables `CONFIG_WINDFARM_PM72=y` and `CONFIG_WINDFARM_RM31=y`. Record 2.3: Bug category: hardware/default-config correctness fix. Mechanism: builds in already-existing thermal control drivers for PowerMac7,2/7,3 and RackMac3,1 systems. Record 2.4: Fix quality is high: two config lines, no API change, no code refactor. Regression risk is low because the enabled drivers check machine compatibility and return `-ENODEV` on nonmatching hardware. ## Phase 3: Git History Investigation Record 3.1: Blame shows surrounding windfarm entries came from `2c39bf49fd0530` in 2012, while PM72/RM31 drivers were introduced by `6cd320996746` and are present from v3.5. Checked v3.5, v3.6, v4.0, v5.4, v5.10: the defconfig omitted PM72/RM31. Record 3.2: No `Fixes:` tag, so no Fixes target to follow. Record 3.3: Recent `g5_defconfig` history is mostly defconfig maintenance and symbol removals; no prerequisite patch was identified. The mailed patch is a one-patch series. Record 3.4: Linus Walleij is an established kernel maintainer/contributor, though not listed as PowerPC maintainer. The patch was acked by Michael Ellerman in-thread and applied by Madhavan Srinivasan, both PowerPC maintainers per `MAINTAINERS`. Record 3.5: Dependencies are existing Kconfig symbols and are satisfied. `make ARCH=powerpc g5_defconfig` on the candidate produced `CONFIG_WINDFARM_PM72=y`, `CONFIG_WINDFARM_RM31=y`, and `CONFIG_I2C=y`. ## Phase 4: Mailing List And External Research Record 4.1: `b4 am` found the v3 submission and three revisions: v1, v2, v3. `b4 dig` matched the patch-id and found lore/patch.msgid links. Direct `WebFetch` to lore was blocked by Anubis, but `b4 mbox` downloaded the full v3 thread. Record 4.2: `b4 dig -w` showed the patch was sent to Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin, Christophe Leroy, `linuxppc-dev`, and `linux-kernel`. Record 4.3: No separate bug report link was present. Thread evidence confirms impact: Segher Boessenkool wrote that affected machines boot but “won’t run for even a minute”; Linus said Debian likely works by having the driver in initramfs/rootfs and that built-in is safer. Record 4.4: Series context: same two-line patch rebased from v1 to v3, no multi-patch dependency. Record 4.5: Web search found no stable-list discussion for this exact patch. No known stable objection found. ## Phase 5: Code Semantic Analysis Record 5.1: No functions changed. Relevant enabled init functions are `wf_pm72_init()` and `wf_rm31_init()`. Record 5.2: These init functions are run at boot/module init when built. `windfarm_core_init()` registers the `windfarm` platform device. Record 5.3: `wf_pm72_init()` checks `PowerMac7,2`/`PowerMac7,3`; `wf_rm31_init()` checks `RackMac3,1`; both register a platform driver only after compatibility checks. Record 5.4: Reachability is boot-time on affected hardware using `g5_defconfig`, not syscall-triggered. The failure mode is hardware thermal shutdown, not userspace API behavior. Record 5.5: Similar pattern already exists in the same defconfig for other G5 windfarm drivers (`PM81`, `PM91`, `PM112`, `PM121`). ## Phase 6: Stable Tree Analysis Record 6.1: Checked v5.10, v5.15, v6.1, v6.6, v6.12, v6.18, v6.19, and v7.0 tags: the buggy omission exists and the PM72/RM31 Kconfig symbols exist. Record 6.2: Generated patch applied cleanly to all checked tags: v5.10 through v7.0. Record 6.3: Checked those tags for the exact subject; no related fix already present. ## Phase 7: Subsystem Context Record 7.1: Subsystem: PowerPC defconfig / Power Macintosh thermal management. Criticality: platform-specific but important for affected hardware because thermal control is required for safe operation. Record 7.2: `drivers/macintosh` has low-to-moderate activity, mostly treewide cleanups and small fixes; PowerMac is marked orphan, while broader PowerPC is supported. ## Phase 8: Impact And Risk Record 8.1: Affected users: PowerMac G5 AGP systems (`PowerMac7,2`, `PowerMac7,3`) and Xserve G5 (`RackMac3,1`) using kernels built from `g5_defconfig`. Record 8.2: Trigger: booting affected hardware with the default G5 config lacking the built-in thermal driver. Not unprivileged-user- triggered. Record 8.3: Failure mode: overheating followed by shutdown shortly after boot. Severity: CRITICAL for affected hardware availability and hardware safety. Record 8.4: Benefit is high for affected stable users; risk is very low: two defconfig lines, existing drivers, clean applies, machine-specific init guards. ## Phase 9: Final Synthesis Record 9.1: Evidence for backporting: fixes real hardware thermal shutdown; two-line contained patch; existing drivers; dependencies verified; applies cleanly to checked stable tags; maintainer ack/application in PowerPC fixes. Evidence against: affects only niche old hardware; no explicit `Cc: stable` or `Tested-by`. No unresolved technical blockers. Record 9.2: Stable rules: obviously correct: yes; tested: config generation verified, no runtime `Tested-by`; real bug: yes; important issue: yes, overheating/shutdown; small/contained: yes; no new API/features: yes, only enables existing drivers in defconfig; applies to stable: yes for checked tags. Record 9.3: Exception category: closest match is hardware-support/config fix for existing drivers, not new driver code. Record 9.4: Decision: backport. This is a small, low-risk default-config fix for a severe hardware failure mode. ## Verification - Phase 1: Parsed tags from supplied commit and b4-fetched mbox. - Phase 2: Verified diff is `+2/-0` in `arch/powerpc/configs/g5_defconfig`. - Phase 3: Used `git blame`, `git log`, and `git show`; found PM72/RM31 drivers introduced by `6cd320996746`, present since v3.5. - Phase 4: Used `b4 am`, `b4 dig`, `b4 dig -w`, `b4 mbox`; full thread shows Michael Ellerman ack and Madhavan Srinivasan applied it to `powerpc/fixes`. - Phase 5: Read `drivers/macintosh/Kconfig`, `Makefile`, `windfarm_pm72.c`, `windfarm_rm31.c`, and `windfarm_core.c`; verified machine-specific guards and boot/init path. - Phase 6: Checked v5.10, v5.15, v6.1, v6.6, v6.12, v6.18, v6.19, v7.0 for symbol presence and clean patch application. - Phase 8: Failure mode verified from commit text and mailing-list thread; no independent runtime test performed here. **YES** arch/powerpc/configs/g5_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig index 428f17b455132..2fe8ca266b5f6 100644 --- a/arch/powerpc/configs/g5_defconfig +++ b/arch/powerpc/configs/g5_defconfig @@ -85,6 +85,8 @@ CONFIG_PMAC_SMU=y CONFIG_MAC_EMUMOUSEBTN=y CONFIG_WINDFARM=y CONFIG_WINDFARM_PM81=y +CONFIG_WINDFARM_PM72=y +CONFIG_WINDFARM_RM31=y CONFIG_WINDFARM_PM91=y CONFIG_WINDFARM_PM112=y CONFIG_WINDFARM_PM121=y -- 2.53.0
