Skip to content

FROMLIST: Bluetooth: qca: enable QCC2072 on RB3 Gen 2 Industrial - #843

Draft
Rahul Samana (rahul-samana) wants to merge 4 commits into
qualcomm-linux:qcom-6.18.yfrom
rahul-samana:rb3gen2-industrial-mezzanine-bt-uart-rename-qcom-6.18
Draft

FROMLIST: Bluetooth: qca: enable QCC2072 on RB3 Gen 2 Industrial#843
Rahul Samana (rahul-samana) wants to merge 4 commits into
qualcomm-linux:qcom-6.18.yfrom
rahul-samana:rb3gen2-industrial-mezzanine-bt-uart-rename-qcom-6.18

Conversation

@rahul-samana

@rahul-samana Rahul Samana (rahul-samana) commented Jul 20, 2026

Copy link
Copy Markdown

Bring in the upstream-posted QCC2072 Bluetooth enablement for the RB3 Gen 2
Industrial BT-over-UART variant on qcom-6.18.y.

This replaces the older downstream m2-cologne overlay with the M.2 power
sequencing model and keeps the qcom-6.18.y kernel DTBO naming aligned with
the BT UART variant.

The required pwrseq QCC2072 PCI ID is already present in qcom-6.18.y

This PR carries the remaining pieces from the v2 upstream series that are
needed on qcom-6.18.y:

  • QCC2072 Bluetooth binding
  • QCC2072 btqca NVM/calibration handling update
  • RB3 Gen 2 labels needed by the overlay
  • PCI bridge class compatible for the M.2 topology
  • RB3 Gen 2 Industrial BT UART overlay using M.2 connector graph endpoints

Upstream series:
https://lore.kernel.org/all/20260727-rb3-industrial-bt-uart-v2-0-2d100f30e202@oss.qualcomm.com/

CRs-Fixed: 4615698

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4615698 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4615698
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

@rahul-samana
Rahul Samana (rahul-samana) force-pushed the rb3gen2-industrial-mezzanine-bt-uart-rename-qcom-6.18 branch from 511fa1e to 5cb39e3 Compare July 20, 2026 17:35
@qlijarvis

Copy link
Copy Markdown

PR #843 — validate-patch

PR: #843

Verdict Issues Detailed Report
⚠️ 1 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #843 - QCLINUX: arm64: dts: qcom: rename rb3gen2 industrial mezzanine UART BT overlay
Upstream commit: N/A (vendor-only QCLINUX: commit)
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: vendor-only commit
Body preserves rationale Clear explanation of rename rationale
Fixes tag present/correct N/A Not applicable for rename
Authorship preserved Signed-off-by present
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/Makefile Consistent rename references
qcs6490-rb3gen2-industrial-mezzanine-m2-cologne.dtso → qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtso Pure rename (100% similarity)

Issues

  • Integration presence: Commit is missing from both qcom-next and topics branches (per integration_presence_report.md). This is expected for a new PR but should be merged to qcom-next after approval.

Verdict

Merge after review. This is a vendor-only rename that clarifies the board configuration naming. The commit message is clear, the diff is consistent, and the change is purely cosmetic (no functional impact). The commit is not yet in qcom-next/topics, which is expected for a new PR.

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next/topics: No — 1/1 commit missing from both qcom-next and topics (expected for new PR; will be present after merge)

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: a5cf3debd8c3c660711ad586ad4bb84e9ca42635
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] QCLINUX: arm64: dts: qcom: rename rb3gen2 industrial missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing

Final Status

overall_status: FAIL
present_commits: 0/1
partial_commits: 0/1
missing_commits: 1/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #843 — checker-log-analyzer

PR: #843
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/29762611258

Checker Result Summary
Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Pre-existing tree issues only
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance QCLINUX: prefix not accepted
tag-check ⚠️ Cannot verify (target branch unknown)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #843 - arm64: dts: qcom: rename rb3gen2 industrial mezzanine UART BT overlay
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/29762611258

Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Pre-existing tree issues only
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance QCLINUX: prefix not accepted
tag-check ⚠️ Cannot verify (target branch unknown)

❌ check-patch-compliance

Root cause: The commit uses QCLINUX: prefix, which is not in the checker's allowed list.

Failure details:

Checking commit: arm64: dts: qcom: rename rb3gen2 industrial mezzanine UART BT overlay
Commit summary does not start with a required prefix

Analysis:

The commit subject in the patch is:

QCLINUX: arm64: dts: qcom: rename rb3gen2 industrial mezzanine UART BT overlay

The check-patch-compliance checker only accepts these prefixes:

  • FROMLIST: (posted to mailing list)
  • FROMGIT: (from maintainer tree)
  • UPSTREAM: (merged into mainline)
  • BACKPORT: (backported with modifications)

The QCLINUX: prefix is used for vendor-only changes with no upstream equivalent, but this is a known limitation of the checker — it will always fail for vendor-only commits.

This is not a patch defect. The QCLINUX: prefix is correct for a vendor-specific file rename that has no upstream equivalent.

Fix: None required. This is expected behavior for vendor-only changes.

Note: If this change were posted upstream or derived from upstream, the prefix should be changed to FROMLIST:, FROMGIT:, UPSTREAM:, or BACKPORT: with an appropriate Link: trailer.


❌ dtb-check

Root cause: All errors are pre-existing tree issues, not introduced by this PR.

Failure details:

The PR only renames a file (qcs6490-rb3gen2-industrial-mezzanine-m2-cologne.dtsoqcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtso) and updates the Makefile. No DTS content was changed.

The dtb-check log shows errors for:

  1. qcs6490-rb3gen2.dtb (base DTB)
  2. qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb (renamed overlay applied to base)

All errors are pre-existing issues in the tree:

Error Affected files Status
qcom,sc7280-inline-crypto-engine missing binding qcs6490-rb3gen2*.dtb Pre-existing (Issue #4 in log-patterns.md)
smsc,usb4604 missing binding qcs6490-rb3gen2*.dtb Pre-existing
pci1179,0623 unevaluated aspm-no-l1 qcs6490-rb3gen2*.dtb Pre-existing
pci1912,0014 unevaluated hub properties qcs6490-rb3gen2*.dtb Pre-existing
pwm:nvmem: [[401, 402]] is too short qcs6490-rb3gen2*.dtb Pre-existing (Issue #3 in log-patterns.md)
gp_mn_active-state invalid function name qcs6490-rb3gen2*.dtb Pre-existing
qcom,wcd9370-codec unevaluated properties *-bt-uart.dtb Pre-existing (overlay content unchanged)
serial@990000 both interrupts and interrupts-extended *-bt-uart.dtb Pre-existing (overlay content unchanged)

Analysis:

Since this PR is a pure file rename with no content changes, any dtb-check errors must have existed before the PR. The checker builds both the base DTB and the composed DTB (base + overlay), and all errors appear in both the original and renamed files.

These are recurring tree-wide issues documented in references/log-patterns.md Section 8:

  • Missing bindings for qcom,sc7280-inline-crypto-engine, smsc,usb4604
  • PWM nvmem array too short (qcs6490-rb3gen2 baseline issue)
  • Invalid pinctrl function names
  • Unevaluated PCI properties

Fix: None required for this PR. These are baseline tree issues that should be fixed separately.

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dtb
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb

⚠️ tag-check

Status: Cannot verify (target branch unknown due to network restrictions).

Analysis:

The tag-check verifies that every commit subject starts with a required prefix (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:, QCLINUX:, PENDING:, WORKAROUND:), but only for branches other than qcom-next or qcom-next-staging.

The commit subject is:

QCLINUX: arm64: dts: qcom: rename rb3gen2 industrial mezzanine UART BT overlay

This commit does have a valid prefix (QCLINUX:), so:

  • If the target branch is not qcom-next or qcom-next-staging → ✅ PASS
  • If the target branch is qcom-next or qcom-next-staging → ⏭️ SKIP (check not required)

Verdict: The commit has a valid prefix. No action needed.


Verdict

1 blocker (check-patch-compliance) — but this is a known checker limitation, not a patch defect.

Summary:

  • checkpatch — No style issues
  • tag-check — Commit has valid QCLINUX: prefix
  • check-patch-compliance — Expected failure for vendor-only commits (known limitation)
  • dtb-check — All errors are pre-existing tree issues, not introduced by this PR

Recommendation:

Merge as-is. This is a clean file rename with no code changes. The check-patch-compliance failure is expected for vendor-only commits using the QCLINUX: prefix — this is a known checker limitation, not a patch defect. All dtb-check errors are pre-existing tree issues that should be addressed separately.

@qlijarvis

Copy link
Copy Markdown

PR #843 — validate-patch

PR: #843

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #843 - QCLINUX: arm64: dts: qcom: rename rb3gen2 industrial mezzanine UART BT overlay
Upstream commit: N/A (vendor-only commit)
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream N/A Vendor-only commit; no upstream source
Body preserves rationale Clear explanation of rename rationale
Fixes tag present/correct N/A Not applicable for file rename
Authorship preserved Consistent author and Signed-off-by
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/Makefile Three references updated consistently from m2-cologne to bt-uart
qcs6490-rb3gen2-industrial-mezzanine-m2-cologne.dtsoqcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtso Clean 100% rename; file content unchanged

Verdict

Merge as-is. This is a well-formed vendor-only commit that renames a device tree overlay and its Makefile references to better describe the hardware configuration (UART Bluetooth routing vs. the old Cologne codename). The rename is internally consistent and the commit message clearly explains the rationale.

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next/topics: Not in qcom-next/topics yet — expected for new vendor commit pending merge

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: a5cf3debd8c3c660711ad586ad4bb84e9ca42635
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] QCLINUX: arm64: dts: qcom: rename rb3gen2 industrial missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing

Final Status

overall_status: FAIL
present_commits: 0/1
partial_commits: 0/1
missing_commits: 1/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #843 — checker-log-analyzer

PR: #843
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/29764358384

Checker Result Summary
Checker Result Summary
checkpatch Passed
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Pre-existing pinctrl function validation error
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance QCLINUX: prefix not accepted
tag-check N/A (cannot determine target branch)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #843 - QCLINUX: arm64: dts: qcom: rename rb3gen2 industrial mezzanine UART BT overlay
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/29764358384

Checker Result Summary
checkpatch Passed
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Pre-existing pinctrl function validation error
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance QCLINUX: prefix not accepted
tag-check N/A (cannot determine target branch)

❌ check-patch-compliance

Root cause: Commit uses QCLINUX: prefix, which is not in the allowed list for check-patch-compliance.

Failure details:

Checking commit: QCLINUX: arm64: dts: qcom: rename rb3gen2 industrial mezzanine UART BT overlay
Commit summary does not start with a required prefix

Analysis:

The check-patch-compliance checker only accepts these prefixes:

  • FROMLIST: (posted to mailing list)
  • FROMGIT: (from maintainer tree)
  • UPSTREAM: (merged into mainline)
  • BACKPORT: (backported with modifications)

The commit uses QCLINUX:, which is a vendor-internal prefix used in the tree but not accepted by this checker. This is a known limitation of the checker for vendor-only commits.

Fix options:

  1. If this change has been or will be posted upstream: Change prefix to FROMLIST: and add a Link: tag pointing to the lore.kernel.org URL.

  2. If this is truly vendor-only: The checker will always fail for QCLINUX: commits. This is expected behavior. However, since this is just a file rename with no functional changes, consider whether it needs the QCLINUX: prefix at all, or if it should be posted upstream as a cleanup.

Reproduce locally:

cd /path/to/kernel
./scripts/check-patch-compliance.sh --kernel-src . --base 94c6f41183c5b71f0cd81ca0c46bb17c3c1efa4e --head 5cb39e3a44ac0365714fb731ed0dba3d6c74cef5

❌ dtb-check

Root cause: Pre-existing pinctrl function name validation error exposed by building the renamed DTB.

Failure details:

qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb: pinctrl@f100000 (qcom,sc7280-pinctrl): 
  gp_mn_active-state: 'oneOf' conditional failed, one must be fixed:
  'gp_mn' is not one of ['atest_char', 'atest_char0', ..., 'gpio', ..., 'qup00', ...]
  from schema $id: http://devicetree.org/schemas/pinctrl/qcom,sc7280-pinctrl.yaml#

Analysis:

This error appears on the renamed DTB (qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb) but did not appear on the old filename (qcs6490-rb3gen2-industrial-mezzanine-m2-cologne.dtb) in the base build logs.

This is NOT a new error introduced by the PR — it's a pre-existing validation issue that is now being exposed because:

  1. The file rename is correct and follows proper naming conventions
  2. The DTB is now being built and validated (it may not have been built in the base)
  3. The underlying DTS content is unchanged (100% rename)

The error indicates that a pinctrl state node uses function = "gp_mn", which is not a valid function name in the qcom,sc7280-pinctrl binding. Valid function names include gpio, qup00-qup17, and many others, but not gp_mn.

This is a pre-existing tree issue in the qcs6490-rb3gen2-industrial-mezzanine.dtso or base DTS files, not caused by this PR's rename.

Fix (if required):

The pinctrl function name needs to be corrected in the source DTS/DTSO file:

# Find the offending pinctrl state
grep -r "gp_mn" arch/arm64/boot/dts/qcom/qcs6490-rb3gen2*.dts*

# Change function = "gp_mn" to the correct function (likely "gpio")
# in the gp_mn_active-state node

However, this fix is outside the scope of this PR, which is purely a file rename.

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb

Verdict

2 blockers, but only 1 is actionable for this PR:

  1. dtb-check failure is pre-existing — not introduced by this PR. The rename is correct; the validation error exists in the underlying DTS content and should be fixed separately.

  2. check-patch-compliance failure is expectedQCLINUX: prefix is not accepted by this checker. If this is a vendor-only change, the failure is a known limitation. If the change can be posted upstream, switch to FROMLIST: + add Link: tag.

Recommendation:

  • If the target branch accepts QCLINUX: commits (e.g., qcom-next or qcom-next-staging), merge as-is and ignore the check-patch-compliance failure.
  • If the target branch requires upstream-linkable prefixes, either post the rename upstream and use FROMLIST:, or reconsider whether a vendor-only prefix is appropriate for a simple file rename.
  • The dtb-check failure should be addressed in a separate patch that fixes the pinctrl function name in the base DTS files.

@rahul-samana
Rahul Samana (rahul-samana) force-pushed the rb3gen2-industrial-mezzanine-bt-uart-rename-qcom-6.18 branch from 5cb39e3 to 09fad7c Compare July 28, 2026 17:07
@rahul-samana Rahul Samana (rahul-samana) changed the title arm64: dts: qcom: rename rb3gen2 industrial mezzanine UART BT overlay FROMLIST: Bluetooth: qca: enable QCC2072 on RB3 Gen 2 Industrial Jul 28, 2026
@qlijarvis

Copy link
Copy Markdown

PR #843 — validate-patch

PR: #843

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: Yes — all 5 commits have valid lore.kernel.org links
  2. Lore link matches PR commits:No — Commit 1/5 has extra hunk; commit 2/5 is partial backport; patch 3/6 is missing
  3. Upstream patch status:Decision Pending — posted 1 day ago, no maintainer decision yet, CI failure reported
  4. PR present in qcom-next/topics: Fail - 3/5 commit(s) are missing from both qcom-next and topics
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #843 - "Bluetooth: qca: enable QCC2072 on RB3 Gen 2 Industrial"
Upstream series: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-0-2d100f30e202@oss.qualcomm.com
Verdict:FAIL


Summary

This PR contains 5 commits from a 6-patch upstream series posted to lore.kernel.org on July 27, 2026. The PR is incomplete and contains significant deviations from the upstream patches.


Critical Issues

1. Missing Dependency: Patch 3/6 Not Included

The PR omits lore patch v2 3/6 ("power: sequencing: pwrseq-pcie-m2: add QCC2072"), which is a mandatory dependency for the series. The upstream cover letter and patch 6/6 explicitly reference M.2 power sequencing support, which requires this patch.

Impact: The Industrial BT UART functionality added in PR commit 5/5 depends on infrastructure that is not present in this PR.

Mapping:

  • PR 1/5 ← lore v2 1/6 ✅
  • PR 2/5 ← lore v2 2/6 ⚠️ (partial, see below)
  • MISSING ← lore v2 3/6 ❌
  • PR 3/5 ← lore v2 4/6 ✅
  • PR 4/5 ← lore v2 5/6 ✅
  • PR 5/5 ← lore v2 6/6 ✅

2. Commit 2/5: Partial Backport with Incorrect Subject

PR commit 2/5:

  • Subject: FROMLIST: Bluetooth: qca: update QCC2072 NVM handling
  • From: Vivek Sahu <vivek.sahu@oss.qualcomm.com>

Lore v2 2/6:

  • Subject: Bluetooth: qca: add QCC2072 support
  • From: Vivek Sahu <vivek.sahu@oss.qualcomm.com>

Issue: The PR commit message states:

"The remaining hci_qca QCC2072 registration from the upstream patch is already present in qcom-6.18.y, so this backport keeps only the btqca NVM and calibration update."

This is a partial backport that omits the hci_qca registration code present in the lore patch. The subject line has been changed from "add QCC2072 support" to "update QCC2072 NVM handling" to reflect this, but this creates a mismatch between the lore link and the actual patch content.

Authorship: The lore patch has:

From: Vivek Sahu <vivek.sahu@oss.qualcomm.com>
Signed-off-by: Vivek Sahu <vivek.sahu@oss.qualcomm.com>
Signed-off-by: Yepuri Siddu <yepuri.siddu@oss.qualcomm.com>
Signed-off-by: Rahul Samana <rahul.samana@oss.qualcomm.com>

The PR commit has:

From: Vivek Sahu <vivek.sahu@oss.qualcomm.com>
Signed-off-by: Vivek Sahu <vivek.sahu@oss.qualcomm.com>
Co-developed-by: Yepuri Siddu <yepuri.siddu@oss.qualcomm.com>
Signed-off-by: Yepuri Siddu <yepuri.siddu@oss.qualcomm.com>
Signed-off-by: Rahul Samana <rahul.samana@oss.qualcomm.com>

The addition of Co-developed-by: is correct for Yepuri Siddu. ✅


3. Commit 1/5: Extra Content Not in Lore Patch

PR commit message includes:

"In qcom-6.18.y, remove the same compatible from the older generic Qualcomm Bluetooth binding so it is covered by the dedicated schema."

Lore commit message:

"Document the qcom,qcc2072-bt compatible used for QCC2072 Bluetooth controllers connected over UART."

The PR commit message adds an extra sentence explaining a qcom-6.18.y-specific change. The diff also includes a deletion from qualcomm-bluetooth.yaml that is not present in the lore patch.

Lore patch diff:

  • Creates qcom,qcc2072-bt.yaml (39 lines)
  • Does not touch qualcomm-bluetooth.yaml

PR patch diff:

  • Creates qcom,qcc2072-bt.yaml (39 lines)
  • Deletes qcom,qcc2072-bt from qualcomm-bluetooth.yaml (1 line removed)

Verdict:FAIL — The PR contains an undocumented extra hunk not present in the lore patch. This is a vendor-tree-specific cleanup that should either be:

  1. Split into a separate QCLINUX: commit, or
  2. Documented in the commit message as a qcom-6.18.y adaptation with clear rationale.

Commit-by-Commit Analysis

Commit Subject Match Body Match Authorship Diff Match Verdict
1/5 ✅ Identical (with FROMLIST: prefix) ⚠️ Extra sentence for qcom-6.18.y ✅ Correct ❌ Extra hunk in qualcomm-bluetooth.yaml FAIL
2/5 ❌ Changed: "add" → "update" ⚠️ Explains partial backport ✅ Correct (Co-developed-by added) ⚠️ Partial: omits hci_qca registration ⚠️ PARTIAL
3/5 ✅ Matches lore v2 4/6 Not checked in detail Not checked Not checked ⏭️ Skipped (blocked by missing 3/6)
4/5 ✅ Matches lore v2 5/6 Not checked in detail Not checked Not checked ⏭️ Skipped (blocked by missing 3/6)
5/5 ✅ Matches lore v2 6/6 Not checked in detail Not checked Not checked ⏭️ Skipped (blocked by missing 3/6)

Upstream Patch Status

Series: [PATCH v2 0/6] Bluetooth: qca: enable QCC2072 on RB3 Gen 2 Industrial
Posted: July 27, 2026 (1 day ago)
Community verdict:Decision Pending

Evidence:

  • No maintainer acceptance (applied, queued, merged) signals found
  • No formal Reviewed-by: or Acked-by: from subsystem maintainers (only bot replies)
  • CI bot reported: "patches couldn't be applied to the current HEAD" (patch 3/6 failed to apply to drivers/power/sequencing/pwrseq-pcie-m2.c)
  • Thread is only 1 day old — too recent for a definitive decision

Recommendation: Wait for maintainer feedback before merging. The CI failure on patch 3/6 suggests the series may need a rebase or dependency clarification.


Integration Presence (qcom-next / topics)

Per integration_presence_report.md:

Commit qcom-next topics Final Status
1/5 partial partial ⚠️ partial
2/5 partial missing ⚠️ partial
3/5 missing missing missing
4/5 missing missing missing
5/5 missing missing missing

Overall:FAIL — 3/5 commits are completely missing from both qcom-next and topics; 2/5 have only partial evidence.


Recommendation

❌ DO NOT MERGE — This PR has multiple blocking issues:

  1. Missing dependency: Patch 3/6 (power: sequencing) is required for the series to function correctly.
  2. Undocumented extra content: Commit 1/5 contains a vendor-tree-specific cleanup not present in the lore patch.
  3. Partial backport without clear rationale: Commit 2/5 omits significant code from the lore patch; the subject line change and commit message explain this, but the partial nature makes it difficult to track upstream acceptance.
  4. Upstream status unclear: The series is only 1 day old and has a CI failure; wait for maintainer feedback.
  5. Not in integration branches: 3/5 commits are completely absent from qcom-next and topics.

Required actions:

  1. Add missing patch 3/6 or document why it's not needed (if already present in qcom-6.18.y).
  2. Split commit 1/5: Move the qualcomm-bluetooth.yaml cleanup into a separate QCLINUX: commit with clear rationale, or document it in the commit message as a qcom-6.18.y-specific adaptation.
  3. Clarify commit 2/5: If this is intentionally a partial backport, consider whether it should use BACKPORT: prefix instead of FROMLIST:, and ensure the Link: tag points to the correct lore patch.
  4. Wait for upstream acceptance: Monitor the lore thread for maintainer feedback before merging.

Final Summary

  1. Lore link present: Yes — all 5 commits have valid lore.kernel.org links
  2. Lore link matches PR commits:No — Commit 1/5 has extra hunk; commit 2/5 is partial backport; patch 3/6 is missing
  3. Upstream patch status:Decision Pending — posted 1 day ago, no maintainer decision yet, CI failure reported
  4. PR present in qcom-next/topics:Fail — 3/5 commits missing from both qcom-next and topics; 2/5 partial

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: 07f50dc44eddcf748a99d1a7523a466438bfffa6
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/5 [PATCH 1/5] FROMLIST: dt-bindings: bluetooth: qca: add QCC2072 partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
2/5 [PATCH 2/5] FROMLIST: Bluetooth: qca: update QCC2072 NVM handling partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
3/5 [PATCH 3/5] FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: label BT PMU missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
4/5 [PATCH 4/5] FROMLIST: arm64: dts: qcom: sc7280: mark PCIe root port missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
5/5 [PATCH 5/5] FROMLIST: arm64: dts: qcom: rb3gen2: add Industrial BT missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing

Final Status

overall_status: FAIL
present_commits: 0/5
partial_commits: 2/5
missing_commits: 3/5
topics_checked_for_commits: 5/5
final_summary: PR present in qcom-next/topics: Fail - 3/5 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #843 — checker-log-analyzer

PR: #843
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/30381771183

Checker Result Summary
Checker Result Summary
checkpatch ⚠️ 1 warning: undocumented vendor prefix
dt-binding-check Unresolvable reference to qcom,bluetooth-common.yaml
dtb-check ⚠️ Pre-existing tree issues + new pinctrl validation error
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 3 commits have content mismatch with upstream links
tag-check All commits have FROMLIST: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #843 - Add QCC2072 Bluetooth support for RB3 Gen2 Industrial BT UART
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30381771183
Target Branch: qcom-6.18.y

Checker Result Summary
checkpatch ⚠️ 1 warning: undocumented vendor prefix
dt-binding-check Unresolvable reference to qcom,bluetooth-common.yaml
dtb-check ⚠️ Pre-existing tree issues + new pinctrl validation error
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 3 commits have content mismatch with upstream links
tag-check All commits have FROMLIST: prefix

⚠️ checkpatch

Root cause: Commit 932ac8a uses pciclass vendor prefix which is not documented in vendor-prefixes.yaml.

Failure details:

WARNING: DT compatible string vendor "pciclass" appears un-documented
#34: FILE: arch/arm64/boot/dts/qcom/sc7280.dtsi:2336:
+				compatible = "pciclass,0604";

932ac8a1801671de8df35a83348f6ca31f55e059 total: 0 errors, 1 warnings, 0 checks, 7 lines checked

Fix: Add pciclass to Documentation/devicetree/bindings/vendor-prefixes.yaml:

"^pciclass,.*":
  description: PCI class-based compatible strings

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git qcom-6.18.y..HEAD

❌ dt-binding-check

Root cause: The new binding file qcom,qcc2072-bt.yaml references qcom,bluetooth-common.yaml which does not exist in the tree.

Failure details:

/opt/actions-runner/_work/kernel-config/kernel-config/kernel/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml: 
Unresolvable reference: qcom,bluetooth-common.yaml

The binding file at line 35 contains:

allOf:
  - $ref: bluetooth-controller.yaml#
  - $ref: qcom,bluetooth-common.yaml
  - $ref: /schemas/serial/serial-peripheral-props.yaml#

Fix: The reference qcom,bluetooth-common.yaml does not exist in the kernel tree. Options:

  1. Remove the reference if the common properties aren't needed for QCC2072
  2. Create the missing schema if it's intended to be shared across Qualcomm BT bindings
  3. Use the existing binding - change to $ref: qualcomm-bluetooth.yaml# if that's the intended common schema

Since this is a FROMLIST patch, verify what the upstream version uses. The upstream patch may reference a file that exists in mainline but not in qcom-6.18.y.

Reproduce locally:

make -j$(nproc) O=out defconfig
make -j$(nproc) O=out dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml

⚠️ dtb-check

Root cause: Multiple validation errors on the new overlay qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb, including pre-existing tree issues and one new pinctrl validation error.

Failure details:

# Pre-existing tree issues (not caused by this PR):
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb: 
  /soc@0/crypto@7c8000: failed to match any schema with compatible: 
    ['qcom,sc7280-inline-crypto-engine', 'qcom,inline-crypto-engine']
  /soc@0/crypto@1d88000: failed to match any schema with compatible: 
    ['qcom,sc7280-inline-crypto-engine', 'qcom,inline-crypto-engine']

pmic@2 (qcom,pm8350c): pwm:nvmem: [[401, 402]] is too short
pwm (qcom,pm8350c-pwm): nvmem: [[401, 402]] is too short

/soc@0/geniqup@9c0000/i2c@984000/i2c-mux@71/i2c@1/usb-hub@2d: 
  failed to match any schema with compatible: ['smsc,usb4604']

# New issue introduced by this PR:
pinctrl@f100000 (qcom,sc7280-pinctrl): gp_mn_active-state: 
  'oneOf' conditional failed, one must be fixed

Analysis:

  • inline-crypto-engine errors: Pre-existing tree issue (see log-patterns.md Section 8). The binding for qcom,sc7280-inline-crypto-engine is missing. Not caused by this PR.
  • pwm:nvmem too short: Pre-existing tree issue (see log-patterns.md Section 8). The qcom,pm8350c-pwm binding requires more nvmem cells. Not caused by this PR.
  • smsc,usb4604: Pre-existing - missing binding for USB hub. Not caused by this PR.
  • gp_mn_active-state: New pinctrl state validation error in the overlay. The pinctrl state definition may not match the qcom,sc7280-pinctrl binding requirements.

Fix:
Review the gp_mn_active-state pinctrl state definition in arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtso. The oneOf conditional failure suggests the state properties don't match any of the allowed patterns in the pinctrl binding.

The pre-existing errors should be noted but do not block this PR.

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb

❌ check-patch-compliance

Root cause: Three commits show content differences from their upstream lore.kernel.org links.

Failure details:

Checking commit: FROMLIST: dt-bindings: bluetooth: qca: add QCC2072
Change is different from the one mentioned in Link

Checking commit: FROMLIST: Bluetooth: qca: update QCC2072 NVM handling
Change is different from the one mentioned in Link

Checking commit: FROMLIST: arm64: dts: qcom: rb3gen2: add Industrial BT UART overlay
Change is different from the one mentioned in Link

Analysis:
The checker detected differences between the PR commits and the upstream patches at:

  • https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-1-2d100f30e202@oss.qualcomm.com
  • https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-2-2d100f30e202@oss.qualcomm.com
  • https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-6-2d100f30e202@oss.qualcomm.com

Fix:

  1. Fetch the upstream patches and compare:
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-1-2d100f30e202@oss.qualcomm.com -o /tmp/patch1
git format-patch -1 468008f24e73 --stdout > /tmp/pr-patch1
diff <(awk '/^diff/,/^--$/' /tmp/patch1/*.mbx | grep -E '^[+-][^+-]') \
     <(awk '/^diff/,/^--$/' /tmp/pr-patch1 | grep -E '^[+-][^+-]')
  1. Classify the differences:
    • Context-only shifts: Not a real difference, can be ignored
    • Legitimate adaptations: Document in commit message (e.g., "Adapted for qcom-6.18.y: removed qcom,qcc2072-bt from qualcomm-bluetooth.yaml")
    • Missing hunks: Add the missing changes
    • Extra hunks: Remove or attribute separately

Common reasons for content mismatch in this PR:

  • Vendor-specific trailer: CRs-Fixed: 4615698 (acceptable)
  • Removal of qcom,qcc2072-bt from qualcomm-bluetooth.yaml (commit 1) - this is a vendor tree adaptation
  • Possible context differences due to qcom-6.18.y vs mainline

If the differences are intentional vendor adaptations, document them in the commit message with a note like:

[qcom-6.18.y: Removed qcom,qcc2072-bt from qualcomm-bluetooth.yaml as it's
 now covered by the dedicated qcom,qcc2072-bt.yaml binding]

Verdict

2 critical blockers must be fixed before merge:

  1. dt-binding-check (BLOCKER): Fix the unresolvable reference to qcom,bluetooth-common.yaml in Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml. Either remove the reference, create the missing schema, or use an existing schema reference.

  2. check-patch-compliance (BLOCKER): Investigate and document the content differences between the PR commits and upstream patches. If adaptations are intentional vendor changes, add explanatory notes to commit messages.

Minor issues to address:

  1. dtb-check: Fix the gp_mn_active-state pinctrl validation error in the new overlay. Pre-existing errors (inline-crypto-engine, pwm:nvmem, smsc,usb4604) are tree-wide issues not introduced by this PR and don't block merge.

  2. checkpatch: Add pciclass vendor prefix to vendor-prefixes.yaml (minor, non-blocking).

Passing checks:

  • ✅ sparse-check: No new static analysis warnings
  • ✅ check-uapi-headers: No ABI breaks
  • ✅ tag-check: All commits properly prefixed with FROMLIST:

vivesahu-huboss and others added 4 commits July 31, 2026 10:12
QCC2072 uses the ORN firmware and NVM naming scheme. The RB3 Gen 2
Industrial BT-over-UART setup also needs the BCS calibration TLV to be
combined with the selected NVM before download.

Keep the BCS/NVM combination in a helper so missing calibration data or
allocation failures can fall back to downloading the NVM alone without a
local skip label.

Select the NVM file and BCS calibration file using the controller board ID
when available, with fallback to the default files. Initialize the BCS
calibration filename independently of the NVM filename source so custom NVM
firmware-name paths do not leave it unset.

[qcom-6.18.y: hci_qca QCC2072 registration from the upstream patch is
 already present, so keep only the btqca NVM and calibration update.]

Signed-off-by: Vivek Sahu <vivek.sahu@oss.qualcomm.com>
Co-developed-by: Yepuri Siddu <yepuri.siddu@oss.qualcomm.com>
Signed-off-by: Yepuri Siddu <yepuri.siddu@oss.qualcomm.com>
Signed-off-by: Rahul Samana <rahul.samana@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-2-2d100f30e202@oss.qualcomm.com
… node

The reworked RB3 Gen 2 Industrial BT UART overlay needs to disable the
on-board WCN6750 PMU and add a graph endpoint to the M.2 PCI node.

Label the exact WCN6750 PMU node and PCI child node connected to the M.2
E-key slot so the overlay can patch them directly instead of using a full
path or reconstructing the nested PCI hierarchy.

Signed-off-by: Rahul Samana <rahul.samana@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-4-2d100f30e202@oss.qualcomm.com
The PCI core needs to associate the DT node below the QCS6490 PCIe host
bridge with the enumerated PCI-to-PCI bridge device before child nodes can
be matched against the PCI topology.

Add compatible = "pciclass,0604" to pcie0_port so child nodes below the
bridge can be matched by the PCI device class.

[qcom-6.18.y: upstream applies this change to kodiak.dtsi, while this
 branch still carries the PCIe root port node in sc7280.dtsi.]

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Rahul Samana <rahul.samana@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-5-2d100f30e202@oss.qualcomm.com
The reworked RB3 Gen 2 Industrial mezzanine keeps the common Industrial
mezzanine hardware description but routes QCC2072 Bluetooth over UART4
instead of the default Bluetooth-over-USB path.

Build this variant by applying the common Industrial mezzanine overlay
first, followed by the BT UART overlay. The overlay models the M.2 E-key
connector graph endpoints for PCIe and UART, and disables the on-board
WCN6750 PMU and UART7 path so the M.2 QCC2072 Bluetooth controller can be
used instead.

[qcom-6.18.y: replace the old downstream m2-cologne overlay target and
 file with the generic BT UART overlay name used by the upstream-posted
 series.]

Signed-off-by: Rahul Samana <rahul.samana@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-6-2d100f30e202@oss.qualcomm.com
@rahul-samana
Rahul Samana (rahul-samana) force-pushed the rb3gen2-industrial-mezzanine-bt-uart-rename-qcom-6.18 branch from 09fad7c to 3e3c491 Compare July 31, 2026 04:44
@qlijarvis

Copy link
Copy Markdown

PR #843 — validate-patch

PR: #843

Verdict Issues Detailed Report
⚠️ 7 Full report

Final Summary

  1. Lore link present: Yes — all 4 commits have valid lore.kernel.org links from the same upstream series (v2 0/6)
  2. Lore link matches PR commits: Yes — all diffs are faithful to upstream or properly adapted with documented backport notes; authorship correct for all commits
  3. Upstream patch status: ⏳ Decision Pending — series posted July 27, 2026 (4 days ago); Reviewed-by: Konrad Dybcio present; no merge or NAK signal yet
  4. PR present in qcom-next/topics: Fail - 1/4 commit(s) are missing from both qcom-next and topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #843 - Bluetooth: qca: enable QCC2072 on RB3 Gen 2 Industrial (4 commits)
Upstream commits: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-0-2d100f30e202@oss.qualcomm.com
Verdict: ⚠️ PARTIAL — 1 commit missing from integration branches


Commit 1/4: BACKPORT: Bluetooth: qca: update QCC2072 NVM handling

Lore: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-2-2d100f30e202@oss.qualcomm.com
Lore patch: [PATCH v2 2/6] Bluetooth: qca: add QCC2072 support

Commit Message

Check Status Note
Subject matches upstream ⚠️ Lore: "add QCC2072 support" / PR: "update QCC2072 NVM handling" — adapted for backport scope
Body preserves rationale Key rationale preserved; backport note explains scope reduction
Fixes tag present/correct N/A No Fixes tag in upstream or PR
Authorship preserved From: Vivek Sahu matches lore
Backport note [qcom-6.18.y: hci_qca QCC2072 registration from the upstream patch is already present, so keep only the btqca NVM and calibration update.]
Co-developed-by usage Matches lore signature block

Diff

File Status Notes
drivers/bluetooth/btqca.c ⚠️ Partial backport — upstream adds hci_qca registration; PR keeps only btqca NVM/calibration logic per backport note
drivers/bluetooth/btqca.h Matches upstream addition of QCA_QCC2072 enum

Upstream Status

Decision Pending — Posted July 27, 2026 (4 days ago); Reviewed-by: Konrad Dybcio present in thread; no merge or NAK signal yet

Integration Status

Present in topics (per integration_presence_report.md)


Commit 2/4: FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: label BT PMU and M.2 PCI node

Lore: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-4-2d100f30e202@oss.qualcomm.com
Lore patch: [PATCH v2 4/6] arm64: dts: qcom: qcs6490-rb3gen2: label BT PMU and M.2 PCI node

Commit Message

Check Status Note
Subject matches upstream Identical (with FROMLIST: prefix added)
Body preserves rationale Identical to lore
Fixes tag present/correct N/A No Fixes tag in upstream or PR
Authorship preserved From: Rahul Samana matches lore (FROMLIST: allows submitter as author)
Backport note N/A FROMLIST: prefix — not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts Identical to lore patch — adds labels wcn6750_pmu: and pcie0_m2_e:

Upstream Status

Decision Pending — Posted July 27, 2026 (4 days ago); Reviewed-by: Konrad Dybcio present in thread; no merge or NAK signal yet

Integration Status

Present in topics (per integration_presence_report.md)


Commit 3/4: BACKPORT: arm64: dts: qcom: sc7280: mark PCIe root port as bridge

Lore: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-5-2d100f30e202@oss.qualcomm.com
Lore patch: [PATCH v2 5/6] arm64: dts: qcom: kodiak: mark PCIe root port as bridge

Commit Message

Check Status Note
Subject matches upstream ⚠️ Lore: "kodiak: mark PCIe root port as bridge" / PR: "sc7280: mark PCIe root port as bridge" — file path differs due to tree structure
Body preserves rationale Key rationale preserved; backport note explains file path difference
Fixes tag present/correct N/A No Fixes tag in upstream or PR
Authorship preserved From: Rahul Samana matches lore
Backport note [qcom-6.18.y: upstream applies this change to kodiak.dtsi, while this branch still carries the PCIe root port node in sc7280.dtsi.]
Reviewed-by tag Reviewed-by: Konrad Dybcio present in PR commit message

Diff

File Status Notes
arch/arm64/boot/dts/qcom/sc7280.dtsi Adds compatible = "pciclass,0604"; to pcie0_port — semantically identical to lore, applied to different file per backport note

Upstream Status

Decision Pending — Posted July 27, 2026 (4 days ago); Reviewed-by: Konrad Dybcio present; no merge or NAK signal yet

Integration Status

MISSING from both qcom-next and topics (per integration_presence_report.md)


Commit 4/4: BACKPORT: arm64: dts: qcom: rb3gen2: add Industrial BT UART overlay

Lore: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-6-2d100f30e202@oss.qualcomm.com
Lore patch: [PATCH v2 6/6] arm64: dts: qcom: rb3gen2: add Industrial BT UART overlay

Commit Message

Check Status Note
Subject matches upstream Identical (with BACKPORT: prefix added)
Body preserves rationale Key rationale preserved
Fixes tag present/correct N/A No Fixes tag in upstream or PR
Authorship preserved From: Rahul Samana matches lore
Backport note [qcom-6.18.y: replace the old downstream m2-cologne overlay target and file with the generic BT UART overlay name used by the upstream-posted series.]

Diff

File Status Notes
arch/arm64/boot/dts/qcom/Makefile Renames m2-cologne → bt-uart overlay target
qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtso New file — adds QCC2072 BT UART overlay
qcs6490-rb3gen2-industrial-mezzanine-m2-cologne.dtso Deleted — replaced by bt-uart overlay

Upstream Status

Decision Pending — Posted July 27, 2026 (4 days ago); Reviewed-by: Konrad Dybcio present in thread; no merge or NAK signal yet

Integration Status

Present in topics (per integration_presence_report.md)


Issues

Commit 3/4 Integration Failure:

  • Commit 3/4 (BACKPORT: arm64: dts: qcom: sc7280: mark PCIe root port as bridge) is missing from both qcom-next and topics.
  • This is a validation failure per the skill's integration presence requirement.
  • The commit is a legitimate backport with proper attribution and backport note, but it has not yet landed in the integration branches.

Upstream Status (All Commits):

  • All 4 commits are part of the same upstream series posted on July 27, 2026 (4 days ago).
  • The series has Reviewed-by: Konrad Dybcio tags in the lore thread.
  • No merge signals (applied/queued) or NAK signals found yet.
  • Status: ⏳ Decision Pending — patches are under review; too recent to expect merge confirmation.

Verdict

⚠️ PARTIAL — Merge with caution

Rationale:

  1. Commit message correctness: ✅ All 4 commits have correct authorship, proper BACKPORT/FROMLIST prefixes, and backport notes where applicable.
  2. Diff faithfulness: ✅ All diffs are faithful to upstream or properly adapted with documented rationale in backport notes.
  3. Upstream status: ⏳ Series is under review (4 days old); Reviewed-by tags present; no merge or rejection yet.
  4. Integration presence:Commit 3/4 is missing from qcom-next and topics — this is a validation failure.

Recommendation:

  • Do not merge until commit 3/4 lands in qcom-next or topics, OR
  • Verify that commit 3/4's absence is intentional (e.g., it may be queued in a maintainer tree not yet reflected in topics).
  • The other 3 commits are present in topics and can proceed once commit 3/4's integration status is resolved.

Final Summary

  1. Lore link present: Yes — all 4 commits have valid lore.kernel.org links from the same upstream series (v2 0/6)
  2. Lore link matches PR commits: Yes — all diffs are faithful to upstream or properly adapted with documented backport notes; authorship correct for all commits
  3. Upstream patch status: ⏳ Decision Pending — series posted July 27, 2026 (4 days ago); Reviewed-by: Konrad Dybcio present; no merge or NAK signal yet
  4. PR present in qcom-next/topics: Fail — 3/4 commits present in topics; commit 3/4 missing from both qcom-next and topics (per integration_presence_report.md)

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: 36229361f23e694eb897225a6a859064e11471c5
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/4 [PATCH 1/4] BACKPORT: Bluetooth: qca: update QCC2072 NVM handling partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
2/4 [PATCH 2/4] FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: label BT PMU missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
3/4 [PATCH 3/4] BACKPORT: arm64: dts: qcom: sc7280: mark PCIe root port missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
4/4 [PATCH 4/4] BACKPORT: arm64: dts: qcom: rb3gen2: add Industrial BT missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present

Final Status

overall_status: FAIL
present_commits: 3/4
partial_commits: 0/4
missing_commits: 1/4
topics_checked_for_commits: 4/4
final_summary: PR present in qcom-next/topics: Fail - 1/4 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #843 — checker-log-analyzer

PR: #843
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/30604966049

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: undocumented DT vendor "pciclass"
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Pre-existing tree issues: missing bindings for inline-crypto-engine, smsc,usb4604; pwm nvmem too short; pinctrl validation
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 2 commits: content mismatch with upstream Link
tag-check All commits have valid prefixes (BACKPORT:/FROMLIST:)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #843 - RB3Gen2 Industrial BT UART overlay and related fixes
Target Branch: qcom-6.18.y
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30604966049

Checker Result Summary
checkpatch 1 warning: undocumented DT vendor "pciclass"
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Pre-existing tree issues: missing bindings for inline-crypto-engine, smsc,usb4604; pwm nvmem too short; pinctrl validation
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 2 commits: content mismatch with upstream Link
tag-check All commits have valid prefixes (BACKPORT:/FROMLIST:)

❌ checkpatch

Root cause: Commit 9f58f50 uses undocumented DT vendor prefix "pciclass" in compatible string.

Failure details:

Commit 9f58f5022088 ("BACKPORT: arm64: dts: qcom: sc7280: mark PCIe root port as bridge")
WARNING: DT compatible string vendor "pciclass" appears un-documented
#33: FILE: arch/arm64/boot/dts/qcom/sc7280.dtsi:2336:
+				compatible = "pciclass,0604";

9f58f5022088024885051d3ba99bdd4a0551cd8b total: 0 errors, 1 warnings, 0 checks, 7 lines checked

Fix: Add "pciclass" vendor prefix to Documentation/devicetree/bindings/vendor-prefixes.yaml:

git rebase -i <base_sha>   # mark commit 9f58f5022088 as 'edit'
# Edit Documentation/devicetree/bindings/vendor-prefixes.yaml
# Add entry: "^pciclass,.*": { description: "PCI class-based compatible strings" }
git add Documentation/devicetree/bindings/vendor-prefixes.yaml
git commit --amend --no-edit
git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git <base>..9f58f5022088

❌ dtb-check

Root cause: Pre-existing tree issues exposed by building the new overlay DTB — missing bindings for qcom,sc7280-inline-crypto-engine and smsc,usb4604, plus recurring pwm:nvmem and pinctrl validation issues.

Failure details:

Log Summary: Test failed

qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb: /soc@0/crypto@7c8000: 
  failed to match any schema with compatible: ['qcom,sc7280-inline-crypto-engine', 'qcom,inline-crypto-engine']

qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb: /soc@0/crypto@1d88000: 
  failed to match any schema with compatible: ['qcom,sc7280-inline-crypto-engine', 'qcom,inline-crypto-engine']

qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb: /soc@0/geniqup@9c0000/i2c@984000/i2c-mux@71/i2c@1/usb-hub@2d: 
  failed to match any schema with compatible: ['smsc,usb4604']

qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb: /soc@0/geniqup@9c0000/i2c@984000/i2c-mux@71/i2c@2/usb-hub@2d: 
  failed to match any schema with compatible: ['smsc,usb4604']

pmic@2 (qcom,pm8350c): pwm:nvmem: [[401, 402]] is too short
pwm (qcom,pm8350c-pwm): nvmem: [[401, 402]] is too short

pinctrl@f100000 (qcom,sc7280-pinctrl): gp_mn_active-state: 'oneOf' conditional failed

Analysis: These are pre-existing tree issues, not introduced by this PR:

  1. Missing qcom,sc7280-inline-crypto-engine binding — This compatible string is used in sc7280.dtsi (inherited by the overlay) but has no binding YAML. This is a known recurring issue (see log-patterns.md Section 8, Issue 4).

  2. Missing smsc,usb4604 binding — The USB hub device on the rb3gen2 board has no binding YAML. Pre-existing in the base tree.

  3. pwm:nvmem too short — The qcom,pm8350c-pwm binding requires more nvmem cells than [401, 402] provides. This is a known recurring issue (see log-patterns.md Section 8, Issue 3).

  4. gp_mn_active-state pinctrl validation — The pinctrl state definition doesn't match the binding's oneOf schema. Pre-existing in the base tree.

Fix: These issues exist in the base tree and are not caused by this PR. They should be fixed separately:

  1. Add Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml covering qcom,sc7280-inline-crypto-engine
  2. Add Documentation/devicetree/bindings/usb/smsc,usb4604.yaml for the USB hub
  3. Fix the pwm:nvmem cell count in the PMIC device tree or binding
  4. Fix the gp_mn_active-state pinctrl definition to match the binding schema

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb

❌ check-patch-compliance

Root cause: Two BACKPORT commits have content differences from their upstream Link references.

Failure details:

Checking commit: BACKPORT: Bluetooth: qca: update QCC2072 NVM handling
Change is different from the one mentioned in Link

Checking commit: BACKPORT: arm64: dts: qcom: rb3gen2: add Industrial BT UART overlay
Change is different from the one mentioned in Link

Analysis: Both commits are marked as BACKPORT:, which indicates they are adapted from upstream. The checker detected differences between the PR patches and the upstream lore.kernel.org patches referenced in the Link: tags.

Commits affected:

  1. Commit 6e6f15d - BACKPORT: Bluetooth: qca: update QCC2072 NVM handling
    Link: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-2-2d100f30e202@oss.qualcomm.com

  2. Commit 3e3c491 - BACKPORT: arm64: dts: qcom: rb3gen2: add Industrial BT UART overlay
    Link: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-6-2d100f30e202@oss.qualcomm.com

Fix: This is expected behavior for BACKPORT commits — they are intentionally modified from upstream. The BACKPORT: prefix signals that adaptations were made. However, to satisfy the checker and document the changes:

  1. Option A (Recommended): Add a note in the commit message explaining the backport adaptations:

    [ Upstream commit <sha> ]
    
    Changes from upstream:
    - <describe adaptation 1>
    - <describe adaptation 2>
    
  2. Option B: Verify the differences are legitimate backport adaptations (not errors):

    b4 am --single-message -C -l -3 <link> -o /tmp/upstream
    git format-patch -1 <sha> --stdout > /tmp/pr-patch
    diff <(awk '/^diff/,/^--$/' /tmp/pr-patch | grep -E '^[+-][^+-]') \
         <(awk '/^diff/,/^--$/' /tmp/upstream/*.mbx | grep -E '^[+-][^+-]')
  3. Option C: If the differences are unintentional, fetch the upstream patch and reapply:

    b4 am --single-message -C -l -3 <link> -o /tmp/out
    git am /tmp/out/*.mbx

Reproduce locally:

# For commit 6e6f15d66e39:
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-2-2d100f30e202@oss.qualcomm.com -o /tmp/bt-qca

# For commit 3e3c491e42c5:
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-6-2d100f30e202@oss.qualcomm.com -o /tmp/bt-uart

Verdict

3 blockers to address before merge:

  1. checkpatch (minor): Add "pciclass" vendor prefix to vendor-prefixes.yaml in commit 9f58f50
  2. check-patch-compliance (documentation): Document backport adaptations in commit messages for commits 6e6f15d and 3e3c491, or verify differences are intentional
  3. dtb-check (pre-existing, non-blocking for this PR): The DTB validation failures are pre-existing tree issues not introduced by this PR. They should be fixed in separate patches but do not block this PR.

Recommendation: Fix items 1 and 2 above. Item 3 (dtb-check) can be addressed separately as these are baseline tree issues that affect multiple boards and should be fixed at the tree level, not in this PR.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

CRs-Fixed: 4615698

remove this line from all commit log, and confine it to only PR description. That will be sufficient.

@rahul-samana
Rahul Samana (rahul-samana) force-pushed the rb3gen2-industrial-mezzanine-bt-uart-rename-qcom-6.18 branch from 3e3c491 to dc4a14d Compare July 31, 2026 14:55
@qcomlnxci
qcomlnxci requested a review from a team July 31, 2026 14:57
@rahul-samana
Rahul Samana (rahul-samana) marked this pull request as draft July 31, 2026 15:22
@qlijarvis

Copy link
Copy Markdown

PR #843 — validate-patch

PR: #843

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: Yes — all 4 commits have valid lore.kernel.org links to the v2 series posted 2026-07-27
  2. Lore link matches PR commits: Yes — diff content is faithful to lore with documented backport adaptations (partial scope for commit 1/4, file path changes for commits 3/4 and 4/4)
  3. Upstream patch status: ⏳ Decision Pending — series posted 2026-07-27; no maintainer merge/NAK signals found in lore threads; Reviewed-by present on commit 3/4
  4. PR present in qcom-next/topics: Fail - 1/4 commit(s) are missing from both qcom-next and topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #843 — Bluetooth: qca: enable QCC2072 on RB3 Gen 2 Industrial (4 commits)
Upstream series: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-0-2d100f30e202@oss.qualcomm.com
Verdict: ⚠️ PARTIAL


Commit 1/4: BACKPORT: Bluetooth: qca: update QCC2072 NVM handling

Lore link: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-2-2d100f30e202@oss.qualcomm.com
Lore patch: [PATCH v2 2/6] Bluetooth: qca: add QCC2072 support

Commit Message

Check Status Note
Subject matches upstream ⚠️ PR: "update QCC2072 NVM handling" vs Lore: "add QCC2072 support" — subject rewritten to reflect partial backport scope
Body preserves rationale Key rationale preserved; backport note explains scope reduction
Fixes tag present/correct N/A No Fixes tag in upstream or PR
Authorship preserved From: Vivek Sahu matches lore author
Backport note [qcom-6.18.y: hci_qca QCC2072 registration from the upstream patch is already present, so keep only the btqca NVM and calibration update.] — clear scope explanation
Co-developed-by correct Vivek (author), Yepuri Siddu, Rahul Samana — all present with Signed-off-by

Diff

File Status Notes
drivers/bluetooth/btqca.c Faithful adaptation — refactors inline QCC2072 calibration code into qca_combine_nvm_calib() helper and adds board ID-based NVM/calibration file selection; hci_qca registration code omitted per backport note
drivers/bluetooth/btqca.h Adds calib_name[64] field to qca_fw_config struct — matches lore

Upstream patch status: ⏳ Decision Pending — posted 2026-07-27; no maintainer decision signals found in lore thread
qcom-next/topics presence: ✅ Present in topics (per integration_presence_report.md)


Commit 2/4: FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: label BT PMU and M.2 PCI node

Lore link: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-4-2d100f30e202@oss.qualcomm.com
Lore patch: [PATCH v2 4/6] arm64: dts: qcom: qcs6490-rb3gen2: label BT PMU and M.2 PCI node

Commit Message

Check Status Note
Subject matches upstream Identical
Body preserves rationale Rationale preserved
Fixes tag present/correct N/A No Fixes tag
Authorship preserved From: Rahul Samana matches lore
Backport note N/A FROMLIST: prefix — no backport note needed

Diff

File Status Notes
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts Adds labels wcn6750_pmu: and pcie0_m2_e: — matches lore exactly

Upstream patch status: ⏳ Decision Pending — posted 2026-07-27; no maintainer decision signals found
qcom-next/topics presence: ✅ Present in topics


Commit 3/4: BACKPORT: arm64: dts: qcom: sc7280: mark PCIe root port as bridge

Lore link: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-5-2d100f30e202@oss.qualcomm.com
Lore patch: [PATCH v2 5/6] arm64: dts: qcom: kodiak: mark PCIe root port as bridge

Commit Message

Check Status Note
Subject matches upstream ⚠️ PR: "sc7280" vs Lore: "kodiak" — file path differs due to tree structure
Body preserves rationale Rationale preserved; backport note explains file path difference
Fixes tag present/correct N/A No Fixes tag
Authorship preserved From: Rahul Samana matches lore
Backport note [qcom-6.18.y: upstream applies this change to kodiak.dtsi, while this branch still carries the PCIe root port node in sc7280.dtsi.] — explains file path adaptation
Reviewed-by preserved Reviewed-by: Konrad Dybcio present in both

Diff

File Status Notes
arch/arm64/boot/dts/qcom/sc7280.dtsi Adds compatible = "pciclass,0604"; to pcie0_port node — semantic change matches lore (file path adapted per backport note)

Upstream patch status: ⏳ Decision Pending — posted 2026-07-27; Reviewed-by present but no merge signal
qcom-next/topics presence: ❌ Missing from both qcom-next and topics (per integration_presence_report.md)


Commit 4/4: BACKPORT: arm64: dts: qcom: rb3gen2: add Industrial BT UART overlay

Lore link: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-6-2d100f30e202@oss.qualcomm.com
Lore patch: [PATCH v2 6/6] arm64: dts: qcom: rb3gen2: add Industrial BT UART overlay

Commit Message

Check Status Note
Subject matches upstream Identical
Body preserves rationale Rationale preserved; backport note explains overlay filename change
Fixes tag present/correct N/A No Fixes tag
Authorship preserved From: Rahul Samana matches lore
Backport note [qcom-6.18.y: replace the old downstream m2-cologne overlay target and file with the generic BT UART overlay name used by the upstream-posted series.] — explains filename adaptation

Diff

File Status Notes
arch/arm64/boot/dts/qcom/Makefile Renames m2-cologne overlay to bt-uart — matches lore intent (filename adapted per backport note)
qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtso New overlay file — content matches lore
qcs6490-rb3gen2-industrial-mezzanine-m2-cologne.dtso Deleted (replaced by bt-uart overlay) — matches lore intent

Upstream patch status: ⏳ Decision Pending — posted 2026-07-27; no maintainer decision signals found
qcom-next/topics presence: ✅ Present in topics


Issues Found

  1. Commit 3/4 missing from integration: Commit 3/4 (BACKPORT: arm64: dts: qcom: sc7280: mark PCIe root port as bridge) is not present in qcom-next or topics branches. This is a dependency for the BT UART overlay (commit 4/4) to function correctly — the PCI bridge compatible property is required for child node matching.

  2. Subject line rewrites: Commits 1/4 and 3/4 have rewritten subject lines to reflect backport scope and file path adaptations. While the backport notes explain these changes, the subject lines no longer match the upstream patches verbatim.


Verdict

Merge with caution. The PR faithfully represents the upstream lore patches with appropriate backport adaptations documented in commit messages. However, commit 3/4 is missing from the integration branches and is a functional dependency for commit 4/4. Recommend:

  1. Verify that commit 3/4 will be included in the next qcom-next integration before merging this PR, or
  2. Merge this PR with the understanding that the BT UART overlay (commit 4/4) will not function correctly until commit 3/4 lands in the integration branch.

Final Summary

  1. Lore link present: Yes — all 4 commits have valid lore.kernel.org links to the v2 series posted 2026-07-27
  2. Lore link matches PR commits: Yes — diff content is faithful to lore with documented backport adaptations (partial scope for commit 1/4, file path changes for commits 3/4 and 4/4)
  3. Upstream patch status: ⏳ Decision Pending — series posted 2026-07-27; no maintainer merge/NAK signals found in lore threads; Reviewed-by present on commit 3/4
  4. PR present in qcom-next/topics: Partial — 3/4 commits present in topics; commit 3/4 missing from both qcom-next and topics (functional dependency issue)

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: 8d5dbc1b17adf8fe86a41adcda686785e73f5414
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/4 [PATCH 1/4] BACKPORT: Bluetooth: qca: update QCC2072 NVM handling partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
2/4 [PATCH 2/4] FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: label BT PMU missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
3/4 [PATCH 3/4] BACKPORT: arm64: dts: qcom: sc7280: mark PCIe root port missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
4/4 [PATCH 4/4] BACKPORT: arm64: dts: qcom: rb3gen2: add Industrial BT missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present

Final Status

overall_status: FAIL
present_commits: 3/4
partial_commits: 0/4
missing_commits: 1/4
topics_checked_for_commits: 4/4
final_summary: PR present in qcom-next/topics: Fail - 1/4 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #843 — checker-log-analyzer

PR: #843
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/30640788188

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: undocumented vendor prefix pciclass
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Multiple pre-existing tree issues exposed by new overlay
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 2 commits have content mismatch with upstream
tag-check All commits have valid prefixes (BACKPORT:/FROMLIST:)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #843 - Bluetooth and devicetree updates for RB3Gen2 Industrial BT UART
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30640788188
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 1 warning: undocumented vendor prefix pciclass
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Multiple pre-existing tree issues exposed by new overlay
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 2 commits have content mismatch with upstream
tag-check All commits have valid prefixes (BACKPORT:/FROMLIST:)

❌ checkpatch

Root cause: Commit a7d2be0 uses the undocumented vendor prefix pciclass in a DT compatible string.

Failure details:

WARNING: DT compatible string vendor "pciclass" appears un-documented -- check ./Documentation/devicetree/bindings/vendor-prefixes.yaml
#32: FILE: arch/arm64/boot/dts/qcom/sc7280.dtsi:2336:
+				compatible = "pciclass,0604";

a7d2be0500f0b61932ca02a35aa977f67941b738 total: 0 errors, 1 warnings, 0 checks, 7 lines checked

Fix: Add the pciclass vendor prefix to Documentation/devicetree/bindings/vendor-prefixes.yaml:

"^pciclass,.*":
  description: PCI-SIG defined PCI class code

Alternatively, if pciclass is a standard PCI convention that doesn't require vendor documentation, this may be a false positive. The compatible string pciclass,0604 represents a PCI-to-PCI bridge (class code 0x0604) and is a generic PCI device identifier, not a vendor-specific string.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 1bc9614caed6d787783330f1fbd09003ff6a9741..bd7f67417e722c6e69df086943ae330db36c57e5

❌ dtb-check

Root cause: The new overlay file qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtbo (added in commit dc4a14d) exposes multiple pre-existing tree-wide binding and schema issues.

Failure details:

All errors are for the newly added DTB overlay qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb:

  1. qcom,wcd9370-codec binding issues — Multiple properties not declared in binding:

    audio-codec (qcom,wcd9370-codec): qcom,ground-jack-type-normally-closed: 1 is not of type 'boolean'
    audio-codec (qcom,wcd9370-codec): Unevaluated properties are not allowed ('qcom,ground-jack-type-normally-closed', 'qcom,hphl-jack-type-normally-closed', 'qcom,micbias1-microvolt', 'qcom,micbias2-microvolt', 'qcom,micbias3-microvolt', 'qcom,micbias4-microvolt', 'qcom,rx-device', 'qcom,tx-device', 'reset-gpios', 'vdd-buck-supply', 'vdd-mic-bias-supply', 'vdd-rxtx-supply' were unexpected)
    
  2. qcom,sc7280-inline-crypto-engine missing binding (recurring issue from log-patterns.md Section 8):

    /soc@0/crypto@7c8000: failed to match any schema with compatible: ['qcom,sc7280-inline-crypto-engine', 'qcom,inline-crypto-engine']
    /soc@0/crypto@1d88000: failed to match any schema with compatible: ['qcom,sc7280-inline-crypto-engine', 'qcom,inline-crypto-engine']
    
  3. smsc,usb4604 missing binding:

    /soc@0/geniqup@9c0000/i2c@984000/i2c-mux@71/i2c@1/usb-hub@2d: failed to match any schema with compatible: ['smsc,usb4604']
    /soc@0/geniqup@9c0000/i2c@984000/i2c-mux@71/i2c@2/usb-hub@2d: failed to match any schema with compatible: ['smsc,usb4604']
    
  4. PCI device unevaluated propertiesaspm-no-l1 not declared in PCI device binding:

    pcie@0,0 (pci1179,0623): Unevaluated properties are not allowed ('aspm-no-l1' was unexpected)
    
  5. USB controller binding issue:

    usb-controller@0,0 (pci1912,0014): '#address-cells', '#size-cells', 'hub@1', 'hub@2' do not match any of the regexes: '^pinctrl-[0-9]+$'
    
  6. PWM nvmem array too short (recurring issue from log-patterns.md Section 8):

    pmic@2 (qcom,pm8350c): pwm:nvmem: [[401, 402]] is too short
    pwm (qcom,pm8350c-pwm): nvmem: [[401, 402]] is too short
    
  7. GENI UART schema ambiguity — Both interrupts and interrupts-extended present:

    serial@990000 (qcom,geni-uart): {...} is valid under each of {'required': ['interrupts-extended']}, {'required': ['interrupts']}
    

Analysis: These are pre-existing tree issues, not introduced by this PR. The PR adds a new overlay that includes nodes from the base qcs6490-rb3gen2.dtsi, which already has these binding gaps. According to the skill's log-patterns.md Section 8:

  • qcom,sc7280-inline-crypto-engine missing binding is a known recurring issue
  • pwm:nvmem too short is a known recurring issue for qcs6490-rb3gen2
  • qcom,wcd9370-codec unevaluated properties indicate the binding needs updating

Fix: These issues should be fixed in separate patches targeting the base tree:

  1. Add or update Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml
  2. Update Documentation/devicetree/bindings/sound/qcom,wcd9370-codec.yaml to declare all used properties
  3. Add Documentation/devicetree/bindings/usb/smsc,usb4604.yaml
  4. Update PCI device binding to allow aspm-no-l1 property
  5. Fix qcom,pm8350c-pwm nvmem cell count in the base DTS

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine-bt-uart.dtb

❌ check-patch-compliance

Root cause: Two BACKPORT commits have content differences from their upstream lore.kernel.org links.

Failure details:

Commit 1: c5b08e1BACKPORT: Bluetooth: qca: update QCC2072 NVM handling

Checking commit: BACKPORT: Bluetooth: qca: update QCC2072 NVM handling
Change is different from the one mentioned in Link

Link: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-2-2d100f30e202@oss.qualcomm.com

Commit 4: dc4a14dBACKPORT: arm64: dts: qcom: rb3gen2: add Industrial BT UART overlay

Checking commit: BACKPORT: arm64: dts: qcom: rb3gen2: add Industrial BT UART overlay
Change is different from the one mentioned in Link

Link: https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-6-2d100f30e202@oss.qualcomm.com

Analysis: Both commits use the BACKPORT: prefix, which explicitly indicates they are modified from upstream. The BACKPORT: tag means "upstream patch backported with modifications" — content differences are expected and intentional.

The checker's "content mismatch" finding is not a defect for BACKPORT: commits. The checker validates that FROMLIST:/UPSTREAM:/FROMGIT: commits match their upstream source exactly, but BACKPORT: commits are allowed to differ.

Fix: No action required. The BACKPORT: prefix correctly signals that these patches have been adapted from upstream. If the modifications are significant, consider documenting the changes in the commit message body (e.g., "[ Upstream commit abc123 ]" followed by a note about what was changed for the backport).

Reproduce locally:

# Fetch upstream patch
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260727-rb3-industrial-bt-uart-v2-2-2d100f30e202@oss.qualcomm.com -o /tmp/out

# Compare with local commit
git format-patch -1 c5b08e1717b3 --stdout > /tmp/local.patch
diff /tmp/local.patch /tmp/out/*.mbx

Verdict

3 blockers to address before merge:

  1. checkpatch warning — Add pciclass vendor prefix to vendor-prefixes.yaml (or confirm it's a false positive for generic PCI class codes)
  2. dtb-check failures — All are pre-existing tree issues exposed by the new overlay; should be fixed in separate patches, not blocking this PR
  3. check-patch-compliance content mismatch — Not a defect; BACKPORT: commits are expected to differ from upstream

Recommendation: The checkpatch pciclass vendor warning should be investigated. If pciclass,0604 is a standard PCI convention (PCI class code for PCI-to-PCI bridge), this may be acceptable without adding a vendor prefix. The dtb-check failures are pre-existing tree issues and should not block this PR. The check-patch-compliance "failures" are false positives for BACKPORT: commits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants