Conversation
📝 WalkthroughWalkthroughThis PR upgrades the Armbian Linux kernel to version 7.0 across ARM64 and x86 UEFI architectures, refactoring kernel configurations to modernize DRM drivers, netfilter options, and remove legacy audio subsystems while introducing targeted patches for ARM-based Mac support (stmmac ethernet, trackpad/HID handling). Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 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)
📝 Coding Plan
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 |
|
I will check the loong64 build. |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
patch/kernel/archive/uefi-x86-7.0/4001-asahi-trackpad.patch (1)
230-231:⚠️ Potential issue | 🟠 Major
SPI_HID_APPLEsymbol is undefined in this patch.Lines 231 and 548 reference
SPI_HID_APPLEin Kconfig defaults, but this symbol is never defined. OnlySPI_HID_APPLE_OF(line 1597) andSPI_HID_APPLE_CORE(line 1613) are defined. The defaults must reference an existing symbol.Suggested fix
- default !EXPERT || SPI_HID_APPLE + default !EXPERT || SPI_HID_APPLE_OFAlso applies to line 548:
- default SPI_HID_APPLE + default SPI_HID_APPLE_OF🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@patch/kernel/archive/uefi-x86-7.0/4001-asahi-trackpad.patch` around lines 230 - 231, The Kconfig default references an undefined symbol SPI_HID_APPLE; fix by replacing that undefined symbol with an existing kernel config symbol (e.g. SPI_HID_APPLE_CORE or SPI_HID_APPLE_OF) or by adding a proper config definition for SPI_HID_APPLE. Update the two default lines that currently use SPI_HID_APPLE to reference the correct existing symbol (suggestion: use SPI_HID_APPLE_CORE if you mean the core driver) so the default dependency resolves correctly.
🧹 Nitpick comments (2)
patch/kernel/archive/uefi-arm64-7.0/1004-fix-stmmac-compilation-warnings.patch (1)
6-11: Fixes are technically correct; consider consolidating into patch 1000.The compilation fixes (making functions static, removing invalid
lpi_irqassignments) are appropriate for kernel 7.0 compatibility. However, since patch 1000 is an Armbian-maintained patch (not an upstream patch being kept pristine), these fixes could be directly integrated into1000-net-stmicro-stmmac-Phytium-onboard-ethernet-drivers-and-ACPI-glue-for-6.x.patchrather than maintained as a separate fix-up patch.This would reduce the patch count and avoid the situation where one patch adds code that the next patch immediately removes.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@patch/kernel/archive/uefi-arm64-7.0/1004-fix-stmmac-compilation-warnings.patch` around lines 6 - 11, Consolidate the 1004 fixes into patch 1000 by applying the same changes there: change the function definitions for fw_get_phy_mode, stmmac_acpi_clock_setup, and dwmac_phytium_get_resources to be static where they are defined to eliminate missing prototype warnings, and remove the invalid assignments to stmmac_res->lpi_irq in stmmac_platform.c and dwmac-phytium.c (delete the lines that assign to lpi_irq since that member does not exist); ensure the resulting patch 1000 compiles cleanly and drop the separate 1004 fix-up patch.patch/kernel/archive/uefi-arm64-7.0/1000-net-stmicro-stmmac-Phytium-onboard-ethernet-drivers-and-ACPI-glue-for-6.x.patch (1)
641-644: lpi_irq assignment added here is removed by patch 1004.The
stmmac_res->lpi_irq = -1;assignment added at line 641 is immediately removed by the companion patch1004-fix-stmmac-compilation-warnings.patchbecauselpi_irqmember reportedly doesn't exist in kernel 7.0'sstmmac_resourcesstruct.Consider integrating the 7.0-specific fixes directly into this patch rather than adding code that a subsequent patch removes. This would make the patch series cleaner and easier to maintain.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@patch/kernel/archive/uefi-arm64-7.0/1000-net-stmicro-stmmac-Phytium-onboard-ethernet-drivers-and-ACPI-glue-for-6.x.patch` around lines 641 - 644, Remove the spurious assignment to stmmac_res->lpi_irq in this patch (introduced at stmmac_res->lpi_irq = -1;) and instead incorporate the 7.0-specific fix here: either drop any reference to the lpi_irq member (since stmmac_resources in kernel 7.0 lacks it) or wrap accesses/initialization of lpi_irq with a kernel-version/feature conditional so the code compiles across versions; effectively merge the change currently in patch 1004 (which removes lpi_irq usage) into this patch so the series no longer introduces then immediately removes the member.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@patch/kernel/archive/uefi-x86-7.0/4001-asahi-trackpad.patch`:
- Around line 230-231: The Kconfig default references an undefined symbol
SPI_HID_APPLE; fix by replacing that undefined symbol with an existing kernel
config symbol (e.g. SPI_HID_APPLE_CORE or SPI_HID_APPLE_OF) or by adding a
proper config definition for SPI_HID_APPLE. Update the two default lines that
currently use SPI_HID_APPLE to reference the correct existing symbol
(suggestion: use SPI_HID_APPLE_CORE if you mean the core driver) so the default
dependency resolves correctly.
---
Nitpick comments:
In
`@patch/kernel/archive/uefi-arm64-7.0/1000-net-stmicro-stmmac-Phytium-onboard-ethernet-drivers-and-ACPI-glue-for-6.x.patch`:
- Around line 641-644: Remove the spurious assignment to stmmac_res->lpi_irq in
this patch (introduced at stmmac_res->lpi_irq = -1;) and instead incorporate the
7.0-specific fix here: either drop any reference to the lpi_irq member (since
stmmac_resources in kernel 7.0 lacks it) or wrap accesses/initialization of
lpi_irq with a kernel-version/feature conditional so the code compiles across
versions; effectively merge the change currently in patch 1004 (which removes
lpi_irq usage) into this patch so the series no longer introduces then
immediately removes the member.
In
`@patch/kernel/archive/uefi-arm64-7.0/1004-fix-stmmac-compilation-warnings.patch`:
- Around line 6-11: Consolidate the 1004 fixes into patch 1000 by applying the
same changes there: change the function definitions for fw_get_phy_mode,
stmmac_acpi_clock_setup, and dwmac_phytium_get_resources to be static where they
are defined to eliminate missing prototype warnings, and remove the invalid
assignments to stmmac_res->lpi_irq in stmmac_platform.c and dwmac-phytium.c
(delete the lines that assign to lpi_irq since that member does not exist);
ensure the resulting patch 1000 compiles cleanly and drop the separate 1004
fix-up patch.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 1babd541-6a8c-4369-936c-1e638977384f
📒 Files selected for processing (34)
config/kernel/linux-uefi-arm64-edge.configconfig/kernel/linux-uefi-x86-edge.configconfig/sources/families/include/uefi_common.incpatch/kernel/archive/uefi-arm64-7.0/1000-net-stmicro-stmmac-Phytium-onboard-ethernet-drivers-and-ACPI-glue-for-6.x.patchpatch/kernel/archive/uefi-arm64-7.0/1001-net-stmicro-stmmac-Phytium-adapt-to-net-stmmac-remove-axi_blen-array.patchpatch/kernel/archive/uefi-arm64-7.0/1002-net-stmicro-stmmac-Phytium-adapt-to-net-stmmac-replace-has_xxxx-with-core_type.patchpatch/kernel/archive/uefi-arm64-7.0/1003-net-stmicro-stmmac-Phytium-adapt-to-net-stmmac-pass-struct-device-to-init-exit-methods.patchpatch/kernel/archive/uefi-arm64-7.0/1004-fix-stmmac-compilation-warnings.patchpatch/kernel/archive/uefi-arm64-7.0/board-hikey960-usb.patchpatch/kernel/archive/uefi-loong64-7.0/0001-drm-xe-bo-fix-alignment-with-non-4KiB-kernel-page-si.patchpatch/kernel/archive/uefi-loong64-7.0/0002-drm-xe-guc-use-GUC_SIZE-SZ_4K-for-alignment.patchpatch/kernel/archive/uefi-loong64-7.0/0003-drm-xe-regs-fix-RING_CTL_SIZE-size-calculation.patchpatch/kernel/archive/uefi-loong64-7.0/0004-drm-xe-use-4KiB-alignment-for-cursor-jumps.patchpatch/kernel/archive/uefi-loong64-7.0/0005-drm-xe-query-use-PAGE_SIZE-as-the-minimum-page-align.patchpatch/kernel/archive/uefi-loong64-7.0/0006-enable-xe-on-16K-pagesize.patchpatch/kernel/archive/uefi-x86-7.0/1001-Add-apple-bce-driver.patchpatch/kernel/archive/uefi-x86-7.0/1002-Put-apple-bce-in-drivers-staging.patchpatch/kernel/archive/uefi-x86-7.0/1003-Fix-freezing-on-turning-off-camera.patchpatch/kernel/archive/uefi-x86-7.0/2008-i915-4-lane-quirk-for-mbp15-1.patchpatch/kernel/archive/uefi-x86-7.0/2009-apple-gmux-allow-switching-to-igpu-at-probe.patchpatch/kernel/archive/uefi-x86-7.0/3001-applesmc-convert-static-structures-to-drvdata.patchpatch/kernel/archive/uefi-x86-7.0/3002-applesmc-make-io-port-base-addr-dynamic.patchpatch/kernel/archive/uefi-x86-7.0/3003-applesmc-switch-to-acpi_device-from-platform.patchpatch/kernel/archive/uefi-x86-7.0/3004-applesmc-key-interface-wrappers.patchpatch/kernel/archive/uefi-x86-7.0/3005-applesmc-basic-mmio-interface-implementation.patchpatch/kernel/archive/uefi-x86-7.0/3006-applesmc-fan-support-on-T2-Macs.patchpatch/kernel/archive/uefi-x86-7.0/3007-applesmc-Add-iMacPro-to-applesmc_whitelist.patchpatch/kernel/archive/uefi-x86-7.0/3008-applesmc-make-applesmc_remove-void.patchpatch/kernel/archive/uefi-x86-7.0/3009-applesmc-battery-charge-limiter.patchpatch/kernel/archive/uefi-x86-7.0/4001-asahi-trackpad.patchpatch/kernel/archive/uefi-x86-7.0/4003-HID-apple-ignore-the-trackpad-on-T2-Macs.patchpatch/kernel/archive/uefi-x86-7.0/4004-HID-magicmouse-Add-support-for-trackpads-found-on-T2.patchpatch/kernel/archive/uefi-x86-7.0/4005-HID-magicmouse-fix-regression-breaking-support-for-M.patchpatch/kernel/archive/uefi-x86-7.0/7001-drm-i915-fbdev-Discard-BIOS-framebuffers-exceeding-h.patch
Description
loong64 needs to be taken care of somebody else. @amazingfate ?
How Has This Been Tested?
Checklist:
Summary by CodeRabbit
New Features
Bug Fixes
Chores