Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Odin3 bringup - #10229

#10229
Open
kasimling wants to merge 3 commits into
armbian:mainarmbian/build:mainfrom
kasimling:odin3_bringupkasimling/armbian_build:odin3_bringupCopy head branch name to clipboard
Open

Odin3 bringup#10229
kasimling wants to merge 3 commits into
armbian:mainarmbian/build:mainfrom
kasimling:odin3_bringupkasimling/armbian_build:odin3_bringupCopy head branch name to clipboard

Conversation

@kasimling

@kasimling kasimling commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds support for running Armbian on AYN Odin3. It is largely based on Odin 3's ROCKNIX and Armada support.

Documentation summary for feature / change

  • Linux kernel 7.1 with Odin3 patches/device tree (Taken from ROCKNIX)
  • Odin3 board configuration

How Has This Been Tested?

Built both minimal and kde-plasma (Ubuntu 26.04 based) images and verified following features working

  • Built-in Display (including brightness adjustment)
  • Touch screen
  • Keys (power, volume up/down)
  • Adreno 830 GPU (via https://launchpad.net/~ernstp/+archive/ubuntu/mesaaco/+packages)
  • Built-in gamepad
  • USB Type-C connection
  • TF card
  • UFS storage
  • Battery charging
  • WiFi
  • Audio speaker
  • HDMI output via USB Type-C (with Shanze Type-C docker DDK6-S)

Things not working

  • HDMI output via USB Type-C

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features
    • Added initial Ayn Odin3 (SM8750) support with updated kernel hardware enablement: display/panel, touchscreen, audio (including HiFi profiles), RSInput gamepad and back paddles, plus programmable PWM/I2C LEDs.
    • Added Wi‑Fi 7 and Bluetooth support for WCN7860, including USB gadget networking.
    • Added Odin3 boot/ABL tooling for backup/restore and kernel ABL boot image updates.
  • Bug Fixes
    • Improved suspend/resume behavior (including RSInput MCU reinit) and corrected Wi‑Fi/Bluetooth address derivation.
  • Documentation
    • Added instructions for installing and backing up/restoring the ROCKNIX ABL package.

@github-actions github-actions Bot added the 08 Milestone: Third quarter release label Jul 19, 2026
@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds AYN Odin3 support on SM8750, covering build and boot integration, kernel configuration, device-tree hardware descriptions, peripheral drivers, wireless support, firmware packaging, and platform-specific kernel changes.

Changes

AYN Odin3 platform

Layer / File(s) Summary
Build framework and boot artifacts
config/boards/ayn-odin3.csc, config/sources/families/sm8750.conf, packages/bsp/ayn-odin3/*
Adds Odin3 image hooks, SM8750 family settings, ALSA routing, USB gadget assets, initramfs firmware inclusion, ABL utilities, and kernel image generation scripts.
SM8750 kernel and device-tree foundation
config/kernel/linux-sm8750-edge.config, patch/kernel/archive/sm8750-7.1/0026-*, 0033-*, 0034-*, 0038-*, 0046-*, 0047-*
Adds kernel configuration, CQ8725S identification, common board hardware, SM8750 GPU/UART nodes, Odin3 peripherals, regulators, display, audio, storage, USB, and gamepad wiring.
Display, input, audio, and LED drivers
patch/kernel/archive/sm8750-7.1/0028-*, 0029-*, 0030-*, 0031-*, 0032-*, 0508-*, 1300-*
Adds the ICNA35XX panel, HTR3212 LED controller, RSInput gamepad, touchscreen fallback reads, AW88166 integration, resume reinitialization, and joystick calibration updates.
WCN7860 wireless and identity support
patch/kernel/archive/sm8750-7.1/0039-*, 0040-*, 0041-*, 0042-*, 0043-*, 0045-*, 0501-*
Adds WCN7860 ath12k, QDSS, PCI power sequencing, Bluetooth support, and serial-derived Wi-Fi and Bluetooth addresses.
GPU, display clocks, and power management
patch/kernel/archive/sm8750-7.1/0044-*, 0048-*, 0049-*, 0050-*, 0051-*
Adds Adreno 830 catalog data, DSI clock reparenting, PCIe retention, and GX power-domain handling.
Platform behavior and resource-management changes
patch/kernel/archive/sm8750-7.1/0500-*, 0503-*, 0504-*, 0505-*, 0601-*
Updates fan startup, battery naming, compat input syscalls, IPCC suspend IRQ handling, GEM IOVA locking, and PWM fan cooling levels.

Estimated code review effort: 5 (Critical) | ~120 minutes

Possibly related PRs

Suggested labels: 05

Suggested reviewers: evilolaf, ahoneybun, amazingfate, krachlatte, lanefu

🚥 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 title is concise and accurately summarizes the main change: bringing up Odin3 support.
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.
✨ 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.

@github-actions github-actions Bot added 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, ... BSP Board Support Packages labels Jul 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🚫 Missing required board assets

This PR adds new board configuration(s). Required assets must already exist in github/armbian/armbian.github.io.
They are required by Armbian Imager to ensure all boards are displayed with proper images.

  • Board images: board-images/<board>.png (1920x1080 px transparent)
  • Vendor logos: board-vendor-logos/<vendor>-logo.png (512x512 px transparent)

Missing items

  • Board image missing for ayn-odin3
    • Expected: board-images/ayn-odin3.png
    • Fix: add the file to armbian/armbian.github.io (folder board-images/)

Once the missing files are added (or a PR is opened in armbian/armbian.github.io), re-run this check.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 13

🧹 Nitpick comments (5)
config/boards/ayn-odin3.csc (3)

65-73: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Add -f to curl so HTTP errors are treated as failures.

curl -L -o temp.zip ... without -f won't return a non-zero exit code on HTTP 4xx/5xx responses; it will write the error page to temp.zip and let unzip fail later with a less clear error.

🛡️ Fix
-			curl -L -o temp.zip "${GITHUB_SOURCE}/AYNTechnologies/alsa-ucm-conf/archive/refs/heads/ayn/v1.2.15.3.zip"
+			curl -fL -o temp.zip "${GITHUB_SOURCE}/AYNTechnologies/alsa-ucm-conf/archive/refs/heads/ayn/v1.2.15.3.zip"
🤖 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 `@config/boards/ayn-odin3.csc` around lines 65 - 73, Update the curl invocation
in the ALSA archive download block to include the fail-on-HTTP-error option
while preserving the existing redirect-following and output behavior.

36-40: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Dead commented-out download line + fragile sed patch of an apt-installed script.

Line 36 is leftover debug code. Separately, the sed on line 38 silently no-ops if the installed mkbootimg package's source no longer contains that exact import line (e.g. after a package upgrade), and the failure only surfaces later when /tmp/mkbootimg is actually invoked.

♻️ Suggested cleanup
-	`#wget` https://launchpadlibrarian.net/810765814/mkbootimg -O /tmp/mkbootimg
 	cp /usr/bin/mkbootimg /tmp/mkbootimg
-	sed -i 's/from gki.generate_gki_certificate import generate_gki_certificate/# &/' /tmp/mkbootimg
+	sed -i 's/from gki.generate_gki_certificate import generate_gki_certificate/# &/' /tmp/mkbootimg || display_alert "mkbootimg gki patch pattern not found, package may have changed" "" "wrn"
 	chmod +x /tmp/mkbootimg
🤖 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 `@config/boards/ayn-odin3.csc` around lines 36 - 40, Remove the dead
commented-out wget line and make the mkbootimg patch step validate that the
expected import exists before modifying /tmp/mkbootimg; fail immediately with a
clear error if the installed script no longer contains that exact line, while
preserving the existing copy and executable-permission flow.

46-52: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Boot --cmdline is hardcoded identically in two disconnected places, bypassing BOOTIMG_CMDLINE_EXTRA. Both the build-time boot-image creation and the on-device kernel-update hook independently hardcode the same --cmdline string; a future change to boot arguments (e.g. adding a console option) requires remembering to edit both, and neither actually consumes BOOTIMG_CMDLINE_EXTRA declared in ayn-odin3.csc.

  • config/boards/ayn-odin3.csc#L46-L52: derive the --cmdline value from BOOTIMG_CMDLINE_EXTRA (or a shared helper) instead of a separate hardcoded string, so it stays in sync with the value on line 25.
  • packages/bsp/ayn-odin3/zz-update-abl-kernel#L12-L19: source the same cmdline value (e.g. embed it via a template/env file written at build time into /boot/armbianEnv.txt, which this script already sources) instead of re-hardcoding it.
🤖 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 `@config/boards/ayn-odin3.csc` around lines 46 - 52, The boot cmdline is
duplicated and does not consume BOOTIMG_CMDLINE_EXTRA, allowing the build image
and kernel-update hook to diverge. In config/boards/ayn-odin3.csc lines 46-52,
derive the --cmdline from BOOTIMG_CMDLINE_EXTRA or a shared helper instead of
hardcoding it; in packages/bsp/ayn-odin3/zz-update-abl-kernel lines 12-19,
source that same generated value through the existing armbianEnv.txt mechanism
or equivalent rather than duplicating the string.
patch/kernel/archive/sm8750-7.1/0500-ROCKNIX-set-boot-fanspeed.patch (2)

1-1: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Undocumented numeric coupling between boot PWM and cooling-levels table. 0500 hardcodes the boot PWM to 70, which only makes sense because 0601 later defines state index 4 in cooling-levels as 70 — but neither patch references the other, so the mapping is implicit and easy to desync.

  • patch/kernel/archive/sm8750-7.1/0500-ROCKNIX-set-boot-fanspeed.patch#L1-13: add a comment noting 70 corresponds to cooling-levels index 4 defined in 0601-ROCKNIX-odin3-pwm-fan-sysfs.patch, or derive the boot value from the cooling-levels table instead of hardcoding it.
  • patch/kernel/archive/sm8750-7.1/0601-ROCKNIX-odin3-pwm-fan-sysfs.patch#L11-22: add a comment noting that index 4 (70) is relied upon as the hardcoded boot-time PWM value set in 0500-ROCKNIX-set-boot-fanspeed.patch.
🤖 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/sm8750-7.1/0500-ROCKNIX-set-boot-fanspeed.patch` at line
1, Document the coupling between the boot PWM value and cooling-levels table: in
the boot fan-speed change from 0500, note that 70 corresponds to cooling-levels
index 4 defined by 0601; in the table change from 0601, note that index 4’s
value of 70 is required by the hardcoded boot-time PWM in 0500. Preserve the
existing values and behavior.

1-13: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Hardcoded boot PWM (70) is fragile and undocumented.

This replaces the driver-computed initial_pwm with a bare magic number in the shared, generic pwm-fan driver. The value 70 isn't documented as being tied to state index 4 of the cooling-levels array added in 0601-ROCKNIX-odin3-pwm-fan-sysfs.patch; if that table changes, this silently stops matching the intended boot state.

🤖 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/sm8750-7.1/0500-ROCKNIX-set-boot-fanspeed.patch` around
lines 1 - 13, Replace the hardcoded 70 passed to set_pwm in pwm_fan_probe with a
documented, named value derived from the intended cooling-levels boot state,
such as the existing state-index-4 value. Keep the generic driver behavior
unchanged for platforms without that configuration and ensure future
cooling-levels changes cannot silently desynchronize the boot PWM.
🤖 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 `@config/boards/ayn-odin3.csc`:
- Around line 84-90: Update the executable script and initramfs hook installs in
the board configuration from mode 655 to 755, including
usb-gadget-initramfs-hook, usb-gadget-initramfs-premount, dropbear, and
kill-dropbear, so the owner retains execute permission; leave the 644 service
install unchanged.
- Around line 32-34: Replace the fragile rootfs_image_uuid pipeline with
validated extraction from the actual fstab entry: locate a non-comment line
containing a UUID= field and extract its value without assuming the first line
is valid. Fail the build immediately with a clear error if no valid UUID is
found, before rootfs_image_uuid is used in the boot --cmdline.

In `@config/sources/families/sm8750.conf`:
- Around line 16-23: Add a `current)` clause to the `case $BRANCH` block
alongside `edge)` and initialize `KERNEL_MAJOR_MINOR`, `KERNELBRANCH`, and
`KERNEL_GIT_CACHE_TTL` with the appropriate current-kernel values so
`KERNEL_TEST_TARGET="current"` builds receive all required settings.

In `@packages/bsp/ayn-odin3/HiFi.conf`:
- Line 1: Update the header comment in HiFi.conf to identify the configuration
as intended for AYN Odin3 instead of AYN Odin2; leave the audio routing
configuration unchanged.

In `@packages/bsp/ayn-odin3/rocknix_abl/SM8750/flash_abl.sh`:
- Around line 5-6: Harden the ABL toolchain: in
packages/bsp/ayn-odin3/rocknix_abl/SM8750/flash_abl.sh (lines 5-6), enable
fail-fast handling and verify abl_signed-SM8750.elf with
abl_signed-SM8750.elf.sha256 before either abl_a or abl_b dd write; in
backup_abl.sh (lines 5-6) and restore_backup_abl.sh (lines 5-6), ensure every dd
failure terminates the script; update the README to document checksum
verification. The checksum file at
packages/bsp/ayn-odin3/rocknix_abl/SM8750/abl_signed-SM8750.elf.sha256 (line 1)
requires no direct change, but must be referenced by flash_abl.sh.

In `@packages/bsp/ayn-odin3/zz-update-abl-kernel`:
- Around line 3-11: Update the kernel artifact references in the postinst script
to use the ABI version passed as $1, selecting /boot/vmlinuz-$1,
/boot/initrd.img-$1, and the matching sm8750 DTB instead of wildcard paths.
Remove the unused source /boot/armbianEnv.txt statement while preserving the
existing gzip and mkbootimg flow.

In
`@patch/kernel/archive/sm8750-7.1/0028-drm-panel-Add-panel-driver-for-Chipone-ICNA35XX-base.patch`:
- Around line 121-141: Update icna35xx_get_current_mode() to check whether
pinfo->connector is NULL before accessing connector->state, returning the
default mode index 0 when no connector is available. Preserve the existing
checks and mode-matching behavior for initialized connectors.

In
`@patch/kernel/archive/sm8750-7.1/0030-leds-Add-driver-for-HEROIC-HTR3212.patch`:
- Around line 288-290: Update the sdb acquisition error handling in the probe
function around devm_gpiod_get so every error pointer is returned, while
preserving -EPROBE_DEFER propagation. Treat the mandatory sdb descriptor as
valid only when the call succeeds, preventing subsequent
gpiod_set_value_cansleep and regulator-related paths from receiving an ERR_PTR.

In
`@patch/kernel/archive/sm8750-7.1/0031_input--Add-driver-for-RSInput-Gamepad.patch`:
- Around line 483-492: Balance regulator enables on probe failures in both
drivers: update the RSInput probe flow after regulator_enable(drv->vdd) and the
HTR3212 probe flow after regulator_enable(priv->vdd) so every listed later error
path disables the supply before returning, preferably by using
devm_regulator_get_enable() where compatible. In the HTR3212 paths, also drive
sdb low before returning. Apply changes in
patch/kernel/archive/sm8750-7.1/0031_input--Add-driver-for-RSInput-Gamepad.patch
lines 483-492 and
patch/kernel/archive/sm8750-7.1/0030-leds-Add-driver-for-HEROIC-HTR3212.patch
lines 298-301; cover RSInput failures from serdev_device_open, baudrate setup,
input allocation/registration, and rsinput_init_commands, plus HTR3212 failures
from regmap initialization, htr3212_init_regs, and htr3212_parse_dt.
- Around line 298-370: Update handle_cmd_status to validate that payload_length
covers every field accessed through FRAME_POS_DATA_14 before reading status
data. Reject shorter payloads through the existing invalid-length path, while
preserving the current key and axis reporting behavior for complete frames.

In `@patch/kernel/archive/sm8750-7.1/0501-ROCKNIX-fix-wifi-and-bt-mac.patch`:
- Around line 116-141: Update qca_uart_setup so generate_bdaddr_from_serial
failure does not return early or disable Bluetooth; instead, preserve the
existing qca_check_bdaddr fallback path for unavailable or malformed
qcom_serial_number values. Only apply qca_set_bdaddr and update hdev addresses
after successful serial derivation, while retaining the current error handling
for failures setting a successfully generated address.

In `@patch/kernel/archive/sm8750-7.1/0503-ROCKNIX-battery-name.patch`:
- Around line 10-22: Revert the `.name` change in `sm8550_bat_psy_desc` so the
shared qcom_battmgr power supply continues using `qcom-battmgr-bat`; do not
rename it to `battery`. If a board-specific name is required, implement it
through a separate board-scoped path rather than modifying this shared
descriptor.

In
`@patch/kernel/archive/sm8750-7.1/0504-Enable-64-bit-processes-to-use-compat-input-syscalls.patch`:
- Around line 44-52: Update the condition in input_ff_effect_from_user() to
select the compat ff_effect_compat conversion whenever current->compat_input or
in_compat_syscall() is true, removing the !COMPAT_USE_64BIT_TIME gate. Preserve
the existing size validation and conversion logic.

---

Nitpick comments:
In `@config/boards/ayn-odin3.csc`:
- Around line 65-73: Update the curl invocation in the ALSA archive download
block to include the fail-on-HTTP-error option while preserving the existing
redirect-following and output behavior.
- Around line 36-40: Remove the dead commented-out wget line and make the
mkbootimg patch step validate that the expected import exists before modifying
/tmp/mkbootimg; fail immediately with a clear error if the installed script no
longer contains that exact line, while preserving the existing copy and
executable-permission flow.
- Around line 46-52: The boot cmdline is duplicated and does not consume
BOOTIMG_CMDLINE_EXTRA, allowing the build image and kernel-update hook to
diverge. In config/boards/ayn-odin3.csc lines 46-52, derive the --cmdline from
BOOTIMG_CMDLINE_EXTRA or a shared helper instead of hardcoding it; in
packages/bsp/ayn-odin3/zz-update-abl-kernel lines 12-19, source that same
generated value through the existing armbianEnv.txt mechanism or equivalent
rather than duplicating the string.

In `@patch/kernel/archive/sm8750-7.1/0500-ROCKNIX-set-boot-fanspeed.patch`:
- Line 1: Document the coupling between the boot PWM value and cooling-levels
table: in the boot fan-speed change from 0500, note that 70 corresponds to
cooling-levels index 4 defined by 0601; in the table change from 0601, note that
index 4’s value of 70 is required by the hardcoded boot-time PWM in 0500.
Preserve the existing values and behavior.
- Around line 1-13: Replace the hardcoded 70 passed to set_pwm in pwm_fan_probe
with a documented, named value derived from the intended cooling-levels boot
state, such as the existing state-index-4 value. Keep the generic driver
behavior unchanged for platforms without that configuration and ensure future
cooling-levels changes cannot silently desynchronize the boot PWM.
🪄 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: 17a4f4e3-6ffc-459f-8fe9-196f296ab813

📥 Commits

Reviewing files that changed from the base of the PR and between e2626de and 37f86f6.

📒 Files selected for processing (43)
  • config/boards/ayn-odin3.csc
  • config/kernel/linux-sm8750-edge.config
  • config/sources/families/sm8750.conf
  • packages/bsp/ayn-odin3/HiFi.conf
  • packages/bsp/ayn-odin3/rocknix_abl/README
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/abl_signed-SM8750.elf
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/abl_signed-SM8750.elf.sha256
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/backup_abl.sh
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/flash_abl.sh
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/restore_backup_abl.sh
  • packages/bsp/ayn-odin3/zz-update-abl-kernel
  • patch/kernel/archive/sm8750-7.1/0026-dt-bindings-arm-qcom-ids-Add-SoC-ID-for-CQ8725S.patch
  • patch/kernel/archive/sm8750-7.1/0027-soc-qcom-socinfo-Add-CQ8725S-SoC-ID.patch
  • patch/kernel/archive/sm8750-7.1/0028-drm-panel-Add-panel-driver-for-Chipone-ICNA35XX-base.patch
  • patch/kernel/archive/sm8750-7.1/0029-Input-edt-ft5x06-add-no_regmap_bulk_read-option.patch
  • patch/kernel/archive/sm8750-7.1/0030-leds-Add-driver-for-HEROIC-HTR3212.patch
  • patch/kernel/archive/sm8750-7.1/0031_input--Add-driver-for-RSInput-Gamepad.patch
  • patch/kernel/archive/sm8750-7.1/0032-ASoC-codecs-aw88166-AYN-Products-Specific-modificati.patch
  • patch/kernel/archive/sm8750-7.1/0033-arm64-dts-qcom-sm8750-gpu-clock-controllers.patch
  • patch/kernel/archive/sm8750-7.1/0034-arm64-dts-qcom-sm8750-Add-UART15.patch
  • patch/kernel/archive/sm8750-7.1/0038-arm64-dts-qcom-sm8750-add-GPU-nodes.patch
  • patch/kernel/archive/sm8750-7.1/0039-wifi-ath12k-add-initial-hardware-definition-for-WCN7.patch
  • patch/kernel/archive/sm8750-7.1/0040-wifi-ath12k-send-QDSS-config-when-CNSS_QDSS_CFG_MISS.patch
  • patch/kernel/archive/sm8750-7.1/0041-wifi-ath12k-disable-CNSS_QDSS_CFG_MISS_V01-for-the-W.patch
  • patch/kernel/archive/sm8750-7.1/0042-PCI-pwrctrl-pwrseq-add-support-for-WCN7860.patch
  • patch/kernel/archive/sm8750-7.1/0043-power-sequencing-qcom-wcn-add-support-for-WCN7860.patch
  • patch/kernel/archive/sm8750-7.1/0044-clk-qcom-gcc-sm8750-Do-not-turn-off-PCIe-GDSCs-durin.patch
  • patch/kernel/archive/sm8750-7.1/0045-Bluetooth-qca-add-WCN7860-support.patch
  • patch/kernel/archive/sm8750-7.1/0046-arm64-dts-qcom-Add-AYN-CQ8725S-Common.patch
  • patch/kernel/archive/sm8750-7.1/0047-arm64-dts-qcom-Add-AYN-Odin3.patch
  • patch/kernel/archive/sm8750-7.1/0048-drm-msm-dsi-reparent-byte-pixel-src-to-xo-on-disable.patch
  • patch/kernel/archive/sm8750-7.1/0049-drm-msm-a8xx-add-adreno-830-catalog.patch
  • patch/kernel/archive/sm8750-7.1/0050-clk-qcom-gxclkctl-kaanapali-fix-gx-gdsc-collapse.patch
  • patch/kernel/archive/sm8750-7.1/0051-drm-msm-a6xx-limit-gxpd-votes-to-recovery-in-a8x.patch
  • patch/kernel/archive/sm8750-7.1/0500-ROCKNIX-set-boot-fanspeed.patch
  • patch/kernel/archive/sm8750-7.1/0501-ROCKNIX-fix-wifi-and-bt-mac.patch
  • patch/kernel/archive/sm8750-7.1/0503-ROCKNIX-battery-name.patch
  • patch/kernel/archive/sm8750-7.1/0504-Enable-64-bit-processes-to-use-compat-input-syscalls.patch
  • patch/kernel/archive/sm8750-7.1/0504-wakeup-qcom-ipcc-remove-IRQF-NO-SUSPEND.patch
  • patch/kernel/archive/sm8750-7.1/0505-msm_gem-lock-before-put_iova_spaces.patch
  • patch/kernel/archive/sm8750-7.1/0508-input-rsinput-add-pm-resume-to-reinit-mcu-after-suspend.patch
  • patch/kernel/archive/sm8750-7.1/0601-ROCKNIX-odin3-pwm-fan-sysfs.patch
  • patch/kernel/archive/sm8750-7.1/1300-input-rsinput-ranges.patch

Comment thread config/boards/ayn-odin3.csc
Comment thread config/boards/ayn-odin3.csc Outdated
Comment thread config/sources/families/sm8750.conf
Comment thread packages/bsp/ayn-odin3/HiFi.conf Outdated
Comment thread packages/bsp/ayn-odin3/rocknix_abl/SM8750/flash_abl.sh
Comment thread patch/kernel/archive/sm8750-7.1/0503-ROCKNIX-battery-name.patch Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
patch/kernel/archive/sm8750-7.1/0030-leds-Add-driver-for-HEROIC-HTR3212.patch (1)

157-158: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

HTR3212_ENABLE_BIT reused as both a GENMASK bit index and a divisor.

GENMASK(HTR3212_ENABLE_BIT, 0) and HTR3212_CHANNELS / HTR3212_ENABLE_BIT yield the intended 0x3 and 12 only because HTR3212_ENABLE_BIT == 1. Overloading the same macro for two unrelated meanings is fragile — any future retune of the enable width silently corrupts the register count. Consider distinct constants (e.g. an enable mask and a channels-per-control-register value) to make the intent explicit.

🤖 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/sm8750-7.1/0030-leds-Add-driver-for-HEROIC-HTR3212.patch`
around lines 157 - 158, Separate the enable-bit mask from the register-channel
divisor in the initialization using distinct constants or macros. Update the
GENMASK expression to use the enable-width symbol and the num_regs calculation
to use an explicit channels-per-control-register value, preserving the resulting
mask and register count.
🤖 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/sm8750-7.1/0030-leds-Add-driver-for-HEROIC-HTR3212.patch`:
- Around line 283-284: Update htr3212_parse_dt() to reject child counts greater
than HTR3212_CHANNELS before indexing priv->leds, and allocate the driver state
with sizeof(*priv) rather than struct_size using the unbounded count. Preserve
normal parsing for valid counts and return an appropriate error for oversized
device trees.

---

Nitpick comments:
In
`@patch/kernel/archive/sm8750-7.1/0030-leds-Add-driver-for-HEROIC-HTR3212.patch`:
- Around line 157-158: Separate the enable-bit mask from the register-channel
divisor in the initialization using distinct constants or macros. Update the
GENMASK expression to use the enable-width symbol and the num_regs calculation
to use an explicit channels-per-control-register value, preserving the resulting
mask and register count.
🪄 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: 3ac6dfff-2227-434e-8840-b0a2fb21f0af

📥 Commits

Reviewing files that changed from the base of the PR and between 37f86f6 and b698e0d.

📒 Files selected for processing (44)
  • config/boards/ayn-odin3.csc
  • config/kernel/linux-sm8750-current.config
  • config/kernel/linux-sm8750-edge.config
  • config/sources/families/sm8750.conf
  • packages/bsp/ayn-odin3/HiFi.conf
  • packages/bsp/ayn-odin3/rocknix_abl/README
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/abl_signed-SM8750.elf
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/abl_signed-SM8750.elf.sha256
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/backup_abl.sh
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/flash_abl.sh
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/restore_backup_abl.sh
  • packages/bsp/ayn-odin3/zz-update-abl-kernel
  • patch/kernel/archive/sm8750-7.1/0026-dt-bindings-arm-qcom-ids-Add-SoC-ID-for-CQ8725S.patch
  • patch/kernel/archive/sm8750-7.1/0027-soc-qcom-socinfo-Add-CQ8725S-SoC-ID.patch
  • patch/kernel/archive/sm8750-7.1/0028-drm-panel-Add-panel-driver-for-Chipone-ICNA35XX-base.patch
  • patch/kernel/archive/sm8750-7.1/0029-Input-edt-ft5x06-add-no_regmap_bulk_read-option.patch
  • patch/kernel/archive/sm8750-7.1/0030-leds-Add-driver-for-HEROIC-HTR3212.patch
  • patch/kernel/archive/sm8750-7.1/0031_input--Add-driver-for-RSInput-Gamepad.patch
  • patch/kernel/archive/sm8750-7.1/0032-ASoC-codecs-aw88166-AYN-Products-Specific-modificati.patch
  • patch/kernel/archive/sm8750-7.1/0033-arm64-dts-qcom-sm8750-gpu-clock-controllers.patch
  • patch/kernel/archive/sm8750-7.1/0034-arm64-dts-qcom-sm8750-Add-UART15.patch
  • patch/kernel/archive/sm8750-7.1/0038-arm64-dts-qcom-sm8750-add-GPU-nodes.patch
  • patch/kernel/archive/sm8750-7.1/0039-wifi-ath12k-add-initial-hardware-definition-for-WCN7.patch
  • patch/kernel/archive/sm8750-7.1/0040-wifi-ath12k-send-QDSS-config-when-CNSS_QDSS_CFG_MISS.patch
  • patch/kernel/archive/sm8750-7.1/0041-wifi-ath12k-disable-CNSS_QDSS_CFG_MISS_V01-for-the-W.patch
  • patch/kernel/archive/sm8750-7.1/0042-PCI-pwrctrl-pwrseq-add-support-for-WCN7860.patch
  • patch/kernel/archive/sm8750-7.1/0043-power-sequencing-qcom-wcn-add-support-for-WCN7860.patch
  • patch/kernel/archive/sm8750-7.1/0044-clk-qcom-gcc-sm8750-Do-not-turn-off-PCIe-GDSCs-durin.patch
  • patch/kernel/archive/sm8750-7.1/0045-Bluetooth-qca-add-WCN7860-support.patch
  • patch/kernel/archive/sm8750-7.1/0046-arm64-dts-qcom-Add-AYN-CQ8725S-Common.patch
  • patch/kernel/archive/sm8750-7.1/0047-arm64-dts-qcom-Add-AYN-Odin3.patch
  • patch/kernel/archive/sm8750-7.1/0048-drm-msm-dsi-reparent-byte-pixel-src-to-xo-on-disable.patch
  • patch/kernel/archive/sm8750-7.1/0049-drm-msm-a8xx-add-adreno-830-catalog.patch
  • patch/kernel/archive/sm8750-7.1/0050-clk-qcom-gxclkctl-kaanapali-fix-gx-gdsc-collapse.patch
  • patch/kernel/archive/sm8750-7.1/0051-drm-msm-a6xx-limit-gxpd-votes-to-recovery-in-a8x.patch
  • patch/kernel/archive/sm8750-7.1/0500-ROCKNIX-set-boot-fanspeed.patch
  • patch/kernel/archive/sm8750-7.1/0501-ROCKNIX-fix-wifi-and-bt-mac.patch
  • patch/kernel/archive/sm8750-7.1/0503-ROCKNIX-battery-name.patch
  • patch/kernel/archive/sm8750-7.1/0504-Enable-64-bit-processes-to-use-compat-input-syscalls.patch
  • patch/kernel/archive/sm8750-7.1/0504-wakeup-qcom-ipcc-remove-IRQF-NO-SUSPEND.patch
  • patch/kernel/archive/sm8750-7.1/0505-msm_gem-lock-before-put_iova_spaces.patch
  • patch/kernel/archive/sm8750-7.1/0508-input-rsinput-add-pm-resume-to-reinit-mcu-after-suspend.patch
  • patch/kernel/archive/sm8750-7.1/0601-ROCKNIX-odin3-pwm-fan-sysfs.patch
  • patch/kernel/archive/sm8750-7.1/1300-input-rsinput-ranges.patch
🚧 Files skipped from review as they are similar to previous changes (40)
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/backup_abl.sh
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/flash_abl.sh
  • packages/bsp/ayn-odin3/rocknix_abl/README
  • patch/kernel/archive/sm8750-7.1/0026-dt-bindings-arm-qcom-ids-Add-SoC-ID-for-CQ8725S.patch
  • patch/kernel/archive/sm8750-7.1/0044-clk-qcom-gcc-sm8750-Do-not-turn-off-PCIe-GDSCs-durin.patch
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/restore_backup_abl.sh
  • patch/kernel/archive/sm8750-7.1/0508-input-rsinput-add-pm-resume-to-reinit-mcu-after-suspend.patch
  • packages/bsp/ayn-odin3/zz-update-abl-kernel
  • packages/bsp/ayn-odin3/rocknix_abl/SM8750/abl_signed-SM8750.elf
  • patch/kernel/archive/sm8750-7.1/0027-soc-qcom-socinfo-Add-CQ8725S-SoC-ID.patch
  • patch/kernel/archive/sm8750-7.1/0043-power-sequencing-qcom-wcn-add-support-for-WCN7860.patch
  • patch/kernel/archive/sm8750-7.1/0503-ROCKNIX-battery-name.patch
  • patch/kernel/archive/sm8750-7.1/0504-wakeup-qcom-ipcc-remove-IRQF-NO-SUSPEND.patch
  • patch/kernel/archive/sm8750-7.1/0041-wifi-ath12k-disable-CNSS_QDSS_CFG_MISS_V01-for-the-W.patch
  • patch/kernel/archive/sm8750-7.1/0050-clk-qcom-gxclkctl-kaanapali-fix-gx-gdsc-collapse.patch
  • patch/kernel/archive/sm8750-7.1/0042-PCI-pwrctrl-pwrseq-add-support-for-WCN7860.patch
  • patch/kernel/archive/sm8750-7.1/0048-drm-msm-dsi-reparent-byte-pixel-src-to-xo-on-disable.patch
  • patch/kernel/archive/sm8750-7.1/0601-ROCKNIX-odin3-pwm-fan-sysfs.patch
  • patch/kernel/archive/sm8750-7.1/0500-ROCKNIX-set-boot-fanspeed.patch
  • patch/kernel/archive/sm8750-7.1/0033-arm64-dts-qcom-sm8750-gpu-clock-controllers.patch
  • patch/kernel/archive/sm8750-7.1/0051-drm-msm-a6xx-limit-gxpd-votes-to-recovery-in-a8x.patch
  • patch/kernel/archive/sm8750-7.1/0034-arm64-dts-qcom-sm8750-Add-UART15.patch
  • packages/bsp/ayn-odin3/HiFi.conf
  • patch/kernel/archive/sm8750-7.1/1300-input-rsinput-ranges.patch
  • config/kernel/linux-sm8750-edge.config
  • patch/kernel/archive/sm8750-7.1/0049-drm-msm-a8xx-add-adreno-830-catalog.patch
  • config/sources/families/sm8750.conf
  • patch/kernel/archive/sm8750-7.1/0039-wifi-ath12k-add-initial-hardware-definition-for-WCN7.patch
  • patch/kernel/archive/sm8750-7.1/0038-arm64-dts-qcom-sm8750-add-GPU-nodes.patch
  • patch/kernel/archive/sm8750-7.1/0504-Enable-64-bit-processes-to-use-compat-input-syscalls.patch
  • patch/kernel/archive/sm8750-7.1/0501-ROCKNIX-fix-wifi-and-bt-mac.patch
  • patch/kernel/archive/sm8750-7.1/0505-msm_gem-lock-before-put_iova_spaces.patch
  • patch/kernel/archive/sm8750-7.1/0047-arm64-dts-qcom-Add-AYN-Odin3.patch
  • patch/kernel/archive/sm8750-7.1/0032-ASoC-codecs-aw88166-AYN-Products-Specific-modificati.patch
  • patch/kernel/archive/sm8750-7.1/0031_input--Add-driver-for-RSInput-Gamepad.patch
  • patch/kernel/archive/sm8750-7.1/0040-wifi-ath12k-send-QDSS-config-when-CNSS_QDSS_CFG_MISS.patch
  • patch/kernel/archive/sm8750-7.1/0045-Bluetooth-qca-add-WCN7860-support.patch
  • patch/kernel/archive/sm8750-7.1/0046-arm64-dts-qcom-Add-AYN-CQ8725S-Common.patch
  • config/boards/ayn-odin3.csc
  • patch/kernel/archive/sm8750-7.1/0028-drm-panel-Add-panel-driver-for-Chipone-ICNA35XX-base.patch

Comment thread patch/kernel/archive/sm8750-7.1/0030-leds-Add-driver-for-HEROIC-HTR3212.patch Outdated
Comment thread config/boards/ayn-odin3.csc
Comment thread config/boards/ayn-odin3.csc Outdated
Comment thread config/sources/families/sm8750.conf Outdated

@EvilOlaf EvilOlaf left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

as per inline comments

@kasimling
kasimling requested a review from EvilOlaf July 20, 2026 12:55
@EvilOlaf
EvilOlaf dismissed their stale review July 20, 2026 13:17

addressed

@EvilOlaf

Copy link
Copy Markdown
Member

all of rabbits concerns must be addressed or dismissed

@SuperKali

Copy link
Copy Markdown
Member

@kasimling Please don't replace the stock ABL with the Rocknix custom ABL only. Keep compatibility with both, otherwise users will lose the ability to boot Android.

@kasimling

kasimling commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

@kasimling Please don't replace the stock ABL with the Rocknix custom ABL only. Keep compatibility with both, otherwise users will lose the ability to boot Android.

@SuperKali The rocknix_abl provides a script for backing up the stock ABL and another one to restore it. In addition, after flashing the rocknix ABL, users still can boot Android by setting ABL boot mode to "Android".

@SuperKali

SuperKali commented Jul 20, 2026

Copy link
Copy Markdown
Member

users still can boot Android by setting ABL boot mode to "Android".

It’s not really like that, and I tried it with my Odin 3, once I flashed their ABL I found myself with the Android broken partition.

Rocknix ABL breaks FOTA updates on Android.

Stock ABL support UEFI and I have a local branch where I made your similar work and that works with the stock one.

@kasimling

kasimling commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

users still can boot Android by setting ABL boot mode to "Android".

It’s not really like that, and I tried it with my Odin 3, once I flashed their ABL I found myself with the Android broken partition.

Rocknix ABL breaks FOTA updates on Android.

Stock ABL support UEFI and I have a local branch where I made your similar work and that works with the stock one.

I verified that using the rocknix_abl within the PR and I can boot Android after setting the ABL boot mode to "Android". I know the early version of rocknix ABL does break Android data partition and it needs a data clean up to boot Android. Now this issue has been fixed. I got this rocknix_abl from the Armada project.
Regarding to Android FOTA, I think the user should restore the stock ABL to ensure it works correctly.

@SuperKali

Copy link
Copy Markdown
Member

I verified that using the rocknix_abl within the PR and I can boot Android after setting the ABL boot mode to "Android". I know the early version of rocknix ABL does break Android data partition and it needs a data clean up to boot Android. Now this issue has been fixed. I got this rocknix_abl from the Armada project.

I prefer to use the ABL stock; you don't have to force a user to install that ABL, so it would be convenient if it supported both—what's the difference to you? I don't think it would be very difficult to integrate dual support.

Regarding to Android FOTA, I think the user should restore the stock ABL to ensure it works correctly.

I don't really agree with that, I think it's too complicated.

@SuperKali

Copy link
Copy Markdown
Member

I'd also add that, at the moment, support for Mesa drivers, and the ecosystem in general, is still very limited. Because of that, I don't think it makes sense to remove something stable like Android, whether you're using Armbian or Rocknix.

If a user simply wants to test things without modifying anything and keep the device completely stock with the original ABL, booting only from the SD card makes perfect sense. In that scenario, supporting the stock ABL is valuable because someone like me, who also uses the console for gaming, doesn't want to replace or dismantle the existing setup any more than necessary. I think that's how most people approach it as well.

@kasimling

Copy link
Copy Markdown
Contributor Author

@SuperKali are you saying we should keep the stock ABL unchanged and make the device be able to boot from SD card? My understanding is the stock ABL cannot do that and that is why we need to use a modified ABL. Am I miss anything?

@SuperKali

Copy link
Copy Markdown
Member

Not correct, stock ABL can boot without any issue an UEFI image.

I tried myself and it works without any issue.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

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 (2)
patch/kernel/archive/sm8750-7.1/0031_input--Add-driver-for-RSInput-Gamepad.patch (2)

410-440: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

Reassemble the UART byte stream before validating frames.

receive_buf delivers arbitrary byte chunks, not whole frames. The current handler discards arrivals shorter than MCU_PKT_SIZE_MIN even when only a prefix of a valid frame is present, and checksums overlong buffers as a single packet. Buffer incoming bytes, validate each complete frame individually, preserve any incomplete tail across callbacks, and return the number of bytes consumed.

🤖 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/sm8750-7.1/0031_input--Add-driver-for-RSInput-Gamepad.patch`
around lines 410 - 440, The rsinput_rx handler must reassemble the UART stream
instead of treating each callback as one frame: append incoming bytes to
persistent RX state, process and checksum each complete frame individually,
retain incomplete trailing bytes for the next callback, and handle overflow
without discarding valid buffered data. Update rsinput_rx and the driver’s
RX-buffer state accordingly, and return count to report all received bytes
consumed.

494-513: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Do not continue with failed GPIO acquisitions.

gpiod_get_optional() returns either a valid desc or NULL; on acquisition failure it returns an ERR_PTR(...). The checks use if (drv->..._gpio), so error pointers also pass through to gpiod_set_value_cansleep() in probe, remove, and command initialization. Propagate GPIO acquisition failures through the probe path, including -EPROBE_DEFER; optional GPIOs simply stay NULL when absent.

🤖 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/sm8750-7.1/0031_input--Add-driver-for-RSInput-Gamepad.patch`
around lines 494 - 513, Update the GPIO acquisition checks in the probe path for
boot_gpio, enable_gpio, and reset_gpio to detect ERR_PTR values and immediately
return the corresponding PTR_ERR result, preserving -EPROBE_DEFER. Keep absent
optional GPIOs as NULL, and only continue to initialization and later
gpiod_set_value_cansleep calls after all acquisitions succeed.
🤖 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/sm8750-7.1/0031_input--Add-driver-for-RSInput-Gamepad.patch`:
- Around line 300-365: Move prev_states from function-local static storage into
the per-device struct rsinput_driver, then update the button-state comparison
and assignment in the report path to use drv->prev_states. Keep button
transition tracking independent for each RSInput device.

---

Outside diff comments:
In
`@patch/kernel/archive/sm8750-7.1/0031_input--Add-driver-for-RSInput-Gamepad.patch`:
- Around line 410-440: The rsinput_rx handler must reassemble the UART stream
instead of treating each callback as one frame: append incoming bytes to
persistent RX state, process and checksum each complete frame individually,
retain incomplete trailing bytes for the next callback, and handle overflow
without discarding valid buffered data. Update rsinput_rx and the driver’s
RX-buffer state accordingly, and return count to report all received bytes
consumed.
- Around line 494-513: Update the GPIO acquisition checks in the probe path for
boot_gpio, enable_gpio, and reset_gpio to detect ERR_PTR values and immediately
return the corresponding PTR_ERR result, preserving -EPROBE_DEFER. Keep absent
optional GPIOs as NULL, and only continue to initialization and later
gpiod_set_value_cansleep calls after all acquisitions succeed.
🪄 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 Plus

Run ID: 2cad1249-f1ac-4d2f-b29a-a8b7005fe8dd

📥 Commits

Reviewing files that changed from the base of the PR and between acca963 and 8ce645e.

📒 Files selected for processing (1)
  • patch/kernel/archive/sm8750-7.1/0031_input--Add-driver-for-RSInput-Gamepad.patch

Comment thread patch/kernel/archive/sm8750-7.1/0031_input--Add-driver-for-RSInput-Gamepad.patch Outdated
@kasimling
kasimling marked this pull request as draft July 23, 2026 02:54
@kasimling
kasimling marked this pull request as ready for review July 23, 2026 03:32
@kasimling

Copy link
Copy Markdown
Contributor Author

all of rabbits concerns must be addressed or dismissed

@EvilOlaf I think all comments are addressed. Please check it again. Thanks!

@SuperKali

Copy link
Copy Markdown
Member

I don't agree that I asked you something and you're ignoring me.

@kasimling

Copy link
Copy Markdown
Contributor Author

I don't agree that I asked you something and you're ignoring me.

@SuperKali , I'm sorry if I let you feel that. I'm not going to ignore you. Actually I don't see there's a question I need to answer.

@kasimling
kasimling marked this pull request as draft July 23, 2026 13:16
@kasimling
kasimling marked this pull request as ready for review July 23, 2026 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

08 Milestone: Third quarter release BSP Board Support Packages Hardware Hardware related like kernel, U-Boot, ... Needs review Seeking for review Patches Patches related to kernel, U-Boot, ... size/large PR with 250 lines or more

Development

Successfully merging this pull request may close these issues.

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.