Skip to content

QCLINUX: arm64: dts: qcom: Enable combo mode on CSI1&& Fix GPIO free and acquire logic #1232

Merged
Komal-Bajaj merged 2 commits into
qualcomm-linux:tech/overlay/dtfrom
mvadlama-lab:qli0.0_combo_fix
Jun 1, 2026
Merged

QCLINUX: arm64: dts: qcom: Enable combo mode on CSI1&& Fix GPIO free and acquire logic #1232
Komal-Bajaj merged 2 commits into
qualcomm-linux:tech/overlay/dtfrom
mvadlama-lab:qli0.0_combo_fix

Conversation

@mvadlama-lab

Copy link
Copy Markdown

In order to enable combo mode on CSI1 mode, resources needs to be in shared mode. This change adds required resources under res-mgr node.
And prevent GPIOs managed by pinctrl from being requested and freed via the GPIO framework. Restrict GPIO request/free operations to non-pinctrl GPIOs by adding appropriate conditions.

CRs-Fixed: 4515096
CRs-Fixed: 4503635

In order to enable combo mode on CSI1 mode, resources
needs to be in shared mode. This change adds required
resources under res-mgr node.

Signed-off-by: Vadlamani Manjusha <mvadlama@qti.qualcomm.com>
@qcomlnxci qcomlnxci requested review from a team, Komal-Bajaj, aiquny and quic-kaushalk and removed request for a team May 25, 2026 16:28
@qcomlnxci qcomlnxci requested a review from a team May 26, 2026 07:33
@qlijarvis

Copy link
Copy Markdown

PR #1232 — validate-patch

PR: #1232

Verdict Issues Detailed Report
N/A 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 changes, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commits
Verdict: N/A — click to expand

🔍 Patch Validation

PR: #1232
Upstream commit: N/A (vendor-only commits)
Verdict: ⏭️ SKIP — Validation not applicable

Summary

This PR contains 2 commits, both with the QCLINUX: prefix:

  1. QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port
  2. QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic

Reason

The QCLINUX: prefix indicates vendor-only changes that are not intended for upstream submission. According to the validate-patch skill scope:

Commits with QCLINUX:, PENDING:, or WORKAROUND: prefixes have no upstream lore link by design and cannot be validated with this skill.

No lore.kernel.org links were found in the PR description or commit messages, which is correct and expected for QCLINUX: commits.

Commit Message Review

Both commits follow the expected format for vendor-only changes:

Check Commit 1 Commit 2 Note
Prefix present QCLINUX: QCLINUX: Vendor-only prefix correctly applied
Subject line ✅ Clear ✅ Clear Describes the change concisely
Commit body ⚠️ Minimal ⚠️ Minimal Brief description present; could be more detailed
Signed-off-by ✅ Present ✅ Present Vadlamani Manjusha mvadlama@qti.qualcomm.com
Lore link N/A N/A Not required for QCLINUX: commits

Observations

Commit 1: Enable combo mode for CSI1 port

  • Changes: Adds resource manager configuration for shared MCLK1 pinctrl
  • Scope: Single file (lemans-evk-camera-sensor.dtsi)
  • Nature: Device tree configuration for camera sensor resource sharing

Commit 2: Fix GPIO free and acquire logic

  • Changes: Removes MCLK GPIO entries from individual sensor nodes, moves pinctrl management to resource manager
  • Scope: Single file (lemans-evk-camera-sensor.dtsi)
  • Nature: Refactors GPIO/pinctrl handling to prevent conflicts between GPIO framework and pinctrl subsystem

Verdict

⏭️ SKIP — This skill validates patches against lore.kernel.org sources only. Vendor-only QCLINUX: commits are out of scope for upstream validation.

Recommendation

These commits appear to be internal device tree configuration changes for Qualcomm's Lemans EVK camera subsystem. They should be reviewed for:

  • Device tree binding correctness
  • Hardware configuration accuracy
  • Consistency with Qualcomm's internal camera driver expectations

No upstream validation is required or applicable.

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 changes, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commits

@qlijarvis

Copy link
Copy Markdown

PR #1232 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 2 commits missing commit description
dt-binding-check ⏭️ No binding changes
dtb-check Pre-existing camera subsystem binding issues
sparse-check ⏭️ No C/H file changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance 4 commits missing required prefix or using invalid QCLINUX: prefix
tag-check Subject prefix validation failed (assuming non-qcom-next branch)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1232 - Enable combo mode for CSI1 port and fix GPIO logic
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26438847605

Checker Result Summary
checkpatch 2 commits missing commit description
dt-binding-check ⏭️ No binding changes
dtb-check Pre-existing camera subsystem binding issues
sparse-check ⏭️ No C/H file changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance 4 commits missing required prefix or using invalid QCLINUX: prefix
tag-check Subject prefix validation failed (assuming non-qcom-next branch)

❌ checkpatch

Root cause: Two commits have subject lines that are too long and lack proper commit body descriptions.

Failure details:

Commit efca17ffc13a ("QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port In order to enable combo mode on CSI1 mode, resources needs to be in shared mode. This change adds required resources under res-mgr node.")
WARNING: Missing commit description - Add an appropriate one

Commit 195d151de621 ("QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic Prevent GPIOs managed by pinctrl from being requested and freed via the GPIO framework. Restrict GPIO request/free operations to non-pinctrl GPIOs by adding appropriate conditions.")
WARNING: Missing commit description - Add an appropriate one

Fix:
The commit subjects contain the entire description. Move the explanation from the subject line to the commit body:

git rebase -i <base_sha>   # mark commits efca17ff and 195d151d as 'edit'

# For commit efca17ff:
git commit --amend
# Change subject to: "QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port"
# Add body:
#   In order to enable combo mode on CSI1 mode, resources needs to be
#   in shared mode. This change adds required resources under res-mgr node.

# For commit 195d151d:
git commit --amend
# Change subject to: "QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic"
# Add body:
#   Prevent GPIOs managed by pinctrl from being requested and freed via
#   the GPIO framework. Restrict GPIO request/free operations to
#   non-pinctrl GPIOs by adding appropriate conditions.

git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git df3ae9703774b70a7b7758b53498a25de9f87174..84d86bc42c8933fa685cb62e17f12ad34776310f

❌ dtb-check

Root cause: Pre-existing camera subsystem binding issues in purwa-camx-el2.dtb and hamoa-camx-el2.dtb — these are NOT introduced by this PR.

Failure details:
The dtb-check log shows extensive validation failures for camera subsystem nodes (qcom,cam-*, qcom,cci*, qcom,msm-cam-smmu), all in overlay DTB files that were added by the merged topic branch topic/tech/overlay/dt, not by PR #1232.

Key errors:

purwa-camx-el2.dtb: /soc@0/qcom,cam-smmu: failed to match any schema with compatible: ['qcom,msm-cam-smmu', 'simple-bus']
purwa-camx-el2.dtb: /soc@0/qcom,cci0@ac15000: failed to match any schema with compatible: ['qcom,cci', 'simple-bus']
purwa-camx-el2.dtb: pinctrl@f100000 (qcom,x1e80100-tlmm): Unevaluated properties are not allowed ('cam-sensor-active-rst0', 'cam-sensor-mclk0-active', 'cci0-active', ...)

Analysis:
PR #1232 modifies only arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi (sensor configuration changes). The failing DTBs (purwa-camx-el2.dtb, hamoa-camx-el2.dtb) are from the topic branch merge and have missing camera subsystem bindings. These errors are pre-existing tree issues, not caused by this PR.

Fix:
No action required for this PR. The camera subsystem bindings need to be added separately:

  • Add Documentation/devicetree/bindings/media/qcom,msm-cam-smmu.yaml
  • Add Documentation/devicetree/bindings/media/qcom,cci.yaml
  • Update qcom,x1e80100-tlmm.yaml to allow camera pinctrl properties

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/purwa-camx-el2.dtb

❌ check-patch-compliance

Root cause: All 4 commits use QCLINUX: prefix or have no prefix, which are not accepted by the compliance checker.

Failure details:

Checking commit: arm64: dts: qcom: hamoa: add CAMX EL2 overlay
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port ...
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: add Purwa CAMX EL2 overlay
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic ...
Commit summary does not start with a required prefix

Analysis:
The check-patch-compliance checker only accepts these prefixes: FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:. The QCLINUX: prefix is a vendor-internal tag that is not recognized by this checker. This is a known limitation — vendor-only commits with QCLINUX: will always fail this check.

Additionally, commit a7c58823f27f ("arm64: dts: qcom: hamoa: add CAMX EL2 overlay") has no prefix at all.

Fix:
If these patches have been posted upstream or are derived from upstream:

  • Change QCLINUX: to FROMLIST: and add Link: <lore-url> to the commit body
  • For the unprefixed commit, add an appropriate prefix

If these are genuinely vendor-only changes with no upstream equivalent:

  • Accept that check-patch-compliance will fail (known limitation)
  • Ensure commits still have the QCLINUX: prefix for internal tracking

Reproduce locally:

# The checker script is in kernel-checkers repo
bash ../kernel-checkers/check-patch-compliance.sh --kernel-src . --base <base> --head <head>

❌ tag-check

Root cause: Assuming the target branch is NOT qcom-next or qcom-next-staging, all commits must have a valid subject prefix. Two commits in this PR use QCLINUX: which is valid, but two commits from the topic branch merge lack proper prefixes or use QCLINUX: which may not be appropriate for the target branch.

Commits in scope:

  1. a7c58823f27f — "arm64: dts: qcom: hamoa: add CAMX EL2 overlay" (NO PREFIX)
  2. efca17ffc13a — "QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port ..." (has QCLINUX:)
  3. 8d6e4e962e7e — "QCLINUX: arm64: dts: qcom: add Purwa CAMX EL2 overlay" (has QCLINUX:)
  4. 195d151de621 — "QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic ..." (has QCLINUX:)

Analysis:

  • Commit a7c58823f27f is missing a prefix entirely → FAIL
  • Commits with QCLINUX: are valid IF the target branch allows vendor-only commits

Fix:
For commit a7c58823f27f:

git rebase -i <base_sha>   # mark commit a7c58823 as 'edit'
git commit --amend -m "QCLINUX: arm64: dts: qcom: hamoa: add CAMX EL2 overlay"
git rebase --continue

Note: If the target branch is qcom-next or qcom-next-staging, this check does not apply. Without GitHub API access, I cannot confirm the exact target branch, but the presence of topic branch merges and QCLINUX: usage suggests a non-mainline integration branch.


Verdict

3 blockers must be fixed before merge:

  1. checkpatch: Move commit descriptions from subject lines to commit bodies (2 commits)
  2. check-patch-compliance: Add missing prefix to commit a7c58823f27f or accept that QCLINUX: commits will fail this checker
  3. tag-check: Add prefix to commit a7c58823f27f

Non-blocking issues:

  • dtb-check failures are pre-existing camera subsystem binding issues from the topic branch, not introduced by this PR

pinctrl-names = "cam_default", "cam_suspend";
gpios = <&tlmm 73 0>,
<&tlmm 133 0>,
<&expander2 2 0>,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

indentation

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

updated with tab

@qcomlnxci qcomlnxci requested review from a team and shashim-quic and removed request for a team May 29, 2026 06:53
@qlijarvis

Copy link
Copy Markdown

PR #1232 — validate-patch

PR: #1232

Verdict Issues Detailed Report
N/A 6 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 changes, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commits
Verdict: N/A — click to expand

🔍 Patch Validation

PR: #1232 - QCLINUX camera sensor DTS changes for Lemans EVK
Upstream commit: N/A (vendor-only commits)
Verdict: ⏭️ SKIP (validation not applicable)

Analysis

This PR contains two commits, both with the QCLINUX: prefix:

  1. Commit 1: QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port

    • Changes: arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi
    • Adds shared pinctrl resources to res-mgr node for CSI1 combo mode
    • Removes node labels (rb8_slot0, rb8_slot1, rb8_slot2, rb8_slot3)
    • Removes eeprom_cam26 node
    • Reorganizes sensor nodes (cam-sensor26 → cam-sensor28, adds cam-sensor31)
  2. Commit 2: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic

    • Changes: arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi
    • Removes MCLK GPIO from individual sensor nodes (moved to pinctrl management)
    • Updates GPIO indices and request tables across all camera sensors
    • Restores node labels removed in commit 1

Commit Message

Check Status Note
Subject matches upstream N/A Vendor-only commits
Body preserves rationale ⚠️ Minimal description; could be more detailed
Fixes tag present/correct N/A Not applicable for new features
Authorship preserved Consistent author across both commits
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
lemans-evk-camera-sensor.dtsi ⚠️ Commit 1 removes node labels, Commit 2 restores them — suggests iterative development

Issues

Commit sequencing concern:

  • Commit 1 removes node labels (rb8_slot0, rb8_slot1, rb8_slot2, rb8_slot3)
  • Commit 2 restores the same node labels
  • This suggests the commits may have been developed iteratively and could potentially be squashed for cleaner history

Commit message detail:

  • Both commit messages are brief and could benefit from more detailed rationale
  • Commit 1: Why is combo mode needed? What resources are being shared?
  • Commit 2: What was the problem with the previous GPIO management? Why move MCLK to pinctrl?

Verdict

Validation skippedQCLINUX: prefix indicates vendor-only changes with no upstream equivalent. These commits are not intended for upstream submission and therefore cannot be validated against lore.kernel.org sources.

Recommendation: Commits are acceptable as vendor-specific changes, but consider:

  1. Squashing commits 1 and 2 if they represent a single logical change (combo mode enablement)
  2. Enhancing commit messages with more detailed rationale for future maintainability

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 changes, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commits

@qlijarvis

Copy link
Copy Markdown

PR #1232 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 error, 1 warning in commit faca3d0
dt-binding-check ⏭️ No binding changes
dtb-check Pre-existing tree issues + graph_port errors in lemans-evk-camera-sensor.dtsi
sparse-check ⏭️ No C/H changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance All 4 commits fail prefix check (QCLINUX: not accepted)
tag-check 2 commits missing required prefix (hamoa overlays)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1232 — QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port + Fix GPIO free and acquire logic
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26622873463

Checker Result Summary
checkpatch 1 error, 1 warning in commit faca3d0
dt-binding-check ⏭️ No binding changes
dtb-check Pre-existing tree issues + graph_port errors in lemans-evk-camera-sensor.dtsi
sparse-check ⏭️ No C/H changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance All 4 commits fail prefix check (QCLINUX: not accepted)
tag-check 2 commits missing required prefix (hamoa overlays)

❌ checkpatch

Root cause: Commit faca3d0 has mixed spaces/tabs indentation and missing commit description.

Failure details:

Commit faca3d0b12eb ("QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic...")
WARNING: Missing commit description - Add an appropriate one

ERROR: code indent should use tabs where possible
#216: FILE: arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi:510:
+                <&expander2 2 0>,$

faca3d0b12eb3a4bbe1917d0e7932197b7e82e37 total: 1 errors, 1 warnings, 0 checks, 400 lines checked

Fix:

  1. Indentation error — Line 510 in lemans-evk-camera-sensor.dtsi:510 uses spaces instead of tabs:
    # Fix the file
    sed -i '510s/^        /\t\t/' arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi
  2. Missing commit description — The subject line is too long and wraps into the body. Split it:
    git rebase -i <base_sha>   # mark commit faca3d0b as 'edit'
    git commit --amend
    # Change commit message to:
    # Subject: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic
    # 
    # Prevent GPIOs managed by pinctrl from being requested and freed
    # via the GPIO framework. Restrict GPIO request/free operations to
    # non-pinctrl GPIOs by adding appropriate conditions.
    git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git df3ae9703774..fd6a1bd523bf

❌ dtb-check

Root cause: Pre-existing tree issues (hamoa-camx-el2 camera bindings missing) + graph_port errors in lemans-evk-camera-sensor.dtsi introduced by this PR.

Failure details:

Pre-existing issues (not caused by this PR):

  • hamoa-camx-el2.dtb: Hundreds of failed to match any schema errors for camera subsystem nodes (qcom,cam-res-mgr, qcom,camera_x1e80100, qcom,cam-sync, qcom,msm-cam-smmu, etc.) — these are pre-existing tree issues where the camera bindings are missing from the tree.
  • hamoa-iot-evk.dtb: video-codec@aa00000 (qcom,x1e80100-iris): iommu-map:2: [0, 1] is too short — pre-existing issue.

New errors introduced by this PR:

../arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi:333.10-339.5: Warning (graph_port):
  /fragment@0/__overlay__/qcom,cci1@ac14000/qcom,cam-gmsl-deserializer1/port@0:
  graph node '#address-cells' is -1, must be 1

../arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi:333.10-339.5: Warning (graph_port):
  /fragment@0/__overlay__/qcom,cci1@ac14000/qcom,cam-gmsl-deserializer1/port@0:
  graph node '#size-cells' is -1, must be 0

../arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi:349.10-355.5: Warning (graph_port):
  /fragment@0/__overlay__/qcom,cci1@ac14000/qcom,cam-gmsl-deserializer1/port@2:
  graph node unit address error, expected "0"

../arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi:357.10-363.5: Warning (graph_port):
  /fragment@0/__overlay__/qcom,cci1@ac14000/qcom,cam-gmsl-deserializer1/port@3:
  graph node unit address error, expected "1"

(Similar errors for cci2, cci3 deserializers)

Fix:

The graph_port errors are in lemans-evk-camera-sensor.dtsi — the port nodes under qcom,cam-gmsl-deserializer{1,2,3} are missing #address-cells and #size-cells, and the port unit addresses are not sequential starting from 0.

Add to each deserializer's ports node:

ports {
    #address-cells = <1>;
    #size-cells = <0>;
    
    port@0 {
        reg = <0>;
        ...
    };
    port@1 {
        reg = <1>;
        ...
    };
    port@2 {
        reg = <2>;
        ...
    };
    port@3 {
        reg = <3>;
        ...
    };
};

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/lemans-camx-el2.dtb
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/hamoa-camx-el2.dtb

❌ check-patch-compliance

Root cause: QCLINUX: prefix is not in the allowed list for check-patch-compliance (only FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT: are accepted).

Failure details:

Checking commit: arm64: dts: qcom: hamoa: add CAMX EL2 overlay
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port...
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: add Purwa CAMX EL2 overlay
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic...
Commit summary does not start with a required prefix

Fix:

This is a known limitation of the check-patch-compliance checker — it only accepts upstream-linkable prefixes (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:). Vendor-only commits with QCLINUX: prefix will always fail this checker.

No patch change is possible — these are vendor-only DTS changes with no upstream equivalent. The checker will always fail for QCLINUX: commits.


❌ tag-check

Root cause: 2 commits are missing the required subject-line prefix entirely.

Failure details:

The PR contains 4 commits (visible in check-patch-compliance log):

  1. arm64: dts: qcom: hamoa: add CAMX EL2 overlayMISSING prefix
  2. QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port... — ✅ has QCLINUX: prefix
  3. QCLINUX: arm64: dts: qcom: add Purwa CAMX EL2 overlay — ✅ has QCLINUX: prefix
  4. QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic... — ✅ has QCLINUX: prefix

Note: The pr.patch file only shows 2 commits (efca17f and faca3d0), but the CI logs show 4 commits were tested. The first commit (arm64: dts: qcom: hamoa: add CAMX EL2 overlay) is missing from pr.patch but was present in the CI run.

Fix:

Add QCLINUX: prefix to the first commit:

git rebase -i <base_sha>   # mark the first commit as 'edit'
git commit --amend -m "QCLINUX: arm64: dts: qcom: hamoa: add CAMX EL2 overlay"
git rebase --continue

Verdict

3 blockers must be fixed before merge:

  1. checkpatch — Fix indentation error (spaces → tabs) and split commit message properly.
  2. dtb-check — Add #address-cells/#size-cells to graph port nodes in lemans-evk-camera-sensor.dtsi and renumber ports sequentially from 0.
  3. tag-check — Add QCLINUX: prefix to the first commit (arm64: dts: qcom: hamoa: add CAMX EL2 overlay).

Known limitations (not fixable):

  • check-patch-compliance will always fail for QCLINUX: commits — this is a known checker limitation for vendor-only changes.
  • dtb-check pre-existing errors (hamoa camera bindings missing) are tree-wide issues, not introduced by this PR.

Prevent GPIOs managed by pinctrl from being requested and freed
via the GPIO framework. Restrict GPIO request/free operations to
non-pinctrl GPIOs by adding appropriate conditions.

Signed-off-by: Vadlamani Manjusha <mvadlama@qti.qualcomm.com>
@qcomlnxci qcomlnxci requested a review from a team May 29, 2026 07:59
@qlijarvis

Copy link
Copy Markdown

PR #1232 — validate-patch

PR: #1232

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 changes, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commits

Note: The QCLINUX: prefix indicates these are Qualcomm vendor-specific changes that are not intended for upstream submission. According to the validate-patch skill documentation, commits with this prefix have no upstream lore link by design and cannot be validated against lore.kernel.org sources.

Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #1232 - QCLINUX camera sensor DTS changes for lemans-evk
Upstream commit: N/A (vendor-only commits)
Verdict: ✅ PASS (validation not applicable)

Analysis

This PR contains two commits, both with the QCLINUX: prefix:

  1. Commit 1: QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port
  2. Commit 2: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic

Commit Message

Check Status Note
Subject matches upstream N/A Vendor-only commits; no upstream source
Body preserves rationale Both commits have clear descriptions of changes
Fixes tag present/correct N/A Not applicable for vendor-only changes
Authorship preserved Consistent author: Vadlamani Manjusha
Backport note (if applicable) N/A Not backports

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi Vendor-specific DTS changes for camera configuration

Verdict

These are vendor-only commits (QCLINUX: prefix) with no upstream equivalent. Validation against lore.kernel.org is not applicable. The commits have clear descriptions and consistent authorship.

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 changes, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commits

Note: The QCLINUX: prefix indicates these are Qualcomm vendor-specific changes that are not intended for upstream submission. According to the validate-patch skill documentation, commits with this prefix have no upstream lore link by design and cannot be validated against lore.kernel.org sources.

@qlijarvis

Copy link
Copy Markdown

PR #1232 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 2 commits missing commit description
dt-binding-check ⏭️ No binding changes
dtb-check Pre-existing camera binding issues
sparse-check ⏭️ No C/H file changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance 4 commits with invalid/missing prefix
tag-check 1 commit missing required prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1232 - Camera overlay and GPIO fixes
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26625613902

Checker Result Summary
checkpatch 2 commits missing commit description
dt-binding-check ⏭️ No binding changes
dtb-check Pre-existing camera binding issues
sparse-check ⏭️ No C/H file changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance 4 commits with invalid/missing prefix
tag-check 1 commit missing required prefix

❌ checkpatch

Root cause: Two commits have multi-line subjects that checkpatch interprets as missing commit descriptions.

Failure details:

Commit efca17ffc13a ("QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port In order to enable combo mode on CSI1 mode, resources needs to be in shared mode. This change adds required resources under res-mgr node.")
WARNING: Missing commit description - Add an appropriate one

Commit b3cb234f4c39 ("QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic Prevent GPIOs managed by pinctrl from being requested and freed via the GPIO framework. Restrict GPIO request/free operations to non-pinctrl GPIOs by adding appropriate conditions.")
WARNING: Missing commit description - Add an appropriate one

Fix: The commit subjects are too long and contain what should be the commit body. Rewrite each commit message with a concise subject line (≤75 chars) and move the detailed explanation to the commit body:

git rebase -i <base_sha>   # mark commits efca17ffc13a and b3cb234f4c39 as 'edit'

# For efca17ffc13a:
git commit --amend
# Change to:
# Subject: QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port
# Body:
# In order to enable combo mode on CSI1 mode, resources needs to be in
# shared mode. This change adds required resources under res-mgr node.

# For b3cb234f4c39:
git commit --amend
# Change to:
# Subject: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic
# Body:
# Prevent GPIOs managed by pinctrl from being requested and freed via
# the GPIO framework. Restrict GPIO request/free operations to
# non-pinctrl GPIOs by adding appropriate conditions.

git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git df3ae9703774b70a7b7758b53498a25de9f87174..9e4439a7186b0cf61449ab3bbd8063b4eedbe817

❌ dtb-check

Root cause: Pre-existing camera binding schema issues in hamoa-camera.dtsi and purwa-camx-el2.dtb — these are tree-wide problems not introduced by this PR.

Failure details:
The dtb-check log shows hundreds of errors for camera-related nodes:

arch/arm64/boot/dts/qcom/hamoa-camera.dtsi:615: Warning (reg_format): /fragment@0/__overlay__/qcom,cci0@ac15000:reg: property has invalid length (16 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/purwa-camx-el2.dtb: /soc@0/qcom,cam-smmu: failed to match any schema with compatible: ['qcom,msm-cam-smmu', 'simple-bus']
arch/arm64/boot/dts/qcom/purwa-camx-el2.dtb: /soc@0/qcom,cam-req-mgr: failed to match any schema with compatible: ['qcom,cam-req-mgr']
pinctrl@f100000 (qcom,x1e80100-tlmm): Unevaluated properties are not allowed ('cam-sensor-active-int', 'cam-sensor-active-rst0', ... were unexpected)

Analysis: These errors fall into three categories:

  1. reg_format errors — Camera overlay nodes have reg properties with incorrect cell counts (16 or 32 bytes when expecting 12 bytes based on #address-cells=2, #size-cells=1). This is a pre-existing issue in the camera overlay DTSI files.

  2. failed to match any schema — No upstream bindings exist for Qualcomm vendor camera subsystem nodes (qcom,msm-cam-smmu, qcom,cam-req-mgr, qcom,cam-jpeg, qcom,cam-isp, qcom,cam-icp, etc.). These are vendor-specific camera drivers without upstream YAML bindings.

  3. Unevaluated properties on TLMM pinctrl — The qcom,x1e80100-tlmm binding doesn't declare camera-related pinctrl state names (cam-sensor-*, cci*-active, etc.). This is a recurring tree-wide issue (see log-patterns.md Section 8).

Verdict: These are pre-existing tree issues, not caused by this PR. The PR only adds new camera overlay files that expose these baseline problems. The checker's baseline subtraction should have filtered these out, but the volume of errors suggests the base build may have been incomplete.

Fix (for tree maintainers, not this PR):

  1. Add YAML bindings for Qualcomm camera subsystem nodes under Documentation/devicetree/bindings/media/qcom/
  2. Fix reg property cell counts in camera overlay DTSI files to match parent #address-cells/#size-cells
  3. Add patternProperties to qcom,x1e80100-tlmm.yaml to allow camera pinctrl state names

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/hamoa-camx-el2.dtb
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/purwa-camx-el2.dtb

❌ check-patch-compliance

Root cause: All 4 commits use QCLINUX: prefix or have no prefix, but check-patch-compliance only accepts upstream-linkable prefixes (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:).

Failure details:

Checking commit: arm64: dts: qcom: hamoa: add CAMX EL2 overlay
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port ...
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: add Purwa CAMX EL2 overlay
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic ...
Commit summary does not start with a required prefix

Analysis:

  • Commit 1 (arm64: dts: qcom: hamoa: add CAMX EL2 overlay) — Missing prefix entirely. This is a blocker.
  • Commits 2, 3, 4 — Use QCLINUX: prefix, which is a vendor-internal tag not accepted by check-patch-compliance. This checker enforces upstream-linkable prefixes only.

Fix:

For Commit 1 (missing prefix):

git rebase -i <base_sha>   # mark commit a7c58823f27f as 'edit'
git commit --amend -m "QCLINUX: arm64: dts: qcom: hamoa: add CAMX EL2 overlay"
git rebase --continue

For Commits 2, 3, 4 (QCLINUX: prefix):

  • If these changes are vendor-only with no upstream equivalent → This is a known checker limitation. The QCLINUX: prefix is valid for vendor-only work but will always fail check-patch-compliance. No patch change needed; this is expected behavior for vendor-only commits.
  • If any of these changes have been posted upstream → Change prefix to FROMLIST: and add Link: <lore-url> to the commit body.

Note: The QCLINUX: prefix is used in the Qualcomm kernel tree for vendor-specific changes that have no upstream equivalent. The check-patch-compliance checker does not recognize this prefix because it enforces upstream traceability. This is a policy decision, not a technical defect.


❌ tag-check (subject prefix)

Applies to: All branches except qcom-next and qcom-next-staging.

Root cause: Commit a7c58823f27f ("arm64: dts: qcom: hamoa: add CAMX EL2 overlay") has no subject-line prefix tag.

Failure details:

Commit a7c58823f27f ("arm64: dts: qcom: hamoa: add CAMX EL2 overlay"): subject line does not start with a required prefix.

Required prefixes: FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:, QCLINUX:, PENDING:, WORKAROUND:

Fix:

git rebase -i <base_sha>   # mark commit a7c58823f27f as 'edit'
git commit --amend -m "QCLINUX: arm64: dts: qcom: hamoa: add CAMX EL2 overlay"
git rebase --continue

Choose QCLINUX: if this is a vendor-only change with no upstream equivalent.

Note: If the target branch is qcom-next or qcom-next-staging, this check does not apply. Since the target branch could not be determined from available data, this check is included as a precaution.


Verdict

3 blockers must be fixed before merge:

  1. checkpatch — Rewrite 2 commit messages to separate subject from body (efca17f, b3cb234)
  2. check-patch-compliance — Add QCLINUX: prefix to commit a7c5882
  3. tag-check — Add QCLINUX: prefix to commit a7c5882 (same fix as dummy change #2)

Non-blockers:

  • dtb-check failures — Pre-existing tree issues; not caused by this PR
  • check-patch-compliance failures for QCLINUX: commits — Known limitation; vendor-only commits always fail this checker

Recommended action: Fix the 3 blockers above, then re-run CI. The dtb-check errors are tree-wide issues that should be addressed separately by tree maintainers.

@kripal-qipl kripal-qipl left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

looks fine

@Komal-Bajaj Komal-Bajaj merged commit fc647a8 into qualcomm-linux:tech/overlay/dt Jun 1, 2026
5 of 6 checks passed
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.

5 participants