mvebu: helios4 edge → 6.18 LTS, restore orphaned patches#9694
mvebu: helios4 edge → 6.18 LTS, restore orphaned patches#9694igorpecovnik merged 2 commits intoarmbian:mainfrom
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughSet Changes
Sequence Diagram(s)sequenceDiagram
participant Dev as Developer
participant Build as BuildSystem
participant Hook as Helios4_Hook
participant Kernel as KernelVersionCheck
participant FS as Destination_FS
Dev->>Build: trigger build for helios4 on branch=edge
Build->>Hook: invoke post_family_tweaks_bsp__helios4_j17_disable_until_patch_ported()
Hook->>Kernel: linux-version compare KERNEL_MAJOR_MINOR ge 6.18
Kernel-->>Hook: result (true/false)
alt result is true
Hook->>FS: check `${destination}/etc/fancontrol` exists & non-empty
Hook->>FS: write `${destination}/etc/fancontrol.new` (comment J17 lines, strip pwm1 assignment)
Hook->>FS: replace fancontrol with fancontrol.new
else result is false
Hook-->>Build: no-op
end
Build-->>Dev: build completes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
config/sources/families/mvebu.conf (1)
32-38: Optional: collapse double assignment into if/else.Minor readability nit — the initial
6.15is always assigned and then overwritten forhelios4. Anif/elsemakes the board-specific split explicit and avoids the throwaway assignment.♻️ Proposed refactor
edge) - - declare -g KERNEL_MAJOR_MINOR="6.15" # Major and minor versions of this kernel. - if [[ $BOARD == helios4 ]]; then - declare -g KERNEL_MAJOR_MINOR="6.18" # helios4: bump to 6.18 LTS, restore orphaned mvebu patches - fi + if [[ $BOARD == helios4 ]]; then + declare -g KERNEL_MAJOR_MINOR="6.18" # helios4: bump to 6.18 LTS, restore orphaned mvebu patches + else + declare -g KERNEL_MAJOR_MINOR="6.15" # Major and minor versions of this kernel. + fi ;;Otherwise, the change correctly routes helios4 edge builds to
KERNELPATCHDIR=mvebu-6.18so the restored patches apply, while leaving clearfog/other mvebu boards untouched at 6.15 per the PR description.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@config/sources/families/mvebu.conf` around lines 32 - 38, Replace the current unconditional assign-then-overwrite pattern by making the board decision explicit: use an if/else on BOARD to set KERNEL_MAJOR_MINOR directly (e.g. if [[ $BOARD == helios4 ]]; then declare -g KERNEL_MAJOR_MINOR="6.18" else declare -g KERNEL_MAJOR_MINOR="6.15" fi), so the variable KERNEL_MAJOR_MINOR is assigned once to the correct value rather than being assigned and immediately overwritten.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@config/sources/families/mvebu.conf`:
- Around line 32-38: Replace the current unconditional assign-then-overwrite
pattern by making the board decision explicit: use an if/else on BOARD to set
KERNEL_MAJOR_MINOR directly (e.g. if [[ $BOARD == helios4 ]]; then declare -g
KERNEL_MAJOR_MINOR="6.18" else declare -g KERNEL_MAJOR_MINOR="6.15" fi), so the
variable KERNEL_MAJOR_MINOR is assigned once to the correct value rather than
being assigned and immediately overwritten.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 4ee76bad-568f-407d-8a47-23d9d6810595
📒 Files selected for processing (11)
config/sources/families/mvebu.confpatch/kernel/archive/mvebu-6.18/09-pci-link-retraining.patch.disabledpatch/kernel/archive/mvebu-6.18/91-01-libata-add-ledtrig-support.patch.disabledpatch/kernel/archive/mvebu-6.18/91-02-Enable-ATA-port-LED-trigger.patch.disabledpatch/kernel/archive/mvebu-6.18/92-mvebu-gpio-add_wake_on_gpio_support.patchpatch/kernel/archive/mvebu-6.18/92-mvebu-gpio-remove-hardcoded-timer-assignment.patch.disabledpatch/kernel/archive/mvebu-6.18/94-helios4-dts-add-wake-on-lan-support.patchpatch/kernel/archive/mvebu-6.18/compile-dtb-with-symbol-support.patch.disabledpatch/kernel/archive/mvebu-6.18/dts-disable-spi-flash-on-a388-microsom.patchpatch/kernel/archive/mvebu-6.18/general-increasing_DMA_block_memory_allocation_to_2048.patchpatch/kernel/archive/mvebu-6.18/unlock_atheros_regulatory_restrictions.patch
Commit 2f852e6 bumped mvebu edge KERNEL_MAJOR_MINOR from 6.12 to 6.15 but did not rename patch/kernel/archive/mvebu-6.12/, so KERNELPATCHDIR pointed to a non-existent directory and all helios4-specific kernel patches (GPIO wake, Wake-on-LAN, atheros regd, DMA, SPI-flash) were silently skipped. 6.15 is not an LTS kernel; 6.18 is. Bump only helios4 to 6.18 (LTS, EOL 2028-12), keeping the rest of the mvebu family at 6.15 until their maintainers verify the upgrade on their own boards. Rename the archive directory to mvebu-6.18 so the patches apply again, verified by a full kernel build against 6.18.23.
7dffdce to
f8a038c
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@config/boards/helios4.conf`:
- Around line 28-40: The hook
post_family_tweaks_bsp__helios4_j17_disable_until_patch_ported must first check
that "${destination}/etc/fancontrol" exists and is non-empty and return early if
not to avoid running awk and mv on a missing file; then adjust the awk gsub
pattern so it doesn't require a leading space (e.g., match a word boundary
before /dev/fan-j17/pwm1 or simply remove the leading-space from the regex) so
lines where the j17 entry appears at line start (like FCTEMPS=... ) are handled
correctly; keep the rest of the awk flow and the safe rename of fancontrol.new
to fancontrol.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: db5bcce1-acee-4a27-9250-e9cfca1e7969
📒 Files selected for processing (1)
config/boards/helios4.conf
J17 PWM on Helios4 depends on the out-of-tree timer-assignment patch, which is currently .disabled from mvebu-6.18 onwards while it's ported to the refactored pwm chip API. Without the patch, /dev/fan-j17/pwm1 does not appear and fancontrol.service aborts on start. Add a post_family_tweaks_bsp hook in the helios4 board config that comments out the J17 references in /etc/fancontrol when KERNEL_MAJOR_MINOR >= 6.18 (via linux-version compare), keeping the original line as a commented reference so the file also serves as documentation of the historical config. Drop this hook once the patch is ported.
f8a038c to
94cd599
Compare
|
✅ This PR has been reviewed and approved — all set for merge! |
|
✅ This PR has been reviewed and approved — all set for merge! |
Description
Commit 2f852e6 bumped mvebu edge
KERNEL_MAJOR_MINORfrom 6.12 to 6.15 but did not renamepatch/kernel/archive/mvebu-6.12/, soKERNELPATCHDIRpointed at a non-existent directory and all helios4-specific kernel patches (GPIO wake, Wake-on-LAN, Atheros regd, DMA, SPI-flash) were silently skipped.6.15 is not an LTS kernel; 6.18 is. This PR bumps only helios4 to 6.18 (LTS, EOL 2028-12) and keeps the rest of the mvebu family at 6.15 — other maintainers can verify the upgrade on their own boards.
The archive directory is renamed to
mvebu-6.18so the patches apply again.How Has This Been Tested?
uname -r→6.18.23-edge-mvebu.end1, Wake-on-LAN (ethtool end1→Wake-on: g), thermal sensors and SD root on btrfs all operational.Checklist
Summary by CodeRabbit