Skip to content

maint: rewrite various kernel patchsets#9888

Open
EvilOlaf wants to merge 6 commits into
armbian:mainfrom
EvilOlaf:patch-maint
Open

maint: rewrite various kernel patchsets#9888
EvilOlaf wants to merge 6 commits into
armbian:mainfrom
EvilOlaf:patch-maint

Conversation

@EvilOlaf
Copy link
Copy Markdown
Member

@EvilOlaf EvilOlaf commented May 24, 2026

Description

Rewrite of these patchsets to bring them back into good shape:

sunxi-6.18
sunxi-7.0
rockchip64-7.0
rockchip64-6.18
meson64-7.0
meson64-6.18

How Has This Been Tested?

  • no tests

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

Summary by CodeRabbit

Release Notes

  • New Features

    • Added SPI NOR flash memory support (XT25F128B, XT25Q64, AS25F1128MQ)
    • Extended USB2 PHY support for RK3528 with tuning
    • Added DRM MIPI-DSI panel driver for Yixian YX0345
    • Enabled WiFi, UART, and PCIe/USB-C on Radxa Cubie A5E
    • Added PWM controller support for RK3576
  • Bug Fixes

    • Fixed USB Type-C power delivery capability registration duplicates
    • Improved USB3 PHY power state management
    • Fixed USB2 PHY cleanup on driver removal
    • Corrected DRM DMA device handling
  • Device Tree Updates

    • Enhanced MMC timing configurations
    • Added IOMMU and secure monitor links
    • Updated GPIO interrupt mappings

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 24, 2026

📝 Walkthrough

Walkthrough

This PR introduces a collection of kernel device tree and driver patches across Amlogic Meson, Rockchip, and Allwinner SoCs for kernel versions 6.18 and 7.0. Changes include MMC clock phase configuration, SPI NOR flash manufacturer support, DWC3 USB3 PHY power tracking, USB Type-C TCPM capability registration fixes, RK3528 USB2 PHY standalone regmap support, DRM backend DMA device handling, A523 SPI controller enablement, board device tree bindings for Radxa Cubie A5E, TCPM logging improvements, and DRM DE33 new bindings migration.

Changes

Multi-subsystem kernel patches across Amlogic, Rockchip, and Allwinner platforms (6.18-7.0)

Layer / File(s) Summary
Amlogic Meson MMC and SoC integration (6.18, 7.0)
patch/kernel/archive/meson64-{6.18,7.0}/general-meson-mmc-2-*, patch/kernel/archive/meson64-{6.18,7.0}/general-soc-0004-*
Adds MMC clock phase configuration (CLK_PHASE_270 for core, CLK_PHASE_0 for tx/rx) to meson-axg.dtsi device tree and wires secure-monitor phandle references to secure-AO syscon nodes for both kernel versions.
SPI NOR flash manufacturer support (XTX and Alliance)
patch/kernel/archive/{meson64-6.18,rockchip64-6.18}/general-*-xtx-spi-nor-*.patch, patch/kernel/archive/sunxi-6.18/patches.megous/private-6.18/0004-mtd-spi-nor-Add-Alliance-*
Introduces new SPI NOR manufacturer drivers (xtx.c and alliance.c) with device ID mappings; wires them into SPI-NOR build via Makefile; registers in core.c manufacturer list; exports symbols via core.h header.
DWC3 USB3 generic PHY power state tracking
patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-dwc3-Track-the-power-state-of-usb3_generic_phy.patch
Adds usb3_phy_powered boolean flag to struct dwc3 to track USB3 PHY powered state; sets flag after successful dwc3_phy_power_on() and guards USB3 PHY power-off calls behind this flag to prevent unbalanced power-off when power-on failed.
USB Type-C TCPM PD capability registration fixes (6.18, 7.0)
patch/kernel/archive/{rockchip64,sunxi}-{6.18,7.0}/*tcpm*Fix-PD-devices-capabilities-registrat*, patch/kernel/archive/sunxi-6.18/patches.megous/tcpm-6.18/0004-*
Fixes duplicate sysfs capability entries by explicitly unregistering previously registered partner capabilities before re-registering new ones; clears stored pointers to NULL; ensures partner PD object created only once; during per-PD registration failure, nulls failed PD pointer and unregisters stale capabilities for clean retry.
Rockchip RK3528 USB2 PHY driver support (6.18, 7.0)
patch/kernel/archive/rockchip64-{6.18,7.0}/rk3528-10-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch
Extends rockchip-inno-usb2 PHY driver with standalone PHY register regmap (phy_base) for RK3528; adds clkout_ctl_phy configuration field; updates probe logic for conditional phy_base initialization; adds rk3528_usb2phy_tuning() function; defines rk3528_phy_cfgs configuration table; extends device-tree compatible match table.
Rockchip RK3528/RK3399 USB2 PHY OTG delayed-work cleanup
patch/kernel/archive/rockchip64-{6.18,7.0}/rk3528-13-phy-rockchip-inno-usb2-fix-otg-timer-cleanup.patch
Adds device-managed cleanup actions via devm_add_action_or_reset() to synchronously cancel delayed OTG state-machine work on driver removal/probe failure, preventing use-after-free from stale scheduled work.
Rockchip RK3576 PWM controller device tree nodes
patch/kernel/archive/rockchip64-6.18/rk3576-0008-arm64-dts-rk3576-add-pwm-nodes.patch
Adds RK3576 SoC PWM controller definitions (three PWM groups with 2, 6, and 8 channels) with distinct reg base addresses, per-channel interrupt mappings, shared controller clocks, pinctrl bindings, and status = "disabled".
Rockchip Yixian YX0345 DRM MIPI-DSI panel driver
patch/kernel/archive/rockchip64-7.0/general-drm-panel-add-yixian-yx0345-panel.patch
Introduces new DRM MIPI-DSI panel driver for Yixian YX0345WV00V2 with Kconfig option, Makefile wiring, full driver implementation (regulator bulk control, reset GPIO, DSI command initialization, fixed display modes), and OF match registration.
Allwinner Sun4i DRM backend/mixer DMA device configuration (6.18, 7.0)
patch/kernel/archive/sunxi-{6.18,7.0}/patches.armbian/drm-sun4i-use-backend-mixer-as-dedicated-dma-device.patch
Switches Sun4i DRM backend and Sun8i mixer bind logic from per-device of_dma_configure() calls to unified dedicated DMA device approach via drm_dev_set_dma_dev() when current DMA device is the DRM core device.
Allwinner A523 SPI controller support
patch/kernel/archive/sunxi-6.18/patches.backports/30-allwinner-a523-support-spi-controllers.patch
Extends SPI subsystem for A523: adds binding schema for allwinner,sun55i-a523-spi and DBI variant; updates sun55i-a523.dtsi with pinctrl groups and controller nodes; enables SPI0 on Cubie A5E and Orangepi 4A boards with SPI NOR flash children; extends spi-sun6i driver OF match table.
Allwinner A523 pinctrl IRQ and GPIO interrupt updates
patch/kernel/archive/sunxi-6.18/patches.backports/32-pinctrl-sunxi-a523-Remove_unneeded_IRQ_remuxing_flag.patch, patch/kernel/archive/sunxi-6.18/patches.backports/33-arm64-dts-allwinner-a523-Add_missing_GPIO_interrupt.patch
Removes irq_read_needs_mux quirk flag from A523 pinctrl descriptors; adds missing GPIO interrupt mapping (GIC SPI 67) to sun55i-a523.dtsi pinctrl node's interrupts list alongside existing GIC SPI 69.
Allwinner Sun55i IOMMU and USB-C/PCIe combophy infrastructure
patch/kernel/archive/sunxi-6.18/patches.armbian/arm64-dts-sun55i-dtsi-add-iommu-usbc-pcie-combophy-nodes.patch
Adds comprehensive device tree infrastructure to sun55i-a523.dtsi: IOMMU node, disabled USB-C (usbc1@11), inno-combphy (phy@4f00000), and PCIe root complex (pcie@4800000) with extensive configuration, interrupt mappings, MSI/SII/EDMA settings, and link parameters.
Radxa Cubie A5E PCIe/USB-C combophy enablement (6.18, 7.0)
patch/kernel/archive/sunxi-{6.18,7.0}/patches.armbian/arm64-dts-sun55i-a527-cubie-a5e-enable-usbc-pcie-combophy.patch
Enables PCIe/USB-C combophy on Cubie A5E: adds fixed regulators for 3.3V PCIe and GMA340 supplies; configures &combophy for PCIe/USB3 selection; enables &pcie with reset/wake GPIOs, lane count, clock frequency, and supply binding; configures &usbc1 with wakeup properties.
Radxa Cubie A5E UART and WiFi enablement (6.18, 7.0)
patch/kernel/archive/sunxi-{6.18,7.0}/patches.backports/21-Enable-uart1-*.patch, patch/kernel/archive/sunxi-{6.18,7.0}/patches.backports/22-Enable-wifi-*.patch, patch/kernel/archive/sunxi-{6.18,7.0}/patches.backports/23-fix-wifi-regulator-*.patch
Enables UART1 and WiFi on Cubie A5E: adds serial1 alias and &uart1 node with RTS/CTS pinctrl and Bluetooth subnode; introduces fixed 3.3V WiFi regulator and mmc-pwrseq-simple power sequencing; configures &mmc1 for WiFi with supplies and wifi@1 child; updates reg_bldo1 regulator to always-on.
DWC3 suspend soft-disconnect failure revert
patch/kernel/archive/sunxi-6.18/patches.megous/fixes-6.18/0024-Revert-usb-dwc3-Abort-suspend-on-soft-disconnect-fai.patch
Reverts suspend failure propagation: removes ret local from dwc3_suspend_common(); changes dwc3_gadget_suspend() calls to execute unconditionally; updates error handling to unified err: path with optional soft-connect restoration before returning error.
USB Type-C TCPM logging enhancements (6.18, 7.0)
patch/kernel/archive/sunxi-{6.18,7.0}/patches.megous/tcpm-{6.18,7.0}/0005-usb-typec-tcpm-Improve-logs.patch
Enhances TCPM Type-C debug logging: logs PD message header and each payload word on transmit; adds payload logging on receive before event allocation; updates VBUS state log strings to include "VBUS event received:" prefix for both on/off events.
Allwinner Sun4i DRM DE33 new bindings switch (7.0)
patch/kernel/archive/sunxi-7.0/patches.drm/0038-drm-sun4i-switch-DE33-to-new-bindings.patch
Switches DRM sun4i mixer driver DE33 handling: removes display regmap helper and direct blender accesses via engine->regs; removes plane index remapping; adds sun50i_layers_init() with conditional sun50i_planes_setup() wiring; introduces sun50i_engine_ops; selects for DE33 and parses allwinner,planes phandle; removes separate regmap allocation; updates header structures removing disp_regs and map[6] fields.

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly Related PRs

  • armbian/build#9829: Both PRs touch the Rockchip TCPC/TCPM PD sysfs capability registration logic in drivers/usb/typec/tcpm/tcpm.c (unregistering/clearing partner source/sink capabilities to prevent duplicate sysfs entries and allow retries).

  • armbian/build#9785: Both PRs modify the RK3528 inno-usb2 PHY driver's regmap wiring in drivers/phy/rockchip/phy-rockchip-inno-usb2.c, specifically the GRF vs standalone PHY phy_base/grf selection logic tied to the rockchip,usbgrf device-tree phandle/property.

  • armbian/build#9828: Both PRs touch the same TCPM PD capability registration code in drivers/usb/typec/tcpm/tcpm.c (unregistering/clearing partner and per-PD capabilities to avoid duplicate sysfs entries in tcpm_register_source_caps/tcpm_register_sink_caps and tcpm_port_register_pd).

Suggested Reviewers

  • joekhoobyar
  • brentr
  • prahal
  • iav
  • rpardini

Poem

🐇 A rabbit hops through kernel lands so wide,
With patches bouncing—now SoCs collide!
From Amlogic clocks to Rockchip's PHY dance,
Sunxi boards spin in a glorious prance,
Device trees bloom and USB learns to play,
Armbian's garden grows brighter today! 🌱

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'maint: rewrite various kernel patchsets' clearly describes the main change: a comprehensive rewrite of multiple kernel patchsets across six platform/kernel combinations.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added 05 Milestone: Second quarter release size/large PR with 250 lines or more Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels May 24, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
patch/kernel/archive/sunxi-7.0/patches.drm/0038-drm-sun4i-switch-DE33-to-new-bindings.patch (1)

269-304: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix DE33 planes lookup: probe-defer must hit the mod_clk unwind, and the planes device ref must be released

  • In sun8i_mixer_bind (DE33 path), the !data branch does put_device(&pdev->dev) and then return -EPROBE_DEFER;, which bypasses the err_disable_mod_clk: cleanup (leaves mixer->mod_clk enabled).
  • The code assigns mixer->planes_dev = &pdev->dev but the patch hunk shows no corresponding success-path release for that device reference; add an unwind/cleanup path for the acquired pdev->dev.
🔧 Suggested fix
+static void sun8i_mixer_put_planes_dev(void *data)
+{
+	put_device(data);
+}
+
 ...
 	if (mixer->cfg->de_type == SUN8I_MIXER_DE33) {
 		struct platform_device *pdev;
 		struct device_node *np;
 		void *data;
@@
 		data = platform_get_drvdata(pdev);
 		if (!data) {
 			put_device(&pdev->dev);
-			return -EPROBE_DEFER;
+			ret = -EPROBE_DEFER;
+			goto err_disable_mod_clk;
 		}
 
 		mixer->planes_dev = &pdev->dev;
+		ret = devm_add_action_or_reset(dev, sun8i_mixer_put_planes_dev,
+					       mixer->planes_dev);
+		if (ret)
+			goto err_disable_mod_clk;
 	}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@patch/kernel/archive/sunxi-7.0/patches.drm/0038-drm-sun4i-switch-DE33-to-new-bindings.patch`
around lines 269 - 304, The DE33 probe-defer path in sun8i_mixer_bind bypasses
the mod_clk cleanup and leaks the pdev ref; change the !data branch so it calls
put_device(&pdev->dev) then jumps to err_disable_mod_clk (instead of returning)
and update the err_disable_mod_clk cleanup to release any held planes dev
reference by calling put_device(mixer->planes_dev) if mixer->planes_dev is set
before calling clk_disable_unprepare(mixer->mod_clk); ensure mixer->planes_dev
is only assigned after platform_get_drvdata succeeds so the cleanup check is
valid.
patch/kernel/archive/rockchip64-7.0/general-drm-panel-add-yixian-yx0345-panel.patch (2)

185-208: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Handle DSI init errors and guard optional reset GPIO

  • yixian_yx0345_prepare() ignores mctx.accum_err and always returns success, so DSI init failures leave regulators enabled and the panel partially initialized.
  • yixian_yx0345_unprepare() calls gpiod_set_value_cansleep(ctx->reset_gpio, 1) unconditionally, but reset_gpio is optional via devm_gpiod_get_optional() and may be NULL.
Suggested fix
 static int yixian_yx0345_prepare(struct drm_panel *panel)
 {
 	struct yixian_yx0345 *ctx = to_yixian_yx0345(panel);
 	struct mipi_dsi_multi_context mctx = { .dsi = ctx->dsi };
+	struct yixian_yx0345_panel_data *panel_data = ctx->panel_info->panel_data;
 	int ret;
 
 	ret = regulator_bulk_enable(ctx->num_supplies, ctx->supplies);
 	if (ret < 0)
 		return ret;
@@
-	struct yixian_yx0345_panel_data *panel_data =
-		ctx->panel_info->panel_data;
-
 	for (int i = 0; i < panel_data->len; i++) {
 		struct yixian_yx0345_cmd code = panel_data->init_code[i];
 
 		mipi_dsi_dcs_write_buffer_multi(&mctx, &code.data, code.len);
@@
 
 	mipi_dsi_msleep(&mctx, 10);
 
-	return 0;
+	ret = mctx.accum_err;
+	if (ret < 0) {
+		if (ctx->reset_gpio)
+			gpiod_set_value_cansleep(ctx->reset_gpio, 1);
+		regulator_bulk_disable(ctx->num_supplies, ctx->supplies);
+	}
+
+	return ret;
 }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@patch/kernel/archive/rockchip64-7.0/general-drm-panel-add-yixian-yx0345-panel.patch`
around lines 185 - 208, yixian_yx0345_prepare currently ignores mctx.accum_err
and may leave regulators enabled on DSI failures, and yixian_yx0345_unprepare
calls gpiod_set_value_cansleep unconditionally even though reset_gpio is
optional; update yixian_yx0345_prepare to check mctx.accum_err (and any returned
error from mipi_dsi calls) after the init loop and on error call
regulator_bulk_disable(ctx->num_supplies, ctx->supplies) and return the error
code instead of 0, and update yixian_yx0345_unprepare to guard the reset
operation with if (ctx->reset_gpio) before calling
gpiod_set_value_cansleep(ctx->reset_gpio, 1).

229-236: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use zero-parameter DCS writes for display-off and enter-sleep

The code sends mipi_dsi_dcs_write(..., <cmd>, &data, 1) with a dummy byte for DCS commands that should have no payload; use the helper’s zero-length form with NULL, 0 for the payload.

Suggested fix
-	u8 data = 0x00;
-	ret = mipi_dsi_dcs_write(ctx.dsi, 0x28, &amp;data, 1);
+	ret = mipi_dsi_dcs_write(ctx.dsi, MIPI_DCS_SET_DISPLAY_OFF, NULL, 0);
 	if (ret < 0)
 		return ret;
 
-	ret = mipi_dsi_dcs_write(ctx.dsi, 0x10, &amp;data, 1);
+	ret = mipi_dsi_dcs_write(ctx.dsi, MIPI_DCS_ENTER_SLEEP_MODE, NULL, 0);
 	if (ret < 0)
 		return ret;
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@patch/kernel/archive/rockchip64-7.0/general-drm-panel-add-yixian-yx0345-panel.patch`
around lines 229 - 236, The DCS display-off and enter-sleep calls currently pass
a dummy byte (u8 data and mipi_dsi_dcs_write(ctx.dsi, 0x28, &data, 1) /
mipi_dsi_dcs_write(ctx.dsi, 0x10, &data, 1)); replace these with zero-parameter
writes using the helper's NULL/0 payload form (call mipi_dsi_dcs_write(ctx.dsi,
0x28, NULL, 0) and mipi_dsi_dcs_write(ctx.dsi, 0x10, NULL, 0)) and remove the
unused u8 data variable, keeping the same error checks against ret and ctx.dsi
references.
🧹 Nitpick comments (1)
patch/kernel/archive/sunxi-6.18/patches.backports/30-allwinner-a523-support-spi-controllers.patch (1)

175-186: Please attach a minimal SPI bring-up validation matrix before merge.

Since this enables board SPI NOR nodes on Cubie A5E and OrangePi 4A, please include boot evidence (probe + MTD enumeration) for both boards to reduce integration risk.

Also applies to: 195-208

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@patch/kernel/archive/sunxi-6.18/patches.backports/30-allwinner-a523-support-spi-controllers.patch`
around lines 175 - 186, Add a minimal SPI bring-up validation matrix and boot
evidence before merging the spi0 device-tree addition: for the spi0 node and the
w25q128 flash@0 entry validate on both Cubie A5E and OrangePi 4A by providing
dmesg/kernel logs showing the SPI controller probe and the Winbond w25q128
probe, plus MTD enumeration output (e.g., /proc/mtd or dmesg lines showing
mtd0/mtdblock devices) and a short matrix listing board, kernel commit/patch
used, test kernel config (if non-default), and whether booted from SPI NOR;
attach those logs to the PR for lines adding spi0 and w25q128 so reviewers can
confirm successful bring-up on both boards.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@patch/kernel/archive/rockchip64-6.18/rk3528-10-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch`:
- Around line 149-153: In rockchip_usb2phy_probe the call rphy->phy_base =
device_node_to_regmap(np) can fail because the RK3528 PHY node isn’t registered
as a syscon; instead detect that the node is not a syscon and create an MMIO
regmap from the node’s reg resource (use
of_address_to_resource/of_address_count_to_resource or of_find_property to get
the 'reg' and then devm_regmap_init_mmio on dev/returned resource) falling back
to device_node_to_regmap only for syscon nodes; update error handling to return
PTR_ERR on regmap init failure and reference rphy->phy_base,
device_node_to_regmap, devm_regmap_init_mmio and
of_syscon_register_regmap/of_address_to_resource when making the change.

---

Outside diff comments:
In
`@patch/kernel/archive/rockchip64-7.0/general-drm-panel-add-yixian-yx0345-panel.patch`:
- Around line 185-208: yixian_yx0345_prepare currently ignores mctx.accum_err
and may leave regulators enabled on DSI failures, and yixian_yx0345_unprepare
calls gpiod_set_value_cansleep unconditionally even though reset_gpio is
optional; update yixian_yx0345_prepare to check mctx.accum_err (and any returned
error from mipi_dsi calls) after the init loop and on error call
regulator_bulk_disable(ctx->num_supplies, ctx->supplies) and return the error
code instead of 0, and update yixian_yx0345_unprepare to guard the reset
operation with if (ctx->reset_gpio) before calling
gpiod_set_value_cansleep(ctx->reset_gpio, 1).
- Around line 229-236: The DCS display-off and enter-sleep calls currently pass
a dummy byte (u8 data and mipi_dsi_dcs_write(ctx.dsi, 0x28, &data, 1) /
mipi_dsi_dcs_write(ctx.dsi, 0x10, &data, 1)); replace these with zero-parameter
writes using the helper's NULL/0 payload form (call mipi_dsi_dcs_write(ctx.dsi,
0x28, NULL, 0) and mipi_dsi_dcs_write(ctx.dsi, 0x10, NULL, 0)) and remove the
unused u8 data variable, keeping the same error checks against ret and ctx.dsi
references.

In
`@patch/kernel/archive/sunxi-7.0/patches.drm/0038-drm-sun4i-switch-DE33-to-new-bindings.patch`:
- Around line 269-304: The DE33 probe-defer path in sun8i_mixer_bind bypasses
the mod_clk cleanup and leaks the pdev ref; change the !data branch so it calls
put_device(&pdev->dev) then jumps to err_disable_mod_clk (instead of returning)
and update the err_disable_mod_clk cleanup to release any held planes dev
reference by calling put_device(mixer->planes_dev) if mixer->planes_dev is set
before calling clk_disable_unprepare(mixer->mod_clk); ensure mixer->planes_dev
is only assigned after platform_get_drvdata succeeds so the cleanup check is
valid.

---

Nitpick comments:
In
`@patch/kernel/archive/sunxi-6.18/patches.backports/30-allwinner-a523-support-spi-controllers.patch`:
- Around line 175-186: Add a minimal SPI bring-up validation matrix and boot
evidence before merging the spi0 device-tree addition: for the spi0 node and the
w25q128 flash@0 entry validate on both Cubie A5E and OrangePi 4A by providing
dmesg/kernel logs showing the SPI controller probe and the Winbond w25q128
probe, plus MTD enumeration output (e.g., /proc/mtd or dmesg lines showing
mtd0/mtdblock devices) and a short matrix listing board, kernel commit/patch
used, test kernel config (if non-default), and whether booted from SPI NOR;
attach those logs to the PR for lines adding spi0 and w25q128 so reviewers can
confirm successful bring-up on both boards.
🪄 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: 4c136237-1874-4d87-9a80-9da27c9cb81c

📥 Commits

Reviewing files that changed from the base of the PR and between 93e2cf6 and 0983636.

📒 Files selected for processing (38)
  • patch/kernel/archive/meson64-6.18/general-meson-mmc-2-arm64-amlogic-dts-meson-update-meson-axg-device-tree.patch
  • patch/kernel/archive/meson64-6.18/general-soc-0004-arm64-dts-meson-add-dts-links-to-secure-monitor-for-.patch
  • patch/kernel/archive/meson64-6.18/general-spi-nor-add-support-for-XT25F128B.patch
  • patch/kernel/archive/meson64-7.0/general-meson-mmc-2-arm64-amlogic-dts-meson-update-meson-axg-device-tree.patch
  • patch/kernel/archive/meson64-7.0/general-soc-0004-arm64-dts-meson-add-dts-links-to-secure-monitor-for-.patch
  • patch/kernel/archive/rockchip64-6.18/general-add-xtx-spi-nor-chips.patch
  • patch/kernel/archive/rockchip64-6.18/media-0001-Add-rkvdec-Support-v5.patch
  • patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-dwc3-Track-the-power-state-of-usb3_generic_phy.patch
  • patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-typec-tcpm-Fix-PD-devices-capabilities-registrat.patch
  • patch/kernel/archive/rockchip64-6.18/rk3528-10-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch
  • patch/kernel/archive/rockchip64-6.18/rk3528-13-phy-rockchip-inno-usb2-fix-otg-timer-cleanup.patch
  • patch/kernel/archive/rockchip64-6.18/rk3576-0008-arm64-dts-rk3576-add-pwm-nodes.patch
  • patch/kernel/archive/rockchip64-7.0/general-drm-panel-add-yixian-yx0345-panel.patch
  • patch/kernel/archive/rockchip64-7.0/rk3399-usbc-usb-typec-tcpm-Fix-PD-devices-capabilities-registrat.patch
  • patch/kernel/archive/rockchip64-7.0/rk3528-10-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch
  • patch/kernel/archive/rockchip64-7.0/rk3528-13-phy-rockchip-inno-usb2-fix-otg-timer-cleanup.patch
  • patch/kernel/archive/sunxi-6.18/patches.armbian/arm64-dts-sun55i-a527-cubie-a5e-enable-usbc-pcie-combophy.patch
  • patch/kernel/archive/sunxi-6.18/patches.armbian/arm64-dts-sun55i-dtsi-add-iommu-usbc-pcie-combophy-nodes.patch
  • patch/kernel/archive/sunxi-6.18/patches.armbian/drm-sun4i-use-backend-mixer-as-dedicated-dma-device.patch
  • patch/kernel/archive/sunxi-6.18/patches.backports/21-Enable-uart1-on-Radxa-Cubie-A5E.patch
  • patch/kernel/archive/sunxi-6.18/patches.backports/22-Enable-wifi-on-Radxa-Cubie-A5E.patch
  • patch/kernel/archive/sunxi-6.18/patches.backports/30-allwinner-a523-support-spi-controllers.patch
  • patch/kernel/archive/sunxi-6.18/patches.backports/32-pinctrl-sunxi-a523-Remove_unneeded_IRQ_remuxing_flag.patch
  • patch/kernel/archive/sunxi-6.18/patches.backports/33-arm64-dts-allwinner-a523-Add_missing_GPIO_interrupt.patch
  • patch/kernel/archive/sunxi-6.18/patches.backports/34-fix-wifi-regulator-cubie-a5e.patch
  • patch/kernel/archive/sunxi-6.18/patches.megous/fixes-6.18/0024-Revert-usb-dwc3-Abort-suspend-on-soft-disconnect-fai.patch
  • patch/kernel/archive/sunxi-6.18/patches.megous/private-6.18/0004-mtd-spi-nor-Add-Alliance-memory-support.patch
  • patch/kernel/archive/sunxi-6.18/patches.megous/tcpm-6.18/0004-usb-typec-tcpm-Fix-PD-devices-capabilities-registrat.patch
  • patch/kernel/archive/sunxi-6.18/patches.megous/tcpm-6.18/0005-usb-typec-tcpm-Improve-logs.patch
  • patch/kernel/archive/sunxi-7.0/patches.armbian/3401-net-wireless-backport-aic8800-sdio-v2025_0926_91c9dae5-mm2.patch
  • patch/kernel/archive/sunxi-7.0/patches.armbian/arm64-dts-sun55i-a527-cubie-a5e-enable-usbc-pcie-combophy.patch
  • patch/kernel/archive/sunxi-7.0/patches.armbian/drm-sun4i-use-backend-mixer-as-dedicated-dma-device.patch
  • patch/kernel/archive/sunxi-7.0/patches.backports/21-Enable-uart1-on-Radxa-Cubie-A5E.patch
  • patch/kernel/archive/sunxi-7.0/patches.backports/22-Enable-wifi-on-Radxa-Cubie-A5E.patch
  • patch/kernel/archive/sunxi-7.0/patches.backports/23-fix-wifi-regulator-cubie-a5e.patch
  • patch/kernel/archive/sunxi-7.0/patches.drm/0038-drm-sun4i-switch-DE33-to-new-bindings.patch
  • patch/kernel/archive/sunxi-7.0/patches.megous/tcpm-7.0/0004-usb-typec-tcpm-Fix-PD-devices-capabilities-registrat.patch
  • patch/kernel/archive/sunxi-7.0/patches.megous/tcpm-7.0/0005-usb-typec-tcpm-Improve-logs.patch
👮 Files not reviewed due to content moderation or server errors (1)
  • patch/kernel/archive/rockchip64-6.18/media-0001-Add-rkvdec-Support-v5.patch

@github-actions github-actions Bot added the Ready to merge Reviewed, tested and ready for merge label May 26, 2026
@github-actions
Copy link
Copy Markdown
Contributor

✅ This PR has been reviewed and approved — all set for merge!

@github-actions github-actions Bot removed the Needs review Seeking for review label May 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

05 Milestone: Second quarter release Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... Ready to merge Reviewed, tested and ready for merge size/large PR with 250 lines or more

Development

Successfully merging this pull request may close these issues.

2 participants